Changeset View
Changeset View
Standalone View
Standalone View
sys/powerpc/powerpc/elf64_machdep.c
Show First 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | struct sysentvec elf64_freebsd_sysvec_v1 = { | ||||
.sv_sendsig = sendsig, | .sv_sendsig = sendsig, | ||||
.sv_sigcode = sigcode64, | .sv_sigcode = sigcode64, | ||||
.sv_szsigcode = &szsigcode64, | .sv_szsigcode = &szsigcode64, | ||||
.sv_name = "FreeBSD ELF64", | .sv_name = "FreeBSD ELF64", | ||||
.sv_coredump = __elfN(coredump), | .sv_coredump = __elfN(coredump), | ||||
.sv_elf_core_osabi = ELFOSABI_FREEBSD, | .sv_elf_core_osabi = ELFOSABI_FREEBSD, | ||||
.sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | .sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | ||||
.sv_elf_core_prepare_notes = __elfN(prepare_notes), | .sv_elf_core_prepare_notes = __elfN(prepare_notes), | ||||
.sv_imgact_try = NULL, | |||||
.sv_minsigstksz = MINSIGSTKSZ, | .sv_minsigstksz = MINSIGSTKSZ, | ||||
.sv_minuser = VM_MIN_ADDRESS, | .sv_minuser = VM_MIN_ADDRESS, | ||||
.sv_maxuser = VM_MAXUSER_ADDRESS, | .sv_maxuser = VM_MAXUSER_ADDRESS, | ||||
.sv_usrstack = USRSTACK, | .sv_usrstack = USRSTACK, | ||||
.sv_psstrings = PS_STRINGS, | .sv_psstrings = PS_STRINGS, | ||||
.sv_psstringssz = sizeof(struct ps_strings), | .sv_psstringssz = sizeof(struct ps_strings), | ||||
.sv_stackprot = VM_PROT_ALL, | .sv_stackprot = VM_PROT_ALL, | ||||
.sv_copyout_auxargs = __elfN(powerpc_copyout_auxargs), | .sv_copyout_auxargs = __elfN(powerpc_copyout_auxargs), | ||||
Show All 26 Lines | struct sysentvec elf64_freebsd_sysvec_v2 = { | ||||
.sv_sendsig = sendsig, | .sv_sendsig = sendsig, | ||||
.sv_sigcode = sigcode64, /* Fixed up in ppc64_init_sysvecs(). */ | .sv_sigcode = sigcode64, /* Fixed up in ppc64_init_sysvecs(). */ | ||||
.sv_szsigcode = &szsigcode64, | .sv_szsigcode = &szsigcode64, | ||||
.sv_name = "FreeBSD ELF64 V2", | .sv_name = "FreeBSD ELF64 V2", | ||||
.sv_coredump = __elfN(coredump), | .sv_coredump = __elfN(coredump), | ||||
.sv_elf_core_osabi = ELFOSABI_FREEBSD, | .sv_elf_core_osabi = ELFOSABI_FREEBSD, | ||||
.sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | .sv_elf_core_abi_vendor = FREEBSD_ABI_VENDOR, | ||||
.sv_elf_core_prepare_notes = __elfN(prepare_notes), | .sv_elf_core_prepare_notes = __elfN(prepare_notes), | ||||
.sv_imgact_try = NULL, | |||||
.sv_minsigstksz = MINSIGSTKSZ, | .sv_minsigstksz = MINSIGSTKSZ, | ||||
.sv_minuser = VM_MIN_ADDRESS, | .sv_minuser = VM_MIN_ADDRESS, | ||||
.sv_maxuser = VM_MAXUSER_ADDRESS, | .sv_maxuser = VM_MAXUSER_ADDRESS, | ||||
.sv_usrstack = USRSTACK, | .sv_usrstack = USRSTACK, | ||||
.sv_psstrings = PS_STRINGS, | .sv_psstrings = PS_STRINGS, | ||||
.sv_psstringssz = sizeof(struct ps_strings), | .sv_psstringssz = sizeof(struct ps_strings), | ||||
.sv_stackprot = VM_PROT_ALL, | .sv_stackprot = VM_PROT_ALL, | ||||
.sv_copyout_auxargs = __elfN(powerpc_copyout_auxargs), | .sv_copyout_auxargs = __elfN(powerpc_copyout_auxargs), | ||||
Show All 23 Lines | static boolean_t ppc64_elfv1_header_match(struct image_params *params, | ||||
int32_t *, uint32_t *); | int32_t *, uint32_t *); | ||||
static boolean_t ppc64_elfv2_header_match(struct image_params *params, | static boolean_t ppc64_elfv2_header_match(struct image_params *params, | ||||
int32_t *, uint32_t *); | int32_t *, uint32_t *); | ||||
static Elf64_Brandinfo freebsd_brand_info_elfv1 = { | static Elf64_Brandinfo freebsd_brand_info_elfv1 = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_PPC64, | .machine = EM_PPC64, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/libexec/ld-elf.so.1", | .interp_path = "/libexec/ld-elf.so.1", | ||||
.sysvec = &elf64_freebsd_sysvec_v1, | .sysvec = &elf64_freebsd_sysvec_v1, | ||||
.interp_newpath = NULL, | .interp_newpath = NULL, | ||||
.brand_note = &elf64_freebsd_brandnote, | .brand_note = &elf64_freebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | ||||
.header_supported = &ppc64_elfv1_header_match | .header_supported = &ppc64_elfv1_header_match | ||||
}; | }; | ||||
SYSINIT(elf64v1, SI_SUB_EXEC, SI_ORDER_ANY, | SYSINIT(elf64v1, SI_SUB_EXEC, SI_ORDER_ANY, | ||||
(sysinit_cfunc_t) elf64_insert_brand_entry, | (sysinit_cfunc_t) elf64_insert_brand_entry, | ||||
&freebsd_brand_info_elfv1); | &freebsd_brand_info_elfv1); | ||||
static Elf64_Brandinfo freebsd_brand_info_elfv2 = { | static Elf64_Brandinfo freebsd_brand_info_elfv2 = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_PPC64, | .machine = EM_PPC64, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/libexec/ld-elf.so.1", | .interp_path = "/libexec/ld-elf.so.1", | ||||
.sysvec = &elf64_freebsd_sysvec_v2, | .sysvec = &elf64_freebsd_sysvec_v2, | ||||
.interp_newpath = NULL, | .interp_newpath = NULL, | ||||
.brand_note = &elf64_freebsd_brandnote, | .brand_note = &elf64_freebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | ||||
.header_supported = &ppc64_elfv2_header_match | .header_supported = &ppc64_elfv2_header_match | ||||
}; | }; | ||||
SYSINIT(elf64v2, SI_SUB_EXEC, SI_ORDER_ANY, | SYSINIT(elf64v2, SI_SUB_EXEC, SI_ORDER_ANY, | ||||
(sysinit_cfunc_t) elf64_insert_brand_entry, | (sysinit_cfunc_t) elf64_insert_brand_entry, | ||||
&freebsd_brand_info_elfv2); | &freebsd_brand_info_elfv2); | ||||
static Elf64_Brandinfo freebsd_brand_oinfo = { | static Elf64_Brandinfo freebsd_brand_oinfo = { | ||||
.brand = ELFOSABI_FREEBSD, | .brand = ELFOSABI_FREEBSD, | ||||
.machine = EM_PPC64, | .machine = EM_PPC64, | ||||
.compat_3_brand = "FreeBSD", | .compat_3_brand = "FreeBSD", | ||||
.emul_path = NULL, | |||||
.interp_path = "/usr/libexec/ld-elf.so.1", | .interp_path = "/usr/libexec/ld-elf.so.1", | ||||
.sysvec = &elf64_freebsd_sysvec_v1, | .sysvec = &elf64_freebsd_sysvec_v1, | ||||
.interp_newpath = NULL, | .interp_newpath = NULL, | ||||
.brand_note = &elf64_freebsd_brandnote, | .brand_note = &elf64_freebsd_brandnote, | ||||
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | .flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE, | ||||
.header_supported = &ppc64_elfv1_header_match | .header_supported = &ppc64_elfv1_header_match | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 264 Lines • Show Last 20 Lines |