diff options
author | Helge Deller <deller@gmx.de> | 2022-08-04 15:56:24 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2022-08-04 16:34:56 +0200 |
commit | 3859f95ffe7aa4bbc824de54cd871046115f358e (patch) | |
tree | f8c214a883de10a22e3156aaaf121eaea9827ae4 | |
parent | 01d9d5c44194976517589d2af6eb0434e4ca65dc (diff) | |
download | palo-3859f95ffe7aa4bbc824de54cd871046115f358e.tar.gz |
ipl: Use constants from pdc.h
Use the known constants from pdc.h instead of defining new constants.
Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r-- | ipl/bootloader.h | 2 | ||||
-rw-r--r-- | ipl/ipl.c | 7 | ||||
-rw-r--r-- | ipl/pdc_misc.c | 27 |
3 files changed, 14 insertions, 22 deletions
diff --git a/ipl/bootloader.h b/ipl/bootloader.h index e954984..0c0116d 100644 --- a/ipl/bootloader.h +++ b/ipl/bootloader.h @@ -21,8 +21,6 @@ int pdc_cons_mux(int *is_mux); int pdc_iodc_cin(char *buf, int size); void pdc_iodc_cout(const char *c, int size); int pdc_os_bits(); -#define OS_32 0x2 -#define OS_64 0x1 int pdc_iodc_bootin(unsigned devaddr, char *memaddr, unsigned size); int pdc_read_conspath(unsigned char *memaddr); int pdc_do_reset(void); @@ -736,7 +736,8 @@ iplmain(int is_interactive, char *initialstackptr, int started_wide) kernfd = -1; - if ((pdc_os_bits() & (OS_32|OS_64)) == (OS_32|OS_64)) + if ((pdc_os_bits() & (PDC_MODEL_OS32|PDC_MODEL_OS64)) + == (PDC_MODEL_OS32|PDC_MODEL_OS64)) { printf("\nThis box can boot either 32 or 64-bit kernels...\n"); if (f.kern32_offset == 0 && f.kern64_offset != 0) @@ -761,12 +762,12 @@ iplmain(int is_interactive, char *initialstackptr, int started_wide) } } - if (kernfd == -1 && (pdc_os_bits() & OS_64)) + if (kernfd == -1 && (pdc_os_bits() & PDC_MODEL_OS64)) { 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)) + else if (kernfd == -1 && (pdc_os_bits() & PDC_MODEL_OS32)) { printf("Choosing 32-bit kernel\n"); kernfd = offset_open(bootdev, f.kern32_offset, f.kern32_sz); diff --git a/ipl/pdc_misc.c b/ipl/pdc_misc.c index d0dfb91..f2231ab 100644 --- a/ipl/pdc_misc.c +++ b/ipl/pdc_misc.c @@ -13,13 +13,6 @@ #define PAGE0 ((struct zeropage *)0x00000000) -#define DEFAULT_W 0x2 -#define DEFAULT_E 0x1 -#define PDC_PSW 21 -#define PDC_RETURN_MASK 0 -#define PDC_RETURN_DEFAULTS 1 -#define PDC_SET_DEFAULTS 2 -#define PDC_STABLE 10 #define HPHW_A_DIRECT 5 #define MUX_SVERSION 0x0d @@ -149,40 +142,40 @@ pdc_default_width(int wide) /* Ask firmware which default PSW bits we're allowed to set */ - r = firmware_call(mem_pdc, PDC_PSW, PDC_RETURN_MASK, pdc_result); + r = firmware_call(mem_pdc, PDC_PSW, PDC_PSW_MASK, pdc_result); convert_from_wide(pdc_result); switch(r) { case 0: /* PDC call worked */ mask = pdc_result[0]; - if (wide && ((mask & DEFAULT_W) == 0)) + if (wide && ((mask & PDC_PSW_WIDE_BIT) == 0)) { die("Firmware does not allow selection of default wide mode.\n" "Are you trying to boot a 64-bit kernel on a 32-bit box?"); return 1; } /* get the current default bit settings */ - firmware_call(mem_pdc, PDC_PSW, PDC_RETURN_DEFAULTS, pdc_result); + firmware_call(mem_pdc, PDC_PSW, PDC_PSW_GET_DEFAULTS, pdc_result); convert_from_wide(pdc_result); if (wide) { - if ((mask & DEFAULT_W) == 0) { + if ((mask & PDC_PSW_WIDE_BIT) == 0) { die("Firmware does not allow selection of default wide mode.\n" "Are you trying to boot a 64-bit kernel on a 32-bit box?"); return 1; } - pdc_result[0] |= DEFAULT_W; + pdc_result[0] |= PDC_PSW_WIDE_BIT; } else { - pdc_result[0] &= ~DEFAULT_W; + pdc_result[0] &= ~PDC_PSW_WIDE_BIT; } - pdc_result[0] &= ~DEFAULT_E; + pdc_result[0] &= ~PDC_PSW_ENDIAN_BIT; /* Ask firmware to set the W bit appropriately */ - r = firmware_call(mem_pdc, PDC_PSW, PDC_SET_DEFAULTS, pdc_result[0]); + r = firmware_call(mem_pdc, PDC_PSW, PDC_PSW_SET_DEFAULTS, pdc_result[0]); if (r < 0) { - printf("PDC_SET_DEFAULTS returns error %d\n", r); + printf("PDC_PSW_SET_DEFAULTS returns error %d\n", r); die("Requested default wide/narrow mode not set"); return 1; } @@ -262,7 +255,7 @@ pdc_cons_mux(int *is_mux) r = firmware_call(mem_pdc, PDC_IODC, PDC_IODC_READ, pdc_result, PAGE0->mem_cons.hpa, - 0, pdc_result2, 32); + PDC_IODC_INDEX_DATA, pdc_result2, 32); if (r >= 0) { |