Commit graph

44285 commits

Author SHA1 Message Date
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
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
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
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
531b4e5a24 {ASM]
- Remove superfluous .code64
- Add some macros for MSVC

svn path=/trunk/; revision=49413
2010-11-01 18:48:40 +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
Eric Kohl
45f49f49a4 [ADVAPI32]
Implement LsaAddAccountRights(), LsaQueryTrustedDomainInfoByName() and LsaRemoveAccountRights().

svn path=/trunk/; revision=49403
2010-11-01 14:09:33 +00:00
Johannes Anderwald
92caa24fa4 [PORTCLS]
- Add license header

svn path=/trunk/; revision=49401
2010-11-01 13:23:15 +00:00
Eric Kohl
fbd13b3b7b [SETUPAPI]
Implement CM_Get_Device_ID_List_ExW().

svn path=/trunk/; revision=49400
2010-11-01 12:39:51 +00:00
James Tabor
3fbc8a9077 [Explorer] - Revert last change.
svn path=/trunk/; revision=49394
2010-11-01 03:21:52 +00:00
James Tabor
4fb4d86702 [Explorer] - Track the only Global Hook ReactOS has.
svn path=/trunk/; revision=49393
2010-11-01 03:10:59 +00:00
James Tabor
4e5c48aaaf [Win32k] - Track end of life thread when removing hooks.
svn path=/trunk/; revision=49392
2010-11-01 01:56:07 +00:00
Johannes Anderwald
326f161b42 [PORTCLS]
- Add MPU-401 Uart miniport driver from DDK 2003 sample

svn path=/trunk/; revision=49389
2010-11-01 00:26:59 +00:00
Johannes Anderwald
dc4a3fbbe2 [DDK]
- Add dmusprop header
- Add IMP_PowerNotify macro to portcls.h
- Add IID_IMusicTechnology guid to portcls.h
- Add GTI_XXX macros to portcls.h
- Remove broken definitions of KSPROPSETID_Synth, KSPROPSETID_Synth_Dls. They are defined in dmusprop.h
- Add KSDATARANGE_MUSIC to ksmedia.h
- Add KSMUSIC_TECHNOLOGY, KSDATAFORMAT_SUBTYPE_MIDI_BUS, KSAUDFNAME_MIDI, KSNODETYPE_SYNTHESIZER to ksmedia.h

svn path=/trunk/; revision=49388
2010-11-01 00:17:07 +00:00
James Tabor
93b73bb489 [Win32k] - Lock thread when removing hooks.
svn path=/trunk/; revision=49386
2010-10-31 23:42:37 +00:00
Johannes Anderwald
bafe662783 [MMIXER]
- Enumerate MIDI devices and provide all necessary functions to deal with them
[WDMAUD_KERNEL]
- Implement support functions which call the provided functions of mmixer library
- Fix a bug in device interface request ioctl handler
- Midi devices should now be visible, capabilities be retrieved and opened / close
- Writing data is not yet supported

svn path=/trunk/; revision=49376
2010-10-31 14:34:41 +00:00
Johannes Anderwald
5dd7b0178c [MMEBUDDY]
- Getting device capabilities requires the unicode version of the structure
- Implement MIDM_OPEN, MIDM_CLOSE, MIDM_START, MIDM_STOP
- Implement MODM_OPEN, MODM_CLOSE
- Refactor MmeOpenWaveDevice into MmeOpenDevice add add support MIXER_DEVICE_TYPE, MIDI_IN_DEVICE_TYPE, MIDI_OUT_DEVICE_TYPE
- Refactor MmeCloseWaveDeivce into MmeCloseDevice and add support MIXER_DEVICE_TYPE, MIDI_IN_DEVICE_TYPE, MIDI_OUT_DEVICE_TYPE

svn path=/trunk/; revision=49374
2010-10-31 13:20:11 +00:00
Johannes Anderwald
c2e15397cc [SHELL32]
- Enable code as we support now IOCTL_DISK_GET_LENGTH_INFO
- IOCTL_DISK_GET_LENGTH_INFO implemented in 49369

svn path=/trunk/; revision=49372
2010-10-31 10:09:55 +00:00
Eric Kohl
18ab208eeb [SERVICES]
Revert r49366.

svn path=/trunk/; revision=49371
2010-10-31 10:00:21 +00:00
Pierre Schweitzer
3b08424abb [DISK]
Implemented support for IOCTL_DISK_GET_LENGTH_INFO

svn path=/trunk/; revision=49369
2010-10-31 08:13:33 +00:00
Johannes Anderwald
0fefcc022b [PORTCLS]
- Revert 49356
- This change breaks portcls on WinXP

svn path=/trunk/; revision=49368
2010-10-30 23:17:34 +00:00