Author: fireball
Date: Wed Aug 26 21:50:18 2009
New Revision: 42947
URL:
http://svn.reactos.org/svn/reactos?rev=42947&view=rev
Log:
- Remove unused shared user heap code.
Removed:
branches/arwinss/reactos/subsystems/win32/win32k/main/usrheap.c
Modified:
branches/arwinss/reactos/subsystems/win32/win32k/main/init.c
branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild
Modified: branches/arwinss/reactos/subsystems/win32/win32k/main/init.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/main/init.c [iso-8859-1] Wed Aug 26
21:50:18 2009
@@ -26,8 +26,6 @@
/* GLOBALS *******************************************************************/
-HANDLE GlobalUserHeap = NULL;
-PSECTION_OBJECT GlobalUserHeapSection = NULL;
PGDI_HANDLE_TABLE GdiHandleTable = NULL;
PSECTION_OBJECT GdiTableSection = NULL;
LIST_ENTRY GlobalDriverListHead;
@@ -49,11 +47,6 @@
DPRINT("Win32Process %p, Create %d\n", Win32Process, Create);
if (Create && !Win32Process)
{
- SIZE_T ViewSize = 0;
- LARGE_INTEGER Offset;
- PVOID UserBase = NULL;
- NTSTATUS Status;
- extern PSECTION_OBJECT GlobalUserHeapSection;
DPRINT("Creating W32 process PID:%d at IRQ level: %lu\n",
Process->UniqueProcessId, KeGetCurrentIrql());
/* Allocate one if needed */
@@ -69,28 +62,6 @@
PsSetProcessWin32Process(Process, Win32Process);
Win32Process->peProcess = Process;
/* FIXME - unlock the process */
-
- /* map the global heap into the process */
- Offset.QuadPart = 0;
- Status = MmMapViewOfSection(GlobalUserHeapSection,
- PsGetCurrentProcess(),
- &UserBase,
- 0,
- 0,
- &Offset,
- &ViewSize,
- ViewUnmap,
- SEC_NO_CHANGE,
- PAGE_EXECUTE_READ);
- if (!NT_SUCCESS(Status))
- {
- DPRINT1("Failed to map the global heap! 0x%x\n", Status);
- return Status;
- }
- Win32Process->HeapMappings.Next = NULL;
- Win32Process->HeapMappings.KernelMapping = (PVOID)GlobalUserHeap;
- Win32Process->HeapMappings.UserMapping = UserBase;
- Win32Process->HeapMappings.Count = 1;
list_init(&Win32Process->Classes);
Win32Process->handles = alloc_handle_table(Win32Process, 0);
@@ -301,7 +272,6 @@
PUNICODE_STRING RegistryPath)
{
WIN32_CALLOUTS_FPNS CalloutData;
- PVOID GlobalUserHeapBase = NULL;
DPRINT1("Win32k initialization: DO %p, RegPath %wZ\n", DriverObject,
RegistryPath);
@@ -345,16 +315,6 @@
/* Initialize user implementation */
UserInitialize();
- /* Create global heap */
- GlobalUserHeap = UserCreateHeap(&GlobalUserHeapSection,
- &GlobalUserHeapBase,
- 1 * 1024 * 1024); /* FIXME - 1 MB for now... */
- if (GlobalUserHeap == NULL)
- {
- DPRINT1("Failed to initialize the global heap!\n");
- return STATUS_UNSUCCESSFUL;
- }
-
/* Init object directories implementation */
init_directories();
Removed: branches/arwinss/reactos/subsystems/win32/win32k/main/usrheap.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/main/usrheap.c [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/main/usrheap.c (removed)
@@ -1,216 +1,0 @@
-/*
- * ReactOS W32 Subsystem
- * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <win32k.h>
-
-#define NDEBUG
-#include <debug.h>
-
-
-static NTSTATUS APIENTRY
-IntUserHeapCommitRoutine(IN PVOID Base,
- IN OUT PVOID *CommitAddress,
- IN OUT PSIZE_T CommitSize)
-{
- PPROCESSINFO W32Process;
- PW32HEAP_USER_MAPPING Mapping;
- PVOID UserBase = NULL;
- NTSTATUS Status;
- SIZE_T Delta = (SIZE_T)((ULONG_PTR)(*CommitAddress) - (ULONG_PTR)Base);
-
- W32Process = (PPROCESSINFO)PsGetCurrentProcessWin32Process();
-
- if (W32Process != NULL)
- {
- /* search for the mapping */
- Mapping = &W32Process->HeapMappings;
- while (Mapping != NULL)
- {
- if (Mapping->KernelMapping == Base)
- {
- UserBase = Mapping->UserMapping;
- break;
- }
-
- Mapping = Mapping->Next;
- }
-
- ASSERT(UserBase != NULL);
- }
- else
- {
- SIZE_T ViewSize = 0;
- LARGE_INTEGER Offset;
- extern PSECTION_OBJECT GlobalUserHeapSection;
-
- /* HACK: This needs to be handled during startup only... */
- ASSERT(Base == (PVOID)GlobalUserHeap);
-
- /* temporarily map it into user space */
- Offset.QuadPart = 0;
- Status = MmMapViewOfSection(GlobalUserHeapSection,
- PsGetCurrentProcess(),
- &UserBase,
- 0,
- 0,
- &Offset,
- &ViewSize,
- ViewUnmap,
- SEC_NO_CHANGE,
- PAGE_EXECUTE_READ); /* would prefer PAGE_READONLY,
but thanks to RTL heaps... */
-
- if (!NT_SUCCESS(Status))
- return Status;
- }
-
- /* commit! */
- UserBase = (PVOID)((ULONG_PTR)UserBase + Delta);
-
- Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
- &UserBase,
- 0,
- CommitSize,
- MEM_COMMIT,
- PAGE_EXECUTE_READ);
- if (NT_SUCCESS(Status))
- {
- *CommitAddress = (PVOID)((ULONG_PTR)UserBase + Delta);
- }
-
- if (W32Process == NULL)
- {
- MmUnmapViewOfSection(PsGetCurrentProcess(),
- UserBase);
- }
-
- return Status;
-}
-
-static PWIN32HEAP
-IntUserHeapCreate(IN PSECTION_OBJECT SectionObject,
- IN PVOID *SystemMappedBase,
- IN ULONG HeapSize)
-{
- PVOID MappedView = NULL;
- LARGE_INTEGER Offset;
- SIZE_T ViewSize = PAGE_SIZE;
- RTL_HEAP_PARAMETERS Parameters = {0};
- PVOID pHeap;
- NTSTATUS Status;
-
- Offset.QuadPart = 0;
-
- /* Commit the first page before creating the heap! */
- Status = MmMapViewOfSection(SectionObject,
- PsGetCurrentProcess(),
- &MappedView,
- 0,
- 0,
- &Offset,
- &ViewSize,
- ViewUnmap,
- SEC_NO_CHANGE,
- PAGE_EXECUTE_READ); /* would prefer PAGE_READONLY, but
thanks to RTL heaps... */
- if (!NT_SUCCESS(Status))
- return NULL;
-
- Status = ZwAllocateVirtualMemory(NtCurrentProcess(),
- &MappedView,
- 0,
- &ViewSize,
- MEM_COMMIT,
- PAGE_EXECUTE_READ); /* would prefer PAGE_READONLY,
but thanks to RTL heaps... */
-
- MmUnmapViewOfSection(PsGetCurrentProcess(),
- MappedView);
-
- if (!NT_SUCCESS(Status))
- return NULL;
-
- /* Create the heap, don't serialize in kmode! The caller is responsible
- to synchronize the heap! */
- Parameters.Length = sizeof(Parameters);
- Parameters.InitialCommit = ViewSize;
- Parameters.InitialReserve = (SIZE_T)HeapSize;
- Parameters.CommitRoutine = IntUserHeapCommitRoutine;
-
- pHeap = RtlCreateHeap(HEAP_ZERO_MEMORY | HEAP_NO_SERIALIZE,
- *SystemMappedBase,
- (SIZE_T)HeapSize,
- ViewSize,
- NULL,
- &Parameters);
-
- return pHeap;
-}
-
-PWIN32HEAP
-UserCreateHeap(OUT PSECTION_OBJECT *SectionObject,
- IN OUT PVOID *SystemBase,
- IN SIZE_T HeapSize)
-{
- LARGE_INTEGER SizeHeap;
- PWIN32HEAP pHeap = NULL;
- NTSTATUS Status;
-
- SizeHeap.QuadPart = HeapSize;
-
- /* create the section and map it into session space */
- Status = MmCreateSection((PVOID*)SectionObject,
- SECTION_ALL_ACCESS,
- NULL,
- &SizeHeap,
- PAGE_EXECUTE_READWRITE, /* would prefer PAGE_READWRITE, but
thanks to RTL heaps... */
- SEC_RESERVE,
- NULL,
- NULL);
-
- if (!NT_SUCCESS(Status))
- {
- SetLastNtError(Status);
- return FALSE;
- }
-
- Status = MmMapViewInSystemSpace(*SectionObject,
- SystemBase,
- &HeapSize);
- if (!NT_SUCCESS(Status))
- {
- ObDereferenceObject(*SectionObject);
- *SectionObject = NULL;
-
- SetLastNtError(Status);
- return FALSE;
- }
-
- /* create the heap */
- pHeap = IntUserHeapCreate(*SectionObject,
- SystemBase,
- HeapSize);
-
- if (pHeap == NULL)
- {
- ObDereferenceObject(*SectionObject);
- *SectionObject = NULL;
-
- SetLastNtError(STATUS_UNSUCCESSFUL);
- }
-
- return pHeap;
-}
Modified: branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1]
(original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/win32k.rbuild [iso-8859-1] Wed Aug 26
21:50:18 2009
@@ -111,7 +111,6 @@
<file>csr.c</file>
<file>err.c</file>
<file>init.c</file>
- <file>usrheap.c</file>
<file>cursor.c</file>
<file>monitor.c</file>
<file>kbdlayout.c</file>