- 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
Fix the debugging macros introduced in r58132 (for the _FATAL case):
do not use exceptions but instead a breakpoint followed by a process termination procedure (or a bugcheck if we are in kernel mode).
Feel free to improve them !!
[DRIVERS-HAL]
Finish to use the new debugging macros
Part 3/3
svn path=/trunk/; revision=58154
* For anyone who wants to work only on a certain module (or a set of modules), you can add "project(module)" to the related CMake file. This will generate a solution that contains all the required dependencies needed to compile only that module, without having to open a huge solution with 900+ projects.
* We'll create a wiki page to explain how to use this in detail.
* Dedicated to all VS users. Have fun ;)
svn path=/trunk/; revision=58141
* Prefer STREQUAL over MATCHES since we're comparing with strings here. Brought to you by Hermès Bélusca.
See issue #7306 for more details.
svn path=/trunk/; revision=57181
* Leverage the object library option provided by CMake 2.8.8+ which will speed up the build even further.
* Compared strings using STREQUAL.
* These wrapping conditions will go away as soon as we ship the new BE.
svn path=/trunk/; revision=56909
* unify spec2def and add_importlib_target
* use module name instead of spec file name for deciding importlib target name
svn path=/trunk/; revision=56081
- Fix the way we undefined IoCallDriver and IoCompleteRequest so existing and future code in irp.c will use the correct function when using the Io* versions.
Part 1 of 2.
svn path=/trunk/; revision=56060