Commit graph

50525 commits

Author SHA1 Message Date
Pierre Schweitzer 4c30c5549a [NTOSKRNL]
Fix formatting, no code change

svn path=/trunk/; revision=55931
2012-02-29 19:29:03 +00:00
Pierre Schweitzer 256540b703 [NTOSKRNL]
Use LIST_ENTRY not pointer on them as head

svn path=/trunk/; revision=55930
2012-02-29 19:26:43 +00:00
Pierre Schweitzer 171a3edfaa [NTOSKRNL]
Get rid off TAG macro

svn path=/trunk/; revision=55929
2012-02-29 19:12:59 +00:00
Cameron Gutman bc96c38875 [USBEHCI]
- Add back the m_PortResetInProgress hack for broken vbox behavior

svn path=/trunk/; revision=55928
2012-02-29 19:05:16 +00:00
Johannes Anderwald 82d9d774ca [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
2012-02-29 18:51:07 +00:00
Cameron Gutman 9e6f877683 [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
2012-02-29 18:50:07 +00:00
Jérôme Gardou d5b957c1ac [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
2012-02-29 17:41:45 +00:00
Aleksey Bragin 4aeb0801e9 - Fix one more assert in addition to 55921.
svn path=/trunk/; revision=55924
2012-02-29 17:13:05 +00:00
Johannes Anderwald 7de856c877 [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
2012-02-29 17:08:32 +00:00
Sir Richard cbfb67842f [NTOS]: Define the Decommitted PTE structure.
svn path=/trunk/; revision=55922
2012-02-29 16:58:46 +00:00
Alex Ionescu 1401fbea9b [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
2012-02-29 16:25:43 +00:00
Johannes Anderwald d485558f04 [USBUHCI]
- Try fix build

svn path=/trunk/; revision=55920
2012-02-29 16:15:05 +00:00
Timo Kreuzer 232e8cd9f5 [GDI32]
Fix MSVC warnings

svn path=/trunk/; revision=55919
2012-02-29 15:34:43 +00:00
Johannes Anderwald a3b5c86363 [USBOHCI]
- Fix msvc build

svn path=/trunk/; revision=55918
2012-02-29 11:06:57 +00:00
Johannes Anderwald a755140405 [USBEHCI]
- Fix stack corruption found by msvc
- Fix msvc build

svn path=/trunk/; revision=55917
2012-02-29 10:59:48 +00:00
Johannes Anderwald ad333c1655 [USBEHCI]
- Fix regressions caused by libusb

svn path=/trunk/; revision=55916
2012-02-29 09:41:34 +00:00
Art Yerkes 743a8996a2 [FSRTL]
Import mostly-complete file locking implementation from arty-newcc.

svn path=/trunk/; revision=55915
2012-02-29 09:18:57 +00:00
Art Yerkes 9d75a5ebae [FSRTL]
Import code from Pierre Schweitzer's fsrtl branch.
- Large MCB and MCB
- Change notification

svn path=/trunk/; revision=55914
2012-02-29 09:18:01 +00:00
Johannes Anderwald c131df4a4c [USBOHCI]
- Fix regressions introduced by libusb

svn path=/trunk/; revision=55913
2012-02-29 09:15:42 +00:00
Cameron Gutman bf426aafef [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
2012-02-29 06:08:15 +00:00
Cameron Gutman 4ba7e8a742 - Missed this bit
svn path=/trunk/; revision=55911
2012-02-29 05:01:31 +00:00
Cameron Gutman 90e94e42c5 [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
2012-02-29 04:58:27 +00:00
Johannes Anderwald 6a2de16a81 [USBOHCI]
- Remove duplicated code
[USBUHCI]
- Use libusb

svn path=/trunk/; revision=55909
2012-02-28 22:09:57 +00:00
Johannes Anderwald 300e78822d [USBOHCI]
- Fix build

svn path=/trunk/; revision=55908
2012-02-28 19:01:02 +00:00
Johannes Anderwald 071158cb87 [USBOHCI]
- Use libusb library
- Cleanup code
[USBEHCI]
- Apply interface changes

svn path=/trunk/; revision=55907
2012-02-28 18:54:30 +00:00
Alex Ionescu c615973655 [NDK]: Clarify copyright granting and attribution requirements in NDK readme.
svn path=/trunk/; revision=55906
2012-02-28 18:38:28 +00:00
Timo Kreuzer dc4b573964 [NDK]
- Transfer copyright to Alex Ionescu.
- Remove obsolete file

svn path=/trunk/; revision=55905
2012-02-28 18:21:34 +00:00
Alex Ionescu 67cac70ffa [NDK]: Update readme.txt and commit the license files which were never in the repository for some reason.
svn path=/trunk/; revision=55904
2012-02-28 17:57:16 +00:00
Timo Kreuzer 35784af061 [NTSOKRNL]
Remove a broken ASSERT. Fixes MSVC build


svn path=/trunk/; revision=55903
2012-02-28 17:50:21 +00:00
Johannes Anderwald ec76cc0bc3 [USBEHCI]
- Fix msvc build

svn path=/trunk/; revision=55902
2012-02-28 17:26:16 +00:00
Johannes Anderwald e9012aba15 [USBEHCI]
- Use libusb library
- Cleanup code

svn path=/trunk/; revision=55901
2012-02-28 15:13:30 +00:00
Johannes Anderwald fd61a9d77c [LIBUSB]
- Add library which implements generic host controller tasks

svn path=/trunk/; revision=55900
2012-02-28 15:01:27 +00:00
Johannes Anderwald e021058e30 [USBEHCI]
- Rewrite configuration handling, WIP

svn path=/trunk/; revision=55899
2012-02-28 10:29:37 +00:00
Cameron Gutman 72a7d22233 [NTOSKRNL]
- Fix PDE reference counting
- Now only the recursive fault remains as an issue in the page out path

svn path=/trunk/; revision=55898
2012-02-28 09:30:53 +00:00
Cameron Gutman 24264b8dc2 [NTOSKRNL]
- Change MmDereferencePage to MmReleasePageMemoryConsumer to do proper page usage tracking
- Remove an unnecessary reference and dereference

svn path=/trunk/; revision=55897
2012-02-28 08:34:16 +00:00
Cameron Gutman 3998099eae [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
2012-02-28 05:10:40 +00:00
Cameron Gutman 29f3456caf [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
2012-02-28 04:01:33 +00:00
Sir Richard 6086842a76 [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
2012-02-27 23:42:22 +00:00
Sir Richard 8e25b78c44 [NTOS]: Micro-formatting changes to NtAllocateVirtualMemory and NtFreeVirtualMemory which make it easier for me to cut/paste the new VAD-based code in. No actual changes to behavior.
svn path=/trunk/; revision=55893
2012-02-27 23:36:25 +00:00
Amine Khaldi c3baab78ea [CMAKE]
* Remove some accidental changes.
[INETCPL]
* Include the correct pt language rc file.

svn path=/trunk/; revision=55892
2012-02-27 22:52:09 +00:00
Amine Khaldi 5e9ad9f31b * ReactOS binaries hold resource files to *all* the languages we support, which increases their size, and increases the memory footprint, and on top of that they become useless as soon as you select a language in the 1st stage installer. Introduce a way to compile ros with one localization so that we can compile ReactOS with only one localization, which eliminates the problem mentioned above, and allows us to reduce the compile time, the disk space needed for build, and the runtime memory footprint.
* The default build will continue to include all the localizations, but you can set it otherwise through a cmake variable (I18N_LANG) at configure time.
* Brought to you by Team Localization (Kamil Hornicek and Amine Khaldi) ;)

svn path=/trunk/; revision=55891
2012-02-27 22:46:20 +00:00
Sylvain Petreolle 64be055c58 [KERNEL32_WINETEST]
Addendum to 55888:
allow to run MEM_RESET tests in interactive mode.

svn path=/trunk/; revision=55890
2012-02-27 20:19:21 +00:00
Johannes Anderwald 1efde9717f [USBSTOR]
- Do not retry commands more than once
- Enable error handling in the data completion stage

svn path=/trunk/; revision=55889
2012-02-27 20:10:46 +00:00
Kamil Hornicek f051482d69 [KERNEL32_WINETEST]
Disable tests that would hit asserts due to current work on VM. Requested functionality is missing and will be for some time.

svn path=/trunk/; revision=55888
2012-02-27 19:33:15 +00:00
Cameron Gutman ac6c5a4738 [NTOSKRNL]
- Fix kernel memory corruption when a driver fails to initialize
- Fix a handle leak in a failure case

svn path=/trunk/; revision=55887
2012-02-27 19:31:11 +00:00
Alex Ionescu c61e296b73 [NTOSKRNL]: Don't assert if there's no VAD found in NtFreeVirtualMemory... perhaps a wrong address was used on purpose (such as during a Winetest). Simply do what ROS does when a MAREA is not found and return failure. However if a VAD *was* found, keep all the other ASSERTs...
svn path=/trunk/; revision=55886
2012-02-27 17:17:31 +00:00
Sir Richard 7b2b759953 [NTOS]: Continued preparations for VAD-based Virtual Memory. ASSERT in NtAllocateVirtualMemory any functionality that will not be supported by the VAD-based system (and is not really supported right now either). Make NtFreeVirtualMemory ASSERT that a correct VAD has been found when freeing memory -- which we always expect at this point. Also ASSERT that the VAD has a valid range and flags.
[NTOS]: Do a more stringent check to refuse COPY_ON_WRITE flag sent through NtAllocateVirtualMemory.
[NTOS]: For VM-based Memory Areas, acquire and then release the process working set lock while inserting the VAD, to simulate what the VAD-based Virtual Memory behavior will look like.
[NTOS]: Disable paging for VM-based Memory Areas since this will not be supported with VADs.
[KERNEL32]: CopyLoop was requesting 2 zero bits when calling NtAllocateVirtualMemory. Not sure if this was really the intent or not, but both the new as well as the old NtAllocateVirtualMemory do not support this (the new one will ASSERT). Since this functionality never worked, request 0 bits instead to avoid hitting the ASSERT.
Any problems with what the VAD system will introduce should be revealed by now. From this build until the one which will have the VAD-based system in place, no further VM-related issues should crop up.

svn path=/trunk/; revision=55885
2012-02-27 17:10:44 +00:00
Sylvain Petreolle 806732f98e [USETUP]
Fix installation directories set into unattend.inf,
they were ignored and installed always into \ReactOS.

svn path=/trunk/; revision=55884
2012-02-27 16:37:48 +00:00
Sir Richard aaa881ed5a [NTOS]: Preparations for the VAD-based Virtual Memory system begin. Disable changing protection on Virtual Memory pages, and make all pages PAGE_EXECUTE_READWRITE for now. In theory, this should not cause any real problems, and sets the stage for the initial functionality regressions that the VAD-based system will introduce. I will eventually plan on fixing them.
svn path=/trunk/; revision=55883
2012-02-27 16:12:11 +00:00
Alex Ionescu 2c7855ed9d [NTOSKRNL]: Drop the reference on the PDE for kernel stack pages being deleted, now that zekflop has made all PDEs ARM3-owned.
svn path=/trunk/; revision=55882
2012-02-27 16:10:30 +00:00