* [Qemu-devel] [PATCH v2 1/5] docs: move pci-ids.txt to docs/specs/
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
@ 2012-12-13 9:19 ` Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 2/5] reorganize pci-ids.txt Paolo Bonzini
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13 9:19 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
pci-ids.txt => docs/specs/pci-ids.txt | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename pci-ids.txt => docs/specs/pci-ids.txt (100%)
diff --git a/pci-ids.txt b/docs/specs/pci-ids.txt
similarity index 100%
rename from pci-ids.txt
rename to docs/specs/pci-ids.txt
--
1.8.0.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 2/5] reorganize pci-ids.txt
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 1/5] docs: move pci-ids.txt to docs/specs/ Paolo Bonzini
@ 2012-12-13 9:19 ` Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 3/5] virtio-9p: use symbolic constant, add to pci-ids.txt Paolo Bonzini
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13 9:19 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
Some devices were missing, and we're using two PCI vendor ids.
This patch only adds devices that are already documented in hw/pci.h.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
docs/specs/pci-ids.txt | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
index 73125a8..df2527f 100644
--- a/docs/specs/pci-ids.txt
+++ b/docs/specs/pci-ids.txt
@@ -3,29 +3,30 @@ PCI IDs for qemu
================
Red Hat, Inc. donates a part of its device ID range to qemu, to be used for
-virtual devices. The vendor ID is 1af4 (formerly Qumranet ID).
+virtual devices. The vendor IDs are 1af4 (formerly Qumranet ID) and 1b36.
-The 1000 -> 10ff device ID range is used for VirtIO devices.
+Contact Gerd Hoffmann <kraxel@redhat.com> to get a device ID assigned
+for your devices.
-The 1100 device ID is used as PCI Subsystem ID for existing hardware
-devices emulated by qemu.
+1af4 vendor ID
+--------------
-All other device IDs are reserved.
-
-
-VirtIO Device IDs
------------------
+The 1000 -> 10ff device ID range is used as follows for virtio-pci devices.
+Note that this allocation separate from the virtio device IDs, which are
+maintained as part of the virtio specification.
1af4:1000 network device
1af4:1001 block device
1af4:1002 balloon device
1af4:1003 console device
-
-1af4:1004 Reserved.
- to Contact Gerd Hoffmann <kraxel@redhat.com> to get a
-1af4:10ef device ID assigned for your new virtio device.
+1af4:1004 SCSI host bus adapter device
+1af4:1005 entropy generator device
1af4:10f0 Available for experimental usage without registration. Must get
to official ID when the code leaves the test lab (i.e. when seeking
1af4:10ff upstream merge or shipping a distro/product) to avoid conflicts.
+1af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
+ by qemu.
+
+All other device IDs are reserved.
--
1.8.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 3/5] virtio-9p: use symbolic constant, add to pci-ids.txt
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 1/5] docs: move pci-ids.txt to docs/specs/ Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 2/5] reorganize pci-ids.txt Paolo Bonzini
@ 2012-12-13 9:19 ` Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 4/5] ivshmem: use symbolic constant for PCI ID, " Paolo Bonzini
` (2 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13 9:19 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
docs/specs/pci-ids.txt | 1 +
hw/9pfs/virtio-9p-device.c | 2 +-
hw/pci.h | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
index df2527f..2d5329a 100644
--- a/docs/specs/pci-ids.txt
+++ b/docs/specs/pci-ids.txt
@@ -21,6 +21,7 @@ maintained as part of the virtio specification.
1af4:1003 console device
1af4:1004 SCSI host bus adapter device
1af4:1005 entropy generator device
+1af4:1009 9p filesystem device
1af4:10f0 Available for experimental usage without registration. Must get
to official ID when the code leaves the test lab (i.e. when seeking
diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index b8220ab..e338c46 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -170,7 +170,7 @@ static void virtio_9p_class_init(ObjectClass *klass, void *data)
k->init = virtio_9p_init_pci;
k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
- k->device_id = 0x1009;
+ k->device_id = PCI_DEVICE_ID_VIRTIO_9P;
k->revision = VIRTIO_PCI_ABI_VERSION;
k->class_id = 0x2;
dc->props = virtio_9p_properties;
diff --git a/hw/pci.h b/hw/pci.h
index 4da0c2a..0719521 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -77,6 +77,7 @@
#define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003
#define PCI_DEVICE_ID_VIRTIO_SCSI 0x1004
#define PCI_DEVICE_ID_VIRTIO_RNG 0x1005
+#define PCI_DEVICE_ID_VIRTIO_9P 0x1009
#define FMT_PCIBUS PRIx64
--
1.8.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 4/5] ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
` (2 preceding siblings ...)
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 3/5] virtio-9p: use symbolic constant, add to pci-ids.txt Paolo Bonzini
@ 2012-12-13 9:19 ` Paolo Bonzini
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 5/5] pci: use constants for devices under the 1B36 device ID, document them Paolo Bonzini
2012-12-27 16:29 ` [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13 9:19 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
Due to disagreement on a name that is generic enough for hw/pci.h,
the symbolic constants are placed in the .c files.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
docs/specs/pci-ids.txt | 2 ++
hw/ivshmem.c | 7 +++++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
index 2d5329a..e76b196 100644
--- a/docs/specs/pci-ids.txt
+++ b/docs/specs/pci-ids.txt
@@ -30,4 +30,6 @@ maintained as part of the virtio specification.
1af4:1100 Used as PCI Subsystem ID for existing hardware devices emulated
by qemu.
+1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem_device_spec.txt)
+
All other device IDs are reserved.
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index f6dbb21..9520daa 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -28,6 +28,9 @@
#include <sys/mman.h>
#include <sys/types.h>
+#define PCI_VENDOR_ID_IVSHMEM PCI_VENDOR_ID_REDHAT_QUMRANET
+#define PCI_DEVICE_ID_IVSHMEM 0x1110
+
#define IVSHMEM_IOEVENTFD 0
#define IVSHMEM_MSI 1
@@ -799,8 +802,8 @@ static void ivshmem_class_init(ObjectClass *klass, void *data)
k->init = pci_ivshmem_init;
k->exit = pci_ivshmem_uninit;
- k->vendor_id = PCI_VENDOR_ID_REDHAT_QUMRANET;
- k->device_id = 0x1110;
+ k->vendor_id = PCI_VENDOR_ID_IVSHMEM;
+ k->device_id = PCI_DEVICE_ID_IVSHMEM;
k->class_id = PCI_CLASS_MEMORY_RAM;
dc->reset = ivshmem_reset;
dc->props = ivshmem_properties;
--
1.8.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 5/5] pci: use constants for devices under the 1B36 device ID, document them
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
` (3 preceding siblings ...)
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 4/5] ivshmem: use symbolic constant for PCI ID, " Paolo Bonzini
@ 2012-12-13 9:19 ` Paolo Bonzini
2012-12-27 16:29 ` [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
5 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-13 9:19 UTC (permalink / raw)
To: qemu-devel; +Cc: mst
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
docs/specs/pci-ids.txt | 15 +++++++++++++++
hw/pci.h | 7 +++++++
hw/pci_bridge_dev.c | 8 ++------
hw/serial-pci.c | 12 ++++++------
4 files changed, 30 insertions(+), 12 deletions(-)
diff --git a/docs/specs/pci-ids.txt b/docs/specs/pci-ids.txt
index e76b196..3c65e1a 100644
--- a/docs/specs/pci-ids.txt
+++ b/docs/specs/pci-ids.txt
@@ -33,3 +33,18 @@ maintained as part of the virtio specification.
1af4:1110 ivshmem device (shared memory, docs/specs/ivshmem_device_spec.txt)
All other device IDs are reserved.
+
+1b36 vendor ID
+--------------
+
+The 0000 -> 00ff device ID range is used as follows for QEMU-specific
+PCI devices (other than virtio):
+
+1b36:0001 PCI-PCI bridge
+1b36:0002 PCI serial port (16550A) adapter (docs/specs/pci-serial.txt)
+1b36:0003 PCI Dual-port 16550A adapter (docs/specs/pci-serial.txt)
+1b36:0004 PCI Quad-port 16550A adapter (docs/specs/pci-serial.txt)
+
+All these devices are documented in docs/specs.
+
+The 0100 device ID is used for the QXL video card device.
diff --git a/hw/pci.h b/hw/pci.h
index 0719521..4b2a09b 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -79,6 +79,13 @@
#define PCI_DEVICE_ID_VIRTIO_RNG 0x1005
#define PCI_DEVICE_ID_VIRTIO_9P 0x1009
+#define PCI_VENDOR_ID_REDHAT 0x1b36
+#define PCI_DEVICE_ID_REDHAT_BRIDGE 0x0001
+#define PCI_DEVICE_ID_REDHAT_SERIAL 0x0002
+#define PCI_DEVICE_ID_REDHAT_SERIAL2 0x0003
+#define PCI_DEVICE_ID_REDHAT_SERIAL4 0x0004
+#define PCI_DEVICE_ID_REDHAT_QXL 0x0100
+
#define FMT_PCIBUS PRIx64
typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
diff --git a/hw/pci_bridge_dev.c b/hw/pci_bridge_dev.c
index f706396..d72bd3d 100644
--- a/hw/pci_bridge_dev.c
+++ b/hw/pci_bridge_dev.c
@@ -27,10 +27,6 @@
#include "memory.h"
#include "pci_internals.h"
-#define REDHAT_PCI_VENDOR_ID 0x1b36
-#define PCI_BRIDGE_DEV_VENDOR_ID REDHAT_PCI_VENDOR_ID
-#define PCI_BRIDGE_DEV_DEVICE_ID 0x1
-
struct PCIBridgeDev {
PCIBridge bridge;
MemoryRegion bar;
@@ -146,8 +142,8 @@ static void pci_bridge_dev_class_init(ObjectClass *klass, void *data)
k->init = pci_bridge_dev_initfn;
k->exit = pci_bridge_dev_exitfn;
k->config_write = pci_bridge_dev_write_config;
- k->vendor_id = PCI_BRIDGE_DEV_VENDOR_ID;
- k->device_id = PCI_BRIDGE_DEV_DEVICE_ID;
+ k->vendor_id = PCI_VENDOR_ID_REDHAT;
+ k->device_id = PCI_DEVICE_ID_REDHAT_BRIDGE;
k->class_id = PCI_CLASS_BRIDGE_PCI;
k->is_bridge = 1,
dc->desc = "Standard PCI Bridge";
diff --git a/hw/serial-pci.c b/hw/serial-pci.c
index 95dc5c8..f7be5fd 100644
--- a/hw/serial-pci.c
+++ b/hw/serial-pci.c
@@ -185,8 +185,8 @@ static void serial_pci_class_initfn(ObjectClass *klass, void *data)
PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
pc->init = serial_pci_init;
pc->exit = serial_pci_exit;
- pc->vendor_id = 0x1b36; /* Red Hat */
- pc->device_id = 0x0002;
+ pc->vendor_id = PCI_VENDOR_ID_REDHAT;
+ pc->device_id = PCI_DEVICE_ID_REDHAT_SERIAL;
pc->revision = 1;
pc->class_id = PCI_CLASS_COMMUNICATION_SERIAL;
dc->vmsd = &vmstate_pci_serial;
@@ -199,8 +199,8 @@ static void multi_2x_serial_pci_class_initfn(ObjectClass *klass, void *data)
PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
pc->init = multi_serial_pci_init;
pc->exit = multi_serial_pci_exit;
- pc->vendor_id = 0x1b36; /* Red Hat */
- pc->device_id = 0x0003;
+ pc->vendor_id = PCI_VENDOR_ID_REDHAT;
+ pc->device_id = PCI_DEVICE_ID_REDHAT_SERIAL2;
pc->revision = 1;
pc->class_id = PCI_CLASS_COMMUNICATION_SERIAL;
dc->vmsd = &vmstate_pci_multi_serial;
@@ -213,8 +213,8 @@ static void multi_4x_serial_pci_class_initfn(ObjectClass *klass, void *data)
PCIDeviceClass *pc = PCI_DEVICE_CLASS(klass);
pc->init = multi_serial_pci_init;
pc->exit = multi_serial_pci_exit;
- pc->vendor_id = 0x1b36; /* Red Hat */
- pc->device_id = 0x0004;
+ pc->vendor_id = PCI_VENDOR_ID_REDHAT;
+ pc->device_id = PCI_DEVICE_ID_REDHAT_SERIAL4;
pc->revision = 1;
pc->class_id = PCI_CLASS_COMMUNICATION_SERIAL;
dc->vmsd = &vmstate_pci_multi_serial;
--
1.8.0.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices
2012-12-13 9:19 [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
` (4 preceding siblings ...)
2012-12-13 9:19 ` [Qemu-devel] [PATCH v2 5/5] pci: use constants for devices under the 1B36 device ID, document them Paolo Bonzini
@ 2012-12-27 16:29 ` Paolo Bonzini
2013-01-08 11:43 ` Paolo Bonzini
5 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2012-12-27 16:29 UTC (permalink / raw)
Cc: qemu-devel, mst
Il 13/12/2012 10:19, Paolo Bonzini ha scritto:
> Five small, boring patches. Inspired by Gerd's patch at
> http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg05229.html which
> unfortunately is already out of date.
Ping...
Paolo
> Paolo Bonzini (5):
> docs: move pci-ids.txt to docs/specs/
> reorganize pci-ids.txt
> virtio-9p: use symbolic constant, add to pci-ids.txt
> ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
> pci: use constants for devices under the 1B36 device ID, document them
>
> docs/specs/pci-ids.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++
> hw/9pfs/virtio-9p-device.c | 2 +-
> hw/ivshmem.c | 7 +++++--
> hw/pci.h | 8 ++++++++
> hw/pci_bridge_dev.c | 8 ++------
> hw/serial-pci.c | 12 +++++------
> pci-ids.txt | 31 ----------------------------
> 7 files changed, 72 insertions(+), 46 deletions(-)
> create mode 100644 docs/specs/pci-ids.txt
> delete mode 100644 pci-ids.txt
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices
2012-12-27 16:29 ` [Qemu-devel] [PATCH v2 0/5] Improve consistency of pci-ids.txt, use symbolic constants for QEMU devices Paolo Bonzini
@ 2013-01-08 11:43 ` Paolo Bonzini
0 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2013-01-08 11:43 UTC (permalink / raw)
To: qemu-devel, mst
Il 27/12/2012 17:29, Paolo Bonzini ha scritto:
> Il 13/12/2012 10:19, Paolo Bonzini ha scritto:
>> Five small, boring patches. Inspired by Gerd's patch at
>> http://lists.gnu.org/archive/html/qemu-devel/2012-10/msg05229.html which
>> unfortunately is already out of date.
>
> Ping...
Ping^2...
Paolo
> Paolo
>
>> Paolo Bonzini (5):
>> docs: move pci-ids.txt to docs/specs/
>> reorganize pci-ids.txt
>> virtio-9p: use symbolic constant, add to pci-ids.txt
>> ivshmem: use symbolic constant for PCI ID, add to pci-ids.txt
>> pci: use constants for devices under the 1B36 device ID, document them
>>
>> docs/specs/pci-ids.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++
>> hw/9pfs/virtio-9p-device.c | 2 +-
>> hw/ivshmem.c | 7 +++++--
>> hw/pci.h | 8 ++++++++
>> hw/pci_bridge_dev.c | 8 ++------
>> hw/serial-pci.c | 12 +++++------
>> pci-ids.txt | 31 ----------------------------
>> 7 files changed, 72 insertions(+), 46 deletions(-)
>> create mode 100644 docs/specs/pci-ids.txt
>> delete mode 100644 pci-ids.txt
>>
>
>
>
^ permalink raw reply [flat|nested] 8+ messages in thread