diff options
author | Keir Fraser <keir@xensource.com> | 2007-10-03 16:33:23 +0100 |
---|---|---|
committer | Keir Fraser <keir@xensource.com> | 2007-10-03 16:33:23 +0100 |
commit | 49f9842b3227ade7359735546a32f025e696b085 (patch) | |
tree | 0f717f384c44ee13944e67149b6fe8f6f1149a9e /xen/include/asm-x86/hvm/vioapic.h | |
parent | fe210320d95598b2d990eea420ecc1a5fc315f00 (diff) | |
download | xen-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.h | 14 |
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); |