Commit graph

23919 commits

Author SHA1 Message Date
Martin Fuchs 81557f635c update XMLStorage:
- optional CDATA embedding by set_content()
- fix for handling in XML parser

svn path=/trunk/; revision=25652
2007-01-27 20:55:22 +00:00
Johannes Anderwald 281da1dd05 - diff2wine
svn path=/trunk/; revision=25651
2007-01-27 18:21:10 +00:00
Johannes Anderwald 9e0537881f - move wine includes to precomp.h
- this enables compiling nearly all (printdlg has some issues) of comdlg32 with msvc (first include all standard headers and then include the wine compability headers)

svn path=/trunk/; revision=25650
2007-01-27 17:52:03 +00:00
Eric Kohl da3a838762 set properties
svn path=/trunk/; revision=25649
2007-01-27 14:53:18 +00:00
Thomas Bluemel d0e23d4854 Make RtlEqualPrefixSid portable
svn path=/trunk/; revision=25648
2007-01-27 14:06:01 +00:00
Magnus Olsen 4fa1eded47 fixing comping error adding a new line to cacls.c
svn path=/branches/ros-branch-0_3_1/; revision=25647
2007-01-27 12:34:15 +00:00
Dominique Cote 16112941ac Added function FsRtlGetFileSize()
Added function FsRtlMdlRead() (mostly Alex's reviewed)

svn path=/trunk/; revision=25646
2007-01-27 05:26:30 +00:00
Johannes Anderwald b6fe08489d - wrap include_next in macro (msvc doesnot understand this)
svn path=/trunk/; revision=25644
2007-01-26 23:17:02 +00:00
Sylvain Petreolle 31bba229dc merge 25562
svn path=/branches/ros-branch-0_3_1/; revision=25643
2007-01-26 22:31:55 +00:00
James Tabor 2dc167ecee Fix warning.
svn path=/trunk/; revision=25642
2007-01-26 22:28:47 +00:00
Sylvain Petreolle eb33cecb2c merge 25640
svn path=/branches/ros-branch-0_3_1/; revision=25641
2007-01-26 22:17:44 +00:00
Sylvain Petreolle c8d34de940 uninitialized variable fix
svn path=/trunk/; revision=25640
2007-01-26 22:00:03 +00:00
Alex Ionescu 594d924eaa - Enable NT Scheduler.
- The good:
  - Fixes hangs/freezes in trunk
  - No matter how sluggish the system got, I was able to move the mouse and other apps were still responsive even though one app was hogging the CPU.
  - Balancer thread activates and does its job of preventing deadlocks.
  - The code was heavily tested and some of it is based off direct pseudo-code from NT's very own kernel (legally obtained from Windows Internals II slides) as well as Windows Internals 4th.
The bad:
  - Explorer takes 30 seconds to load, after that all is fine though.
  - First-stage installer asserts at 18% in Mm instead of lagging like previously.
  - Various other Mm crashes related to the above ^^.
- Please help out to fix/figure out the Mm crashes! It would be much appreciated, otherwise, in a week, we will revert this patch as well as the patch that caused the hangs/freezes.

svn path=/trunk/; revision=25639
2007-01-26 20:54:30 +00:00
Johannes Anderwald 528e8fe9ec - fix some warnings
- define _ACLUI_

svn path=/trunk/; revision=25638
2007-01-26 19:44:42 +00:00
Johannes Anderwald 96401084ac - remove stdcall convention
svn path=/trunk/; revision=25637
2007-01-26 18:45:29 +00:00
Johannes Anderwald 120ffca3ec - winsock2.h needs to be included before windows.h (msvc)
svn path=/trunk/; revision=25636
2007-01-26 18:43:14 +00:00
Johannes Anderwald 756a324443 - update ukrainian translation by Artem Reznikov temarez {AT} yandex (DOT) [RU]
See issue #1723 for more details.

svn path=/trunk/; revision=25635
2007-01-26 18:42:05 +00:00
Aleksey Bragin d1beb35b7d Fix compile (debug information is removed from Spare[2], but noone uses it).
svn path=/trunk/; revision=25634
2007-01-26 10:07:26 +00:00
Alex Ionescu 35c5b063fd - Fix definition of RTL_CRITICAL_SECTION_DEBUG.
- Fix all MSVC warnings in kernel32.
- Re-enable PCH.
- Disable Rtl*CondVar calls, since we can't target Vista *AND* 2003 due to linker problems. We'll need a way to create multiple DLL versions if we're going to attempt this.
- Make ASSERTs always valid in kernel32 as long as DBG is set.
- Fix Windows-loading hack, it seems there's only two levels of SEH. Eitherways, I think I've found a cleaner way to make it load nicely, so this hack will go away soon.

svn path=/trunk/; revision=25633
2007-01-26 07:22:19 +00:00
Alex Ionescu 32a29de195 - Multiple fixes to ERESOURCE implementation.
svn path=/trunk/; revision=25632
2007-01-25 23:48:48 +00:00
Alex Ionescu c4f9542125 - Clean up kernel32\thread.c and fix some bugs.
- Implement KeSetDisableBoostThread.
- Temporarily disable SEH/validation in NtQuery/SetProcess/ThreadInformation routines since it was making all calls fail.
- Fix bugs when using ThreadPriority, ThreadBasePriority, ThreadAffinityMask. Parameters are now validated properly, and affinity masked with the process.
- Implement ThreadSetIdealProcessor and ThreadPriorityBoost case.
- Implement ThreadZeroTlsCell case. TLS should now work properly.
- Make kernel32_winetest for threads usable.
- Update Kernel Fun.

svn path=/trunk/; revision=25631
2007-01-25 22:39:32 +00:00
Alex Ionescu 91d26f3e23 - Implement the balance set manager. Doesn't do much for now except start up the thread queue scanner.
- Implement the thread queue scanner, but disable most of it for now, since we're not using the new scheduler.

svn path=/trunk/; revision=25630
2007-01-25 18:48:56 +00:00
Alex Ionescu 819a0ed90a - Use WinXP style /SOS output when enabled. (TODO: Display banner/memory/cpu).
- Make more init functions return TRUE/FALSE and bugcheck the system if they failed.
- Add more progress bar update calls.
- Merge MmInit2 and MmInit3 into MmInitSystem with different phase calls.
- Clear KeLoaderBlock after drivers have been loaded.
- Update kernel fun.
- Update symbolic names of certain strings in ntoskrnl.mc. Use WINDOWS_NT... instead of REACTOS because these names are documented and should be kept for cross-code compatibility.

svn path=/trunk/; revision=25629
2007-01-25 17:51:45 +00:00
Sylvain Petreolle bbf7047df5 compile intl_new using its includes, not intl's ones
svn path=/trunk/; revision=25628
2007-01-25 15:06:10 +00:00
Magnus Olsen 267904be80 revers r25623
Acdring to Sylvain Petreolle, spetreolle at yahoo.fr this is copy paste from windows xp cpl, it is not allown todo a copy paste of sentence from windows xp, he did compare it. 

svn path=/trunk/; revision=25627
2007-01-25 10:15:19 +00:00
Alex Ionescu 92208d72a8 - Implement KeUpdateSystemTime properly, it now saves and returns the old time, supports HAL time, as well as loops the timer list to fixup relative timers and expired timers after the time has changed.
- Replace mm failure detection code by dprint + while loop to avoid bugchecks which might make the error worse to see.
- Remove some deprecated code/functions and cleanup clock.c entirely.

svn path=/trunk/; revision=25626
2007-01-25 05:14:55 +00:00
Alex Ionescu 2691e0994a - Implement ObQueryTypeInfo and link it to NtQueryObject.
- Fix a bug in ObQueryNameInfo.
See issue #1993 for more details.

svn path=/trunk/; revision=25625
2007-01-25 01:50:40 +00:00
Alex Ionescu bdc7f65b2d - Rename KiSetSystemTime to KeSetSystemTime and enhance prototype for later use.
- Create Phase 1 initialization for the SRM (SeInitSystem). Right now it inserts the system boot token into object manager, which is something we forgot to do before.
- Renamed ExPhase2Init to Phase1Initialization, since it's not Phase 2.
- Updated Phase 1 PS Initialization to get the KeLoaderBlock pointer and use it as a context parameter when calling Phase1Initialization.
- Split off Phase1Initialization into Phase1InitializationDiscard, which is the bulk of the phase 1 code (99% of it) and can be put in an .INIT section to be freed after boot.
- Modify parts of the Inbv setup code. Also implement support for /SOS, and try to mimic its behaviour on NT (not fully achieved). You will need /SOS to see boot messages on the screen! FreeLDR now adds this by default to the "Debug "configuration.
- Temporarily disable ReactOS Banner during boot. We will get this data from the .mc/.res file in a later patch instead of hard-coding it.
- Optimize calling and usage of ExpLoadInitialProcess.
- Add support for Y2K bug fix documented for Windows NT (/YEAR).
- Add support to detect WinPE/MiniNT/ReactOS Live CD.
- Add temporary debugging code to MmInit2 and some Mm functions to detect if these functions are being used too early, which could result in catastrophic to subtle bugs.
- Add more bugchecks when failures occur, and enhance others. Also add more codes to ntoskrnl.mc.
- Disable calls to ObfDereferenceDeviceMap since it's not yet implemented.

svn path=/trunk/; revision=25624
2007-01-25 01:13:09 +00:00
Johannes Anderwald 3f65c90a12 - set svn eol-properties
- update translation by Heis Spiter heis underscore spiter at hotmail dot c o m
See issue #2000 for more details.

svn path=/trunk/; revision=25623
2007-01-24 20:27:50 +00:00
Alex Ionescu ddcd40d53c - Fix a bug, fix breakage from previous revision.
svn path=/trunk/; revision=25622
2007-01-24 19:54:51 +00:00
Alex Ionescu c307d73c12 - Fix ExInitPoolLookasidePointers and ExpInitailizeLookasideLists.
- Implement DbgLoadImageSymbols, Implement DebugService, and ExpLoadBootSymbols during phase 0 executive init to make KD load the symbols for all the boot drivers, and optionally breakpoint. Not yet useful since we don't have KD.
- Detect /BURNMEM and /PERFMEM and go all the way to determining the pages required, but warn the user that we don't support these flags yet.
- Detect FLG_KERNEL_STACK_TRACE_DB and FLG_ENABLE_EXCEPTION_LOGGING and warn that we don't support these yet.
- Add call to Cm to setup system variables, but disable until cm rewrite.
- Add PnP Manager initialization call and implement PnP Manager Phase 0 initialization (PiInitPhase0, PpInitializeDeviceReferenceTable), but this isn't used for now.
- Move MmInit2 to Phase 1 initialization, and initailize bootvid there as well.
- Add/Fix missing definitions, prototypes to NDK/NTIFS.

svn path=/trunk/; revision=25621
2007-01-24 19:48:34 +00:00
KJK::Hyperion 0e1ec5f828 * __cpuid, __rdtsc, __readmsr, __readpmc, __writemsr, __wbinvd, __readcr0, __readcr2, __readcr3, __readcr4: show me a fan of the extended inline asm syntax and I'll show you a SPARKLING FIST OF BURNING RAGE. Sprinkled __volatile__ liberally because there is no way to say "has side effects" OR "delete if outputs are ignored", only BOTH or NEITHER. This breaks Visual C++ compatibility ever so subtly. Tread carefully. THANK YOU GCC TEAM for keeping things interesting!
* __writemsr: pass 64-bit value with "A" constraint
 * __writecr0, __writecr3, __writecr4: "memory" clobber becase Visual C++ does, too

svn path=/trunk/; revision=25620
2007-01-24 19:07:19 +00:00
KJK::Hyperion d9a9b8a705 * __ll_lshift, __ll_rshift, __ull_rshift: fixed handling of 64-bit arguments and return values by forcing them to be passed as EDX:EAX. Finally generates decent code
* updated comments to reflect current state of the code

svn path=/trunk/; revision=25619
2007-01-24 18:01:34 +00:00
Sylvain Petreolle 2bf5cb7c4f add french resources
fix typos

svn path=/trunk/; revision=25618
2007-01-24 17:45:26 +00:00
KJK::Hyperion 9c1f53ca78 * _ReadBarrier, _WriteBarrier: defined as aliases for _ReadWriteBarrier. Alas
* __emul, __emulu: fixed to specify instruction length suffix
 * __rdtsc: removed "__volatile__" attribute from the inline asm. Hyperion recommends you fix your goddamn code instead
 * __emul, __emulu, __rdtsc, __readmsr, __readpmc: return 64-bit values with the "=A" constraint instead of horrible kludge

svn path=/trunk/; revision=25617
2007-01-24 16:53:44 +00:00
Ged Murphy f9d9392872 merge r25600
svn path=/branches/ros-branch-0_3_1/; revision=25616
2007-01-24 15:26:51 +00:00
Ged Murphy 2ec1b8df07 merge new icon/cursor selection code, cursors and radio button drawing code from head
svn path=/branches/ros-branch-0_3_1/; revision=25615
2007-01-24 15:25:43 +00:00
Aleksey Bragin a3ad85c5a5 - Merge 25572 (except the NTLPC related part), this fixes VMWare detection.
- Merge a small part of 25501 ("Fix the KiMask32Array").

svn path=/branches/ros-branch-0_3_1/; revision=25614
2007-01-24 12:14:04 +00:00
Aleksey Bragin 1425102068 Merge 25473.
svn path=/branches/ros-branch-0_3_1/; revision=25613
2007-01-24 11:50:03 +00:00
Aleksey Bragin a910887fdf - Merge a couple of small bugfixes from 25461 (smss and csrss related)
- Merge 25472

svn path=/branches/ros-branch-0_3_1/; revision=25612
2007-01-24 10:52:55 +00:00
Alex Ionescu f1e71db26d - Rewrite kernel timer implementation to use Windows 2003's hash-based table timer model. Extremely scalable, since each timer list has its own lock, and optimized for speed since timers are hashed with the tick count at each update (timer.c).
- Implement a new timer expiration function which takes advantage of the fact that timers are now hashed with the system tickcount, and thus only parses the "hot" lists (dpc.c).
- Detect timer expiration during KeUpdateSystemTime and edit the KPRCB to notify of timer expiration. This will be picked up by the timer expiration DPC (clock.s).
- Add support for new timer code in dispatcher (wait.c, queue.c, ke_x.h).
- Change system startup to support the new timer DPC/list (krnlinit.c, clock.c).
- Remove corresponding entry from kernel fun, and update the guidance plan with recent successes and setbacks. This patch is likely the last big architectural change in the kernel except for enabling the new scheduler at a later time.

svn path=/trunk/; revision=25611
2007-01-24 06:50:28 +00:00
Alex Ionescu 991fe7200a - Fix a bug in NtSetTimer which was causing us to completely disregard the due time.
- kmtest now reports 0 failures for the extimer regression test.

svn path=/trunk/; revision=25610
2007-01-24 04:46:31 +00:00
Dominique Cote dd98a989eb Added test calls for function FsRtlMdlReadDev() and FsRtlMdlReadCompleteDev()
svn path=/trunk/; revision=25609
2007-01-23 23:12:32 +00:00
Alex Ionescu 2ef08cc69b - Fix reference count bugs in executive timer implementation.
- Don't modify status when failing due to an access fault (NT doesn't!).
- Do parameter checks before bothering with expensive SEHing.

svn path=/trunk/; revision=25608
2007-01-23 23:10:13 +00:00
Alex Ionescu 36433ba5ec - Fix some warnings.
- Rearrange some code.
- Remove useless/deprecated code.

svn path=/trunk/; revision=25607
2007-01-23 22:46:38 +00:00
Christoph von Wittich 4fc7465a8f replace _sleep with Sleep to fix the gcc 4.x build
svn path=/trunk/; revision=25606
2007-01-23 21:48:31 +00:00
Alex Ionescu 5c2e4f088a - Convert KxDelayThreadWait, KxSingleThreadWait, KxMultiThreadWait into macros.
- Add KxQueueThreadWait macro based on previous ones.
- Add KxSetTimerForThreadWait to initialize the timer during the macros above. Wait timer setup is now done in two phases, which will be required with the new timer code anyway.
- Remove IRQL hack from idle loop when delivering DPCs.
- Make the wait code use the new macros and make it scale better.
- Add some missing definitions to asm.h

svn path=/trunk/; revision=25605
2007-01-23 18:39:47 +00:00
KJK::Hyperion 85ffdc2193 Fixed:
- _ReadWriteBarrier
 - _InterlockedCompareExchange8
 - _InterlockedCompareExchange16
 - _InterlockedCompareExchange
 - _InterlockedCompareExchange64
 - _InterlockedCompareExchangePointer
 - _InterlockedExchange
 - _InterlockedExchangePointer
 - _InterlockedExchangeAdd
 - _interlockedbittestandset
 - _interlockedbittestandreset

This commit dedicated to Alex (sup Alex!)

svn path=/trunk/; revision=25604
2007-01-23 18:26:51 +00:00
Aleksey Bragin 12e90157e6 Alexey Zavyalov: Add functionally Numbers, Currency, Time, Date tabs. Fix some bugs.
See issue #1988 for more details.

svn path=/trunk/; revision=25603
2007-01-23 17:59:36 +00:00
Alex Ionescu 89056c2f7a - Fix MSVC breakage caused by recent modifications of cctypes.h.
- Remove structures from ntifs.h that shouldn't be there.
- Add support for optimized detection of a DOS device path \?? or \??\ and implement it into ObpLookupObjectName.
- Add support for proper re-parsing up to a maximum of 30 times to avoid reparse DOS attacks on the kernel.
- Set WIN32_WINNT version to Windows 2003 SP1.

svn path=/trunk/; revision=25602
2007-01-22 22:16:13 +00:00