Commit graph

1440 commits

Author SHA1 Message Date
Victor Perevertkin 901c457b63
[PSDK] Add more 32 and 64-bit definitions to ntddscsi.h 2020-11-13 03:15:31 +03:00
Hermès Bélusca-Maïto be01e6d76f
[XDK] Update the definition of DEBUG_DEVICE_DESCRIPTOR and related structures with Vista,7,8,10 additions.
CORE-17360

Information from:
- https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddk/ns-ntddk-debug_device_descriptor
- https://www.vergiliusproject.com
- https://codemachine.com
2020-11-09 22:33:02 +01:00
Jérôme Gardou bf04126e02 |CMAKE] Use RULE_LAUNCH_COMPILE property to handle ccache 2020-11-09 10:47:19 +01:00
Timo Kreuzer 743c378ed1 [CMAKE] Add architecture to our build string
This introduces a new CMake variable WINARCH, which what Windows usually uses ("x86" instead of "i386") e.g. in sxs names.
2020-11-07 18:40:45 +01:00
Timo Kreuzer 0b0bb1a93b [SPEC2DEF] Implement support for private exports 2020-11-07 18:40:03 +01:00
Victor Perevertkin 7c734db034
[WDF] Enable Resource and Interrupt APIs 2020-11-04 19:34:14 +03:00
Victor Perevertkin 1f377076d7
[WDF] Fix KMDF so it can compile with ReactOS SDK
Not all files are included, but these are necessary to compile cdrom driver.
So far it can only be statically linked with drivers, a proper
implementation requires wdfldr helper driver
2020-11-03 00:06:27 +03:00
Victor Perevertkin 8a978a179f
[WDF] Add Windows Driver Framework files
Takern from Microsoft GitHub repo:
d9c6040fe9

Licensed under MIT
2020-11-03 00:06:26 +03:00
Victor Perevertkin 545df81502
[KMDF] Make KMDF headers compatible with our SDK and compilers 2020-11-03 00:06:25 +03:00
Victor Perevertkin 40462c924e
[KMDF] Add Kernel-Mode Driver Framework headers v1.17
Taken from Microsoft GitHub repo:
d9c6040fe9

Licensed under MIT
2020-11-02 22:07:15 +03:00
Victor Perevertkin 5c7ce4475e
[REACTOS] Cleanup INIT and some PAGE section allocations
- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
2020-11-02 21:45:31 +03:00
Victor Perevertkin 658f742c2d
[NDK][CMAKE] Introduce DATA_SEG and CODE_SEG macro
These are for putting code and data to non-default sections
At the same time, move INIT section attributes declaration to cmake files
2020-11-02 21:27:06 +03:00
Timo Kreuzer 2c791cdde7 [CRT] Remove duplicated atexit/onexit code
This removes the broken wine version of atexit and onexit. It keeps only dllonexit, which is implemented properly. The previous __call_atexit is moved to where the mingw onexit/atexit code is and adjusts it to work with the existing code. A call to __call_atexit is added in __tmainCRTStartup after the main function was called.
2020-11-01 09:33:14 +01:00
Timo Kreuzer d685dcee9b [CMAKE] Rename def files for import libraries on MSVC builds to *_implib.de like on GCC 2020-11-01 09:33:14 +01:00
Timo Kreuzer 2a8c680dbe [NTOS:KE:X64][NTDLL:X64] Implement KiUserExceptionDispatcher and fix KiDispatchExceptionToUser 2020-10-31 14:23:16 +01:00
Timo Kreuzer a016ccd117 [NTOS:KE:X64][ASM:X64] Fix delivery of APCs
- Deliver pending APCs on trap exit
- Pass the trapframe of KiApcInterrupt to KiDeliverApcs, not NULL.
- Fix parameter passing from KiSwapContext to KiSwapContextInternal and KiSwapContextResume, so that the ApcBypass parameter is not uninitialized
- Fix return value of KiSwapContextResume to correctly indicate whether we want to have APCs directly delivered or not (when there are non, or when delivery is suppressed)
2020-10-31 14:23:16 +01:00
Timo Kreuzer 7e6dce6aa1 [ASM:X64] Save GS base MSR in trap frame 2020-10-31 14:23:16 +01:00
Timo Kreuzer 8ec888487a [ASM:X64] ASSERT that interrupts are enabled, when returning to user mode 2020-10-31 14:23:16 +01:00
Timo Kreuzer ce5aa24c50 [ASM:X64] Add initial version of kxamd64.inc, macamd64.inc 2020-10-31 14:23:16 +01:00
Timo Kreuzer fe36f081c7
[COMPILER_APITEST] Add SEH tests from MS (#2435)
* [COMPILER_APITEST] Import MS EH/SEH tests

Taken from https://github.com/microsoft/compiler-tests

* [CRT] Add missing declaration of _longjmpex

* [COMPILER_APITEST] Add cmake build files for MS SEH test

It is built as a static library

* [COMPILER_APITEST] Fix GCC build of MS SEH tests

There are a number of hacks in there now. Also the volatile hacks should be separated and sent upstream.

* [COMPILER_APITEST] Fix x64 build of MS SEH tests

* [COMPILER_APITEST] Fix clang build of MS SEH tests

* [COMPILER_APITEST] Include MS SEH tests
2020-10-31 11:08:27 +01:00
Timo Kreuzer 0e5a4d5afe [PSDK] Import some SAL headers from MS
Taken from https://github.com/microsoft/ChakraCore/tree/master/pal/inc/rt

* Move _Check_return_opt_ and _Check_return_wat_ to crtdefs.h
* Update sal.h from https://github.com/microsoft/ChakraCore/blob/master/pal/inc/rt/sal.h
* Import no_sal2.h from MS and remove the one in NDK
* Import specstrings.h from MS
* Import specstrings_strict.h from MS
* Add specstrings_undef.h (based on defines in specstrings_strict.h)
* Remove __REACTOS__ hacks from cdfs
2020-10-29 06:51:28 +01:00
Serge Gautherie a2a6038e56
[CMAKE] MSVC RUNTIME_CHECKS is a 'Debug'-only feature
"cl : Command line error D8016 : '/Ox' and '/RTC1' command-line options are incompatible"

Addendum to 92dfec219d.
2020-10-24 04:28:16 +03:00
Jérôme Gardou 23e04ae1ee [CMAKE] Use an INTERFACE library to perform the msvcrt <-> msvcrtex binding 2020-10-22 18:07:27 +02:00
Jérôme Gardou 5c25e816bf [CMAKE] Only link msvcrtex to win32cui, win32gui, win32dll, win32ocx and cpl modules 2020-10-22 18:07:27 +02:00
Jérôme Gardou 840fe4d6ac [CMAKE] Introduce the REACTOS_MODULE_TYPE target property
And set it in set_module_type function
2020-10-22 18:07:27 +02:00
Jérôme Gardou bbe47e61b1 |CMAKE] Use ExternalProject for host-tools build 2020-10-22 09:31:11 +02:00
Katayama Hirofumi MZ 89bd2d12da [INCLUDE] Use HeapAlloc/HeapFree in layout.h
CORE-17341
2020-10-22 08:07:32 +09:00
Katayama Hirofumi MZ de8d156e2c
[SHELL32] Resizable for SHBrowseForFolder (#3299)
Make the dialog box of SHBrowseForFolder function resizable. CORE-17341
2020-10-21 22:25:16 +09:00
Jérôme Gardou ab825334dd Apply suggestions from code review
Beautification and clarity

Co-authored-by: Victor Perevertkin <victor@perevertkin.ru>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-10-20 21:44:54 +02:00
Jérôme Gardou 00ed72d7e8 [CMAKE] Get rid of add_compile_flags
Use add_compile_options and the like instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou 84621b3634 [CMAKE] Get rid of replace_compiler_option macro
This is not used anymore
2020-10-20 21:44:54 +02:00
Jérôme Gardou 683489ccf1 [CMAKE] Use -ffile-prefix-map for GCC builds
And also simplify the __RELFILE__ macro definition for the other cases
2020-10-20 21:44:54 +02:00
Jérôme Gardou ed61512236 [CMAKE] Get rid of add_compile_flags_language macro
in favor of add_compile_options and the like with generator expressions
Also take this as an opportunity to remove the C++11 standard hack, GCC 8 now defaults to C++14
2020-10-20 21:44:54 +02:00
Jérôme Gardou 7e116f0ef3 [CMAKE] Get rid of replace_compile_flags
Introduce a finer-grained remove_target_compile_option instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou b52fa999eb [CMAKE] Get rid of replace_compile_flags_language macro
It was only used in the set_cpp macro
2020-10-20 21:44:54 +02:00
Jérôme Gardou 907025a018 [CMAKE] Introduce the atl_classes interface library
This takes care of adding the relvant include directory and the _ATL_NO_EXCEPTIONS define, if needed
2020-10-20 21:44:54 +02:00
Jérôme Gardou 8b28f8d9ba [CMAKE] Allow INTERFACE libraries for MSVC IDEs 2020-10-20 21:44:54 +02:00
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Jérôme Gardou 15dd31377a Revert "[NTOS/MM] Initialize process Working set and start implementing adding entries to it"
This reverts commit 5abc016401.
Not ready for prime time
2020-10-20 15:56:53 +02:00
Jérôme Gardou d0ed4fdb3a [CMAKE] Fix generation of UTF-16 inf file 2020-10-20 15:21:00 +02:00
Jérôme Gardou 5abc016401 [NTOS/MM] Initialize process Working set and start implementing adding entries to it 2020-10-20 15:20:59 +02:00
Mark Jansen a7c1f9a014
[PSDK] Add some argument names 2020-10-11 17:00:59 +02:00
Serge Gautherie 05347f7168
[PSDK] dsrole.h: Define DSROLE_PRIMARY_DS_READONLY (#3288) 2020-10-10 22:27:07 +02:00
Katayama Hirofumi MZ f496a5fc4f
[SHLWAPI] 1/3-implement SHAutoComplete (#3230)
Retrial of #3214. Try to implment shlwapi!SHAutoComplete function. Unfinished. CORE-9281
2020-09-27 15:27:18 +09:00
Adam Słaboń 50ff453434
[TRANSLATION] Polish translation update (#3233) 2020-09-26 21:42:36 +03:00
Victor Perevertkin bb94e711ef
[NTOSKRNL_VISTA] Add stubs for functions needed in KMDF 2020-09-25 01:28:55 +03:00
Victor Perevertkin d01518da7c
[XDK] Add definitions required for newer storage class drivers (cdrom)
That introduced some warnings in the current code which were corrected as well

CORE-17129
2020-09-24 22:30:52 +03:00
Victor Perevertkin be276dde28
[XDK][NTOSKRNL_VISTA] Put NTKRNLVISTAAPI to XDK headers
for vista+ APIs implemented in ntoskrnl_vista.
Now if you statically link ntoskrnl_vista into a driver,
NTKERNELAPI will automatically be removed from an API definition
2020-09-24 21:51:57 +03:00
Victor Perevertkin 7af229f5b5
[PSDK] Fix order and formatting of IOCTL definitions in ntddcdrm.h 2020-09-24 17:44:18 +03:00
Victor Perevertkin 99489553fc
[PSDK] Add definitions required for newer storage class drivers (cdrom)
CORE-17129
2020-09-24 17:31:15 +03:00