lkml.org 
[lkml]   [2007]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 095/104] KVM: x86 emulator: pushf
    Date
    From: Nitin A Kamble <nitin.a.kamble@intel.com>

    Implement emulation of instruction
    pushf
    opcode: 0x9c

    Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    drivers/kvm/x86_emulate.c | 11 +++++++++--
    1 files changed, 9 insertions(+), 2 deletions(-)

    diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
    index 9f1772f..18c2b2c 100644
    --- a/drivers/kvm/x86_emulate.c
    +++ b/drivers/kvm/x86_emulate.c
    @@ -123,7 +123,7 @@ static u8 opcode_table[256] = {
    ByteOp | DstReg | SrcMem | ModRM | Mov, DstReg | SrcMem | ModRM | Mov,
    0, 0, 0, DstMem | SrcNone | ModRM | Mov,
    /* 0x90 - 0x9F */
    - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ImplicitOps, 0, 0, 0,
    /* 0xA0 - 0xA7 */
    ByteOp | DstReg | SrcMem | Mov, DstReg | SrcMem | Mov,
    ByteOp | DstMem | SrcReg | Mov, DstMem | SrcReg | Mov,
    @@ -928,7 +928,8 @@ push:
    dst.bytes = op_bytes;
    dst.val = src.val;
    register_address_increment(_regs[VCPU_REGS_RSP], -op_bytes);
    - dst.ptr = register_address(ctxt->ss_base, _regs[VCPU_REGS_RSP]);
    + dst.ptr = (void *) register_address(ctxt->ss_base,
    + _regs[VCPU_REGS_RSP]);
    break;
    case 0x80 ... 0x83: /* Grp1 */
    switch (modrm_reg) {
    @@ -1216,6 +1217,12 @@ special_insn:
    ) == 0)
    return -1;
    return 0;
    +
    + case 0x9c: /* pushf */
    + src.val = (unsigned long) _eflags;
    + goto push;
    + break;
    +
    }
    if (rep_prefix) {
    if (_regs[VCPU_REGS_RCX] == 0) {
    --
    1.5.3
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-09-17 10:57    [W:0.022 / U:61.148 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site