Commit graph

50156 commits

Author SHA1 Message Date
Alex Ionescu
51dbd93981 [SMSS2]: Implement all the processing required for being able to create emergency, system, and manual-sized page files, on both fixed drives any "any" drives. Missing the code to build volume descriptors and to actually ask the kernel to create the file (right now, just prints what should be done and sizes).
svn path=/trunk/; revision=55335
2012-01-30 21:28:48 +00:00
Thomas Faber
2740865cc0 [COMCTL32]
- Fix the fix for MSVC build (r55306). This is the version accepted by Wine.

svn path=/trunk/; revision=55334
2012-01-30 20:29:12 +00:00
Alex Ionescu
973a9360b2 [SMSS2]: Implement command line and token parsing. Implement pagefile descriptor structure, format, flags, and parsing. They are now created as they should. Use SmpHeap instead of RtlGetProcessHeap() to keep code cleaner. Use SmpSystemRoot instead of NtSystemRoot now that it's being defined. "Environment" in registry should be parsed twice to handle nested expansions.
svn path=/trunk/; revision=55333
2012-01-30 19:29:30 +00:00
Johannes Anderwald
a7eba59665 [HIDPARSE]
- Start support for multi top level hid collections
- Not yet full implemented
- Required for proper usb composite support

svn path=/branches/usb-bringup-trunk/; revision=55332
2012-01-30 19:29:26 +00:00
Alex Ionescu
51fe71aec3 [NTOSKRNL]: Keep doing the old region/swap work incorrectly, but at least return a correct size. Let's see if this fixes it.
svn path=/trunk/; revision=55330
2012-01-30 17:19:14 +00:00
Johannes Anderwald
c9a760c226 [HIDCLASS]
- Prevent buffer overflow in HidClassPDO_HandleQueryHardwareId
- Reimplement HidClassPDO_HandleQueryInstanceId
- USB Composite driver now gets further(hangs at installation stage)

svn path=/branches/usb-bringup-trunk/; revision=55329
2012-01-30 16:47:39 +00:00
Cameron Gutman
3aff101683 [HALACPI]
- Create PDO earlier so ACPI can be loaded earlier in boot
[HIVESYS]
- Create critical device database with required devices for USB boot
[NTOSKRNL]
- Read the CDDB and install devices that are critical for boot
- This implementation won't be 100% correct until a PnP manager rewrite but it should work well enough for our needs
- Not complete and disabled atm

svn path=/branches/usb-bringup-trunk/; revision=55328
2012-01-30 16:23:44 +00:00
Johannes Anderwald
652e0ab582 [KBDHID]
- Fix typo
[USBCCGP]
- Remove unused variable

svn path=/branches/usb-bringup-trunk/; revision=55327
2012-01-30 13:31:05 +00:00
Johannes Anderwald
679512e16c [USBCCGP]
- Add function to append interface number
- Append function number to BusQueryDeviceId / BusQueryInstanceId
- USBCCGP is now properly enumerated and its child device start to get installed

svn path=/branches/usb-bringup-trunk/; revision=55326
2012-01-30 12:42:05 +00:00
Johannes Anderwald
d7bc987891 [USBCCGP]
- Fix bug while scanning configuration descriptor
- Store interface list in the PDO device extension
- Display interface numbers when dumping function descriptor
- Fix a few bugs while selecting the configuration for the PDO

svn path=/branches/usb-bringup-trunk/; revision=55325
2012-01-30 10:41:52 +00:00
Alex Ionescu
9f51b3ff35 [SMSS2]: Implement KnownDLL and DOSDevice initialization now that the kernel bugs are gone. Compared to SMSS, SMSS2 is smarter and uses a Ldr callback to manually add any imported DLLs of KnownDLLs to the KnownDLL list, which helps with long-term app launch performance. Next up will be environment and page file.
svn path=/trunk/; revision=55324
2012-01-30 10:22:21 +00:00
Alex Ionescu
864a1bc6ae [NTOSKRNL]: Here's another gem. SMSS2 couldn't call LdrVerifyImageCheckSum, nor could it create Known DLL sections (of course, magically SMSS could). Turns out what Mm expects in terms of file access rights when you map a section has almost nothing to do with what it should expect. Added a new function to ARM3 (which had most of the code there already) so correctly determine which file access rights should be needed. One big change is that you can now map sections with PAGE_EXECUTE if you only have FILE_EXECUTE (FILE_READ_DATA no longer required), as things should be.
svn path=/trunk/; revision=55323
2012-01-30 10:15:29 +00:00
Johannes Anderwald
6ce77d6cb7 [HIDUSB]
- Pass the interface number in the request when issuing hid get report descriptor
- Fixes wrong report descriptors being obtained

svn path=/branches/usb-bringup-trunk/; revision=55322
2012-01-30 09:53:18 +00:00
Alex Ionescu
25c5926fcb [NDK]: LDR_CALLBACK's second parameter is a PCHAR.
svn path=/trunk/; revision=55321
2012-01-30 09:43:24 +00:00
Alex Ionescu
3c2b7f8a5b [NTOSKRNL]: One of my favorite bugfixes to date: While working on SMSS2, I notice that Win32->NT path conversion is failing and %SystemRoot% is not being translated. Yet, this is supposed to be part of the core environment that the kernel sends to SMSS! I analyze the old SMSS, and in there, it works. Puzzled, I DPRINT1 out the environment only to see that it is empty. I do the same in the kernel -- empty! The old SMSS is currently manually regenerating its critical environment, as if the kernel never sent it (which perfectly hid the bug that our kernel...actually did never send it!). But why were we sending no environment? It turns out our environment string was 0x10000 bytes, just one byte longer than MAX_USHORT and overflowing back to zero -- hence our Appends were all silently failing. But why was our environment string 0x10000, when we allocate 0x1000 bytes only? And here comes the Mm bug. When you allocate virtual memory in Windows you are forced to use 64K alignment, and Windows internally will align the VAD on a 64K boundary. In ReactOS however, we actually allocate, map, and reserve a full 64K memory area, as well as actually modify the region size that the caller has sent, returning the caller a 64K-aligned size no matter what (whereas Windows would return the original 4KB size). I've thus added a simple hack which still allocates a full 64K memory area (who knows what would break if not), but only aligns the region size to a page size -- less swap pages are reserved, and the caller only receives a page-aligned region, instead of 64K. This now fixes ExpLoadInitialProcess and anyone else that was requesting a 4KB page and getting 64KB in exchange...
svn path=/trunk/; revision=55320
2012-01-30 09:42:47 +00:00
Alex Ionescu
b42b421bea [SMSS]: Co-exist with SMSS2 by using OBJ_OPENIF when creating object directories and sections, in case SMSS2 has already done so (which now it probably will).
[SMSS2]: Implement all the required registry configuration parsing functions. KnownDLLs, DosDevices, PageFiles, Subsystems, ExcludedKnownDLLs, PendingFileRenameOperations, ObjectDirectories, Environment keys are all processed and put into lists. Other than creating the object directories and setting the environment variables, though, no other work happens -- but we do DPRINT1 what should happen.

svn path=/trunk/; revision=55319
2012-01-30 08:02:17 +00:00
Alex Ionescu
bb3783a524 [NTOSKRNL]: hubris [ˈhjuːbrɪs], hybris n.
1. Belief that Ob is perfect.
Fix a major bug which allowed user-mode applications to get kernel handles if they so requested -- of course, they woudl then be completely unable to use such handles. This pattern is seen in Rtl code which we share, and where the intent is to give kernel kernel handles, and user user handles, so OBJ_KERNEL_HANDLE is unconditionally used, which in NT had the right effect. For us though, it gave unusable user-handles. This had the direct effect of completely breaking RtlQueryRegistryValues from user-mode if the TOPKEY or SUBKEY flags were used.

svn path=/trunk/; revision=55318
2012-01-30 07:48:49 +00:00
Alex Ionescu
ddeb8354e4 [SMSS2]: Initialize a bunch more internal stuff, and start parsing the registry for settings. Right now just ProtectionMode and AllowProtectedRenames are parsed. Stub functions needed for the rest of initialization. Create the \Sessions directory. Hack to work under setup. Loop BootExecute and PageFile entries. Create SMSS environment. Detect MiniNT mode (PE/LiveCD). Delete SAFEBOOT_OPTION if found.
svn path=/trunk/; revision=55317
2012-01-30 05:32:34 +00:00
Cameron Gutman
c6e7f39b35 [USETUP]
- Fix selection of the active partition
- Running 1st stage setup to a USB drive now results in a bootable USB drive that successfully runs FreeLoader which can load the ROS kernel, HAL, and other critical boot executables from the USB drive but ROS fails early in boot after FreeLoader hands control to the kernel

svn path=/branches/usb-bringup-trunk/; revision=55316
2012-01-30 04:52:37 +00:00
Cameron Gutman
2b79f855e1 [USBSTOR]
- Handle SRB_FUNCTION_SHUTDOWN successfully (failing it results in a stack overflow due to a bug in disk.sys)
- Fixes the crash during shutdown after using a USB drive

svn path=/branches/usb-bringup-trunk/; revision=55315
2012-01-30 04:18:59 +00:00
Alex Ionescu
bbaf1702fe [SMSS2]: Create the VolumesSafeForWriteAccess and Sm2ApiPort. Create all the required security descriptors. Create the two API threads. Initialize a bunch of other stuff needed for later. Initialize tag heap and enable hard errors. Api loop waits on the LPC port but nothing should be going through there for now.
svn path=/trunk/; revision=55314
2012-01-30 03:44:27 +00:00
Alex Ionescu
4459aa9ea3 [SMSS]: Oh, right, compilation units. I had forgotten how much I hate rbuild.
svn path=/trunk/; revision=55313
2012-01-30 03:16:47 +00:00
Alex Ionescu
df41abd401 [SMSS2]: Oh, right, rbuild.
svn path=/trunk/; revision=55312
2012-01-30 02:49:16 +00:00
Alex Ionescu
88cd0f3813 [SMSS2]: Flesh out the _main function in the new SMSS, including the SEH filter and SmpTerminate support. Instead of launching Winlogon (The "initial command", we launch the ReactOS SMSS for now -- and kill the system if it is ever terminated, as we should). We use the right priority, set the right critical flags, use the correct debug parameters, and acquire/release the correct privileges. Only thing not supported is launching ntsd if the "Debug Initial Command" global flag is set. I promise to implement that once someone implements ntsd ;-)
svn path=/trunk/; revision=55311
2012-01-30 02:10:39 +00:00
Alex Ionescu
4e3bf71826 [RTL]: Document, define, implement, and export RtlSetThreadIsCritical.
svn path=/trunk/; revision=55310
2012-01-30 01:14:33 +00:00
Cameron Gutman
f740e9241e [INF]
- Formatting fixes
[TXTSETUP.SIF]
- Boot load certain USB drivers in 1st stage for eventual support for installing from USB

svn path=/branches/usb-bringup-trunk/; revision=55309
2012-01-30 00:23:11 +00:00
Alex Ionescu
64cab88494 [SMLIB]: Add NT-compatible SmConnectToSm and SmExecPgm functions to smlib, which CSRSS and other subsystems can use to talk to SMSS (and SMSS when it talks to itself). Not yet used.
svn path=/trunk/; revision=55308
2012-01-30 00:12:38 +00:00
Cameron Gutman
bf71578096 [INF]
- Formatting fixes
- Add missing device description
- Set to boot start for USB boot support

svn path=/branches/usb-bringup-trunk/; revision=55307
2012-01-30 00:05:14 +00:00
Thomas Faber
1aac8171b0 [COMCTL32]
- Fix MSVC build. Already sent upstream

svn path=/trunk/; revision=55306
2012-01-29 23:30:22 +00:00
Cameron Gutman
4ac7c1e1f7 [INF]
- Enable boot start for USB drivers (part 1 of 2)

svn path=/branches/usb-bringup-trunk/; revision=55305
2012-01-29 23:28:34 +00:00
Johannes Anderwald
3f91d309f7 [INF]
- Add usbccgp installation section

svn path=/branches/usb-bringup-trunk/; revision=55304
2012-01-29 23:27:03 +00:00
Amine Khaldi
4d623fd547 [RICHED20]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55303
2012-01-29 23:23:23 +00:00
Johannes Anderwald
fc2d4e3800 - Remove cruft from CMakeLists.txt
- Silence debug flood
- Remove debugging code
- Add traces for composite device detection
- Don't print device descriptor

svn path=/branches/usb-bringup-trunk/; revision=55302
2012-01-29 23:11:21 +00:00
Amine Khaldi
ed317865e3 [RASAPI32_WINETEST]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55301
2012-01-29 23:00:48 +00:00
Amine Khaldi
7dbc8a9586 [RASAPI32]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55300
2012-01-29 23:00:39 +00:00
Cameron Gutman
d5f187d853 [USETUP]
- Fix the ordering of disks in the 1st stage setup list
- Search for the active partition on the selected install disk instead of the first disk

svn path=/branches/usb-bringup-trunk/; revision=55299
2012-01-29 22:54:57 +00:00
Amine Khaldi
503dee91c9 [QUERY]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55298
2012-01-29 22:39:18 +00:00
Amine Khaldi
15fb0aecc1 [PSTOREC]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55297
2012-01-29 22:24:35 +00:00
Amine Khaldi
2d57ba7294 [PRINTUI]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55296
2012-01-29 21:39:30 +00:00
Amine Khaldi
c43966f688 [WTSAPI32]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55295
2012-01-29 21:29:40 +00:00
Johannes Anderwald
a4c2608e34 [USBEHCI]
- Enable device as pci bus master
- Fixes hanging of Vmware USB EHCI controller
- Revert changes from 55293 from usb_queue
- Currently crashes when usbstor wants to receive descriptors

svn path=/branches/usb-bringup-trunk/; revision=55294
2012-01-29 20:34:46 +00:00
Johannes Anderwald
2b13dd5132 [USBEHCI]
- Update async address everytime a new queue head is added as specified in EHCI spec section 3.2
- Add more checks
- Vmware EHCI not yet working

svn path=/branches/usb-bringup-trunk/; revision=55293
2012-01-29 17:30:31 +00:00
Johannes Anderwald
99c0842bcb [EHCI]
- EHCI controllers support 15 ports as specified

svn path=/branches/usb-bringup-trunk/; revision=55292
2012-01-29 17:25:34 +00:00
Johannes Anderwald
403bb82e09 [USBEHCI]
- Rewrite the init routine of EHCI controller
- Implement PORT_POWER

svn path=/branches/usb-bringup-trunk/; revision=55291
2012-01-29 17:24:41 +00:00
Alex Ionescu
bb0bb575b6 [SMSS]: Add a new header which precisely documents the SB and SM packet structure and protocol. These match the Server 2003 SP1 definitions and sizes and would allow a ReactOS SMSS to talk to a Windows CSRSS and vice-versa.
svn path=/trunk/; revision=55290
2012-01-29 17:16:01 +00:00
Giannis Adamopoulos
07155c928c [user32]
- don't use DbgPrint for error messages

svn path=/trunk/; revision=55289
2012-01-29 11:13:07 +00:00
Giannis Adamopoulos
2bf1a41895 [win32k]
- Show some error messages in case NtUserSystemParametersInfo fails

svn path=/trunk/; revision=55288
2012-01-29 10:32:59 +00:00
James Tabor
7b6ae5355e - uxtheme is forked.
svn path=/trunk/; revision=55287
2012-01-29 03:28:39 +00:00
Amine Khaldi
4252262d8b [ODBCCP32_WINETEST]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55286
2012-01-28 23:15:16 +00:00
Amine Khaldi
93e3e8cf84 [ODBCCP32]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55285
2012-01-28 23:15:03 +00:00