Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
[HEADERS] Reintegrate header-work branch. Thanks to hours of boring work on the ddk headers (Most of it done by Amine Khaldi), we have now a decent set, which is still incomplete but already relatively close to latest WDK. A clean rebuild is recommended. svn path=/trunk/; revision=46155
Create a branch for header work. svn path=/branches/header-work/; revision=45691
[ARM]: Fix the ARM build, hopefully without breaking the x86 build in the process. Sorry buds! svn path=/trunk/; revision=45368
[NTOS]: We don't actually need wrappers for NtContinue/NtRaiseException. These are now fully portable C code, so move them appropriately. svn path=/trunk/; revision=45145
- Fix a bug in KiRaiseException from 42923 -- a _SEH2_LEAVE wasn't converted to _SEH2_YIELD svn path=/trunk/; revision=42937
- ...fix typo svn path=/trunk/; revision=42925
- Add a comment and debug print svn path=/trunk/; revision=42924
- Use _SEH2_YIELD when returning from an exception instead of returning outside the SEH block. Avoids unnecessary status checks for the most common case (no exception). Move the cleanup code into the handler too in favor of the no-exception case. Futhermore, don't call ExSystemExceptionFilter when we know we are called from user mode. Finally, only enter SEH if we need to do any probing. - Re-enable user mode probes in KiRaiseException; they do not seem to be an issue anymore -- booting and running the ntdll exception Winetest didn't reveal any issue. Put a breakpoint there in case this code is ever hit (unlikely). svn path=/trunk/; revision=42923
Everything Migrate ntoskrnl to PSEH 2.0. The code should speak for itself modified ntoskrnl/ex/atom.c _SEH_LEAVE was used improperly in NtQueryInformationAtom. As a free bonus, the upgrade to PSEH 2.0 (and to _SEH2_LEAVE) fixes the potential bug modified ntoskrnl/fsrtl/fastio.c Corrected exception filter logic modified ntoskrnl/include/internal/ex.h Goodbye _SEH_ExSystemExceptionFilter, you won't be missed modified ntoskrnl/include/internal/ntoskrnl.h Don't FORCEINLINE functions that use SEH, it's bad form and the compiler doesn't like modified ntoskrnl/ke/i386/usercall.c Dispatch the correct EXCEPTION_RECORD in case of exception inside KiInitializeUserApc modified ntoskrnl/ke/powerpc/exp.c Removed bogus, unused SEH code modified ntoskrnl/ntoskrnl-generic.rbuild Sources using PSEH 2.0 must be compiled with -fno-unit-at-a-time due to a GCC bug. See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17982 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38054 Apparently, -fno-unit-at-a-time makes GCC crash when using precompiled headers. Disable precompiled headers for ntoskrnl svn path=/trunk/; revision=37615
- Remove the (now deprecated) ntoskrnl/internal/debug.h header and fix all its includers to use the global debug.h svn path=/trunk/; revision=35806
- Fix KiDispatchException to unmask KI_EXCEPTION_INTERNAL when setting the exception code, so that usermode/SEH filters get proper exception codes again. - Fixes and compatible merges from KD Branch: - Add stubs for KdSave, KdRestore, KdDebuggerInitialize0, KdSendPacket, KdReceivePacket to kdcom.dll - Implement and export KeTryToAcquireSpinLockAtDpcLevel. - Add EXCEPTION_RECORD64 and LIST_ENTRY64, KeTryToAcquireSpinLockAtDpcLevel, BREAKPOINT_COMMAND_STRING, Ke386SetCr2, Ke386SetDr3, Ke386SetDr6. - Remove non-kernel routines from kdfuncs.h and remove deprecated routines from ke.h. - Implement KiRestoreProcessorControlState, KeFreezeExecution, KeThawExecution, ExAcquireTimeRefreshLock, ExReleaseTimeRefreshLock. - Rename ModuleLoadList to PsLoadedModuleList. Add PsNtosImageBase and set value in it. - Add skeleton wdbgexts.h with what's needed until now, this is a PSDK header. - Add kddll.h for KDCOM/1394/USB2.DLL prototypes. - Add windbgkd.h with KD protocol definitions. Used to be an NT5 DDK header, but was removed, so this goes into include\reactos. - Fix KiDebugService to load EDX from KTRAP_FRAME_EDX, not KTRAP_FRAME_EAX!. - Fix CommonDispatchException to check for the argument count in ECX, not EAX. Previously we were ignoring parameter counts and never filling out exception records! - Add KdDebuggerInitialize1 and enable call to it. - Fix KD_SYMBOLS_INFO definition and DbgLoadImageSymbols prototype. - Implement DbgUnLoadImageSymbols. - Fix some small bugs in KeBugCheckWithTf and add various debugger calls/checks where needed. - Fix bugcheck recursion code which was incorrect. - Only save/restore CR4 if KeFeatureBits indicates CR4 support exists. - Export KdDebuggerNotPresent since KDCOM needs it. - Add KCONTINUE_STATUS. - Add DBGKD_ANY_CONTROL_SET and X86/IA64/AMD64 control sets. - Add DBGKD_MANIPULATE_STATE64 and all sub-structures (READ_MEMORY, WRITE_MEMORY, etc). - Create GCC_ULONG64 type to hack around a bug in GCC which is incapable of creating entries for externals at compile-time for 64-bit pointers. - Rename NameSpaceRoot to ObpRootDirectoryObject, IopLogListHead to IopErrorLogListHead, BugcheckCallbackListHead to KeBugcheckCallbackListHead, BugcheckReasonCallbackListHead to KeBugcheckReasonCallbackListHead, ObTypeObjectType to ObpTypeObjectType. - Create ntverp.h and common.ver files. These are the standard files used by the NT/DDK build systems and we should try to support them as well instead of re-defining everything our own way (especially if we want to build ddk-compatible drivers later on). - Made init.c use version data from ntverp.h instead of hard-coding. - Defined NT 5.2.3790.1830 as the version we report. - Fixed up .rc file to be correct and match DDK-sytnax/style. - For now only the kernel uses this new versionning scheme, but we should change the build system later to use this for every component. - Fix KiSaveProcessorControlState and KiRestoreProcessorControlSate. The latter doesn't freeze the CPU anymore so it's enabled, and the former doesn't cause WinDBG to panic anymore and display weird data. - KPROCESSOR_STATE is not 4-byte aligned. - Use DR_MASK and DR7_OVERRIDE_V in KiUpdateDr7, KiRecordDr7 instead of DR_ACTIVE_MASK. - Add ExceptionRecord32To64. - Fix generation of driver name for symbol load. svn path=/trunk/; revision=25937
set most of trunk svn property eol-style:native svn path=/trunk/; revision=24701
- Change RtlMoveMemory to RtlCopyMemory where memory regions are never overlapping - Re-Secure a few Nt stubs by adding SEH/Probing where neccessary svn path=/trunk/; revision=24599
- Rename kqueue.c to devque. KQUEUE (kernel queues) are implemented in queue.c, and this filename always confused me. Why would you name KDEVICE_QUEUE into kqueue.c, when you already have KQUEUE in queue.c?! - Rename exception.c to except.c, mostly due to MSVC's incompatibility with multiple identically named files. - SVN delete usercall.c leftover. - Fix KeSetPriorityAndQuantumProcess to use Queued Spinlocks and KiAcquireProcess/ThreadLock when needed. svn path=/trunk/; revision=24094