From 7516bcfcdc2d07365a4a6528f4bf710639e77789 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Fri, 9 Feb 2024 14:01:44 +0100 Subject: 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 --- src/parisc/parisc.c | 12 ++++++++++-- 1 file 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; -- cgit v1.1