mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-25 14:56:03 +00:00
bios: vesa: Guard setting vesa mode with CONFIG_FRAMEBUFFER_SET_VESA_MODE
If CONFIG_FRAMEBUFFER_SET_VESA_MODE is not set, don't switch graphics card to VESA mode. This applies to both native mode and emulator mode of running the VGA BIOS. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
839c4e9c5b
commit
ca5eb0c5fb
2 changed files with 8 additions and 0 deletions
|
@ -185,6 +185,7 @@ static void setup_realmode_idt(void)
|
||||||
write_idt_stub((void *)0xffe6e, 0x1a);
|
write_idt_stub((void *)0xffe6e, 0x1a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE
|
||||||
static u8 vbe_get_mode_info(struct vbe_mode_info *mi)
|
static u8 vbe_get_mode_info(struct vbe_mode_info *mi)
|
||||||
{
|
{
|
||||||
u16 buffer_seg;
|
u16 buffer_seg;
|
||||||
|
@ -241,6 +242,7 @@ static void vbe_set_graphics(int vesa_mode, struct vbe_mode_info *mode_info)
|
||||||
mode_info->video_mode &= 0x3ff;
|
mode_info->video_mode &= 0x3ff;
|
||||||
vbe_set_mode(mode_info);
|
vbe_set_mode(mode_info);
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_FRAMEBUFFER_SET_VESA_MODE */
|
||||||
|
|
||||||
void bios_run_on_x86(struct udevice *dev, unsigned long addr, int vesa_mode,
|
void bios_run_on_x86(struct udevice *dev, unsigned long addr, int vesa_mode,
|
||||||
struct vbe_mode_info *mode_info)
|
struct vbe_mode_info *mode_info)
|
||||||
|
@ -273,8 +275,10 @@ void bios_run_on_x86(struct udevice *dev, unsigned long addr, int vesa_mode,
|
||||||
0x0);
|
0x0);
|
||||||
debug("done\n");
|
debug("done\n");
|
||||||
|
|
||||||
|
#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE
|
||||||
if (vesa_mode != -1)
|
if (vesa_mode != -1)
|
||||||
vbe_set_graphics(vesa_mode, mode_info);
|
vbe_set_graphics(vesa_mode, mode_info);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int interrupt_handler(u32 intnumber, u32 gsfs, u32 dses,
|
asmlinkage int interrupt_handler(u32 intnumber, u32 gsfs, u32 dses,
|
||||||
|
|
|
@ -65,6 +65,7 @@ static u32 saveBaseAddress20;
|
||||||
/* Addres im memory of VBE region */
|
/* Addres im memory of VBE region */
|
||||||
const int vbe_offset = 0x2000;
|
const int vbe_offset = 0x2000;
|
||||||
|
|
||||||
|
#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE
|
||||||
static const void *bios_ptr(const void *buf, BE_VGAInfo *vga_info,
|
static const void *bios_ptr(const void *buf, BE_VGAInfo *vga_info,
|
||||||
u32 x86_dword_ptr)
|
u32 x86_dword_ptr)
|
||||||
{
|
{
|
||||||
|
@ -215,6 +216,7 @@ static int atibios_set_vesa_mode(RMREGS *regs, int vesa_mode,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif /* CONFIG_FRAMEBUFFER_SET_VESA_MODE */
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
PARAMETERS:
|
PARAMETERS:
|
||||||
|
@ -263,11 +265,13 @@ static void PCI_doBIOSPOST(pci_dev_t pcidev, BE_VGAInfo *vga_info,
|
||||||
/*Cleanup and exit*/
|
/*Cleanup and exit*/
|
||||||
BE_getVGA(vga_info);
|
BE_getVGA(vga_info);
|
||||||
|
|
||||||
|
#ifdef CONFIG_FRAMEBUFFER_SET_VESA_MODE
|
||||||
/* Useful for debugging */
|
/* Useful for debugging */
|
||||||
if (0)
|
if (0)
|
||||||
atibios_debug_mode(vga_info, ®s, vesa_mode, mode_info);
|
atibios_debug_mode(vga_info, ®s, vesa_mode, mode_info);
|
||||||
if (vesa_mode != -1)
|
if (vesa_mode != -1)
|
||||||
atibios_set_vesa_mode(®s, vesa_mode, mode_info);
|
atibios_set_vesa_mode(®s, vesa_mode, mode_info);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
|
Loading…
Add table
Reference in a new issue