aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2007-12-27 12:30:44 +0000
committerKeir Fraser <keir.fraser@citrix.com>2007-12-27 12:30:44 +0000
commite2d6a0473bbffb26177c0d4bb3ddbe6268c3ca70 (patch)
tree58691c9d13d45f9b011fa0ba9a178e428758c3e9
parentfa7a56b7fa6b5c3eab8d08e605937b58e03cd1ac (diff)
downloadxen-e2d6a0473bbffb26177c0d4bb3ddbe6268c3ca70.tar.gz
xen-e2d6a0473bbffb26177c0d4bb3ddbe6268c3ca70.tar.bz2
xen-e2d6a0473bbffb26177c0d4bb3ddbe6268c3ca70.zip
libxc: Fix xc_domain_bind_pt_irq().
Signed-off-by: Guy Zana <guy@neocleus.com>
-rw-r--r--tools/libxc/xc_domain.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/tools/libxc/xc_domain.c b/tools/libxc/xc_domain.c
index e6eac869a8..8be00d1ab6 100644
--- a/tools/libxc/xc_domain.c
+++ b/tools/libxc/xc_domain.c
@@ -786,7 +786,7 @@ int xc_domain_bind_pt_irq(
uint8_t bus,
uint8_t device,
uint8_t intx,
- uint8_t isa_irq)
+ uint8_t isa_irq)
{
int rc;
xen_domctl_bind_pt_irq_t * bind;
@@ -799,10 +799,14 @@ int xc_domain_bind_pt_irq(
bind->hvm_domid = domid;
bind->irq_type = irq_type;
bind->machine_irq = machine_irq;
- bind->u.pci.bus = bus;
- bind->u.pci.device = device;
- bind->u.pci.intx = intx;
- bind->u.isa.isa_irq = isa_irq;
+ if ( irq_type == PT_IRQ_TYPE_PCI )
+ {
+ bind->u.pci.bus = bus;
+ bind->u.pci.device = device;
+ bind->u.pci.intx = intx;
+ }
+ else if ( irq_type == PT_IRQ_TYPE_ISA )
+ bind->u.isa.isa_irq = isa_irq;
rc = do_domctl(xc_handle, &domctl);
return rc;