diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-11-05 06:54:48 +0100 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-11-05 06:54:48 +0100 |
commit | f5018135c04e55ff6bb902b52b2d54738acc80b1 (patch) | |
tree | 8cd804305f97c0e0f0c6502de8b0b879014e7423 /sys | |
parent | 563437cb6dca9aa9d50835ba0a4ac346af007332 (diff) |
vesa/realmode cleanup
Diffstat (limited to 'sys')
-rw-r--r-- | sys/src/9/pc/l.s | 1 | ||||
-rw-r--r-- | sys/src/9/pc/mem.h | 1 | ||||
-rw-r--r-- | sys/src/9/pc/vgavesa.c | 18 |
3 files changed, 6 insertions, 14 deletions
diff --git a/sys/src/9/pc/l.s b/sys/src/9/pc/l.s index 8f8534384..8926cc4c3 100644 --- a/sys/src/9/pc/l.s +++ b/sys/src/9/pc/l.s @@ -1,5 +1,4 @@ #include "mem.h" -#include "/sys/src/boot/pc/x16.h" #undef DELAY #define PADDR(a) ((a) & ~KZERO) diff --git a/sys/src/9/pc/mem.h b/sys/src/9/pc/mem.h index 3a688a675..f4257ade4 100644 --- a/sys/src/9/pc/mem.h +++ b/sys/src/9/pc/mem.h @@ -60,7 +60,6 @@ #define CONFADDR (KZERO+0x1200) /* info passed from boot loader */ #define TMPADDR (KZERO+0x2000) /* used for temporary mappings */ #define APBOOTSTRAP (KZERO+0x3000) /* AP bootstrap code */ -#define RMBUF (KZERO+0x9000) /* buffer for user space - known to vga */ #define IDTADDR (KZERO+0x10800) /* idt */ #define REBOOTADDR (0x11000) /* reboot code - physical address */ #define CPU0PDB (KZERO+0x12000) /* bootstrap processor PDB */ diff --git a/sys/src/9/pc/vgavesa.c b/sys/src/9/pc/vgavesa.c index 0f8adb2fd..3616e10f0 100644 --- a/sys/src/9/pc/vgavesa.c +++ b/sys/src/9/pc/vgavesa.c @@ -20,6 +20,8 @@ enum { Cdisable = 0, Cenable, Cblank, + + RealModeBuf = 0x9000, }; static void *hardscreen; @@ -37,26 +39,19 @@ static int vesactl; static uchar* vbesetup(Ureg *u, int ax) { - ulong pa; - - pa = PADDR(RMBUF); memset(modebuf, 0, sizeof modebuf); memset(u, 0, sizeof *u); u->ax = ax; - u->es = (pa>>4)&0xF000; - u->di = pa&0xFFFF; + u->es = (RealModeBuf>>4)&0xF000; + u->di = RealModeBuf&0xFFFF; return modebuf; } static void vbecall(Ureg *u) { - ulong pa; - - pa = PADDR(RMBUF); - if(devtab[cmem->type]->write(cmem, modebuf, sizeof(modebuf), pa) != sizeof(modebuf)) + if(devtab[cmem->type]->write(cmem, modebuf, sizeof(modebuf), RealModeBuf) != sizeof(modebuf)) error("write modebuf"); - u->trap = 0x10; if(devtab[creg->type]->write(creg, u, sizeof(*u), 0) != sizeof(*u)) error("write ureg"); @@ -64,8 +59,7 @@ vbecall(Ureg *u) error("read ureg"); if((u->ax&0xFFFF) != 0x004F) error("vesa bios error"); - - if(devtab[cmem->type]->read(cmem, modebuf, sizeof(modebuf), pa) != sizeof(modebuf)) + if(devtab[cmem->type]->read(cmem, modebuf, sizeof(modebuf), RealModeBuf) != sizeof(modebuf)) error("read modebuf"); } |