The page table implementation requires conversion between virtual and physical addresses when creating and walking page tables. Add a phys_addr() and virt_addr() functions instead of hard-casting these values, plus a macro for doing the same in ASM code. Currently, all pages are identity mapped so VIRT_OFFSET = 0, but this will now still work if they are not the same. ASM language was also updated for 32-bit. Comments were left in 64-bit, as long mode semantics don't allow use of Z_X86_PHYS_ADDR macro; this can be revisited later. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com> |
||
|---|---|---|
| .. | ||
| ia32 | ||
| intel64 | ||
| kernel_arch_data.h | ||
| kernel_arch_func.h | ||
| offsets_short_arch.h | ||
| x86_mmu.h | ||