Displaying 7 results from an estimated 7 matches for "modrm_reg".
2007 Dec 19
3
x86_emulate(): forgot to generate_exception_if() for 0xff?
Hi all,
In arch/x86/x86_emulate.c: x86_emulate():
1716 case 0xfe: /* Grp4 */
1717 generate_exception_if((m odrm_reg & 7) >= 2, EXC_UD);
1718 case 0xff: /* Grp5 */
1719 switch ( modrm_reg & 7 )
1720 {
1721 case 0: /* inc */
1722 emulate_1op("inc", dst, _regs.eflags);
1723 break;
1724 case 1: /* dec */
1725 emulate_1op("dec", dst, _regs.eflags);
1726 break;
Here we on...
2008 Apr 21
1
[PATCH] x86-64: emulation support for cmpxchg16b
...:48:15.000000000 +0200
@@ -3346,60 +3346,64 @@ x86_emulate(
src.val = x86_seg_gs;
goto pop_seg;
- case 0xc7: /* Grp9 (cmpxchg8b) */
-#if defined(__i386__)
- {
- unsigned long old_lo, old_hi;
+ case 0xc7: /* Grp9 (cmpxchg{8,16}b) */
generate_exception_if((modrm_reg & 7) != 1, EXC_UD, -1);
generate_exception_if(ea.type != OP_MEM, EXC_UD, -1);
- if ( (rc = ops->read(ea.mem.seg, ea.mem.off+0, &old_lo, 4, ctxt)) ||
- (rc = ops->read(ea.mem.seg, ea.mem.off+4, &old_hi, 4, ctxt)) )
- goto done;
- if ( (...
2011 Nov 30
0
[PATCH 4/4] x86/emulator: cleanup
...p_prefix ) \
+ if ( rep_prefix() ) \
__put_rep_prefix(&_regs, ctxt->regs, ad_bytes, reps_completed); \
})
@@ -1328,9 +1332,7 @@ x86_emulate(
uint8_t modrm = 0, modrm_mod = 0, modrm_reg = 0, modrm_rm = 0;
union vex vex = {};
unsigned int op_bytes, def_op_bytes, ad_bytes, def_ad_bytes;
-#define REPE_PREFIX 1
-#define REPNE_PREFIX 2
- unsigned int lock_prefix = 0, rep_prefix = 0;
+ bool_t lock_prefix = 0;
int override_seg = -1, rc = X86EMUL_OKAY;
struct op...
2012 Oct 02
18
[PATCH 0/3] x86: adjust entry frame generation
This set of patches converts the way frames gets created from
using PUSHes/POPs to using MOVes, thus allowing (in certain
cases) to avoid saving/restoring part of the register set.
While the place where the (small) win from this comes from varies
between CPUs, the net effect is a 1 to 2% reduction on a
combined interruption entry and exit when the full state save
can be avoided.
1: use MOV
2012 Aug 10
18
[PATCH v2 0/5] ARM hypercall ABI: 64 bit ready
Hi all,
this patch series makes the necessary changes to make sure that the
current ARM hypercall ABI can be used as-is on 64 bit ARM platforms:
- it defines xen_ulong_t as uint64_t on ARM;
- it introduces a new macro to handle guest pointers, called
XEN_GUEST_HANDLE_PARAM (that has size 4 bytes on aarch and is going to
have size 8 bytes on aarch64);
- it replaces all the occurrences of
2012 Aug 16
27
[PATCH v3 0/6] ARM hypercall ABI: 64 bit ready
Hi all,
this patch series makes the necessary changes to make sure that the
current ARM hypercall ABI can be used as-is on 64 bit ARM platforms:
- it defines xen_ulong_t as uint64_t on ARM;
- it introduces a new macro to handle guest pointers, called
XEN_GUEST_HANDLE_PARAM (that has size 4 bytes on aarch and is going to
have size 8 bytes on aarch64);
- it replaces all the occurrences of
2013 Sep 23
57
[PATCH RFC v13 00/20] Introduce PVH domU support
This patch series is a reworking of a series developed by Mukesh
Rathor at Oracle. The entirety of the design and development was done
by him; I have only reworked, reorganized, and simplified things in a
way that I think makes more sense. The vast majority of the credit
for this effort therefore goes to him. This version is labelled v13
because it is based on his most recent series, v11.