[ros-diffs] [tkreuzer] 52121: [NTOSKRNL] Fix MSVC and amd64 build

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Mon Jun 6 19:08:39 UTC 2011


Author: tkreuzer
Date: Mon Jun  6 19:08:39 2011
New Revision: 52121

URL: http://svn.reactos.org/svn/reactos?rev=52121&view=rev
Log:
[NTOSKRNL]
Fix MSVC and amd64 build 

Modified:
    trunk/reactos/ntoskrnl/CMakeLists.txt
    trunk/reactos/ntoskrnl/cache/section/io.c
    trunk/reactos/ntoskrnl/include/internal/amd64/intrin_i.h
    trunk/reactos/ntoskrnl/include/internal/amd64/mm.h
    trunk/reactos/ntoskrnl/include/internal/ex.h
    trunk/reactos/ntoskrnl/include/internal/mm.h
    trunk/reactos/ntoskrnl/include/ntoskrnl.h
    trunk/reactos/ntoskrnl/ke/amd64/boot.S
    trunk/reactos/ntoskrnl/ke/amd64/ctxswitch.S
    trunk/reactos/ntoskrnl/ke/amd64/trap.S

Modified: trunk/reactos/ntoskrnl/CMakeLists.txt
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/CMakeLists.txt?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/CMakeLists.txt [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/CMakeLists.txt [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -423,7 +423,11 @@
 
 add_executable(ntoskrnl ${SOURCE})
 
-set_entrypoint(ntoskrnl KiSystemStartup at 4)
+if (ARCH MATCHES i386)
+  set_entrypoint(ntoskrnl KiSystemStartup at 4)
+else()
+  set_entrypoint(ntoskrnl KiSystemStartup)
+endif()
 set_subsystem(ntoskrnl native)
 
 if(MSVC)

Modified: trunk/reactos/ntoskrnl/cache/section/io.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cache/section/io.c?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/cache/section/io.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/cache/section/io.c [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -71,9 +71,10 @@
  PIRP Irp,
  PVOID Context)
 {
+    PMDL Mdl = Irp->MdlAddress;
+
    /* Unlock MDL Pages, page 167. */
 	DPRINT("MiSimpleReadComplete %x\n", Irp);
-    PMDL Mdl = Irp->MdlAddress;
     while (Mdl)
     {
 		DPRINT("MDL Unlock %x\n", Mdl);

Modified: trunk/reactos/ntoskrnl/include/internal/amd64/intrin_i.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/amd64/intrin_i.h?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/amd64/intrin_i.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/amd64/intrin_i.h [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -104,8 +104,6 @@
 
 #elif defined(_MSC_VER)
 
-#define UNIMPLEMENTED DbgPrint("%s is unimplemented!!!\n", __FUNCTION__);
-
 void __lgdt(void *Source);
 
 void __sgdt(void *Destination);

Modified: trunk/reactos/ntoskrnl/include/internal/amd64/mm.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/amd64/mm.h?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/amd64/mm.h [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -141,6 +141,9 @@
             (MiAddressToPpe(Address)->u.Hard.Valid) &&
             (MiAddressToPde(Address)->u.Hard.Valid));
 }
+
+#define MiPdeToPte(PDE) ((PMMPTE)MiPteToAddress(PDE))
+#define MiPteToPde(PTE) ((PMMPDE)MiAddressToPte(PTE))
 
 #define ADDR_TO_PAGE_TABLE(v) (((ULONG_PTR)(v)) / (512 * PAGE_SIZE))
 #define ADDR_TO_PDE_OFFSET(v) ((((ULONG_PTR)(v)) / (512 * PAGE_SIZE)))

Modified: trunk/reactos/ntoskrnl/include/internal/ex.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/ex.h?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/ex.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/ex.h [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -480,7 +480,7 @@
 ExGetCountFastReference(IN EX_FAST_REF FastRef)
 {
     /* Return the reference count */
-    return FastRef.RefCnt;
+    return (ULONG)FastRef.RefCnt;
 }
 
 FORCEINLINE

Modified: trunk/reactos/ntoskrnl/include/internal/mm.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/internal/mm.h?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/internal/mm.h [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -1140,7 +1140,7 @@
     if (Pfn > MmHighestPhysicalPage) return NULL;
     
     /* Make sure this page actually has a PFN entry */
-    if ((MiPfnBitMap.Buffer) && !(RtlTestBit(&MiPfnBitMap, Pfn))) return NULL;
+    if ((MiPfnBitMap.Buffer) && !(RtlTestBit(&MiPfnBitMap, (ULONG)Pfn))) return NULL;
 
     /* Get the entry */
     Page = &MmPfnDatabase[Pfn];

Modified: trunk/reactos/ntoskrnl/include/ntoskrnl.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/include/ntoskrnl.h?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/include/ntoskrnl.h [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -17,6 +17,7 @@
 #ifdef _M_AMD64
 #define IoAllocateAdapterChannel _IoAllocateAdapterChannel
 #define KeGetCurrentThread _KeGetCurrentThread
+#define RtlFillMemoryUlong _RtlFillMemoryUlong
 #endif
 
 /* Version Data */

Modified: trunk/reactos/ntoskrnl/ke/amd64/boot.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/amd64/boot.S?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ke/amd64/boot.S [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/amd64/boot.S [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -8,7 +8,6 @@
 /* INCLUDES ******************************************************************/
 
 #include <asm.inc>
-
 #include <ksamd64.inc>
 
 EXTERN KiInitializeKernelAndGotoIdleLoop:PROC
@@ -19,7 +18,6 @@
 /* FUNCTIONS *****************************************************************/
 
 .code64
-.text
 
 /**
  * VOID

Modified: trunk/reactos/ntoskrnl/ke/amd64/ctxswitch.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/amd64/ctxswitch.S?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ke/amd64/ctxswitch.S [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/amd64/ctxswitch.S [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -10,7 +10,6 @@
 /* INCLUDES ******************************************************************/
 
 #include <asm.inc>
-
 #include <ksamd64.inc>
 
 /* FUNCTIONS ****************************************************************/
@@ -166,7 +165,7 @@
     mov [rsp+0], rbp
 
     /* Get the PCR */
-    mov rbx, gs:[KPCR_SELF]
+    mov rbx, gs:[PcSelf]
 
     /* Get the current thread */
     mov rdi, rcx

Modified: trunk/reactos/ntoskrnl/ke/amd64/trap.S
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/amd64/trap.S?rev=52121&r1=52120&r2=52121&view=diff
==============================================================================
--- trunk/reactos/ntoskrnl/ke/amd64/trap.S [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/amd64/trap.S [iso-8859-1] Mon Jun  6 19:08:39 2011
@@ -259,7 +259,6 @@
 
 /* FUNCTIONS *****************************************************************/
 
-.text
 .code64
 
 ALIGN 8
@@ -907,6 +906,8 @@
 .ENDP KiUnexpectedInterrupt
 
 #ifdef _MSC_VER
+#undef lgdt
+#undef lidt
 
 //void __lgdt(void *Source);
 PUBLIC __lgdt




More information about the Ros-diffs mailing list