Re: [PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-07-10 Thread Jan Beulich
On 10.07.2023 10:53, Oleksii wrote: > On Fri, 2023-07-07 at 12:51 +0200, Jan Beulich wrote: >> On 07.07.2023 12:37, Oleksii wrote: >>> On Thu, 2023-07-06 at 13:35 +0200, Jan Beulich wrote: On 19.06.2023 15:34, Oleksii Kurochko wrote: > --- a/xen/arch/riscv/mm.c > +++ b/xen/arch/riscv/m

Re: [PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-07-10 Thread Oleksii
> > > > Unrelated change? > > It  should be part of [PATCH v2 5/6] xen/riscv: introduce identity > > mapping. > > Hmm, here we're discussing "[PATCH v2 4/6] xen/riscv: introduce > identity > mapping". I'm confused, I guess. Sorry for confusi

Re: [PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-07-07 Thread Jan Beulich
gt; +/* SPDX-License-Identifier: GPL-2.0-only */ >>> + >>>  #ifndef __RISCV_CONFIG_H__ >>>  #define __RISCV_CONFIG_H__ >>>   >> >> Unrelated change? > It should be part of [PATCH v2 5/6] xen/riscv: introduce identity > mapping. Hmm, here we'

Re: [PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-07-07 Thread Oleksii
On Thu, 2023-07-06 at 13:35 +0200, Jan Beulich wrote: > On 19.06.2023 15:34, Oleksii Kurochko wrote: > > Since it is not easy to keep track where the identity map was > > mapped, > > so we will look for the top-level entry exclusive to the identity > > map and remove it. > > I think you mean "top-

Re: [PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-07-06 Thread Jan Beulich
On 19.06.2023 15:34, Oleksii Kurochko wrote: > Since it is not easy to keep track where the identity map was mapped, > so we will look for the top-level entry exclusive to the identity > map and remove it. I think you mean "top-most" or some such, as it's not necessarily the top-level entry you za

[PATCH v2 4/6] xen/riscv: introduce identity mapping

2023-06-19 Thread Oleksii Kurochko
The way how switch to virtual address was implemented in the commit e66003e7be ("xen/riscv: introduce setup_initial_pages") isn't safe enough as: * enable_mmu() depends on hooking all exceptions and pagefault. * Any exception other than pagefault, or not taking a pagefault causes it to malfunct