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
This commit is contained in:
committed by
Stefan Reinauer
parent
46a895e633
commit
074356ec81
@@ -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;
|
||||
|
Reference in New Issue
Block a user