aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/hvm/vcpu.h
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-08-07 17:30:09 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-08-07 17:30:09 +0100
commitb4923c7d99ef7093b8c2ff1e90bea61a92c23288 (patch)
tree2db183627c04aec91853a6f67d165ab1d564f564 /xen/include/asm-x86/hvm/vcpu.h
parentc0efd4c9393885bfa80d1511d152aaed4202c3be (diff)
downloadxen-b4923c7d99ef7093b8c2ff1e90bea61a92c23288.tar.gz
xen-b4923c7d99ef7093b8c2ff1e90bea61a92c23288.tar.bz2
xen-b4923c7d99ef7093b8c2ff1e90bea61a92c23288.zip
hvm: Clean up control-register and EFER handling.
No semantic changes. :-) Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/hvm/vcpu.h')
-rw-r--r--xen/include/asm-x86/hvm/vcpu.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/xen/include/asm-x86/hvm/vcpu.h b/xen/include/asm-x86/hvm/vcpu.h
index a6a762ef36..ff62684a58 100644
--- a/xen/include/asm-x86/hvm/vcpu.h
+++ b/xen/include/asm-x86/hvm/vcpu.h
@@ -29,7 +29,17 @@
#define HVM_VCPU_INIT_SIPI_SIPI_STATE_WAIT_SIPI 1
struct hvm_vcpu {
- unsigned long hw_cr3; /* value we give to HW to use */
+ /* Guest control-register and EFER values, just as the guest sees them. */
+ unsigned long guest_cr[5];
+ unsigned long guest_efer;
+
+ /*
+ * Processor-visible CR0-4 while guest executes.
+ * Only CR3 is guaranteed to be valid: all other array entries are private
+ * to the specific HVM implementation (e.g., VMX, SVM).
+ */
+ unsigned long hw_cr[5];
+
struct hvm_io_op io_op;
struct vlapic vlapic;
s64 cache_tsc_offset;