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/ha rdware.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/makefil e Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/core/makefil e.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-deb ug.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/makefil e Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/makefil e.crom Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-db g.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-hc d.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-hu b.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-me m.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci-pc i.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.de f 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_co nfig.h Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci_ma in.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/host/ohci_ma in.h Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/asm/bi tops.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/cromwe ll_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_ha l.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/pci_id s.h Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/usb.h Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/linux/usb_ch 9.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/linuxwra pper.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/risefall .c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/ros_wrap per.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/usbkey.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/sys/usbwrapp er.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/makefil e Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci-hc d.c Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci.de f Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci.rc Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci_co nfig.h Modified: branches/cache_manager_rewrite/reactos/drivers/usb/cromwell/uhci/uhci_ma in.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.c ur [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.UniqueThre ad, (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/ha rdware.c --- branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/ha rdware.c 2005-06-04 18:57:27 UTC (rev 15784) +++ branches/cache_manager_rewrite/reactos/boot/freeldr/freeldr/arch/i386/ha rdware.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","Compu terName",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",0x000 10001,0x00000000 @@ -926,6 +929,12 @@
HKLM,"SYSTEM\CurrentControlSet\Services\VBE","Type",0x00010001,0x0000000 1
HKLM,"SYSTEM\CurrentControlSet\Services\VBE\Device0","InstalledDisplayDr ivers",0x00010000,"framebuf"
+HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","Default Settings.VRefresh",0x00010001,1 +HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","Default Settings.BitsPerPel",0x00010001,8 +HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","Default Settings.XResolution",0x00010001,640 +HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\VBE\Device0","Default Settings.YResolution",0x00010001,480 + + ; VGA miniport driver
HKLM,"SYSTEM\CurrentControlSet\Services\Vga","ErrorControl",0x00010001,0 x00000000 HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Group",0x00000000,"Video Save" @@ -934,6 +943,7 @@
HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Type",0x00010001,0x0000000 1
HKLM,"SYSTEM\CurrentControlSet\Services\Vga\Device0","InstalledDisplayDr ivers",0x00010000,"vgaddi"
+ ; VMware SVGA driver
HKLM,"SYSTEM\CurrentControlSet\Services\vmx_svga","ErrorControl",0x00010 001,0x00000000
HKLM,"SYSTEM\CurrentControlSet\Services\vmx_svga","Group",0x00000000,"Vi deo" _____
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]