- Merge breakpoint.S and tblfush.S into cpu.S Deleted: trunk/reactos/ntoskrnl/ke/i386/brkpoint.S Added: trunk/reactos/ntoskrnl/ke/i386/cpu.S Deleted: trunk/reactos/ntoskrnl/ke/i386/tlbflush.S Modified: trunk/reactos/ntoskrnl/ntoskrnl.xml _____
Deleted: trunk/reactos/ntoskrnl/ke/i386/brkpoint.S --- trunk/reactos/ntoskrnl/ke/i386/brkpoint.S 2006-01-16 17:07:45 UTC (rev 20915) +++ trunk/reactos/ntoskrnl/ke/i386/brkpoint.S 2006-01-16 17:17:16 UTC (rev 20916) @@ -1,14 +0,0 @@
-/* $Id: brkpoint.c 15164 2005-05-09 01:38:29Z sedwards $ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS kernel - * FILE: ntoskrnl/ke/i386/brkpoint.c - * PURPOSE: Handles breakpoints - * - * PROGRAMMERS: No programmer listed. - */ - -.global _DbgBreakPointNoBugCheck@0 -_DbgBreakPointNoBugCheck@0: - int $3 - ret _____
Added: trunk/reactos/ntoskrnl/ke/i386/cpu.S --- trunk/reactos/ntoskrnl/ke/i386/cpu.S 2006-01-16 17:07:45 UTC (rev 20915) +++ trunk/reactos/ntoskrnl/ke/i386/cpu.S 2006-01-16 17:17:16 UTC (rev 20916) @@ -0,0 +1,46 @@
+/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Kernel + * FILE: ntoskrnl/ke/i386/cpu.S + * PURPOSE: Handles CPU-centric operations: TLB Flushes, Breakpoints, FPU + * PROGRAMMERS: Alex Ionescu + */ + +/* INCLUDES ******************************************************************/ + +#include <asm.h> +.intel_syntax noprefix + +/* GLOBALS ****************************************************************/ + + +/* FUNCTIONS ****************************************************************/ + +.global _DbgBreakPointNoBugCheck@0 +.func DbgBreakPointNoBugCheck@0 +_DbgBreakPointNoBugCheck@0: + int 3 + ret +.endfunc + +.globl _KeFlushCurrentTb@0 +.func KeFlushCurrentTb@0 +_KeFlushCurrentTb@0: + /* Check for global page support */ + test byte ptr [_Ke386GlobalPagesEnabled], 0xff + jz .L1 + + /* Modifying the PSE, PGE or PAE Flag in CR4 causes the TLB to be flushed */ + mov eax, cr4 + and eax, ~CR4_PGE + mov cr4, eax + or eax, CR4_PGE + mov cr4, eax + ret + +.L1: + /* the old way ... */ + mov eax, cr3 + mov cr3, eax + ret +.endfunc _____
Deleted: trunk/reactos/ntoskrnl/ke/i386/tlbflush.S --- trunk/reactos/ntoskrnl/ke/i386/tlbflush.S 2006-01-16 17:07:45 UTC (rev 20915) +++ trunk/reactos/ntoskrnl/ke/i386/tlbflush.S 2006-01-16 17:17:16 UTC (rev 20916) @@ -1,29 +0,0 @@
-/* - * i386-specific implemetation of Translation Buffer Flushing - * Written By: Alex Ionescu alex@relsoft.net - * Reference: IA-32 Intel« Architecture Software Developer's Manual, Volume 3: System Programming Guide, - * Chapter 10 - Memory Cache Control. Section 10.9 - Invalidating the Translation Lookaside Buffers - */ - -#include <internal/i386/ke.h> - - -.globl _KeFlushCurrentTb@0 -_KeFlushCurrentTb@0: - /* Check for global page support */ - testb $0xff, (_Ke386GlobalPagesEnabled) - jz .L1 - - /* Modifying the PSE, PGE or PAE Flag in CR4 causes the TLB to be flushed */ - movl %cr4, %eax - andl $~X86_CR4_PGE, %eax - movl %eax, %cr4 - orl $X86_CR4_PGE, %eax - movl %eax, %cr4 - ret - -.L1: - /* the old way ... */ - movl %cr3, %eax - movl %eax, %cr3 - ret _____
Modified: trunk/reactos/ntoskrnl/ntoskrnl.xml --- trunk/reactos/ntoskrnl/ntoskrnl.xml 2006-01-16 17:07:45 UTC (rev 20915) +++ trunk/reactos/ntoskrnl/ntoskrnl.xml 2006-01-16 17:17:16 UTC (rev 20916) @@ -25,7 +25,7 @@
<directory name="i386"> <file first="true">main_asm.S</file> <file>bios.c</file> - <file>brkpoint.S</file> + <file>cpu.S</file> <file>ctxswitch.S</file> <file>exp.c</file> <file>fpu.c</file> @@ -37,7 +37,6 @@ <file>ldt.c</file> <file>syscall.S</file> <file>thread.c</file> - <file>tlbflush.S</file> <file>trap.s</file> <file>tss.c</file> <file>usercall_asm.S</file>