diff options
Diffstat (limited to 'arch/x86/lib/bios.c')
| -rw-r--r-- | arch/x86/lib/bios.c | 27 | 
1 files changed, 16 insertions, 11 deletions
| diff --git a/arch/x86/lib/bios.c b/arch/x86/lib/bios.c index 03f7360032c..de4578666fb 100644 --- a/arch/x86/lib/bios.c +++ b/arch/x86/lib/bios.c @@ -5,6 +5,9 @@   * Copyright (C) 2007 Advanced Micro Devices, Inc.   * Copyright (C) 2009-2010 coresystems GmbH   */ + +#define LOG_CATEGRORY	LOGC_ARCH +  #include <compiler.h>  #include <bios_emul.h>  #include <irq_func.h> @@ -228,7 +231,11 @@ static void vbe_set_graphics(int vesa_mode, struct vesa_state *mode_info)  {  	unsigned char *framebuffer; -	mode_info->video_mode = (1 << 14) | vesa_mode; +	/* +	 * bit 14 is linear-framebuffer mode +	 * bit 15 means don't clear the display +	 */ +	mode_info->video_mode = (1 << 14) | (1 << 15) | vesa_mode;  	vbe_get_mode_info(mode_info);  	framebuffer = (unsigned char *)(ulong)mode_info->vesa.phys_base_ptr; @@ -298,16 +305,14 @@ asmlinkage int interrupt_handler(u32 intnumber, u32 gsfs, u32 dses,  	cs = cs_ip >> 16;  	flags = stackflags; -#ifdef CONFIG_REALMODE_DEBUG -	debug("oprom: INT# 0x%x\n", intnumber); -	debug("oprom: eax: %08x ebx: %08x ecx: %08x edx: %08x\n", -	      eax, ebx, ecx, edx); -	debug("oprom: ebp: %08x esp: %08x edi: %08x esi: %08x\n", -	      ebp, esp, edi, esi); -	debug("oprom:  ip: %04x      cs: %04x   flags: %08x\n", -	      ip, cs, flags); -	debug("oprom: stackflags = %04x\n", stackflags); -#endif +	log_debug("oprom: INT# 0x%x\n", intnumber); +	log_debug("oprom: eax: %08x ebx: %08x ecx: %08x edx: %08x\n", +		  eax, ebx, ecx, edx); +	log_debug("oprom: ebp: %08x esp: %08x edi: %08x esi: %08x\n", +		  ebp, esp, edi, esi); +	log_debug("oprom:  ip: %04x      cs: %04x   flags: %08x\n", +		  ip, cs, flags); +	log_debug("oprom: stackflags = %04x\n", stackflags);  	/*  	 * Fetch arguments from the stack and put them to a place | 
