X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fi440fx.c;h=618a8ca6df22487f21efdfb39fafd7b0896cba34;hb=72b46c150b774d64c5e971ac4575c86142c5a509;hp=6d0740a0070ce1c12a5b7dac2d47efb222d3eef4;hpb=33717ee76445b728dfa74df98863f14118c8d41d;p=palacios.git diff --git a/palacios/src/devices/i440fx.c b/palacios/src/devices/i440fx.c index 6d0740a..618a8ca 100644 --- a/palacios/src/devices/i440fx.c +++ b/palacios/src/devices/i440fx.c @@ -21,17 +21,20 @@ #include #include + +// We Have to setup some sort of PIC interrupt mapping here.... + struct i440_state { struct vm_device * pci; }; -static int io_read(ushort_t port, void * dst, uint_t length, struct vm_device * dev) { +static int io_read(struct guest_info * core, ushort_t port, void * dst, uint_t length, struct vm_device * dev) { PrintError("Unhandled read on port %x\n", port); return -1; } -static int io_write(ushort_t port, void * src, uint_t length, struct vm_device * dev) { +static int io_write(struct guest_info * core, ushort_t port, void * src, uint_t length, struct vm_device * dev) { PrintError("Unhandled write on port %x\n", port); return -1; } @@ -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 v3_vm_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; }