- 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
- 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
[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
- 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
* 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
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
* 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
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
Let's try not to leak memory...
So, close what's been opened in case of an error
And in a general way, close files we opened
CORE-10140 #resolve #comment Fixed with r69127
svn path=/trunk/; revision=69127
* Switch to using our existing host-tools header for types. Thanks Colin for pointing me to the right header (it was discrete so I missed it when looking).
svn path=/trunk/; revision=69112
* Fix folder creation and external file access.
* Add fatten as a host-tool.
* Add a target for creating efisys.bin from the bootmgfw
TODO: Make the name of the boot*.efi depend on the platform (ia32/x64/arm).
TODO: Add efisys as a dependency to the bootcd, when we need to make use of the efisys.bin file for the iso (waiting for hbelusca's cdmake work).
svn path=/trunk/; revision=69109
* Remove pointless dependency on BOOL and CHAR, which helps with portability.
* Disable reentrancy, since all the operations are serialized by the commandline.
* Improve a few comments.
svn path=/trunk/; revision=69106
* Fix the integer types for non-windows platforms (assume they have stdint.h instead of assuming embedded).
* Fix file I/O, which was just barely working enough to pass the one test I did.
svn path=/trunk/; revision=69105
- EarlyPrint -> EfiPrintf, as it seems BL actually has this after all :) Change all callers to conform to it.
- Add common exit/failure path in BmMain. Now the fun begins.
svn path=/trunk/; revision=69103