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
30 #include <struct_layout.h>
31
32
33 static const sl_auxv_layout_t auxv_layout = {
34 { 0, 16, 0, 0 }, /* sizeof (auxv_t) */
35 { 0, 4, 0, 1 }, /* a_type */
36 { 8, 8, 0, 1 }, /* a_un.a_val */
37 { 8, 8, 0, 0 }, /* a_un.a_ptr */
38 { 8, 8, 0, 0 }, /* a_un.a_fcn */
39 };
40
41
42 static const sl_prgregset_layout_t prgregset_layout = {
43 { 0, 304, 0, 0 }, /* sizeof (prgregset_t) */
44 { 0, 8, 38, 0 }, /* elt0 */
45 };
46
47
370 { 28, 4, 0, 0 }, /* pr_rminor */
371 { 32, 8, 0, 0 }, /* pr_ino */
372 { 40, 8, 0, 0 }, /* pr_offset */
373 { 48, 8, 0, 0 }, /* pr_size */
374 { 56, 4, 0, 0 }, /* pr_fileflags */
375 { 60, 4, 0, 0 }, /* pr_fdflags */
376 { 64, 1, 1024, 0 }, /* pr_path[] */
377 };
378
379
380 static const sl_prsecflags_layout_t prsecflags_layout = {
381 { 0, 40, 0, 0 }, /* sizeof (prsecflags_t) */
382 { 0, 4, 0, 0 }, /* pr_version */
383 { 8, 8, 0, 0 }, /* pr_effective */
384 { 16, 8, 0, 0 }, /* pr_inherit */
385 { 24, 8, 0, 0 }, /* pr_lower */
386 { 32, 8, 0, 0 }, /* pr_upper */
387 };
388
389
390
391
392 static const sl_arch_layout_t layout_sparcv9 = {
393 &auxv_layout,
394 &fltset_layout,
395 &lwpsinfo_layout,
396 &lwpstatus_layout,
397 &prcred_layout,
398 &priv_impl_info_layout,
399 &prpriv_layout,
400 &psinfo_layout,
401 &pstatus_layout,
402 &prgregset_layout,
403 &prpsinfo_layout,
404 &prstatus_layout,
405 &sigaction_layout,
406 &siginfo_layout,
407 &sigset_layout,
408 &stack_layout,
409 &sysset_layout,
410 ×truc_layout,
411 &utsname_layout,
412 &prfdinfo_layout,
413 &prsecflags_layout,
414 };
415
416
417 const sl_arch_layout_t *
418 struct_layout_sparcv9(void)
419 {
420 return (&layout_sparcv9);
421 }
|
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, 16, 0, 0 }, /* sizeof (auxv_t) */
36 { 0, 4, 0, 1 }, /* a_type */
37 { 8, 8, 0, 1 }, /* a_un.a_val */
38 { 8, 8, 0, 0 }, /* a_un.a_ptr */
39 { 8, 8, 0, 0 }, /* a_un.a_fcn */
40 };
41
42
43 static const sl_prgregset_layout_t prgregset_layout = {
44 { 0, 304, 0, 0 }, /* sizeof (prgregset_t) */
45 { 0, 8, 38, 0 }, /* elt0 */
46 };
47
48
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_sparcv9 = {
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_sparcv9(void)
428 {
429 return (&layout_sparcv9);
430 }
|