summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-11-05 06:54:48 +0100
committercinap_lenrek <cinap_lenrek@centraldogma>2011-11-05 06:54:48 +0100
commitf5018135c04e55ff6bb902b52b2d54738acc80b1 (patch)
tree8cd804305f97c0e0f0c6502de8b0b879014e7423 /sys/src
parent563437cb6dca9aa9d50835ba0a4ac346af007332 (diff)
vesa/realmode cleanup
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/9/pc/l.s1
-rw-r--r--sys/src/9/pc/mem.h1
-rw-r--r--sys/src/9/pc/vgavesa.c18
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");
}