aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/hvm/vioapic.c
diff options
context:
space:
mode:
authorTim Deegan <Tim.Deegan@xensource.com>2007-01-18 16:48:10 +0000
committerTim Deegan <Tim.Deegan@xensource.com>2007-01-18 16:48:10 +0000
commit7b56849fa7b8624a6c762a49153912c34a0a95e4 (patch)
tree762aa22d4d953f7bf716ef67df3547b4914a9e54 /xen/arch/x86/hvm/vioapic.c
parent42b9c7a19f579747a696a493199445a95dda60ac (diff)
downloadxen-7b56849fa7b8624a6c762a49153912c34a0a95e4.tar.gz
xen-7b56849fa7b8624a6c762a49153912c34a0a95e4.tar.bz2
xen-7b56849fa7b8624a6c762a49153912c34a0a95e4.zip
[HVM] Save/Restore: Various structures have changed
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Diffstat (limited to 'xen/arch/x86/hvm/vioapic.c')
-rw-r--r--xen/arch/x86/hvm/vioapic.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 6a45704d9f..7e23726b29 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -499,7 +499,9 @@ static void hvmirq_info(struct hvm_irq *hvm_irq)
for (i = 0; i < BITS_TO_LONGS(1); i++)
printk("hvmirq callback_irq_wire[%d]:0x%lx.\n", i, hvm_irq->callback_irq_wire[i]);
- printk("hvmirq callback_gsi:0x%x.\n", hvm_irq->callback_gsi);
+ printk("hvmirq callback_via_type:0x%x.\n", hvm_irq->callback_via_type);
+ printk("hvmirq callback_via:0x%x.\n", hvm_irq->callback_via.gsi);
+
for (i = 0; i < 4; i++)
printk("hvmirq pci_link_route[%d]:0x%"PRIx8".\n", i, hvm_irq->pci_link_route[i]);
@@ -507,7 +509,7 @@ static void hvmirq_info(struct hvm_irq *hvm_irq)
for (i = 0; i < 4; i++)
printk("hvmirq pci_link_assert_count[%d]:0x%"PRIx8".\n", i, hvm_irq->pci_link_assert_count[i]);
- for (i = 0; i < 4; i++)
+ for (i = 0; i < VIOAPIC_NUM_PINS; i++)
printk("hvmirq gsi_assert_count[%d]:0x%"PRIx8".\n", i, hvm_irq->gsi_assert_count[i]);
printk("hvmirq round_robin_prev_vcpu:0x%"PRIx8".\n", hvm_irq->round_robin_prev_vcpu);
@@ -542,8 +544,9 @@ static void ioapic_save(hvm_domain_context_t *h, void *opaque)
/* save hvm irq state */
hvm_put_buffer(h, (char*)hvm_irq->pci_intx, 16);
hvm_put_buffer(h, (char*)hvm_irq->isa_irq, 2);
- hvm_put_buffer(h, (char*)hvm_irq->callback_irq_wire, 1);
- hvm_put_32u(h, hvm_irq->callback_gsi);
+ hvm_put_32u(h, hvm_irq->callback_via_asserted);
+ hvm_put_32u(h, hvm_irq->callback_via_type);
+ hvm_put_32u(h, hvm_irq->callback_via.gsi);
for (i = 0; i < 4; i++)
hvm_put_8u(h, hvm_irq->pci_link_route[i]);
@@ -579,8 +582,9 @@ static int ioapic_load(hvm_domain_context_t *h, void *opaque, int version_id)
/* restore irq state */
hvm_get_buffer(h, (char*)hvm_irq->pci_intx, 16);
hvm_get_buffer(h, (char*)hvm_irq->isa_irq, 2);
- hvm_get_buffer(h, (char*)hvm_irq->callback_irq_wire, 1);
- hvm_irq->callback_gsi = hvm_get_32u(h);
+ hvm_irq->callback_via_asserted = hvm_get_32u(h);
+ hvm_irq->callback_via_type = hvm_get_32u(h);
+ hvm_irq->callback_via.gsi = hvm_get_32u(h);
for (i = 0; i < 4; i++)
hvm_irq->pci_link_route[i] = hvm_get_8u(h);