[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86/ioemul: Misc improvements to ioport_emulate.c
>>> On 26.01.18 at 15:48, <andrew.cooper3@xxxxxxxxxx> wrote: > Put the opcode into an array and use memcpy. This allows the compiled code to > be written with two movs, rather than 10 mov $imm8's. Also, drop trailing > whitespace in the file. > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> It's a clear improvement, so Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> but ... > @@ -11,32 +11,24 @@ > static bool ioemul_handle_proliant_quirk( > u8 opcode, char *io_emul_stub, struct cpu_user_regs *regs) > { > + static const char stub[] = { > + 0x9c, /* pushf */ > + 0xfa, /* cli */ > + 0xee, /* out %al, %dx */ > + 0xec, /* 1: in %dx, %al */ > + 0xa8, 0x80, /* test $0x80, %al */ > + 0x75, 0xfb, /* jnz 1b */ > + 0x9d, /* popf */ > + 0xc3, /* ret */ > + }; ... could you go even further and avoid this hex encoding of insns altogether, but using a file scope asm(), or a function scope one putting this into e.g. .fixup via .pushsection/.popsection? Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |