diff options
author | Stefan Reinauer <stepan@coresystems.de> | 2009-10-25 19:50:47 +0000 |
---|---|---|
committer | Stefan Reinauer <stepan@openbios.org> | 2009-10-25 19:50:47 +0000 |
commit | 074356ec819be284fb1e8d18a68678b72c5282da (patch) | |
tree | 9f92a9da412d3cb8be7958390164fe44d4b7ec16 /util/x86emu/yabel/io.c | |
parent | 46a895e633a6b4bd3f4a8391529cc069a8a8d04b (diff) | |
download | coreboot-074356ec819be284fb1e8d18a68678b72c5282da.tar.xz |
Option ROM init x86/x86emu update
- use default display in int 15 5f35
- move REALMODE_BASE to 0x600, 0x500 can be BDA
- add regparm for assembler functions
- use memset instead of own implementation
- YABEL: copy back the IVT, BDA and VBIOS. Some Xorg drivers require this.
- YABEL: use hardware timer instead of emulated timer, because the emulated
timer's base is never initialized (leading to division by zero if the
timer is really used)
Signed-off-by: Stefan Reinauer <stepan@coresystems.de>
Acked-by: Peter Stuge <peter@stuge.se>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4852 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/x86emu/yabel/io.c')
-rw-r--r-- | util/x86emu/yabel/io.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/util/x86emu/yabel/io.c b/util/x86emu/yabel/io.c index 16a8b58331..c2e6da818d 100644 --- a/util/x86emu/yabel/io.c +++ b/util/x86emu/yabel/io.c @@ -36,6 +36,9 @@ extern int write_io(void *, unsigned int, size_t); //defined in net-snk/kernel/timer.c extern u64 get_time(void); +#ifdef COREBOOT_V2 +#include <arch/io.h> +#else // these are not used, only needed for linking, must be overridden using X86emu_setupPioFuncs // with the functions and struct below void @@ -82,7 +85,7 @@ inl(u16 port) HALT_SYS(); return 0; } - +#endif u32 pci_cfg_read(X86EMU_pioAddr addr, u8 size); void pci_cfg_write(X86EMU_pioAddr addr, u32 val, u8 size); u8 handle_port_61h(void); @@ -106,7 +109,8 @@ my_inb(X86EMU_pioAddr addr) switch (addr) { case 0x61: //8254 KB Controller / Timer Port - rval = handle_port_61h(); + // rval = handle_port_61h(); + rval = inb(0x61); //DEBUG_PRINTF_IO("%s(%04x) KB / Timer Port B --> %02x\n", __func__, addr, rval); return rval; break; |