Commit graph

31706 commits

Author SHA1 Message Date
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
ReactOS Portable Systems Group 6c6eb6e82e - Does now fire off a DPC when quantum has ended this works good now after have the major trap fixes been done earlier.
svn path=/trunk/; revision=34455
2008-07-13 08:28:05 +00:00
ReactOS Portable Systems Group e4202a6eec - Make sure this is XIP (Execute in Place) boot and not ramdisk boot before warning the user. Silences an incorrect debug print during ramdisk boot.
svn path=/trunk/; revision=34454
2008-07-13 08:20:02 +00:00
ReactOS Portable Systems Group b60783d6c5 - Implement RamdiskCreateRamdisk which validates parameters before calling RamdiskCreateDiskDevice (stub).
- Implement RamdiskDeviceControl which only supports FSCTL_CREATE_RAM_DISK for now (the kernel's attempt to create the RAM disk).
- Need to implement RamdiskCreateDiskDevice.


svn path=/trunk/; revision=34453
2008-07-13 07:37:36 +00:00
ReactOS Portable Systems Group b01a6a6b8e - Implement IRP_MN_QUERY_DEVICE_TEXT/BUS_INFORMATION/CAPABILITIES for FDOs (just forward to the attached device).
- Implement IRP_MN_QUERY_RESOURCES/RESOURCE_REQUIREMENTS for FDOs and PDOs (immediately complete the IRP and exit).
- We now get to RamdiskDeviceControl -- the kernel is attempting to create the ramdisk.


svn path=/trunk/; revision=34452
2008-07-13 07:33:31 +00:00
ReactOS Portable Systems Group 4a0167c18b - Remove incorrect check in RamdiskPnp -- we should only early-quit if the device is removed, not uninitialized, otherwise we'll never get initialized.
- Add support for IRP_MN_SURPRISE_REMOVAL.
- Handle IRP_MN_QUERY_ID for FDO (it is the first IRP we receive).
- Handle IRP completion for FDOs and forward if necessary.


svn path=/trunk/; revision=34451
2008-07-13 07:16:24 +00:00
ReactOS Portable Systems Group ac0787ec04 - Add device state information.
- Start implementing RamdiskPnp -- enough to fail requests until our device state is appropriate.
- Implement RamdiskOpenClose.


svn path=/trunk/; revision=34450
2008-07-13 07:02:48 +00:00
ReactOS Portable Systems Group fbda572c17 - Implement RamdiskAddDevice.
- Fix uninitialized pointer in DriverEntry.
- Add hack for ReactOS plug and play manager bug.
- Fix broken assert.
- Now in RamdiskPnp.


svn path=/trunk/; revision=34449
2008-07-13 04:23:59 +00:00
ReactOS Portable Systems Group b1537513ef - Remove debug code.
svn path=/trunk/; revision=34448
2008-07-13 04:22:54 +00:00
ReactOS Portable Systems Group 824f390323 - Add ramdisk class.
svn path=/trunk/; revision=34447
2008-07-13 04:22:42 +00:00
ReactOS Portable Systems Group 0e87f19d40 - To whom it may concern: thanks for completly fucking up mkhive support with your "fix". It broken make install and livecd on i386 AND ARM.
- Made the necessary changes to make it work properly by fixing mkhive and rbuild.

svn path=/trunk/; revision=34446
2008-07-13 02:32:24 +00:00
ReactOS Portable Systems Group ae45b8fbbb - Only print out debug data for aborts if we can't handle them. Makes the debug log easier to read.
svn path=/trunk/; revision=34445
2008-07-13 01:58:23 +00:00
ReactOS Portable Systems Group 53f621c80d - Do NOT prepend _ to ARM entrypoints.
- Because of some ridiculously stupid design in LD, it seems if it cannot find a given entrypoint, it SILENTLY ASSUMES you meant "Hi LD, please use my base address as my entrypoint".
- As such, all our drivers were linked with the start address as the base address... for the RAMDisk driver, this ended up being RamdiskAddDevice.
- When we started implementing RamdiskAddDevice, noticed that DriverEntry wasn't actually getting called. Adding debug prints changed which function was called.
- Wasted a week, thanks LD.


svn path=/trunk/; revision=34444
2008-07-13 01:56:20 +00:00
James Tabor b17c0af25f The rest of rev 34442.
svn path=/trunk/; revision=34443
2008-07-13 00:24:05 +00:00
James Tabor 48885ed2c4 - Started NtUserRegisterClassExWOW and now using the fnIDs. Nothing is used but the IDs. I tested with these changes for over 60 days.
- Implemented NtUserMessageCall, moved our first victim over to use it. This is for bug 2451.

svn path=/trunk/; revision=34442
2008-07-13 00:21:51 +00:00
James Tabor f07b8e70a7 This did not fix bug 3503 but only hid the problem. Added note about Firefox, polls IsInsideMessagePumpHook when Min/Max.
svn path=/trunk/; revision=34441
2008-07-12 23:49:51 +00:00
Christoph von Wittich a267c40f5b don't deref NULL pointer
svn path=/trunk/; revision=34439
2008-07-12 13:47:06 +00:00
James Tabor 8b47005e1a Fix FF again. Sorry, I need to research this more.
svn path=/trunk/; revision=34438
2008-07-12 12:04:03 +00:00
Christoph von Wittich 58baa7406e don't return success in getaddrinfo
fixes a crash in divx installer

svn path=/trunk/; revision=34437
2008-07-12 10:49:13 +00:00
Christoph von Wittich b2b40553ac fix a typo
svn path=/trunk/; revision=34435
2008-07-12 09:39:30 +00:00
James Tabor 613a10e37b - Fix problem with share pointer. See bug 3503. It seems to be a problem with ntdll and msvcrt.
svn path=/trunk/; revision=34433
2008-07-12 01:00:58 +00:00
James Tabor f7a34846ba - Christoph von Wittich spotted a condition when co_MsqPostKeyboardMessage was called from KeyboardThreadMain, the thread was unlocked when waiting in co_MsqSendMessage. The problem; UserLeave was called before waiting on an event. I added checks to verify locking and if not, lock the thread. I'm not sure ATM if co_MsqPostKeyboardMessage should have full locking since it is only used by input.c.
- Added IdlePing to wakeup process threads before waiting on events, it look like the right place to put them.

svn path=/trunk/; revision=34430
2008-07-11 23:07:31 +00:00
Colin Finck f25ac715b0 - Port Wine's WideCharToMultiByte implementation for conversion to a codepage to ReactOS. (with comments :-))
It adds support for DefaultChar, UsedDefaultChar and the flag WC_NO_BEST_FIT_CHARS.
  WC_COMPOSITECHECK is also supported by the Wine implementation, but I don't have an idea how to port it to ReactOS, as we don't seem to have composition tables. I left FIXME's for this flag in the appropriate blocks, this is why some of the code might look badly structured/unoptimized at the moment.
  As we completely rely on the NLS tables for the conversion now, this commit might trigger some bugs there. I already found out that the CP950 table doesn't map Unicode 0 back to MultiByte 0 (but 254), using Windows' c_950.nls it works correctly. Other tables could be buggy as well, c_1252.nls worked flawlessy for me though.
- Added comments to the CPTABLEINFO structure based on documentation from http://www.ping.uio.no/~ovehk/nls/

svn path=/trunk/; revision=34426
2008-07-11 19:11:06 +00:00
Christoph von Wittich dfb10c4404 check for NULL pointer
svn path=/trunk/; revision=34425
2008-07-11 15:15:42 +00:00
James Tabor 1fa1b4e184 - Cleanup NtUserWaitForInputIdle and plug in the user call. Still testing it.
svn path=/trunk/; revision=34424
2008-07-11 11:22:16 +00:00
James Tabor a704e14031 Update Eng Events and fix InputIdleEvent.
svn path=/trunk/; revision=34423
2008-07-11 10:57:49 +00:00
KJK::Hyperion dee49b95a1 Don't allocate from PagedPool while interrupts are disabled. Patch by Stefan Ginsberg
svn path=/trunk/; revision=34420
2008-07-11 09:11:21 +00:00
James Tabor 4460003077 Improve NtUserWaitForInputIdle, still a work in progress.
svn path=/trunk/; revision=34419
2008-07-11 01:24:47 +00:00
James Tabor 0b35c794b5 - Port wine WaitForInputIdle. Work in progress and untested. Need input idle event to support it.
svn path=/trunk/; revision=34418
2008-07-11 01:02:28 +00:00
James Tabor 75ea87b3cb - Move NtUserWaitForInputIdle to message.c.
svn path=/trunk/; revision=34417
2008-07-10 23:51:24 +00:00
Timo Kreuzer 793805597e Patch by Stefan Ginsberg:
fix members of UNIVERSAL_FONT_ID, based on msdn

svn path=/trunk/; revision=34415
2008-07-10 20:09:23 +00:00
Colin Finck af3974cb4a Warning fixes for devenum by Stefan Ginsberg
svn path=/trunk/; revision=34414
2008-07-10 16:26:28 +00:00