[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [rfc 7/8] qemu-xen: pass-through: multi-function PCI in ACPI: rename slot to devfn
This is a companion to the previous patch "qemu-xen: pass-through: multi-function PCI in ACPI". It does not make any functional changes, rather it just renames slot to devfn as appropriate. Cc: Dexuan Cui <dexuan.cui@xxxxxxxxx> Cc: Masaki Kanno <kanno.masaki@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Index: ioemu-remote/hw/piix4acpi.c =================================================================== --- ioemu-remote.orig/hw/piix4acpi.c 2009-06-15 11:25:56.000000000 +1000 +++ ioemu-remote/hw/piix4acpi.c 2009-06-15 11:25:57.000000000 +1000 @@ -77,21 +77,21 @@ typedef struct GPEState { static GPEState gpe_state; -typedef struct PHPSlots { +typedef struct PHPDevFn { uint8_t status[NR_PHP_SLOT_REG]; /* Apaptor n stats | Adaptor n+1 status */ uint8_t plug_evt; /* PHP_EVT_ADD or PHP_EVT_REMOVE * PSTA in ASL */ - uint8_t plug_slot; /* Slot number + uint8_t plug_devfn; /* DevFn number * PSTB in ASL */ -} PHPSlots; +} PHPDevFn; -static PHPSlots php_slots; +static PHPDevFn php_devfn; int s3_shutdown_flag; static qemu_irq sci_irq; -static void php_reg_set(PHPSlots *hotplug_slots, int devfn, uint8_t val) +static void php_reg_set(PHPDevFn *hotplug_devfn, int devfn, uint8_t val) { - uint8_t *reg = &(hotplug_slots->status[DEVFN_TO_PHP_SLOT_REG(devfn)]); + uint8_t *reg = &(hotplug_devfn->status[DEVFN_TO_PHP_SLOT_REG(devfn)]); /* Value may only use a nibble */ val &= 0xf; @@ -103,9 +103,9 @@ static void php_reg_set(PHPSlots *hotplu } -static uint8_t php_reg_get(PHPSlots *hotplug_slots, int devfn) +static uint8_t php_reg_get(PHPDevFn *hotplug_devfn, int devfn) { - uint8_t reg = hotplug_slots->status[DEVFN_TO_PHP_SLOT_REG(devfn)]; + uint8_t reg = hotplug_devfn->status[DEVFN_TO_PHP_SLOT_REG(devfn)]; uint8_t val; if (devfn & 0x1) @@ -254,28 +254,28 @@ static void acpi_dbg_writel(void *opaque * simple PCI hotplug controller IO * ACPI_PHP_IO_ADDR + : * 0 - the hotplug event - * 1 - the slot that has a hotplug event - * 2 - 1st php slot ctr/sts reg|2nd php slot ctr/sts reg - * 3 - 3rd php slot ctr/sts reg|4th php slot ctr/sts reg + * 1 - the devfn that has a hotplug event + * 2 - 1st php devfn ctr/sts reg|2nd php devfn ctr/sts reg + * 3 - 3rd php devfn ctr/sts reg|4th php devfn ctr/sts reg * ... */ static uint32_t acpi_php_readb(void *opaque, uint32_t addr) { - PHPSlots *hotplug_slots = opaque; + PHPDevFn *hotplug_devfn = opaque; int num; uint32_t val; switch (addr) { case ACPI_PHP_IO_ADDR: - val = hotplug_slots->plug_evt; + val = hotplug_devfn->plug_evt; break; case ACPI_PHP_IO_ADDR + 1: - val = hotplug_slots->plug_slot; + val = hotplug_devfn->plug_devfn; break; default: num = addr - ACPI_PHP_IO_ADDR - 2; - val = hotplug_slots->status[num]; + val = hotplug_devfn->status[num]; } fprintf(logfile, "ACPI PCI hotplug: read addr=0x%x, val=0x%02x.\n", @@ -286,7 +286,7 @@ static uint32_t acpi_php_readb(void *opa static void acpi_php_writeb(void *opaque, uint32_t addr, uint32_t val) { - PHPSlots *hotplug_slots = opaque; + PHPDevFn *hotplug_devfn = opaque; int devfn, num, func, i; fprintf(logfile, "ACPI PCI hotplug: write addr=0x%x, val=0x%02x.\n", @@ -308,25 +308,25 @@ static void acpi_php_writeb(void *opaque fprintf(logfile, "ACPI PCI hotplug: write devfn=0x%02x.\n", devfn); - if (hotplug_slots->plug_evt != PHP_EVT_REMOVE || - hotplug_slots->plug_slot != devfn ) + if (hotplug_devfn->plug_evt != PHP_EVT_REMOVE || + hotplug_devfn->plug_devfn!= devfn ) { fprintf(logfile, "ACPI PCI hotplug: not expecting " "devfn 0x%02x to be removed. Expected event 0x%x " "for devfn 0x%02x\n", devfn, - hotplug_slots->plug_evt, hotplug_slots->plug_slot); + hotplug_devfn->plug_evt, hotplug_devfn->plug_devfn); return; } /* clear the hotplug event */ - hotplug_slots->plug_evt = 0; + hotplug_devfn->plug_evt = 0; for ( func = NR_PCI_FUNC - 1; func >= 0; func-- ) { i = PCI_DEVFN(PCI_SLOT(devfn), func); - /* make _STA of the slot 0 */ - php_reg_set(hotplug_slots, i, 0); + /* make _STA of the devfn 0 */ + php_reg_set(hotplug_devfn, i, 0); /* power off the slot */ power_off_php_devfn(i); @@ -338,49 +338,49 @@ static void acpi_php_writeb(void *opaque } } -static void pcislots_save(QEMUFile* f, void* opaque) +static void pci_devfn_save(QEMUFile* f, void* opaque) { - PHPSlots *hotplug_slots = opaque; + PHPDevFn *hotplug_devfn = opaque; int i; for ( i = 0; i < NR_PHP_SLOT_REG; i++ ) { - qemu_put_8s( f, &hotplug_slots->status[i]); + qemu_put_8s( f, &hotplug_devfn->status[i]); } - qemu_put_8s(f, &hotplug_slots->plug_evt); - qemu_put_8s(f, &hotplug_slots->plug_slot); + qemu_put_8s(f, &hotplug_devfn->plug_evt); + qemu_put_8s(f, &hotplug_devfn->plug_devfn); } -static int pcislots_load(QEMUFile* f, void* opaque, int version_id) +static int pci_devfn_load(QEMUFile* f, void* opaque, int version_id) { - PHPSlots *hotplug_slots = opaque; + PHPDevFn *hotplug_devfn = opaque; int i; if (version_id != 1) return -EINVAL; for ( i = 0; i < NR_PHP_SLOT_REG; i++ ) { - qemu_get_8s( f, &hotplug_slots->status[i]); + qemu_get_8s( f, &hotplug_devfn->status[i]); } - qemu_get_8s(f, &hotplug_slots->plug_evt); - qemu_get_8s(f, &hotplug_slots->plug_slot); + qemu_get_8s(f, &hotplug_devfn->plug_evt); + qemu_get_8s(f, &hotplug_devfn->plug_devfn); return 0; } -static void php_slots_init(void) +static void php_devfn_init(void) { int i; - memset(&php_slots, 0, sizeof(PHPSlots)); + memset(&php_devfn, 0, sizeof(PHPDevFn)); - /* update the pci slot status */ + /* update the pci devfn status */ for ( i = 0; i < NR_PCI_DEVFN; i++ ) { if ( test_pci_devfn(i) ) - php_reg_set(&php_slots, i, 0xf); + php_reg_set(&php_devfn, i, 0xf); } /* ACPI PCI hotplug controller */ register_ioport_read(ACPI_PHP_IO_ADDR, NR_PHP_SLOT_REG + 2, 1, - acpi_php_readb, &php_slots); + acpi_php_readb, &php_devfn); register_ioport_write(ACPI_PHP_IO_ADDR, NR_PHP_SLOT_REG + 2, 1, - acpi_php_writeb, &php_slots); - register_savevm("pcislots", 0, 1, pcislots_save, pcislots_load, - &php_slots); + acpi_php_writeb, &php_devfn); + register_savevm("pci_devfn", 0, 1, pci_devfn_save, pci_devfn_load, + &php_devfn); } /* GPEx_STS occupy 1st half of the block, while GPEx_EN 2nd half */ @@ -540,8 +540,8 @@ void acpi_php_del(int devfn) } /* update the php controller status */ - php_slots.plug_evt = PHP_EVT_REMOVE; - php_slots.plug_slot = devfn; + php_devfn.plug_evt = PHP_EVT_REMOVE; + php_devfn.plug_devfn = devfn; /* generate a SCI interrupt */ acpi_sci_intr(s); @@ -581,17 +581,17 @@ void acpi_php_add(int devfn) if ( !func ) { /* update the php controller status */ - php_slots.plug_evt = PHP_EVT_ADD; - php_slots.plug_slot = devfn; + php_devfn.plug_evt = PHP_EVT_ADD; + php_devfn.plug_devfn = devfn; } - /* update the slot status as present */ - php_reg_set(&php_slots, devfn, 0xf); + /* update the devfn status as present */ + php_reg_set(&php_devfn, devfn, 0xf); /* power on the function */ power_on_php_devfn(devfn); - /* tell Control panel which slot for the new pass-throgh dev */ + /* tell Control panel which devfn for the new pass-throgh dev */ sprintf(ret_str, "0x%02x", devfn); xenstore_record_dm("parameter", ret_str); @@ -651,7 +651,7 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int #ifdef CONFIG_PASSTHROUGH gpe_acpi_init(); - php_slots_init(); + php_devfn_init(); register_ioport_write(ACPI_DBG_IO_ADDR, 4, 4, acpi_dbg_writel, d); #endif @@ -661,7 +661,7 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int } void qemu_system_hot_add_init() { } -void qemu_system_device_hot_add(int bus, int slot, int state) { +void qemu_system_device_hot_add(int bus, int devfn, int state) { fputs("qemu-upstream PCI hotplug not supported in qemu-dm\n",stderr); exit(-1); } -- _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |