diff options
author | Helge Deller <deller@gmx.de> | 2024-01-14 17:47:40 +0100 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2024-01-14 17:47:40 +0100 |
commit | 2e6d3df0054dcc2634caa668acf0d7eaf8e6529c (patch) | |
tree | 3baa8bb3e9db27d3cf4a07b854d73253e106b9d5 | |
parent | fb167450bd1b1cb6ae2a7d345d8698a6ad75937a (diff) | |
download | seabios-hppa-2e6d3df0054dcc2634caa668acf0d7eaf8e6529c.zip seabios-hppa-2e6d3df0054dcc2634caa668acf0d7eaf8e6529c.tar.gz seabios-hppa-2e6d3df0054dcc2634caa668acf0d7eaf8e6529c.tar.bz2 |
Fix serial & console I/O on 64-bit
-rw-r--r-- | src/output.c | 2 | ||||
-rw-r--r-- | src/parisc/parisc.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/output.c b/src/output.c index f6ce8ae..6a8b556 100644 --- a/src/output.c +++ b/src/output.c @@ -122,7 +122,7 @@ putc(struct putcinfo *action, char c) return; } -#if 0 +#if 1 void (*func)(struct putcinfo *info, char c) = GET_GLOBAL(action->func); func(action, c); #else diff --git a/src/parisc/parisc.c b/src/parisc/parisc.c index 42b8e31..86f80d1 100644 --- a/src/parisc/parisc.c +++ b/src/parisc/parisc.c @@ -989,10 +989,10 @@ static unsigned long parisc_serial_in(char *c, unsigned long maxchars) } else addr += 0x800; while (count < maxchars) { - u8 lsr = inb(addr+SEROFF_LSR); + u8 lsr = inb(F_EXTEND(addr+SEROFF_LSR)); if (lsr & 0x01) { // Success - can read data - *c++ = inb(addr+SEROFF_DATA); + *c++ = inb(F_EXTEND(addr+SEROFF_DATA)); count++; } if (timer_check(end)) @@ -1034,10 +1034,10 @@ static void parisc_serial_out(char c) parisc_serial_out('\r'); for (;;) { - u8 lsr = inb(addr+SEROFF_LSR); + u8 lsr = inb(F_EXTEND(addr+SEROFF_LSR)); if ((lsr & 0x60) == 0x60) { // Success - can write data - outb(c, addr+SEROFF_DATA); + outb(c, F_EXTEND(addr+SEROFF_DATA)); break; } } |