On Wed, 2023-06-07 at 09:49 +0200, Jan Beulich wrote:
> On 06.06.2023 21:55, Oleksii Kurochko wrote:
> > 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.
>
> These are are, aiui, a response to a comment from Andrew. Hence I
> think
> this wants expressing by a {Requested,Suggested,Reported}-by: tag in
> the
> respective patch.
Thanks for a remark.
~ Oleksii
> > * 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@citrix.com/
> >
> > 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(-)
> >
>