[ros-diffs] [ros-arm-bringup] 32664: - Make another kind of page fault also be handleable by our hacked-up handler: paged pool now fully works. - Current status: we now make it all the way to the first system call at the end of Phase 0! - We now make the IRQL routines modify the IRQL saved in the KPCR, to make some assertions work. - Build mem.c and memgen.c from RTL in order to get non-optimized but portable Rtl*Memory routines and Rtl*Swap routines. - Take the PPC non-optimized but portable Ex*Interlocked* routines and make them available for ARM as well. Play with the code a bit to get other routines in there too. - Major TODO: Cleanup these routines, re-format them, make them compatible for all architectures, and later on, provided optimized ARM versions. - Remove _all* _aull* MSVC-i386 helper exports from the kernel, as well as Exfi386* routines -- they're only for x86 kernels.

ros-arm-bringup at svn.reactos.org ros-arm-bringup at svn.reactos.org
Wed Mar 12 01:13:10 CET 2008


Author: ros-arm-bringup
Date: Tue Mar 11 19:13:09 2008
New Revision: 32664

URL: http://svn.reactos.org/svn/reactos?rev=3D32664&view=3Drev
Log:
- Make another kind of page fault also be handleable by our hacked-up handl=
er: paged pool now fully works.
- Current status: we now make it all the way to the first system call at th=
e end of Phase 0!
- We now make the IRQL routines modify the IRQL saved in the KPCR, to make =
some assertions work.
- Build mem.c and memgen.c from RTL in order to get non-optimized but porta=
ble Rtl*Memory routines and Rtl*Swap routines.
- Take the PPC non-optimized but portable Ex*Interlocked* routines and make=
 them available for ARM as well. Play with the code a bit to get other rout=
ines in there too.
- Major TODO: Cleanup these routines, re-format them, make them compatible =
for all architectures, and later on, provided optimized ARM versions.
- Remove _all* _aull* MSVC-i386 helper exports from the kernel, as well as =
Exfi386* routines -- they're only for x86 kernels.

Added:
    trunk/reactos/ntoskrnl/ex/fastinterlck.c   (contents, props changed)
      - copied, changed from r32654, trunk/reactos/ntoskrnl/ex/powerpc/fast=
interlck.c
Removed:
    trunk/reactos/ntoskrnl/ex/powerpc/fastinterlck.c
Modified:
    trunk/reactos/hal/halarm/generic/hal.c
    trunk/reactos/lib/rtl/rtl.rbuild
    trunk/reactos/ntoskrnl/ke/arm/stubs_asm.s
    trunk/reactos/ntoskrnl/ke/arm/thrdini.c
    trunk/reactos/ntoskrnl/ke/arm/trapc.c
    trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
    trunk/reactos/ntoskrnl/ntoskrnl_arm.def

Modified: trunk/reactos/hal/halarm/generic/hal.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/hal/halarm/generic/ha=
l.c?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/hal/halarm/generic/hal.c (original)
+++ trunk/reactos/hal/halarm/generic/hal.c Tue Mar 11 19:13:09 2008
@@ -769,7 +769,8 @@
 KfLowerIrql(
   KIRQL NewIrql)
 {
-  UNIMPLEMENTED;
+    KeGetPcr()->CurrentIrql =3D NewIrql;
+    UNIMPLEMENTED;
 }
 =

 =

@@ -778,9 +779,11 @@
 KfRaiseIrql(
   KIRQL NewIrql)
 {
-  UNIMPLEMENTED;
-
-  return (KIRQL)0;
+    KIRQL OldIrql =3D KeGetPcr()->CurrentIrql;
+    KeGetPcr()->CurrentIrql =3D NewIrql;
+    UNIMPLEMENTED;
+
+    return OldIrql;
 }
 =

 VOID
@@ -912,22 +915,28 @@
 KIRQL
 KeSwapIrql(IN KIRQL Irql)
 {
+    KIRQL OldIrql =3D KeGetPcr()->CurrentIrql;
+    KeGetPcr()->CurrentIrql =3D Irql;
     UNIMPLEMENTED;
-    return 0;
+    return OldIrql;
 }
 =

 KIRQL
 KeRaiseIrqlToDpcLevel(VOID)
 {
+    KIRQL OldIrql =3D KeGetPcr()->CurrentIrql;
+    KeGetPcr()->CurrentIrql =3D SYNCH_LEVEL;
     UNIMPLEMENTED;
-    return 0;
+    return OldIrql;
 }
 =

 KIRQL
 KeRaiseIrqlToSynchLevel(VOID)
 {
+    KIRQL OldIrql =3D KeGetPcr()->CurrentIrql;
+    KeGetPcr()->CurrentIrql =3D SYNCH_LEVEL;
     UNIMPLEMENTED;
-    return 0;
+    return OldIrql;
 }
 =

 BOOLEAN HalpProcessorIdentified;

Modified: trunk/reactos/lib/rtl/rtl.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/rtl/rtl.rbuild?re=
v=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/lib/rtl/rtl.rbuild (original)
+++ trunk/reactos/lib/rtl/rtl.rbuild Tue Mar 11 19:13:09 2008
@@ -33,6 +33,8 @@
 		<directory name=3D"arm">
 			<file>debug_asm.S</file>
 		</directory>
+        <file>mem.c</file>
+        <file>memgen.c</file>
 	</if>
 	<directory name=3D"austin">
 		<file>avl.c</file>

Copied: trunk/reactos/ntoskrnl/ex/fastinterlck.c (from r32654, trunk/reacto=
s/ntoskrnl/ex/powerpc/fastinterlck.c)
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/fastinter=
lck.c?p2=3Dtrunk/reactos/ntoskrnl/ex/fastinterlck.c&p1=3Dtrunk/reactos/ntos=
krnl/ex/powerpc/fastinterlck.c&r1=3D32654&r2=3D32664&rev=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ex/powerpc/fastinterlck.c (original)
+++ trunk/reactos/ntoskrnl/ex/fastinterlck.c Tue Mar 11 19:13:09 2008
@@ -1,293 +1,370 @@
-/*
- * PROJECT:         ReactOS Kernel
- * COPYRIGHT:       GPL - See COPYING in the top level directory
- * FILE:            ntoskrnl/ex/powerpc/fastinterlck.c
- * PURPOSE:         Executive Atom Functions
- * PROGRAMMERS:     Art Yerkes
- */
-
-/* INCLUDES **************************************************************=
***/
-
-#include <ntoskrnl.h>
-#include <internal/debug.h>
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExInterlockedFlushSList(IN PSLIST_HEADER  ListHead)
-{
-    PSLIST_ENTRY NewHead =3D NULL;
-    _InterlockedExchangePointer((PVOID *)&ListHead->Next.Next, &NewHead);
-    return NewHead;
-}
-
-#undef ExInterlockedPushEntrySList
-NTKERNELAPI
-PSLIST_ENTRY
-FASTCALL
-ExInterlockedPushEntrySList
-(IN PSLIST_HEADER  ListHead,
- IN PSLIST_ENTRY  ListEntry)
-{
-    return InterlockedPushEntrySList(ListHead, ListEntry);
-}
-
-#undef ExInterlockedPopEntrySList
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPopEntrySList(
-  IN PSLIST_HEADER  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return InterlockedPopEntrySList(ListHead);
-}
-
-#undef ExInterlockedAddULong
-NTKERNELAPI
-ULONG
-NTAPI
-ExfInterlockedAddUlong(
-  IN PULONG  Addend,
-  IN ULONG  Increment,
-  PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    KeAcquireSpinLock(Lock, &OldIrql);
-    *Addend +=3D Increment;
-    KeReleaseSpinLock(Lock, OldIrql);
-    return *Addend;
-}
-
-NTKERNELAPI
-LONGLONG
-FASTCALL
-ExfInterlockedCompareExchange64(
-  IN OUT LONGLONG volatile  *Destination,
-  IN PLONGLONG  Exchange,
-  IN PLONGLONG  Comperand)
-{
-    return _InterlockedCompareExchange64(Destination, *Exchange, *Comperan=
d);
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedInsertHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock, &OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
-    InsertHeadList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedInsertTailList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
-    InsertTailList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExfInterlockedPopEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExfInterlockedPushEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PSINGLE_LIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedRemoveHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return ExInterlockedRemoveHeadList(ListHead, Lock);
-}
-
-NTKERNELAPI
-INTERLOCKED_RESULT
-FASTCALL
-Exfi386InterlockedIncrementLong(
-  IN PLONG  Addend)
-{
-    return InterlockedIncrement(Addend);
-}
-
-NTKERNELAPI
-INTERLOCKED_RESULT
-FASTCALL
-Exfi386InterlockedDecrementLong(
-  IN PLONG  Addend)
-{
-    return InterlockedDecrement(Addend);
-}
-
-NTKERNELAPI
-ULONG
-FASTCALL
-Exfi386InterlockedExchangeUlong(
-  IN PULONG  Target,
-  IN ULONG  Value)
-{
-    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
-}
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-ExInterlockedAddLargeInteger(
-  IN PLARGE_INTEGER  Addend,
-  IN LARGE_INTEGER  Increment,
-  IN PKSPIN_LOCK  Lock)
-{
-    LARGE_INTEGER tmp, comp, outnum;
-
-    do {
-        tmp.QuadPart =3D Addend->QuadPart + Increment.QuadPart;
-        comp =3D *Addend;
-        outnum.QuadPart =3D _InterlockedCompareExchange64
-            (&Addend->QuadPart, tmp.QuadPart, comp.QuadPart);
-    } while(outnum.QuadPart !=3D comp.QuadPart);
-
-    return outnum;
-}
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExInterlockedAddUlong(
-  IN PULONG  Addend,
-  IN ULONG  Increment,
-  PKSPIN_LOCK  Lock)
-{
-    return (ULONG)_InterlockedExchangeAdd((PLONG)Addend, Increment);
-}
-
-#undef ExInterlockedIncrementLong
-NTKERNELAPI
-INTERLOCKED_RESULT
-NTAPI
-ExInterlockedIncrementLong(
-    IN PLONG  Addend,
-    IN PKSPIN_LOCK Lock)
-{
-    return _InterlockedIncrement(Addend);
-}
-
-#undef ExInterlockedDecrementLong
-NTKERNELAPI
-INTERLOCKED_RESULT
-NTAPI
-ExInterlockedDecrementLong(
-    IN PLONG  Addend,
-    IN PKSPIN_LOCK Lock)
-{
-    return _InterlockedDecrement(Addend);
-}
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExInterlockedExchangeUlong(
-  IN PULONG  Target,
-  IN ULONG  Value,
-  IN PKSPIN_LOCK Lock)
-{
-    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedInsertHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
-    InsertHeadList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedInsertTailList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
-    InsertTailList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPopEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPushEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PSINGLE_LIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedRemoveHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
+/*
+ * PROJECT:         ReactOS Kernel
+ * COPYRIGHT:       GPL - See COPYING in the top level directory
+ * FILE:            ntoskrnl/ex/powerpc/fastinterlck.c
+ * PURPOSE:         Executive Atom Functions
+ * PROGRAMMERS:     Art Yerkes
+ */
+
+/* INCLUDES **************************************************************=
***/
+
+#include <ntoskrnl.h>
+#include <internal/debug.h>
+
+NTKERNELAPI
+PSLIST_ENTRY
+NTAPI
+InterlockedPushEntrySList(IN PSLIST_HEADER ListHead,
+                          IN PSLIST_ENTRY ListEntry)
+{
+    =

+    PSINGLE_LIST_ENTRY FirstEntry, NextEntry, Entry =3D (PVOID)ListEntry, =
Head =3D (PVOID)ListHead;
+    =

+    FirstEntry =3D Head->Next;
+    do
+    {
+        Entry->Next =3D FirstEntry;
+        NextEntry =3D FirstEntry;
+        FirstEntry =3D (PVOID)_InterlockedCompareExchange((PLONG)Head, (LO=
NG)Entry, (LONG)FirstEntry);
+    } while (FirstEntry !=3D NextEntry);
+    =

+    return FirstEntry;
+}
+
+NTKERNELAPI
+PSLIST_ENTRY
+NTAPI
+InterlockedPopEntrySList(IN PSLIST_HEADER ListHead)
+{
+    PSINGLE_LIST_ENTRY FirstEntry, NextEntry, Head =3D (PVOID)ListHead;
+    =

+    FirstEntry =3D Head->Next;
+    do
+    {
+        if (!FirstEntry) return NULL;
+
+        NextEntry =3D FirstEntry;
+        FirstEntry =3D (PVOID)_InterlockedCompareExchange((PLONG)Head, (LO=
NG)FirstEntry->Next, (LONG)FirstEntry);
+    } while (FirstEntry !=3D NextEntry);
+
+    return FirstEntry;    =

+}
+
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+FASTCALL
+ExInterlockedFlushSList(IN PSLIST_HEADER ListHead)
+{
+    return (PVOID)_InterlockedExchange((PLONG)&ListHead->Next.Next, (LONG)=
NULL);
+}
+
+#undef ExInterlockedPushEntrySList
+NTKERNELAPI
+PSLIST_ENTRY
+FASTCALL
+ExInterlockedPushEntrySList
+(IN PSLIST_HEADER  ListHead,
+ IN PSLIST_ENTRY  ListEntry)
+{
+    return InterlockedPushEntrySList(ListHead, ListEntry);
+}
+
+#undef ExInterlockedPopEntrySList
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+NTAPI
+ExInterlockedPopEntrySList(
+  IN PSLIST_HEADER  ListHead,
+  IN PKSPIN_LOCK  Lock)
+{
+    return InterlockedPopEntrySList(ListHead);
+}
+
+#undef ExInterlockedAddULong
+NTKERNELAPI
+ULONG
+NTAPI
+ExfInterlockedAddUlong(
+  IN PULONG  Addend,
+  IN ULONG  Increment,
+  PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    KeAcquireSpinLock(Lock, &OldIrql);
+    *Addend +=3D Increment;
+    KeReleaseSpinLock(Lock, OldIrql);
+    return *Addend;
+}
+
+NTKERNELAPI
+LONGLONG
+FASTCALL
+ExfInterlockedCompareExchange64(
+  IN OUT LONGLONG volatile  *Destination,
+  IN PLONGLONG  Exchange,
+  IN PLONGLONG  Comperand)
+{
+    LONGLONG Result;
+    =

+    Result =3D *Destination;
+    if (*Destination =3D=3D Result) *Destination =3D *Exchange;
+    return Result;
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+FASTCALL
+ExfInterlockedInsertHeadList(
+  IN PLIST_ENTRY  ListHead,
+  IN PLIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PLIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock, &OldIrql);
+    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
+    InsertHeadList(ListHead, ListEntry);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+FASTCALL
+ExfInterlockedInsertTailList(
+  IN PLIST_ENTRY  ListHead,
+  IN PLIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PLIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
+    InsertTailList(ListHead, ListEntry);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+FASTCALL
+ExfInterlockedPopEntryList(
+  IN PSINGLE_LIST_ENTRY  ListHead,
+  IN PKSPIN_LOCK  Lock)
+{
+    return NULL;
+}
+
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+FASTCALL
+ExfInterlockedPushEntryList(
+  IN PSINGLE_LIST_ENTRY  ListHead,
+  IN PSINGLE_LIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    return NULL;
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+FASTCALL
+ExfInterlockedRemoveHeadList(
+  IN PLIST_ENTRY  ListHead,
+  IN PKSPIN_LOCK  Lock)
+{
+    return ExInterlockedRemoveHeadList(ListHead, Lock);
+}
+
+NTKERNELAPI
+INTERLOCKED_RESULT
+FASTCALL
+Exfi386InterlockedIncrementLong(
+  IN PLONG  Addend)
+{
+    return InterlockedIncrement(Addend);
+}
+
+NTKERNELAPI
+INTERLOCKED_RESULT
+FASTCALL
+Exfi386InterlockedDecrementLong(
+  IN PLONG  Addend)
+{
+    return InterlockedDecrement(Addend);
+}
+
+NTKERNELAPI
+ULONG
+FASTCALL
+Exfi386InterlockedExchangeUlong(
+  IN PULONG  Target,
+  IN ULONG  Value)
+{
+    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
+}
+
+NTKERNELAPI
+LARGE_INTEGER
+NTAPI
+ExInterlockedAddLargeInteger(
+  IN PLARGE_INTEGER  Addend,
+  IN LARGE_INTEGER  Increment,
+  IN PKSPIN_LOCK  Lock)
+{
+    LARGE_INTEGER Integer =3D {{0}};
+    UNIMPLEMENTED;
+    return Integer;
+}
+
+NTKERNELAPI
+ULONG
+NTAPI
+ExInterlockedAddUlong(
+  IN PULONG  Addend,
+  IN ULONG  Increment,
+  PKSPIN_LOCK  Lock)
+{
+    return (ULONG)_InterlockedExchangeAdd((PLONG)Addend, Increment);
+}
+
+#undef ExInterlockedIncrementLong
+NTKERNELAPI
+INTERLOCKED_RESULT
+NTAPI
+ExInterlockedIncrementLong(
+    IN PLONG  Addend,
+    IN PKSPIN_LOCK Lock)
+{
+    return _InterlockedIncrement(Addend);
+}
+
+#undef ExInterlockedDecrementLong
+NTKERNELAPI
+INTERLOCKED_RESULT
+NTAPI
+ExInterlockedDecrementLong(
+    IN PLONG  Addend,
+    IN PKSPIN_LOCK Lock)
+{
+    return _InterlockedDecrement(Addend);
+}
+
+NTKERNELAPI
+ULONG
+NTAPI
+ExInterlockedExchangeUlong(
+  IN PULONG  Target,
+  IN ULONG  Value,
+  IN PKSPIN_LOCK Lock)
+{
+    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+NTAPI
+ExInterlockedInsertHeadList(
+  IN PLIST_ENTRY  ListHead,
+  IN PLIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PLIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
+    InsertHeadList(ListHead, ListEntry);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+NTAPI
+ExInterlockedInsertTailList(
+  IN PLIST_ENTRY  ListHead,
+  IN PLIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PLIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
+    InsertTailList(ListHead, ListEntry);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+NTAPI
+ExInterlockedPopEntryList(
+  IN PSINGLE_LIST_ENTRY  ListHead,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PSINGLE_LIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    OldHead =3D PopEntryList(ListHead);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PSINGLE_LIST_ENTRY
+NTAPI
+ExInterlockedPushEntryList(
+  IN PSINGLE_LIST_ENTRY  ListHead,
+  IN PSINGLE_LIST_ENTRY  ListEntry,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PSINGLE_LIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    OldHead =3D PushEntryList(ListHead, ListEntry);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+PLIST_ENTRY
+NTAPI
+ExInterlockedRemoveHeadList(
+  IN PLIST_ENTRY  ListHead,
+  IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    PLIST_ENTRY OldHead =3D NULL;
+    KeAcquireSpinLock(Lock,&OldIrql);
+    OldHead =3D RemoveHeadList(ListHead);
+    KeReleaseSpinLock(Lock, OldIrql);
+    return OldHead;
+}
+
+NTKERNELAPI
+VOID
+FASTCALL
+ExInterlockedAddLargeStatistic
+(IN PLARGE_INTEGER  Addend,
+ IN ULONG  Increment)
+{
+    UNIMPLEMENTED;
+}
+
+NTKERNELAPI
+LONGLONG
+FASTCALL
+ExInterlockedCompareExchange64(IN OUT PLONGLONG  Destination,
+                               IN PLONGLONG  Exchange,
+                               IN PLONGLONG  Comparand,
+                               IN PKSPIN_LOCK  Lock)
+{
+    KIRQL OldIrql;
+    LONGLONG Result;
+    =

+    KeAcquireSpinLock(Lock, &OldIrql);
+    Result =3D *Destination;
+    if (*Destination =3D=3D Result) *Destination =3D *Exchange;
+    KeReleaseSpinLock(Lock, OldIrql);
+    return Result;
+}

Propchange: trunk/reactos/ntoskrnl/ex/fastinterlck.c
---------------------------------------------------------------------------=
---
    svn:eol-style =3D native

Propchange: trunk/reactos/ntoskrnl/ex/fastinterlck.c
---------------------------------------------------------------------------=
---
    svn:mime-type =3D text/plain

Removed: trunk/reactos/ntoskrnl/ex/powerpc/fastinterlck.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ex/powerpc/f=
astinterlck.c?rev=3D32663&view=3Dauto
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ex/powerpc/fastinterlck.c (original)
+++ trunk/reactos/ntoskrnl/ex/powerpc/fastinterlck.c (removed)
@@ -1,293 +1,0 @@
-/*
- * PROJECT:         ReactOS Kernel
- * COPYRIGHT:       GPL - See COPYING in the top level directory
- * FILE:            ntoskrnl/ex/powerpc/fastinterlck.c
- * PURPOSE:         Executive Atom Functions
- * PROGRAMMERS:     Art Yerkes
- */
-
-/* INCLUDES **************************************************************=
***/
-
-#include <ntoskrnl.h>
-#include <internal/debug.h>
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExInterlockedFlushSList(IN PSLIST_HEADER  ListHead)
-{
-    PSLIST_ENTRY NewHead =3D NULL;
-    _InterlockedExchangePointer((PVOID *)&ListHead->Next.Next, &NewHead);
-    return NewHead;
-}
-
-#undef ExInterlockedPushEntrySList
-NTKERNELAPI
-PSLIST_ENTRY
-FASTCALL
-ExInterlockedPushEntrySList
-(IN PSLIST_HEADER  ListHead,
- IN PSLIST_ENTRY  ListEntry)
-{
-    return InterlockedPushEntrySList(ListHead, ListEntry);
-}
-
-#undef ExInterlockedPopEntrySList
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPopEntrySList(
-  IN PSLIST_HEADER  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return InterlockedPopEntrySList(ListHead);
-}
-
-#undef ExInterlockedAddULong
-NTKERNELAPI
-ULONG
-NTAPI
-ExfInterlockedAddUlong(
-  IN PULONG  Addend,
-  IN ULONG  Increment,
-  PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    KeAcquireSpinLock(Lock, &OldIrql);
-    *Addend +=3D Increment;
-    KeReleaseSpinLock(Lock, OldIrql);
-    return *Addend;
-}
-
-NTKERNELAPI
-LONGLONG
-FASTCALL
-ExfInterlockedCompareExchange64(
-  IN OUT LONGLONG volatile  *Destination,
-  IN PLONGLONG  Exchange,
-  IN PLONGLONG  Comperand)
-{
-    return _InterlockedCompareExchange64(Destination, *Exchange, *Comperan=
d);
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedInsertHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock, &OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
-    InsertHeadList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedInsertTailList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
-    InsertTailList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExfInterlockedPopEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-FASTCALL
-ExfInterlockedPushEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PSINGLE_LIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-FASTCALL
-ExfInterlockedRemoveHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return ExInterlockedRemoveHeadList(ListHead, Lock);
-}
-
-NTKERNELAPI
-INTERLOCKED_RESULT
-FASTCALL
-Exfi386InterlockedIncrementLong(
-  IN PLONG  Addend)
-{
-    return InterlockedIncrement(Addend);
-}
-
-NTKERNELAPI
-INTERLOCKED_RESULT
-FASTCALL
-Exfi386InterlockedDecrementLong(
-  IN PLONG  Addend)
-{
-    return InterlockedDecrement(Addend);
-}
-
-NTKERNELAPI
-ULONG
-FASTCALL
-Exfi386InterlockedExchangeUlong(
-  IN PULONG  Target,
-  IN ULONG  Value)
-{
-    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
-}
-
-NTKERNELAPI
-LARGE_INTEGER
-NTAPI
-ExInterlockedAddLargeInteger(
-  IN PLARGE_INTEGER  Addend,
-  IN LARGE_INTEGER  Increment,
-  IN PKSPIN_LOCK  Lock)
-{
-    LARGE_INTEGER tmp, comp, outnum;
-
-    do {
-        tmp.QuadPart =3D Addend->QuadPart + Increment.QuadPart;
-        comp =3D *Addend;
-        outnum.QuadPart =3D _InterlockedCompareExchange64
-            (&Addend->QuadPart, tmp.QuadPart, comp.QuadPart);
-    } while(outnum.QuadPart !=3D comp.QuadPart);
-
-    return outnum;
-}
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExInterlockedAddUlong(
-  IN PULONG  Addend,
-  IN ULONG  Increment,
-  PKSPIN_LOCK  Lock)
-{
-    return (ULONG)_InterlockedExchangeAdd((PLONG)Addend, Increment);
-}
-
-#undef ExInterlockedIncrementLong
-NTKERNELAPI
-INTERLOCKED_RESULT
-NTAPI
-ExInterlockedIncrementLong(
-    IN PLONG  Addend,
-    IN PKSPIN_LOCK Lock)
-{
-    return _InterlockedIncrement(Addend);
-}
-
-#undef ExInterlockedDecrementLong
-NTKERNELAPI
-INTERLOCKED_RESULT
-NTAPI
-ExInterlockedDecrementLong(
-    IN PLONG  Addend,
-    IN PKSPIN_LOCK Lock)
-{
-    return _InterlockedDecrement(Addend);
-}
-
-NTKERNELAPI
-ULONG
-NTAPI
-ExInterlockedExchangeUlong(
-  IN PULONG  Target,
-  IN ULONG  Value,
-  IN PKSPIN_LOCK Lock)
-{
-    return (ULONG)_InterlockedExchange((PLONG)Target, Value);
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedInsertHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Flink;
-    InsertHeadList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedInsertTailList(
-  IN PLIST_ENTRY  ListHead,
-  IN PLIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    KIRQL OldIrql;
-    PLIST_ENTRY OldHead =3D NULL;
-    KeAcquireSpinLock(Lock,&OldIrql);
-    if (!IsListEmpty(ListHead)) OldHead =3D ListEntry->Blink;
-    InsertTailList(ListHead, ListEntry);
-    KeReleaseSpinLock(Lock, OldIrql);
-    return OldHead;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPopEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PSINGLE_LIST_ENTRY
-NTAPI
-ExInterlockedPushEntryList(
-  IN PSINGLE_LIST_ENTRY  ListHead,
-  IN PSINGLE_LIST_ENTRY  ListEntry,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}
-
-NTKERNELAPI
-PLIST_ENTRY
-NTAPI
-ExInterlockedRemoveHeadList(
-  IN PLIST_ENTRY  ListHead,
-  IN PKSPIN_LOCK  Lock)
-{
-    return NULL;
-}

Modified: trunk/reactos/ntoskrnl/ke/arm/stubs_asm.s
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/stubs=
_asm.s?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ke/arm/stubs_asm.s (original)
+++ trunk/reactos/ntoskrnl/ke/arm/stubs_asm.s Tue Mar 11 19:13:09 2008
@@ -1,38 +1,4 @@
 #include <internal/arm/asmmacro.S>
-
-//
-// Interlocked APIs
-//
-GENERATE_ARM_STUB ExInterlockedAddLargeInteger =

-GENERATE_ARM_STUB ExInterlockedAddLargeStatistic =

-GENERATE_ARM_STUB ExInterlockedAddUlong =

-GENERATE_ARM_STUB ExInterlockedCompareExchange64
-GENERATE_ARM_STUB ExInterlockedDecrementLong =

-GENERATE_ARM_STUB ExInterlockedExchangeUlong =

-GENERATE_ARM_STUB ExInterlockedFlushSList =

-GENERATE_ARM_STUB ExInterlockedIncrementLong =

-GENERATE_ARM_STUB ExInterlockedInsertHeadList =

-GENERATE_ARM_STUB ExInterlockedInsertTailList =

-GENERATE_ARM_STUB ExInterlockedPopEntryList =

-GENERATE_ARM_STUB ExInterlockedPopEntrySList =

-GENERATE_ARM_STUB ExInterlockedPushEntryList =

-GENERATE_ARM_STUB ExInterlockedPushEntrySList =

-GENERATE_ARM_STUB ExInterlockedRemoveHeadList =

-GENERATE_ARM_STUB ExfInterlockedAddUlong =

-GENERATE_ARM_STUB ExfInterlockedCompareExchange64
-GENERATE_ARM_STUB ExfInterlockedInsertHeadList =

-GENERATE_ARM_STUB ExfInterlockedInsertTailList =

-GENERATE_ARM_STUB ExfInterlockedPopEntryList =

-GENERATE_ARM_STUB ExfInterlockedPushEntryList =

-GENERATE_ARM_STUB ExfInterlockedRemoveHeadList =

-GENERATE_ARM_STUB Exfi386InterlockedDecrementLong =

-GENERATE_ARM_STUB Exfi386InterlockedExchangeUlong =

-GENERATE_ARM_STUB Exfi386InterlockedIncrementLong =

-GENERATE_ARM_STUB Exi386InterlockedDecrementLong =

-GENERATE_ARM_STUB Exi386InterlockedExchangeUlong =

-GENERATE_ARM_STUB Exi386InterlockedIncrementLong =

-GENERATE_ARM_STUB InterlockedPopEntrySList =

-GENERATE_ARM_STUB InterlockedPushEntrySList =

 =

 //
 // Port I/O and Register Access
@@ -49,35 +15,6 @@
 GENERATE_ARM_STUB WRITE_REGISTER_UCHAR =

 GENERATE_ARM_STUB WRITE_REGISTER_ULONG =

 GENERATE_ARM_STUB WRITE_REGISTER_USHORT =

-
-//
-// CRT APIs implemented in ASM
-//
-GENERATE_ARM_STUB _alldiv =

-GENERATE_ARM_STUB _alldvrm =

-GENERATE_ARM_STUB _allmul =

-GENERATE_ARM_STUB _alloca_probe =

-GENERATE_ARM_STUB _allrem =

-GENERATE_ARM_STUB _allshl =

-GENERATE_ARM_STUB _allshr =

-GENERATE_ARM_STUB _aulldiv =

-GENERATE_ARM_STUB _aulldvrm =

-GENERATE_ARM_STUB _aullrem =

-GENERATE_ARM_STUB _aullshr =

-
-//
-// RTL CRT-like APIs implemented in ASM
-//
-GENERATE_ARM_STUB RtlCompareMemory =

-GENERATE_ARM_STUB RtlCompareMemoryUlong =

-GENERATE_ARM_STUB RtlFillMemory =

-GENERATE_ARM_STUB RtlFillMemoryUlong =

-GENERATE_ARM_STUB RtlMoveMemory =

-GENERATE_ARM_STUB RtlPrefetchMemoryNonTemporal =

-GENERATE_ARM_STUB RtlUlongByteSwap =

-GENERATE_ARM_STUB RtlUlonglongByteSwap =

-GENERATE_ARM_STUB RtlUshortByteSwap =

-GENERATE_ARM_STUB RtlZeroMemory =

 =

 //
 // Exceptions

Modified: trunk/reactos/ntoskrnl/ke/arm/thrdini.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/thrdi=
ni.c?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ke/arm/thrdini.c (original)
+++ trunk/reactos/ntoskrnl/ke/arm/thrdini.c Tue Mar 11 19:13:09 2008
@@ -87,7 +87,7 @@
         //
         // Set the previous mode as user
         //
-        TrapFrame->PreviousMode =3D UserMode;
+        //TrapFrame->PreviousMode =3D UserMode;
         Thread->PreviousMode =3D UserMode;
         =

         //
@@ -112,7 +112,7 @@
         //
         // Set the previous mode as kernel
         //
-        Thread->PreviousMode =3D KernelMode;
+        //Thread->PreviousMode =3D KernelMode;
         =

         //
         // Context switch frame to setup below

Modified: trunk/reactos/ntoskrnl/ke/arm/trapc.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/arm/trapc=
.c?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ke/arm/trapc.c (original)
+++ trunk/reactos/ntoskrnl/ke/arm/trapc.c Tue Mar 11 19:13:09 2008
@@ -27,7 +27,7 @@
     //
     // Check if this is a page fault
     //
-    if (KeArmFaultStatusRegisterGet() =3D=3D 21)
+    if (KeArmFaultStatusRegisterGet() =3D=3D 21 || KeArmFaultStatusRegiste=
rGet() =3D=3D 23)
     {
         Status =3D MmAccessFault(FALSE,
                                Address,

Modified: trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl-gen=
eric.rbuild?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl-generic.rbuild Tue Mar 11 19:13:09 2008
@@ -172,8 +172,11 @@
 		<if property=3D"ARCH" value=3D"powerpc">
 			<directory name=3D"powerpc">
 				<file>ioport.s</file>
-				<file>fastinterlck.c</file>
-			</directory>
+			</directory>
+            <file>fastinterlck.c</file>
+		</if>
+		<if property=3D"ARCH" value=3D"arm">
+            <file>fastinterlck.c</file>
 		</if>
 		<file>atom.c</file>
 		<file>callback.c</file>

Modified: trunk/reactos/ntoskrnl/ntoskrnl_arm.def
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ntoskrnl_arm=
.def?rev=3D32664&r1=3D32663&r2=3D32664&view=3Ddiff
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/reactos/ntoskrnl/ntoskrnl_arm.def (original)
+++ trunk/reactos/ntoskrnl/ntoskrnl_arm.def Tue Mar 11 19:13:09 2008
@@ -167,12 +167,6 @@
 ExfInterlockedPopEntryList
 ExfInterlockedPushEntryList
 ExfInterlockedRemoveHeadList
-Exfi386InterlockedDecrementLong
-Exfi386InterlockedExchangeUlong
-Exfi386InterlockedIncrementLong
-Exi386InterlockedDecrementLong
-Exi386InterlockedExchangeUlong
-Exi386InterlockedIncrementLong
 FsRtlAcquireFileExclusive
 ;FsRtlAddBaseMcbEntry
 FsRtlAddLargeMcbEntry
@@ -1435,17 +1429,6 @@
 ZwWriteFile
 ZwYieldExecution
 _abnormal_termination
-_alldiv
-_allmul
-_alloca_probe
-_allrem
-_allshl
-_allshr
-_alldvrm
-_aulldiv
-_aulldvrm
-_aullrem
-_aullshr
 _except_handler2
 _except_handler3
 _global_unwind2




More information about the Ros-diffs mailing list