Sir Richard [Mon, 8 Nov 2010 12:35:50 +0000 (12:35 +0000)]
[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
Timo Kreuzer [Mon, 8 Nov 2010 12:24:33 +0000 (12:24 +0000)]
[CMAKE]
- add new macro add_linkerflag to avoid code duplication
- add new macro set_pdef_file, replacing the use of pdef2def, which is neccessary to resolve issues with MSVC. cmake doesn't handle def files as source files very well, when they are not in the current source directory.
svn path=/branches/cmake-bringup/; revision=49524
Sir Richard [Mon, 8 Nov 2010 11:56:22 +0000 (11:56 +0000)]
[NTOS]: Optimize new context switching code to avoid wasted cycles.
svn path=/trunk/; revision=49523
Timo Kreuzer [Mon, 8 Nov 2010 10:04:43 +0000 (10:04 +0000)]
[SHLWAPI]
Explicitly add msvcrt before ntdll to use it's *sprintf functions. Fixes bug 5557
svn path=/trunk/; revision=49522
Sir Richard [Mon, 8 Nov 2010 02:37:17 +0000 (02:37 +0000)]
[NTOS]: KiDispatchInterrupt (the DPC handler) in C, instead of ASM.
svn path=/trunk/; revision=49521
Sir Richard [Mon, 8 Nov 2010 02:15:53 +0000 (02:15 +0000)]
[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
Pierre Schweitzer [Mon, 8 Nov 2010 00:31:00 +0000 (00:31 +0000)]
[NTOSKRNL]
Minor stuff.
Here is your commit Timo ;)
svn path=/trunk/; revision=49519
Sylvain Petreolle [Sun, 7 Nov 2010 21:24:35 +0000 (21:24 +0000)]
[CMAKE]
Add missing files to bootcd.
svn path=/branches/cmake-bringup/; revision=49518
Sylvain Petreolle [Sun, 7 Nov 2010 21:22:31 +0000 (21:22 +0000)]
[CMAKE]
Add remaining Wine directx dlls to bootcd.
svn path=/branches/cmake-bringup/; revision=49517
Timo Kreuzer [Sun, 7 Nov 2010 10:06:00 +0000 (10:06 +0000)]
[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
Timo Kreuzer [Sun, 7 Nov 2010 00:59:41 +0000 (00:59 +0000)]
[CRT]
In streamout() handle %%, negative fieldwidth and negative precision.
svn path=/trunk/; revision=49514
Timo Kreuzer [Sat, 6 Nov 2010 23:03:22 +0000 (23:03 +0000)]
[CRT]
Fix a bug in streamout(), that could cause a buffer overrun and made msvcrt_winetest crash.
svn path=/trunk/; revision=49513
Amine Khaldi [Sat, 6 Nov 2010 15:38:43 +0000 (15:38 +0000)]
[SPRINTF]
- Don't compile the new sprintf by default. Requested by Timo.
svn path=/trunk/; revision=49512
Amine Khaldi [Sat, 6 Nov 2010 11:43:26 +0000 (11:43 +0000)]
[CMAKE]
- Add acledit.pdef
svn path=/branches/cmake-bringup/; revision=49510
Amine Khaldi [Sat, 6 Nov 2010 11:31:38 +0000 (11:31 +0000)]
[CMAKE]
- Add a preprocessed definition file for acledit.
- Add the pdef2def macro.
- Include wpp into build, widl links to it.
- Fix libmpg123.
svn path=/branches/cmake-bringup/; revision=49509
Timo Kreuzer [Sat, 6 Nov 2010 09:17:04 +0000 (09:17 +0000)]
[MINGW]
#if 0 _matherr(). We already have it in our crt and it's exported from msvcrt. MSVC doesn't like when it's there twice.
svn path=/branches/cmake-bringup/; revision=49506
Timo Kreuzer [Sat, 6 Nov 2010 00:25:57 +0000 (00:25 +0000)]
[MINGW]
Don't define __ImageBase to something else on MSVC builds
svn path=/branches/cmake-bringup/; revision=49505
Amine Khaldi [Fri, 5 Nov 2010 23:25:51 +0000 (23:25 +0000)]
[CMAKE]
- Fix and enable browseui.
svn path=/branches/cmake-bringup/; revision=49504
Amine Khaldi [Fri, 5 Nov 2010 23:17:29 +0000 (23:17 +0000)]
[CMAKE]
- Explicitly disable auto imports for executables.
- Set a proper linker invocation for C++ modules.
svn path=/branches/cmake-bringup/; revision=49503
Sylvain Petreolle [Fri, 5 Nov 2010 23:14:29 +0000 (23:14 +0000)]
[CMAKE]
Bootcd/Livecd : Add dplayx, ntfs and mup.
Add forgotten wined3d importlib, my bad.
svn path=/branches/cmake-bringup/; revision=49502
Timo Kreuzer [Fri, 5 Nov 2010 23:12:59 +0000 (23:12 +0000)]
Fix build
svn path=/trunk/; revision=49501
Amine Khaldi [Fri, 5 Nov 2010 23:06:24 +0000 (23:06 +0000)]
[CMAKE]
- Fix and enable glu32 and winemp3.acm
svn path=/branches/cmake-bringup/; revision=49500
Timo Kreuzer [Fri, 5 Nov 2010 22:21:36 +0000 (22:21 +0000)]
[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
Sylvain Petreolle [Fri, 5 Nov 2010 21:49:09 +0000 (21:49 +0000)]
[CMAKE]
Bootcd: Add some directx dlls.
svn path=/branches/cmake-bringup/; revision=49498
Amine Khaldi [Fri, 5 Nov 2010 21:22:07 +0000 (21:22 +0000)]
[CMAKE]
- Explicitly disable auto imports, and fix the modules that were missed out by the previous related commit.
- Dedicated to Usurp.
svn path=/branches/cmake-bringup/; revision=49497
Jérôme Gardou [Fri, 5 Nov 2010 18:52:57 +0000 (18:52 +0000)]
[CMAKE]
Fix mingw_dllmain build
svn path=/branches/cmake-bringup/; revision=49496
Amine Khaldi [Fri, 5 Nov 2010 18:41:05 +0000 (18:41 +0000)]
[MMC]
- Remove pragma once from the main header.
svn path=/branches/cmake-bringup/; revision=49495
Amine Khaldi [Fri, 5 Nov 2010 18:35:47 +0000 (18:35 +0000)]
[CMAKE]
- Update spec2def use in bzip2.
svn path=/branches/cmake-bringup/; revision=49494
Amine Khaldi [Fri, 5 Nov 2010 18:09:09 +0000 (18:09 +0000)]
[CMAKE]
- Fix a typo.
svn path=/branches/cmake-bringup/; revision=49493
Amine Khaldi [Fri, 5 Nov 2010 18:06:25 +0000 (18:06 +0000)]
[CMAKE]
- Remove wpp from build.
- Improve several tools and libs.
- Improve the root cmake file.
svn path=/branches/cmake-bringup/; revision=49492
Amine Khaldi [Fri, 5 Nov 2010 17:35:39 +0000 (17:35 +0000)]
[CMAKE]
- Improve more libs.
svn path=/branches/cmake-bringup/; revision=49490
Amine Khaldi [Fri, 5 Nov 2010 17:29:01 +0000 (17:29 +0000)]
[CMAKE]
- Improve drivers' libs.
svn path=/branches/cmake-bringup/; revision=49489
Amine Khaldi [Fri, 5 Nov 2010 17:12:31 +0000 (17:12 +0000)]
[CMAKE]
- Improve win32k, lib{jpeg,png,tiff,xslt} and win32k.
svn path=/branches/cmake-bringup/; revision=49488
Amine Khaldi [Fri, 5 Nov 2010 16:57:33 +0000 (16:57 +0000)]
[CMAKE]
- Improve the kernel build.
svn path=/branches/cmake-bringup/; revision=49487
Sir Richard [Fri, 5 Nov 2010 16:00:05 +0000 (16:00 +0000)]
[NTOS]: Make idle loop portable. Can be moved out of /i386 now.
svn path=/trunk/; revision=49486
Sir Richard [Fri, 5 Nov 2010 15:58:34 +0000 (15:58 +0000)]
[NTOS]: Implement the idle loop in C.
svn path=/trunk/; revision=49485
Sylvain Petreolle [Fri, 5 Nov 2010 14:33:14 +0000 (14:33 +0000)]
[CMAKE]
Bootcd:
Added : syssetup.inf, vgafonts.cab, c_28593.nls, ntvdm.
Remove blue from reactos.cab.
svn path=/branches/cmake-bringup/; revision=49484
Sylvain Petreolle [Fri, 5 Nov 2010 13:46:48 +0000 (13:46 +0000)]
[CMAKE]
Add more dll/ and drivers/ modules to bootcd.
Fix mesa32 definitions.
svn path=/branches/cmake-bringup/; revision=49483
Sylvain Petreolle [Fri, 5 Nov 2010 13:25:28 +0000 (13:25 +0000)]
[CMAKE]
Add dlls to bootcd.
Fix hhctrl build.
svn path=/branches/cmake-bringup/; revision=49482
Timo Kreuzer [Fri, 5 Nov 2010 13:14:37 +0000 (13:14 +0000)]
[USER32]
Convert pspec to spec to fix build
svn path=/branches/cmake-bringup/; revision=49481
Sylvain Petreolle [Fri, 5 Nov 2010 12:08:37 +0000 (12:08 +0000)]
[CMAKE]
Add keyboards to bootcd.
svn path=/branches/cmake-bringup/; revision=49480
Amine Khaldi [Fri, 5 Nov 2010 12:02:12 +0000 (12:02 +0000)]
[CMAKE]
- Improve most of the static libraries.
svn path=/branches/cmake-bringup/; revision=49479
Sylvain Petreolle [Fri, 5 Nov 2010 10:37:10 +0000 (10:37 +0000)]
[CMAKE]
Add base/ modules to bootcd.
svn path=/branches/cmake-bringup/; revision=49477
Sylvain Petreolle [Fri, 5 Nov 2010 09:38:42 +0000 (09:38 +0000)]
[CMAKE]
Revert incorrect auto import change and use proper definitions instead.
svn path=/branches/cmake-bringup/; revision=49476
James Tabor [Fri, 5 Nov 2010 00:37:30 +0000 (00:37 +0000)]
[Win32k] - Turn off debug prints.
svn path=/trunk/; revision=49475
Timo Kreuzer [Fri, 5 Nov 2010 00:12:47 +0000 (00:12 +0000)]
[CMAKE]
Create importlib for advapi32
Link advapi32 to msvcrt, needed for SEH
svn path=/branches/cmake-bringup/; revision=49474
Timo Kreuzer [Fri, 5 Nov 2010 00:08:12 +0000 (00:08 +0000)]
[CMAKE]
Add /SAFESEH:NO to MSVC linker command line to fix unresolved symbol issue.
svn path=/branches/cmake-bringup/; revision=49473
James Tabor [Thu, 4 Nov 2010 23:45:34 +0000 (23:45 +0000)]
[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
Amine Khaldi [Thu, 4 Nov 2010 21:38:28 +0000 (21:38 +0000)]
[CMAKE]
- Improve hal, adns and bzip2.
svn path=/branches/cmake-bringup/; revision=49471
Amine Khaldi [Thu, 4 Nov 2010 21:31:33 +0000 (21:31 +0000)]
[CMAKE]
- Improve the rest of the drivers.
svn path=/branches/cmake-bringup/; revision=49470
Amine Khaldi [Thu, 4 Nov 2010 21:06:20 +0000 (21:06 +0000)]
[CMAKE]
- Improve more drivers.
svn path=/branches/cmake-bringup/; revision=49469
Amine Khaldi [Thu, 4 Nov 2010 20:46:27 +0000 (20:46 +0000)]
[CMAKE]
- Improve base and bus drivers.
svn path=/branches/cmake-bringup/; revision=49468
Sylvain Petreolle [Thu, 4 Nov 2010 13:29:58 +0000 (13:29 +0000)]
[CMAKE]
One .acm suffix is enough.
Dedicated to AmineKhaldi.
svn path=/branches/cmake-bringup/; revision=49467
Aleksey Bragin [Thu, 4 Nov 2010 12:28:08 +0000 (12:28 +0000)]
[APPS]
- Damir Aliev: Properly convert encoding in cmdline tools.
See issue #3487 for more details.
svn path=/trunk/; revision=49466
Aleksey Bragin [Thu, 4 Nov 2010 12:05:35 +0000 (12:05 +0000)]
[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
Timo Kreuzer [Thu, 4 Nov 2010 10:16:14 +0000 (10:16 +0000)]
[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
Sir Richard [Thu, 4 Nov 2010 01:28:09 +0000 (01:28 +0000)]
[HAL]: Add INIT_FUNCTION where needed. Will save 860KB later.
svn path=/trunk/; revision=49463
Jérôme Gardou [Wed, 3 Nov 2010 18:15:51 +0000 (18:15 +0000)]
[WINE/CONFIG]
MSVC has no sys/time.h
[DDK]
Directly include <wingdi.h>
[UNICODE]
Fix build on msvc
All tools now build with msvc.
svn path=/branches/cmake-bringup/; revision=49461
Jérôme Gardou [Wed, 3 Nov 2010 16:59:50 +0000 (16:59 +0000)]
[CMAKE]
cmake doesn't like braces
svn path=/branches/cmake-bringup/; revision=49460
Jérôme Gardou [Wed, 3 Nov 2010 12:57:03 +0000 (12:57 +0000)]
[CMAKE]
allow to specify build tools directory with -DREACTOS_BUILD_TOOLS_DIR=Y:\you\path
So now you're able to use multiple compilers with one tree without too much worry.
svn path=/branches/cmake-bringup/; revision=49459
Timo Kreuzer [Wed, 3 Nov 2010 12:20:07 +0000 (12:20 +0000)]
[WIN32K]
- Make InitVideo return NTSTATUS and properly handle failure
- Silence a DPRINT, improve a DPRINT
svn path=/trunk/; revision=49458
Johannes Anderwald [Wed, 3 Nov 2010 11:16:33 +0000 (11:16 +0000)]
[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
Aleksey Bragin [Wed, 3 Nov 2010 09:09:57 +0000 (09:09 +0000)]
[TASKMGR]
- Fix Russian translation, by spb-ivan92.
See issue #5685 for more details.
svn path=/trunk/; revision=49456
Timo Kreuzer [Wed, 3 Nov 2010 00:51:19 +0000 (00:51 +0000)]
[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
Timo Kreuzer [Tue, 2 Nov 2010 21:31:45 +0000 (21:31 +0000)]
[CMAKE]
- fix add_importlib_target
- fix win32dll entrypoint (we wouldn't need to specify one, if the one in mingw lib had enough underscores)
svn path=/branches/cmake-bringup/; revision=49453
Timo Kreuzer [Tue, 2 Nov 2010 20:39:19 +0000 (20:39 +0000)]
[MINGW]
add CRTDLL definition so that the startup code for dlls is actually compiled
svn path=/branches/cmake-bringup/; revision=49452
Amine Khaldi [Tue, 2 Nov 2010 20:27:06 +0000 (20:27 +0000)]
[CMAKE]
- Minor formatting.
svn path=/branches/cmake-bringup/; revision=49451
Amine Khaldi [Tue, 2 Nov 2010 20:23:56 +0000 (20:23 +0000)]
[CMAKE]
- Move more dlls with no stubs into using def files instead of spec files.
svn path=/branches/cmake-bringup/; revision=49450
Amine Khaldi [Tue, 2 Nov 2010 19:58:29 +0000 (19:58 +0000)]
[CMAKE]
- Move more dlls with no stubs into using def files instead of spec files.
svn path=/branches/cmake-bringup/; revision=49449
Amine Khaldi [Tue, 2 Nov 2010 18:19:44 +0000 (18:19 +0000)]
[CMAKE]
- Move some dlls with no stubs into using def files instead of spec files.
svn path=/branches/cmake-bringup/; revision=49448
Jérôme Gardou [Tue, 2 Nov 2010 17:25:36 +0000 (17:25 +0000)]
[CMAKE]
Poor little gcc, forgotten by Timo
svn path=/branches/cmake-bringup/; revision=49447
Sir Richard [Tue, 2 Nov 2010 16:29:06 +0000 (16:29 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 15:16:22 +0000 (15:16 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 15:05:37 +0000 (15:05 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 15:02:41 +0000 (15:02 +0000)]
[NTOS]: CR3 should be PDE_BASE, not PTE_BASE!
[NTOS]: Define DemandZeroPte.
svn path=/trunk/; revision=49442
Sir Richard [Tue, 2 Nov 2010 14:58:39 +0000 (14:58 +0000)]
[NTOS]: Misc typo and cleanup fixes.
svn path=/trunk/; revision=49441
Sir Richard [Tue, 2 Nov 2010 14:58:10 +0000 (14:58 +0000)]
[NTOS]: Fix a bug in the MDL Code which would dereference a completely bogus page frame index.
svn path=/trunk/; revision=49440
Sir Richard [Tue, 2 Nov 2010 14:50:06 +0000 (14:50 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 14:46:46 +0000 (14:46 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 14:42:08 +0000 (14:42 +0000)]
[NTOS]: ASSERT nobody tries to put ARM3 pages into the MC_USER LRU.
svn path=/trunk/; revision=49437
Sir Richard [Tue, 2 Nov 2010 14:41:51 +0000 (14:41 +0000)]
[NTOS]: Assert nobody tries to touch the sharecount of a non-ARM3 page.
svn path=/trunk/; revision=49436
Sir Richard [Tue, 2 Nov 2010 14:41:29 +0000 (14:41 +0000)]
[NTOS]: Fix typos.
svn path=/trunk/; revision=49435
Sir Richard [Tue, 2 Nov 2010 14:41:03 +0000 (14:41 +0000)]
[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
Sir Richard [Tue, 2 Nov 2010 14:40:31 +0000 (14:40 +0000)]
[NTOS]: Make sure we don't get a user-pointer back from MmMapInSystemSpace.
svn path=/trunk/; revision=49433
Sir Richard [Tue, 2 Nov 2010 14:40:07 +0000 (14:40 +0000)]
[NTOS]: Remove merge artifact from newcc.
svn path=/trunk/; revision=49432
Sir Richard [Tue, 2 Nov 2010 14:38:52 +0000 (14:38 +0000)]
[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
Johannes Anderwald [Tue, 2 Nov 2010 09:37:30 +0000 (09:37 +0000)]
[KSUSER, KS, SYSAUDIO]
- Make pin / node / allocator create requests compatible to ms by removing obsolete slash before object class
- Return correct error code in ksuser's KsCreatePin
- ReactOS KS is now able to create audio pins in Windows XP, though playback is not yet working
- All changes except ksuser change has been verified to work with VBox 3.2.10
- KS user changes not tested yet as KSStudio not working in trunk
svn path=/trunk/; revision=49428
Timo Kreuzer [Tue, 2 Nov 2010 09:22:58 +0000 (09:22 +0000)]
[CMAKE]
Rename add_importlib_def to add_importlib_target
add importlib targets for ntdll, msvcrt, shell32, user32
svn path=/branches/cmake-bringup/; revision=49427
Art Yerkes [Tue, 2 Nov 2010 02:32:39 +0000 (02:32 +0000)]
[CACHE]
The cache manager rewrite I started years ago has finally appeared in
ReactOS' trunk and although at this point it's not quite perfectly
integrated, it's enough to boot up the bootcd or livecd. To check out
the more mature original, check out arty-newcc-reactos, branch
arty-newcc on bitbucket.org . Amine Khaldi encouraged me quite a bit
to not give up on it, and was able to reach out and be an advocate
when i really wasn't able to. Others agree that the time has come to
begin removing the old cache manager. I expect the remaining problems
in the version going to trunk will be taken care of relatively
quickly.
The motivation for this effort lies in the particularly hairy
relationship between ReactOS' cache manager and data sections. This
code completely removes page sharing between cache manager and section
and reimagines cache manager as being a facility layered on the memory
manager, not really caring about individual pages, but simply managing
data section objects where caching might occur.
It took me about 2 years to do the first pass of this rewrite and most
of this year to fix some lingering issues, properly implement demand
paging in ReactOS (code which didn't come with this patch in a
recognizable form), and finish getting the PrivateCacheMap and
SharedCacheMap relationship correct.
Currently, the new ntoskrnl/cache directory contains an own
implementation of data file sections. After things have settled down,
we can begin to deprecate and remove the parts of ReactOS' section
implementation that depend on a close relationship with cache
manager. Eventually, I think that the extra code added to
ntoskrnl/cache/section will be removed and ReactOS' own sections will
replace the use of the special MM_CACHE_SECTION_SEGMENT in the cache
path.
Note also, that this makes all cache manager (and new section parts)
use wide file offsets. If my section code were to take over other
parts of the ReactOS memory manager, they would also benefit from
these improvements.
I invite anyone who wants to to peek at this code and fix whatever
bugs can be found.
svn path=/trunk/; revision=49423
Timo Kreuzer [Tue, 2 Nov 2010 01:17:45 +0000 (01:17 +0000)]
[WIN32K]
Disable GDI_DEBUG. It's using > 20 MB memory. Too much for some people ;-)
svn path=/trunk/; revision=49422
Timo Kreuzer [Tue, 2 Nov 2010 00:06:33 +0000 (00:06 +0000)]
[CRT]
- Make all x86assembly ML compatible
- Remove memcpy, it was duplicated from memmove, copy the label instead
- Guard some code against compilation on msvc, as these functions are intrinsics on MSVC and cannot be implemented
- Fix some x64 assembly (don't modify stack below rsp)
svn path=/branches/cmake-bringup/; revision=49421
Timo Kreuzer [Tue, 2 Nov 2010 00:03:41 +0000 (00:03 +0000)]
[ASM]
Fix dummy ASSUME
svn path=/branches/cmake-bringup/; revision=49420
Timo Kreuzer [Mon, 1 Nov 2010 23:18:51 +0000 (23:18 +0000)]
[ASM]
Add .double macro for ML and dummy ASSUME macro for GAS
Allow XMM instructions for ML
svn path=/branches/cmake-bringup/; revision=49419
Jérôme Gardou [Mon, 1 Nov 2010 22:55:56 +0000 (22:55 +0000)]
[CMAKE]
- improve win32k/CMakeLists.txt
svn path=/branches/cmake-bringup/; revision=49418
Johannes Anderwald [Mon, 1 Nov 2010 22:21:24 +0000 (22:21 +0000)]
[PORTCLS]
- Portcls does not need to set the size of the audio buffer for completed irps. This is done in a completion callback in wdmaud. Verified with WinXP portcls
[WDMAUD_KERNEL]
- Free allocated mdls in the io completion routine. Also free the associated stream header.
[KS]
- Replace all ms portcls hacks by one.
- MS Portcls is now working in ReactOS (which is nice for testing audio related bugs)
svn path=/trunk/; revision=49417
Jérôme Gardou [Mon, 1 Nov 2010 20:55:11 +0000 (20:55 +0000)]
[PSDK]
- add TrustedDomainAuthInformationInternal and TrustedDomainFullInformationInternalFix to _TRUSTED_INFORMATION_CLASS.
Fixes build
svn path=/trunk/; revision=49415
Timo Kreuzer [Mon, 1 Nov 2010 19:11:27 +0000 (19:11 +0000)]
[HAL]
Temporary build "fix"
svn path=/branches/cmake-bringup/; revision=49414
Timo Kreuzer [Mon, 1 Nov 2010 18:48:40 +0000 (18:48 +0000)]
{ASM]
- Remove superfluous .code64
- Add some macros for MSVC
svn path=/trunk/; revision=49413
Jérôme Gardou [Mon, 1 Nov 2010 18:42:33 +0000 (18:42 +0000)]
[ASM]
- no ML doesn't mean 64 bits, right?
svn path=/branches/cmake-bringup/; revision=49412
Jérôme Gardou [Mon, 1 Nov 2010 18:24:17 +0000 (18:24 +0000)]
[DXSDK]
- an interface must have an uuid.
If it "conflicts with uuids.h", then the problem il elsewhere.
svn path=/branches/cmake-bringup/; revision=49411