Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-04 Thread Laurent Dufour
On 04/05/2022, 07:59:29, Michael Ellerman wrote: > Laurent Dufour writes: >> On 03/05/2022, 17:06:41, Michael Ellerman wrote: >>> Laurent Dufour writes: > ... diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index 1f42aabbbab3..d7775b8c8853 100644 --- a/arch/pow

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Michael Ellerman
Laurent Dufour writes: > On 03/05/2022, 17:06:41, Michael Ellerman wrote: >> Laurent Dufour writes: ... >>> diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c >>> index 1f42aabbbab3..d7775b8c8853 100644 >>> --- a/arch/powerpc/kernel/rtas.c >>> +++ b/arch/powerpc/kernel/rtas.c >>

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Michael Ellerman
Laurent Dufour writes: > On 03/05/2022, 18:16:29, Fabiano Rosas wrote: >> Michael Ellerman writes: >> diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 9581906b5ee9..65cb14b56f8d 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/pow

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Michael Ellerman
Fabiano Rosas writes: > Michael Ellerman writes: >>> diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S >>> index 9581906b5ee9..65cb14b56f8d 100644 >>> --- a/arch/powerpc/kernel/entry_64.S >>> +++ b/arch/powerpc/kernel/entry_64.S >>> @@ -330,22 +330,18 @@ _GLOBAL(enter_r

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Laurent Dufour
On 03/05/2022, 18:16:29, Fabiano Rosas wrote: > Michael Ellerman writes: > >>> diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S >>> index 9581906b5ee9..65cb14b56f8d 100644 >>> --- a/arch/powerpc/kernel/entry_64.S >>> +++ b/arch/powerpc/kernel/entry_64.S >>> @@ -330,22

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Laurent Dufour
Thanks Michael for reviewing this. On 03/05/2022, 17:06:41, Michael Ellerman wrote: > Laurent Dufour writes: >> RTAS runs in real mode (MSR[DR] and MSR[IR] unset) and in 32bits >> mode (MSR[SF] unset). > > Probably also worth mentioning that it runs in big endian mode :) > > It is specified in

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Fabiano Rosas
Michael Ellerman writes: >> diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S >> index 9581906b5ee9..65cb14b56f8d 100644 >> --- a/arch/powerpc/kernel/entry_64.S >> +++ b/arch/powerpc/kernel/entry_64.S >> @@ -330,22 +330,18 @@ _GLOBAL(enter_rtas) >> clrldi r4,r4,2

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-05-03 Thread Michael Ellerman
Laurent Dufour writes: > RTAS runs in real mode (MSR[DR] and MSR[IR] unset) and in 32bits > mode (MSR[SF] unset). Probably also worth mentioning that it runs in big endian mode :) It is specified in PAPR (R1-7.2.1-6). > The change in MSR is done in enter_rtas() in a relatively complex way, > si

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-04-21 Thread Laurent Dufour
On 13/04/2022, 07:58:42, Nicholas Piggin wrote: > Excerpts from Laurent Dufour's message of April 2, 2022 12:06 am: >> RTAS runs in real mode (MSR[DR] and MSR[IR] unset) and in 32bits >> mode (MSR[SF] unset). >> >> The change in MSR is done in enter_rtas() in a relatively complex way, >> since the

Re: [PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-04-12 Thread Nicholas Piggin
Excerpts from Laurent Dufour's message of April 2, 2022 12:06 am: > RTAS runs in real mode (MSR[DR] and MSR[IR] unset) and in 32bits > mode (MSR[SF] unset). > > The change in MSR is done in enter_rtas() in a relatively complex way, > since the MSR value could be hardcoded. > > Furthermore, a pani

[PATCH v2] powerpc/rtas: Keep MSR[RI] set when calling RTAS

2022-04-01 Thread Laurent Dufour
RTAS runs in real mode (MSR[DR] and MSR[IR] unset) and in 32bits mode (MSR[SF] unset). The change in MSR is done in enter_rtas() in a relatively complex way, since the MSR value could be hardcoded. Furthermore, a panic has been reported when hitting the watchdog interrupt while running in RTAS, t