aboutsummaryrefslogtreecommitdiffstats
path: root/src/output.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2009-12-30 12:14:53 -0500
committerKevin O'Connor <kevin@koconnor.net>2009-12-30 12:14:53 -0500
commit871e0a0c142f7b2fcaa93600c5958d4ae4fa1394 (patch)
tree9b439bc44c321d659cd56c2cae71c917684b67d5 /src/output.c
parenteda2c83bfa9d54a6f751e31ea555e53966f60272 (diff)
downloadseabios-871e0a0c142f7b2fcaa93600c5958d4ae4fa1394.tar.gz
Add support for 32bit PCI BIOS entry.
Create a new code blob (code32seg) with support for 32bit functions that need to utilize explicit segment accesses. This code blob uses global variables relative to %gs and with a dynamic code offset (determined by get_global_offset()). Add BIOS32 structure and code. Add code for 32bit PCI BIOS code.
Diffstat (limited to 'src/output.c')
-rw-r--r--src/output.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/output.c b/src/output.c
index 3b0e0e7c..2e7175e4 100644
--- a/src/output.c
+++ b/src/output.c
@@ -87,8 +87,10 @@ putc_debug(struct putcinfo *action, char c)
// In segmented mode just need a dummy variable (putc_debug is always
// used anyway), and in 32bit flat mode need a pointer to the 32bit
// instance of putc_debug().
-#if MODESEGMENT
+#if MODE16
static struct putcinfo debuginfo VAR16;
+#elif MODESEGMENT
+static struct putcinfo debuginfo VAR32SEG;
#else
static struct putcinfo debuginfo = { putc_debug };
#endif