Skip to contentSkip to conversation

ppc: deprecate 'prep' machine

PATCH Applied Hervé Poussineau 3 participants 7 messages Aug 9, 2018 – Aug 10, 2018

lore
Share & tools
lore
#0 lore raw

cover ppc: deprecate 'prep' machine

Hello,

These two small patches deprecate the PPC 'prep' machine in favor of the '40p' machine.

This is already flagged as 'Future candidate' for removal in
https://wiki.qemu.org/Features/LegacyRemoval

Herv�

Hervé Poussineau (2):
hw/ppc: on 40p machine, change default firmware to OpenBIOS hw/ppc: deprecate the machine type 'prep', replaced by '40p'

 hw/ppc/prep.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Signature · 1 line
2.11.0
#1 lore raw

PATCH 1/2 hw/ppc: on 40p machine, change default firmware to OpenBIOS

OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff Use it, instead of relying on the presence of a proprietary firmware.

---
 hw/ppc/prep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/ppc/prep.c +1 -1
index 3401570d98..1558855247 100644
@@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
     /* PCI host */
     dev = qdev_create(NULL, "raven-pcihost");
     if (!bios_name) {
-        bios_name = BIOS_FILENAME;
+        bios_name = "openbios-ppc";
     }
     qdev_prop_set_string(dev, "bios-name", bios_name);
     qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
Signature · 1 line
2.11.0
#2 lore raw

Re: [Qemu-devel] [PATCH 1/2] hw/ppc: on 40p machine, change default firmware to OpenBIOS

Quoted 3 lines · Hervé Poussineau

OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff Use it, instead of relying on the presence of a proprietary firmware.

Uh.. openhackware might be, well, a hack, but I don't think it's propietary. Replacing it with openbios might well be a good idea, but we want an accurrate reason for doing so.

Quoted 18 lines
---
 hw/ppc/prep.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
hw/ppc/prep.c +1 -1
index 3401570d98..1558855247 100644
@@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
     /* PCI host */
     dev = qdev_create(NULL, "raven-pcihost");
     if (!bios_name) {
-        bios_name = BIOS_FILENAME;
+        bios_name = "openbios-ppc";
     }
     qdev_prop_set_string(dev, "bios-name", bios_name);
     qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
#3 lore raw

Re: [Qemu-devel] [PATCH 1/2] hw/ppc: on 40p machine, change default firmware to OpenBIOS

Le 10/08/2018 à 03:04, David Gibson a écrit :

Quoted 8 lines · Hervé Poussineau
Quoted 3 lines

OpenBIOS gained 40p support in 5b20e4cacecb62fb2bdc6867c11d44cddd77c4ff Use it, instead of relying on the presence of a proprietary firmware.

Uh.. openhackware might be, well, a hack, but I don't think it's propietary. Replacing it with openbios might well be a good idea, but we want an accurrate reason for doing so.

Oops, you're right. That's what happens when you try to change/expand your commit messages just before sending the patch. I will resend.

Quoted 20 lines
Quoted 19 lines
---
  hw/ppc/prep.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
hw/ppc/prep.c +1 -1
index 3401570d98..1558855247 100644
@@ -736,7 +736,7 @@ static void ibm_40p_init(MachineState *machine)
      /* PCI host */
      dev = qdev_create(NULL, "raven-pcihost");
      if (!bios_name) {
-        bios_name = BIOS_FILENAME;
+        bios_name = "openbios-ppc";
      }
      qdev_prop_set_string(dev, "bios-name", bios_name);
      qdev_prop_set_uint32(dev, "elf-machine", PPC_ELF_MACHINE);
#4 lore raw

PATCH 2/2 hw/ppc: deprecate the machine type 'prep', replaced by '40p'

In reply to Hervé Poussineau

- prep machine is a fictional machine, so has no specifications. Which devices can be changed/added/removed without impact? Are interrupts correctly mapped?
- prep firmware (OHW) has support only for IDE drives (no SCSI).
Booting from IDE has been broken approximatively 3 years ago, and nobody complained.
- OHW is limited on IDE boot to a specific set of OS loaders.
These operating systems are of the 2004 time frame.
- OHW can use -kernel. Linux kernel freezes a long time after PS/2 mouse detection, and then screen becomes garbage. This was already broken in QEMU v2.7, 2 years ago, and nobody complained.

On the other side:
- 40p is a real machine, so emulation can be checked against hardware specifications
- OpenBIOS has support for SCSI block devices, including 40p LSI adapter
- OpenBIOS can start mostly all Linux kernels (including recent ones) and recent operating system (like NetBSD 7.1.2)

---
 hw/ppc/prep.c | 1 +
 1 file changed, 1 insertion(+)
hw/ppc/prep.c +1 -0
index 1558855247..fbcaebabc0 100644
@@ -676,6 +676,7 @@ static void ppc_prep_init(MachineState *machine)
 
 static void prep_machine_init(MachineClass *mc)
 {
+    mc->deprecation_reason = "use 40p machine type instead";
     mc->desc = "PowerPC PREP platform";
     mc->init = ppc_prep_init;
     mc->block_default_type = IF_IDE;
Signature · 1 line
2.11.0
Applied
#5 lore raw

Re: [Qemu-devel] [PATCH 2/2] hw/ppc: deprecate the machine type 'prep', replaced by '40p'

Quoted 11 lines · Hervé Poussineau

- prep machine is a fictional machine, so has no specifications. Which devices can be changed/added/removed without impact? Are interrupts correctly mapped?
- prep firmware (OHW) has support only for IDE drives (no SCSI).
Booting from IDE has been broken approximatively 3 years ago, and nobody complained.
- OHW is limited on IDE boot to a specific set of OS loaders.
These operating systems are of the 2004 time frame.
- OHW can use -kernel. Linux kernel freezes a long time after PS/2 mouse detection, and then screen becomes garbage. This was already broken in QEMU v2.7, 2 years ago, and nobody complained.

Quoted 8 lines

On the other side:
- 40p is a real machine, so emulation can be checked against hardware specifications
- OpenBIOS has support for SCSI block devices, including 40p LSI adapter
- OpenBIOS can start mostly all Linux kernels (including recent ones) and recent operating system (like NetBSD 7.1.2)

Applied to ppc-for-3.1.

Quoted 16 lines
---
 hw/ppc/prep.c | 1 +
 1 file changed, 1 insertion(+)
hw/ppc/prep.c +1 -0
index 1558855247..fbcaebabc0 100644
@@ -676,6 +676,7 @@ static void ppc_prep_init(MachineState *machine)
 
 static void prep_machine_init(MachineClass *mc)
 {
+    mc->deprecation_reason = "use 40p machine type instead";
     mc->desc = "PowerPC PREP platform";
     mc->init = ppc_prep_init;
     mc->block_default_type = IF_IDE;
Signature · 4 lines
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
#6 lore raw

Re: [Qemu-devel] [PATCH 2/2] hw/ppc: deprecate the machine type 'prep', replaced by '40p'

In reply to Hervé Poussineau
Quoted 28 lines · Hervé Poussineau

- prep machine is a fictional machine, so has no specifications. Which devices can be changed/added/removed without impact? Are interrupts correctly mapped?
- prep firmware (OHW) has support only for IDE drives (no SCSI).
Booting from IDE has been broken approximatively 3 years ago, and nobody complained.
- OHW is limited on IDE boot to a specific set of OS loaders.
These operating systems are of the 2004 time frame.
- OHW can use -kernel. Linux kernel freezes a long time after PS/2 mouse detection, and then screen becomes garbage. This was already broken in QEMU v2.7, 2 years ago, and nobody complained.

On the other side:
- 40p is a real machine, so emulation can be checked against hardware specifications
- OpenBIOS has support for SCSI block devices, including 40p LSI adapter
- OpenBIOS can start mostly all Linux kernels (including recent ones) and recent operating system (like NetBSD 7.1.2)

---
 hw/ppc/prep.c | 1 +
 1 file changed, 1 insertion(+)
hw/ppc/prep.c +0 -0
index 1558855247..fbcaebabc0 100644

hw/ppc/prep.c static void ppc_prep_init(MachineState *machine) · line 682

Quoted 7 lines
hw/ppc/prep.c +1 -0
@@ -676,6 +676,7 @@ static void ppc_prep_init(MachineState *machine)
 
 static void prep_machine_init(MachineClass *mc)
 {
+    mc->deprecation_reason = "use 40p machine type instead";
     mc->desc = "PowerPC PREP platform";
     mc->init = ppc_prep_init;
     mc->block_default_type = IF_IDE;

A deprecation needs to be listed in qemu-deprecated.texi for it to be official.

Regards,
Daniel

Signature · 3 lines
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|