[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v1 0/8] xen/riscv: introduce identity mapping
The patch series introduces things necessary to implement identity mapping: 1. Make identity mapping for _start and stack. 2. Enable MMU. 3. Jump to the virtual address world 4. Remove identity mapping for _start and stack. Also current patch series introduces the calculation of physical offset before MMU is enabled as access to physical offset will be calculated wrong after MMU will be enabled because access to phys_off variable is PC-relative and in the case when linker address != load address, it will cause MMU fault. One more thing that was done is: * Added SPDX tags. * Added __ASSEMBLY__ guards. * move extern of cpu0_boot_stack to a header. The reason for this patch series can be found here: https://lore.kernel.org/xen-devel/4e336121-fc0c-b007-bf7b-430352563d55@xxxxxxxxxx/ Oleksii Kurochko (8): xen/riscv: make sure that identity mapping isn't bigger then page size xen/riscv: add .sbss section to .bss xen/riscv: introduce reset_stack() function xen/riscv: introduce function for physical offset calculation xen/riscv: introduce identity mapping xen/riscv: add SPDX tags xen/riscv: add __ASSEMBLY__ guards xen/riscv: move extern of cpu0_boot_stack to header xen/arch/riscv/include/asm/config.h | 2 + xen/arch/riscv/include/asm/current.h | 2 + xen/arch/riscv/include/asm/early_printk.h | 2 + xen/arch/riscv/include/asm/mm.h | 9 +- xen/arch/riscv/include/asm/page-bits.h | 2 + xen/arch/riscv/include/asm/page.h | 6 ++ xen/arch/riscv/include/asm/traps.h | 2 + xen/arch/riscv/include/asm/types.h | 2 + xen/arch/riscv/mm.c | 119 +++++++++++++++------- xen/arch/riscv/riscv64/head.S | 40 +++++++- xen/arch/riscv/setup.c | 16 +-- xen/arch/riscv/xen.lds.S | 11 +- 12 files changed, 160 insertions(+), 53 deletions(-) -- 2.40.1
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |