diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-02-22 10:52:27 +0000 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-02-22 10:52:27 +0000 |
commit | bfe958468352a53505c0445fbd16a61103a1319e (patch) | |
tree | b048a0fdf62e5ecb9a67b8530f5454feff3fa23c /xen/include/asm-x86 | |
parent | 7ef12531b88315fc53883c62c501931505b44a32 (diff) | |
download | xen-bfe958468352a53505c0445fbd16a61103a1319e.tar.gz xen-bfe958468352a53505c0445fbd16a61103a1319e.tar.bz2 xen-bfe958468352a53505c0445fbd16a61103a1319e.zip |
x86 hvm: More emulation simplifications.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/include/asm-x86')
-rw-r--r-- | xen/include/asm-x86/hvm/io.h | 56 | ||||
-rw-r--r-- | xen/include/asm-x86/hvm/vcpu.h | 5 |
2 files changed, 0 insertions, 61 deletions
diff --git a/xen/include/asm-x86/hvm/io.h b/xen/include/asm-x86/hvm/io.h index 863f460e23..8164742e01 100644 --- a/xen/include/asm-x86/hvm/io.h +++ b/xen/include/asm-x86/hvm/io.h @@ -25,61 +25,6 @@ #include <public/hvm/ioreq.h> #include <public/event_channel.h> -#define operand_size(operand) \ - ((operand >> 24) & 0xFF) - -#define operand_index(operand) \ - ((operand >> 16) & 0xFF) - -/* for instruction.operand[].size */ -#define BYTE 1 -#define WORD 2 -#define LONG 4 -#define QUAD 8 -#define BYTE_64 16 - -/* for instruction.operand[].flag */ -#define REGISTER 0x1 -#define MEMORY 0x2 -#define IMMEDIATE 0x4 - -/* for instruction.flags */ -#define REPZ 0x1 -#define REPNZ 0x2 -#define OVERLAP 0x4 - -/* instruction type */ -#define INSTR_PIO 1 -#define INSTR_OR 2 -#define INSTR_AND 3 -#define INSTR_XOR 4 -#define INSTR_CMP 5 -#define INSTR_MOV 6 -#define INSTR_MOVS 7 -#define INSTR_MOVZX 8 -#define INSTR_MOVSX 9 -#define INSTR_STOS 10 -#define INSTR_LODS 11 -#define INSTR_TEST 12 -#define INSTR_BT 13 -#define INSTR_XCHG 14 -#define INSTR_SUB 15 -#define INSTR_ADD 16 -#define INSTR_PUSH 17 - -#define MAX_INST_LEN 15 /* Maximum instruction length = 15 bytes */ - -struct hvm_io_op { - unsigned int instr; /* instruction */ - unsigned int flags; - unsigned long addr; /* virt addr for overlap PIO/MMIO */ - struct { - unsigned int operand[2]; /* operands */ - unsigned long immediate; /* immediate portion */ - }; - struct cpu_user_regs io_context; /* current context */ -}; - #define MAX_IO_HANDLER 12 #define HVM_PORTIO 0 @@ -119,7 +64,6 @@ struct hvm_mmio_handler { hvm_mmio_write_t write_handler; }; -/* global io interception point in HV */ int hvm_io_intercept(ioreq_t *p, int type); int register_io_handler( struct domain *d, unsigned long addr, unsigned long size, diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h index 003b7f84b4..7439434b85 100644 --- a/xen/include/asm-x86/hvm/vcpu.h +++ b/xen/include/asm-x86/hvm/vcpu.h @@ -42,7 +42,6 @@ struct hvm_vcpu { */ unsigned long hw_cr[5]; - struct hvm_io_op io_op; struct vlapic vlapic; s64 cache_tsc_offset; u64 guest_time; @@ -77,9 +76,5 @@ struct hvm_vcpu { unsigned long io_data; }; -#define ARCH_HVM_IO_WAIT 1 /* Waiting for I/O completion */ - -#define HVM_CONTEXT_STACK_BYTES (offsetof(struct cpu_user_regs, ss)) - #endif /* __ASM_X86_HVM_VCPU_H__ */ |