Commit graph

63570 commits

Author SHA1 Message Date
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
Amine Khaldi fa77c8bd71 [CMAKE/MSVC] Temporarily disable C4018 until we fix more of the others. CORE-10113
svn path=/trunk/; revision=69034
2015-09-05 17:31:51 +00:00
Alex Ionescu 66cb7118b2 [BOOTMGFW]
- Define some core boot library structures -- reverse engineered to be compatible with MS. This is important if we want to load MS' own binaries for testing (such as MemTest.Efi)
- Define basic BCD structures
- Start implementing EFI->Windows Boot Library conversion routines. Last part remaining is EFI path conversion.
- Fix linking with RTL, by providing some stubs for now.

svn path=/trunk/; revision=69033
2015-09-05 16:05:20 +00:00
Stefan Ginsberg 4365775be6 - Don't have two different implementation of KiConvertToGuiThread, first as inlined assembly gcc and second as a function call (for msvc). Always use the function call to be consistent with both compilers.
svn path=/trunk/; revision=69032
2015-09-05 15:20:27 +00:00
Thomas Faber 57bd950d25 [NTOS:MM]
- Use MmExpansionLock to synchronize changes to MmProcessList. Should fix random crashes in MmDeleteProcessAddressSpace.
CORE-10111 #resolve

svn path=/trunk/; revision=69031
2015-09-05 14:39:40 +00:00
Amine Khaldi 007c3df2e3 [GDI32] Get back the condition we had before.
svn path=/trunk/; revision=69030
2015-09-05 14:39:27 +00:00
Amine Khaldi abfb19af87 [CMAKE] Set Debug as the default build type for MSVC builds.
svn path=/trunk/; revision=69029
2015-09-05 14:38:50 +00:00
Amine Khaldi d60b5b3bab [MESA] Fix mesa_swrast VS 2015 build.
svn path=/trunk/; revision=69028
2015-09-05 14:32:44 +00:00
Amine Khaldi a0673404ef [LIBXML2] Actually, the VS build has the /wd4189 flag before /we4189 rendering it useless. Use another approach to silencing it.
svn path=/trunk/; revision=69027
2015-09-05 14:29:27 +00:00
Amine Khaldi 739486b5a0 [LIBXML2] Fix VS 2015 build.
svn path=/trunk/; revision=69026
2015-09-05 14:14:35 +00:00
Thomas Faber ded6dc385c [ACPI]
- Arch, don't shut down the system on IRP_MN_QUERY_POWER!
CORE-10110

svn path=/trunk/; revision=69025
2015-09-05 13:24:30 +00:00
Hermès Bélusca-Maïto c1228347b5 [MSCONFIG_NEW]
- Associate a temporary VS project (will be removed later on); change the name of the target for now...
- Allow only one instance of MSConfig running on the system (we use a semaphore, compatible with MS' msconfig, so that if you try to run ROS msconfig on windows, you cannot run also windows' msconfig, and vice versa).
- Introduce some utility functions (for strings and other stuff), will be used later on.
CORE-9333

svn path=/trunk/; revision=69024
2015-09-05 13:03:04 +00:00