Commit graph

50195 commits

Author SHA1 Message Date
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
Amine Khaldi 9beddcf6f5 [MSIMTF]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55284
2012-01-28 22:42:14 +00:00
Amine Khaldi 34ad19014e [STDOLE32.TLB]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55283
2012-01-28 22:22:11 +00:00
Amine Khaldi f96ae418aa [NTDSAPI]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55282
2012-01-28 22:07:27 +00:00
Amine Khaldi 2b498df22f [STDOLE2.TLB]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55281
2012-01-28 21:08:43 +00:00
Amine Khaldi eaad3df7dc * Add mscoree winetest to the rbuild build too.
svn path=/trunk/; revision=55280
2012-01-28 21:04:16 +00:00
Eric Kohl 9b2103620b [EVENTLOG]
- Log files which are opened when the eventlog service is started are permanent files and will only be closed when the service is stopped. Other log files are closed when their handle is closed.
- Opening a non existing backup log file must fail.
- Opening an existing backup log files opens the file for reading only.

svn path=/trunk/; revision=55279
2012-01-28 20:15:41 +00:00
Johannes Anderwald 312148342c [USBCCGP]
- Start implementing select configuration request

svn path=/branches/usb-bringup-trunk/; revision=55278
2012-01-28 19:49:53 +00:00
Amine Khaldi e1632d9cd8 [MSCOREE_WINETEST]
* Add mscoree winetest from Wine 1.3.37.

svn path=/trunk/; revision=55277
2012-01-28 17:34:42 +00:00
Amine Khaldi 53d0c6b010 [MSCOREE]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55276
2012-01-28 17:34:24 +00:00
Amine Khaldi 5f4ae9949c [WINEMP3.ACM]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55275
2012-01-28 17:21:07 +00:00
Amine Khaldi b20df12944 [MLANG_WINETEST]
* Sync to Wine 1.3.37.

svn path=/trunk/; revision=55274
2012-01-28 17:12:03 +00:00