aboutsummaryrefslogtreecommitdiff
path: root/src/parisc/parisc.c
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2024-02-10 20:59:28 +0100
committerHelge Deller <deller@gmx.de>2024-05-15 15:50:06 +0200
commited9637970729647836cf2f28c17418980ac96f98 (patch)
tree600da9a320c1e21a102dde6b69ee23f65bbac8a5 /src/parisc/parisc.c
parentd2346a81cc9b236b22bf80ec2fd0376c6bf22ec6 (diff)
downloadseabios-hppa-ed9637970729647836cf2f28c17418980ac96f98.zip
seabios-hppa-ed9637970729647836cf2f28c17418980ac96f98.tar.gz
seabios-hppa-ed9637970729647836cf2f28c17418980ac96f98.tar.bz2
parisc: HP-UX 11 64-bit saves number of RAM pages in PAGE0 at 0x33c
Not sure yet, why HP-UX 11 (64-bit) stores the value here, but it's needed to allow HP-UX 11 to boot up. Signed-off-by: Helge Deller <deller@gmx.de> Noticed-by: Sven Schnelle <svens@stackframe.org>
Diffstat (limited to 'src/parisc/parisc.c')
-rw-r--r--src/parisc/parisc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c
index 8c6d0cd..862fd6f 100644
--- a/src/parisc/parisc.c
+++ b/src/parisc/parisc.c
@@ -3212,6 +3212,10 @@ void __VISIBLE start_parisc_firmware(void)
memcpy((void*)MEM_PDC_ENTRY, &pdc_entry_table, i);
flush_data_cache((char*)MEM_PDC_ENTRY, i);
+ if (is_64bit_PDC()) {
+ /* HP-UX 11 checks RAM in rminit() from this address */
+ *(unsigned int *) 0x33c = ram_size >> 12; /* # of pages */
+ }
PAGE0->memc_cont = ram_size;
PAGE0->memc_phsize = ram_size;
PAGE0->memc_adsize = ram_size;