* [Qemu-devel] [PATCHv4-repost 1/2] qemu: make cirrus init value pci spec compliant
[not found] <cover.1259580829.git.mst@redhat.com>
@ 2009-11-30 14:48 ` Michael S. Tsirkin
2009-11-30 14:49 ` [Qemu-devel] [PATCHv4-repost 2/2] qemu: cleanup unused macros in cirrus Michael S. Tsirkin
1 sibling, 0 replies; 3+ messages in thread
From: Michael S. Tsirkin @ 2009-11-30 14:48 UTC (permalink / raw)
To: Avi Kivity
Cc: Anthony Liguori, qemu-devel@nongnu.org, kvm-devel, Juan Quintela
PCI memory should be disabled at reset, otherwise
we might claim transactions at address 0.
I/O should also be disabled, although for cirrus
it is harmless to enable it as we do not
have I/O bar.
Note: bios fix needed for this patch to work
was already applied:
previously bios incorrently assumed that it does not
need to enable i/o unless device has i/o bar.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/cirrus_vga.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 9390d2c..89ffdf9 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -3249,7 +3249,6 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
/* setup PCI */
pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
pci_config_set_device_id(pci_conf, device_id);
- pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_VGA);
pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL;
--
1.6.5.2.143.g8cc62
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Qemu-devel] [PATCHv4-repost 2/2] qemu: cleanup unused macros in cirrus
[not found] <cover.1259580829.git.mst@redhat.com>
2009-11-30 14:48 ` [Qemu-devel] [PATCHv4-repost 1/2] qemu: make cirrus init value pci spec compliant Michael S. Tsirkin
@ 2009-11-30 14:49 ` Michael S. Tsirkin
2009-11-30 16:54 ` [Qemu-devel] " Juan Quintela
1 sibling, 1 reply; 3+ messages in thread
From: Michael S. Tsirkin @ 2009-11-30 14:49 UTC (permalink / raw)
To: Avi Kivity
Cc: Anthony Liguori, qemu-devel@nongnu.org, kvm-devel, Juan Quintela
Cirrus vga has a copy of many PCI macros,
and it doesn't even use them. Clean up.
We also don't need to override header type
as it is NORMAL by default.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/cirrus_vga.c | 36 +-----------------------------------
1 files changed, 1 insertions(+), 35 deletions(-)
diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 89ffdf9..edf0a8a 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -173,40 +173,6 @@
#define CIRRUS_MMIO_LINEDRAW_MODE 0x39 // byte
#define CIRRUS_MMIO_BLTSTATUS 0x40 // byte
-// PCI 0x04: command(word), 0x06(word): status
-#define PCI_COMMAND_IOACCESS 0x0001
-#define PCI_COMMAND_MEMACCESS 0x0002
-#define PCI_COMMAND_BUSMASTER 0x0004
-#define PCI_COMMAND_SPECIALCYCLE 0x0008
-#define PCI_COMMAND_MEMWRITEINVALID 0x0010
-#define PCI_COMMAND_PALETTESNOOPING 0x0020
-#define PCI_COMMAND_PARITYDETECTION 0x0040
-#define PCI_COMMAND_ADDRESSDATASTEPPING 0x0080
-#define PCI_COMMAND_BACKTOBACKTRANS 0x0200
-// PCI 0x08, 0xff000000 (0x09-0x0b:class,0x08:rev)
-#define PCI_CLASS_BASE_DISPLAY 0x03
-// PCI 0x08, 0x00ff0000
-#define PCI_CLASS_SUB_VGA 0x00
-// PCI 0x0c, 0x00ff0000 (0x0c:cacheline,0x0d:latency,0x0e:headertype,0x0f:Built-in self test)
-// 0x10-0x3f (headertype 00h)
-// PCI 0x10,0x14,0x18,0x1c,0x20,0x24: base address mapping registers
-// 0x10: MEMBASE, 0x14: IOBASE(hard-coded in XFree86 3.x)
-#define PCI_MAP_MEM 0x0
-#define PCI_MAP_IO 0x1
-#define PCI_MAP_MEM_ADDR_MASK (~0xf)
-#define PCI_MAP_IO_ADDR_MASK (~0x3)
-#define PCI_MAP_MEMFLAGS_32BIT 0x0
-#define PCI_MAP_MEMFLAGS_32BIT_1M 0x1
-#define PCI_MAP_MEMFLAGS_64BIT 0x4
-#define PCI_MAP_MEMFLAGS_CACHEABLE 0x8
-// PCI 0x28: cardbus CIS pointer
-// PCI 0x2c: subsystem vendor id, 0x2e: subsystem id
-// PCI 0x30: expansion ROM base address
-#define PCI_ROMBIOS_ENABLED 0x1
-// PCI 0x34: 0xffffff00=reserved, 0x000000ff=capabilities pointer
-// PCI 0x38: reserved
-// PCI 0x3c: 0x3c=int-line, 0x3d=int-pin, 0x3e=min-gnt, 0x3f=maax-lat
-
#define CIRRUS_PNPMMIO_SIZE 0x1000
#define ABS(a) ((signed)(a) > 0 ? a : -a)
@@ -3249,8 +3215,8 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
/* setup PCI */
pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
pci_config_set_device_id(pci_conf, device_id);
+ //pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_VGA);
- pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL;
/* setup memory space */
/* memory #0 LFB */
--
1.6.5.2.143.g8cc62
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Qemu-devel] Re: [PATCHv4-repost 2/2] qemu: cleanup unused macros in cirrus
2009-11-30 14:49 ` [Qemu-devel] [PATCHv4-repost 2/2] qemu: cleanup unused macros in cirrus Michael S. Tsirkin
@ 2009-11-30 16:54 ` Juan Quintela
0 siblings, 0 replies; 3+ messages in thread
From: Juan Quintela @ 2009-11-30 16:54 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Anthony Liguori, Avi Kivity, kvm-devel, qemu-devel@nongnu.org
"Michael S. Tsirkin" <mst@redhat.com> wrote:
> Cirrus vga has a copy of many PCI macros,
> and it doesn't even use them. Clean up.
> We also don't need to override header type
> as it is NORMAL by default.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
> hw/cirrus_vga.c | 36 +-----------------------------------
> 1 files changed, 1 insertions(+), 35 deletions(-)
>
> diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
> index 89ffdf9..edf0a8a 100644
> --- a/hw/cirrus_vga.c
> +++ b/hw/cirrus_vga.c
> @@ -173,40 +173,6 @@
> #define CIRRUS_MMIO_LINEDRAW_MODE 0x39 // byte
> #define CIRRUS_MMIO_BLTSTATUS 0x40 // byte
>
> -// PCI 0x04: command(word), 0x06(word): status
> -#define PCI_COMMAND_IOACCESS 0x0001
> -#define PCI_COMMAND_MEMACCESS 0x0002
> -#define PCI_COMMAND_BUSMASTER 0x0004
> -#define PCI_COMMAND_SPECIALCYCLE 0x0008
> -#define PCI_COMMAND_MEMWRITEINVALID 0x0010
> -#define PCI_COMMAND_PALETTESNOOPING 0x0020
> -#define PCI_COMMAND_PARITYDETECTION 0x0040
> -#define PCI_COMMAND_ADDRESSDATASTEPPING 0x0080
> -#define PCI_COMMAND_BACKTOBACKTRANS 0x0200
> -// PCI 0x08, 0xff000000 (0x09-0x0b:class,0x08:rev)
> -#define PCI_CLASS_BASE_DISPLAY 0x03
> -// PCI 0x08, 0x00ff0000
> -#define PCI_CLASS_SUB_VGA 0x00
> -// PCI 0x0c, 0x00ff0000 (0x0c:cacheline,0x0d:latency,0x0e:headertype,0x0f:Built-in self test)
> -// 0x10-0x3f (headertype 00h)
> -// PCI 0x10,0x14,0x18,0x1c,0x20,0x24: base address mapping registers
> -// 0x10: MEMBASE, 0x14: IOBASE(hard-coded in XFree86 3.x)
> -#define PCI_MAP_MEM 0x0
> -#define PCI_MAP_IO 0x1
> -#define PCI_MAP_MEM_ADDR_MASK (~0xf)
> -#define PCI_MAP_IO_ADDR_MASK (~0x3)
> -#define PCI_MAP_MEMFLAGS_32BIT 0x0
> -#define PCI_MAP_MEMFLAGS_32BIT_1M 0x1
> -#define PCI_MAP_MEMFLAGS_64BIT 0x4
> -#define PCI_MAP_MEMFLAGS_CACHEABLE 0x8
> -// PCI 0x28: cardbus CIS pointer
> -// PCI 0x2c: subsystem vendor id, 0x2e: subsystem id
> -// PCI 0x30: expansion ROM base address
> -#define PCI_ROMBIOS_ENABLED 0x1
> -// PCI 0x34: 0xffffff00=reserved, 0x000000ff=capabilities pointer
> -// PCI 0x38: reserved
> -// PCI 0x3c: 0x3c=int-line, 0x3d=int-pin, 0x3e=min-gnt, 0x3f=maax-lat
> -
> #define CIRRUS_PNPMMIO_SIZE 0x1000
>
> #define ABS(a) ((signed)(a) > 0 ? a : -a)
> @@ -3249,8 +3215,8 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
> /* setup PCI */
> pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_CIRRUS);
> pci_config_set_device_id(pci_conf, device_id);
> + //pci_conf[0x04] = PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS;
You again added this here :) You agreed to remove this line that is a
leftover of previous patch.
> pci_config_set_class(pci_conf, PCI_CLASS_DISPLAY_VGA);
> - pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL;
>
> /* setup memory space */
> /* memory #0 LFB */
for the rest, I agree with both patches. I trust you on pci defaults :)
Later, Juan.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-11-30 16:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1259580829.git.mst@redhat.com>
2009-11-30 14:48 ` [Qemu-devel] [PATCHv4-repost 1/2] qemu: make cirrus init value pci spec compliant Michael S. Tsirkin
2009-11-30 14:49 ` [Qemu-devel] [PATCHv4-repost 2/2] qemu: cleanup unused macros in cirrus Michael S. Tsirkin
2009-11-30 16:54 ` [Qemu-devel] " Juan Quintela
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).