kernel-ark/arch/i386/kernel
Zachary Amsden 3012d2d209 [PATCH] x86: Always relax segments
APM BIOSes have many bugs regarding proper representation of the appropriate
segment limits for calling the BIOS.  By default, APM_RELAX_SEGMENTS is always
turned on to support running the APM BIOS on these buggy machines.  Keeping
64k limits poses very little danger to the kernel, because the pages where the
APM BIOS is located will always be in low physical memory BIOS areas, which
should already be marked reserved, and only buggy BIOSes would possibly
overstep the segment bounds with writes to data anyway.

Since forcing stricter limits breaks many machines and is not default
behavior, it seems reasonable to deprecate the older code which may cause APM
BIOS to fault.

If you really have a badly enough broken APM BIOS that you have to turn off
APM_RELAX_SEGMENTS, seems like the best recourse here would be to disable the
APM BIOS and / or not compile it into your kernel to begin with, and / or add
your system to the known bad list.

The reason I want to deprecate this code is there is underlying brokenness
with the set_limit macros, and getting rid of many of the call sites rather
than rewriting them seems to be the simplest and most correct course of
action.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Acked-by: "Seth, Rohit" <rohit.seth@intel.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06 08:33:34 -08:00
..
acpi [ACPI] properly detect pmtimer on ASUS a8v motherboard 2005-11-30 22:27:16 -05:00
cpu [PATCH] x86: GDT alignment fix 2006-01-06 08:33:33 -08:00
timers [PATCH] x86: fix cpu_khz with clock=pit 2005-11-13 18:14:13 -08:00
apic.c
apm.c [PATCH] x86: Always relax segments 2006-01-06 08:33:34 -08:00
asm-offsets.c
bootflag.c
cpuid.c
crash.c [PATCH] drop "[PATCH] i386 kexec-on-panic: Don't shutdown the apics" 2005-11-15 08:59:18 -08:00
dmi_scan.c
doublefault.c
early_printk.c
efi_stub.S
efi.c [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
entry.S [PATCH] i386: NMI pointer comparison fix 2005-11-13 18:14:13 -08:00
head.S [PATCH] x86: GDT alignment fix 2006-01-06 08:33:33 -08:00
i386_ksyms.c [PATCH] x86: GDT alignment fix 2006-01-06 08:33:33 -08:00
i387.c
i8237.c
i8259.c
init_task.c
io_apic.c [PATCH] setting irq affinity is broken in ia32 with MSI enabled 2005-11-29 19:47:04 -08:00
ioport.c
irq.c
kprobes.c [PATCH] kprobes: increment kprobe missed count for multiprobes 2005-12-12 08:57:45 -08:00
ldt.c [PATCH] arch/i386/kernel/ldt.c should #include <asm/mmu_context.h> 2005-11-07 07:53:29 -08:00
machine_kexec.c
Makefile
mca.c
microcode.c
module.c
mpparse.c [PATCH] i386: Use bigsmp for > 8 core Opteron systems 2005-11-20 11:52:59 -08:00
msr.c
nmi.c
numaq.c
pci-dma.c
process.c [PATCH] x86: Cr4 is valid on some 486s 2006-01-06 08:33:34 -08:00
ptrace.c [PATCH] i386: PTRACE_POKEUSR: allow changing RF bit in EFLAGS register. 2006-01-05 20:50:51 -08:00
quirks.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
reboot_fixups.c [PATCH] arch/i386/kernel/reboot_fixups.c should #include <linux/reboot_fixups.h> 2005-11-07 07:53:29 -08:00
reboot.c [PATCH] fix rebooting on HP nc6120 laptop 2005-11-29 19:47:03 -08:00
relocate_kernel.S
scx200.c [PATCH] arch/i386/kernel/scx200.c should #include <linux/scx200_gpio.h> 2005-11-07 07:53:29 -08:00
semaphore.c
setup.c [PATCH] i386: EXPORT_SYMBOL(screen_info) even #ifndef CONFIG_VT 2005-11-09 07:56:36 -08:00
sigframe.h
signal.c
smp.c
smpboot.c [PATCH] x86: GDT alignment fix 2006-01-06 08:33:33 -08:00
srat.c [PATCH] x86_64: Make i386 compile again with fourth DMA32 zone 2005-11-14 19:55:13 -08:00
summit.c
sys_i386.c
syscall_table.S
sysenter.c
time_hpet.c
time.c
trampoline.S
traps.c [PATCH] i386: fix bound check IDT gate 2006-01-06 08:33:34 -08:00
vm86.c
vmlinux.lds.S
vsyscall-int80.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vsyscall-note.S
vsyscall-sigreturn.S
vsyscall-sysenter.S
vsyscall.lds.S
vsyscall.S