Commit graph

63475 commits

Author SHA1 Message Date
Alex Ionescu 884d17f9c0 [BOOTMGFW]
- Implement Block I/O read operations & related functions. Code needs cleanup, TBD.
- Unfortunately, I wish I could say it works, but it seems like all we get back are zeroes (from EFI itself). I suspect we are reading from the wrong device -- will have to investigate for a bit.

svn path=/trunk/; revision=69178
2015-09-10 23:13:31 +00:00
Sylvain Petreolle fe979cfbfb [MOUNTMGR]
Declare MountmgrReadNoAutoMount.

svn path=/trunk/; revision=69177
2015-09-10 22:06:10 +00:00
Pierre Schweitzer c0e3ff9c79 [MOUNTMGR]
Move DriverEntry() and MountmgrReadNoAutoMount() to INIT_SECTION

svn path=/trunk/; revision=69176
2015-09-10 21:41:20 +00:00
Pierre Schweitzer 7584156a40 [FASTFAT]
Move VfatInitFastIoRoutines to the INIT section

svn path=/trunk/; revision=69175
2015-09-10 21:35:15 +00:00
Eric Kohl 5dd06ab375 [USETUP]
Fix the GeoID for most languages.
CORE-10073 #resolve

svn path=/trunk/; revision=69174
2015-09-10 21:28:37 +00:00
Stefan Ginsberg b77dacb82b - Add some globals WinDbg expected to find when using !sysptes and !vm. Unused but makes the debugger happy
svn path=/trunk/; revision=69173
2015-09-10 19:47:45 +00:00
James Tabor d6f9fd9121 [Win32k]
- Trap out right button double clicks. See CORE-6754.

svn path=/trunk/; revision=69172
2015-09-10 14:27:14 +00:00
Robert Naumann c02c39bb4e [USER32] check the XOR flag in ocr_cross.cur and ocr_ibeam.cur. Patch by Vort CORE-6168
svn path=/trunk/; revision=69171
2015-09-10 13:26:33 +00:00
Stefan Ginsberg 7fc480a7c1 Fix the FSDs to use the INIT_SECTION-style and add the alloc_text-s required for MSVC. Please make sure to add section declarations for both compilers for any new functions!
svn path=/trunk/; revision=69170
2015-09-10 12:00:28 +00:00
Thomas Faber 317b564ba0 [KMTESTS:MM]
- Add some more reserved mapping tests for special pool tags and unaligned addresses
- Validate MDL pages in MmMdl test

svn path=/trunk/; revision=69169
2015-09-10 11:16:53 +00:00
Thomas Faber 62d6fa7706 [KMTESTS:MM]
- Add a test for MmAllocateMappingAddress/MmMapLockedPagesWithReservedMapping
CORE-10147

svn path=/trunk/; revision=69168
2015-09-10 09:58:02 +00:00
Alex Ionescu 01dfcee2fa [BOOTMGFW]
- UNIX strikes again.

svn path=/trunk/; revision=69167
2015-09-10 05:24:50 +00:00
Alex Ionescu fb3da6296d [BOOTMGFW]:
- Implement read/offset-read frontend interface.

svn path=/trunk/; revision=69166
2015-09-10 05:19:50 +00:00
Alex Ionescu 58407edd6b [BOOTMGFW]
- Implement initial File I/O routines.
- We now die on attempting to mount the FAT volume.

svn path=/trunk/; revision=69165
2015-09-10 04:01:41 +00:00
Hermès Bélusca-Maïto bda290bc5e [USER32]: Use FIXME instead of DbgPrint (so that we can get the line of the source file together).
svn path=/trunk/; revision=69164
2015-09-10 00:39:18 +00:00
Thomas Faber 79faa9c9cd [REGEDIT]
- Properly walk CM_RESOURCE_LIST contents
CORE-10146

svn path=/trunk/; revision=69163
2015-09-09 22:01:49 +00:00
Eric Kohl 4d40db8e1c [BOOTDATA]
Add missing default locale values.

svn path=/trunk/; revision=69162
2015-09-09 20:17:25 +00:00
Stefan Ginsberg c20976ef8c [WIN32SS] Fix the fix by removing the correct parameter. The NtUserChangeDisplaySettings syscall is expected to make use of the lParam pointer (which must be NULL unless the CDS_VIDEOPARAMETERS flag is set).
svn path=/trunk/; revision=69161
2015-09-09 19:56:22 +00:00
Hermès Bélusca-Maïto 95a7eb8721 [EFISYS]: Add 'bcd_hive' as a dependency.
[FATTEN]: Fix help message. Functions with no parameters are void. Remove an hardcoded array size.

svn path=/trunk/; revision=69160
2015-09-09 19:48:15 +00:00
Stefan Ginsberg 30ea4eb1ae [WIN32SS] Fix NtUserChangeDisplaySettings, I accidently removed one (unused) param too much (parameter count should be 4 after all), and it seems code relied on this check.
svn path=/trunk/; revision=69159
2015-09-09 19:38:36 +00:00
Stefan Ginsberg db9febf4fa [WIN32SS] Fix NtGdiOpenDCW and NtUserChangeDisplaySettings to have the correct amount of parameters by removing two more unused/deprecated/ignored parameters. NtUserEnumDisplayMonitors is the only remaining one now, which needs to do a usermode callback to get rid of its extra parameter.
svn path=/trunk/; revision=69158
2015-09-09 19:12:48 +00:00
Alex Ionescu 5650394ec5 [EFI]
- Case sensitivity?

svn path=/trunk/; revision=69157
2015-09-09 18:45:51 +00:00
Alex Ionescu 28b4a595d3 [EFI]
- Add BCD creation.
- Add BCD to bootcd, and also to EFISYS.BIN. Verified the BCD is now present on the EFI partition.

svn path=/trunk/; revision=69156
2015-09-09 18:43:09 +00:00
Alex Ionescu be0ecbd74e - Implement BmpFwGetApplicationDirectoryPath and most of BmFwInitializeBootDirectoryPath.
- Implement boolean, integer, and string BCD reading.
- Fix a more bugs.
- We are now ready to open the BCD hive!

svn path=/trunk/; revision=69155
2015-09-09 18:09:04 +00:00
Amine Khaldi de917295f6 [PEFILE_APITEST] Introduce tests that load ntoskrnl.exe and validate various section flags. Created by Mark Jansen in light of r68930. CORE-10106
svn path=/trunk/; revision=69154
2015-09-09 17:27:36 +00:00
Alex Ionescu ef4c84c805 [BOOTMGFW]
- Fix more device I/O bugs.
- Silence some dbgprints.
- Implement DiskOpen and DiskClose.
- Refactor block cache in its own file.
- We successfully open our boot device (which appears as a floppy, as expected with the new UEFI boot)!

svn path=/trunk/; revision=69153
2015-09-09 16:50:05 +00:00
Stefan Ginsberg c1c6314688 - Consistently check for KDBG via if-def, not if (like we do for _WINKD_), everywhere.
svn path=/trunk/; revision=69152
2015-09-09 16:06:38 +00:00
Stefan Ginsberg 27792fe58c Sigh missed this one.
svn path=/trunk/; revision=69151
2015-09-09 15:40:38 +00:00
Stefan Ginsberg 9639035499 - After reviewing, updating and tweaking the base modules (ntos, hal, ntdll, kernel32, advapi32, gdi32, user32, shell32, win32k) we should now be as (in)compatible with Windows 2003 Service Pack 1 as with Service Pack 2, so finally report our version as "NT Build 3790.3959" (SP2). Thanks to Thomas and Hermes for assistance.
See CORE-6611 and CORE-7889

svn path=/trunk/; revision=69150
2015-09-09 15:35:49 +00:00
Alex Ionescu f3ff195d8f [BOOTMGFW]
- Fix a bunch of bugs

svn path=/trunk/; revision=69149
2015-09-09 14:59:29 +00:00
Stefan Ginsberg 56e0c5f897 Some of this sneaked past in my last commit, so commit the rest:
- Wrap some KDBG-only stuff into KDBG-define so we don't have KdSystemDebugControl being called needlessly on KD-builds.

svn path=/trunk/; revision=69148
2015-09-09 14:00:43 +00:00
Stefan Ginsberg edd85f8e32 [WIN32K]
- Reorder some more driver exports to alphabetical order.
- Remove NtGdiFlushUserBatch and NtUserQueryUserCounters from syscall list (unused, and not compatible).
- Move and add some debug-only syscalls to the end of the syscall list.
- Fix parameter count of UserValidateTimerCallback, UserValidateHandleSecure, and UserChangeDisplaySettings to match what is compatible, by removing unused or ignored parameters. NtGdiOpenDCW, NtUserEnumDisplayMonitors and NtUserSetCursorIconData still have the wrong numbers.
- Add "stray" NtGdiMakeObjectXferable and "NtDxEngGetRedirectionBitmap" syscall stubs.
- The syscalls should now be compatible with 2K3 SP2 in their order, but not in their argument count (or, most likely, their actual parameters). This means a Windows 2k3 gdi32 or user32 should crash somewhat later now that half of the syscalls' order is not in disarray.

svn path=/trunk/; revision=69147
2015-09-09 13:49:39 +00:00
Amine Khaldi c30c8ddb99 [APPLICATIONS] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69146
2015-09-09 13:13:35 +00:00
Stefan Ginsberg 8ad1f36b58 Fixie fixie
svn path=/trunk/; revision=69145
2015-09-09 11:24:34 +00:00
Stefan Ginsberg 8e45e7a979 [NTOS] Fix broken NtSetSystemEnvironmentValueEx stub which had the wrong amount of parameters.
[NDK] Add define guard for HalEndSystemInterrupt because it is no longer compatible with Windows, and add back the old definition. Fix NtSetSystemEnvironmentValueEx prototype.
[KERNEL32] Export SetFileCompletionNotificationModes (MSDN and headers documents it as Vista-only, but this is not entirely correct).

svn path=/trunk/; revision=69144
2015-09-09 11:21:02 +00:00
Pierre Schweitzer c29c91001c [FATTEN]
CORE-10140

svn path=/trunk/; revision=69143
2015-09-09 07:05:17 +00:00
Alex Ionescu 85de1f5f6a [BOOTMGFW]
- 1.5KLOC code dump of current device block I/O handling. Totally untested and broken, just a checkpoint for now.
- Implement most of Hash Table Utility Functions.
- Implement parts of Block Allocator.
- Finish Implementation of Generic Table Utility Functions.
- Fix some EFI device emulation code.
- Temporarily disable freeing from heap while I figure out what's corrupting it.

svn path=/trunk/; revision=69142
2015-09-09 05:48:50 +00:00
Alex Ionescu ba76268519 [CDMAKE]
- Fix Build on VS2015

svn path=/trunk/; revision=69141
2015-09-09 04:58:25 +00:00
David Quintana a9ac73d0f7 [FATTEN]
* Allow customizing the 8-letter volume label from the FAT header.
* Make the efisys.bin have EFIBOOT as a label.
* Improve a bit the help text.

svn path=/trunk/; revision=69140
2015-09-09 03:01:14 +00:00
Hermès Bélusca-Maïto de6171695d OMGWTFBBQ!!!! We can now boot our ISOs on UEFI systems!!
Thanks gigaherz for the "fatten" utility!, and others for testing.

[CDMAKE]
- Add multi-boot CD support, following El-Torito specification, such that we can the usual ISO boot sector on BIOS-based PCs, and the UEFI loader on UEFI-based PCs.
- Load segment should be stored in little endian.
- Fix the computation of the sector count (count in 512 byte sectors and rounded up).
- Rework the command-line options to make them more compatible with CDIMAGE / OSCDIMG.
CORE-10120

[BOOTDATA]
- Activate the UEFI boot support for our ISOs.

svn path=/trunk/; revision=69139
2015-09-09 02:11:49 +00:00
David Quintana c34c8f1adb [FATTEN]
* "struct tm" uses years offset on 1900, so we only have to offset by 80 years to make it into a FAT year.

svn path=/trunk/; revision=69138
2015-09-09 01:38:21 +00:00
David Quintana daad9d303b [FATTEN]
* WHO ATE THAT 'b'?! WHO?!
* The jump instruction is 3 bytes long, not 2 (and dequick&dirtied a bit while at it).

svn path=/trunk/; revision=69137
2015-09-09 01:33:27 +00:00
Hermès Bélusca-Maïto 7f2c47b1ff [FATTEN]: static'ify a variable; do not hardcode array lengths.
svn path=/trunk/; revision=69136
2015-09-09 00:52:01 +00:00
David Quintana d2e60268e5 [FATTEN]
* Change the number of FAT copies stored by the formatting code to 2.
* Implement /BOOT command, to apply a boot sector to the image (FAT12/16 only, for now).
* Make use of the command above to finally get the generated efisys.bin loading in 7zip as a floppy.

svn path=/trunk/; revision=69135
2015-09-09 00:49:47 +00:00
Stefan Ginsberg 30f6a61675 [HAL] Remove seemingly deprecated HalPutDmaAdapter. Also reorder exports slightly towards alphabetical order.
svn path=/trunk/; revision=69134
2015-09-08 23:42:24 +00:00
Stefan Ginsberg 240afacd87 - While we are at it, remove a bunch of kernel exports that shouldn't exist. KiEoiHelper stays for now.
svn path=/trunk/; revision=69133
2015-09-08 22:58:28 +00:00
David Quintana 51731534a2 [FATTEN]
* Fix the breakage I commited. Hopefully.

svn path=/trunk/; revision=69132
2015-09-08 22:20:37 +00:00
David Quintana 9a82c8549f [FATTEN]
In a failed attempt at getting 7-zip to recognize the fat images,
* Updated the fatfs backing library to v0.11a,
* Changed the default cluster size to 1 for floppy-sized images (< 4096 sectors) and 8 otherwise (4096 was an invalid value), and
* Changed the fatfs formatting code to generate FAT12 filesystems more windows-like.
I see no reason to discard the changes, so here they are.

svn path=/trunk/; revision=69131
2015-09-08 22:01:05 +00:00
Stefan Ginsberg ee039d524e [NTOS] Add in MmDoesFileHaveUserWritableReferences, seemingly new to 2k3 SP2. MSDN reports this as "Vista and later" but this is not entirely correct it seems.
svn path=/trunk/; revision=69130
2015-09-08 20:42:21 +00:00
Stefan Ginsberg 2425661867 Fix build (TM)
svn path=/trunk/; revision=69129
2015-09-08 20:19:10 +00:00