Commit graph

44568 commits

Author SHA1 Message Date
Amine Khaldi
bbecbe25fc [CMAKE]
- Improve base and bus drivers.

svn path=/branches/cmake-bringup/; revision=49468
2010-11-04 20:46:27 +00:00
Sylvain Petreolle
b37636dc12 [CMAKE]
One .acm suffix is enough.
Dedicated to AmineKhaldi.

svn path=/branches/cmake-bringup/; revision=49467
2010-11-04 13:29:58 +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
Jérôme Gardou
3e704fcf1c [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
2010-11-03 18:15:51 +00:00
Jérôme Gardou
8a92f19054 [CMAKE]
cmake doesn't like braces

svn path=/branches/cmake-bringup/; revision=49460
2010-11-03 16:59:50 +00:00
Jérôme Gardou
9e6d47d509 [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
2010-11-03 12:57:03 +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
Timo Kreuzer
d63277525c [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
2010-11-02 21:31:45 +00:00
Timo Kreuzer
42f5ff6943 [MINGW]
add CRTDLL definition so that the startup code for dlls is actually compiled

svn path=/branches/cmake-bringup/; revision=49452
2010-11-02 20:39:19 +00:00
Amine Khaldi
cc843688e5 [CMAKE]
- Minor formatting.

svn path=/branches/cmake-bringup/; revision=49451
2010-11-02 20:27:06 +00:00
Amine Khaldi
2f6d499617 [CMAKE]
- Move more dlls with no stubs into using def files instead of spec files.

svn path=/branches/cmake-bringup/; revision=49450
2010-11-02 20:23:56 +00:00
Amine Khaldi
79b73c825d [CMAKE]
- Move more dlls with no stubs into using def files instead of spec files.

svn path=/branches/cmake-bringup/; revision=49449
2010-11-02 19:58:29 +00:00
Amine Khaldi
67948fbc90 [CMAKE]
- Move some dlls with no stubs into using def files instead of spec files.

svn path=/branches/cmake-bringup/; revision=49448
2010-11-02 18:19:44 +00:00
Jérôme Gardou
fa36534888 [CMAKE]
Poor little gcc, forgotten by Timo

svn path=/branches/cmake-bringup/; revision=49447
2010-11-02 17:25:36 +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
Johannes Anderwald
c600a169fb [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
2010-11-02 09:37:30 +00:00
Timo Kreuzer
2b2d3d2776 [CMAKE]
Rename add_importlib_def to add_importlib_target
add importlib targets for ntdll, msvcrt, shell32, user32

svn path=/branches/cmake-bringup/; revision=49427
2010-11-02 09:22:58 +00:00
Art Yerkes
f2e646d5b4 [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
2010-11-02 02:32:39 +00:00
Timo Kreuzer
7697abf4a2 [WIN32K]
Disable GDI_DEBUG. It's using > 20 MB memory. Too much for some people ;-)

svn path=/trunk/; revision=49422
2010-11-02 01:17:45 +00:00
Timo Kreuzer
a3623f23de [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
2010-11-02 00:06:33 +00:00
Timo Kreuzer
0d7a1c46a0 [ASM]
Fix dummy ASSUME

svn path=/branches/cmake-bringup/; revision=49420
2010-11-02 00:03:41 +00:00
Timo Kreuzer
62ea941082 [ASM]
Add .double macro for ML and dummy ASSUME macro for GAS
Allow XMM instructions for ML

svn path=/branches/cmake-bringup/; revision=49419
2010-11-01 23:18:51 +00:00
Jérôme Gardou
070543284f [CMAKE]
- improve win32k/CMakeLists.txt

svn path=/branches/cmake-bringup/; revision=49418
2010-11-01 22:55:56 +00:00
Johannes Anderwald
26895c3eac [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
2010-11-01 22:21:24 +00:00
Jérôme Gardou
a6e4c15192 [PSDK]
- add TrustedDomainAuthInformationInternal and TrustedDomainFullInformationInternalFix to _TRUSTED_INFORMATION_CLASS.
Fixes build

svn path=/trunk/; revision=49415
2010-11-01 20:55:11 +00:00
Timo Kreuzer
3187b69e40 [HAL]
Temporary build "fix"

svn path=/branches/cmake-bringup/; revision=49414
2010-11-01 19:11:27 +00:00
Timo Kreuzer
531b4e5a24 {ASM]
- Remove superfluous .code64
- Add some macros for MSVC

svn path=/trunk/; revision=49413
2010-11-01 18:48:40 +00:00
Jérôme Gardou
d933565eff [ASM]
- no ML doesn't mean 64 bits, right?

svn path=/branches/cmake-bringup/; revision=49412
2010-11-01 18:42:33 +00:00
Jérôme Gardou
eea40886f2 [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
2010-11-01 18:24:17 +00:00
Johannes Anderwald
63a4962e7c [PORTCLS]
- Dear lawyers / worried developers, this is the XP DDK Version. 

svn path=/trunk/; revision=49410
2010-11-01 17:33:06 +00:00