Author: akhaldi
Date: Wed Jul 13 11:58:32 2011
New Revision: 52670

URL: http://svn.reactos.org/svn/reactos?rev=52670&view=rev
Log:
* Sync with recent trunk (r52669).

Modified:
    branches/GSoC_2011/ThemesSupport/   (props changed)
    branches/GSoC_2011/ThemesSupport/base/setup/usetup/bootsup.c
    branches/GSoC_2011/ThemesSupport/dll/ntdll/ldr/ldrpe.c
    branches/GSoC_2011/ThemesSupport/drivers/filesystems/npfs/create.c
    branches/GSoC_2011/ThemesSupport/drivers/network/tcpip/tcpip/main.c
    branches/GSoC_2011/ThemesSupport/lib/drivers/ip/network/receive.c
    branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/accept.c
    branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/tcp.c
    branches/GSoC_2011/ThemesSupport/ntoskrnl/include/internal/mm.h
    branches/GSoC_2011/ThemesSupport/ntoskrnl/io/iomgr/driver.c
    branches/GSoC_2011/ThemesSupport/ntoskrnl/kdbg/kdb_symbols.cmake.c
    branches/GSoC_2011/ThemesSupport/ntoskrnl/ke/i386/trap.s
    branches/GSoC_2011/ThemesSupport/ntoskrnl/mm/anonmem.c
    branches/GSoC_2011/ThemesSupport/subsystems/win32/win32k/include/napi.h

Propchange: branches/GSoC_2011/ThemesSupport/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jul 13 11:58:32 2011
@@ -4,4 +4,4 @@
 /branches/reactx/reactos:49994-49995
 /branches/ros-amd64-bringup:36852
 
/branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34770,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36393,36397,36443,36445,36475,36502-36503,36505,36570,36614,36852,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36987-36988,36990,36992,37019,37322-37323,37333-37334,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40120,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40926-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479-41480,41483-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43451,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43852,43857-43858,43860,43905-43907,43952,43954,43965,43969,43979,43981,43992,44002,44036-44037,44039-44040,44044-44045,44053,44065,44095,44123,44143-44144,44205,44238,44257,44259,44294,44338-44339,44385,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44634,44639,44772,44818,45124,45126-45127,45430,46394,46404,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805,46868,47472,47846-47847,47878,47882
-/trunk/reactos:48236-52637
+/trunk/reactos:48236-52669

Modified: branches/GSoC_2011/ThemesSupport/base/setup/usetup/bootsup.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/base/setup/usetup/bootsup.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/base/setup/usetup/bootsup.c [iso-8859-1] 
(original)
+++ branches/GSoC_2011/ThemesSupport/base/setup/usetup/bootsup.c [iso-8859-1] 
Wed Jul 13 11:58:32 2011
@@ -494,11 +494,13 @@
         L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS");
 
 #if DBG
+#ifndef _WINKD_
     /* ReactOS_KdSerial */
     CreateFreeLoaderEntry(IniCache, IniSection,
         L"ReactOS_KdSerial", L"\"ReactOS (RosDbg)\"",
         L"Windows2003", ArcPath,
         L"/DEBUG /DEBUGPORT=COM1 /BAUDRATE=115200 /SOS /KDSERIAL");
+#endif
 
     /* ReactOS_LogFile */
     CreateFreeLoaderEntry(IniCache, IniSection,

Modified: branches/GSoC_2011/ThemesSupport/dll/ntdll/ldr/ldrpe.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/dll/ntdll/ldr/ldrpe.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/dll/ntdll/ldr/ldrpe.c [iso-8859-1] 
(original)
+++ branches/GSoC_2011/ThemesSupport/dll/ntdll/ldr/ldrpe.c [iso-8859-1] Wed Jul 
13 11:58:32 2011
@@ -681,9 +681,9 @@
     DPRINT("LdrpWalkImportDescriptor('%S' %x)\n", DllPath, LdrEntry);
 
     /* Set up the Act Ctx */
+    RtlZeroMemory(&ActCtx, sizeof(ActCtx));
     ActCtx.Size = sizeof(ActCtx);
     ActCtx.Format = 
RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_FORMAT_WHISTLER;
-    RtlZeroMemory(&ActCtx.Frame, sizeof(ActCtx));
 
     /* Check if we have a manifest prober routine */
     if (LdrpManifestProberRoutine)

Modified: branches/GSoC_2011/ThemesSupport/drivers/filesystems/npfs/create.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/drivers/filesystems/npfs/create.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/drivers/filesystems/npfs/create.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/drivers/filesystems/npfs/create.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -984,7 +984,8 @@
     /* Disconnect the pipes */
     if (Ccb->OtherSide)
     {
-        ASSERT(Ccb->OtherSide->OtherSide == Ccb);
+        /* FIXME: Timo wants it rewritten */
+        /*ASSERT(Ccb->OtherSide->OtherSide == Ccb);*/
         NpfsCcbSetOtherSide(Ccb->OtherSide, NULL);
         NpfsCcbSetOtherSide(Ccb, NULL);
     }

Modified: branches/GSoC_2011/ThemesSupport/drivers/network/tcpip/tcpip/main.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/drivers/network/tcpip/tcpip/main.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/drivers/network/tcpip/tcpip/main.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/drivers/network/tcpip/tcpip/main.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -662,14 +662,14 @@
   EntityMax   = MAX_TDI_ENTITIES;
 
   /* Allocate NDIS packet descriptors */
-  NdisAllocatePacketPool(&NdisStatus, &GlobalPacketPool, 100, 
sizeof(PACKET_CONTEXT));
+  NdisAllocatePacketPoolEx(&NdisStatus, &GlobalPacketPool, 500, 1500, 
sizeof(PACKET_CONTEXT));
   if (NdisStatus != NDIS_STATUS_SUCCESS) {
     TiUnload(DriverObject);
     return STATUS_INSUFFICIENT_RESOURCES;
   }
 
   /* Allocate NDIS buffer descriptors */
-  NdisAllocateBufferPool(&NdisStatus, &GlobalBufferPool, 100);
+  NdisAllocateBufferPool(&NdisStatus, &GlobalBufferPool, 2000);
   if (NdisStatus != NDIS_STATUS_SUCCESS) {
     TiUnload(DriverObject);
     return STATUS_INSUFFICIENT_RESOURCES;

Modified: branches/GSoC_2011/ThemesSupport/lib/drivers/ip/network/receive.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/lib/drivers/ip/network/receive.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/lib/drivers/ip/network/receive.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/lib/drivers/ip/network/receive.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -293,6 +293,9 @@
     TI_DbgPrint(DEBUG_IP, ("Continueing assembly.\n"));
     /* We have a reassembly structure */
     TcpipAcquireSpinLock(&IPDR->Lock, &OldIrql);
+      
+    /* Reset the timeout since we received a fragment */
+    IPDR->TimeoutCount = 0;
   } else {
     TI_DbgPrint(DEBUG_IP, ("Starting new assembly.\n"));
 

Modified: branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/accept.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/accept.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/accept.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/accept.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -78,25 +78,36 @@
     TI_DbgPrint(DEBUG_TCP,("Connection->SocketContext %x\n",
     Connection->SocketContext));
 
-    AddressToBind.sin_family = AF_INET;
-    memcpy( &AddressToBind.sin_addr,
-        &Connection->AddressFile->Address.Address.IPv4Address,
-        sizeof(AddressToBind.sin_addr) );
-    AddressToBind.sin_port = Connection->AddressFile->Port;
+    if (Connection->AddressFile->Port)
+    {
+        AddressToBind.sin_family = AF_INET;
+        memcpy( &AddressToBind.sin_addr,
+               &Connection->AddressFile->Address.Address.IPv4Address,
+               sizeof(AddressToBind.sin_addr) );
+        AddressToBind.sin_port = Connection->AddressFile->Port;
+        TI_DbgPrint(DEBUG_TCP,("AddressToBind - %x:%x\n", 
AddressToBind.sin_addr, AddressToBind.sin_port));
 
-    TI_DbgPrint(DEBUG_TCP,("AddressToBind - %x:%x\n", AddressToBind.sin_addr, 
AddressToBind.sin_port));
+        /* Perform an explicit bind */
+        Status = TCPTranslateError(OskitTCPBind(Connection->SocketContext,
+                                                &AddressToBind,
+                                                sizeof(AddressToBind)));
+    }
+    else
+    {
+        /* An implicit bind will be performed */
+        Status = STATUS_SUCCESS;
+    }
 
-    Status = TCPTranslateError( OskitTCPBind( Connection->SocketContext,
-                        &AddressToBind,
-                        sizeof(AddressToBind) ) );
+    if (NT_SUCCESS(Status))
+        Status = TCPTranslateError( OskitTCPListen( Connection->SocketContext, 
Backlog ) );
+    
     if (NT_SUCCESS(Status))
     {
         /* Check if we had an unspecified port */
         if (!Connection->AddressFile->Port)
         {
             /* We did, so we need to copy back the port */
-            Status = TCPGetSockAddress(Connection, 
(PTRANSPORT_ADDRESS)&LocalAddress, FALSE);
-            if (NT_SUCCESS(Status))
+            if (NT_SUCCESS(TCPGetSockAddress(Connection, 
(PTRANSPORT_ADDRESS)&LocalAddress, FALSE)))
             {
                 /* Allocate the port in the port bitmap */
                 Connection->AddressFile->Port = 
TCPAllocatePort(LocalAddress.Address[0].Address[0].sin_port);
@@ -106,9 +117,6 @@
             }
         }
     }
-
-    if (NT_SUCCESS(Status))
-        Status = TCPTranslateError( OskitTCPListen( Connection->SocketContext, 
Backlog ) );
 
     UnlockObject(Connection, OldIrql);
 

Modified: branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/tcp.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/tcp.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/tcp.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/lib/drivers/ip/transport/tcp/tcp.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -723,7 +723,7 @@
     USHORT RemotePort;
     TA_IP_ADDRESS LocalAddress;
     PTDI_BUCKET Bucket;
-    PNEIGHBOR_CACHE_ENTRY NCE;
+    PNEIGHBOR_CACHE_ENTRY NCE = NULL;
     KIRQL OldIrql;
 
     TI_DbgPrint(DEBUG_TCP,("TCPConnect: Called\n"));
@@ -762,37 +762,36 @@
             UnlockObject(Connection, OldIrql);
             return STATUS_NETWORK_UNREACHABLE;
         }
-
-        AddressToBind.sin_addr.s_addr = 
NCE->Interface->Unicast.Address.IPv4Address;
+    }
+
+    if (Connection->AddressFile->Port)
+    {
+        /* See if we had an unspecified bind address */
+        if (NCE)
+        {
+            /* We did, so use the interface unicast address associated with 
the route */
+            AddressToBind.sin_addr.s_addr = 
NCE->Interface->Unicast.Address.IPv4Address;
+        }
+        else
+        {
+            /* Bind address was explicit so use it */
+            AddressToBind.sin_addr.s_addr = 
Connection->AddressFile->Address.Address.IPv4Address;
+        }
+        
+        AddressToBind.sin_port = Connection->AddressFile->Port;
+        
+        /* Perform an explicit bind */
+        Status = TCPTranslateError(OskitTCPBind(Connection->SocketContext,
+                                                &AddressToBind,
+                                                sizeof(AddressToBind)));
     }
     else
     {
-        AddressToBind.sin_addr.s_addr = 
Connection->AddressFile->Address.Address.IPv4Address;
-    }
-    
-    AddressToBind.sin_port = Connection->AddressFile->Port;
-
-    Status = TCPTranslateError
-        ( OskitTCPBind( Connection->SocketContext,
-                        &AddressToBind,
-                        sizeof(AddressToBind) ) );
-
-    if (NT_SUCCESS(Status)) {
-        /* Check if we had an unspecified port */
-        if (!Connection->AddressFile->Port)
-        {
-            /* We did, so we need to copy back the port */
-            Status = TCPGetSockAddress(Connection, 
(PTRANSPORT_ADDRESS)&LocalAddress, FALSE);
-            if (NT_SUCCESS(Status))
-            {
-                /* Allocate the port in the port bitmap */
-                Connection->AddressFile->Port = 
TCPAllocatePort(LocalAddress.Address[0].Address[0].sin_port);
-                    
-                /* This should never fail */
-                ASSERT(Connection->AddressFile->Port != 0xFFFF);
-            }
-        }
-        
+        /* An implicit bind will be performed */
+        Status = STATUS_SUCCESS;
+    }
+
+    if (NT_SUCCESS(Status)) {        
         if (NT_SUCCESS(Status))
         {
             memcpy( &AddressToConnect.sin_addr,
@@ -804,7 +803,31 @@
             ( OskitTCPConnect( Connection->SocketContext,
                               &AddressToConnect,
                               sizeof(AddressToConnect) ) );
-            
+
+            if (NT_SUCCESS(Status))
+            {
+                /* Check if we had an unspecified port */
+                if (!Connection->AddressFile->Port)
+                {
+                    /* We did, so we need to copy back the port */
+                    if (NT_SUCCESS(TCPGetSockAddress(Connection, 
(PTRANSPORT_ADDRESS)&LocalAddress, FALSE)))
+                    {
+                        /* Allocate the port in the port bitmap */
+                        Connection->AddressFile->Port = 
TCPAllocatePort(LocalAddress.Address[0].Address[0].sin_port);
+
+                        /* This should never fail */
+                        ASSERT(Connection->AddressFile->Port != 0xFFFF);
+                    }
+                }
+                
+                /* Check if the address was unspecified */
+                if (AddrIsUnspecified(&Connection->AddressFile->Address))
+                {
+                    /* It is, so store the address of the outgoing NIC */
+                    Connection->AddressFile->Address = NCE->Interface->Unicast;
+                }
+            }
+
             if (Status == STATUS_PENDING)
             {
                 Bucket = ExAllocatePoolWithTag( NonPagedPool, sizeof(*Bucket), 
TDI_BUCKET_TAG );

Modified: branches/GSoC_2011/ThemesSupport/ntoskrnl/include/internal/mm.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/ntoskrnl/include/internal/mm.h?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/ntoskrnl/include/internal/mm.h 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/ntoskrnl/include/internal/mm.h 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -1121,10 +1121,6 @@
 
 NTSTATUS
 NTAPI
-MmWritePagePhysicalAddress(PFN_NUMBER Page);
-
-NTSTATUS
-NTAPI
 MmPageOutPhysicalAddress(PFN_NUMBER Page);
 
 /* freelist.c **********************************************************/

Modified: branches/GSoC_2011/ThemesSupport/ntoskrnl/io/iomgr/driver.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/ntoskrnl/io/iomgr/driver.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/ntoskrnl/io/iomgr/driver.c [iso-8859-1] 
(original)
+++ branches/GSoC_2011/ThemesSupport/ntoskrnl/io/iomgr/driver.c [iso-8859-1] 
Wed Jul 13 11:58:32 2011
@@ -850,7 +850,6 @@
       DPRINT1("Driver '%wZ' load failed, status (%x)\n", ModuleName, Status);
       return(Status);
    }
-   DeviceNode->ServiceName = ServiceName;
 
    /*
     * Initialize the driver
@@ -1834,8 +1833,6 @@
       cur--;
    }
 
-   IopDisplayLoadingMessage(&ServiceName);
-
    /*
     * Get service type.
     */
@@ -1881,21 +1878,6 @@
 
    DPRINT("FullImagePath: '%wZ'\n", &ImagePath);
    DPRINT("Type: %lx\n", Type);
-
-   /*
-    * Create device node
-    */
-
-   /* Use IopRootDeviceNode for now */
-   Status = IopCreateDeviceNode(IopRootDeviceNode, NULL, &ServiceName, 
&DeviceNode);
-
-   if (!NT_SUCCESS(Status))
-   {
-      DPRINT("IopCreateDeviceNode() failed (Status %lx)\n", Status);
-      LoadParams->Status = Status;
-      (VOID)KeSetEvent(&LoadParams->Event, 0, FALSE);
-      return;
-   }
 
    /* Get existing DriverObject pointer (in case the driver has
       already been loaded and initialized) */
@@ -1916,23 +1898,29 @@
        if (!NT_SUCCESS(Status) && Status != STATUS_IMAGE_ALREADY_LOADED)
        {
            DPRINT("MmLoadSystemImage() failed (Status %lx)\n", Status);
-           IopFreeDeviceNode(DeviceNode);
            LoadParams->Status = Status;
            (VOID)KeSetEvent(&LoadParams->Event, 0, FALSE);
            return;
        }
-
-       /*
-        * Set a service name for the device node
-        */
-
-       RtlCreateUnicodeString(&DeviceNode->ServiceName, ServiceName.Buffer);
 
        /*
         * Initialize the driver module if it's loaded for the first time
         */
        if (Status != STATUS_IMAGE_ALREADY_LOADED)
        {
+           Status = IopCreateDeviceNode(IopRootDeviceNode, NULL, &ServiceName, 
&DeviceNode);
+
+           if (!NT_SUCCESS(Status))
+           {
+               DPRINT("IopCreateDeviceNode() failed (Status %lx)\n", Status);
+               MmUnloadSystemImage(ModuleObject);
+               LoadParams->Status = Status;
+               (VOID)KeSetEvent(&LoadParams->Event, 0, FALSE);
+               return;
+           }
+
+           IopDisplayLoadingMessage(&DeviceNode->ServiceName);
+
            Status = IopInitializeDriverModule(
                DeviceNode,
                ModuleObject,
@@ -1950,11 +1938,11 @@
                (VOID)KeSetEvent(&LoadParams->Event, 0, FALSE);
                return;
            }
+           
+           /* Initialize and start device */
+           IopInitializeDevice(DeviceNode, DriverObject);
+           Status = IopStartDevice(DeviceNode);
        }
-
-       /* Initialize and start device */
-       IopInitializeDevice(DeviceNode, DriverObject);
-       Status = IopStartDevice(DeviceNode);
    }
    else
    {
@@ -1962,9 +1950,6 @@
 
       /* IopGetDriverObject references the DriverObject, so dereference it */
       ObDereferenceObject(DriverObject);
-
-      /* Free device node since driver loading failed */
-      IopFreeDeviceNode(DeviceNode);
    }
 
    /* Pass status to the caller and signal the event */

Modified: branches/GSoC_2011/ThemesSupport/ntoskrnl/kdbg/kdb_symbols.cmake.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/ntoskrnl/kdbg/kdb_symbols.cmake.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/ntoskrnl/kdbg/kdb_symbols.cmake.c 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/ntoskrnl/kdbg/kdb_symbols.cmake.c 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -17,8 +17,6 @@
 #include <debug.h>
 
 /* GLOBALS ******************************************************************/
-
-#define CURRENT_PROCESS ((HANDLE)~0)
 
 typedef struct _IMAGE_SYMBOL_INFO_CACHE
 {
@@ -637,69 +635,14 @@
     /* Nothing here */
 }
 
-typedef struct {
-    PMDL Mdl;
-    SIZE_T Size;
-    PVOID OriginalMapping;
-} KdbpMallocHeader;
-
-static PVOID KdbpSymAllocMem(ULONG_PTR Size)
-{
-    KdbpMallocHeader *Hdr;
-    if (Size < PAGE_SIZE)
-    {
-        PVOID Result = ExAllocatePoolWithTag(NonPagedPool, Size + 
sizeof(KdbpMallocHeader), 'RSYM');
-        if (!Result) return NULL;
-        Hdr = (KdbpMallocHeader*)Result;
-        Hdr->Mdl = NULL;
-        Hdr->Size = Size;
-        return &Hdr[1];
-    }
-    else
-    {
-        PVOID Base = NULL;
-        SIZE_T RegionSize = Size + sizeof(KdbpMallocHeader);
-        NTSTATUS Status = NtAllocateVirtualMemory
-            (CURRENT_PROCESS, &Base, 0, &RegionSize, MEM_COMMIT, 
PAGE_READWRITE);
-        if (!NT_SUCCESS(Status)) return NULL;
-        Hdr = (KdbpMallocHeader*)Base;
-        Hdr->Mdl = IoAllocateMdl(Base, RegionSize, FALSE, FALSE, NULL);
-        if (!Hdr->Mdl) {
-            NtFreeVirtualMemory(CURRENT_PROCESS, &Base, &RegionSize, 
MEM_RELEASE);
-            return NULL;
-        }
-        Hdr->Size = RegionSize;
-        Hdr->OriginalMapping = Base;
-        MmProbeAndLockPages(Hdr->Mdl, KernelMode, IoModifyAccess);
-        KdbpMallocHeader *MappedHdr = 
(KdbpMallocHeader*)MmMapLockedPages(Hdr->Mdl, KernelMode);
-        if (!MappedHdr) {
-            MmUnlockPages(Hdr->Mdl);
-            IoFreeMdl(Hdr->Mdl);
-            NtFreeVirtualMemory(CURRENT_PROCESS, &Base, &RegionSize, 
MEM_RELEASE);
-            return NULL;
-        }
-        return &MappedHdr[1];
-    }
+static PVOID KdbpSymAllocMem(ULONG_PTR size)
+{
+       return ExAllocatePoolWithTag(NonPagedPool, size, 'RSYM');
 }
 
 static VOID KdbpSymFreeMem(PVOID Area)
 {
-    PCHAR HdrPtr = ((PCHAR)Area) - sizeof(KdbpMallocHeader);
-    KdbpMallocHeader *Hdr = (KdbpMallocHeader*)HdrPtr;
-    if (Hdr->Size < PAGE_SIZE)
-    {
-        ExFreePool(Hdr);
-    }
-    else
-    {
-        PMDL Mdl = Hdr->Mdl;
-        PVOID BaseAddress = Hdr->OriginalMapping;
-        SIZE_T RegionSize = Hdr->Size;
-        MmUnmapLockedPages(Hdr, Mdl);
-        MmUnlockPages(Mdl);
-        NtFreeVirtualMemory(CURRENT_PROCESS, &BaseAddress, &RegionSize, 
MEM_RELEASE);
-        IoFreeMdl(Mdl);
-    }
+       return ExFreePool(Area);
 }
 
 static BOOLEAN KdbpSymReadMem(PVOID FileContext, PVOID TargetDebug, PVOID 
SourceMem, ULONG Size)

Modified: branches/GSoC_2011/ThemesSupport/ntoskrnl/ke/i386/trap.s
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/ntoskrnl/ke/i386/trap.s?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/ntoskrnl/ke/i386/trap.s [iso-8859-1] 
(original)
+++ branches/GSoC_2011/ThemesSupport/ntoskrnl/ke/i386/trap.s [iso-8859-1] Wed 
Jul 13 11:58:32 2011
@@ -31,6 +31,8 @@
 
 .data
 ASSUME nothing
+
+.align 16
 
 PUBLIC _KiIdt
 _KiIdt:

Modified: branches/GSoC_2011/ThemesSupport/ntoskrnl/mm/anonmem.c
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/ntoskrnl/mm/anonmem.c?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/ntoskrnl/mm/anonmem.c [iso-8859-1] 
(original)
+++ branches/GSoC_2011/ThemesSupport/ntoskrnl/mm/anonmem.c [iso-8859-1] Wed Jul 
13 11:58:32 2011
@@ -50,89 +50,6 @@
 
 NTSTATUS
 NTAPI
-MmWritePageVirtualMemory(PMMSUPPORT AddressSpace,
-                         PMEMORY_AREA MemoryArea,
-                         PVOID Address,
-                         PMM_PAGEOP PageOp)
-{
-   SWAPENTRY SwapEntry;
-   PFN_NUMBER Page;
-   NTSTATUS Status;
-   PEPROCESS Process = MmGetAddressSpaceOwner(AddressSpace);
-
-   /*
-    * Check for paging out from a deleted virtual memory area.
-    */
-   if (MemoryArea->DeleteInProgress)
-   {
-      PageOp->Status = STATUS_UNSUCCESSFUL;
-      KeSetEvent(&PageOp->CompletionEvent, IO_NO_INCREMENT, FALSE);
-      MmReleasePageOp(PageOp);
-      return(STATUS_UNSUCCESSFUL);
-   }
-
-   Page = MmGetPfnForProcess(Process, Address);
-
-   /*
-    * Get that the page actually is dirty.
-    */
-   if (!MmIsDirtyPage(Process, Address))
-   {
-      PageOp->Status = STATUS_SUCCESS;
-      KeSetEvent(&PageOp->CompletionEvent, IO_NO_INCREMENT, FALSE);
-      MmReleasePageOp(PageOp);
-      return(STATUS_SUCCESS);
-   }
-
-   /*
-    * Speculatively set the mapping to clean.
-    */
-   MmSetCleanPage(Process, Address);
-
-   /*
-    * If necessary, allocate an entry in the paging file for this page
-    */
-   SwapEntry = MmGetSavedSwapEntryPage(Page);
-   if (SwapEntry == 0)
-   {
-      SwapEntry = MmAllocSwapPage();
-      if (SwapEntry == 0)
-      {
-         MmSetDirtyPage(Process, Address);
-         PageOp->Status = STATUS_PAGEFILE_QUOTA_EXCEEDED;
-         KeSetEvent(&PageOp->CompletionEvent, IO_NO_INCREMENT, FALSE);
-         MmReleasePageOp(PageOp);
-         return(STATUS_PAGEFILE_QUOTA_EXCEEDED);
-      }
-   }
-
-   /*
-    * Write the page to the pagefile
-    */
-   Status = MmWriteToSwapPage(SwapEntry, Page);
-   if (!NT_SUCCESS(Status))
-   {
-      DPRINT1("MM: Failed to write to swap page (Status was 0x%.8X)\n",
-              Status);
-      MmSetDirtyPage(Process, Address);
-      PageOp->Status = STATUS_UNSUCCESSFUL;
-      KeSetEvent(&PageOp->CompletionEvent, IO_NO_INCREMENT, FALSE);
-      MmReleasePageOp(PageOp);
-      return(STATUS_UNSUCCESSFUL);
-   }
-
-   /*
-    * Otherwise we have succeeded.
-    */
-   MmSetSavedSwapEntryPage(Page, SwapEntry);
-   PageOp->Status = STATUS_SUCCESS;
-   KeSetEvent(&PageOp->CompletionEvent, IO_NO_INCREMENT, FALSE);
-   MmReleasePageOp(PageOp);
-   return(STATUS_SUCCESS);
-}
-
-NTSTATUS
-NTAPI
 MmPageOutVirtualMemory(PMMSUPPORT AddressSpace,
                        PMEMORY_AREA MemoryArea,
                        PVOID Address,

Modified: 
branches/GSoC_2011/ThemesSupport/subsystems/win32/win32k/include/napi.h
URL: 
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/subsystems/win32/win32k/include/napi.h?rev=52670&r1=52669&r2=52670&view=diff
==============================================================================
--- branches/GSoC_2011/ThemesSupport/subsystems/win32/win32k/include/napi.h 
[iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/subsystems/win32/win32k/include/napi.h 
[iso-8859-1] Wed Jul 13 11:58:32 2011
@@ -16,7 +16,7 @@
 #include "w32ksvc.h"
 };
 
-#define MIN_SYSCALL_NUMBER    0
+#define MIN_SYSCALL_NUMBER    0x1000
 #define NUMBER_OF_SYSCALLS    (sizeof(Win32kSSPT) / sizeof(Win32kSSPT[0]))
-#define MAX_SYSCALL_NUMBER    (NUMBER_OF_SYSCALLS - 1)
+#define MAX_SYSCALL_NUMBER    0x1000 + (NUMBER_OF_SYSCALLS - 1)
 ULONG Win32kNumberOfSysCalls = NUMBER_OF_SYSCALLS;


Reply via email to