Hi Helge,

On Thu, Feb 01, 2024 at 08:22:58PM -0800, Guenter Roeck wrote:
> Hi,
> 
> On Sat, Jan 13, 2024 at 06:57:20AM +0100, del...@kernel.org wrote:
> > From: Helge Deller <del...@gmx.de>
> > 
> > Recognize the qemu --nodefaults option, which will disable the
> > following default devices on hppa:
> > - lsi53c895a SCSI controller,
> > - artist graphics card,
> > - LASI 82596 NIC,
> > - tulip PCI NIC,
> > - second serial PCI card,
> > - USB OHCI controller.
> > 
> > Adding this option is very useful to allow manual testing and
> > debugging of the other possible devices on the command line.
> > 
> 
> With this patch in the tree, I get some interesting crashes in Seabios
> if I provide a somewhat unusual command line option. For example,
> something like
> 
>     -usb -device usb-ehci,id=ehci \
>     -device usb-uas,bus=ehci.0,id=uas \
>     -device scsi-hd,bus=uas.0,scsi-id=0,lun=0,drive=d0 \
>     -drive file= ...
> 
> is accepted as command line option but results in
> 
> SeaBIOS PA-RISC 32-bit Firmware Version 15 (QEMU 8.2.1)
> Duplex Console IO Dependent Code (IODC) revision 1
> ------------------------------------------------------------------------------
>   (c) Copyright 2017-2024 Helge Deller <del...@gmx.de> and SeaBIOS developers.
> ------------------------------------------------------------------------------
>   Processor   Speed            State           Coprocessor State  Cache Size
>   ---------  --------   ---------------------  -----------------  ----------
>       0      250 MHz    Active                 Functional            0 KB
>       1      250 MHz    Idle                   Functional            0 KB
>       2      250 MHz    Idle                   Functional            0 KB
>       3      250 MHz    Idle                   Functional            0 KB
>   Emulated machine:     HP C3700 (64-bit PA2.0) with 32-bit PDC
>   Available memory:     1024 MB
>   Good memory required: 16 MB
>   Primary boot path:    FWSCSI.0.0
>   Alternate boot path:  FWSCSI.0.0
>   Console path:         SERIAL_2.9600.8.none
>   Keyboard path:        SERIAL_2.9600.8.none
> *ERROR* in SeaBIOS-hppa-v15:
> prepare_boot_path:2898
> SeaBIOS wants SYSTEM HALT.

Just in case it matters, the following partial revert fixes the problem
for me.

diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index eb78c46ff1..cc903bc323 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -346,10 +346,8 @@ static void machine_HP_common_init_tail(MachineState 
*machine, PCIBus *pci_bus,
     SysBusDevice *s;

     /* SCSI disk setup. */
-    if (drive_get_max_bus(IF_SCSI) >= 0) {
-        dev = DEVICE(pci_create_simple(pci_bus, -1, "lsi53c895a"));
-        lsi53c8xx_handle_legacy_cmdline(dev);
-    }
+    dev = DEVICE(pci_create_simple(pci_bus, -1, "lsi53c895a"));
+    lsi53c8xx_handle_legacy_cmdline(dev);

It seems that SeaBIOS doesn't like it if the SCSI interface is missing.

Guenter

Reply via email to