qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] target/i386/emulate: remove rflags leftovers
@ 2025-04-29  9:33 Magnus Kulke
  2025-04-29 10:02 ` Paolo Bonzini
  0 siblings, 1 reply; 7+ messages in thread
From: Magnus Kulke @ 2025-04-29  9:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Paolo Bonzini, Roman Bolshakov, Cameron Esfahani, Wei Liu,
	Phil Dennis-Jordan

Fixes: c901905ea670 ("target/i386/emulate: remove flags_mask")

In c901905ea670 rflags have been removed from `x86_decode`, but there
were some leftovers.

Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
---
 target/i386/emulate/x86_decode.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/target/i386/emulate/x86_decode.c b/target/i386/emulate/x86_decode.c
index 7fee219687..7efa2f570e 100644
--- a/target/i386/emulate/x86_decode.c
+++ b/target/i386/emulate/x86_decode.c
@@ -1408,7 +1408,7 @@ struct decode_tbl _2op_inst[] = {
 };
 
 struct decode_x87_tbl invl_inst_x87 = {0x0, 0, 0, 0, 0, false, false, NULL,
-                                       NULL, decode_invalid, 0};
+                                       NULL, decode_invalid};
 
 struct decode_x87_tbl _x87_inst[] = {
     {0xd8, 0, 3, X86_DECODE_CMD_FADD, 10, false, false,
@@ -1456,8 +1456,7 @@ struct decode_x87_tbl _x87_inst[] = {
      decode_x87_modrm_st0, NULL, decode_d9_4},
     {0xd9, 4, 0, X86_DECODE_CMD_INVL, 4, false, false,
      decode_x87_modrm_bytep, NULL, NULL},
-    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL, NULL,
-     RFLAGS_MASK_NONE},
+    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL, NULL},
     {0xd9, 5, 0, X86_DECODE_CMD_FLDCW, 2, false, false,
      decode_x87_modrm_bytep, NULL, NULL},
 
@@ -1478,20 +1477,17 @@ struct decode_x87_tbl _x87_inst[] = {
      decode_x87_modrm_st0, NULL},
     {0xda, 3, 3, X86_DECODE_CMD_FCMOV, 10, false, false, decode_x87_modrm_st0,
      decode_x87_modrm_st0, NULL},
-    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
-     RFLAGS_MASK_NONE},
+    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
     {0xda, 4, 0, X86_DECODE_CMD_FSUB, 4, false, false, decode_x87_modrm_st0,
      decode_x87_modrm_intp, NULL},
     {0xda, 5, 3, X86_DECODE_CMD_FUCOM, 10, false, true, decode_x87_modrm_st0,
      decode_decode_x87_modrm_st0, NULL},
     {0xda, 5, 0, X86_DECODE_CMD_FSUB, 4, true, false, decode_x87_modrm_st0,
      decode_x87_modrm_intp, NULL},
-    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
-     RFLAGS_MASK_NONE},
+    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
     {0xda, 6, 0, X86_DECODE_CMD_FDIV, 4, false, false, decode_x87_modrm_st0,
      decode_x87_modrm_intp, NULL},
-    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
-     RFLAGS_MASK_NONE},
+    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
     {0xda, 7, 0, X86_DECODE_CMD_FDIV, 4, true, false, decode_x87_modrm_st0,
      decode_x87_modrm_intp, NULL},
 
@@ -1511,8 +1507,7 @@ struct decode_x87_tbl _x87_inst[] = {
      decode_x87_modrm_intp, NULL, NULL},
     {0xdb, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
      decode_db_4},
-    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
-     RFLAGS_MASK_NONE},
+    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
     {0xdb, 5, 3, X86_DECODE_CMD_FUCOMI, 10, false, false,
      decode_x87_modrm_st0, decode_x87_modrm_st0, NULL},
     {0xdb, 5, 0, X86_DECODE_CMD_FLD, 10, false, false,
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-04-29  9:33 [PATCH v3] target/i386/emulate: remove rflags leftovers Magnus Kulke
@ 2025-04-29 10:02 ` Paolo Bonzini
  2025-04-29 12:17   ` Magnus Kulke
  0 siblings, 1 reply; 7+ messages in thread
From: Paolo Bonzini @ 2025-04-29 10:02 UTC (permalink / raw)
  To: Magnus Kulke
  Cc: qemu-devel, Roman Bolshakov, Cameron Esfahani, Wei Liu,
	Phil Dennis-Jordan

[-- Attachment #1: Type: text/plain, Size: 3597 bytes --]

Il mar 29 apr 2025, 11:33 Magnus Kulke <magnuskulke@linux.microsoft.com> ha
scritto:

> Fixes: c901905ea670 ("target/i386/emulate: remove flags_mask")
>
> In c901905ea670 rflags have been removed from `x86_decode`, but there
> were some leftovers.
>
> Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
>

Thanks, I will queue thos; I have some more emulator patches but no way to
test that, could you please help?

Paolo

---
>  target/i386/emulate/x86_decode.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/target/i386/emulate/x86_decode.c
> b/target/i386/emulate/x86_decode.c
> index 7fee219687..7efa2f570e 100644
> --- a/target/i386/emulate/x86_decode.c
> +++ b/target/i386/emulate/x86_decode.c
> @@ -1408,7 +1408,7 @@ struct decode_tbl _2op_inst[] = {
>  };
>
>  struct decode_x87_tbl invl_inst_x87 = {0x0, 0, 0, 0, 0, false, false,
> NULL,
> -                                       NULL, decode_invalid, 0};
> +                                       NULL, decode_invalid};
>
>  struct decode_x87_tbl _x87_inst[] = {
>      {0xd8, 0, 3, X86_DECODE_CMD_FADD, 10, false, false,
> @@ -1456,8 +1456,7 @@ struct decode_x87_tbl _x87_inst[] = {
>       decode_x87_modrm_st0, NULL, decode_d9_4},
>      {0xd9, 4, 0, X86_DECODE_CMD_INVL, 4, false, false,
>       decode_x87_modrm_bytep, NULL, NULL},
> -    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL, NULL,
> -     RFLAGS_MASK_NONE},
> +    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> NULL},
>      {0xd9, 5, 0, X86_DECODE_CMD_FLDCW, 2, false, false,
>       decode_x87_modrm_bytep, NULL, NULL},
>
> @@ -1478,20 +1477,17 @@ struct decode_x87_tbl _x87_inst[] = {
>       decode_x87_modrm_st0, NULL},
>      {0xda, 3, 3, X86_DECODE_CMD_FCMOV, 10, false, false,
> decode_x87_modrm_st0,
>       decode_x87_modrm_st0, NULL},
> -    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> -     RFLAGS_MASK_NONE},
> +    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
>      {0xda, 4, 0, X86_DECODE_CMD_FSUB, 4, false, false,
> decode_x87_modrm_st0,
>       decode_x87_modrm_intp, NULL},
>      {0xda, 5, 3, X86_DECODE_CMD_FUCOM, 10, false, true,
> decode_x87_modrm_st0,
>       decode_decode_x87_modrm_st0, NULL},
>      {0xda, 5, 0, X86_DECODE_CMD_FSUB, 4, true, false,
> decode_x87_modrm_st0,
>       decode_x87_modrm_intp, NULL},
> -    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> -     RFLAGS_MASK_NONE},
> +    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
>      {0xda, 6, 0, X86_DECODE_CMD_FDIV, 4, false, false,
> decode_x87_modrm_st0,
>       decode_x87_modrm_intp, NULL},
> -    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> -     RFLAGS_MASK_NONE},
> +    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
>      {0xda, 7, 0, X86_DECODE_CMD_FDIV, 4, true, false,
> decode_x87_modrm_st0,
>       decode_x87_modrm_intp, NULL},
>
> @@ -1511,8 +1507,7 @@ struct decode_x87_tbl _x87_inst[] = {
>       decode_x87_modrm_intp, NULL, NULL},
>      {0xdb, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
>       decode_db_4},
> -    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> -     RFLAGS_MASK_NONE},
> +    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
>      {0xdb, 5, 3, X86_DECODE_CMD_FUCOMI, 10, false, false,
>       decode_x87_modrm_st0, decode_x87_modrm_st0, NULL},
>      {0xdb, 5, 0, X86_DECODE_CMD_FLD, 10, false, false,
> --
> 2.34.1
>
>

[-- Attachment #2: Type: text/html, Size: 4710 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-04-29 10:02 ` Paolo Bonzini
@ 2025-04-29 12:17   ` Magnus Kulke
  2025-04-29 12:27     ` Paolo Bonzini
  2025-05-02 17:04     ` Wei Liu
  0 siblings, 2 replies; 7+ messages in thread
From: Magnus Kulke @ 2025-04-29 12:17 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Roman Bolshakov, Cameron Esfahani, Wei Liu,
	Phil Dennis-Jordan

On Tue, Apr 29, 2025 at 12:02:48PM +0200, Paolo Bonzini wrote:
> Il mar 29 apr 2025, 11:33 Magnus Kulke <magnuskulke@linux.microsoft.com> ha
> scritto:
> 
> > Fixes: c901905ea670 ("target/i386/emulate: remove flags_mask")
> >
> > In c901905ea670 rflags have been removed from `x86_decode`, but there
> > were some leftovers.
> >
> > Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
> >
> 
> Thanks, I will queue thos; I have some more emulator patches but no way to
> test that, could you please help?
> 
> Paolo
> 

Yes, I'm using the generalized emulator in the context of adding the MSHV
accelerator. (I'll probably get around sending an RFC patchset this week for
it). There were minor compilation issues w/ the emulator code, that I had to
fix to make it compile on Linux. However I don't have access to an x86_64
Mac for development either, so I can't test a HVF build.

Best,

Magnus

> ---
> >  target/i386/emulate/x86_decode.c | 17 ++++++-----------
> >  1 file changed, 6 insertions(+), 11 deletions(-)
> >
> > diff --git a/target/i386/emulate/x86_decode.c
> > b/target/i386/emulate/x86_decode.c
> > index 7fee219687..7efa2f570e 100644
> > --- a/target/i386/emulate/x86_decode.c
> > +++ b/target/i386/emulate/x86_decode.c
> > @@ -1408,7 +1408,7 @@ struct decode_tbl _2op_inst[] = {
> >  };
> >
> >  struct decode_x87_tbl invl_inst_x87 = {0x0, 0, 0, 0, 0, false, false,
> > NULL,
> > -                                       NULL, decode_invalid, 0};
> > +                                       NULL, decode_invalid};
> >
> >  struct decode_x87_tbl _x87_inst[] = {
> >      {0xd8, 0, 3, X86_DECODE_CMD_FADD, 10, false, false,
> > @@ -1456,8 +1456,7 @@ struct decode_x87_tbl _x87_inst[] = {
> >       decode_x87_modrm_st0, NULL, decode_d9_4},
> >      {0xd9, 4, 0, X86_DECODE_CMD_INVL, 4, false, false,
> >       decode_x87_modrm_bytep, NULL, NULL},
> > -    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL, NULL,
> > -     RFLAGS_MASK_NONE},
> > +    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> > NULL},
> >      {0xd9, 5, 0, X86_DECODE_CMD_FLDCW, 2, false, false,
> >       decode_x87_modrm_bytep, NULL, NULL},
> >
> > @@ -1478,20 +1477,17 @@ struct decode_x87_tbl _x87_inst[] = {
> >       decode_x87_modrm_st0, NULL},
> >      {0xda, 3, 3, X86_DECODE_CMD_FCMOV, 10, false, false,
> > decode_x87_modrm_st0,
> >       decode_x87_modrm_st0, NULL},
> > -    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> > -     RFLAGS_MASK_NONE},
> > +    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
> >      {0xda, 4, 0, X86_DECODE_CMD_FSUB, 4, false, false,
> > decode_x87_modrm_st0,
> >       decode_x87_modrm_intp, NULL},
> >      {0xda, 5, 3, X86_DECODE_CMD_FUCOM, 10, false, true,
> > decode_x87_modrm_st0,
> >       decode_decode_x87_modrm_st0, NULL},
> >      {0xda, 5, 0, X86_DECODE_CMD_FSUB, 4, true, false,
> > decode_x87_modrm_st0,
> >       decode_x87_modrm_intp, NULL},
> > -    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> > -     RFLAGS_MASK_NONE},
> > +    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
> >      {0xda, 6, 0, X86_DECODE_CMD_FDIV, 4, false, false,
> > decode_x87_modrm_st0,
> >       decode_x87_modrm_intp, NULL},
> > -    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> > -     RFLAGS_MASK_NONE},
> > +    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
> >      {0xda, 7, 0, X86_DECODE_CMD_FDIV, 4, true, false,
> > decode_x87_modrm_st0,
> >       decode_x87_modrm_intp, NULL},
> >
> > @@ -1511,8 +1507,7 @@ struct decode_x87_tbl _x87_inst[] = {
> >       decode_x87_modrm_intp, NULL, NULL},
> >      {0xdb, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> >       decode_db_4},
> > -    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL,
> > -     RFLAGS_MASK_NONE},
> > +    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL, NULL},
> >      {0xdb, 5, 3, X86_DECODE_CMD_FUCOMI, 10, false, false,
> >       decode_x87_modrm_st0, decode_x87_modrm_st0, NULL},
> >      {0xdb, 5, 0, X86_DECODE_CMD_FLD, 10, false, false,
> > --
> > 2.34.1
> >
> >


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-04-29 12:17   ` Magnus Kulke
@ 2025-04-29 12:27     ` Paolo Bonzini
  2025-04-29 12:49       ` Magnus Kulke
  2025-05-02 17:04     ` Wei Liu
  1 sibling, 1 reply; 7+ messages in thread
From: Paolo Bonzini @ 2025-04-29 12:27 UTC (permalink / raw)
  To: Magnus Kulke
  Cc: qemu-devel, Roman Bolshakov, Cameron Esfahani, Wei Liu,
	Phil Dennis-Jordan

[-- Attachment #1: Type: text/plain, Size: 4054 bytes --]

Il mar 29 apr 2025, 14:17 Magnus Kulke <magnuskulke@linux.microsoft.com> ha
scritto:

> Yes, I'm using the generalized emulator in the context of adding the MSHV
> accelerator. (I'll probably get around sending an RFC patchset this week
> for
> it). There were minor compilation issues w/ the emulator code, that I had
> to
> fix to make it compile on Linux. However I don't have access to an x86_64
> Mac for development either, so I can't test a HVF build.
>

No problem, using MSHV to test if I am breaking anything in the emulator is
enough!

Paolo

Best,
>
> Magnus
>
> > ---
> > >  target/i386/emulate/x86_decode.c | 17 ++++++-----------
> > >  1 file changed, 6 insertions(+), 11 deletions(-)
> > >
> > > diff --git a/target/i386/emulate/x86_decode.c
> > > b/target/i386/emulate/x86_decode.c
> > > index 7fee219687..7efa2f570e 100644
> > > --- a/target/i386/emulate/x86_decode.c
> > > +++ b/target/i386/emulate/x86_decode.c
> > > @@ -1408,7 +1408,7 @@ struct decode_tbl _2op_inst[] = {
> > >  };
> > >
> > >  struct decode_x87_tbl invl_inst_x87 = {0x0, 0, 0, 0, 0, false, false,
> > > NULL,
> > > -                                       NULL, decode_invalid, 0};
> > > +                                       NULL, decode_invalid};
> > >
> > >  struct decode_x87_tbl _x87_inst[] = {
> > >      {0xd8, 0, 3, X86_DECODE_CMD_FADD, 10, false, false,
> > > @@ -1456,8 +1456,7 @@ struct decode_x87_tbl _x87_inst[] = {
> > >       decode_x87_modrm_st0, NULL, decode_d9_4},
> > >      {0xd9, 4, 0, X86_DECODE_CMD_INVL, 4, false, false,
> > >       decode_x87_modrm_bytep, NULL, NULL},
> > > -    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> NULL,
> > > -     RFLAGS_MASK_NONE},
> > > +    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> > > NULL},
> > >      {0xd9, 5, 0, X86_DECODE_CMD_FLDCW, 2, false, false,
> > >       decode_x87_modrm_bytep, NULL, NULL},
> > >
> > > @@ -1478,20 +1477,17 @@ struct decode_x87_tbl _x87_inst[] = {
> > >       decode_x87_modrm_st0, NULL},
> > >      {0xda, 3, 3, X86_DECODE_CMD_FCMOV, 10, false, false,
> > > decode_x87_modrm_st0,
> > >       decode_x87_modrm_st0, NULL},
> > > -    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL,
> > > -     RFLAGS_MASK_NONE},
> > > +    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL},
> > >      {0xda, 4, 0, X86_DECODE_CMD_FSUB, 4, false, false,
> > > decode_x87_modrm_st0,
> > >       decode_x87_modrm_intp, NULL},
> > >      {0xda, 5, 3, X86_DECODE_CMD_FUCOM, 10, false, true,
> > > decode_x87_modrm_st0,
> > >       decode_decode_x87_modrm_st0, NULL},
> > >      {0xda, 5, 0, X86_DECODE_CMD_FSUB, 4, true, false,
> > > decode_x87_modrm_st0,
> > >       decode_x87_modrm_intp, NULL},
> > > -    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL,
> > > -     RFLAGS_MASK_NONE},
> > > +    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL},
> > >      {0xda, 6, 0, X86_DECODE_CMD_FDIV, 4, false, false,
> > > decode_x87_modrm_st0,
> > >       decode_x87_modrm_intp, NULL},
> > > -    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL,
> > > -     RFLAGS_MASK_NONE},
> > > +    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL},
> > >      {0xda, 7, 0, X86_DECODE_CMD_FDIV, 4, true, false,
> > > decode_x87_modrm_st0,
> > >       decode_x87_modrm_intp, NULL},
> > >
> > > @@ -1511,8 +1507,7 @@ struct decode_x87_tbl _x87_inst[] = {
> > >       decode_x87_modrm_intp, NULL, NULL},
> > >      {0xdb, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > >       decode_db_4},
> > > -    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL,
> > > -     RFLAGS_MASK_NONE},
> > > +    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> NULL},
> > >      {0xdb, 5, 3, X86_DECODE_CMD_FUCOMI, 10, false, false,
> > >       decode_x87_modrm_st0, decode_x87_modrm_st0, NULL},
> > >      {0xdb, 5, 0, X86_DECODE_CMD_FLD, 10, false, false,
> > > --
> > > 2.34.1
> > >
> > >
>
>

[-- Attachment #2: Type: text/html, Size: 5558 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-04-29 12:27     ` Paolo Bonzini
@ 2025-04-29 12:49       ` Magnus Kulke
  0 siblings, 0 replies; 7+ messages in thread
From: Magnus Kulke @ 2025-04-29 12:49 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: qemu-devel, Roman Bolshakov, Cameron Esfahani, Wei Liu,
	Phil Dennis-Jordan

On Tue, Apr 29, 2025 at 02:27:21PM +0200, Paolo Bonzini wrote:
> Il mar 29 apr 2025, 14:17 Magnus Kulke <magnuskulke@linux.microsoft.com> ha
> scritto:
> 
> > Yes, I'm using the generalized emulator in the context of adding the MSHV
> > accelerator. (I'll probably get around sending an RFC patchset this week
> > for
> > it). There were minor compilation issues w/ the emulator code, that I had
> > to
> > fix to make it compile on Linux. However I don't have access to an x86_64
> > Mac for development either, so I can't test a HVF build.
> >
> 
> No problem, using MSHV to test if I am breaking anything in the emulator is
> enough!
> 
> Paolo
> 

Sure CC me, I'll try to keep up and test the changes.

> Best,
> >
> > Magnus
> >
> > > ---
> > > >  target/i386/emulate/x86_decode.c | 17 ++++++-----------
> > > >  1 file changed, 6 insertions(+), 11 deletions(-)
> > > >
> > > > diff --git a/target/i386/emulate/x86_decode.c
> > > > b/target/i386/emulate/x86_decode.c
> > > > index 7fee219687..7efa2f570e 100644
> > > > --- a/target/i386/emulate/x86_decode.c
> > > > +++ b/target/i386/emulate/x86_decode.c
> > > > @@ -1408,7 +1408,7 @@ struct decode_tbl _2op_inst[] = {
> > > >  };
> > > >
> > > >  struct decode_x87_tbl invl_inst_x87 = {0x0, 0, 0, 0, 0, false, false,
> > > > NULL,
> > > > -                                       NULL, decode_invalid, 0};
> > > > +                                       NULL, decode_invalid};
> > > >
> > > >  struct decode_x87_tbl _x87_inst[] = {
> > > >      {0xd8, 0, 3, X86_DECODE_CMD_FADD, 10, false, false,
> > > > @@ -1456,8 +1456,7 @@ struct decode_x87_tbl _x87_inst[] = {
> > > >       decode_x87_modrm_st0, NULL, decode_d9_4},
> > > >      {0xd9, 4, 0, X86_DECODE_CMD_INVL, 4, false, false,
> > > >       decode_x87_modrm_bytep, NULL, NULL},
> > > > -    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> > NULL,
> > > > -     RFLAGS_MASK_NONE},
> > > > +    {0xd9, 5, 3, X86_DECODE_CMD_FLDxx, 10, false, false, NULL, NULL,
> > > > NULL},
> > > >      {0xd9, 5, 0, X86_DECODE_CMD_FLDCW, 2, false, false,
> > > >       decode_x87_modrm_bytep, NULL, NULL},
> > > >
> > > > @@ -1478,20 +1477,17 @@ struct decode_x87_tbl _x87_inst[] = {
> > > >       decode_x87_modrm_st0, NULL},
> > > >      {0xda, 3, 3, X86_DECODE_CMD_FCMOV, 10, false, false,
> > > > decode_x87_modrm_st0,
> > > >       decode_x87_modrm_st0, NULL},
> > > > -    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL,
> > > > -     RFLAGS_MASK_NONE},
> > > > +    {0xda, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL},
> > > >      {0xda, 4, 0, X86_DECODE_CMD_FSUB, 4, false, false,
> > > > decode_x87_modrm_st0,
> > > >       decode_x87_modrm_intp, NULL},
> > > >      {0xda, 5, 3, X86_DECODE_CMD_FUCOM, 10, false, true,
> > > > decode_x87_modrm_st0,
> > > >       decode_decode_x87_modrm_st0, NULL},
> > > >      {0xda, 5, 0, X86_DECODE_CMD_FSUB, 4, true, false,
> > > > decode_x87_modrm_st0,
> > > >       decode_x87_modrm_intp, NULL},
> > > > -    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL,
> > > > -     RFLAGS_MASK_NONE},
> > > > +    {0xda, 6, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL},
> > > >      {0xda, 6, 0, X86_DECODE_CMD_FDIV, 4, false, false,
> > > > decode_x87_modrm_st0,
> > > >       decode_x87_modrm_intp, NULL},
> > > > -    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL,
> > > > -     RFLAGS_MASK_NONE},
> > > > +    {0xda, 7, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL},
> > > >      {0xda, 7, 0, X86_DECODE_CMD_FDIV, 4, true, false,
> > > > decode_x87_modrm_st0,
> > > >       decode_x87_modrm_intp, NULL},
> > > >
> > > > @@ -1511,8 +1507,7 @@ struct decode_x87_tbl _x87_inst[] = {
> > > >       decode_x87_modrm_intp, NULL, NULL},
> > > >      {0xdb, 4, 3, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > > >       decode_db_4},
> > > > -    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL,
> > > > -     RFLAGS_MASK_NONE},
> > > > +    {0xdb, 4, 0, X86_DECODE_CMD_INVL, 10, false, false, NULL, NULL,
> > NULL},
> > > >      {0xdb, 5, 3, X86_DECODE_CMD_FUCOMI, 10, false, false,
> > > >       decode_x87_modrm_st0, decode_x87_modrm_st0, NULL},
> > > >      {0xdb, 5, 0, X86_DECODE_CMD_FLD, 10, false, false,
> > > > --
> > > > 2.34.1
> > > >
> > > >
> >
> >


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-04-29 12:17   ` Magnus Kulke
  2025-04-29 12:27     ` Paolo Bonzini
@ 2025-05-02 17:04     ` Wei Liu
  2025-05-02 22:48       ` Paolo Bonzini
  1 sibling, 1 reply; 7+ messages in thread
From: Wei Liu @ 2025-05-02 17:04 UTC (permalink / raw)
  To: Magnus Kulke
  Cc: Paolo Bonzini, qemu-devel, Roman Bolshakov, Cameron Esfahani,
	Wei Liu, Phil Dennis-Jordan

On Tue, Apr 29, 2025 at 02:17:01PM +0200, Magnus Kulke wrote:
> On Tue, Apr 29, 2025 at 12:02:48PM +0200, Paolo Bonzini wrote:
> > Il mar 29 apr 2025, 11:33 Magnus Kulke <magnuskulke@linux.microsoft.com> ha
> > scritto:
> > 
> > > Fixes: c901905ea670 ("target/i386/emulate: remove flags_mask")
> > >
> > > In c901905ea670 rflags have been removed from `x86_decode`, but there
> > > were some leftovers.
> > >
> > > Signed-off-by: Magnus Kulke <magnuskulke@linux.microsoft.com>
> > >
> > 
> > Thanks, I will queue thos; I have some more emulator patches but no way to
> > test that, could you please help?
> > 
> > Paolo
> > 
> 
> Yes, I'm using the generalized emulator in the context of adding the MSHV
> accelerator. (I'll probably get around sending an RFC patchset this week for
> it). There were minor compilation issues w/ the emulator code, that I had to
> fix to make it compile on Linux. However I don't have access to an x86_64
> Mac for development either, so I can't test a HVF build.
> 

I still have my loaner Macbook for a few more days. If I have not
returned it when Paolo posts his patches I can build test HVF.

Thanks,
Wei.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v3] target/i386/emulate: remove rflags leftovers
  2025-05-02 17:04     ` Wei Liu
@ 2025-05-02 22:48       ` Paolo Bonzini
  0 siblings, 0 replies; 7+ messages in thread
From: Paolo Bonzini @ 2025-05-02 22:48 UTC (permalink / raw)
  To: Wei Liu
  Cc: Magnus Kulke, qemu-devel, Roman Bolshakov, Cameron Esfahani,
	Phil Dennis-Jordan

On Fri, May 2, 2025 at 7:04 PM Wei Liu <wei.liu@kernel.org> wrote:
> I still have my loaner Macbook for a few more days. If I have not
> returned it when Paolo posts his patches I can build test HVF.

I have posted them now
(https://lore.kernel.org/qemu-devel/20250502214841.242584-1-pbonzini@redhat.com/).
They apply on top of tags/for-upstream from
https://gitlab.com/bonzini/qemu.git, which includes the other pending
bugfixes and has already passed CI.

Paolo



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-02 22:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-29  9:33 [PATCH v3] target/i386/emulate: remove rflags leftovers Magnus Kulke
2025-04-29 10:02 ` Paolo Bonzini
2025-04-29 12:17   ` Magnus Kulke
2025-04-29 12:27     ` Paolo Bonzini
2025-04-29 12:49       ` Magnus Kulke
2025-05-02 17:04     ` Wei Liu
2025-05-02 22:48       ` Paolo Bonzini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).