Commit graph

31487 commits

Author SHA1 Message Date
Aleksey Bragin 39f888f2b3 Yuriy Sidorov <jura@cp-lab.com>
- Speed-up user mode exception handling by calling RtlDispatchException() first if there is no active user mode debugger. This avoids switches to kernel mode if exception can be handled by SEH.
See issue #3485 for more details.

svn path=/trunk/; revision=34521
2008-07-15 13:32:18 +00:00
Aleksey Bragin f8f3b78fce Stefan Ginsberg <stefan__100__@hotmail.com>
- Remove a hack in the executive handle implementation, which worked around a memory corruption bug. Revision 32770 should have fixed the bug hidden by this hack.
See issue #3512 for more details.

svn path=/trunk/; revision=34520
2008-07-15 13:20:38 +00:00
Matthias Kupfer 439d1715c8 Maciej Bialas <bjauy AT tlen DOT pl>
- Updated polish version of dll/cpl/usrmgr
- See issue #3480 for more details.

svn path=/trunk/; revision=34516
2008-07-15 08:21:27 +00:00
Matthias Kupfer c4c2d12ac8 Mario Kacmar <kario AT szm DOT sk>
- Slovak translation of several inf-files
- See #3518 for more details.

svn path=/trunk/; revision=34515
2008-07-15 08:10:44 +00:00
Timo Kreuzer 1c8355690a IntRectangle:
- use coordinate transformation
- if transform is not diagonal, call IntGdiPolygon
IntRectangle/IntGdiPolygon:
- use special locking order to avoid lockups
- don't unlock objects that weren't locked
IntGdiPie:
- if transform is cheese, call IntGdiCheeseCake

svn path=/trunk/; revision=34514
2008-07-15 02:06:38 +00:00
Matthias Kupfer bed178cdf7 - Fixes country codes.
- See issue #3488 for more details.

svn path=/trunk/; revision=34513
2008-07-14 22:55:37 +00:00
Matthias Kupfer 5af61d07aa - fix some wrong country codes
- fix minor typo in German translation

svn path=/trunk/; revision=34511
2008-07-14 22:41:54 +00:00
Aleksey Bragin 0a109d92ea - Remove special ReactOS-specific PUSHORT GDT pointer (usual PKGDTENTRY works good enough now), spotted by Stefan Ginsberg.
svn path=/trunk/; revision=34508
2008-07-14 21:24:13 +00:00
Jeffrey Morlan c4a306e3f7 When duplicating a handle to a child process, only pass the actual attributes to ObpIncrementHandleCount. Spurious attributes from the object pointer were making this call fail randomly.
svn path=/trunk/; revision=34507
2008-07-14 17:42:22 +00:00
Matthias Kupfer a84f8fec2c - change svn:eol-style to LF for compatibility
- fix a problem in cpu.inf

svn path=/trunk/; revision=34506
2008-07-14 16:30:18 +00:00
Colin Finck 2951bb310c Replace uses of $(ROS_ARCH) by $(ARCH).
$(ROS_ARCH) will only work if an environment variable with the same name is set. But its value and the default value (if none was given) is stored in $(ARCH).

svn path=/trunk/; revision=34505
2008-07-14 13:06:52 +00:00
Colin Finck f400d4255f Attempt to fix Live-CD
svn path=/trunk/; revision=34504
2008-07-14 12:50:39 +00:00
Matthias Kupfer e37473874f Mario Kacmar <kario AT szm DOT sk>
- Slovak translation patch for cpu.inf and cdrom.inf
- See #3518 for more details.

svn path=/trunk/; revision=34503
2008-07-14 10:23:39 +00:00
Daniel Reimer ef31815a6a Bug 3505: Simplified Chinese Translation Patch by Zhangbing. I skipped Wordpad, because we sync this with Wine and skipped appwiz, because it fails to build.
svn path=/trunk/; revision=34501
2008-07-14 09:26:38 +00:00
James Tabor 0d418ab140 Fix boot and leave the code for research.
svn path=/trunk/; revision=34499
2008-07-14 07:39:58 +00:00
James Tabor c66063fbaa Added WH_GETMESSAGE support.
svn path=/trunk/; revision=34498
2008-07-14 07:26:13 +00:00
ReactOS Portable Systems Group 4c46f5b78e - Get rid of stubs.c, it's empty now.
svn path=/trunk/; revision=34497
2008-07-14 03:51:35 +00:00
ReactOS Portable Systems Group a4346dc05e - Implement NtSetLdrEntries, NtVdmControl, KeSaveStateForHibernate, KeQueryActiveProcessors, KeSetDmaIoCoherency, KeFlushEntireTb, KeGetRecommendedSharedDataAlignment, KeDisableInterrupts, KeInvalidateAllCaches, KeIcacheFlushCount and remove them from stubs_asm.S
svn path=/trunk/; revision=34496
2008-07-14 03:50:38 +00:00
ReactOS Portable Systems Group 4a8378a9d2 - Fix exports
svn path=/trunk/; revision=34495
2008-07-14 03:36:40 +00:00
ReactOS Portable Systems Group 26fa849ea0 - Re-organize our unimplemented function stubs according to port targets (user mode support, exceptions/SEH, driver ISRs, x86-only functionality and arch-specific Ke).
svn path=/trunk/; revision=34494
2008-07-14 03:34:07 +00:00
ReactOS Portable Systems Group 5b41066b9e - Remove this DPRINT1 too, it was used for debugging scheduling issues which are fixed now.
svn path=/trunk/; revision=34493
2008-07-14 03:20:40 +00:00
ReactOS Portable Systems Group 758134fc03 - Remove the 5-second delay in the initialization code, we've validated this works now.
svn path=/trunk/; revision=34492
2008-07-14 03:19:12 +00:00
ReactOS Portable Systems Group 69b3a4581d - Enable timer expiration code.
- Timers now work, along with full scheduling, dispatching and context switching, so our 5 second wait in init.c allows other threads to runs, then completes appropriately.

svn path=/trunk/; revision=34491
2008-07-14 03:17:57 +00:00
ReactOS Portable Systems Group 7f9d319752 - Fix context switch code. It works perfectly now.
svn path=/trunk/; revision=34490
2008-07-14 03:17:09 +00:00
ReactOS Portable Systems Group 5c0b303c18 - Remove DPRINT1s all over the context switching code.
svn path=/trunk/; revision=34489
2008-07-14 03:16:36 +00:00
ReactOS Portable Systems Group 94f7b8810b - Clean up KTRAP_FRAME and KEXCEPTION_FRAME definition.
- Add assembly offsets for KEXCEPTION_FRAME to ksarm.h.


svn path=/trunk/; revision=34488
2008-07-14 03:15:48 +00:00
ReactOS Portable Systems Group 351129dc08 - Force a 5 second wait before loading drivers, on ARM.
- Context switching doesn't really work -- but we've been lucky since we're stuck on a priority 31 thread.
- Instead of worrying about this later when the system will be fully operational, this forces us to expose these bugs, and to make sure everything works.
- This will stress our context switching, waiting, unwaiting and scheduling code on ARM but once it all works well, after 5 seconds we'll be back on track.

svn path=/trunk/; revision=34487
2008-07-14 01:41:44 +00:00
ReactOS Portable Systems Group a893ad634d - Increment the PC by 4 during a DebugService-style trap, just like on x86, so that we can skip the actual instruction when we're done.
- Exit the trap after a prefetch abort. DbgPrint fully works now, and we're back where we started -- RamdiskCreateDiskDevice.


svn path=/trunk/; revision=34486
2008-07-14 00:26:18 +00:00
ReactOS Portable Systems Group a8ee5682c5 - ARM instructions are 4 bytes long, not 1, so decrement the PC by four during breakpoints (so the caller gets the address of the previous instruction, just like on x86).
svn path=/trunk/; revision=34485
2008-07-14 00:24:33 +00:00
ReactOS Portable Systems Group cc7f0be786 - Also bump PC for ARM after a KD exception.
svn path=/trunk/; revision=34484
2008-07-14 00:23:43 +00:00
ReactOS Portable Systems Group 631d627fa7 - Implement KeContextToTrapFrame.
- No, we don't sanitize anything right now. There's no user-mode at this point, so it doesn't matter. If you think we should sanitize right now, you need to get out and get laid.
- So this brings us back to KiPrefetchAbortHandler's while (TRUE).
- We have to make sure the funky PC modifications are going to work well, and after that, we can exit the trap.


svn path=/trunk/; revision=34483
2008-07-14 00:04:53 +00:00
ReactOS Portable Systems Group ed3125b4e0 - Implement KeTrapFrameToContext.
- We now get to the point where we call KiDebugRoutine, which is registered as KdpEnterDebuggerException.
- KdpEnterDebuggerException reads our exception record and understands this is a BREAKPOINT_PRINT.
- It then calls the KdpServiceDispatcher.
- This, in turn, calls KdpPrintString.
- Which in turn loops the "debug providers" and calls KdpSerialPrintString.
- Which calls into KDCOM.
- And we see this on the debug log: (ntoskrnl/kd/kdio.c:191) .
- Epic Win. Need to implement KeContextToTrapFrame now.


svn path=/trunk/; revision=34482
2008-07-13 23:58:47 +00:00
ReactOS Portable Systems Group 673e2fd5fd - Okay so we've got a basic KiDispatchException, we now need KiTrapFrameToContext and KiContextToTrapFrame.
- We aren't really sure where the hell we are since we can't printf anything otherwise we'll trap again and end up in an infinite loop.
- So we're debugging with while (TRUE).


svn path=/trunk/; revision=34481
2008-07-13 23:46:50 +00:00
ReactOS Portable Systems Group 784b0af4cd - Start implementing KiPrefetchAbortHandler for BKPT instructions.
- We pretty much try to duplicate what happens on x86, and build an exception record with the right information.
- We are seeing the debug string in R1 and its length in R2, so we're on the right track.
- We call KiDispatchException now, which isn't yet implemented.
- Yup, all this work just to see a damn debug string the "*proper* NT way". Thanks, asshole.


svn path=/trunk/; revision=34480
2008-07-13 23:34:44 +00:00
ReactOS Portable Systems Group 64d7b1337b - Prefetch aborts behave like other exceptions, not like data aborts, in terms of the PC offset due to the pipeline behavior. So call TRAP_PROLOG with 0, not 1
svn path=/trunk/; revision=34479
2008-07-13 23:32:38 +00:00
ReactOS Portable Systems Group a999d87cb4 - Implement KeArmInstructionFaultStatusRegisterGet
svn path=/trunk/; revision=34477
2008-07-13 23:31:46 +00:00
James Tabor 97892224cf Separate Default Window proc from messages.
svn path=/trunk/; revision=34476
2008-07-13 23:31:00 +00:00
ReactOS Portable Systems Group f0ba3800a4 - Write a DebugService routine for ARM in the RTL library and get rid of the hack in ntoskrnl.
- Just like on x86, this routine generates a breakpoint -- on ARM this is done with BKPT followed by an index.
- We use the BREAKPOINT_PRINT index just like on x86.
- This generates a prefetch abort -- so now we implement the prefetch abort handler. Thanks to the trap macros, this was 10 lines of code.
- This calls into the real C handler, which is now unimplemented and hangs the whole system, so we've regressed way back (on purpose).


svn path=/trunk/; revision=34474
2008-07-13 22:40:36 +00:00
ReactOS Portable Systems Group 43dd8f4408 - Now that KDCOM works for printing on the serial port, get rid of the arm_kprintf file, function and hack,and use KdpSerialPrint instead (still a hack, but at least uses our components)
svn path=/trunk/; revision=34473
2008-07-13 22:17:28 +00:00
ReactOS Portable Systems Group e069d3cba6 - Implement KdPortPutByteEx and KdPortInitializeEx in KDCOM. Only supports Versatile for now, we can make this more portable later.
svn path=/trunk/; revision=34472
2008-07-13 22:16:48 +00:00
ReactOS Portable Systems Group 3d5e125a48 - Fix FILE location in the header
svn path=/trunk/; revision=34471
2008-07-13 22:15:56 +00:00
ReactOS Portable Systems Group 1cfbce1c83 - Get rid of a really-early debug print, since it's done before KdInit and thus will never be seen.
svn path=/trunk/; revision=34470
2008-07-13 22:15:23 +00:00
ReactOS Portable Systems Group 09dbb9edf1 - Uncomment the check to see if we came from kernel or user mode, since we can now do this after the major trap fixes
svn path=/trunk/; revision=34469
2008-07-13 22:14:43 +00:00
Christoph von Wittich 79811cb5a6 more correct fix by Alex
svn path=/trunk/; revision=34467
2008-07-13 19:14:39 +00:00
Christoph von Wittich 538c89cbf6 fix handle table calculations
now we can create 4186000 handles instead of 4100
and VLC doesn't BSOD anymore

svn path=/trunk/; revision=34466
2008-07-13 18:22:18 +00:00
KJK::Hyperion ba77ba4484 Forgot a file. Fix fucking buildbot already D:<
svn path=/trunk/; revision=34464
2008-07-13 18:06:10 +00:00
KJK::Hyperion 70a54a9995 modified dll/win32/kernel32/misc/lang.c
modified   dll/win32/kernel32/kernel32.def
   Stubbed out GetLocaleInfoEx

modified   include/psdk/winnls.h
   Added some Vista and later NLS defines to the SDK

modified   dll/nls/idndl/idndl.rbuild
   Correctly set a NULL entry point for idndl.dll

modified   dll/nls/idndl_redist/idndl_redist.rbuild
modified   dll/nls/normaliz_redist/normaliz_redist.rbuild
   Give unique names to the redistributable versions of idndl.dll and normaliz.dll

Everything else
   Scattered NLS modules in the appropriate locations, as per standard source tree layout

svn path=/trunk/; revision=34463
2008-07-13 17:54:53 +00:00
Matthias Kupfer 9f0f4702a5 - support of [Strings.LanguageID]-sections for inf-files added in setupapi
- inf-files with multi language support are strongly recommended to be in utf-16 encoding (with byte order mark)
- at the moment only inf-files for second stage setup can contain translations (due to limitations of inflib)
- some of the inf files for hardware installation (/media/inf) are converted to utf-16 and contain a basic German translation in the [Strings.0407] section
- for more details read /reactos/branches/matthias-i18n/media/inf/README
- TODO: for other/further languages add other translations in new string sections

svn path=/trunk/; revision=34461
2008-07-13 13:46:54 +00:00
James Tabor da7cfbccf5 Add part of a patch by Daniel Verkamp, see bug 3441.
svn path=/trunk/; revision=34457
2008-07-13 12:08:54 +00:00
ReactOS Portable Systems Group 08965866eb - Separate KDCOM into i386 and ARM versions.
- Stub out ARM version.
- Eventually the arm_kprintf hack will go away and true serial debugging output will be done through kdcom just like on x86.
- Fix formatting of bootvid.rbuild.


svn path=/trunk/; revision=34456
2008-07-13 08:47:07 +00:00