qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Report any problems with loading the VGA driver for PPC Maci


From: Mark Cave-Ayland
Subject: Re: [PATCH] Report any problems with loading the VGA driver for PPC Macintosh targets
Date: Sun, 29 Aug 2021 11:16:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

On 27/08/2021 19:14, John Arbuckle wrote:

I was having a problem with missing video resolutions in my Mac OS 9 VM. When I
ran QEMU it gave no indication as to why these resolutions were missing. I found
out that the OpenFirmware VGA driver was not being loaded. To prevent anyone 
from
going thru the same trouble I went thru I added messages that the user can see
when a problem takes place with loading this driver in the future.

Signed-off-by: John Arbuckle <programmingkidx@gmail.com>
---
  hw/ppc/mac_newworld.c | 6 ++++++
  hw/ppc/mac_oldworld.c | 6 ++++++
  2 files changed, 12 insertions(+)

diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 7bb7ac3997..c1960452b8 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -526,8 +526,14 @@ static void ppc_core99_init(MachineState *machine)
if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) {
              fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, 
ndrv_size);
+        } else {
+            printf("Warning: failed to load driver %s. This may cause video"
+                   " problems.\n");
          }
          g_free(filename);
+    } else {
+        printf("Warning: driver %s not found. This may cause video 
problems.\n",
+               NDRV_VGA_FILENAME);
      }
qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index de2be960e6..96603fe9cf 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -367,8 +367,14 @@ static void ppc_heathrow_init(MachineState *machine)
if (g_file_get_contents(filename, &ndrv_file, &ndrv_size, NULL)) {
              fw_cfg_add_file(fw_cfg, "ndrv/qemu_vga.ndrv", ndrv_file, 
ndrv_size);
+        } else {
+            printf("Warning: failed to load driver %s. This may cause video"
+                   " problems.\n");
          }
          g_free(filename);
+    } else {
+        printf("Warning: driver %s not found. This may cause video 
problems.\n",
+               NDRV_VGA_FILENAME);
      }
qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);

This is by design: it's not the OpenFirmware VGA driver that's not being loaded here (that is already embedded in OpenBIOS), it's a optional MacOS client driver which just so happens to read the EDID to generate its list of available resolutions.

What I don't understand is that the binary is installed by default in QEMU's sharedir so everything works out of the box with "make install". Do you have some kind of custom installer which is doing something different?


ATB,

Mark.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]