- 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(a)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>