Commit graph

31480 commits

Author SHA1 Message Date
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
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