X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fi440fx.c;h=ee4dc8072fb3bab315637556eb53341fc4bcb6c8;hb=c09d92dc256363c742ca2a4bef685ed79575bf22;hp=6d0740a0070ce1c12a5b7dac2d47efb222d3eef4;hpb=33717ee76445b728dfa74df98863f14118c8d41d;p=palacios.git diff --git a/palacios/src/devices/i440fx.c b/palacios/src/devices/i440fx.c index 6d0740a..ee4dc80 100644 --- a/palacios/src/devices/i440fx.c +++ b/palacios/src/devices/i440fx.c @@ -21,6 +21,9 @@ #include #include + +// We Have to setup some sort of PIC interrupt mapping here.... + struct i440_state { struct vm_device * pci; }; @@ -54,12 +57,13 @@ static struct v3_device_ops dev_ops = { -static int i440_init(struct guest_info * vm, void * cfg_data) { +static int i440_init(struct guest_info * vm, v3_cfg_tree_t * cfg) { struct pci_device * pci_dev = NULL; struct v3_pci_bar bars[6]; int i; struct i440_state * state = NULL; - struct vm_device * pci = v3_find_dev(vm, (char *)cfg_data); + struct vm_device * pci = v3_find_dev(vm, v3_cfg_val(cfg, "bus")); + char * name = v3_cfg_val(cfg, "name"); if (!pci) { PrintError("could not find PCI Device\n"); @@ -70,10 +74,10 @@ static int i440_init(struct guest_info * vm, void * cfg_data) { state->pci = pci; - struct vm_device * dev = v3_allocate_device("i440FX", &dev_ops, state); + struct vm_device * dev = v3_allocate_device(name, &dev_ops, state); if (v3_attach_device(vm, dev) == -1) { - PrintError("Could not attach device %s\n", "i440FX"); + PrintError("Could not attach device %s\n", name); return -1; }