aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/hvm/vioapic.h
diff options
context:
space:
mode:
authorKeir Fraser <keir@xensource.com>2007-10-03 16:33:23 +0100
committerKeir Fraser <keir@xensource.com>2007-10-03 16:33:23 +0100
commit49f9842b3227ade7359735546a32f025e696b085 (patch)
tree0f717f384c44ee13944e67149b6fe8f6f1149a9e /xen/include/asm-x86/hvm/vioapic.h
parentfe210320d95598b2d990eea420ecc1a5fc315f00 (diff)
downloadxen-49f9842b3227ade7359735546a32f025e696b085.tar.gz
xen-49f9842b3227ade7359735546a32f025e696b085.tar.bz2
xen-49f9842b3227ade7359735546a32f025e696b085.zip
hvm: More changes to reduce size of domain structure.
It is now smaller than a page (4kB) on x86/32 and x86/64. Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/hvm/vioapic.h')
-rw-r--r--xen/include/asm-x86/hvm/vioapic.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/xen/include/asm-x86/hvm/vioapic.h b/xen/include/asm-x86/hvm/vioapic.h
index 701bbdf36b..69ed31cdf7 100644
--- a/xen/include/asm-x86/hvm/vioapic.h
+++ b/xen/include/asm-x86/hvm/vioapic.h
@@ -52,11 +52,17 @@
#define VIOAPIC_REG_VERSION 0x01
#define VIOAPIC_REG_ARB_ID 0x02 /* x86 IOAPIC only */
-#define domain_vioapic(d) (&(d)->arch.hvm_domain.vioapic)
-#define vioapic_domain(v) (container_of((v), struct domain, \
- arch.hvm_domain.vioapic))
+struct hvm_vioapic {
+ struct hvm_hw_vioapic hvm_hw_vioapic;
+ struct domain *domain;
+};
-void vioapic_init(struct domain *d);
+#define domain_vioapic(d) (&(d)->arch.hvm_domain.vioapic->hvm_hw_vioapic)
+#define vioapic_domain(v) (container_of((v), struct hvm_vioapic, \
+ hvm_hw_vioapic)->domain)
+
+int vioapic_init(struct domain *d);
+void vioapic_deinit(struct domain *d);
void vioapic_irq_positive_edge(struct domain *d, unsigned int irq);
void vioapic_update_EOI(struct domain *d, int vector);