Home
last modified time | relevance | path

Searched full:pci (Results 1 – 25 of 874) sorted by relevance

12345678910>>...35

/qemu/docs/
H A Dpcie.txt1 PCI EXPRESS GUIDELINES
6 The doc proposes best practices on how to use PCI Express (PCIe) / PCI
7 devices in PCI Express based machines and explains the reasoning behind
17 (2) A comparison between PCI and PCI Express technologies.
26 and allows any PCI/PCI Express device to be plugged into any
27 PCI/PCI Express slot.
28 Plugging a PCI device into a PCI Express slot might not always work and
30 Plugging a PCI Express device into a PCI slot will hide the Extended
33 The recommendation is to separate the PCI Express and PCI hierarchies.
34 PCI Express devices should be plugged only into PCI Express Root Ports and
[all …]
H A Dpcie_pci_bridge.txt1 Generic PCI Express to PCI Bridge
6 PCIE-to-PCI bridge is a new method for legacy PCI
9 Previously Intel DMI-to-PCI bridge was used for this purpose.
12 PCIE-to-PCI bridge should now be used for any legacy PCI device usage
13 with PCI Express machine.
15 This generic PCIE-PCI bridge is a cross-platform device,
17 see 'PCIE-PCI bridge hot-plug' section),
21 Hot-plug of legacy PCI devices into the bridge
25 PCIE-PCI bridge hot-plug
27 Guest OSes require extra efforts to enable PCIE-PCI bridge hot-plug.
[all …]
H A Dpci_expander_bridge.txt1 PCI EXPANDER BRIDGE (PXB)
6 PXB is a "light-weight" host bridge in the same PCI domain
8 the main host bridge to support multiple PCI root buses.
10 on bus 0 (pci.0).
12 As opposed to PCI-2-PCI bridge's secondary bus, PXB's bus
26 -device pxb,id=bridge1,bus=pci.0,numa_node=1,bus_nr=4 -netdev user,id=nd -device e1000,bus=bridge1,…
27 -device pxb,id=bridge2,bus=pci.0,numa_node=0,bus_nr=8 -device e1000,bus=bridge2,addr=0x3
28 -device pxb,id=bridge3,bus=pci.0,bus_nr=40 -drive if=none,id=drive0,file=[img] -device virtio-blk-p…
38 Please observe that we specified the bus "pci.0" for the second and third pxb.
46 The host bridge allows to register and query the PXB's PCI root bus in QEMU.
[all …]
H A Dqemupciserial.inf4 ; just an inf file to tell windows which pci id the serial pci card
8 ; Installing the driver: Go to device manager. You should find a "pci
14 ; This file covers all options: pci-serial, pci-serial-2x, pci-serial-4x
29 %QEMU-PCI_SERIAL_1_PORT%=ComPort_inst1, PCI\VEN_1B36&DEV_0002
30 %QEMU-PCI_SERIAL_2_PORT%=ComPort_inst2, PCI\VEN_1B36&DEV_0003
31 %QEMU-PCI_SERIAL_4_PORT%=ComPort_inst4, PCI\VEN_1B36&DEV_0004
34 %QEMU-PCI_SERIAL_1_PORT%=ComPort_inst1, PCI\VEN_1B36&DEV_0002
35 %QEMU-PCI_SERIAL_2_PORT%=ComPort_inst2, PCI\VEN_1B36&DEV_0003
36 %QEMU-PCI_SERIAL_4_PORT%=ComPort_inst4, PCI\VEN_1B36&DEV_0004
100 QEMU-PCI_SERIAL_1_PORT="1x QEMU PCI Serial Card"
[all …]
/qemu/hw/scsi/
H A Desp-pci.c27 #include "hw/pci/pci_device.h"
80 static void esp_pci_update_irq(PCIESPState *pci) in esp_pci_update_irq() argument
82 int scsi_level = !!(pci->dma_regs[DMA_STAT] & DMA_STAT_SCSIINT); in esp_pci_update_irq()
83 int dma_level = (pci->dma_regs[DMA_CMD] & DMA_CMD_INTE_D) ? in esp_pci_update_irq()
84 !!(pci->dma_regs[DMA_STAT] & DMA_STAT_DONE) : 0; in esp_pci_update_irq()
87 pci_set_irq(PCI_DEVICE(pci), level); in esp_pci_update_irq()
92 PCIESPState *pci = PCI_ESP(opaque); in esp_irq_handler() local
95 pci->dma_regs[DMA_STAT] |= DMA_STAT_SCSIINT; in esp_irq_handler()
104 if ((pci->dma_regs[DMA_CMD] & DMA_CMD_MASK) == 0x3 && in esp_irq_handler()
105 pci->dma_regs[DMA_WBC] == 0) { in esp_irq_handler()
[all …]
/qemu/hw/pci-host/
H A Dppc4xx_pci.c20 * This file implements emulation of the 32-bit PCI controller found in some
27 #include "hw/pci-host/ppc4xx.h"
31 #include "hw/pci/pci_device.h"
32 #include "hw/pci/pci_host.h"
71 * PCI accesses.
87 * PCI Target Map (PTM) registers specify which PCI addresses are translated to
102 struct PPC4xxPCIState *pci = opaque; in ppc4xx_pci_reg_write4() local
105 * We ignore all target attempts at PCI configuration, effectively in ppc4xx_pci_reg_write4()
106 * assuming a bidirectional 1:1 mapping of PLB and PCI space. in ppc4xx_pci_reg_write4()
110 pci->pmm[0].la = value; in ppc4xx_pci_reg_write4()
[all …]
H A Dmv64361.c15 #include "hw/pci/pci_device.h"
16 #include "hw/pci/pci_host.h"
24 #include "hw/pci-host/mv64361.h"
38 * PCI-facing part of the host bridge, in mv64361_pcibridge_class_init()
86 name = g_strdup_printf("pci%d-io", s->index); in mv64361_pcihost_realize()
89 name = g_strdup_printf("pci%d-mem", s->index); in mv64361_pcihost_realize()
92 name = g_strdup_printf("pci.%d", s->index); in mv64361_pcihost_realize()
136 MV64361PCIState pci[2]; member
215 return PCI_HOST_BRIDGE(&mv->pci[n])->bus; in mv64361_get_pci_bus()
252 p = &s->pci[0]; in set_mem_windows()
[all …]
H A DKconfig11 select PCI
15 select PCI
19 select PCI
23 select PCI
28 select PCI
33 select PCI
37 select PCI
41 select PCI
46 select PCI
68 select PCI
[all …]
H A Dppce500.c2 * QEMU PowerPC E500 embedded processors pci controller emulation
21 #include "hw/pci/pci_device.h"
22 #include "hw/pci/pci_host.h"
24 #include "hw/pci-host/ppce500.h"
129 PPCE500PCIState *pci = opaque; in pci_reg_read4() local
144 value = pci->pob[idx].potar; in pci_reg_read4()
147 value = pci->pob[idx].potear; in pci_reg_read4()
150 value = pci->pob[idx].powbar; in pci_reg_read4()
153 value = pci->pob[idx].powar; in pci_reg_read4()
166 value = pci->pib[idx].pitar; in pci_reg_read4()
[all …]
H A Dremote.c2 * Remote PCI host device
4 * Unlike PCI host devices that model physical hardware, the purpose
5 * of this PCI host is to host multi-process QEMU devices.
7 * Multi-process QEMU extends the PCI host of a QEMU machine into a
8 * remote process. Any PCI device attached to the remote process is
12 * This PCI host is purely a container for PCI devices. It's fake in the
13 * sense that the guest never sees this PCI host and has no way of
15 * PCI device models need when running in a remote process.
26 #include "hw/pci/pci.h"
27 #include "hw/pci/pci_host.h"
[all …]
/qemu/docs/specs/
H A Dpci-ids.rst2 PCI IDs for QEMU
14 The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
36 ID range for modern virtio devices. The PCI device
49 Used as PCI Subsystem ID for existing hardware devices emulated
61 PCI devices (other than virtio):
64 PCI-PCI bridge
66 PCI serial port (16550A) adapter (:doc:`pci-serial`)
68 PCI Dual-port 16550A adapter (:doc:`pci-serial`)
70 PCI Quad-port 16550A adapter (:doc:`pci-serial`)
72 PCI test device (:doc:`pci-testdev`)
[all …]
H A Dstandard-vga.rst5 Exists in two variants, for isa and pci.
10 picks isa for -M isapc, otherwise pci
12 pci variant
16 legacy-free pci variant
19 PCI spec
22 Applies to the pci variant only for obvious reasons.
24 PCI ID
27 PCI Region 0
31 PCI Region 1
34 PCI Region 2
[all …]
H A Dpci-serial.rst2 QEMU PCI serial devices
5 QEMU implements some PCI serial devices which are simple PCI
17 ``pci-serial``
18 PCI ID:
20 PCI Region 0:
30 ``pci-serial-2x``, ``pci-serial-4x``
31 PCI ID:
33 PCI Region 0:
/qemu/hw/char/
H A Ddiva-gsp.c4 * The Diva PCI boards are Remote Management cards for PA-RISC machines.
22 #include "hw/pci/pci_device.h"
59 PCIDivaSerialState *pci = DO_UPCAST(PCIDivaSerialState, dev, dev); in diva_pci_exit() local
63 for (i = 0; i < pci->ports; i++) { in diva_pci_exit()
64 s = pci->state + i; in diva_pci_exit()
66 memory_region_del_subregion(&pci->membar, &s->io); in diva_pci_exit()
67 g_free(pci->name[i]); in diva_pci_exit()
69 qemu_free_irqs(pci->irqs, pci->ports); in diva_pci_exit()
74 PCIDivaSerialState *pci = opaque; in multi_serial_irq_mux() local
77 pci->level[n] = level; in multi_serial_irq_mux()
[all …]
H A Dserial-pci-multi.c28 /* 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()
[all …]
/qemu/hw/virtio/
H A Dmeson.build4 system_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('virtio-pci.c'))
31 # PCI Stubs
32 system_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('vhost-user-device-pci.c'))
34 if_true: files('vhost-user-gpio-pci.c'))
36 if_true: files('vhost-user-i2c-pci.c'))
38 if_true: files('vhost-user-rng-pci.c'))
40 if_true: files('vhost-user-snd-pci.c'))
42 if_true: files('vhost-user-input-pci.c'))
61 …add(when: ['CONFIG_VIRTIO_PCI', 'CONFIG_VHOST_USER_SCMI'], if_true: files('vhost-user-scmi-pci.c'))
64 virtio_pci_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock-pci.c'))
[all …]
/qemu/tests/functional/
H A Dtest_virtio_version.py54 interfaces = ('pci-express-device', 'conventional-pci-device')
69 Run QEMU with `-device DEVTYPE`, return device info from `query-pci`
79 pcibuses = vm.cmd('query-pci')
120 #TODO: check if plugging on a PCI Express bus will make the
131 self.assertIn('conventional-pci-device', generic_ifaces)
132 self.assertIn('pci-express-device', generic_ifaces)
134 self.assertIn('conventional-pci-device', nt_ifaces)
135 self.assertIn('pci-express-device', nt_ifaces)
137 self.assertIn('conventional-pci-device', trans_ifaces)
138 self.assertNotIn('pci-express-device', trans_ifaces)
[all …]
H A Dtest_ppc64_tuxrun.py33 '-device', '{"driver":"virtio-net-pci","netdev":'
35 '"bus":"pci.0","addr":"0x9"}')
37 '"id":"usb","bus":"pci.0","addr":"0x2"}')
38 self.vm.add_args('-device', '{"driver":"virtio-scsi-pci","id":"scsi0"'
39 ',"bus":"pci.0","addr":"0x3"}')
40 self.vm.add_args('-device', '{"driver":"virtio-serial-pci","id":'
41 '"virtio-serial0","bus":"pci.0","addr":"0x4"}')
45 self.vm.add_args('-device', '{"driver":"virtio-balloon-pci",'
46 '"id":"balloon0","bus":"pci.0","addr":"0x6"}')
53 '"vgamem_mb":16,"bus":"pci.0","addr":"0x7"}')
[all …]
/qemu/docs/devel/testing/
H A Dqgraph.rst167 # src='virtio-net-pci'
169 # src='pci-bus'
170 # |-> dest='virtio-net-pci' type=2 (node=0x55914210d880)
171 # src='pci-bus-pc'
172 # |-> dest='pci-bus' type=1 (node=0x559142103f40)
174 # |-> dest='pci-bus-pc' type=0 (node=0x55914210ac70)
191 'i440FX-pcihost' -> 'pci-bus-pc' -> 'pci-bus' -> 'virtio-net-pci' ->
226 ``pci-bus`` architecture so it ``contains`` a PCI driver,
227 ``pci-bus-pc``. The actual path is
230 pci-bus-pc --produces--> pci-bus``.
[all …]
/qemu/hw/acpi/
H A Dviot.c10 #include "hw/pci/pci.h"
11 #include "hw/pci/pci_host.h"
22 build_append_int_noprefix(table_data, 1 /* PCI range */, 1); in build_pci_host_range()
29 /* PCI Segment start */ in build_pci_host_range()
31 /* PCI Segment end */ in build_pci_host_range()
33 /* PCI BDF start */ in build_pci_host_range()
35 /* PCI BDF end */ in build_pci_host_range()
43 /* Build PCI range for a given PCI host bridge */
82 * Generate a VIOT table with one PCI-based virtio-iommu that manages PCI
100 /* Build the list of PCI ranges that this viommu manages */ in build_viot()
[all …]
/qemu/ui/
H A Dutil.c20 #include "hw/pci/pci_device.h"
21 #include "hw/pci/pci_bus.h"
26 * Recursively (in reverse order) appends addresses of PCI devices as it moves
27 * up in the PCI hierarchy.
31 static bool append_pci_address(char *buf, size_t buf_size, const PCIDevice *pci) in append_pci_address() argument
33 PCIBus *bus = pci_get_bus(pci); in append_pci_address()
44 PCI_SLOT(pci->devfn), PCI_FUNC(pci->devfn)); in append_pci_address()
57 PCIDevice *pci = (PCIDevice *) object_dynamic_cast(OBJECT(dev), in qemu_console_fill_device_address() local
60 if (pci == NULL) { in qemu_console_fill_device_address()
62 "Not a PCI device."); in qemu_console_fill_device_address()
[all …]
/qemu/tests/qtest/libqos/
H A Driscv-iommu.c2 * libqos driver riscv-iommu-pci framework
15 #include "pci.h"
22 if (!g_strcmp0(interface, "pci-device")) { in riscv_iommu_pci_get_driver()
32 QRISCVIOMMU *pci = (QRISCVIOMMU *)obj; in riscv_iommu_pci_start_hw() local
33 qpci_device_enable(&pci->dev); in riscv_iommu_pci_start_hw()
38 QRISCVIOMMU *pci = (QRISCVIOMMU *)obj; in riscv_iommu_pci_destructor() local
39 qpci_iounmap(&pci->dev, pci->reg_bar); in riscv_iommu_pci_destructor()
71 qos_node_create_driver("riscv-iommu-pci", riscv_iommu_pci_create); in riscv_iommu_pci_register_nodes()
72 qos_node_produces("riscv-iommu-pci", "pci-device"); in riscv_iommu_pci_register_nodes()
73 qos_node_consumes("riscv-iommu-pci", "pci-bus", &opts); in riscv_iommu_pci_register_nodes()
/qemu/hw/net/
H A DKconfig10 depends on PCI
16 depends on PCI
22 depends on PCI
31 depends on PCI
40 depends on PCI
55 depends on PCI
60 depends on PCI
120 depends on PCI
140 depends on PCI && MSI_NONBROKEN
153 depends on PCI && CAN_SJA1000
[all …]
/qemu/qapi/
H A Dpci.json9 # = PCI
15 # A PCI device memory region
28 # Information about a PCI device I/O region.
53 # Information about a bus of a PCI Bridge device
82 # Information about a PCI Bridge device
96 # Information about the Class of a PCI device
111 # Information about the Id of a PCI device
113 # @device: the PCI device id
115 # @vendor: the PCI vendor id
117 # @subsystem: the PCI subsystem id (since 3.1)
[all …]
/qemu/tests/qtest/
H A Ddevice-plug-test.c62 if (!qtest_has_device("virtio-mouse-pci")) { in test_pci_unplug_request()
63 g_test_skip("Device virtio-mouse-pci not available"); in test_pci_unplug_request()
71 qtest = qtest_initf("%s -device virtio-mouse-pci,id=dev0", in test_pci_unplug_request()
83 if (!qtest_has_device("virtio-mouse-pci")) { in test_q35_pci_unplug_request()
84 g_test_skip("Device virtio-mouse-pci not available"); in test_q35_pci_unplug_request()
90 "-device pcie-pci-bridge,bus=p1,id=b1 " in test_q35_pci_unplug_request()
91 "-device virtio-mouse-pci,bus=b1,id=dev0"); in test_q35_pci_unplug_request()
104 if (!qtest_has_device("virtio-mouse-pci")) { in test_pci_unplug_json_request()
105 g_test_skip("Device virtio-mouse-pci not available"); in test_pci_unplug_json_request()
114 "%s -device \"{'driver': 'virtio-mouse-pci', 'id': 'dev0'}\"", in test_pci_unplug_json_request()
[all …]

12345678910>>...35