debuggers.hg
changeset 22828:fe8a177ae9cb
x86_emulate: set the operand size for SMSW/reg writeback.
Otherwise it defaults to 0 bytes.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Otherwise it defaults to 0 bytes.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Signed-off-by: Keir Fraser <keir@xen.org>
author | Keir Fraser <keir@xen.org> |
---|---|
date | Wed Jan 19 15:29:04 2011 +0000 (2011-01-19) |
parents | 3decd02e0b18 |
children | 051a1b1b8f8a |
files | xen/arch/x86/x86_emulate/x86_emulate.c |
line diff
1.1 --- a/xen/arch/x86/x86_emulate/x86_emulate.c Mon Jan 17 14:29:01 2011 +0000 1.2 +++ b/xen/arch/x86/x86_emulate/x86_emulate.c Wed Jan 19 15:29:04 2011 +0000 1.3 @@ -3555,8 +3555,7 @@ x86_emulate( 1.4 goto done; 1.5 break; 1.6 case 4: /* smsw */ 1.7 - if ( ea.type == OP_MEM ) 1.8 - ea.bytes = 2; 1.9 + ea.bytes = (ea.type == OP_MEM) ? 2 : op_bytes; 1.10 dst = ea; 1.11 fail_if(ops->read_cr == NULL); 1.12 if ( (rc = ops->read_cr(0, &dst.val, ctxt)) )