Re: [PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-28 Thread Anup Patel
On Wed, Jun 29, 2022 at 9:27 AM Bin Meng  wrote:
>
> Hi Rahul,
>
> On Wed, Jun 29, 2022 at 10:07 AM Rahul Pathak  
> wrote:
> >
> > Hi Alistair
> >
> > My fix patch needs to be dropped since Anup took care of this issue
> > in his yesterdays series update in this patch -
> > [PATCH v8 4/4] target/riscv: Force disable extensions if priv spec
> > version does not match
>
> I don't understand. Each patch should keep bisectability.

The patches are already bisectable. There was a compile error until
v6 which was fixed in v7 by squashing this patch into PATCH4.

>
> This sounds like to me, that
> [PATCH v8 4/4] target/riscv: Force disable extensions if priv spec
> version does not match
>
> has an issue that it does 2 things: one is to fix this bug, and the
> other one is to force disable extensions.
>
> Which is not right.

The bug is fixed as a result of force disabling extensions which
don't match the priv spec version.

Regards,
Anup



Re: [PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-28 Thread Bin Meng
Hi Rahul,

On Wed, Jun 29, 2022 at 10:07 AM Rahul Pathak  wrote:
>
> Hi Alistair
>
> My fix patch needs to be dropped since Anup took care of this issue
> in his yesterdays series update in this patch -
> [PATCH v8 4/4] target/riscv: Force disable extensions if priv spec
> version does not match

I don't understand. Each patch should keep bisectability.

This sounds like to me, that
[PATCH v8 4/4] target/riscv: Force disable extensions if priv spec
version does not match

has an issue that it does 2 things: one is to fix this bug, and the
other one is to force disable extensions.

Which is not right.

Regards,
Bin



Re: [PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-28 Thread Rahul Pathak
Hi Alistair

My fix patch needs to be dropped since Anup took care of this issue
in his yesterdays series update in this patch -
[PATCH v8 4/4] target/riscv: Force disable extensions if priv spec
version does not match

Thanks
Rahul

On Wed, Jun 29, 2022 at 7:32 AM Alistair Francis  wrote:
>
> On Tue, Jun 28, 2022 at 3:03 AM Rahul Pathak  wrote:
> >
> > mhartid csr is not available in user-mode code path and
> > user-mode build fails because of its reference in
> > riscv_cpu_realize function
> >
> > Commit causing the issue is currently in Alistair's
> > riscv-to-apply.next branch and need to be squashed there.
> >
> > Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec 
> > version does not match")
>
> Can you please re-send the original patch with the fix? I have removed
> this patch from my tree
>
> Alistair
>
> >
> > Signed-off-by: Rahul Pathak 
> > ---
> >
> > Changes in V2:
> > - remove the stray format specifier
> > - add the Fixes tag and reference to external tree
> > ---
> >  target/riscv/cpu.c | 6 ++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> > index e4ec05abf4..509923f15e 100644
> > --- a/target/riscv/cpu.c
> > +++ b/target/riscv/cpu.c
> > @@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
> > **errp)
> >  if (isa_ext_is_enabled(cpu, _edata_arr[i]) &&
> >  (env->priv_ver < isa_edata_arr[i].min_version)) {
> >  isa_ext_update_enabled(cpu, _edata_arr[i], false);
> > +#ifndef CONFIG_USER_ONLY
> >  warn_report("disabling %s extension for hart 0x%lx because "
> >  "privilege spec version does not match",
> >  isa_edata_arr[i].name, (unsigned 
> > long)env->mhartid);
> > +#else
> > +warn_report("disabling %s extension for hart because "
> > +"privilege spec version does not match",
> > +isa_edata_arr[i].name);
> > +#endif
> >  }
> >  }
> >
> > --
> > 2.34.1
> >
> >



-- 

Thanks
Rahul Pathak



Re: [PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-28 Thread Alistair Francis
On Tue, Jun 28, 2022 at 3:03 AM Rahul Pathak  wrote:
>
> mhartid csr is not available in user-mode code path and
> user-mode build fails because of its reference in
> riscv_cpu_realize function
>
> Commit causing the issue is currently in Alistair's
> riscv-to-apply.next branch and need to be squashed there.
>
> Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec 
> version does not match")

Can you please re-send the original patch with the fix? I have removed
this patch from my tree

Alistair

>
> Signed-off-by: Rahul Pathak 
> ---
>
> Changes in V2:
> - remove the stray format specifier
> - add the Fixes tag and reference to external tree
> ---
>  target/riscv/cpu.c | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index e4ec05abf4..509923f15e 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
> **errp)
>  if (isa_ext_is_enabled(cpu, _edata_arr[i]) &&
>  (env->priv_ver < isa_edata_arr[i].min_version)) {
>  isa_ext_update_enabled(cpu, _edata_arr[i], false);
> +#ifndef CONFIG_USER_ONLY
>  warn_report("disabling %s extension for hart 0x%lx because "
>  "privilege spec version does not match",
>  isa_edata_arr[i].name, (unsigned long)env->mhartid);
> +#else
> +warn_report("disabling %s extension for hart because "
> +"privilege spec version does not match",
> +isa_edata_arr[i].name);
> +#endif
>  }
>  }
>
> --
> 2.34.1
>
>



[PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-27 Thread Rahul Pathak
mhartid csr is not available in user-mode code path and
user-mode build fails because of its reference in
riscv_cpu_realize function

Commit causing the issue is currently in Alistair's
riscv-to-apply.next branch and need to be squashed there.

Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec 
version does not match")

Signed-off-by: Rahul Pathak 
---

Changes in V2:
- remove the stray format specifier
- add the Fixes tag and reference to external tree
---
 target/riscv/cpu.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index e4ec05abf4..509923f15e 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
**errp)
 if (isa_ext_is_enabled(cpu, _edata_arr[i]) &&
 (env->priv_ver < isa_edata_arr[i].min_version)) {
 isa_ext_update_enabled(cpu, _edata_arr[i], false);
+#ifndef CONFIG_USER_ONLY
 warn_report("disabling %s extension for hart 0x%lx because "
 "privilege spec version does not match",
 isa_edata_arr[i].name, (unsigned long)env->mhartid);
+#else
+warn_report("disabling %s extension for hart because "
+"privilege spec version does not match",
+isa_edata_arr[i].name);
+#endif
 }
 }
 
-- 
2.34.1




[PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-27 Thread Rahul Pathak
mhartid csr is not available in user-mode code path and
user-mode build fails because of its reference in
riscv_cpu_realize function

Commit causing the issue is currently in Alistair's
riscv-to-apply.next branch and need to be squashed there.

Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec 
version does not match")

Signed-off-by: Rahul Pathak 
---

Changes in V2:
- remove the stray format specifier
- add the Fixes tag and reference to external tree
---
 target/riscv/cpu.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index e4ec05abf4..509923f15e 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
**errp)
 if (isa_ext_is_enabled(cpu, _edata_arr[i]) &&
 (env->priv_ver < isa_edata_arr[i].min_version)) {
 isa_ext_update_enabled(cpu, _edata_arr[i], false);
+#ifndef CONFIG_USER_ONLY
 warn_report("disabling %s extension for hart 0x%lx because "
 "privilege spec version does not match",
 isa_edata_arr[i].name, (unsigned long)env->mhartid);
+#else
+warn_report("disabling %s extension for hart because "
+"privilege spec version does not match",
+isa_edata_arr[i].name);
+#endif
 }
 }
 
-- 
2.34.1




Re: [PATCH v2] target/riscv: fix user-mode build issue because mhartid

2022-06-27 Thread Rahul Pathak
Sorry for spamming but my send-email script misbehaved
and sent the v2 patch two times. Please ignore one of
the v2 patch

On Mon, Jun 27, 2022 at 10:20 PM Rahul Pathak  wrote:
>
> mhartid csr is not available in user-mode code path and
> user-mode build fails because of its reference in
> riscv_cpu_realize function
>
> Commit causing the issue is currently in Alistair's
> riscv-to-apply.next branch and need to be squashed there.
>
> Fixes: 7ecee770d40 ("target/riscv: Force disable extensions if priv spec 
> version does not match")
>
> Signed-off-by: Rahul Pathak 
> ---
>
> Changes in V2:
> - remove the stray format specifier
> - add the Fixes tag and reference to external tree
> ---
>  target/riscv/cpu.c | 6 ++
>  1 file changed, 6 insertions(+)
>
> diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
> index e4ec05abf4..509923f15e 100644
> --- a/target/riscv/cpu.c
> +++ b/target/riscv/cpu.c
> @@ -636,9 +636,15 @@ static void riscv_cpu_realize(DeviceState *dev, Error 
> **errp)
>  if (isa_ext_is_enabled(cpu, _edata_arr[i]) &&
>  (env->priv_ver < isa_edata_arr[i].min_version)) {
>  isa_ext_update_enabled(cpu, _edata_arr[i], false);
> +#ifndef CONFIG_USER_ONLY
>  warn_report("disabling %s extension for hart 0x%lx because "
>  "privilege spec version does not match",
>  isa_edata_arr[i].name, (unsigned long)env->mhartid);
> +#else
> +warn_report("disabling %s extension for hart because "
> +"privilege spec version does not match",
> +isa_edata_arr[i].name);
> +#endif
>  }
>  }
>
> --
> 2.34.1
>


-- 

Thanks
Rahul Pathak