[PATCH 0/6] x86, setup: "glove box" BIOS interrupts

From: H. Peter Anvin
Date: Thu Apr 09 2009 - 19:06:58 EST


This is a patchset to "glove box" off BIOS interrupts in the x86 setup
code, thus hopefully dealing once and for all with the problems of
BIOSes touching registers they shouldn't.

The concept is simple: we manipulate a register image in memory, then
swap it in immediately before calling the BIOS, and then switch the
register file back. All BIOS interrupts are channeled through this path.

The increase in size is about 8% or ~1.3K in the maximal case.

arch/x86/boot/Makefile | 5 +-
arch/x86/boot/a20.c | 9 +-
arch/x86/boot/apm.c | 76 +++++--------
arch/x86/boot/bioscall.S | 82 +++++++++++++
arch/x86/boot/boot.h | 48 ++++++++
arch/x86/boot/edd.c | 71 +++++-------
arch/x86/boot/header.S | 2 +-
arch/x86/boot/main.c | 39 ++++---
arch/x86/boot/mca.c | 27 ++---
arch/x86/boot/memory.c | 81 +++++++-------
arch/x86/boot/regs.c | 29 +++++
arch/x86/boot/setup.ld | 6 +
arch/x86/boot/tty.c | 52 +++++----
arch/x86/boot/video-bios.c | 27 ++---
arch/x86/boot/video-vesa.c | 137 ++++++++++------------
arch/x86/boot/video-vga.c | 95 +++++++++------
arch/x86/boot/video.c | 42 +++----
arch/x86/boot/video.h | 14 ---
arch/x86/kernel/acpi/realmode/Makefile | 2 +-
arch/x86/kernel/acpi/realmode/bioscall.S | 1 +
arch/x86/kernel/acpi/realmode/regs.c | 1 +
21 files changed, 490 insertions(+), 356 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/