Lines Matching full:pci
28 /* see docs/specs/pci-serial.rst */
34 #include "hw/pci/pci_device.h"
53 PCIMultiSerialState *pci = DO_UPCAST(PCIMultiSerialState, dev, dev); in multi_serial_pci_exit() local
57 for (i = 0; i < pci->ports; i++) { in multi_serial_pci_exit()
58 s = pci->state + i; in multi_serial_pci_exit()
60 memory_region_del_subregion(&pci->iobar, &s->io); in multi_serial_pci_exit()
61 g_free(pci->name[i]); in multi_serial_pci_exit()
67 PCIMultiSerialState *pci = opaque; in multi_serial_irq_mux() local
70 pci->level[n] = level; in multi_serial_irq_mux()
71 for (i = 0; i < pci->ports; i++) { in multi_serial_irq_mux()
72 if (pci->level[i]) { in multi_serial_irq_mux()
76 pci_set_irq(&pci->dev, pending); in multi_serial_irq_mux()
95 PCIMultiSerialState *pci = DO_UPCAST(PCIMultiSerialState, dev, dev); in multi_serial_pci_realize() local
99 pci->dev.config[PCI_CLASS_PROG] = 2; /* 16550 compatible */ in multi_serial_pci_realize()
100 pci->dev.config[PCI_INTERRUPT_PIN] = 1; in multi_serial_pci_realize()
101 memory_region_init(&pci->iobar, OBJECT(pci), "multiserial", 8 * nports); in multi_serial_pci_realize()
102 pci_register_bar(&pci->dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->iobar); in multi_serial_pci_realize()
105 s = pci->state + i; in multi_serial_pci_realize()
110 s->irq = &pci->irqs[i]; in multi_serial_pci_realize()
111 pci->name[i] = g_strdup_printf("uart #%zu", i + 1); in multi_serial_pci_realize()
112 memory_region_init_io(&s->io, OBJECT(pci), &serial_io_ops, s, in multi_serial_pci_realize()
113 pci->name[i], 8); in multi_serial_pci_realize()
114 memory_region_add_subregion(&pci->iobar, 8 * i, &s->io); in multi_serial_pci_realize()
115 pci->ports++; in multi_serial_pci_realize()
120 .name = "pci-serial-multi",
189 .name = "pci-serial-2x",
201 .name = "pci-serial-4x",