8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26 /*
27 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved.
28 */
29 #include <struct_layout.h>
30
31
32 static const sl_auxv_layout_t auxv_layout = {
33 { 0, 8, 0, 0 }, /* sizeof (auxv_t) */
34 { 0, 4, 0, 1 }, /* a_type */
35 { 4, 4, 0, 1 }, /* a_un.a_val */
36 { 4, 4, 0, 0 }, /* a_un.a_ptr */
37 { 4, 4, 0, 0 }, /* a_un.a_fcn */
38 };
39
40
41 static const sl_prgregset_layout_t prgregset_layout = {
42 { 0, 152, 0, 0 }, /* sizeof (prgregset_t) */
43 { 0, 4, 38, 0 }, /* elt0 */
44 };
45
46
47 static const sl_lwpstatus_layout_t lwpstatus_layout = {
48 { 0, 896, 0, 0 }, /* sizeof (lwpstatus_t) */
369 { 28, 4, 0, 0 }, /* pr_rminor */
370 { 32, 8, 0, 0 }, /* pr_ino */
371 { 40, 8, 0, 0 }, /* pr_offset */
372 { 48, 8, 0, 0 }, /* pr_size */
373 { 56, 4, 0, 0 }, /* pr_fileflags */
374 { 60, 4, 0, 0 }, /* pr_fdflags */
375 { 64, 1, 1024, 0 }, /* pr_path[] */
376 };
377
378
379 static const sl_prsecflags_layout_t prsecflags_layout = {
380 { 0, 40, 0, 0 }, /* sizeof (prsecflags_t) */
381 { 0, 4, 0, 0 }, /* pr_version */
382 { 8, 8, 0, 0 }, /* pr_effective */
383 { 16, 8, 0, 0 }, /* pr_inherit */
384 { 24, 8, 0, 0 }, /* pr_lower */
385 { 32, 8, 0, 0 }, /* pr_upper */
386 };
387
388
389
390
391 static const sl_arch_layout_t layout_sparc = {
392 &auxv_layout,
393 &fltset_layout,
394 &lwpsinfo_layout,
395 &lwpstatus_layout,
396 &prcred_layout,
397 &priv_impl_info_layout,
398 &prpriv_layout,
399 &psinfo_layout,
400 &pstatus_layout,
401 &prgregset_layout,
402 &prpsinfo_layout,
403 &prstatus_layout,
404 &sigaction_layout,
405 &siginfo_layout,
406 &sigset_layout,
407 &stack_layout,
408 &sysset_layout,
409 ×truc_layout,
410 &utsname_layout,
411 &prfdinfo_layout,
412 &prsecflags_layout,
413 };
414
415
416 const sl_arch_layout_t *
417 struct_layout_sparc(void)
418 {
419 return (&layout_sparc);
420 }
|
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26 /*
27 * Copyright 2012 DEY Storage Systems, Inc. All rights reserved.
28 * Copyright 2018 Joyent, Inc.
29 */
30
31 #include <struct_layout.h>
32
33
34 static const sl_auxv_layout_t auxv_layout = {
35 { 0, 8, 0, 0 }, /* sizeof (auxv_t) */
36 { 0, 4, 0, 1 }, /* a_type */
37 { 4, 4, 0, 1 }, /* a_un.a_val */
38 { 4, 4, 0, 0 }, /* a_un.a_ptr */
39 { 4, 4, 0, 0 }, /* a_un.a_fcn */
40 };
41
42
43 static const sl_prgregset_layout_t prgregset_layout = {
44 { 0, 152, 0, 0 }, /* sizeof (prgregset_t) */
45 { 0, 4, 38, 0 }, /* elt0 */
46 };
47
48
49 static const sl_lwpstatus_layout_t lwpstatus_layout = {
50 { 0, 896, 0, 0 }, /* sizeof (lwpstatus_t) */
371 { 28, 4, 0, 0 }, /* pr_rminor */
372 { 32, 8, 0, 0 }, /* pr_ino */
373 { 40, 8, 0, 0 }, /* pr_offset */
374 { 48, 8, 0, 0 }, /* pr_size */
375 { 56, 4, 0, 0 }, /* pr_fileflags */
376 { 60, 4, 0, 0 }, /* pr_fdflags */
377 { 64, 1, 1024, 0 }, /* pr_path[] */
378 };
379
380
381 static const sl_prsecflags_layout_t prsecflags_layout = {
382 { 0, 40, 0, 0 }, /* sizeof (prsecflags_t) */
383 { 0, 4, 0, 0 }, /* pr_version */
384 { 8, 8, 0, 0 }, /* pr_effective */
385 { 16, 8, 0, 0 }, /* pr_inherit */
386 { 24, 8, 0, 0 }, /* pr_lower */
387 { 32, 8, 0, 0 }, /* pr_upper */
388 };
389
390
391 static const sl_prlwpname_layout_t prlwpname_layout = {
392 { 0, 40, 0, 0 }, /* sizeof (prlwpname_t) */
393 { 0, 8, 0, 0 }, /* pr_lwpid */
394 { 8, 1, 32, 0 }, /* pr_lwpname[] */
395 };
396
397
398
399
400 static const sl_arch_layout_t layout_sparc = {
401 &auxv_layout,
402 &fltset_layout,
403 &lwpsinfo_layout,
404 &lwpstatus_layout,
405 &prcred_layout,
406 &priv_impl_info_layout,
407 &prpriv_layout,
408 &psinfo_layout,
409 &pstatus_layout,
410 &prgregset_layout,
411 &prpsinfo_layout,
412 &prstatus_layout,
413 &sigaction_layout,
414 &siginfo_layout,
415 &sigset_layout,
416 &stack_layout,
417 &sysset_layout,
418 ×truc_layout,
419 &utsname_layout,
420 &prfdinfo_layout,
421 &prsecflags_layout,
422 &prlwpname_layout,
423 };
424
425
426 const sl_arch_layout_t *
427 struct_layout_sparc(void)
428 {
429 return (&layout_sparc);
430 }
|