Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/arm/elf_machdep.c
Show First 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | |||||
#include <sys/vnode.h> | #include <sys/vnode.h> | ||||
#include <vm/vm.h> | #include <vm/vm.h> | ||||
#include <vm/pmap.h> | #include <vm/pmap.h> | ||||
#include <vm/vm_param.h> | #include <vm/vm_param.h> | ||||
#include <machine/elf.h> | #include <machine/elf.h> | ||||
#include <machine/md_var.h> | #include <machine/md_var.h> | ||||
#include <machine/stack.h> | |||||
#ifdef VFP | #ifdef VFP | ||||
#include <machine/vfp.h> | #include <machine/vfp.h> | ||||
#endif | #endif | ||||
static boolean_t elf32_arm_abi_supported(struct image_params *); | static boolean_t elf32_arm_abi_supported(struct image_params *); | ||||
u_long elf_hwcap; | u_long elf_hwcap; | ||||
u_long elf_hwcap2; | u_long elf_hwcap2; | ||||
▲ Show 20 Lines • Show All 246 Lines • ▼ Show 20 Lines | |||||
#if __ARM_ARCH >= 6 | #if __ARM_ARCH >= 6 | ||||
dcache_wb_pou((vm_offset_t)lf->address, (vm_size_t)lf->size); | dcache_wb_pou((vm_offset_t)lf->address, (vm_size_t)lf->size); | ||||
icache_inv_all(); | icache_inv_all(); | ||||
#else | #else | ||||
cpu_dcache_wb_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | cpu_dcache_wb_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | ||||
cpu_l2cache_wb_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | cpu_l2cache_wb_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | ||||
cpu_icache_sync_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | cpu_icache_sync_range((vm_offset_t)lf->address, (vm_size_t)lf->size); | ||||
#endif | #endif | ||||
/* | |||||
* Inform the stack(9) code of the new module, so it can acquire its | |||||
* per-module unwind data. | |||||
*/ | |||||
unwind_module_loaded(lf); | |||||
return (0); | return (0); | ||||
} | } | ||||
int | int | ||||
elf_cpu_unload_file(linker_file_t lf __unused) | elf_cpu_unload_file(linker_file_t lf) | ||||
{ | { | ||||
/* Inform the stack(9) code that this module is gone. */ | |||||
unwind_module_unloaded(lf); | |||||
return (0); | return (0); | ||||
} | } |