- Create a wrapper version of HalpEndSoftwareInterrupt that frees its stack before calling the noreturn version of the next software interrupt handler. Fixes excessive stack usage when DPCs are queued in quick succession.
CORE-11123 #resolve
svn path=/trunk/; revision=71307
- Print a message if EISA DMA support is detected. Detection should probably not even be attempted unless the machine supports EISA; the print will show whether that's correct.
CORE-9895
svn path=/trunk/; revision=69302
- 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
- Fix a GCC warning (error on Macs) concerning the printf "%Iu" specifier.
- To make sure data included by bin2c, that need to be interpreted as a (long) string, is correctly NULL-terminated, introduce an output format called "STR": this creates a long character array using the "\xXX" format.
- To circumvent a silly limitation of MSVC (all versions?) about the maximum length (65535 bytes) of a char string (aka. char MyArray[] = "...my_long_string...";), introduced yet another output format called "BINSTR" which creates an array of bytes that is NULL-terminated (aka. char MyArray[] = {0xde, 0xad, 0xbe, 0xef, 0x00};).
- Finally, the output format "BIN" is the regular bin2c format (simple array of bytes).
[HAL_PCIDATA][FREELDR_INSTALL]
Use the above-described functionality (for HAL_PCIDATA, use BINSTR format because the PciVendors data is otherwise too large to be stored in "char_string" format).
svn path=/trunk/; revision=68255
Improve bin2c by saving in a #define the size of the generated array, and specify this size in the declaration of the array so that doing sizeof(...) becomes possible. Use "unsigned char" as the (portable) type of the contents of the array.
[HAL]
Add PCHAR casts where needed to take into account the previous modifications.
svn path=/trunk/; revision=68139
- Introduce the kerneldll module type (like kernelmodedriver, but ending with .dll) and use it in various places
- vfatx.dll whould in fact be a native DLL
svn path=/trunk/; revision=64526
- Don't use svn:eol-style = native for PCI ids but then have the code expect CRLF. Should fix all devices being "Unknown device" on Unix builds.
svn path=/trunk/; revision=64158
Update the PCI hardware IDs. Extracted from the pci.ids database from http://pciids.sourceforge.net/ from 2014.08.30
Maintained by Martin Mares <mj@ucw.cz> and other volunteers from the PCI ID Project at http://pci-ids.ucw.cz/.
svn path=/trunk/; revision=64024
Fix a catastrophic bug in S/G DMA. There is a subtle difference between the S/G DMA APIs and the old AllocateAdapterChannel API when it comes to having multiple requests in flight. Callers of (Io)AllocateAdapterChannel CANNOT queue another request until the AdapterControlRoutine is called. S/G DMA allows multiple concurrent DMA requests, but ROS was using IoAllocateAdapterChannel in the S/G API. As a result, the wait block stored in the device object was unexpectedly reinitalized and queued again. This results in a leak of the originally queued request context, potentially performing the new DMA operation twice while dropping the old request, and use after free of the context passed to HalpScatterGatherAdapterControl.
svn path=/trunk/; revision=63898
Update the PCI hardware IDs. Extracted from the pci.ids database from http://pciids.sourceforge.net/ from 2013.07.20
Maintained by Martin Mares <mj@ucw.cz> and other volunteers from the PCI ID Project at http://pci-ids.ucw.cz/.
svn path=/trunk/; revision=59551
* Account for the asm source files in all the HAL flavors. Should fix compiling them with VS (which regressed recently).
svn path=/trunk/; revision=58862
Fix TOO MANY !! :(((( "initialize" misspellings.
Note1: One remains in subsystems/csr/csrsrv/init.c, but will be corrected in my future csrss branch merging.
Note2: In ntoskrnl/se/semgr.c, one tries to create the "LSA_AUTHENTICATION_INITALIZED" event. This is ROS-SPECIFIC !!!! In the sense that it doesn't exist on Windows. Instead, the "LSA_AUTHENTICATION_INITIALIZED" exists. Correct that fact.
svn path=/trunk/; revision=58679