Commit graph

868 commits

Author SHA1 Message Date
Thomas Faber ba1fac2999 [HAL]
- 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
2016-05-10 15:03:56 +00:00
Hermès Bélusca-Maïto 10bff42ab6 Remove redundant extra terminating ';' in all of our C code.
svn path=/trunk/; revision=70690
2016-02-04 20:42:07 +00:00
Hermès Bélusca-Maïto 02e447d135 [CODE]: s/interupt/interrupt/
svn path=/trunk/; revision=70689
2016-02-04 20:27:44 +00:00
Amine Khaldi 8283006e8b [HAL] Fix HalpInitializeTsc prototype.
svn path=/trunk/; revision=69865
2015-11-10 13:19:40 +00:00
Amine Khaldi 9d73134228 [HAL] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69811
2015-11-04 13:30:52 +00:00
Thomas Faber 016e5d9466 [HAL]
- Don't probe for EISA DMA capability on non-EISA machines (i.e. currently never). Patch by Andrey Kudravets.
CORE-9895 #resolve

svn path=/trunk/; revision=69613
2015-10-19 08:00:47 +00:00
Thomas Faber 47083e371b [HAL]
- 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
2015-09-20 09:45:59 +00:00
Stefan Ginsberg e50245329b [HAL] Get rid off REGISTERCALL ("regparm(3)" for GCC) and replace with good old NTAPI (stdcall). Such an obsession with avoiding stack usage is not healthy nor makes much sense today (or even a long time before today) with processors that have a decent L1 cache, whose "cost of access" is basically the same as to that of a register, and with processors being capable of recognising basic access patterns to ensure frequently used memory (read: stack) is in the cache. Slapping FASTCALL/regparm on frequently used code does not ensure it actually operates faster. You want to know what really hurts performance (and cache)? Slapping FORCEINLINE on everything like if it was some kind of asm macro, making code needlessly bloated.
svn path=/trunk/; revision=69248
2015-09-15 23:03:42 +00:00
Stefan Ginsberg 2d55091cc2 Sprinkle cdecl declarations liberally all around to make a bunch of the base components compile (freeldr compiles but does not link yet). Some of these should really be NTAPI, working on that.
svn path=/trunk/; revision=69238
2015-09-15 10:35:49 +00:00
Stefan Ginsberg d320870f3f Stop using ATTRIB_NORETURN in hal and kernel, replace with the UNREACHABLE macro that both compilers can understand. Also fix up the UNREACHABLE def a bit.
svn path=/trunk/; revision=69220
2015-09-13 20:37:28 +00:00
Stefan Ginsberg 30f6a61675 [HAL] Remove seemingly deprecated HalPutDmaAdapter. Also reorder exports slightly towards alphabetical order.
svn path=/trunk/; revision=69134
2015-09-08 23:42:24 +00:00
Thomas Faber 10ca607680 [HAL]
- Addendum to r69013: also fix the ACPI version of HalpDispatchPower.
CORE-10105 CORE-10117

svn path=/trunk/; revision=69092
2015-09-07 17:02:22 +00:00
Thomas Faber 4f3a4a5c04 [CMAKE]
- Fix more missing dependencies on xdk
CORE-9586

svn path=/trunk/; revision=69086
2015-09-07 10:05:42 +00:00
Stefan Ginsberg 38f02bb9e7 Nothing to see here move along
svn path=/trunk/; revision=69040
2015-09-05 19:50:14 +00:00
Stefan Ginsberg 4a3db0a6c3 - Add in MSVC support for HAL .init sections by using alloc_text. MSVC support for putting the HAL pci class and vendor tables into .init is still lacking. Put into a _MINIHAL_ guard or freeldr gets REALLY sad.
- 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
2015-09-05 18:33:38 +00:00
Thomas Faber 8751ae5a8b [NTOS:WMI][HAL]
- Properly stub WmipShutdown and HalpDispatchPower to avoid IRP leaks
CORE-10105

svn path=/trunk/; revision=69013
2015-09-04 21:30:16 +00:00
Hermès Bélusca-Maïto 26b7393e00 [NTDLL][HAL][INFLIB][RTL][NTOS] VOIDify function paramater lists when they indeed don't take any arguments.
svn path=/trunk/; revision=68971
2015-09-03 23:57:39 +00:00
Stefan Ginsberg 9baf0c2a4e - Enable INIT_FUNCTION for HAL while keeping FreeLdr happy and not putting anything into .INIT when compiling mini-HAL for it.
svn path=/trunk/; revision=68962
2015-09-03 17:52:13 +00:00
Thomas Faber a6513f80af [HAL]
- Implement HalStartProfileInterrupt, HalSetProfileInterval, and HalpProfileInterruptHandler
Now kernrate works!
CORE-10066 #resolve

svn path=/trunk/; revision=68863
2015-08-29 16:45:00 +00:00
Hermès Bélusca-Maïto 7ac60d428d [HAL]: Addendum for r68856
svn path=/trunk/; revision=68857
2015-08-29 14:09:57 +00:00
Thomas Faber 96a3420464 [HAL]
- IRQ 8 belongs to the slave PIC, so send EOI appropriately
CORE-10066

svn path=/trunk/; revision=68856
2015-08-29 14:04:57 +00:00
Hermès Bélusca-Maïto f4c0c8f78c [TOOLS_BIN2C]
- 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
2015-06-24 19:54:19 +00:00
Hermès Bélusca-Maïto 1011d89eaa [TOOLS]
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
2015-06-14 18:13:50 +00:00
Christoph von Wittich 658c64a7fe [HAL]
replace ' laH' by TAG_HAL

svn path=/trunk/; revision=68105
2015-06-11 18:38:52 +00:00
Christoph von Wittich 451c233f29 [HAL]
fix a typo
add BusAddress to DPRINT

svn path=/trunk/; revision=68030
2015-06-06 08:37:53 +00:00
Timo Kreuzer 369786f126 [KERNEL32/KSECDD/GDI32/BMFD/DBGHELP/HALARM/SETUPLDR]
Fix ARM build

svn path=/trunk/; revision=67736
2015-05-14 22:32:35 +00:00
Daniel Reimer e675ab0cb6 Fixing some incorrectly written Reactos -> ReactOS
CORE-7524 #comment Some less of these now.

svn path=/trunk/; revision=67239
2015-04-18 09:01:23 +00:00
Hermès Bélusca-Maïto ca31e1569d [HALx86]: Display the invalid opcodes when HalpOpcodeInvalid is called.
svn path=/trunk/; revision=65311
2014-11-07 21:19:27 +00:00
Timo Kreuzer a841fadcaa [HAMMERTIMESTFU]
Silence "a few" DPRINTs

svn path=/trunk/; revision=65181
2014-11-02 11:30:14 +00:00
Jérôme Gardou 4e9593f906 [CMAKE]
- 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
2014-10-04 20:25:57 +00:00
Timo Kreuzer b4aecf7095 [HAL]
Fix some function prototypes and avoid real ugly casts

svn path=/trunk/; revision=64212
2014-09-21 16:00:27 +00:00
Thomas Faber a28f3fc476 [HAL]
- 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
2014-09-15 10:58:53 +00:00
Timo Kreuzer e5134bc5e0 [SPEC2DEF] Add support for ARM asm stub generation
[HALARM] Add a dummy CMakeLists.txt
[BOOTVID] Fix ARM compilation

svn path=/trunk/; revision=64039
2014-09-05 20:07:53 +00:00
Hermès Bélusca-Maïto ccce1066ef [HAL]
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
2014-09-01 16:42:58 +00:00
Cameron Gutman ef4815c35f [HAL]
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
2014-08-17 01:42:02 +00:00
Pierre Schweitzer 9c67c46e09 [HALX86]
Properly declare with FORCEINLINE

svn path=/trunk/; revision=63147
2014-05-04 09:39:44 +00:00
Amine Khaldi fa3a8297eb [HAL]
* Prepare the CMake scripts for PCH.
CORE-7716

svn path=/trunk/; revision=62109
2014-02-10 18:35:12 +00:00
Amine Khaldi 6184b165c0 [HAL]
* Add header guards to the main header.
CORE-7716

svn path=/trunk/; revision=62101
2014-02-10 16:50:32 +00:00
Amine Khaldi a69a0b3244 [HAL]
* Remove one time inclusions from the main header and put them back where they belong.
CORE-7716

svn path=/trunk/; revision=61956
2014-02-03 10:58:33 +00:00
Christoph von Wittich e9741e1328 [halx86]
fix vendor name lookup - MegaRAID SAS 8480E VGA controllers does not exist (yet)

svn path=/trunk/; revision=61620
2014-01-13 20:09:12 +00:00
Amine Khaldi b9190f50ba [HAL/*]
* Improve resource files.
CORE-7637

svn path=/trunk/; revision=61137
2013-11-28 22:27:43 +00:00
Hermès Bélusca-Maïto 8109301ade [HAL][PCIX]: Finish to put \r\n for Hal\InbvDisplayStrings. Part 3/3.
svn path=/trunk/; revision=60657
2013-10-13 23:37:11 +00:00
Amine Khaldi 67e54eab08 [HAL]
* Simplify these checks now that we have RosBE 2.1.

svn path=/trunk/; revision=60241
2013-09-20 10:26:05 +00:00
Hermès Bélusca-Maïto 32bb8a377c [HAL]
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
2013-07-21 23:03:04 +00:00
Amine Khaldi 2841da1b46 [CMAKE]
* Add some missing order only dependencies.

svn path=/trunk/; revision=59040
2013-05-19 13:43:47 +00:00
Amine Khaldi 46483ced1a [HAL]
* 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
2013-04-26 22:31:07 +00:00
Hermès Bélusca-Maïto 645b7d2b00 [REACTOS]
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
2013-04-04 20:11:17 +00:00
Timo Kreuzer 0351bb4f27 [HAL]
Link to libgcc, hopefully fixes build for Pierre

svn path=/trunk/; revision=58602
2013-03-24 13:27:52 +00:00
Timo Kreuzer e66df55a54 [HAL]
Fix the mess that was our hal CMakeLists.txt. Seperate all components into their own cmake files, 

svn path=/trunk/; revision=58594
2013-03-23 21:15:28 +00:00
Hermès Bélusca-Maïto d0fa874320 Remove the unneeded $Id$ blabla from the source code. (Part 2/N)
svn path=/trunk/; revision=58500
2013-03-14 21:04:13 +00:00