Merged 15422:15498 from trunk.
Modified: branches/cache_manager_rewrite/reactos/apps/utils/ps/ps.c
Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/hardware.c
Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/freeldr.c
Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/mm/mm.c
Modified: branches/cache_manager_rewrite/reactos/bootdata/hivesys.inf
Modified: branches/cache_manager_rewrite/reactos/bootdata/packages/reactos.dff
Modified: branches/cache_manager_rewrite/reactos/drivers/fs/np/create.c
Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/Makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/miniport.h
Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/ndissys.h
Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/miniport.c
Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/protocol.c
Modified: branches/cache_manager_rewrite/reactos/drivers/net/tcpip/tcpip/main.c
Modified: branches/cache_manager_rewrite/reactos/drivers/storage/cdrom/cdrom.c
Modified: branches/cache_manager_rewrite/reactos/drivers/storage/disk/disk.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/Makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/Makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/buffer_simple.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/config.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/hcd-pci.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/hcd.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/hcd.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/hub.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/hub.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/makefile.crom
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/message.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/urb.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usb-debug.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usb.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usb.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usbcore.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usbcore.def
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/usbcore.rc
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/makefile.crom
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-dbg.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-hcd.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-hub.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-mem.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-pci.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-q.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci.def
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci.rc
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci_config.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci_main.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci_main.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/asm/bitops.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/bitops.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/boot.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/consts.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/cromwell_types.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/errno.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/linux_wrapper.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/list.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/pci_hal.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/pci_ids.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/usb.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/usb_ch9.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/BootUSB.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/Makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/linuxwrapper.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/risefall.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/ros_wrapper.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/usbkey.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/usbwrapper.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/xpad.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/xremote.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/makefile
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci-hcd.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci.def
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci.rc
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci_config.h
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci_main.c
Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/usb_wrapper.h
Modified: branches/cache_manager_rewrite/reactos/include/ddk/obfuncs.h
Modified: branches/cache_manager_rewrite/reactos/include/ntos/zwtypes.h
Modified: branches/cache_manager_rewrite/reactos/include/wine/setupapi.h
Modified: branches/cache_manager_rewrite/reactos/lib/cpl/desk/en.rc
Modified: branches/cache_manager_rewrite/reactos/lib/cpl/desk/resource.h
Modified: branches/cache_manager_rewrite/reactos/lib/cpl/desk/settings.c
Modified: branches/cache_manager_rewrite/reactos/lib/cpl/desk/sv.rc
Modified: branches/cache_manager_rewrite/reactos/lib/iphlpapi/ifenum_reactos.c
Modified: branches/cache_manager_rewrite/reactos/lib/kernel32/misc/lang.c
Modified: branches/cache_manager_rewrite/reactos/lib/mmdrv/wave.c
Modified: branches/cache_manager_rewrite/reactos/lib/mpr/mpr.rc
Added: branches/cache_manager_rewrite/reactos/lib/mpr/mpr_Ru.rc
Modified: branches/cache_manager_rewrite/reactos/lib/msacm/msacm.rc
Added: branches/cache_manager_rewrite/reactos/lib/msacm/msacm_Ru.rc
Modified: branches/cache_manager_rewrite/reactos/lib/msi/msi.rc
Added: branches/cache_manager_rewrite/reactos/lib/msi/msi_Ru.rc
Added: branches/cache_manager_rewrite/reactos/lib/oledlg/oledlg_Ru.rc
Modified: branches/cache_manager_rewrite/reactos/lib/oledlg/rsrc.rc
Modified: branches/cache_manager_rewrite/reactos/lib/rtl/unicode.c
Modified: branches/cache_manager_rewrite/reactos/lib/setupapi/misc.c
Modified: branches/cache_manager_rewrite/reactos/lib/setupapi/setupapi.spec
Added: branches/cache_manager_rewrite/reactos/lib/shdocvw/Ru.rc
Modified: branches/cache_manager_rewrite/reactos/lib/shdocvw/shdocvw.rc
Modified: branches/cache_manager_rewrite/reactos/lib/user32/resources/ocr_normal.cur
[truncated at 100 lines; 123 more skipped]
Modified: branches/cache_manager_rewrite/reactos/apps/utils/ps/ps.c
--- branches/cache_manager_rewrite/reactos/apps/utils/ps/ps.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/apps/utils/ps/ps.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -1,4 +1,4 @@
-/* $Id$
+/* 
  *
  *  ReactOS ps - process list console viewer
  *
@@ -26,7 +26,68 @@
 /* NOTE: W32API ddk/ntapi.h header has wrong definition of SYSTEM_PROCESSES. */
 #include <ntos/types.h>
 
+typedef struct _SYSTEM_THREADS 	 
+ { 	 
+    LARGE_INTEGER KernelTime;
+    LARGE_INTEGER UserTime;
+    LARGE_INTEGER CreateTime;
+    ULONG WaitTime;
+    PVOID StartAddress;
+    CLIENT_ID ClientId;
+    KPRIORITY Priority;
+    LONG BasePriority;
+    ULONG ContextSwitches;
+    ULONG ThreadState;
+    ULONG WaitReason;
+ } SYSTEM_THREADS, *PSYSTEM_THREADS; 	 
+  	 
+ typedef struct _SYSTEM_PROCESSES 	 
+ { 	 
+    ULONG NextEntryOffset;
+    ULONG NumberOfThreads;
+    LARGE_INTEGER SpareLi1;
+    LARGE_INTEGER SpareLi2;
+    LARGE_INTEGER SpareLi3;
+    LARGE_INTEGER CreateTime;
+    LARGE_INTEGER UserTime;
+    LARGE_INTEGER KernelTime;
+    UNICODE_STRING ImageName;
+    KPRIORITY BasePriority;
+    HANDLE UniqueProcessId;
+    HANDLE InheritedFromUniqueProcessId;
+    ULONG HandleCount;
+    ULONG SessionId;
+    ULONG PageDirectoryFrame;
 
+    /*
+     * This part corresponds to VM_COUNTERS_EX.
+     * NOTE: *NOT* THE SAME AS VM_COUNTERS!
+     */
+    ULONG PeakVirtualSize;
+    ULONG VirtualSize;
+    ULONG PageFaultCount;
+    ULONG PeakWorkingSetSize;
+    ULONG WorkingSetSize;
+    ULONG QuotaPeakPagedPoolUsage;
+    ULONG QuotaPagedPoolUsage;
+    ULONG QuotaPeakNonPagedPoolUsage;
+    ULONG QuotaNonPagedPoolUsage;
+    ULONG PagefileUsage;
+    ULONG PeakPagefileUsage;
+    ULONG PrivateUsage;
+
+    /* This part corresponds to IO_COUNTERS */
+    LARGE_INTEGER ReadOperationCount;
+    LARGE_INTEGER WriteOperationCount;
+    LARGE_INTEGER OtherOperationCount;
+    LARGE_INTEGER ReadTransferCount;
+    LARGE_INTEGER WriteTransferCount;
+    LARGE_INTEGER OtherTransferCount;
+
+         SYSTEM_THREADS       Threads [1];  	 
+ } SYSTEM_PROCESSES, *PSYSTEM_PROCESSES; 	 
+ 
+
 //                     x00000000 00000000 000:00:00  000:00:00 ()
 static char* title  = "P     PID     PPID     KTime      UTime   NAME\n";
 static char* title1 = "t              TID     KTime      UTime   State      WaitResson\n";
@@ -36,7 +97,7 @@
 struct status {
     DWORD state;
     char  desc[10];
-}   thread_stat[8 + 1] = {
+}   thread_stat[8 + 1] = { 
     {0,	"Init      "},
     {1,	"Ready     "},
     {2,	"Running   "},
@@ -50,39 +111,45 @@
 
 struct waitres {
     DWORD state;
-    char  desc[11];
-}   waitreason[28 + 1] = {
-    {0,	"Executive  "},
-    {1,	"FreePage   "},
-    {2,	"PageIn     "},
-    {3,	"PoolAlloc  "},
-    {4,	"DelayExec  "},
-    {5,	"Suspended  "},
-    {6,	"UserReq    "},
-    {7, "WrExecutive"},
-    {8,	"WrFreePage "},
-    {9,	"WrPageIn   "},
-    {10,"WrPoolAlloc"},
-    {11,"WrDelayExec"},
-    {12,"WrSuspended"},
-    {13,"WrUserReq  "},
-    {14,"WrEventPair"},
-    {15,"WrQueue    "},
-    {16,"WrLpcRec   "},
-    {17,"WrLpcReply "},
-    {18,"WrVirtualMm"},
-    {19,"WrPageOut  "},
-    {20,"WrRendez   "},
-    {21,"Spare1     "},
-    {22,"Spare2     "},
-    {23,"Spare3     "},
-    {24,"Spare4     "},
-    {25,"Spare5     "},
-    {26,"Spare6     "},
-    {27,"WrKernel   "},
-    {-1,"     ?     "}
+    char  desc[17];
+}   waitreason[35 + 1] = { 
+   {0, "Executive        "},
+   {1, "FreePage         "},
+   {2, "PageIn           "},
+   {3, "PoolAllocation   "},
+   {4, "DelayExecution   "},
+   {5, "Suspended        "},
+   {6, "UserRequest      "},
+   {7, "WrExecutive      "},
+   {8, "WrFreePage       "},
+   {9, "WrPageIn         "},
+   {10,"WrPoolAllocation "},
+   {11,"WrDelayExecution "},
+   {12,"WrSuspended      "},
+   {13,"WrUserRequest    "},
+   {14,"WrEventPair      "},
+   {15,"WrQueue          "},
+   {16,"WrLpcReceive     "},
+   {17,"WrLpcReply       "},
+   {18,"WrVirtualMemory  "},
+   {19,"WrPageOut        "},
+   {20,"WrRendezvous     "},
+   {21,"Spare2           "},
+   {22,"WrGuardedMutex   "},
+   {23,"Spare4           "},
+   {24,"Spare5           "},
+   {25,"Spare6           "},
+   {26,"WrKernel         "},
+   {27,"WrResource       "},
+   {28,"WrPushLock       "},
+   {29,"WrMutex          "},
+   {30,"WrQuantumEnd     "},
+   {31,"WrDispatchInt    "},
+   {32,"WrPreempted      "},
+   {33,"WrYieldExecution "},
+   {34,"MaximumWaitReason"},
+   {-1,"       ?         "}
 };
-
 BOOL CALLBACK
 EnumThreadProc(HWND hwnd, LPARAM lp)
 {
@@ -90,9 +157,9 @@
 	LONG style;
         HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
 	char buf[256];
-
+	
 	GetWindowText(hwnd, (LPTSTR)lp, 30);
-
+	
 	if(hwnd != 0)
 	{
 	style = GetWindowLong(hwnd, GWL_STYLE);
@@ -110,13 +177,13 @@
     DWORD r;
     ANSI_STRING astring;
     HANDLE stdout = GetStdHandle(STD_OUTPUT_HANDLE);
-    PSYSTEM_PROCESS_INFORMATION SystemProcesses = NULL;
-    PSYSTEM_PROCESS_INFORMATION CurrentProcess;
+    PSYSTEM_PROCESSES SystemProcesses = NULL;
+    PSYSTEM_PROCESSES CurrentProcess;
     ULONG BufferSize, ReturnSize;
     NTSTATUS Status;
     char buf[256];
     char buf1[256];
-
+    
     WriteFile(stdout, title, lstrlen(title), &r, NULL);
     WriteFile(stdout, title1, lstrlen(title1), &r, NULL);
     WriteFile(stdout, title2, lstrlen(title2), &r, NULL);
@@ -153,7 +220,7 @@
 	hour    = (ptime.QuadPart / (10000000LL * 3600LL));
 	minute  = (ptime.QuadPart / (10000000LL * 60LL)) % 60LL;
 	seconds = (ptime.QuadPart / 10000000LL) % 60LL;
-
+	
 	ptime.QuadPart = CurrentProcess->UserTime.QuadPart;
 	hour1    = (ptime.QuadPart / (10000000LL * 3600LL));
 	minute1  = (ptime.QuadPart / (10000000LL * 60LL)) % 60LL;
@@ -166,7 +233,7 @@
                  hour, minute, seconds, hour1, minute1, seconds1,
                  astring.Buffer);
         WriteFile(stdout, buf, lstrlen(buf), &r, NULL);
-
+        
         RtlFreeAnsiString(&astring);
 
 	for (ti = 0; ti < CurrentProcess->NumberOfThreads; ti++)
@@ -175,37 +242,37 @@
 		struct waitres *waitt;
 		char szWindowName[30] = {" "};
 
-		ptime = CurrentProcess->TH[ti].KernelTime;
+		ptime = CurrentProcess->Threads[ti].KernelTime;
 		thour = (ptime.QuadPart / (10000000LL * 3600LL));
 		tmin  = (ptime.QuadPart / (10000000LL * 60LL)) % 60LL;
 		tsec  = (ptime.QuadPart / 10000000LL) % 60LL;
 
-		ptime  = CurrentProcess->TH[ti].UserTime;
+		ptime = CurrentProcess->Threads[ti].UserTime;
 		thour1 = (ptime.QuadPart / (10000000LL * 3600LL));
 		tmin1  = (ptime.QuadPart / (10000000LL * 60LL)) % 60LL;
 		tsec1  = (ptime.QuadPart / 10000000LL) % 60LL;
 
 		statt = thread_stat;
-                while (statt->state != CurrentProcess->TH[ti].ThreadState  && statt->state >= 0)
+                while (statt->state != CurrentProcess->Threads[ti].ThreadState  && statt->state >= 0)
                 	statt++;
 
 		waitt = waitreason;
-                while (waitt->state != CurrentProcess->TH[ti].WaitReason  && waitt->state >= 0)
+                while (waitt->state != CurrentProcess->Threads[ti].WaitReason  && waitt->state >= 0)
                         waitt++;
 
-		wsprintf (buf1,
+		wsprintf (buf1, 
 		          "t%         %8d %3d:%02d:%02d  %3d:%02d:%02d   %s %s\n",
-		          CurrentProcess->TH[ti].ClientId.UniqueThread,
+		          CurrentProcess->Threads[ti].ClientId.UniqueThread,
 		          thour, tmin, tsec, thour1, tmin1, tsec1,
 		          statt->desc , waitt->desc);
         	WriteFile(stdout, buf1, lstrlen(buf1), &r, NULL);
 
-		EnumThreadWindows((DWORD)CurrentProcess->TH[ti].ClientId.UniqueThread,
+		EnumThreadWindows((DWORD)CurrentProcess->Threads[ti].ClientId.UniqueThread,
 		                  (ENUMWINDOWSPROC) EnumThreadProc,
 		                  (LPARAM)(LPTSTR) szWindowName );
 	   }
-	   CurrentProcess = (PSYSTEM_PROCESS_INFORMATION)((ULONG_PTR)CurrentProcess +
+	   CurrentProcess = (PSYSTEM_PROCESSES)((ULONG_PTR)CurrentProcess +
 	                     CurrentProcess->NextEntryOffset);
-	}
+	} 
   	return (0);
 }

Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/hardware.c
--- branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/hardware.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/hardware.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -1715,7 +1715,7 @@
     /* Set 'Identifier' value */
     strcpy(Buffer,
 	   "PCAT_ENHANCED");
-    Error = RegSetValue(ControllerKey,
+    Error = RegSetValue(PeripheralKey,
 			"Identifier",
 			REG_SZ,
 			Buffer,

Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/freeldr.c
--- branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/freeldr.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/freeldr.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -35,7 +35,7 @@
 
 	DebugInit();
 
-	DbgPrint((DPRINT_WARNING, "BootMain() called. BootDrive = 0x%x BootPartition = %d\n", BootDrive, BootPartition));
+	DbgPrint((DPRINT_WARNING, "BootMain() called.\n"));
 
 	if (!MmInitializeMemoryManager())
 	{

Modified: branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/mm/mm.c
--- branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/mm/mm.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/mm/mm.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -36,10 +36,30 @@
 VOID		MemAllocTest(VOID);
 #endif // DEBUG
 
+/*
+ * Hack alert
+ * Normally, we allocate whole pages. This is ofcourse wastefull for small
+ * allocations (a few bytes). So, for small allocations (smaller than a page)
+ * we sub-allocate. When the first small allocation is done, a page is
+ * requested. We keep a pointer to that page in SubAllocationPage. The alloc
+ * is satisfied by returning a pointer to the beginning of the page. We also
+ * keep track of how many bytes are still available in the page in SubAllocationRest.
+ * When the next small request comes in, we try to allocate it just after the
+ * memory previously allocated. If it won't fit, we allocate a new page and
+ * the whole process starts again.
+ * Note that suballocations are done back-to-back, there's no bookkeeping at all.
+ * That also means that we cannot really free suballocations. So, when a free is
+ * done and it is determined that this might be a free of a sub-allocation, we
+ * just no-op the free.
+ * Perhaps we should use the heap routines from ntdll here.
+ */
+static PVOID    SubAllocationPage = NULL;
+static unsigned SubAllocationRest = 0;
+
 PVOID MmAllocateMemory(ULONG MemorySize)
 {
-	ULONG		PagesNeeded;
-	ULONG		FirstFreePageFromEnd;
+	ULONG	PagesNeeded;
+	ULONG	FirstFreePageFromEnd;
 	PVOID	MemPointer;
 
 	if (MemorySize == 0)
@@ -49,6 +69,14 @@
 		return NULL;
 	}
 
+	MemorySize = ROUND_UP(MemorySize, 4);
+	if (MemorySize <= SubAllocationRest)
+	{
+		MemPointer = SubAllocationPage + MM_PAGE_SIZE - SubAllocationRest;
+		SubAllocationRest -= MemorySize;
+		return MemPointer;
+	}
+
 	// Find out how many blocks it will take to
 	// satisfy this allocation
 	PagesNeeded = ROUND_UP(MemorySize, MM_PAGE_SIZE) / MM_PAGE_SIZE;
@@ -76,6 +104,13 @@
 	FreePagesInLookupTable -= PagesNeeded;
 	MemPointer = (PVOID)(FirstFreePageFromEnd * MM_PAGE_SIZE);
 
+	if (MemorySize < MM_PAGE_SIZE)
+	{
+		SubAllocationPage = MemPointer;
+		SubAllocationRest = MM_PAGE_SIZE - MemorySize;
+	}
+		
+
 #ifdef DEBUG
 	IncrementAllocationCount();
 	DbgPrint((DPRINT_MEMORY, "Allocated %d bytes (%d pages) of memory starting at page %d. AllocCount: %d\n", MemorySize, PagesNeeded, FirstFreePageFromEnd, AllocationCount));
@@ -235,6 +270,13 @@
 
 #endif
 
+	/* If this allocation is only a single page, it could be a sub-allocated page.
+	 * Just don't free it */
+	if (1 == PageCount)
+	{
+		return;
+	}
+
 	// Loop through our array and mark all the
 	// blocks as free
 	for (Idx=PageNumber; Idx<(PageNumber + PageCount); Idx++)

Modified: branches/cache_manager_rewrite/reactos/bootdata/hivesys.inf
--- branches/cache_manager_rewrite/reactos/bootdata/hivesys.inf	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/bootdata/hivesys.inf	2005-06-04 19:07:10 UTC (rev 15785)
@@ -46,6 +46,9 @@
 HKLM,"SYSTEM\CurrentControlSet\Control\ComputerName",,0x00000012
 HKLM,"SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName","ComputerName",0x00000002,"COMPUTERNAME"
 
+; Device classes key
+HKLM,"SYSTEM\CurrentControlSet\Control\DeviceClasses",,0x00000012
+
 ; Hardware profile settings
 HKLM,"SYSTEM\CurrentControlSet\Control\IDConfigDB",,0x00000012
 HKLM,"SYSTEM\CurrentControlSet\Control\IDConfigDB","CurrentConfig",0x00010001,0x00000000
@@ -926,6 +929,12 @@
 HKLM,"SYSTEM\CurrentControlSet\Services\VBE","Type",0x00010001,0x00000001
 HKLM,"SYSTEM\CurrentControlSet\Services\VBE\Device0","InstalledDisplayDrivers",0x00010000,"framebuf"
 
+HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","DefaultSettings.VRefresh",0x00010001,1
+HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","DefaultSettings.BitsPerPel",0x00010001,8
+HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","DefaultSettings.XResolution",0x00010001,640
+HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","DefaultSettings.YResolution",0x00010001,480
+
+
 ; VGA miniport driver
 HKLM,"SYSTEM\CurrentControlSet\Services\Vga","ErrorControl",0x00010001,0x00000000
 HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Group",0x00000000,"Video Save"
@@ -934,6 +943,7 @@
 HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Type",0x00010001,0x00000001
 HKLM,"SYSTEM\CurrentControlSet\Services\Vga\Device0","InstalledDisplayDrivers",0x00010000,"vgaddi"
 
+
 ; VMware SVGA driver
 HKLM,"SYSTEM\CurrentControlSet\Services\vmx_svga","ErrorControl",0x00010001,0x00000000
 HKLM,"SYSTEM\CurrentControlSet\Services\vmx_svga","Group",0x00000000,"Video"

Modified: branches/cache_manager_rewrite/reactos/bootdata/packages/reactos.dff
--- branches/cache_manager_rewrite/reactos/bootdata/packages/reactos.dff	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/bootdata/packages/reactos.dff	2005-06-04 19:07:10 UTC (rev 15785)
@@ -16,7 +16,7 @@
 1 = system32
 2 = system32\drivers
 3 = media\fonts
-4 = .
+4 =
 5 = system32\drivers\etc
 6 = inf
 

Modified: branches/cache_manager_rewrite/reactos/drivers/fs/np/create.c
--- branches/cache_manager_rewrite/reactos/drivers/fs/np/create.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/fs/np/create.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -96,7 +96,7 @@
 
 	  RemoveEntryList(&Waiter->Entry);
 	  Irp = CONTAINING_RECORD(Waiter, IRP, Tail.Overlay.DriverContext);
-	  Irp->IoStatus.Status = STATUS_PIPE_CONNECTED;
+	  Irp->IoStatus.Status = STATUS_SUCCESS;
 	  Irp->IoStatus.Information = 0;
 	  IoCompleteRequest(Irp, IO_NO_INCREMENT);
 	  break;

Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/Makefile
--- branches/cache_manager_rewrite/reactos/drivers/net/ndis/Makefile	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/ndis/Makefile	2005-06-04 19:07:10 UTC (rev 15785)
@@ -8,7 +8,7 @@
 
 TARGET_PCH = include/ndissys.h
 
-TARGET_CFLAGS = -I./include -D__USE_W32API -Wall
+TARGET_CFLAGS = -I./include -D__USE_W32API -Wall -Werror
 
 TARGET_CFLAGS += -DNDIS_WRAPPER -DNDIS50 -DNDIS50_MINIPORT -DBINARY_COMPATIBLE
 

Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/miniport.h
--- branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/miniport.h	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/miniport.h	2005-06-04 19:07:10 UTC (rev 15785)
@@ -10,6 +10,7 @@
 
 #include <ndissys.h>
 
+struct _ADAPTER_BINDING;
 
 typedef struct _HARDWARE_ADDRESS {
     union {
@@ -77,9 +78,9 @@
     KDPC                        MiniportDpc;            /* DPC routine for adapter */
     BOOLEAN                     MiniportBusy;           /* A MiniportXxx routine is executing */
     ULONG                       WorkQueueLevel;         /* Number of used work item buffers */
-    NDIS_MINIPORT_WORK_ITEM     WorkQueue[NDIS_MINIPORT_WORK_QUEUE_SIZE];
-    PNDIS_MINIPORT_WORK_ITEM    WorkQueueHead;          /* Head of work queue */
-    PNDIS_MINIPORT_WORK_ITEM    WorkQueueTail;          /* Tail of work queue */
+    INTERNAL_NDIS_MINIPORT_WORK_ITEM     WorkQueue[NDIS_MINIPORT_WORK_QUEUE_SIZE];
+    PINTERNAL_NDIS_MINIPORT_WORK_ITEM    WorkQueueHead;          /* Head of work queue */
+    PINTERNAL_NDIS_MINIPORT_WORK_ITEM    WorkQueueTail;          /* Tail of work queue */
     LIST_ENTRY                  ListEntry;              /* Entry on global list */
     LIST_ENTRY                  MiniportListEntry;      /* Entry on miniport driver list */
     LIST_ENTRY                  ProtocolListHead;       /* List of bound protocols */
@@ -145,7 +146,7 @@
 NDIS_STATUS
 FASTCALL
 MiniQueueWorkItem(
-    PLOGICAL_ADAPTER    Adapter,
+    struct _ADAPTER_BINDING *AdapterBinding,
     NDIS_WORK_ITEM_TYPE WorkItemType,
     PVOID               WorkItemContext);
 
@@ -153,12 +154,13 @@
 FASTCALL
 MiniDequeueWorkItem(
     PLOGICAL_ADAPTER    Adapter,
+    struct _ADAPTER_BINDING **AdapterBinding,
     NDIS_WORK_ITEM_TYPE *WorkItemType,
     PVOID               *WorkItemContext);
 
 NDIS_STATUS
 MiniDoRequest(
-    PLOGICAL_ADAPTER Adapter,
+    struct _ADAPTER_BINDING *AdapterBinding,
     PNDIS_REQUEST NdisRequest);
 
 BOOLEAN

Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/ndissys.h
--- branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/ndissys.h	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/ndis/include/ndissys.h	2005-06-04 19:07:10 UTC (rev 15785)
@@ -27,6 +27,14 @@
 #include <ddk/ntapi.h>
 #endif /* _MSC_VER */
 
+struct _ADAPTER_BINDING;
+
+typedef struct _INTERNAL_NDIS_MINIPORT_WORK_ITEM {
+    SINGLE_LIST_ENTRY Link;
+    struct _ADAPTER_BINDING *AdapterBinding;
+    NDIS_MINIPORT_WORK_ITEM RealWorkItem;
+} INTERNAL_NDIS_MINIPORT_WORK_ITEM, *PINTERNAL_NDIS_MINIPORT_WORK_ITEM;
+
 #include "miniport.h"
 #include "protocol.h"
 

Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/miniport.c
--- branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/miniport.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/miniport.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -327,7 +327,24 @@
 }
 
 
+
 VOID STDCALL
+MiniRequestComplete(
+    IN PADAPTER_BINDING AdapterBinding,
+    IN PNDIS_REQUEST Request,
+    IN  NDIS_STATUS Status)
+{
+    NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
+
+    if( AdapterBinding->ProtocolBinding->Chars.RequestCompleteHandler ) {
+        (*AdapterBinding->ProtocolBinding->Chars.RequestCompleteHandler)(
+            AdapterBinding->NdisOpenBlock.NdisCommonOpenBlock.ProtocolBindingContext,
+            Request,
+            Status);
+    }
+}
+
+VOID STDCALL
 MiniSendComplete(
     IN  NDIS_HANDLE     MiniportAdapterHandle,
     IN  PNDIS_PACKET    Packet,
@@ -615,7 +632,7 @@
 NDIS_STATUS
 FASTCALL
 MiniQueueWorkItem(
-    PLOGICAL_ADAPTER    Adapter,
+    PADAPTER_BINDING    AdapterBinding,
     NDIS_WORK_ITEM_TYPE WorkItemType,
     PVOID               WorkItemContext)
 /*
@@ -630,49 +647,51 @@
  *     Status of operation
  */
 {
-  PNDIS_MINIPORT_WORK_ITEM Item;
+    PINTERNAL_NDIS_MINIPORT_WORK_ITEM Item;
+    PLOGICAL_ADAPTER Adapter = AdapterBinding->Adapter;
 
-  NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
-
-  ASSERT(Adapter);
-  ASSERT(KeGetCurrentIrql() >= DISPATCH_LEVEL);
-
+    NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
+    
+    ASSERT(Adapter);
+    ASSERT(KeGetCurrentIrql() >= DISPATCH_LEVEL);
+    
 #if 0
-  if (Adapter->WorkQueueLevel < NDIS_MINIPORT_WORK_QUEUE_SIZE - 1)
+    if (Adapter->WorkQueueLevel < NDIS_MINIPORT_WORK_QUEUE_SIZE - 1)
     {
-      Item = &Adapter->WorkQueue[Adapter->WorkQueueLevel];
-      Adapter->WorkQueueLevel++;
+        Item = &Adapter->WorkQueue[Adapter->WorkQueueLevel];
+        Adapter->WorkQueueLevel++;
     }
-  else
+    else
 #endif
     {
-      Item = ExAllocatePool(NonPagedPool, sizeof(NDIS_MINIPORT_WORK_ITEM));
-      if (Item == NULL)
+        Item = ExAllocatePool(NonPagedPool, sizeof(INTERNAL_NDIS_MINIPORT_WORK_ITEM));
+        if (Item == NULL)
         {
-          NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
-          return NDIS_STATUS_RESOURCES;
+            NDIS_DbgPrint(MIN_TRACE, ("Insufficient resources.\n"));
+            return NDIS_STATUS_RESOURCES;
         }
     }
-
-  Item->WorkItemType    = WorkItemType;
-  Item->WorkItemContext = WorkItemContext;
-
-  /* safe due to adapter lock held */
-  Item->Link.Next = NULL;
-  if (!Adapter->WorkQueueHead)
+    
+    Item->AdapterBinding = AdapterBinding;
+    Item->RealWorkItem.WorkItemType    = WorkItemType;
+    Item->RealWorkItem.WorkItemContext = WorkItemContext;
+    
+    /* safe due to adapter lock held */
+    Item->Link.Next = NULL;
+    if (!Adapter->WorkQueueHead)
     {
-      Adapter->WorkQueueHead = Item;
-      Adapter->WorkQueueTail = Item;
+        Adapter->WorkQueueHead = Item;
+        Adapter->WorkQueueTail = Item;
     }
-  else
+    else
     {
-      Adapter->WorkQueueTail->Link.Next = (PSINGLE_LIST_ENTRY)Item;
-      Adapter->WorkQueueTail = Item;
+        Adapter->WorkQueueTail->Link.Next = (PSINGLE_LIST_ENTRY)Item;
+        Adapter->WorkQueueTail = Item;
     }
-
-  KeInsertQueueDpc(&Adapter->MiniportDpc, NULL, NULL);
-
-  return NDIS_STATUS_SUCCESS;
+    
+    KeInsertQueueDpc(&Adapter->MiniportDpc, NULL, NULL);
+    
+    return NDIS_STATUS_SUCCESS;
 }
 
 
@@ -680,12 +699,14 @@
 FASTCALL
 MiniDequeueWorkItem(
     PLOGICAL_ADAPTER    Adapter,
+    PADAPTER_BINDING    *AdapterBinding,
     NDIS_WORK_ITEM_TYPE *WorkItemType,
     PVOID               *WorkItemContext)
 /*
  * FUNCTION: Dequeues a work item from the work queue of a logical adapter
  * ARGUMENTS:
  *     Adapter         = Pointer to the logical adapter object to dequeue work item from
+ *     AdapterBinding  = Address of buffer for adapter binding for this request
  *     WorkItemType    = Address of buffer for work item type
  *     WorkItemContext = Address of buffer for pointer to context information
  * NOTES:
@@ -694,52 +715,55 @@
  *     Status of operation
  */
 {
-  PNDIS_MINIPORT_WORK_ITEM Item;
-
-  NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
-
-  Item = Adapter->WorkQueueHead;
-
-  if (Item)
+    PINTERNAL_NDIS_MINIPORT_WORK_ITEM Item;
+    
+    NDIS_DbgPrint(MAX_TRACE, ("Called.\n"));
+    
+    Item = Adapter->WorkQueueHead;
+    
+    if (Item)
     {
-      /* safe due to adapter lock held */
-      Adapter->WorkQueueHead = (PNDIS_MINIPORT_WORK_ITEM)Item->Link.Next;
-
-      if (Item == Adapter->WorkQueueTail)
-        Adapter->WorkQueueTail = NULL;
-
-      *WorkItemType    = Item->WorkItemType;
-      *WorkItemContext = Item->WorkItemContext;
-
-      ExFreePool(Item);
-
-      return NDIS_STATUS_SUCCESS;
+        /* safe due to adapter lock held */
+        Adapter->WorkQueueHead = (PINTERNAL_NDIS_MINIPORT_WORK_ITEM)Item->Link.Next;
+        
+        if (Item == Adapter->WorkQueueTail)
+            Adapter->WorkQueueTail = NULL;
+        
+        *AdapterBinding  = Item->AdapterBinding;
+        *WorkItemType    = Item->RealWorkItem.WorkItemType;
+        *WorkItemContext = Item->RealWorkItem.WorkItemContext;
+        
+        ExFreePool(Item);
+        
+        return NDIS_STATUS_SUCCESS;
     }
-
-  return NDIS_STATUS_FAILURE;
+    
+    return NDIS_STATUS_FAILURE;
 }
 
 
 NDIS_STATUS
 MiniDoRequest(
-    PLOGICAL_ADAPTER Adapter,
+    PADAPTER_BINDING AdapterBinding,
     PNDIS_REQUEST NdisRequest)
 /*
  * FUNCTION: Sends a request to a miniport
  * ARGUMENTS:
- *     Adapter     = Pointer to logical adapter object
- *     NdisRequest = Pointer to NDIS request structure describing request
+ *     AdapterBinding = Pointer to binding used in the request
+ *     NdisRequest    = Pointer to NDIS request structure describing request
  * RETURNS:
  *     Status of operation
  */
 {
-  NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
+    PLOGICAL_ADAPTER Adapter = AdapterBinding->Adapter;
 
-  Adapter->NdisMiniportBlock.MediaRequest = NdisRequest;
-
-  switch (NdisRequest->RequestType)
+    NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
+    
+    Adapter->NdisMiniportBlock.MediaRequest = NdisRequest;
+    
+    switch (NdisRequest->RequestType)
     {
-      case NdisRequestQueryInformation:
+    case NdisRequestQueryInformation:
         return (*Adapter->Miniport->Chars.QueryInformationHandler)(
             Adapter->NdisMiniportBlock.MiniportAdapterContext,
             NdisRequest->DATA.QUERY_INFORMATION.Oid,
@@ -748,8 +772,8 @@
             (PULONG)&NdisRequest->DATA.QUERY_INFORMATION.BytesWritten,
             (PULONG)&NdisRequest->DATA.QUERY_INFORMATION.BytesNeeded);
         break;
-
-      case NdisRequestSetInformation:
+        
+    case NdisRequestSetInformation:
         return (*Adapter->Miniport->Chars.SetInformationHandler)(
             Adapter->NdisMiniportBlock.MiniportAdapterContext,
             NdisRequest->DATA.SET_INFORMATION.Oid,
@@ -758,8 +782,8 @@
             (PULONG)&NdisRequest->DATA.SET_INFORMATION.BytesRead,
             (PULONG)&NdisRequest->DATA.SET_INFORMATION.BytesNeeded);
         break;
-
-      default:
+        
+    default:
         return NDIS_STATUS_FAILURE;
     }
 }
@@ -800,11 +824,14 @@
   NDIS_STATUS NdisStatus;
   PVOID WorkItemContext;
   NDIS_WORK_ITEM_TYPE WorkItemType;
+  PADAPTER_BINDING AdapterBinding;
   PLOGICAL_ADAPTER Adapter = GET_LOGICAL_ADAPTER(DeferredContext);
 
   NDIS_DbgPrint(DEBUG_MINIPORT, ("Called.\n"));
 
-  NdisStatus = MiniDequeueWorkItem(Adapter, &WorkItemType, &WorkItemContext);
+  NdisStatus = 
+      MiniDequeueWorkItem
+      (Adapter, &AdapterBinding, &WorkItemType, &WorkItemContext);
 
   if (NdisStatus == NDIS_STATUS_SUCCESS)
     {
@@ -873,7 +900,7 @@
             break;
 
           case NdisWorkItemRequest:
-            NdisStatus = MiniDoRequest(Adapter, (PNDIS_REQUEST)WorkItemContext);
+            NdisStatus = MiniDoRequest(AdapterBinding, (PNDIS_REQUEST)WorkItemContext);
 
             if (NdisStatus == NDIS_STATUS_PENDING)
               break;
@@ -882,10 +909,12 @@
               {
                 case NdisRequestQueryInformation:
 		  NdisMQueryInformationComplete((NDIS_HANDLE)Adapter, NdisStatus);
+                  MiniRequestComplete( AdapterBinding, (PNDIS_REQUEST)WorkItemContext, NdisStatus );
                   break;
 
                 case NdisRequestSetInformation:
                   NdisMSetInformationComplete((NDIS_HANDLE)Adapter, NdisStatus);
+                  MiniRequestComplete( AdapterBinding, (PNDIS_REQUEST)WorkItemContext, NdisStatus );
                   break;
 
                 default:

Modified: branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/protocol.c
--- branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/protocol.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/ndis/ndis/protocol.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -158,7 +158,7 @@
   /* MiniQueueWorkItem must be called at IRQL >= DISPATCH_LEVEL */
   if (QueueWorkItem)
     {
-      MiniQueueWorkItem(Adapter, NdisWorkItemRequest, (PVOID)NdisRequest);
+      MiniQueueWorkItem(AdapterBinding, NdisWorkItemRequest, (PVOID)NdisRequest);
       KeReleaseSpinLock(&Adapter->NdisMiniportBlock.Lock, OldIrql);
       return NDIS_STATUS_PENDING;
     }
@@ -169,7 +169,7 @@
   /* TODO (?): move the irql raise into MiniDoRequest */
   KeRaiseIrql(DISPATCH_LEVEL, &OldIrql);
     {
-      NdisStatus = MiniDoRequest(Adapter, NdisRequest);
+      NdisStatus = MiniDoRequest(AdapterBinding, NdisRequest);
 
       NDIS_DbgPrint(MAX_TRACE, ("acquiring miniport block lock\n"));
       KeAcquireSpinLockAtDpcLevel(&Adapter->NdisMiniportBlock.Lock);
@@ -278,7 +278,7 @@
 
       if (QueueWorkItem)
         {
-          MiniQueueWorkItem(Adapter, NdisWorkItemSendLoopback, (PVOID)Packet);
+          MiniQueueWorkItem(AdapterBinding, NdisWorkItemSendLoopback, (PVOID)Packet);
           return NDIS_STATUS_PENDING;
         }
 
@@ -315,7 +315,7 @@
   /* This is a normal send packet, not a loopback packet. */
   if (QueueWorkItem)
     {
-      MiniQueueWorkItem(Adapter, NdisWorkItemSend, (PVOID)Packet);
+      MiniQueueWorkItem(AdapterBinding, NdisWorkItemSend, (PVOID)Packet);
       NDIS_DbgPrint(MAX_TRACE, ("Queued a work item and returning\n"));
       return NDIS_STATUS_PENDING;
     }

Modified: branches/cache_manager_rewrite/reactos/drivers/net/tcpip/tcpip/main.c
--- branches/cache_manager_rewrite/reactos/drivers/net/tcpip/tcpip/main.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/net/tcpip/tcpip/main.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -9,7 +9,7 @@
  */
 #include "precomp.h"
 
-//#define NDEBUG
+#define NDEBUG
 
 #ifndef NDEBUG
 DWORD DebugTraceLevel = DEBUG_ULTRA & ~(DEBUG_LOCK | DEBUG_PBUFFER);

Modified: branches/cache_manager_rewrite/reactos/drivers/storage/cdrom/cdrom.c
--- branches/cache_manager_rewrite/reactos/drivers/storage/cdrom/cdrom.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/storage/cdrom/cdrom.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -391,17 +391,10 @@
 CdromClassCreateMediaChangeEvent(IN PDEVICE_EXTENSION DeviceExtension,
 				 IN ULONG DeviceNumber)
 {
-  WCHAR NameBuffer[MAX_PATH];
-  UNICODE_STRING Name;
 
-  swprintf (NameBuffer,
-	    L"\\Device\\MediaChangeEvent%lu",
-	    DeviceNumber);
-  RtlInitUnicodeString (&Name,
-			NameBuffer);
 
   DeviceExtension->MediaChangeEvent =
-    IoCreateSynchronizationEvent (&Name,
+    IoCreateSynchronizationEvent (NULL,
 				  &DeviceExtension->MediaChangeEventHandle);
 
   KeClearEvent (DeviceExtension->MediaChangeEvent);

Modified: branches/cache_manager_rewrite/reactos/drivers/storage/disk/disk.c
--- branches/cache_manager_rewrite/reactos/drivers/storage/disk/disk.c	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/storage/disk/disk.c	2005-06-04 19:07:10 UTC (rev 15785)
@@ -315,17 +315,8 @@
 DiskClassCreateMediaChangeEvent(IN PDEVICE_EXTENSION DeviceExtension,
 				 IN ULONG DeviceNumber)
 {
-  WCHAR NameBuffer[MAX_PATH];
-  UNICODE_STRING Name;
-
-  swprintf (NameBuffer,
-	    L"\\Device\\MediaChangeEvent%lu",
-	    DeviceNumber);
-  RtlInitUnicodeString (&Name,
-			NameBuffer);
-
   DeviceExtension->MediaChangeEvent =
-    IoCreateSynchronizationEvent (&Name,
+    IoCreateSynchronizationEvent (NULL,
 				  &DeviceExtension->MediaChangeEventHandle);
 
   KeClearEvent (DeviceExtension->MediaChangeEvent);

Modified: branches/cache_manager_rewrite/reactos/drivers/usb/Makefile
--- branches/cache_manager_rewrite/reactos/drivers/usb/Makefile	2005-06-04 18:57:27 UTC (rev 15784)
+++ branches/cache_manager_rewrite/reactos/drivers/usb/Makefile	2005-06-04 19:07:10 UTC (rev 15785)
@@ -1,50 +1,50 @@
-#
-# ReactOS USB Drivers
-#
-
-PATH_TO_TOP = ../..
-
-include $(PATH_TO_TOP)/rules.mak
-
-DRIVERS = usbport miniport/usbuhci miniport/usbehci miniport/usbohci usbhub usbd
-
-all: $(DRIVERS)
-
-depends: 
-
-implib: $(DRIVERS:%=%_implib)
-
-clean: 	$(DRIVERS:%=%_clean)
-
-install: $(DRIVERS:%=%_install)
-
-bootcd: $(DRIVERS:%=%_bootcd)
-
-.PHONY: all depends implib clean install bootcd
-
-
-#
-# USB DRIVERS
-#
-$(DRIVERS): %:
-	$(MAKE) -C $*
-
-$(DRIVERS:%=%_implib): %_implib:
-	$(MAKE) -C $* implib
-
-$(DRIVERS:%=%_clean): %_clean:
-	$(MAKE) -C $* clean
-
-$(DRIVERS:%=%_install): %_install:
-	$(MAKE) -C $* install
-
-$(DRIVERS:%=%_bootcd): %_bootcd:
-	$(MAKE) -C $* bootcd
-
-.PHONY: $(DRIVERS) $(DRIVERS:%=%_implib) $(DRIVERS:%=%_clean) $(DRIVERS:%=%_install) $(DRIVERS:%=%_bootcd)
-
-
-etags:
-	find . -name "*.[ch]" -print | etags --language=c -
-
-# EOF
+#
+# ReactOS USB Drivers
+#
+
+PATH_TO_TOP = ../..
+
+include $(PATH_TO_TOP)/rules.mak
+
+DRIVERS = usbport miniport/usbuhci miniport/usbehci miniport/usbohci usbhub usbd cromwell
+
+all: $(DRIVERS)
+
+depends: 
+
+implib: $(DRIVERS:%=%_implib)
+
+clean: 	$(DRIVERS:%=%_clean)
+
+install: $(DRIVERS:%=%_install)
+
+bootcd: $(DRIVERS:%=%_bootcd)
+
+.PHONY: all depends implib clean install bootcd
+
+
+#
+# USB DRIVERS
+#
+$(DRIVERS): %:
+	$(MAKE) -C $*
+
+$(DRIVERS:%=%_implib): %_implib:
+	$(MAKE) -C $* implib
+
+$(DRIVERS:%=%_clean): %_clean:
+	$(MAKE) -C $* clean
+
+$(DRIVERS:%=%_install): %_install:
+	$(MAKE) -C $* install
+
+$(DRIVERS:%=%_bootcd): %_bootcd:
+	$(MAKE) -C $* bootcd
+
+.PHONY: $(DRIVERS) $(DRIVERS:%=%_implib) $(DRIVERS:%=%_clean) $(DRIVERS:%=%_install) $(DRIVERS:%=%_bootcd)
+
+
+etags:
+	find . -name "*.[ch]" -print | etags --language=c -
+
+# EOF
Property changes on: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell
___________________________________________________________________
Name: svn:ignore
   + *.coff
*.sym
*.o
*.a
*.dll
[truncated at 1000 lines; 45179 more skipped]