20b1bb2655
* Don't refer to VA 0, instead refer to a new variable: vector_page * Delete the old zero_page_*() functions, replacing them with a new one: vector_page_setprot(). * When manipulating vector page mappings in user pmaps, only do so if the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the vector page is mapped by the kernel pmap). * Add a new function, arm32_vector_init(), which takes the virtual address of the vector page (which MUST be valid when the function is called) and a bitmask of vectors the kernel is going to take over, and performs all vector page initialization, including setting the V bit in the CPU Control register ("relocate vectors to high address"), if necessary. |
||
---|---|---|
.. | ||
arm_machdep.c | ||
ast.c | ||
blockio.S | ||
bootconfig.c | ||
bus_space_notimpl.S | ||
compat_13_machdep.c | ||
cpufunc_asm_arm3.S | ||
cpufunc_asm_arm7tdmi.S | ||
cpufunc_asm_arm8.S | ||
cpufunc_asm_arm9.S | ||
cpufunc_asm_arm67.S | ||
cpufunc_asm_armv4.S | ||
cpufunc_asm_sa1.S | ||
cpufunc_asm_sa11x0.S | ||
cpufunc_asm_xscale.S | ||
cpufunc_asm.S | ||
cpufunc.c | ||
db_disasm.c | ||
db_trace.c | ||
disassem.c | ||
disassem.h | ||
disksubr_acorn.c | ||
disksubr_mbr.c | ||
disksubr.c | ||
fiq_subr.S | ||
fiq.c | ||
in_cksum_arm.c | ||
linux_sigcode.S | ||
linux_syscall.c | ||
linux_trap.c | ||
process_machdep.c | ||
procfs_machdep.c | ||
sig_machdep.c | ||
sigcode.S | ||
softintr.c | ||
syscall.c | ||
undefined.c | ||
vectors.S | ||
vm_machdep_arm.c |