qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type
@ 2011-11-07 15:33 Gerd Hoffmann
  2011-11-07 15:33 ` [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id Gerd Hoffmann
  2011-11-08 17:25 ` [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Anthony Liguori
  0 siblings, 2 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2011-11-07 15:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann, kvm

This patch adds a pc-1.0 machine type.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/pc_piix.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 8c7f2b7..93e40d0 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -297,8 +297,8 @@ static void pc_xen_hvm_init(ram_addr_t ram_size,
 }
 #endif
 
-static QEMUMachine pc_machine = {
-    .name = "pc-0.14",
+static QEMUMachine pc_machine_v1_0 = {
+    .name = "pc-1.0",
     .alias = "pc",
     .desc = "Standard PC",
     .init = pc_init_pci,
@@ -306,6 +306,13 @@ static QEMUMachine pc_machine = {
     .is_default = 1,
 };
 
+static QEMUMachine pc_machine_v0_14 = {
+    .name = "pc-0.14",
+    .desc = "Standard PC",
+    .init = pc_init_pci,
+    .max_cpus = 255,
+};
+
 static QEMUMachine pc_machine_v0_13 = {
     .name = "pc-0.13",
     .desc = "Standard PC",
@@ -521,7 +528,8 @@ static QEMUMachine xenfv_machine = {
 
 static void pc_machine_init(void)
 {
-    qemu_register_machine(&pc_machine);
+    qemu_register_machine(&pc_machine_v1_0);
+    qemu_register_machine(&pc_machine_v0_14);
     qemu_register_machine(&pc_machine_v0_13);
     qemu_register_machine(&pc_machine_v0_12);
     qemu_register_machine(&pc_machine_v0_11);
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id
  2011-11-07 15:33 [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Gerd Hoffmann
@ 2011-11-07 15:33 ` Gerd Hoffmann
  2011-11-07 16:00   ` Anthony Liguori
  2011-11-08 17:25 ` [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Anthony Liguori
  1 sibling, 1 reply; 7+ messages in thread
From: Gerd Hoffmann @ 2011-11-07 15:33 UTC (permalink / raw)
  To: qemu-devel; +Cc: Takashi Iwai, Gerd Hoffmann, kvm

This patch removes the code lines which set the subsystem id for the
emulated ac97 card to 8086:0000.  Due to the device id being zero the
subsystem id isn't vaild anyway.  With the patch applied the sound card
gets the default qemu subsystem id (1af4:1100) instead.

[ v2: old & broken id is maintained for -M pc-$oldqemuversion ]

Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/ac97.c    |   16 +++++++++++-----
 hw/pc_piix.c |   16 ++++++++++++++++
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/hw/ac97.c b/hw/ac97.c
index 6800af4..0dbba3b 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -150,6 +150,7 @@ typedef struct AC97BusMasterRegs {
 typedef struct AC97LinkState {
     PCIDevice dev;
     QEMUSoundCard card;
+    uint32_t use_broken_id;
     uint32_t glob_cnt;
     uint32_t glob_sta;
     uint32_t cas;
@@ -1305,11 +1306,12 @@ static int ac97_initfn (PCIDevice *dev)
     c[PCI_BASE_ADDRESS_0 + 6] = 0x00;
     c[PCI_BASE_ADDRESS_0 + 7] = 0x00;
 
-    c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;      /* svid subsystem vendor id rwo */
-    c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
-
-    c[PCI_SUBSYSTEM_ID] = 0x00;      /* sid subsystem id rwo */
-    c[PCI_SUBSYSTEM_ID + 1] = 0x00;
+    if (s->use_broken_id) {
+        c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;
+        c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
+        c[PCI_SUBSYSTEM_ID] = 0x00;
+        c[PCI_SUBSYSTEM_ID + 1] = 0x00;
+    }
 
     c[PCI_INTERRUPT_LINE] = 0x00;      /* intr_ln interrupt line rw */
     c[PCI_INTERRUPT_PIN] = 0x01;      /* intr_pn interrupt pin ro */
@@ -1350,6 +1352,10 @@ static PCIDeviceInfo ac97_info = {
     .device_id    = PCI_DEVICE_ID_INTEL_82801AA_5,
     .revision     = 0x01,
     .class_id     = PCI_CLASS_MULTIMEDIA_AUDIO,
+    .qdev.props   = (Property[]) {
+        DEFINE_PROP_UINT32("use_broken_id", AC97LinkState, use_broken_id, 0),
+        DEFINE_PROP_END_OF_LIST(),
+    }
 };
 
 static void ac97_register (void)
diff --git a/hw/pc_piix.c b/hw/pc_piix.c
index 93e40d0..27ea570 100644
--- a/hw/pc_piix.c
+++ b/hw/pc_piix.c
@@ -347,6 +347,10 @@ static QEMUMachine pc_machine_v0_13 = {
             .driver   = "virtio-net-pci",
             .property = "event_idx",
             .value    = "off",
+        },{
+            .driver   = "AC97",
+            .property = "use_broken_id",
+            .value    = stringify(1),
         },
         { /* end of list */ }
     },
@@ -390,6 +394,10 @@ static QEMUMachine pc_machine_v0_12 = {
             .driver   = "virtio-net-pci",
             .property = "event_idx",
             .value    = "off",
+        },{
+            .driver   = "AC97",
+            .property = "use_broken_id",
+            .value    = stringify(1),
         },
         { /* end of list */ }
     }
@@ -441,6 +449,10 @@ static QEMUMachine pc_machine_v0_11 = {
             .driver   = "virtio-net-pci",
             .property = "event_idx",
             .value    = "off",
+        },{
+            .driver   = "AC97",
+            .property = "use_broken_id",
+            .value    = stringify(1),
         },
         { /* end of list */ }
     }
@@ -504,6 +516,10 @@ static QEMUMachine pc_machine_v0_10 = {
             .driver   = "virtio-net-pci",
             .property = "event_idx",
             .value    = "off",
+        },{
+            .driver   = "AC97",
+            .property = "use_broken_id",
+            .value    = stringify(1),
         },
         { /* end of list */ }
     },
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id
  2011-11-07 15:33 ` [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id Gerd Hoffmann
@ 2011-11-07 16:00   ` Anthony Liguori
  2011-11-08  8:08     ` Gerd Hoffmann
  0 siblings, 1 reply; 7+ messages in thread
From: Anthony Liguori @ 2011-11-07 16:00 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Takashi Iwai, qemu-devel, kvm

On 11/07/2011 09:33 AM, Gerd Hoffmann wrote:
> This patch removes the code lines which set the subsystem id for the
> emulated ac97 card to 8086:0000.  Due to the device id being zero the
> subsystem id isn't vaild anyway.  With the patch applied the sound card
> gets the default qemu subsystem id (1af4:1100) instead.

I don't like having a property of "use broken".

Wouldn't it be better to have the subsystem vendor and device id be 
configurable, set the default to the qemu subsystem ids, and then set it to 
8086:0000 for < 1.0?

Regards,

Anthony Liguori

>
> [ v2: old&  broken id is maintained for -M pc-$oldqemuversion ]
>
> Cc: Takashi Iwai<tiwai@suse.de>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>
> ---
>   hw/ac97.c    |   16 +++++++++++-----
>   hw/pc_piix.c |   16 ++++++++++++++++
>   2 files changed, 27 insertions(+), 5 deletions(-)
>
> diff --git a/hw/ac97.c b/hw/ac97.c
> index 6800af4..0dbba3b 100644
> --- a/hw/ac97.c
> +++ b/hw/ac97.c
> @@ -150,6 +150,7 @@ typedef struct AC97BusMasterRegs {
>   typedef struct AC97LinkState {
>       PCIDevice dev;
>       QEMUSoundCard card;
> +    uint32_t use_broken_id;
>       uint32_t glob_cnt;
>       uint32_t glob_sta;
>       uint32_t cas;
> @@ -1305,11 +1306,12 @@ static int ac97_initfn (PCIDevice *dev)
>       c[PCI_BASE_ADDRESS_0 + 6] = 0x00;
>       c[PCI_BASE_ADDRESS_0 + 7] = 0x00;
>
> -    c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;      /* svid subsystem vendor id rwo */
> -    c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
> -
> -    c[PCI_SUBSYSTEM_ID] = 0x00;      /* sid subsystem id rwo */
> -    c[PCI_SUBSYSTEM_ID + 1] = 0x00;
> +    if (s->use_broken_id) {
> +        c[PCI_SUBSYSTEM_VENDOR_ID] = 0x86;
> +        c[PCI_SUBSYSTEM_VENDOR_ID + 1] = 0x80;
> +        c[PCI_SUBSYSTEM_ID] = 0x00;
> +        c[PCI_SUBSYSTEM_ID + 1] = 0x00;
> +    }
>
>       c[PCI_INTERRUPT_LINE] = 0x00;      /* intr_ln interrupt line rw */
>       c[PCI_INTERRUPT_PIN] = 0x01;      /* intr_pn interrupt pin ro */
> @@ -1350,6 +1352,10 @@ static PCIDeviceInfo ac97_info = {
>       .device_id    = PCI_DEVICE_ID_INTEL_82801AA_5,
>       .revision     = 0x01,
>       .class_id     = PCI_CLASS_MULTIMEDIA_AUDIO,
> +    .qdev.props   = (Property[]) {
> +        DEFINE_PROP_UINT32("use_broken_id", AC97LinkState, use_broken_id, 0),
> +        DEFINE_PROP_END_OF_LIST(),
> +    }
>   };
>
>   static void ac97_register (void)
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 93e40d0..27ea570 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -347,6 +347,10 @@ static QEMUMachine pc_machine_v0_13 = {
>               .driver   = "virtio-net-pci",
>               .property = "event_idx",
>               .value    = "off",
> +        },{
> +            .driver   = "AC97",
> +            .property = "use_broken_id",
> +            .value    = stringify(1),
>           },
>           { /* end of list */ }
>       },
> @@ -390,6 +394,10 @@ static QEMUMachine pc_machine_v0_12 = {
>               .driver   = "virtio-net-pci",
>               .property = "event_idx",
>               .value    = "off",
> +        },{
> +            .driver   = "AC97",
> +            .property = "use_broken_id",
> +            .value    = stringify(1),
>           },
>           { /* end of list */ }
>       }
> @@ -441,6 +449,10 @@ static QEMUMachine pc_machine_v0_11 = {
>               .driver   = "virtio-net-pci",
>               .property = "event_idx",
>               .value    = "off",
> +        },{
> +            .driver   = "AC97",
> +            .property = "use_broken_id",
> +            .value    = stringify(1),
>           },
>           { /* end of list */ }
>       }
> @@ -504,6 +516,10 @@ static QEMUMachine pc_machine_v0_10 = {
>               .driver   = "virtio-net-pci",
>               .property = "event_idx",
>               .value    = "off",
> +        },{
> +            .driver   = "AC97",
> +            .property = "use_broken_id",
> +            .value    = stringify(1),
>           },
>           { /* end of list */ }
>       },

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id
  2011-11-07 16:00   ` Anthony Liguori
@ 2011-11-08  8:08     ` Gerd Hoffmann
  2011-11-08 10:00       ` Avi Kivity
  0 siblings, 1 reply; 7+ messages in thread
From: Gerd Hoffmann @ 2011-11-08  8:08 UTC (permalink / raw)
  To: Anthony Liguori; +Cc: Takashi Iwai, qemu-devel, kvm

On 11/07/11 17:00, Anthony Liguori wrote:
> On 11/07/2011 09:33 AM, Gerd Hoffmann wrote:
>> This patch removes the code lines which set the subsystem id for the
>> emulated ac97 card to 8086:0000.  Due to the device id being zero the
>> subsystem id isn't vaild anyway.  With the patch applied the sound card
>> gets the default qemu subsystem id (1af4:1100) instead.
> 
> I don't like having a property of "use broken".

Well, it *is* broken.
Suggestions for a better name?

> Wouldn't it be better to have the subsystem vendor and device id be
> configurable, set the default to the qemu subsystem ids, and then set it
> to 8086:0000 for < 1.0?

I don't want this being fully configurable just for the snake of
backward compatibility with old qemu versions.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id
  2011-11-08  8:08     ` Gerd Hoffmann
@ 2011-11-08 10:00       ` Avi Kivity
  2011-11-08 10:18         ` Gerd Hoffmann
  0 siblings, 1 reply; 7+ messages in thread
From: Avi Kivity @ 2011-11-08 10:00 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Takashi Iwai, qemu-devel, kvm

On 11/08/2011 10:08 AM, Gerd Hoffmann wrote:
> On 11/07/11 17:00, Anthony Liguori wrote:
> > On 11/07/2011 09:33 AM, Gerd Hoffmann wrote:
> >> This patch removes the code lines which set the subsystem id for the
> >> emulated ac97 card to 8086:0000.  Due to the device id being zero the
> >> subsystem id isn't vaild anyway.  With the patch applied the sound card
> >> gets the default qemu subsystem id (1af4:1100) instead.
> > 
> > I don't like having a property of "use broken".
>
> Well, it *is* broken.
> Suggestions for a better name?

correctness_challenged?
legacy?

> > Wouldn't it be better to have the subsystem vendor and device id be
> > configurable, set the default to the qemu subsystem ids, and then set it
> > to 8086:0000 for < 1.0?
>
> I don't want this being fully configurable just for the snake of
> backward compatibility with old qemu versions.

I imagine some downstreams will want to configure it, but if we ever do
that, it's not for 1.0.

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id
  2011-11-08 10:00       ` Avi Kivity
@ 2011-11-08 10:18         ` Gerd Hoffmann
  0 siblings, 0 replies; 7+ messages in thread
From: Gerd Hoffmann @ 2011-11-08 10:18 UTC (permalink / raw)
  To: Avi Kivity; +Cc: Takashi Iwai, qemu-devel, kvm

  Hi,

>>> Wouldn't it be better to have the subsystem vendor and device id be
>>> configurable, set the default to the qemu subsystem ids, and then set it
>>> to 8086:0000 for < 1.0?
>>
>> I don't want this being fully configurable just for the snake of
>> backward compatibility with old qemu versions.
> 
> I imagine some downstreams will want to configure it, but if we ever do
> that, it's not for 1.0.

And for that it would make more sense to make the default qemu subsystem
id configurable, not the individual device IDs ...

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type
  2011-11-07 15:33 [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Gerd Hoffmann
  2011-11-07 15:33 ` [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id Gerd Hoffmann
@ 2011-11-08 17:25 ` Anthony Liguori
  1 sibling, 0 replies; 7+ messages in thread
From: Anthony Liguori @ 2011-11-08 17:25 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: qemu-devel, kvm

On 11/07/2011 09:33 AM, Gerd Hoffmann wrote:
> This patch adds a pc-1.0 machine type.
>
> Signed-off-by: Gerd Hoffmann<kraxel@redhat.com>

Applied both.  Thanks.

Regards,

Anthony Liguori

> ---
>   hw/pc_piix.c |   14 +++++++++++---
>   1 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/hw/pc_piix.c b/hw/pc_piix.c
> index 8c7f2b7..93e40d0 100644
> --- a/hw/pc_piix.c
> +++ b/hw/pc_piix.c
> @@ -297,8 +297,8 @@ static void pc_xen_hvm_init(ram_addr_t ram_size,
>   }
>   #endif
>
> -static QEMUMachine pc_machine = {
> -    .name = "pc-0.14",
> +static QEMUMachine pc_machine_v1_0 = {
> +    .name = "pc-1.0",
>       .alias = "pc",
>       .desc = "Standard PC",
>       .init = pc_init_pci,
> @@ -306,6 +306,13 @@ static QEMUMachine pc_machine = {
>       .is_default = 1,
>   };
>
> +static QEMUMachine pc_machine_v0_14 = {
> +    .name = "pc-0.14",
> +    .desc = "Standard PC",
> +    .init = pc_init_pci,
> +    .max_cpus = 255,
> +};
> +
>   static QEMUMachine pc_machine_v0_13 = {
>       .name = "pc-0.13",
>       .desc = "Standard PC",
> @@ -521,7 +528,8 @@ static QEMUMachine xenfv_machine = {
>
>   static void pc_machine_init(void)
>   {
> -    qemu_register_machine(&pc_machine);
> +    qemu_register_machine(&pc_machine_v1_0);
> +    qemu_register_machine(&pc_machine_v0_14);
>       qemu_register_machine(&pc_machine_v0_13);
>       qemu_register_machine(&pc_machine_v0_12);
>       qemu_register_machine(&pc_machine_v0_11);

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2011-11-08 17:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-07 15:33 [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Gerd Hoffmann
2011-11-07 15:33 ` [Qemu-devel] [PATCH 2/2] ac97: don't override the pci subsystem id Gerd Hoffmann
2011-11-07 16:00   ` Anthony Liguori
2011-11-08  8:08     ` Gerd Hoffmann
2011-11-08 10:00       ` Avi Kivity
2011-11-08 10:18         ` Gerd Hoffmann
2011-11-08 17:25 ` [Qemu-devel] [PATCH 1/2] pc: add 1.0 machine type Anthony Liguori

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).