[SDK] One step further towards ReactOS source code tree restructure: the sdk folder that groups includes, libraries and tools. CORE-9111 svn path=/trunk/; revision=71184
[NDK] Add SAL 2 annotations, use dummy annotations, if no SAL is available [PSDK/DDK/XDK] Fix a number of annotations, change the order in wdm.h fix IRQL annotations svn path=/trunk/; revision=58164
[NDK] - Fix declaration of HalPrivateDispatchTable for FreeLDR. [FREELDR] - Rename BiosMemoryMap to XboxMemoryMap. Another BiosMemoryMap is in meminit.c [NTOSKRNL][WIN32K][FTP] - Fix some variables. svn path=/trunk/; revision=55878
[NDK] Define HAL_IRQ_TRANSLATOR_VERSION constant [NTOSKRNL] When needed, use HAL_IRQ_TRANSLATOR_VERSION from NDK and don't define it locally svn path=/trunk/; revision=51057
[NDK] pHalAllocateMapRegisters type functions are to return NTSTATUS and not BOOLEAN svn path=/trunk/; revision=51015
- Implement the generic bus handler support and initialization. - Add missing hack flags for ACPI hacks. - Add the hack flags to the registry. svn path=/trunk/; revision=44061
- Restructure HAL bus routines a bit. - Fix some incorrect HAL types and add some that were missing. svn path=/trunk/; revision=43855
Fix the completely retarded implementation of KdComPortInUse. The original definition of this variable seems to have been based on the retarded type in the serial.sys source sample, which defines it as: extern PUCHAR *KdComPortInUse; This, somehow, works in MSVC, but gcc complains about the lack of import specifier (KdComPortInUse is exported by HAL). This was 'fixed' by adding the import specifier to ros. So instead of: PUCHAR *KdComPortInUse; We ended up with: NTHALAPI PUCHAR *KdComPortInUse; Which becomes 3 dereferences instead of 2, which is incorrect. This was 'fixed' by hacking the variable in HAL too. Use "extern PUCHAR NTHALAPI KdComPortInUse" to be compatible with both compilers, remove the HAL hacks, and fix the usage of the variable. Fixes the serial.sys crash when booted with _WINKD_ + kdcom from Windows 2003, as kdcom would (due to the HAL hack) set the internal 'pointer' to the port value, and serial would end up dereferencing the port address svn path=/trunk/; revision=38960
- WDK and MSVC compatibility fixes. svn path=/trunk/; revision=28151
Fix usage of KdComPortInUse svn path=/trunk/; revision=27515
- Fixed up KdComPortInUse so that we don't crash when using TinyKRNL/Windows kdcom.dll anymore (due to serial.sys). WinDBG should work a lot better now. - Implemented hack so that NT-style sprintf can work. - Implement MiCacheImageSymbols and upgrade MmLoadSystemImage to load symbols for drivers/images which have a debug section. - Implemented a case in MiResolveImageReferences which was getting hit. - Don't leak a section object reference each time we load a driver. - Set the LoadedImports pointer in the loader entry, and set the proper flags after loading a driver. - Do image notifications after loading a driver, if they're enabled. svn path=/trunk/; revision=26006
- Cleanup HAL initialization code: - Initailize the clock increment separately from the calibration of stall execution. - Raise IRQL to the current IRQL (basically a no-op) to force a standard PIC state. Will be needed for the new IRQ implementation when it'll work. - Scan commandline for PCILOCK and BREAK parameters during hal initalization. The former is not supported, only saved, while the latter causes a breakpoint just like the windows implemetnation. - Get the bus type (ISA, EISA, MCA) on startup to support bootup from NTLDR. - Validate HAL to match the kernel (checked kernel and UP kernel). Also make the kernel set the proper PRCB flags for this. - Initialize the CMOS lock. - Setup HAL Dispatch table and enable call to HalQuerySystemInformation in the kernel since it now works. - Rewrite bus functions to get rid of the idea of "Bus handlers". This is a deprecated NT4 concept that ReactOS copied and only slows down performance. - Support custom private dispatch table PCI functions. - Provide default PCI functions. - Rewrite PCI functions using clean structures and code instead of magic macros and undocumented magic values. Use simple macros to generate PCI bus operations for write/read uchar, ushort and ulong. - Simplify function definitions for CMOS access. - Unify some dupli/tripi-cated code. - Fix definition of HaliSetSystemInformation. - Fix definitions of Bus Handler functions (add NTAPI). - Add official BUS_HANDLER definition to NDK. - Fix definition of HAL_PRIVATE_DISPATCH. - Remove some derecated code (isa.c and mca.c). svn path=/trunk/; revision=24872
Fail start of the serial port currently used for debugging, according to blogs.msdn.com/doronh/archive/2006/06/07/621604.aspx svn path=/trunk/; revision=22516
- NDK 0.98, now with versionned headers. Too many changes to list, see the TinyKRNL SVN Logs for more detailed information. Thanks to Andrew (Wax), Thomas and Aleksey for testing. svn path=/trunk/; revision=21880
- Make ROS buildable with GCC 4.1 - Patch by Thomas Weidenmueller svn path=/trunk/; revision=21226
- Fix KeAttackProcess, KeStackAttachProcess, KeUnstackDetachProcess and KeDetachProcess. The code was brain-dead and I must've been drunk when I first wrote it. - Update some NDK definitions and some fixes. - Update HAL Private Dispatch Table to 2.0 - Make RtlIpv* API definitions more correct. svn path=/trunk/; revision=19847
- Make the NDK compatible with the MSDDK again. - Fix some w32api incompatibility cruft since w32api insists on including winnt.h from kernel-mode. - Fix some stuff that was including both kernel-mode and user-mode headers together. - Use PISECURITY_DESCRIPTOR, not PSECURITY_DESCRIPTOR. svn path=/trunk/; revision=19726
- Add the real NT Object Callbacks and #ifdef out the ReactOS ones. - Add the real NT Loader Parameter Block structures & friends and #ifdef out the ReactOS ones (thanks to Filip Navara for some work on these). svn path=/trunk/; revision=19697
- Remove KTSS_NOIOMP from NDK. - Fix KTSS definition. - Fix KTRAP_FRAME definition. - Fix RTL_PROCESS_BACKTRACE_INFORMATION and RTL_PROCESS_BACKTRACES definitions. - Fix/rename RUNDOWN_DESCRIPTOR definition. - Rename PPF_ definitions to RTL_USER_PROCESS_PARAMETERS_ - Setup a global _REACTOS_ define when code is compiled. - #ifdef out the multiboot flags from the NDK so they'll only be available for ReactOS. Dirty 'hack' until we stop using them. - Update NDK Fixme list, since all major bugs are fixed now. svn path=/trunk/; revision=19693
- Update NDK to remove zwfuncs.h and place the native functions in their respective xxfuncs.h instead, so that applications can now include only what they need. Add more xxfuncs.h files for every API. - Make the NDK smarter so that using #define NTOS_MODE_USER isn't needed anymore: the NDK can now auto-detect the presence of windows.h or ntddk.h and make the appropriate decision. - re-arrange ntndk.h to include all types in alphabetical order, and then all functions, regardless of um/kmode usage. - Make each file auto-detect if this is NTOS_MODE_USER or not and include each files it needs, instead of depending on a predefined order inside ntndk.h This way, any file can be included from both user-mode or kmode as simply as #include <iofuncs.h>, wthout any adtional work. - Update FIXME list with these changes and delay NDK release date since my trip is lasting a day longer. - Fix ntsecapi.h to define UNICODE_STRING, like it does in the PSDK. - Fix apps including ntsecapi + winternl.h These two cause a conflict even on PSDK and shouldn't be included together. - Make winlogon include only the NDK files it needs (2) instead of the whole NDK, as test for this faster newly supported method. - Remove some NDK apps from the FIXME list (the ones that weren't being built/are on my rewrite branch/are better off including the whole NDK instead of file-by-file). - Update debug.h to define RtlAssert and DbgPrint in case the NDK or DDK aren't already included, which will allow some of the apps to stop using the NDK solely for DPRINT/DPRINT1. Diabled for now since a lot of code needs to be changed to #include <debug.h> *After* they include the other headers. (so that the anti-double-definition check can work). svn path=/trunk/; revision=19538