[PATCH 2/5] Invalidate IO permission bitmap.

Jan Klötzke <[email protected]> Fri, 16 May 2008 20:13:42 +0200
Newsgroups gmane.os.openbeos.kernel.devel
Message-ID <[email protected]>
The IO permission bitmap is always checked for virtual 8086 mode tasks.
Make sure it is invalid.
---
 src/system/kernel/arch/x86/arch_cpu.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/system/kernel/arch/x86/arch_cpu.c b/src/system/kernel/arch/x86/arch_cpu.c
index 3b2c949..e175e56 100644
--- a/src/system/kernel/arch/x86/arch_cpu.c
+++ b/src/system/kernel/arch/x86/arch_cpu.c
@@ -229,6 +229,7 @@ init_double_fault(int cpuNum)
 	tss->fs = KERNEL_DATA_SEG;
 	tss->gs = KERNEL_DATA_SEG;
 	tss->ldt_seg_selector = 0;
+	tss->io_map_base = sizeof(struct tss);
 
 	// add TSS descriptor for this new TSS
 	set_tss_descriptor(&gGDT[DOUBLE_FAULT_TSS_BASE_SEGMENT + cpuNum],
@@ -501,6 +502,7 @@ arch_cpu_init_post_vm(kernel_args *args)
 		// structure
 		memset(&gCPU[i].arch.tss, 0, sizeof(struct tss));
 		gCPU[i].arch.tss.ss0 = KERNEL_DATA_SEG;
+		gCPU[i].arch.tss.io_map_base = sizeof(struct tss);
 
 		// add TSS descriptor for this new TSS
 		set_tss_descriptor(&gGDT[TSS_BASE_SEGMENT + i],
-- 
1.5.4.2


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008. 
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/