Convert most of the trap and blue screen code from asm to C, use KTRAP_FRAME and KSPECIAL_REGISTERS on the stack, instead of using a bunch of global variables. Convert multiply used asm code chunks into macros. Use intel syntax for remaining asm.
135 lines of C + 178 lines of asm, instead of 942 lines of asm
svn path=/trunk/; revision=49573
- move stlport headers to the c++ directory
- add a specific _reactos.h configuration file for stlport
- add cerrno to c++ headers
- __declspec(nothrow) must be placed before calling convention with msvc. GCC doesn't care.
We now use our headers with both msvc and gcc.
svn path=/branches/cmake-bringup/; revision=49565
add genincdata, a module that will be compiled as a dll to provide the data for geninc to be converted into an .inc file.
svn path=/branches/cmake-bringup/; revision=49561
MiCowSectionPage to always assume CoW rather than always not
CoW for cache sections.
Make sure we're looking for cache type sections rather than
(as we were in the branch) data file sections. More needed.
svn path=/trunk/; revision=49555
Create importlibs from spec files for kernel32, advapi32, gdi32, user32 and msvcrt
calc now compiles with MSVC and works (slightly buggy)
svn path=/branches/cmake-bringup/; revision=49554
- start using our own c++ headers and forward stlport ones to them in msvc build.
- fix fpecode declaration for MSVC.
[CMAKE]
- cardlib is a cpp library.
Now stlport compiles with msvc.
svn path=/branches/cmake-bringup/; revision=49552
- Move spec2def into comppiler specific files, use spec2pdef tool on MSVC builds
- Add a ridiculously complex macro to create the importlibs for MSVC. (It was hard for me to figure this out, so be it for you ;-))
svn path=/branches/cmake-bringup/; revision=49545
Add a hack to fix compilation of irot.idl with MSVC. If someone knows how to correctly fix this, please let me know.
svn path=/branches/cmake-bringup/; revision=49538
- Add #pragma function to a number of intrisics that we implement to avoid a compiler error of MSVC
- Add a workaround to prevent some functions from being inlined
- Move sqrtf out of i386 directory
- Convert a number of inline assembly functions to raw assembly
svn path=/branches/cmake-bringup/; revision=49534
[NTOS]: Assign the working set list address, system-wide, but per-process (in hyperspace).
[NTOS]: Give every process its working set page, and store it. Build a bogus working set list (MMWSL).
[NTOS]: Use the process working set list (MMWSL) to track page table references during faults, just as Windows does.
[NTOS]: Correctly initialize the colored page list heads and assert their validity.
svn path=/trunk/; revision=49525
- add new macro add_linkerflag to avoid code duplication
- add new macro set_pdef_file, replacing the use of pdef2def, which is neccessary to resolve issues with MSVC. cmake doesn't handle def files as source files very well, when they are not in the current source directory.
svn path=/branches/cmake-bringup/; revision=49524