This is a refresh of the patch set I posted back in December. Patch 3 is new, removing the tangle of decoding that was required to implement patch 4.
Patch 16 is new, adding support for the FSGSBASE extension. r~ Richard Henderson (16): target-i386: Split fxsave/fxrstor implementation target-i386: Rearrange processing of 0F 01 target-i386: Rearrange processing of 0F AE target-i386: Add XSAVE extension target-i386: Implement XSAVEOPT target-i386: Enable control registers for MPX target-i386: Perform set/reset_inhibit_irq inline target-i386: Split up gen_lea_modrm target-i386: Implement BNDMK target-i386: Implement BNDMOV target-i386: Implement BNDCL, BNDCU, BNDCN target-i386: Update BNDSTATUS for exceptions raised by BOUND target-i386: Implement BNDLDX, BNDSTX target-i386: Clear bndregs during legacy near jumps target-i386: Enable CR4/XCR0 features for user-mode target-i386: Implement FSGSBASE target-i386/Makefile.objs | 2 +- target-i386/cc_helper.c | 10 - target-i386/cpu.c | 91 ++-- target-i386/cpu.h | 21 +- target-i386/fpu_helper.c | 396 ++++++++++++--- target-i386/helper.c | 14 +- target-i386/helper.h | 19 +- target-i386/int_helper.c | 10 + target-i386/kvm.c | 34 +- target-i386/mem_helper.c | 6 + target-i386/misc_helper.c | 9 + target-i386/mpx_helper.c | 166 +++++++ target-i386/smm_helper.c | 4 + target-i386/translate.c | 1200 ++++++++++++++++++++++++++++++--------------- 14 files changed, 1441 insertions(+), 541 deletions(-) create mode 100644 target-i386/mpx_helper.c -- 2.5.0
