ppc/pegasos2: Fix naming of device tree nodes

The board firmware names devices by their class so match that for
common devices. Also make sure the /rtas node has a name. This is
needed because VOF otherwise does not include it in results got by
nextprop which is how AmigaOS queries it and fails if no name property
is found.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-ID: <808ade37aa141563d1ee349254151672bf7a5d59.1689725688.git.balaton@eik.bme.hu>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
BALATON Zoltan 2023-07-19 02:32:56 +02:00 committed by Daniel Henrique Barboza
parent aa1133475e
commit 889dd6c525

View File

@ -739,6 +739,13 @@ static void add_pci_device(PCIBus *bus, PCIDevice *d, void *opaque)
pci_get_word(&d->config[PCI_VENDOR_ID]), pci_get_word(&d->config[PCI_VENDOR_ID]),
pci_get_word(&d->config[PCI_DEVICE_ID])); pci_get_word(&d->config[PCI_DEVICE_ID]));
if (pci_get_word(&d->config[PCI_CLASS_DEVICE]) ==
PCI_CLASS_NETWORK_ETHERNET) {
name = "ethernet";
} else if (pci_get_word(&d->config[PCI_CLASS_DEVICE]) >> 8 ==
PCI_BASE_CLASS_DISPLAY) {
name = "display";
}
for (i = 0; device_map[i].id; i++) { for (i = 0; device_map[i].id; i++) {
if (!strcmp(pn, device_map[i].id)) { if (!strcmp(pn, device_map[i].id)) {
name = device_map[i].name; name = device_map[i].name;
@ -929,6 +936,7 @@ static void *build_fdt(MachineState *machine, int *fdt_size)
qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-display-device", 0); qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-display-device", 0);
qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-size", 20); qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-size", 20);
qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-version", 1); qemu_fdt_setprop_cell(fdt, "/rtas", "rtas-version", 1);
qemu_fdt_setprop_string(fdt, "/rtas", "name", "rtas");
/* cpus */ /* cpus */
qemu_fdt_add_subnode(fdt, "/cpus"); qemu_fdt_add_subnode(fdt, "/cpus");