summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2022-08-04 15:56:24 +0200
committerHelge Deller <deller@gmx.de>2022-08-04 16:34:56 +0200
commit3859f95ffe7aa4bbc824de54cd871046115f358e (patch)
treef8c214a883de10a22e3156aaaf121eaea9827ae4
parent01d9d5c44194976517589d2af6eb0434e4ca65dc (diff)
downloadpalo-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.h2
-rw-r--r--ipl/ipl.c7
-rw-r--r--ipl/pdc_misc.c27
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);
diff --git a/ipl/ipl.c b/ipl/ipl.c
index ab8b8ee..ffa4112 100644
--- a/ipl/ipl.c
+++ b/ipl/ipl.c
@@ -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)
{