summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2014-04-10 22:47:24 +0200
committerHelge Deller <deller@gmx.de>2014-04-10 22:47:24 +0200
commitf89ac963192b24e7e581f8b45e4326571248b4be (patch)
tree5c967be15ab5fe4bce84b033c628c9ac14c0b544
parent52fe327a1be42a2fac435251b25c0c7a64c8f4a0 (diff)
downloadpalo-f89ac963192b24e7e581f8b45e4326571248b4be.tar.gz
IPL: Prefer to load 64bit kernel over 32bit kernel
The 64bit kernel is built with SMP (and stable nowadays), that way we can utilize and see all CPUs and all memory above 4GB.
-rw-r--r--ipl/ipl.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/ipl/ipl.c b/ipl/ipl.c
index 2664765..b3eb68c 100644
--- a/ipl/ipl.c
+++ b/ipl/ipl.c
@@ -651,8 +651,8 @@ iplmain(int is_interactive, char *initialstackptr, int started_wide)
}
else if (f.kern32_offset != 0 && f.kern64_offset != 0)
{
- printf("Both kernels available, choosing 32-bit kernel\n");
- kernfd = offset_open(bootdev, f.kern32_offset, f.kern32_sz);
+ printf("Both kernels available, choosing 64-bit kernel\n");
+ kernfd = offset_open(bootdev, f.kern64_offset, f.kern64_sz);
}
else
{
@@ -661,16 +661,16 @@ iplmain(int is_interactive, char *initialstackptr, int started_wide)
}
}
- if (kernfd == -1 && (pdc_os_bits() & OS_32))
- {
- printf("Choosing 32-bit kernel\n");
- kernfd = offset_open(bootdev, f.kern32_offset, f.kern32_sz);
- }
- else if (kernfd == -1 && (pdc_os_bits() & OS_64))
+ if (kernfd == -1 && (pdc_os_bits() & OS_64))
{
printf("Choosing 64-bit kernel\n");
kernfd = offset_open(bootdev, f.kern64_offset, f.kern64_sz);
}
+ else if (kernfd == -1 && (pdc_os_bits() & OS_32))
+ {
+ printf("Choosing 32-bit kernel\n");
+ kernfd = offset_open(bootdev, f.kern32_offset, f.kern32_sz);
+ }
}
/* FIXME!!! This *could* overwrite us -- probably should check */