[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 5/9] x86emul: re-use new stub_exn field in state structure
This can now also be used to reduce the number of parameters x86emul_fpu() needs to take. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- We could of course set the struct field once early in x86_emulate(), but for now I think we're better off leaving it as NULL where not actually needed. --- a/xen/arch/x86/x86_emulate/fpu.c +++ b/xen/arch/x86/x86_emulate/fpu.c @@ -90,9 +90,8 @@ int x86emul_fpu(struct x86_emulate_state unsigned int *insn_bytes, enum x86_emulate_fpu_type *fpu_type, #define fpu_type (*fpu_type) /* for get_fpu() */ - struct stub_exn *stub_exn, -#define stub_exn (*stub_exn) /* for invoke_stub() */ mmval_t *mmvalp) +#define stub_exn (*s->stub_exn) /* for invoke_stub() */ { uint8_t b; int rc; --- a/xen/arch/x86/x86_emulate/private.h +++ b/xen/arch/x86/x86_emulate/private.h @@ -764,7 +764,6 @@ int x86emul_fpu(struct x86_emulate_state const struct x86_emulate_ops *ops, unsigned int *insn_bytes, enum x86_emulate_fpu_type *fpu_type, - struct stub_exn *stub_exn, mmval_t *mmvalp); int x86emul_0f01(struct x86_emulate_state *s, struct cpu_user_regs *regs, --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -2058,8 +2058,9 @@ x86_emulate( #ifndef X86EMUL_NO_FPU case 0x9b: /* wait/fwait */ case 0xd8 ... 0xdf: /* FPU */ + state->stub_exn = &stub_exn; rc = x86emul_fpu(state, &_regs, &dst, &src, ctxt, ops, - &insn_bytes, &fpu_type, &stub_exn, mmvalp); + &insn_bytes, &fpu_type, mmvalp); goto dispatch_from_helper; #endif
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |