diff options
author | Helge Deller <deller@gmx.de> | 2024-02-09 14:01:44 +0100 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2024-05-15 15:50:06 +0200 |
commit | 7516bcfcdc2d07365a4a6528f4bf710639e77789 (patch) | |
tree | 89f5589af548d336e16fe66e02533aa6d6a7a38e | |
parent | 20e652f146815c8be1cf2cf2bd948831310680aa (diff) | |
download | seabios-hppa-7516bcfcdc2d07365a4a6528f4bf710639e77789.zip seabios-hppa-7516bcfcdc2d07365a4a6528f4bf710639e77789.tar.gz seabios-hppa-7516bcfcdc2d07365a4a6528f4bf710639e77789.tar.bz2 |
parisc: Implement PDC_MODEL_GET_INSTALL_KERNEL function
The IPL loader on the HP-UX install CD asks firmware which "kernel/program" it
should start. By default HP-UX will load the "INSTALL" program, but on 64-bit
machines firmware can instead ask to boot the "WINSTALL" program.
Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r-- | src/parisc/parisc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c index 2e66a95..e933c80 100644 --- a/src/parisc/parisc.c +++ b/src/parisc/parisc.c @@ -1568,8 +1568,16 @@ static int pdc_model(unsigned long *arg) result[0] &= ~0x30; /* remove NVA bits, we have no issues with non-equiv. aliasing */ return PDC_OK; case PDC_MODEL_GET_INSTALL_KERNEL: - // No need to provide a special install kernel during installation of HP-UX - return PDC_BAD_OPTION; + /* default to IPL standard kernel on 32-bit OS */ + if (!is_64bit_PDC() || (enable_OS64 & PDC_MODEL_OS64) == 0) + return PDC_BAD_OPTION; + // dprintf(1, "Default install kernel from IPL is: %s\n", (char *)ARG3); + /* tell IPL to load 64-bit install kernel called "WINSTALL" */ + if (ARG5 > 9) + ARG5 = 9; + strtcpy((char *)ARG4, "WINSTALL", ARG5); + result[0] = ARG5; + return PDC_OK; case PDC_MODEL_GET_PLATFORM_INFO: if (1) /* not supported on B160L or C3700 */ return PDC_BAD_OPTION; |