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/se…
==============================================================================
--- 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/ntd…
==============================================================================
--- 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…
==============================================================================
--- 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…
==============================================================================
--- 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/dri…
==============================================================================
--- 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/dri…
==============================================================================
--- 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/dri…
==============================================================================
--- 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/ntoskrn…
==============================================================================
--- 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/ntoskrn…
==============================================================================
--- 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/ntoskrn…
==============================================================================
--- 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/ntoskrn…
==============================================================================
--- 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/ntoskrn…
==============================================================================
--- 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/subsyst…
==============================================================================
--- 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;