Commit graph

44107 commits

Author SHA1 Message Date
Daniel Reimer 14a5ef32d6 Bug 5726: PATCH: regedit: Language File skeleton strings (geekdundee<A_T>gmail.com)
Bug 5735: PATCH: updated slovak translations by Mario Kacmar
Bug 5740: TRANSLATION: rapps: polish (wojtekkozlo664<A_T>op.pl)
Updated the Rapps Versions, too.

svn path=/trunk/; revision=49587
2010-11-14 15:22:48 +00:00
Giannis Adamopoulos 6fce3aa19b [win32k]
-Rename MsqInsertSystemMessage to MsqInsertMouseMessage

svn path=/trunk/; revision=49581
2010-11-14 09:53:07 +00:00
Giannis Adamopoulos 4ac999a033 [win32k]
- Simplify co_IntPeekMessage even more

svn path=/trunk/; revision=49580
2010-11-14 09:01:17 +00:00
James Tabor 31efb355c9 [Win32k]
- Fixed WaitForInputIdle, finally!, passed all the wine tests for it.
- Moved Get/Peek message to the new all in one support routine.
- Foreground hook hits one out of five, this needs more research.
- Attempted to workout synchronizing issues with low level and regular hooks.

svn path=/trunk/; revision=49579
2010-11-14 00:27:38 +00:00
Timo Kreuzer ea5d462bdf [FREELDR]
Convert most of the trap and blue screen code from asm to C, use KTRAP_FRAME and KSPECIAL_REGISTERS on the stack, instead of using a bunch of global variables. Convert multiply used asm code chunks into macros. Use intel syntax for remaining asm.
135 lines of C + 178 lines of asm, instead of 942 lines of asm

svn path=/trunk/; revision=49573
2010-11-13 19:48:13 +00:00
Sir Richard ef4089933a [NTOS]: Start using colored pages. This will help performance on real systems significantly as cache is now taken into account by the memory manager. Also radically changes the way page allocations are given out and creates a less uniform physical memory layout. The fact this now works means that the PFN lists are finally now sane.
svn path=/trunk/; revision=49559
2010-11-11 13:15:40 +00:00
Sir Richard d5c3a8295f [NTOS]: Use MI_PFN_ELEMENT in this code, as the extra checks done by MiGetPfnEntry are irrelevant and slow things down.
[NTOS]: Remove some old ReactOS hacks before we had MMROSPFNDATA.

svn path=/trunk/; revision=49558
2010-11-11 13:13:05 +00:00
Sir Richard 0bbcdaf47f [NTOS]: Fix a bug in MiRemovePageByColor which caused corruption of the page list and could lead to crashes, re-use of freed memory, assuming active memory was free, etc.
svn path=/trunk/; revision=49557
2010-11-11 13:08:41 +00:00
Sir Richard 7a047a7902 [NTOS]: Fix another bug in the continuous memory allocation code, which would go off-by-one while looping the PFN entries for the allocation, and corrupt the PteFrame/PteAddress of an unrelated PFN entry. If this PFN was in the active lists, it would cause page table leaks and faults, if the page was on a free list, it would override the colored list backlink and corrupt the list, later causing unlinked pages to remain linked to the list.
svn path=/trunk/; revision=49556
2010-11-11 13:05:52 +00:00
Art Yerkes 0cb645cb12 Part 1 of fixes: For some reason beyond me, I had abbreviated
MiCowSectionPage to always assume CoW rather than always not
CoW for cache sections.  

Make sure we're looking for cache type sections rather than
(as we were in the branch) data file sections.  More needed.

svn path=/trunk/; revision=49555
2010-11-11 08:15:50 +00:00
Sir Richard 64e92d2d8e [NTOS]: Fix bugs in MiAllocateContiguousPages. Fixes an ASSERT Caemyr was seeting a lot (the cont-able ASSERT).
svn path=/trunk/; revision=49541
2010-11-09 13:26:26 +00:00
Sir Richard f205f243bb [NTOS]: Assign a working set to the system process and correctly initialize its address space.
[NTOS]: Assign the working set list address, system-wide, but per-process (in hyperspace).
[NTOS]: Give every process its working set page, and store it. Build a bogus working set list (MMWSL).
[NTOS]: Use the process working set list (MMWSL) to track page table references during faults, just as Windows does.
[NTOS]: Correctly initialize the colored page list heads and assert their validity.

svn path=/trunk/; revision=49525
2010-11-08 12:35:50 +00:00
Sir Richard e8c269c0c4 [NTOS]: Optimize new context switching code to avoid wasted cycles.
svn path=/trunk/; revision=49523
2010-11-08 11:56:22 +00:00
Timo Kreuzer 44eef5b073 [SHLWAPI]
Explicitly add msvcrt before ntdll to use it's *sprintf functions. Fixes bug 5557

svn path=/trunk/; revision=49522
2010-11-08 10:04:43 +00:00
Sir Richard b4593924da [NTOS]: KiDispatchInterrupt (the DPC handler) in C, instead of ASM.
svn path=/trunk/; revision=49521
2010-11-08 02:37:17 +00:00
Sir Richard 77d20c89bf [NTOS]: Context switch in C instead of ASM. Can be made more portable, but it's a good start. Unless Timo rewrites it.
svn path=/trunk/; revision=49520
2010-11-08 02:15:53 +00:00
Pierre Schweitzer 58e3fc91d5 [NTOSKRNL]
Minor stuff.
Here is your commit Timo ;)

svn path=/trunk/; revision=49519
2010-11-08 00:31:00 +00:00
Timo Kreuzer 7d0aa25a0f [CRT]
In streamout(): fix a number of formatting bugs, round floats, fix issue with large unsigned values that were treated as signed, simplify some code.

svn path=/trunk/; revision=49516
2010-11-07 10:06:00 +00:00
Timo Kreuzer 2f7608101c [CRT]
In streamout() handle %%, negative fieldwidth and negative precision.

svn path=/trunk/; revision=49514
2010-11-07 00:59:41 +00:00
Timo Kreuzer 49cee181ca [CRT]
Fix a bug in streamout(), that could cause a buffer overrun and made msvcrt_winetest crash.

svn path=/trunk/; revision=49513
2010-11-06 23:03:22 +00:00
Amine Khaldi 87def142b6 [SPRINTF]
- Don't compile the new sprintf by default. Requested by Timo.

svn path=/trunk/; revision=49512
2010-11-06 15:38:43 +00:00
Timo Kreuzer a7fb24759b Fix build
svn path=/trunk/; revision=49501
2010-11-05 23:12:59 +00:00
Timo Kreuzer bf49c46b23 [CRT]
New implementation of all printf functions. It's stream based (like MS one is) rather than buffer based (like our old is). Floating point is not 100% finished, but current implementation is good enough to boot. It can be enabled by a config switch.

svn path=/trunk/; revision=49499
2010-11-05 22:21:36 +00:00
Sir Richard 7642321a2c [NTOS]: Make idle loop portable. Can be moved out of /i386 now.
svn path=/trunk/; revision=49486
2010-11-05 16:00:05 +00:00
Sir Richard 8a59fecfa5 [NTOS]: Implement the idle loop in C.
svn path=/trunk/; revision=49485
2010-11-05 15:58:34 +00:00
James Tabor c3f5d851e3 [Win32k] - Turn off debug prints.
svn path=/trunk/; revision=49475
2010-11-05 00:37:30 +00:00
James Tabor 200c27535e [Win32k|User32]
- This hook commit fixes the ros regression testing startup, but consider this a hax fix until more research in Global hooks has completed. More pointed Global hook tests are needed. Misc changes, removed unused storage pointers and reordering. For DosBOX, the mouse low level is now working and the keyboard low level should not be so intermittent as before, now sending messages from system desktop not from thread desktop, see bug 5670 for more details.

svn path=/trunk/; revision=49472
2010-11-04 23:45:34 +00:00
Aleksey Bragin 1dec9f52a4 [APPS]
- Damir Aliev: Properly convert encoding in cmdline tools.
See issue #3487 for more details.

svn path=/trunk/; revision=49466
2010-11-04 12:28:08 +00:00
Aleksey Bragin 2bb39272f6 [REGEDIT]
Adam Kachwalla <geekdundee@gmail.com>
- "Load Hive..." and "Unload Hive..." menu items implemented
- Make address bar case-insensitive
- Remove trailing slashes in address bar when at root keys (e.g. "HKEY_LOCAL_MACHINE\" or "HKEY_CURRENT_USER\")
- Address "go" button added
- Removed ~8px slack from bottom of the app (not needed and looks better)
- Factored out error displaying functions into error.c file.

See issue #5711 for more details.

svn path=/trunk/; revision=49465
2010-11-04 12:05:35 +00:00
Timo Kreuzer 3872d5db6c [KERNEL32]
Print delphi exception with the Exception code 0xeedfade, we were previously only checking for 0xeedface, maybe an older value.

svn path=/trunk/; revision=49464
2010-11-04 10:16:14 +00:00
Sir Richard 9cdff0edae [HAL]: Add INIT_FUNCTION where needed. Will save 860KB later.
svn path=/trunk/; revision=49463
2010-11-04 01:28:09 +00:00
Timo Kreuzer 9bcd5e12e8 [WIN32K]
- Make InitVideo return NTSTATUS and properly handle failure
- Silence a DPRINT, improve a DPRINT

svn path=/trunk/; revision=49458
2010-11-03 12:20:07 +00:00
Johannes Anderwald 5876e615b5 [KS]
- Fix several bugs in KsProbeStreamIrp
- If requestor is KernelMode - just save a pointer in Irp->AssociatedIrp.SystemBuffer (currently not used)
- If requestor is UserMode mark irp as buffered. Also set Flag IRP_INPUT_OPERATION when the ioctl is IOCTL_KS_READ_STREAM. This is important to propagate modifications to KSSTREAM_HEADERS (in particular DataUsed member)
- ReactOS KS can now be used in WinXP in combination with KSStudio. In order to make it fully work, ks needs to implement software bus functions
[PORTCLS]
- Rewrite internal irp queue handling
- It now supports multiple KSSTREAM_HEADERs per Irp, variable sized KSSTREAM_HEADERs per irp.
- Store the mapped virtual address not in the KSSTREAM_HEADER, as user programs will receive then invalid addresses
- Add checks whether this irp is for an sink pin or source pin
- Fix multiple bugs when the pin is looped buffer mode (How did this work before?)
- ReactOS portcls + WinXP now properly works with audio recording
[WDMAUD_KERNEL]
- Don't free associated stream header anymore
- Tested with VBox 3.2.10 + VmWare Player 3.1.2 + WinXP 

svn path=/trunk/; revision=49457
2010-11-03 11:16:33 +00:00
Aleksey Bragin db762f8fa5 [TASKMGR]
- Fix Russian translation, by spb-ivan92.
See issue #5685 for more details.

svn path=/trunk/; revision=49456
2010-11-03 09:09:57 +00:00
Timo Kreuzer 6cfc0da40b [WIN32K]
Change all Init functions to be NTAPI instead of FASTCALL, return NTSTATUS, and be an INIT_FUNCTION (saving incredible 2k). Simplify the initialization sequence by using a simple macro. Delete a comment that is not true anymore.
Move some globals to appropriate file.

svn path=/trunk/; revision=49455
2010-11-03 00:51:19 +00:00
Sir Richard 85e5b5be56 [NTOS]: Mark all initialization functions INIT_FUNCTION.
[NTOS]: This will save ~280KB of RAM once we dump INIT from RAM in a future patch.
[NTOS]: Display current free RAM at certain checkpoints.

svn path=/trunk/; revision=49445
2010-11-02 16:29:06 +00:00
Sir Richard ee45da75e0 [NTOS]: Add page-tracking macro calls wherever needed. MI_TRACE_PFNS is still off, though, so this code won't be called.
svn path=/trunk/; revision=49444
2010-11-02 15:16:22 +00:00
Sir Richard 5f9569d3c5 [NTOS]: Define an array of MI_USAGE integers to track what a PFN is used for.
[NTOS]: Extend the MMPFN structure for ReactOS-specific PFN tracing mechanism.
[NTOS]: Add macros to track page usage and process/extra-data (not yet used).

svn path=/trunk/; revision=49443
2010-11-02 15:05:37 +00:00
Sir Richard 3163a7e933 [NTOS]: CR3 should be PDE_BASE, not PTE_BASE!
[NTOS]: Define DemandZeroPte.

svn path=/trunk/; revision=49442
2010-11-02 15:02:41 +00:00
Sir Richard 3a3d75946e [NTOS]: Misc typo and cleanup fixes.
svn path=/trunk/; revision=49441
2010-11-02 14:58:39 +00:00
Sir Richard dae4714960 [NTOS]: Fix a bug in the MDL Code which would dereference a completely bogus page frame index.
svn path=/trunk/; revision=49440
2010-11-02 14:58:10 +00:00
Sir Richard c7b69d59e3 [NTOS]: Fix a bug in MmFindGapBottomUp which could make it return an address lower than what the caller said should be the lowest address.
svn path=/trunk/; revision=49439
2010-11-02 14:50:06 +00:00
Sir Richard 36429c0a64 [NTOS]: You can't just set MDL_LOCKED_PAGES without actually... locking the page. Add a MmReferencePage when doing so, so when that a paging read/write IRP gets completed (and MmUnlockPages is called), the page gets handled correctly. Can now boot with 64MB RAM without ASSERTs.
[NTOS]: Fix one of the MDL code paths that isn't getting called frequently.

svn path=/trunk/; revision=49438
2010-11-02 14:46:46 +00:00
Sir Richard 55256a107f [NTOS]: ASSERT nobody tries to put ARM3 pages into the MC_USER LRU.
svn path=/trunk/; revision=49437
2010-11-02 14:42:08 +00:00
Sir Richard 72e1ab5fb8 [NTOS]: Assert nobody tries to touch the sharecount of a non-ARM3 page.
svn path=/trunk/; revision=49436
2010-11-02 14:41:51 +00:00
Sir Richard 4bdf7033a7 [NTOS]: Fix typos.
svn path=/trunk/; revision=49435
2010-11-02 14:41:29 +00:00
Sir Richard 8c212103be [NTOS]: Sanity checks when dealing with creating/cleaning process address space.
[NTOS]: Set the VmDeleted flag when the process address space is being nuked.

svn path=/trunk/; revision=49434
2010-11-02 14:41:03 +00:00
Sir Richard f6fa150d19 [NTOS]: Make sure we don't get a user-pointer back from MmMapInSystemSpace.
svn path=/trunk/; revision=49433
2010-11-02 14:40:31 +00:00
Sir Richard 82ca671f14 [NTOS]: Remove merge artifact from newcc.
svn path=/trunk/; revision=49432
2010-11-02 14:40:07 +00:00
Sir Richard 893dc1fad1 [NTOS]: Protect Arty's changes with #ifdef NEWCC, otherwise this code ASSERTs and crashes as soon as a pageout operation is required. Since your advanced test/regression systems boot into configurations with 1GB+ RAM, you never even test these paths and one could put an ASSERT(FALSE) and you wouldn't even notice it (as proven).
svn path=/trunk/; revision=49431
2010-11-02 14:38:52 +00:00