Commit 1f22bd961e for qemu.org

commit 1f22bd961e7a512a59fb289daf218298e19ddf50
Author: Craig Lalley <mr_lalley@yahoo.com>
Date:   Mon Sep 28 09:13:18 2026 -0700

    hw/hppa: Place the CPU at HPA 0xfffa0000 and fw_cfg at 0xfffb0000

    On real Astro based machines (C3700, A400, A500) the first CPU is at
    HPA 0xfffa0000.  QEMU puts it one page higher at 0xfffb0000 and uses
    0xfffa0000 for the fw_cfg interface, which does not exist on real
    hardware.  Swap both, so that the OS sees the CPU at its real address.

    Please note:

    - CPU_HPA is shared with the 32-bit machines, so the CPU of the B160L
      and the 715 moves as well.  On the B160L this also changes the CPU
      module number, which the firmware derives from the HPA, from 48 to
      32.  The real B160L has its CPU at 0xfff10000, so neither value is
      the real one there.

    - MIN_SEABIOS_HPPA_VERSION is raised to 26. Starting with this version
      the firmware is able to cope with any CPU_HPA address which is
      provided by QEMU.

    Signed-off-by: Craig Lalley <mr_lalley@yahoo.com>
    Signed-off-by: Helge Deller <deller@gmx.de>

diff --git a/hw/hppa/hppa_hardware.h b/hw/hppa/hppa_hardware.h
index 615b422865..c7ac6bdb85 100644
--- a/hw/hppa/hppa_hardware.h
+++ b/hw/hppa/hppa_hardware.h
@@ -24,7 +24,7 @@
 #define LASI_HPA        0xffd00000
 #define LASI_GFX_HPA    0xf8000000
 #define ARTIST_FB_ADDR  0xf9000000
-#define CPU_HPA         0xfffb0000
+#define CPU_HPA         0xfffa0000      /* as on real Astro based machines */
 #define MEMORY_HPA      0xfffff000

 #define IDE_HPA         0xf9000000      /* Boot disc controller */
@@ -48,7 +48,7 @@
 #define PORT_PCI_CMD    hppa_port_pci_cmd
 #define PORT_PCI_DATA   hppa_port_pci_data

-#define FW_CFG_IO_BASE  0xfffa0000
+#define FW_CFG_IO_BASE  0xfffb0000

 #define PORT_SERIAL1    (LASI_UART_HPA + 0x800)
 #define PORT_SERIAL2    (DINO_UART_HPA + 0x800)
diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index fb3ef25f04..0b0a8047ed 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -48,7 +48,7 @@ struct HppaMachineState {
     uint64_t memsplit_addr;
 };

-#define MIN_SEABIOS_HPPA_VERSION 22 /* require at least this fw version */
+#define MIN_SEABIOS_HPPA_VERSION 26 /* require at least this fw version */

 #define HPA_POWER_BUTTON        (FIRMWARE_END - 0x10)
 static hwaddr soft_power_reg;