Commit Graph

6421 Commits

Author SHA1 Message Date
Thomas Bluemel
4e4647e514 Fix using a pointer to a temporary variable outside it's scope in RtlCreateUserProcess
svn path=/trunk/; revision=24849
2006-11-27 14:26:48 +00:00
Thomas Bluemel
eb04d1528e - Correct definition of DbgPrompt
- Add definitions for the CSTRING structure

svn path=/trunk/; revision=24791
2006-11-19 21:14:49 +00:00
Aleksey Bragin
0cd52c45f5 Add a typecast to remove a warning
svn path=/trunk/; revision=24785
2006-11-19 20:06:44 +00:00
Johannes Anderwald
54b8308c2b - fix prototype
svn path=/trunk/; revision=24783
2006-11-19 19:43:54 +00:00
Alex Ionescu
596c3bee62 - Reorganize HAL exports and export KeTRyToAcquireQueuedSpinlock and KeTryToAcquireQueuedSpinLockRaisetoSynch.
- Add stub for HalSetTimeIncrement.
- Cleanup CMOS-related routines (Get/Set environment value and get/set RTC). Fixup some prototypes as well. Inline HalpReadCmos/HalpWriteCmos instead of having a separate function.
- Fixup wrong protypes for various Queued Spinlock functions.
- Use __rdtsc intrinsic instead of Ke386RdTsc.
- Other MSVC compilation fixes.

svn path=/trunk/; revision=24770
2006-11-16 17:30:52 +00:00
Alex Ionescu
0cb9e0fd78 - Purposefully add 6 debug prints to RtlpGetRegistryHandle, which, while ndis.sys is initializing, should BSOD the system. I have seen this "RtlpGetRegistryHandle" BSOD randomly during boot (But always with the same stack trace), and a local HAL patch managed to cause it 100% of the time. I know that the problem had nothing to do with the HAL or registry paths, because it came up before too when I added debug prints to fstub. These 6 prints 100% reproduce the problem on my machine with GCC 3.4.5. It is my hope it will do the same for everyone. This is a nasty bug, either stack related or some critical structure is being damaged. I am breaking trunk because it's been here for a long time, but now I found a way to repro it so that we can work together to try finding it. In a way, trunk was always broken, but this patch should force a freeze. Please help.
svn path=/trunk/; revision=24767
2006-11-16 07:09:37 +00:00
Alex Ionescu
03d84cb508 - Move out SEH-support routines from ntoskrnl/rtl to lib/rtl
- Re-implement the routines in intel syntax and also cleanup the formatting.
- Also re-implement the way the routines work, by following Matt Pietrek's c code that he wrote in one of his articles after looking at the disassembly.
- Also used a patch for mingw found on Google which contained some implementations in C.
- New changes mostly add protection during unwinding, faster speed, and add implementations for __except_handler2 and _abnormal_termination which were not previously present.

svn path=/trunk/; revision=24736
2006-11-12 22:43:43 +00:00
Johannes Anderwald
534b73b00f - revert part of 24701 as requested on ml
"It's plain wrong to set eol-style:native for files of type .dsp, *.dsw, *.vcproj, *.sln and some other files like chinese resource scripts"

svn path=/trunk/; revision=24705
2006-11-09 06:58:56 +00:00
Johannes Anderwald
9b71253be1 set most of trunk svn property eol-style:native
svn path=/trunk/; revision=24701
2006-11-08 11:47:44 +00:00
Alex Ionescu
fb3a3c8a7f - Fix boot.
- Fix GUI boot (bootvid).
- Fix cmlib bug.

svn path=/trunk/; revision=24684
2006-11-05 20:28:59 +00:00
Alex Ionescu
1a98439492 - SMSS: Send QOS structure when creating new ports, it's not optional on NT LPC. Send maximum port length when creating new ports, it's not optional on NT LPC. Create 2 listening threads on NTLPC, instead of just one. [AUDIT: Unlock smlib, it's fully internal and specific to ROS without any relationship to NT. The author used clean-room tests and documentation].
- Fix various LPC structures in the NDK. Fix some prototypes too.
- Don't export PEPORT or PLPCP_PORT_OBJECT outside of /lpc and use PVOID isntead.
- Add a new RBUILD setting called NTLPC, which enables NTLPC when turned on.

svn path=/trunk/; revision=24664
2006-10-30 14:17:37 +00:00
Thomas Bluemel
c4f8255e95 Remove the no longer used kjs library
svn path=/trunk/; revision=24592
2006-10-21 16:00:44 +00:00
Thomas Bluemel
cc6eeaab94 Fix gcc4 warning (thx to Herve)
svn path=/trunk/; revision=24566
2006-10-18 21:35:18 +00:00
Thomas Bluemel
9d10081480 Fixed usage of uninitialized variable warning
svn path=/trunk/; revision=24549
2006-10-16 15:55:33 +00:00
Alex Ionescu
f9a7faa6e5 - Implement RtlGetElementGenericTable using ordered node/element.
- The splay tree generic table package is now complete. (The AVL package was done by Art earlier).

svn path=/trunk/; revision=24546
2006-10-16 04:08:09 +00:00
Alex Ionescu
a18f3458b2 - Fix GCC compile bug.
svn path=/trunk/; revision=24545
2006-10-16 03:53:48 +00:00
Alex Ionescu
d403bc14c4 - Create "AVL FUNCTIONS" section tag.
- Implement RtlENumerateGEnericTableWithoutSplaying.

svn path=/trunk/; revision=24544
2006-10-16 03:51:49 +00:00
Alex Ionescu
cac3dc3812 - Implement RtlLookupElementGenericTableFull.
- Implement RtlEnumerateGenericTable.

svn path=/trunk/; revision=24543
2006-10-16 03:47:47 +00:00
Alex Ionescu
cef2ebcee2 - Implement RtlIsGenericTableEmpty, RtlNumberGenericTableElements.
- Implement RtlLookupElementGenericTable.
- Implement RtlDeleteElementGenericTable

svn path=/trunk/; revision=24542
2006-10-16 03:39:49 +00:00
Alex Ionescu
dbb8a15d7c - Added some generic table routines to rtlfuncs.h so that they can be used in user-mode.
- Implemented RtlInsertElementGenericTable and RtlInsertElementGenericTableFull (Splay-Tree versions). Also implemented a helper function RtlpFindGenericTableNodeOrParent when we're not given one and need to locate it manually.
- Defined structure for generic table entries so that we can properly return user data and do the right allocations.

svn path=/trunk/; revision=24541
2006-10-16 03:19:14 +00:00
Alex Ionescu
693525bd5a - Organize file by AVL/Splay routines.
- Add RtlLookupFirstMatchingElementGenericTableAvl stub.
- Fixup some formatting/tag spacing and prototype definitions.

svn path=/trunk/; revision=24540
2006-10-16 02:49:23 +00:00
Alex Ionescu
d280d7f5a7 - Fix a bug in FreeLdr key creation (patch by Filip Navara).
- Make cmlib use the StorageTypeCount value since my new Cm code needs it.

svn path=/trunk/; revision=24538
2006-10-16 02:04:09 +00:00
Thomas Bluemel
ef9ac412e7 Implemented AddMandatoryAce
svn path=/trunk/; revision=24526
2006-10-15 16:52:25 +00:00
Art Yerkes
789a033291 Fixed avl tree completely.
- We can't use the builtin node as a sentinel in exactly the same way as used
in the austin lib, so we account for that by treating the builtin node like
nil a few places.

svn path=/trunk/; revision=24510
2006-10-14 17:29:41 +00:00
Art Yerkes
a8e91f11af Fixen. Delete is still broken.
We now use BalancedRoot->Parent as the nil element and distinguish it from
the embedded element.
Fix null and root macros, assert macro and some other stuff.

svn path=/trunk/; revision=24495
2006-10-13 07:02:04 +00:00
Art Yerkes
79e9d9d8aa Added 'austin' AVL implementation and provide a binding for the AVL functions
in generictable.

Not tested, (but nothing relies on it yet).

Austin is
 Copyright (C) 2000 Kaz Kylheku <kaz@ashi.footprints.net>
 Copyright (C) 2000 Carl van Tast <vanTast@netway.at>

Copying, reuse and modification are permitted on liberal terms.

svn path=/trunk/; revision=24482
2006-10-10 12:31:16 +00:00
Thomas Bluemel
8a80403d2a Some portability fixes that address possible alignment issues. Read R. Chen's blog 10/06/06 for more information.
svn path=/trunk/; revision=24472
2006-10-09 15:09:50 +00:00
Aleksey Bragin
b6df2387ba Fix mkhive compiling by adding _NTSYSTEM_ define. This is needed after Thomas' fixes to headers.
svn path=/trunk/; revision=24466
2006-10-09 08:07:19 +00:00
Thomas Bluemel
73c2dc5053 Some header fixes
svn path=/trunk/; revision=24454
2006-10-08 20:28:03 +00:00
Alex Ionescu
9088db842e - Stub LdrVerifyMappedImageMatchesChecksum.
- Separate locating the system DLL from initializing it.
- Implement split-phase PsInitSystem for Phase 0 and 1, and make system dll initialization as part of phase 1.
- Add MmVerifyImageIsOkForMpUse and MmCheckSystemImage to validate the system DLL.
- Add a separate bugcheck for each failure in PsLocateSystemDll, matching with the NT bugchecks that would occur.

svn path=/trunk/; revision=24437
2006-10-08 02:10:34 +00:00
Alex Ionescu
9bfa61479f - Add PROFILE_ACPI_DOCKING_STATE.
- Fix HvInitialize definition to match more closely NT's since I need some of the extra parameters for the cm rewrite.
- Implement ExInitializePushLock and ExConvertPushLockSharedToExclusive macros.

svn path=/trunk/; revision=24426
2006-10-06 19:29:25 +00:00
Alex Ionescu
45d84c9668 - Guard some current cmlib includes against new cm branch
- Remove NTSYSAPI from NtBuildNumber definition in NDK.

svn path=/trunk/; revision=24416
2006-10-05 23:01:38 +00:00
Thomas Bluemel
48236aa642 Don't compile with -Wconversion since we have function callbacks that have parameters with sizes different from int without forward declarations. Fixes superfluous warnings.
svn path=/trunk/; revision=24394
2006-10-04 15:19:23 +00:00
Thomas Bluemel
87099f3ca6 Move the memory in RtlpDeleteData instead of copying it because the source and destination may be overlapping.
svn path=/trunk/; revision=24282
2006-09-27 12:28:25 +00:00
Alex Ionescu
54403619f8 - In some far, far away galaxy, a long, long time ago, Greatlord will learn to fix 1-line bugs and/or talk to the developers responsible instead of reverting their code...until then....
svn path=/trunk/; revision=24276
2006-09-26 05:29:46 +00:00
Magnus Olsen
7a0843f8af fixed overlaping memory problem with RtlMoveMemory. The rewrite of RtlMoveMemory did not handling overlaping memory. it shows with ntdll_winetest rtl, use the old asm version from the string.a instead
svn path=/trunk/; revision=24273
2006-09-25 23:46:32 +00:00
Magnus Olsen
b3f30cb100 restore files mem.c and memgen.c
restore no i386 arch define in rbuild
do not remove it, it is for build on no i386 platform
the was accident delete in r23830 

svn path=/trunk/; revision=24272
2006-09-25 23:26:08 +00:00
Magnus Olsen
230edc01b6 merges ros-branch-0_3_1 r24226 to trunk with arty permission. "ARP query support. Thanks to WaxDragon for encouragement and debugging."
svn path=/trunk/; revision=24227
2006-09-22 08:10:11 +00:00
Alex Ionescu
3e709fbbd9 - Fix some insidious bugs in exception handling, mostly related to the art of unwinding (RtlUnwind).
- Can't name specifics, but probably fixes multiple SEH/application bugs/regressions since about 6-8 months ago. Fixes my personal SEH test from 22 failures/crashes/BSODs to 22 succeesses...
- Also fixes some crashes in kernel-kqemu mode.

svn path=/trunk/; revision=24178
2006-09-17 21:09:10 +00:00
Alex Ionescu
23dc37d575 - Cleanup except_asm.s and add .func/.endfunc and fix some double definitions.
svn path=/trunk/; revision=24174
2006-09-17 18:44:52 +00:00
Alex Ionescu
b820ec4930 - Fix a bug in KeRaiseUserExceptionDispatcher which was causing us not to set the Exception Address (EIP) in the EH record.
- Fix a terrible stack corruption bug in KeRaiseUserExceptionDispatcher which was causing us to eventually fuck up the stack in user mode (0x14 bytes instead of 0x50 bytes were reserved).
- Protect User-mode Callbacks with SEH, and use STATUS_POP_CALLBACK_STACK.
- Fix another nasty stack corruption bug in user-mode APC delivery.
- Protect User-mode APC delivery with SEH.
- Fix SEH handlers to return EXCEPTION_EXECUTE_HANDLER isntead of ExceptionContinueSearch.

svn path=/trunk/; revision=24173
2006-09-17 17:31:52 +00:00
Hervé Poussineau
dfda3eceff Fix "normal" formatting, by removing differences between quick and normal formatting.
Normal formatting is quick formatting + fill sectors with 0 (not done yet)

svn path=/trunk/; revision=24136
2006-09-15 17:04:18 +00:00
Aleksey Bragin
ee7e88e8ec Add missing "NTAPI"
svn path=/trunk/; revision=24132
2006-09-15 16:01:50 +00:00
Aleksey Bragin
efcc4447c1 Reapply fixed half of 24020 (relocation update in rtl). Tested on vmware and real hardware.
svn path=/trunk/; revision=24112
2006-09-14 16:37:05 +00:00
Hervé Poussineau
fec5904b50 [AUDIT] This file only include other files, so it can't be dirty.
Additionally, define GUID_DEVICE_SYS_BUTTON

svn path=/trunk/; revision=24081
2006-09-12 15:19:17 +00:00
Alex Ionescu
978da5c0af - Revert 24020 (good code, but buggy) and 24041 (bad code/revision).
- This gets us as far as 24061(+24048) for booting.

svn path=/trunk/; revision=24078
2006-09-12 05:21:27 +00:00
Aleksey Bragin
4e03e0ec4a Those two #ifdefs were wrong on my setup (straightforward RosBE 3.4.2, and also updated to 3.4.4). So:
1. Removed the stricmp guard
2. Added a #ifdef->#undef solution

If this break compilation on linux or on gcc 4 on win32 (very low probability, if any), let's think further.

svn path=/trunk/; revision=24076
2006-09-11 21:40:50 +00:00
Hervé Poussineau
07dc58982f We want to support hives version 1.3+ (up to 1.5 currently). Fix test accordingly
svn path=/trunk/; revision=24067
2006-09-11 11:28:54 +00:00
Hervé Poussineau
7b79f44d6b Better handling of REG_LINK values
Try to fix Linux build (thanks Usurp on IRC)

svn path=/trunk/; revision=24066
2006-09-11 11:04:33 +00:00
Thomas Bluemel
ac14f5a033 Fix LdrRelocateImageWithBias prototype: Strings in C are neither signed nor unsigned, and they are constants. Fixes warnings with GCC4
svn path=/trunk/; revision=24036
2006-09-10 17:16:59 +00:00