Timo Kreuzer [Sun, 4 Mar 2012 12:01:59 +0000 (12:01 +0000)]
[WIN32K]
Fix build 2
svn path=/trunk/; revision=55995
Timo Kreuzer [Sun, 4 Mar 2012 11:43:08 +0000 (11:43 +0000)]
[WIN32K]
Fix build
svn path=/trunk/; revision=55994
Timo Kreuzer [Sun, 4 Mar 2012 11:32:43 +0000 (11:32 +0000)]
[WIN32K]
- Fix a possible integer overflow in NtGdiCreateBitmap
- Don't cast length of LARGE_STRING (ULONG) to USHORT, instead truncate to MAXUSHORT. This is still hacky, but better than before.
- Fix MSVC warnings
svn path=/trunk/; revision=55993
Johannes Anderwald [Sun, 4 Mar 2012 11:07:13 +0000 (11:07 +0000)]
[LIBUSB]
- Fix bug while scanning endpoint descriptors
- Do not assume interface info has the correct number of pipes set
- Fix alternate interface handling
- Tested in VBox + USB Audio Device
svn path=/trunk/; revision=55992
Sir Richard [Sun, 4 Mar 2012 07:04:42 +0000 (07:04 +0000)]
[NTOS]: If the address space is exhausted, don't ASSERT, simply return failure just as Windows does. Should fix the last of the ASSERTions on TestBot.
Next step is to support VirtualProtect/Query correctly.
svn path=/trunk/; revision=55991
Sir Richard [Sun, 4 Mar 2012 06:42:49 +0000 (06:42 +0000)]
[NTOS]: Blimey this was a hard one. When using the reserved flag to request 1MB in a new process (which is used for starting SMSS and CSRSS), we must request 1MB - 256 bytes (or any number, actually) to offset the fact that with a base address of 0x4, a 1MB region gets us at 0x100FFF, and not 0xFFFF, because Windows computes ending address *before* alignment, and then returns a new region size for you (so if you pass in 1MB, you get 1MB + 4096KB). In Win32csr, when the code is trying to release 1MB, this ended up in our "Case A", because it would still leave a page in the VAD. Fixed rtl to request just shy off a MB. Verified on Windows as well.
[NTOS]: The fix above was due to fixing "EndingAddress" which was being initialized to zero too late (after writing to it!). This caused allocations with a fixed base address that were already on top of another allocation not to be seen as a conflict, then we tried inserting a VAD and received an ASSERT saying we've already found a VAD there. After fixing the sizing code, the bug above creeped up.
Whoever wrote the NtFreeVirtualMemory test is a godsend. It has been nailing bug after bug in the VAD implementation. Thank you.
svn path=/trunk/; revision=55990
Johannes Anderwald [Sun, 4 Mar 2012 04:44:48 +0000 (04:44 +0000)]
[KS]
- Fix property item merge in KsMergeAutomationTable
svn path=/trunk/; revision=55989
Sir Richard [Sun, 4 Mar 2012 03:18:47 +0000 (03:18 +0000)]
[NTOS]: Release the *right* lock. "Fix the fix" as the yuppies say.
svn path=/trunk/; revision=55988
Alex Ionescu [Sun, 4 Mar 2012 03:06:20 +0000 (03:06 +0000)]
[WIN32K]: Should fix usb/livecd failure reported by igorko. bug 6696..or something?
svn path=/trunk/; revision=55987
Alex Ionescu [Sun, 4 Mar 2012 03:00:01 +0000 (03:00 +0000)]
[SMSS]: No longer fail on invalid known DLL checksum until I can fix the loader API.
svn path=/trunk/; revision=55986
Sir Richard [Sun, 4 Mar 2012 02:56:16 +0000 (02:56 +0000)]
[NTOS]: Don't keep the address space locked when failing in NtFreeVirtualMemory. Dang this testbot is good at catching those bugs.
svn path=/trunk/; revision=55985
Johannes Anderwald [Sun, 4 Mar 2012 02:39:37 +0000 (02:39 +0000)]
[KS]
- Handle custom sized nodes
svn path=/trunk/; revision=55984
Johannes Anderwald [Sun, 4 Mar 2012 02:17:13 +0000 (02:17 +0000)]
[USBHUB]
- Implement retrieving USB_BUS_INTERFACE_USBDI_GUID interface
[KS]
- Add PnP hack for IoSetDeviceInterfaceState
svn path=/trunk/; revision=55983
Sir Richard [Sun, 4 Mar 2012 02:03:46 +0000 (02:03 +0000)]
[NTOS]: Delete anonmem.c and move the ARM3-compatible code to ARM3/virtual.c. Whatever remained is for sections only, so move it to mm/section.c
[NTOS]: Fix some broken assertions in NtFreeVirtualMemory. Lesson: Do not try to "optimize" Microsoft's ASSERTs.
svn path=/trunk/; revision=55982
Sir Richard [Sun, 4 Mar 2012 00:47:20 +0000 (00:47 +0000)]
[RTL]: Sorry, forgot this critical part of the VAD commit.
svn path=/trunk/; revision=55981
Cameron Gutman [Sat, 3 Mar 2012 23:13:21 +0000 (23:13 +0000)]
[UNIATA]
- Try to fix KVM testbot
svn path=/trunk/; revision=55980
Cameron Gutman [Sat, 3 Mar 2012 23:04:10 +0000 (23:04 +0000)]
[USETUP]
- Turn off debugging
- Fix the checkpoint print so it doesn't happen anytime a usetup progress bar reaches 50%
svn path=/trunk/; revision=55979
Cameron Gutman [Sat, 3 Mar 2012 22:46:04 +0000 (22:46 +0000)]
[STORAGE]
- Back by popular demand, the storage driver to end all storage drivers, uniata!
- I had forgotten how many issues atapi had itself and the hardware compatibility improvement (if there was one) was offset by lack of features
svn path=/trunk/; revision=55978
Sir Richard [Sat, 3 Mar 2012 22:34:35 +0000 (22:34 +0000)]
[NTOS]: Implement VAD-based Virtual Memory Management. MEMORY_AREA_VIRTUAL_MEMORY is gone. Tested for 3 days with various experiments and handled all the cases and issues that appeared. Some code paths are not implemented because they were not encountered. Will consider implementing them if anything breaks -- note however that those code paths were not handled in RosMM either, so no new regressions are expected.
Hoping this will work on other configurations other than just my test virtual machine. If so, it is a big day in Mm history. Only sections and cache still use the old Mm functionality. I -will- revert this if all hell breaks loose.
svn path=/trunk/; revision=55977
Cameron Gutman [Sat, 3 Mar 2012 21:23:04 +0000 (21:23 +0000)]
[USBCCGP]
- Implement support for getting string descriptors (may need more work)
- USB mass storage devices which are part of a composite device now initialize
svn path=/trunk/; revision=55976
Hervé Poussineau [Sat, 3 Mar 2012 21:11:42 +0000 (21:11 +0000)]
ntoskrnl: fix pointer dereference before testing for it
svn path=/trunk/; revision=55975
Timo Kreuzer [Sat, 3 Mar 2012 20:57:42 +0000 (20:57 +0000)]
[PSDK] Add missing definitions to wingdi.h
[WIN32K] Fix MSVC warnings
svn path=/trunk/; revision=55974
Hervé Poussineau [Sat, 3 Mar 2012 20:57:17 +0000 (20:57 +0000)]
freeldr/pxe: remove some traces
svn path=/trunk/; revision=55973
Hervé Poussineau [Sat, 3 Mar 2012 20:39:51 +0000 (20:39 +0000)]
Revert most of r53392 effects.
When IoReportDetectedDevice() creates a PDO, the PDO is in no way related to the DriverObject given to the function.
Driver calling IoReportDetectedDevice() should then ensure that it attachs a FDO on top of this PDO.
svn path=/trunk/; revision=55972
Cameron Gutman [Sat, 3 Mar 2012 20:17:29 +0000 (20:17 +0000)]
[LIBUSB]
- Don't assert that the clear stall will complete successfully since it may be sent for a removal
- Fixes removal surprise removal of HID devices
svn path=/trunk/; revision=55971
Timo Kreuzer [Sat, 3 Mar 2012 20:00:51 +0000 (20:00 +0000)]
[WIN32K]
- Fix a memory leak in EngUnloadImage
- add an ASSERT
svn path=/trunk/; revision=55970
Kamil Hornicek [Sat, 3 Mar 2012 19:29:06 +0000 (19:29 +0000)]
[TRANSLATION]
Dll/cpl UTF-8 conversion patch by Elton Chung.
See issue #6333 for more details.
svn path=/trunk/; revision=55969
Johannes Anderwald [Sat, 3 Mar 2012 18:37:23 +0000 (18:37 +0000)]
[USBCCGP]
- Handle IRP_MN_QUERY_INTERFACE
svn path=/trunk/; revision=55968
Johannes Anderwald [Sat, 3 Mar 2012 15:16:43 +0000 (15:16 +0000)]
[LIBUSB]
- Fix infinite loop
svn path=/trunk/; revision=55967
Johannes Anderwald [Sat, 3 Mar 2012 15:08:28 +0000 (15:08 +0000)]
[USBCCG]
- Remove hacks
- Include alternate interface descriptors in the configuration descriptor
svn path=/trunk/; revision=55966
Johannes Anderwald [Sat, 3 Mar 2012 14:41:12 +0000 (14:41 +0000)]
[USBD]
- Rewrite broken USBD_CreateConfigurationRequestEx
- It did not calculate the required urb size correctly
- It did not store the correct number of provided interfaces
- Length of each interface information was wrong
svn path=/trunk/; revision=55965
Johannes Anderwald [Sat, 3 Mar 2012 11:38:37 +0000 (11:38 +0000)]
[USBHUB]
- Handle retrieving string descriptors failure
svn path=/trunk/; revision=55964
Cameron Gutman [Fri, 2 Mar 2012 20:49:53 +0000 (20:49 +0000)]
- Enable debugging for testbot
svn path=/trunk/; revision=55963
Johannes Anderwald [Fri, 2 Mar 2012 20:08:51 +0000 (20:08 +0000)]
[NDK]
- Add missing definitions
svn path=/trunk/; revision=55962
Johannes Anderwald [Fri, 2 Mar 2012 18:30:46 +0000 (18:30 +0000)]
[USBUHCI]
- Load USBUHCI during 1st stage setup
svn path=/trunk/; revision=55961
Johannes Anderwald [Fri, 2 Mar 2012 18:26:08 +0000 (18:26 +0000)]
[USBEHCI]
- Check if allocation of queue heads failed
- Implement removing of completed queue head
svn path=/trunk/; revision=55960
Cameron Gutman [Fri, 2 Mar 2012 18:02:50 +0000 (18:02 +0000)]
[USBUHCI]
- Enable usbuhci for testing
[USBOHCI]
- Add back getting port count in a loop to work around AMD chipset errata
svn path=/trunk/; revision=55959
Cameron Gutman [Fri, 2 Mar 2012 17:19:04 +0000 (17:19 +0000)]
[STORAGE]
- Experimental change to try to increase real hardware compatibility
- Load both atapi and uniata and allow atapi to have priority and uniata will pick up devices that atapi doesn't like
- Fix a bug in uniata enumeration
svn path=/trunk/; revision=55958
Johannes Anderwald [Fri, 2 Mar 2012 14:21:44 +0000 (14:21 +0000)]
[USBEHCI]
- Partly implement support for interrupt transfers, WIP, untested
svn path=/trunk/; revision=55957
Dmitry Gorbachev [Thu, 1 Mar 2012 21:43:23 +0000 (21:43 +0000)]
[Disk_new]
Silence GCC 4.6 array bounds warning/error.
svn path=/trunk/; revision=55956
Christoph von Wittich [Thu, 1 Mar 2012 21:00:22 +0000 (21:00 +0000)]
[cmake]
this should work according to Amine
svn path=/trunk/; revision=55955
Christoph von Wittich [Thu, 1 Mar 2012 20:29:18 +0000 (20:29 +0000)]
[cmake]
-it looks like IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows") return TRUE on MacOS/Linux when cross compiling
-file(TO_NATIVE_PATH) is broken as well
...
next try
svn path=/trunk/; revision=55954
Christoph von Wittich [Thu, 1 Mar 2012 19:43:00 +0000 (19:43 +0000)]
[cmake]
fix for the fix
thanks Alex for testing
this should reduce testman log size by at least 500KB
svn path=/trunk/; revision=55953
Christoph von Wittich [Thu, 1 Mar 2012 19:09:07 +0000 (19:09 +0000)]
[cmake]
fix for unix/linux
svn path=/trunk/; revision=55952
Kamil Hornicek [Thu, 1 Mar 2012 18:39:47 +0000 (18:39 +0000)]
[WINED3D|DDRAW|D3D8|D3D9]
Sync to Wine 1.3.37.
svn path=/trunk/; revision=55951
Christoph von Wittich [Thu, 1 Mar 2012 18:38:22 +0000 (18:38 +0000)]
[cmake]
reduce debug spam (only tested on windows)
svn path=/trunk/; revision=55950
Cameron Gutman [Thu, 1 Mar 2012 18:05:59 +0000 (18:05 +0000)]
[USBOHCI]
- Add a OHCI reset hack based on Linux code
svn path=/trunk/; revision=55948
Timo Kreuzer [Thu, 1 Mar 2012 18:03:08 +0000 (18:03 +0000)]
[NTOSKRNL]
Remove the broken ASSERT once again. Sigh...
svn path=/trunk/; revision=55947
Giannis Adamopoulos [Thu, 1 Mar 2012 16:32:00 +0000 (16:32 +0000)]
[freeldr]
- Implement enabling extended debug output in freeldr without the need to recompile it. Add an option in the f8 menu that allows the user to specify which debug channels and levels will be enabled.
svn path=/trunk/; revision=55946
Johannes Anderwald [Thu, 1 Mar 2012 15:51:59 +0000 (15:51 +0000)]
[LIBUSB]
- Check the device descriptor is valid
- Implement function to return max packet size
svn path=/trunk/; revision=55945
Timo Kreuzer [Thu, 1 Mar 2012 14:17:23 +0000 (14:17 +0000)]
Party revert r55722: "[CSRSRV]: Some misc cleanup of dead code. No functional change.", which caused MSVC builds to hang on 2nd stage
svn path=/trunk/; revision=55943
Johannes Anderwald [Thu, 1 Mar 2012 14:16:33 +0000 (14:16 +0000)]
[USBLIB]
- Split retrieving the full configuration descriptor into 2 steps
- Fixes errors while initializing usb devices on UHCI controller
- Tested in VmWare / VBox and real hardware
svn path=/trunk/; revision=55942
Johannes Anderwald [Thu, 1 Mar 2012 14:13:21 +0000 (14:13 +0000)]
[USBHUB]
- Remove broken assert
svn path=/trunk/; revision=55941
Johannes Anderwald [Thu, 1 Mar 2012 12:49:20 +0000 (12:49 +0000)]
[USBUHCI]
- Fix usblib regression
svn path=/trunk/; revision=55940
Kamil Hornicek [Thu, 1 Mar 2012 11:30:51 +0000 (11:30 +0000)]
[TRANSLATION]
Missed this one in r55891.
svn path=/trunk/; revision=55939
Sir Richard [Wed, 29 Feb 2012 23:11:21 +0000 (23:11 +0000)]
[NTOS]: A few other fixups to the page fault path:
1) Assert on empty kernel PTE instead of handling it as a bugcheck. Windows ASSERTs too. Also clarify some ASSERTs which Windows also does versus ASSERTs we are only doing due to lack of support for said feature.
2) User page fault path can now distinguish between a user-mode PTE fault, and a kernel-mode fault on a user PDE, both by creating a correct kernel PDE when needed instead of always creating user PTEs, as well as by only touching the UsedPageTableEntry reference counting mechanism when a user-address is in play.
3) Related to #2, also recognize when the faulting PTE is actually a PDE in the self-mapping region -- another scenario when the "user fault" is actually a kernel fault for a user PDE.
4) Add one more path where a Paged Pool PDE fixup can save the day instead of always faulting.
5) Finally, related to #2 and #3, handle the MI_IS_PAGE_TABLE_OR_HYPER_ADDRESS scenario for a User PDE by treating it as a user fault. The code looks deceptively similar but there are slight differences which require the separate codepaths with some duplicated code. The magic is in the ordering.
In trunk, these changes should not cause any regressions (let's hope so). On the internal VAD-based Virtual Memory branch, they now allow booting to 3rd stage and a fully usable ReactOS environment. MEMORY_AREA_VIRTUAL_MEMORY is gone on that branch. It's coming.
[NTOS]: Use PAGE_READWRITE as hardcoded protection instead of PAGE_EXECUTE_READWRITE -- the difference is meaningless on ReactOS Mm but actually causes issues on ARM3 with VADs.
svn path=/trunk/; revision=55938
Kamil Hornicek [Wed, 29 Feb 2012 20:43:23 +0000 (20:43 +0000)]
[BOOTDATA]
reactos.dff was superseded by reactos.dff.in
svn path=/trunk/; revision=55937
Pierre Schweitzer [Wed, 29 Feb 2012 20:11:51 +0000 (20:11 +0000)]
[NTOSKRNL]
Implement FsRtlNotifyFilterChangeDirectory
svn path=/trunk/; revision=55936
Pierre Schweitzer [Wed, 29 Feb 2012 20:03:46 +0000 (20:03 +0000)]
[NTOSKRNL]
Forgot to commit that file
svn path=/trunk/; revision=55935
Pierre Schweitzer [Wed, 29 Feb 2012 20:01:21 +0000 (20:01 +0000)]
[NTOSKRNL]
Stub FsRtlCancelNotify
Implement FsRtlCheckNotifyForDelete, FsRtlNotifyCompleteIrp, FsRtlNotifyCompleteIrpList, FsRtlNotifySetCancelRoutine
svn path=/trunk/; revision=55934
Cameron Gutman [Wed, 29 Feb 2012 19:44:44 +0000 (19:44 +0000)]
[ROSAUTOTEST]
- Flush file buffers after writing to the crash recovery journal
svn path=/trunk/; revision=55933
Pierre Schweitzer [Wed, 29 Feb 2012 19:43:35 +0000 (19:43 +0000)]
[NTOSKRNL]
Fix a bug in FsRtlNotifyCleanup: only remove notification from list when we're about to complete it.
svn path=/trunk/; revision=55932
Pierre Schweitzer [Wed, 29 Feb 2012 19:29:03 +0000 (19:29 +0000)]
[NTOSKRNL]
Fix formatting, no code change
svn path=/trunk/; revision=55931
Pierre Schweitzer [Wed, 29 Feb 2012 19:26:43 +0000 (19:26 +0000)]
[NTOSKRNL]
Use LIST_ENTRY not pointer on them as head
svn path=/trunk/; revision=55930
Pierre Schweitzer [Wed, 29 Feb 2012 19:12:59 +0000 (19:12 +0000)]
[NTOSKRNL]
Get rid off TAG macro
svn path=/trunk/; revision=55929
Cameron Gutman [Wed, 29 Feb 2012 19:05:16 +0000 (19:05 +0000)]
[USBEHCI]
- Add back the m_PortResetInProgress hack for broken vbox behavior
svn path=/trunk/; revision=55928
Johannes Anderwald [Wed, 29 Feb 2012 18:51:07 +0000 (18:51 +0000)]
[USBHUB]
- Check if FDO is root hub fdo
- Partly implement fdo hub initialization
- Implement IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE, IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
svn path=/trunk/; revision=55927
Cameron Gutman [Wed, 29 Feb 2012 18:50:07 +0000 (18:50 +0000)]
[NTOSKRNL]
- Add a missing device node flag to legacy reported devices to avoid an assertion failure during installation
- The fact that this was exposed by a change in device node linking order terrifies me
svn path=/trunk/; revision=55926
Jérôme Gardou [Wed, 29 Feb 2012 17:41:45 +0000 (17:41 +0000)]
[NTOSKRNL/MM]
- assert PDE ref count consistency everywhere
- fix the fix(tm) : after reference decrement, the maximum must not be reached
svn path=/trunk/; revision=55925
Aleksey Bragin [Wed, 29 Feb 2012 17:13:05 +0000 (17:13 +0000)]
- Fix one more assert in addition to 55921.
svn path=/trunk/; revision=55924
Johannes Anderwald [Wed, 29 Feb 2012 17:08:32 +0000 (17:08 +0000)]
[USBHUB]
- Clean up code, fix memory leaks, check returns codes, add asserts
- Use root device handle which is is prerequisite for usb hub support
[USBLIB]
- Fix root hub handle checks
- Add more code for hub support
svn path=/trunk/; revision=55923
Sir Richard [Wed, 29 Feb 2012 16:58:46 +0000 (16:58 +0000)]
[NTOS]: Define the Decommitted PTE structure.
svn path=/trunk/; revision=55922
Alex Ionescu [Wed, 29 Feb 2012 16:25:43 +0000 (16:25 +0000)]
[NTOSKRNL]: Fix broken UsedPageTableEntries/page table ref counting ASSERTs. The reference can be UP TO 1024, inclusive, but no more. This might fix a bunch of assertions related to this. Thanks to Richard for catching this one during his VAD work.
svn path=/trunk/; revision=55921
Johannes Anderwald [Wed, 29 Feb 2012 16:15:05 +0000 (16:15 +0000)]
[USBUHCI]
- Try fix build
svn path=/trunk/; revision=55920
Timo Kreuzer [Wed, 29 Feb 2012 15:34:43 +0000 (15:34 +0000)]
[GDI32]
Fix MSVC warnings
svn path=/trunk/; revision=55919
Johannes Anderwald [Wed, 29 Feb 2012 11:06:57 +0000 (11:06 +0000)]
[USBOHCI]
- Fix msvc build
svn path=/trunk/; revision=55918
Johannes Anderwald [Wed, 29 Feb 2012 10:59:48 +0000 (10:59 +0000)]
[USBEHCI]
- Fix stack corruption found by msvc
- Fix msvc build
svn path=/trunk/; revision=55917
Johannes Anderwald [Wed, 29 Feb 2012 09:41:34 +0000 (09:41 +0000)]
[USBEHCI]
- Fix regressions caused by libusb
svn path=/trunk/; revision=55916
Art Yerkes [Wed, 29 Feb 2012 09:18:57 +0000 (09:18 +0000)]
[FSRTL]
Import mostly-complete file locking implementation from arty-newcc.
svn path=/trunk/; revision=55915
Art Yerkes [Wed, 29 Feb 2012 09:18:01 +0000 (09:18 +0000)]
[FSRTL]
Import code from Pierre Schweitzer's fsrtl branch.
- Large MCB and MCB
- Change notification
svn path=/trunk/; revision=55914
Johannes Anderwald [Wed, 29 Feb 2012 09:15:42 +0000 (09:15 +0000)]
[USBOHCI]
- Fix regressions introduced by libusb
svn path=/trunk/; revision=55913
Cameron Gutman [Wed, 29 Feb 2012 06:08:15 +0000 (06:08 +0000)]
[NTOSKRNL]
- Fix linking of device children to respect the enumeration order instead of linking in reverse enumeration order
- PCI cards (and other devices) now enumerate in the correct order
svn path=/trunk/; revision=55912
Cameron Gutman [Wed, 29 Feb 2012 05:01:31 +0000 (05:01 +0000)]
- Missed this bit
svn path=/trunk/; revision=55911
Cameron Gutman [Wed, 29 Feb 2012 04:58:27 +0000 (04:58 +0000)]
[USBUHCI][USBOHCI][USBEHCI]
- Don't modify PCI configuration in AddDevice function
[USBEHCI]
- Don't halt the controller while the BIOS still has control of it
svn path=/trunk/; revision=55910
Johannes Anderwald [Tue, 28 Feb 2012 22:09:57 +0000 (22:09 +0000)]
[USBOHCI]
- Remove duplicated code
[USBUHCI]
- Use libusb
svn path=/trunk/; revision=55909
Johannes Anderwald [Tue, 28 Feb 2012 19:01:02 +0000 (19:01 +0000)]
[USBOHCI]
- Fix build
svn path=/trunk/; revision=55908
Johannes Anderwald [Tue, 28 Feb 2012 18:54:30 +0000 (18:54 +0000)]
[USBOHCI]
- Use libusb library
- Cleanup code
[USBEHCI]
- Apply interface changes
svn path=/trunk/; revision=55907
Alex Ionescu [Tue, 28 Feb 2012 18:38:28 +0000 (18:38 +0000)]
[NDK]: Clarify copyright granting and attribution requirements in NDK readme.
svn path=/trunk/; revision=55906
Timo Kreuzer [Tue, 28 Feb 2012 18:21:34 +0000 (18:21 +0000)]
[NDK]
- Transfer copyright to Alex Ionescu.
- Remove obsolete file
svn path=/trunk/; revision=55905
Alex Ionescu [Tue, 28 Feb 2012 17:57:16 +0000 (17:57 +0000)]
[NDK]: Update readme.txt and commit the license files which were never in the repository for some reason.
svn path=/trunk/; revision=55904
Timo Kreuzer [Tue, 28 Feb 2012 17:50:21 +0000 (17:50 +0000)]
[NTSOKRNL]
Remove a broken ASSERT. Fixes MSVC build
svn path=/trunk/; revision=55903
Johannes Anderwald [Tue, 28 Feb 2012 17:26:16 +0000 (17:26 +0000)]
[USBEHCI]
- Fix msvc build
svn path=/trunk/; revision=55902
Johannes Anderwald [Tue, 28 Feb 2012 15:13:30 +0000 (15:13 +0000)]
[USBEHCI]
- Use libusb library
- Cleanup code
svn path=/trunk/; revision=55901
Johannes Anderwald [Tue, 28 Feb 2012 15:01:27 +0000 (15:01 +0000)]
[LIBUSB]
- Add library which implements generic host controller tasks
svn path=/trunk/; revision=55900
Johannes Anderwald [Tue, 28 Feb 2012 10:29:37 +0000 (10:29 +0000)]
[USBEHCI]
- Rewrite configuration handling, WIP
svn path=/trunk/; revision=55899
Cameron Gutman [Tue, 28 Feb 2012 09:30:53 +0000 (09:30 +0000)]
[NTOSKRNL]
- Fix PDE reference counting
- Now only the recursive fault remains as an issue in the page out path
svn path=/trunk/; revision=55898
Cameron Gutman [Tue, 28 Feb 2012 08:34:16 +0000 (08:34 +0000)]
[NTOSKRNL]
- Change MmDereferencePage to MmReleasePageMemoryConsumer to do proper page usage tracking
- Remove an unnecessary reference and dereference
svn path=/trunk/; revision=55897
Cameron Gutman [Tue, 28 Feb 2012 05:10:40 +0000 (05:10 +0000)]
[EXT2LIB]
- Fix formatting FAT or NTFS volumes into EXT2 by defining ZAP_BOOTBLOCK and fixing a bug in zap_sector()
[USETUP]
- Enable ext2 as an option in setup
- Formatting and building file copy list works but setup stalls shortly after starting to copy files (NewCC on)
svn path=/trunk/; revision=55896
Cameron Gutman [Tue, 28 Feb 2012 04:01:33 +0000 (04:01 +0000)]
[NEWCC]
- Fix several locking issues to better fit with RosMm
- Page out is critical as we use it now (shutdown) so force address space locking
- Fix an address space lock leak for VM regions
- Quiet some debugging and enable/change some other
- Still some lingering issues in page out exist which seem to be related to zefklop's PDE ref counting stuff and a weird one where we fault on the PFN database
- Besides the aforementioned issues, NewCC is surprisingly solid. I was able to boot to 3rd stage without a problem and run some apps.
svn path=/trunk/; revision=55895
Sir Richard [Mon, 27 Feb 2012 23:42:22 +0000 (23:42 +0000)]
[NTOS]: A few key changes to the page fault path:
1) MiCheckVirtualAddress should be called *after* determining if the PTE is a Demand Zero PTE. This is because when memory is allocated with MEM_RESERVE, and then MEM_COMMIT is called later, the VAD does not have the MemCommit flag set to TRUE. As such, MiCheckVirtualAddress returns MM_NOACCESS for the VAD (even though one is found) and the demand zero fault results in an access violation. Double-checked with Windows and this is the right behavior.
2) MiCheckVirtualAddress now supports non-commited reserve VADs (ie: trying to access MEM_RESERVE memory). It used to ASSERT, now it returns MM_NOACCESS so an access violation is raised. Before change #1, this would also happen if MEM_COMMIT was later performed on the ranges, but this is now fixed.
3) When calling MiResolveDemandZeroFault, we should not make the PDE a demand zero PDE. This is senseless. The whole point is that the PDE does exist, and MiInitializePfn needs it to keep track of the page table allocation. Removed the nonsensical line of code which performed cleard the PDE during a demand-zero fault.
I am able to boot to 3rd stage with these changes, so I have seen no regressions. Additionally, with these changes, the as-of-yet-uncommitted VAD-based Virtual Memory code completes 1st stage setup successfully, instead of instantly crashing on boot.
svn path=/trunk/; revision=55894