Commit graph

63431 commits

Author SHA1 Message Date
Thomas Faber 40fb07129c [BOOTLIB]
- Add missing xdk dependency

svn path=/trunk/; revision=69084
2015-09-07 09:50:00 +00:00
Thomas Faber 525668eff1 [XDK][DDK][PSDK]
- Generate XDK headers during build. To make changes to wdm.h, ntddk.h, ntifs.h, devioctl.h, ntdef.h or winnt.h, edit the appropriate files in include/xdk (as you should already have been doing for a long time).
CORE-9586 #resolve

svn path=/trunk/; revision=69083
2015-09-07 09:46:43 +00:00
Thomas Faber 8d88ea2081 [ACPI]
- Reinstate the HPET hack, the VMware builders show that it's still needed. Reverts r69066.

svn path=/trunk/; revision=69082
2015-09-07 09:08:48 +00:00
Christoph von Wittich 88cdcad1f6 [XDK][PSDK] add security checks for PSDK as well
svn path=/trunk/; revision=69081
2015-09-07 08:37:11 +00:00
Christoph von Wittich b35101db5f [XDK] add cpp security checks for RTL_NUMBER_OF_V2/ARRAYSIZE
svn path=/trunk/; revision=69080
2015-09-07 08:08:01 +00:00
Christoph von Wittich 4fdcca4b99 [MODE] use ARRAYSIZE, don't include windows.h, fix two possible out-of-bounds reads
CID 1206872
CID 1206873

svn path=/trunk/; revision=69079
2015-09-07 07:05:33 +00:00
Alex Ionescu 81302aadd9 [BOOTMGFW]
- Fix text console bugs. It works now both when already at 80x25, as well as when using UEFI Shell to switch to 100x31 first. Tested with Virtual Box.

svn path=/trunk/; revision=69078
2015-09-07 06:00:37 +00:00
Alex Ionescu 626d85d853 [BOOTMGFW]
- Build fixes for GCC

svn path=/trunk/; revision=69077
2015-09-07 04:42:34 +00:00
Alex Ionescu 0cb7238f1d [BOOTMGFW]
- Checkpoint commit of about 1000+ lines of text console support code. Right now, it's very disorganized and not tested.
- Write out the rest of the initialization path. Almost everything else is only for Boot Debugging, BitLocker, TPM, PXE... 

svn path=/trunk/; revision=69076
2015-09-07 04:37:01 +00:00
Stefan Ginsberg ec566e8082 - Fix the ASSERT in VdmSwapContext now that we are always setting up the trap frame correctly on debug build.
- Fix the ASSERT in KeConnectInterrupt for debug single-processor builds (but keep the old one for multiprocessor build to make it less confusing if it is hit).

svn path=/trunk/; revision=69075
2015-09-06 22:29:10 +00:00
Pierre Schweitzer 93ff988b19 [NTOSKRNL]
Fix a bug in HalpGetFullGeometry(): properly reset the event before reusing it. We may have waited on it previously.

svn path=/trunk/; revision=69074
2015-09-06 22:10:53 +00:00
Alex Ionescu e9b84c302b [BOOTMGFW]
- I/O Library initialization.
 - A few more random initialization routines. Skip TPM, BitLocker, Network and non-FAT filesystems for now.

svn path=/trunk/; revision=69073
2015-09-06 21:29:41 +00:00
James Tabor a85d4e1dc4 [Win32k]
- Set flags when it is appropriate, should fix CORE-10101.

svn path=/trunk/; revision=69072
2015-09-06 21:10:46 +00:00
Alex Ionescu 3e997c870b [BOOTMGFW]
- Fix some heap bugs. It (works?) now, at least for one allocation.
- Fix GCC support for Phase 1 Architectural Initialization.
- Implement Time measurement for Hyper-V compatible hypervisors (tested with Virtual Box 5.0!) as well as non-hypervisors (also tested)

svn path=/trunk/; revision=69071
2015-09-06 20:55:50 +00:00
Hermès Bélusca-Maïto d8b6cfc7f3 [CDMAKE]
- Factor out the code that writes data from a file.
- Use BOOL type where needed.

svn path=/trunk/; revision=69070
2015-09-06 20:42:08 +00:00
Amine Khaldi d5ee70e4f0 [SERVMAN] Introduce the ability to sort the services list-view by any column in ascending and descending order. Brought to you by Joachim Henze. CORE-10122
svn path=/trunk/; revision=69069
2015-09-06 20:19:58 +00:00
Alex Ionescu 3e33b84224 [BOOTMGFW]:
- Add heap implementation, continuing from my work last year. Seems to be pretty broken, next steps are fixing it.
- Implement block allocator initialization (needs heap).
- Implement a few other missing initialization paths.

svn path=/trunk/; revision=69068
2015-09-06 19:56:47 +00:00
Alex Ionescu e21146906a [BOOTMGFW]
- Implement most of the physical memory allocator. The heap manager now gets its page allocation fulfilled.

svn path=/trunk/; revision=69067
2015-09-06 19:22:37 +00:00
Thomas Faber c8df1bac22 [ACPI]
- Remove the no longer needed HPET hack. VMware works fine now.

svn path=/trunk/; revision=69066
2015-09-06 18:51:09 +00:00
David Quintana 1a2ad3befe [FATTEN]
Change tabs to spaces, but only for the files I write. The rest come directly from the fatfs package and are best left untouched.

svn path=/trunk/; revision=69065
2015-09-06 18:24:44 +00:00
David Quintana 163427942d [FATTEN]
* Improve crossplatformness.
* Turn back some indentations into tabs (temporarily).

svn path=/trunk/; revision=69064
2015-09-06 18:10:59 +00:00
David Quintana d731eebc20 [FATTEN]
Introduce a tool I wrote some years ago, that helps create and manage a FAT disk image from the command-line.
It is built using parts of the isofs embedded library, with win32 bindings for file access. Should be helpful in order to create the EFI boot images needed for EFI-bootable isos.
Because the code is not really portable (yet), it's currently not included in the build process.

svn path=/trunk/; revision=69063
2015-09-06 17:21:22 +00:00
Hermès Bélusca-Maïto 0047555c63 [MSCONFIG_NEW]
- Convert msconfig to a fully property-sheet-oriented app.
- Start converting the general page to a property page (serves as a model for the other pages).
- Sync translations for the general page.
- Temporarily remove the other pages from compilation.

svn path=/trunk/; revision=69062
2015-09-06 17:19:40 +00:00
Thomas Faber 39849bdb73 [NTOS:PNP]
- Handle power IRPs for the PNP root device
CORE-10117

svn path=/trunk/; revision=69061
2015-09-06 17:13:48 +00:00
Amine Khaldi 8f3fc52eb3 [CMAKE] Introduce a way to compile ReactOS without invoking CMake twice. You can enable it by running configure with -DNEW_STYLE_BUILD=1. Once the transition goes smoothly we can enable this by default. CORE-10121
svn path=/trunk/; revision=69060
2015-09-06 16:44:30 +00:00
Alex Ionescu 4af1708e1d [BOOTMGFW]:
- Implement case in BlMmRemoveRegionFromMdlEx where the descriptor's tail (or entire allocation) is contained in the descriptor -- this covers our BootMgr entry.
- Implement some more initialization functions.
- Start implementing the heap allocator initialization code. Now we need to implement the actual page allocator.

svn path=/trunk/; revision=69059
2015-09-06 16:41:43 +00:00
Amine Khaldi c4cd6e2035 [CONFIGURE] First step towards introducing a way to compile ReactOS without invoking CMake twice. NFC. CORE-10121
svn path=/trunk/; revision=69058
2015-09-06 16:17:26 +00:00
Alex Ionescu 7bc39e5dae [BOOTMGFW]
- Start implementing MmMdRemoveRegionFromMdlEx. The 3 cases are detected and print right now.

svn path=/trunk/; revision=69057
2015-09-06 15:44:56 +00:00
Alex Ionescu cdd381d869 [BOOTMGFW]:
- Implement algorithm to detect if truncation is needed, which should only happen on IA64 systems I believe (otherwise, the OS and firmware should have the same alignment/page size requirements)
- Implement algorithm to detect if coalescing is needed. This shouldn't happen with firmware memory yet, but might happen once we start carving out stuff.

svn path=/trunk/; revision=69056
2015-09-06 15:02:49 +00:00
Thomas Faber a97581c62d [NDIS]
- Better stub power IRP handling. Failing IRP_MN_SET_POWER is illegal!
CORE-10117

svn path=/trunk/; revision=69055
2015-09-06 14:35:20 +00:00
Thomas Faber 17301d5353 [KBDCLASS][MOUCLASS]
- Forward power IRPs to lower devices. Failing IRP_MN_SET_POWER is illegal!
CORE-10117

svn path=/trunk/; revision=69054
2015-09-06 14:32:22 +00:00
Thomas Faber 9eaf6957f5 [VIDEOPRT]
- Correctly stub power IRP handling. Fixes IRP leaks on shutdown.
- Correctly stub IntVideoPortDispatchSystemControl to avoid IRP leak.
CORE-10117 CORE-10105

svn path=/trunk/; revision=69053
2015-09-06 10:45:37 +00:00
Pierre Schweitzer 3363077e26 [NTOSKRNL]
Define & use a tag for FsRtlNotify* memory allocations

svn path=/trunk/; revision=69052
2015-09-06 10:06:59 +00:00
Thomas Faber 7eade447fe [FMIFS]
- Remove useless export of InitializeFmIfs. Fixes MSVC warning (LNK4216: Exported entry point _InitializeFmIfs@12)

svn path=/trunk/; revision=69051
2015-09-06 09:55:10 +00:00
Thomas Faber 254e6c2c6e [PCI]
- Better stub IRP_MJ_POWER handlers. Failing IRP_MN_SET_POWER is illegal!
CORE-10117

svn path=/trunk/; revision=69050
2015-09-06 08:54:20 +00:00
Thomas Faber 813a68a73c [DISPLAYS]
- DrvEnableDriver does not need to be exported. Fixes MSVC warnings (LNK4216: Exported entry point _DrvEnableDriver@12)

svn path=/trunk/; revision=69049
2015-09-06 08:35:01 +00:00
Thomas Faber 68f6155242 [SHELL32]
- Initialize CNewMenu::m_pidlFolder. Fixes crash in com_apitest:shell32
CORE-10115 #resolve

svn path=/trunk/; revision=69048
2015-09-06 08:16:57 +00:00
Alex Ionescu 4ea30042a6 [BOOTMGFW]:
- Cleanup some bugs/issues in the memory map parsing code.
- Implement creation of BL/NT-compatible memory descriptors based on UEFI descriptors.
- Implement other remaining parts of the page allocator initialization routine.
- Last part missing is to implement routines for removing from a memory list, and for handling the boot manager's own descriptor.

svn path=/trunk/; revision=69047
2015-09-06 06:15:08 +00:00
Thomas Faber e25a440db4 [MSVCRT]
- Properly ignore LNK4102 for libmsvcrt

svn path=/trunk/; revision=69046
2015-09-06 05:20:26 +00:00
Alex Ionescu 6713972af8 [BOOTMGFW]:
- Start implementing the page allocator. Right now, we are able to obtain & dump the UEFI memory map.

svn path=/trunk/; revision=69045
2015-09-06 04:53:49 +00:00
Alex Ionescu 110b26a50d [BOOTMGFW]
- Begin carving out the rough edges of the memory manager. This will be the hardest part.

svn path=/trunk/; revision=69044
2015-09-06 03:24:30 +00:00
Alex Ionescu 6073e89f6b [BOOTMGFW]:
- Use the right settings to make our CD UEFI compatible. The Internet says this is supposed to be 10000x harder, but it seems to work fine, at least in Virtual Box.
- Implement an EarlyPrint routine for early debugging/testing.
- Using the above, fix a bunch of stupid bugs. The previously committed code now seems to work (so far).

svn path=/trunk/; revision=69043
2015-09-06 03:02:56 +00:00
Stefan Ginsberg d3d3e85c9a - Silence some C4028 warnings in our code by fixing some mismatched const.
- Also remove a misplaced INIT_FUNCTION and straggler RtlPrefetchMemoryNonTemporal.

svn path=/trunk/; revision=69042
2015-09-05 20:50:51 +00:00
Alex Ionescu c378dbf128 [BOOTMGFW]:
- Add very early EFI Firmware and x86 Context Management Support.

svn path=/trunk/; revision=69041
2015-09-05 20:31:14 +00:00
Stefan Ginsberg 38f02bb9e7 Nothing to see here move along
svn path=/trunk/; revision=69040
2015-09-05 19:50:14 +00:00
Alex Ionescu ac33cabb74 [BOOTMGFW]:
Add support for converting the EFI file path as well. The first 1000 lines of many have been written. Time to test on Virtual Box.

svn path=/trunk/; revision=69039
2015-09-05 19:38:20 +00:00
Alex Ionescu c4d544b3ad [BOOTMGFW]
- Implement EFI device path conversion

svn path=/trunk/; revision=69038
2015-09-05 19:18:54 +00:00
Stefan Ginsberg 4a3db0a6c3 - Add in MSVC support for HAL .init sections by using alloc_text. MSVC support for putting the HAL pci class and vendor tables into .init is still lacking. Put into a _MINIHAL_ guard or freeldr gets REALLY sad.
- Rename INIT_FUNCTION to INIT_SECTION and put it at the top of functions for consistency with __declspec declarations (it is actually possible to do this via __declspec in newer MSVC versions).

svn path=/trunk/; revision=69037
2015-09-05 18:33:38 +00:00
Amine Khaldi 141f412d0f [CMAKE/MSVC] C4200 doesn't look useful to us.
svn path=/trunk/; revision=69036
2015-09-05 17:46:04 +00:00
Amine Khaldi af74325ed0 [SOFTPUB] Don't assign ordinals to Dll{Register,Unregister}Server(). CORE-10113
svn path=/trunk/; revision=69035
2015-09-05 17:42:27 +00:00