diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-05-20 14:17:15 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-05-20 14:17:15 +0100 |
commit | 509529e99148111a429d9ec39d524e462b80332a (patch) | |
tree | 3296cf1ed09add9ff8031cd7a4c52b5a855936ff /xen/arch/x86/hvm/vpic.c | |
parent | cc62c82dd2086625d42e0cacd2901ab686b23922 (diff) | |
download | xen-509529e99148111a429d9ec39d524e462b80332a.tar.gz xen-509529e99148111a429d9ec39d524e462b80332a.tar.bz2 xen-509529e99148111a429d9ec39d524e462b80332a.zip |
x86 hvm: Xen interface and implementation for virtual S3
Signed-off-by: Tian Kevin <kevin.tian@intel.com>
Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Ke Liping <liping.ke@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/hvm/vpic.c')
-rw-r--r-- | xen/arch/x86/hvm/vpic.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/xen/arch/x86/hvm/vpic.c b/xen/arch/x86/hvm/vpic.c index a3d6f2d9ca..30486ce935 100644 --- a/xen/arch/x86/hvm/vpic.c +++ b/xen/arch/x86/hvm/vpic.c @@ -395,7 +395,7 @@ static int vpic_load(struct domain *d, hvm_domain_context_t *h) HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, vpic_load, 2, HVMSR_PER_DOM); -void vpic_init(struct domain *d) +void vpic_reset(struct domain *d) { struct hvm_hw_vpic *vpic; @@ -404,13 +404,20 @@ void vpic_init(struct domain *d) memset(vpic, 0, sizeof(*vpic)); vpic->is_master = 1; vpic->elcr = 1 << 2; - register_portio_handler(d, 0x20, 2, vpic_intercept_pic_io); - register_portio_handler(d, 0x4d0, 1, vpic_intercept_elcr_io); /* Slave PIC. */ vpic++; memset(vpic, 0, sizeof(*vpic)); +} + +void vpic_init(struct domain *d) +{ + vpic_reset(d); + + register_portio_handler(d, 0x20, 2, vpic_intercept_pic_io); register_portio_handler(d, 0xa0, 2, vpic_intercept_pic_io); + + register_portio_handler(d, 0x4d0, 1, vpic_intercept_elcr_io); register_portio_handler(d, 0x4d1, 1, vpic_intercept_elcr_io); } |