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/set... ============================================================================== --- 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/ntdl... ============================================================================== --- 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/driv... ============================================================================== --- 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/driv... ============================================================================== --- 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/driv... ============================================================================== --- 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... ============================================================================== --- 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... ============================================================================== --- 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... ============================================================================== --- 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... ============================================================================== --- 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... ============================================================================== --- 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/subsyste... ============================================================================== --- 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;