Commit graph

42840 commits

Author SHA1 Message Date
Sir Richard 549eedeeb4 [NTOS]: In MiInitializePfnForOtherProcess, should increment the sharecount of the page table PFN entry, not the PFN entry of the PTE itself. Spotted by Stefan100.
svn path=/trunk/; revision=47588
2010-06-05 14:55:17 +00:00
Sir Richard a2a190f44b [NTOS]: In MiDeleteSystemPageableVm, should also handle the case where the PTE is demand-zero. This can happen if the caller allocated, say, 12KB (3 pages) of paged pool, only touched 4KB (1 page), and then frees the allocation -- the other 2 pages will still be demand-zero at this point.
svn path=/trunk/; revision=47587
2010-06-05 14:54:26 +00:00
Eric Kohl 89c8d4178c [NTOSKRNL]
NtDuplicateToken: Fail, if a primary token is to be created from an impersonation token and and the impersonation level of the impersonation token is below SecurityImpersonation.

svn path=/trunk/; revision=47586
2010-06-05 12:20:53 +00:00
Jeffrey Morlan 7da6d0a6e2 [WIN32CSR] Implement some basic line editing capability
svn path=/trunk/; revision=47584
2010-06-05 06:10:53 +00:00
Sir Richard f4f8ee78d1 [NTOS]: Implement MiDeleteSystemPageableVm.
[NTOS]: The paged pool free code was behaving incorrectly, assuming that paged pool was "locked down" and never paged out/reused (a valid NT operation mode), while the allocation code was assuming paged pool was a volatile, reusable, pageable resource (normal NT operation mode). The free code now assumes normal operation mode, and actually frees the freed paged pool pages, by using MiDeleteSystemPageableVm.
I have a feeling this will make ARM3 paged pool work.

svn path=/trunk/; revision=47582
2010-06-05 04:16:46 +00:00
Jeffrey Morlan 9ef0181983 add missing file
svn path=/trunk/; revision=47581
2010-06-05 03:12:51 +00:00
Jeffrey Morlan ffcb1445f7 [KERNEL32], [WIN32CSR]
- Implement console history (note: not too useful yet without any way to recall it)
- Implement APIs GetConsoleCommandHistoryLength, GetConsoleCommandHistory, ExpungeConsoleCommandHistory, SetConsoleNumberOfCommands, GetConsoleHistoryInfo, SetConsoleHistoryInfo.
- Remove stub of obsolete function SetConsoleCommandHistoryMode, which no longer exists in Windows.

svn path=/trunk/; revision=47580
2010-06-05 00:45:08 +00:00
Sir Richard 25bf23bfc1 [NTOS]: When expanding paged pool, use MiRemoveAnyPage, not MmAllocPage.
[NTOS]: When expanding paged pool, initialize the PFN entry for the allocated page. Note we might be in arbitrary process space, so the PTE is not necessary valid for the process causing the expansion.
[NTOS]: Implement MiInitializePfnForOtherProcess to handle the case above.
[NTOS]: Change two static ASSERTs into C_ASSERTs. Might break non-x86 builds for a bit (vs breaking them at boot, which is worse).
Paged pool should start working soon.

svn path=/trunk/; revision=47579
2010-06-04 22:08:40 +00:00
Timo Kreuzer c25fc39e6f [winnt.h]
Fix definition of KNONVOLATILE_CONTEXT_POINTERS for amd64

svn path=/trunk/; revision=47578
2010-06-04 21:50:06 +00:00
Cameron Gutman 682cf08ee8 [FREELOADER]
- Use the old method for identifying the drive type (based on partition number) which actually works for floppies now because I changed the DrivePartition value returned (floppy = 0, cdrom = 0xFF) in a previous commit
- Fixes bug 5233

svn path=/trunk/; revision=47577
2010-06-04 20:36:48 +00:00
Cameron Gutman fc022a8506 [FREELOADER]
- Remove duplicated code
- Add back the Mac hack but use 0x8A for the lowest CD-ROM drive number instead of 0x90

svn path=/trunk/; revision=47576
2010-06-04 20:22:29 +00:00
Sir Richard 63ce635b0f [NTOS]: Build paged pool demand-zero PTE with MI_MAKE_SOFTWARE_PTE macro.
[NTOS]: Handle paged pool demand-zero fault fulfillment with MI_MAKE_HARDWARE_PTE macro.
[NTOS]: Use MiRemoveAnyPage instead of MmAllocPage, in paged pool demand-zero fault fulfillment.
These changes affect code paths that are not currently in-use.

svn path=/trunk/; revision=47575
2010-06-04 20:18:27 +00:00
Timo Kreuzer f150c299f2 [DDK]
Fix definition of USE_DMA_MACROS

svn path=/trunk/; revision=47574
2010-06-04 20:16:26 +00:00
Timo Kreuzer ffc6aac247 [MMEBUDDY]
Make mmebuddy more 64bit compliant. Based on r40127 by Samuel Serapion with some modifications by me.

svn path=/trunk/; revision=47573
2010-06-04 18:37:14 +00:00
Jeffrey Morlan 6659ae1d98 [WIN32CSR] Console input simplification:
- Put code for processing events for line input in one place, instead of duplicating it everywhere
- Remove "Fake" and "NotChar" fields from ConsoleInput struct. ConioProcessKey didn't actually add Fake events; they were used for the \n when converting \r to \r\n, but this is better done by the line input code.
- Build an input line completely on the server side; this will make it practical to add history and more sophisticated editing later

svn path=/trunk/; revision=47572
2010-06-04 18:26:22 +00:00
Sir Richard d3c4ade827 Testers: Please test this build.
[NTOS]: Implement a MI_MAKE_HARDWARE_PTE macro for the generation of valid kernel PTEs instead of always taking the ValidKernelPte and changing its flags. This macro will take into account the protection mask (up until now ignored) and use the array previously implemented to determine the correct hardware PTE settings. Assertions are also added to validate correct usage of the macro, and later revisions will fill out NT-specific fields to help deal with transition PTEs, page faults, etc.
[NTOS]: Make the stack code the first user of this macro, for the stack PTEs. Good testing base as we create kernel stacks very often.
[NTOS]: The NT MM ABI specifies that in between the allocation of a new PTE and its initialization as a valid PFN, the PTE entry should be an invalid PTE, and should only be marked valid after the PFN has been initialized. For stack PTEs, do this -- first allocating the page, making it invalid, then initializing the PFN, and then writing the valid page.

svn path=/trunk/; revision=47571
2010-06-04 17:49:36 +00:00
Sir Richard 1c28c16dfe [NTOS]: Allocate non-paged pool pages with MiRemoveAnyPage instead of MmAllocPage.
svn path=/trunk/; revision=47570
2010-06-04 17:40:11 +00:00
Timo Kreuzer 86ed4d64b5 [HAL]
Delete empty folder

svn path=/trunk/; revision=47569
2010-06-04 16:56:14 +00:00
Jeffrey Morlan 05740b5556 [WIN32CSR] Consistently store console input events internally as unicode.
svn path=/trunk/; revision=47568
2010-06-04 16:31:56 +00:00
Timo Kreuzer 3c5af5bea1 [KS]
- KSSTREAM_POINTER_OFFSET doesn't have an Alignment member on 64 bit systems. Comment the use out in these cases. It should probably be removed completely, as it's only an alignment / dummy value, but I leave this to the expert in this field.
- ULONG -> ULONG_PTR for pointer casts

svn path=/trunk/; revision=47567
2010-06-04 15:58:43 +00:00
Giannis Adamopoulos eca252dba7 [win32k]
- CreateWindow: initialize window position after sending WM_GETMINMAXINFO message

svn path=/trunk/; revision=47566
2010-06-04 11:30:14 +00:00
Timo Kreuzer 2b0533a1b0 [HAL]
- Move all amd64 specific files to one amd64 folder
- Compile x86 specific timer code only on x86
- Use KeRegisterInterruptHandler instead of manual idt manipulation
- add missing stubs for amd64

svn path=/trunk/; revision=47565
2010-06-04 10:59:19 +00:00
Timo Kreuzer a95f10c476 [NTOSKRNL]
Implement KeRegisterInterruptHandler and KeQueryInterruptHandler for amd64

svn path=/trunk/; revision=47564
2010-06-04 10:51:44 +00:00
Timo Kreuzer 32f5fc6eab [HAL]
- Move memory functions from halinit.c to new memory.c
- HalpAllocPhysicalMemory: MemoryFirmwareTemporary -> LoaderFirmwareTemporary (same value, different enum)

svn path=/trunk/; revision=47563
2010-06-04 10:17:55 +00:00
Jeffrey Morlan 0d06145871 [KERNEL32], [WIN32CSR]
- Make Get/SetConsoleTitle more compatible with windows; in particular, transfer title via capture buffer to allow for longer titles.
- Tighten up capture buffer validation in win32csr.

svn path=/trunk/; revision=47562
2010-06-04 06:36:12 +00:00
Timo Kreuzer 591e5017e9 revert 47559 and 47560 (once again... sigh)
svn path=/trunk/; revision=47561
2010-06-04 00:49:33 +00:00
Timo Kreuzer 38717f6840 try to fix build
svn path=/trunk/; revision=47560
2010-06-04 00:26:49 +00:00
Timo Kreuzer babe335c71 [DDK]
Merge the rest of the old header-branch version of ntddk.h, but with a large number of additional types #if 0'ed out

svn path=/trunk/; revision=47559
2010-06-04 00:19:39 +00:00
Timo Kreuzer a9cf165e5f [DDK]
try to work around the testbot brokenness with an #if 0"

svn path=/trunk/; revision=47558
2010-06-03 23:40:33 +00:00
Timo Kreuzer a8d609e19d [HAL]
Include the correct headers for amd64 vs i386

svn path=/trunk/; revision=47557
2010-06-03 23:18:20 +00:00
Timo Kreuzer 9bbc1250d2 [DDK]
In an incredibly daring move, add even more types to ntddk.h

svn path=/trunk/; revision=47556
2010-06-03 23:08:40 +00:00
Timo Kreuzer 3cbb0a3c40 [DDK]
2nd try, this time adding half of the structures.

svn path=/trunk/; revision=47555
2010-06-03 22:25:25 +00:00
Timo Kreuzer da7f98efe8 Revert r47553 because testbot doesn't like it
svn path=/trunk/; revision=47554
2010-06-03 22:15:54 +00:00
Timo Kreuzer c3179d84ef [DDK}
Add a number of PCI related types to ntddk.h

svn path=/trunk/; revision=47553
2010-06-03 21:55:57 +00:00
Timo Kreuzer 9d059198bb [ReactOS-amd64.rbuild]
The old explorer won't compile for amd64 without massive hacking, so remove it from the build.

svn path=/trunk/; revision=47552
2010-06-03 20:57:25 +00:00
Timo Kreuzer 5cede710e0 [ROSTESTS]
Fix 64 bit build of some modules (Samuel Serapion, modified by me)

svn path=/trunk/; revision=47551
2010-06-03 20:08:26 +00:00
Timo Kreuzer 859c81ee74 [W32KNAPI]
Add few more tests for NtGdiCreateBitmap

svn path=/trunk/; revision=47550
2010-06-03 19:39:28 +00:00
Timo Kreuzer 4e381837a0 [GDI32API]
add IsHandleValid and use it SelectObject test

svn path=/trunk/; revision=47549
2010-06-03 19:35:05 +00:00
Gregor Schneider 10dc21e801 [DESK]
- Rearrange screensaver wait codes around the MsgWaitForMultipleObjects function
- Fixes screensaver configuration windows blocking the control panel
- Refs: http://blogs.msdn.com/b/oldnewthing/archive/2005/02/17/375307.aspx and http://codereflect.com/2008/09/19/when-and-how-should-we-use-msgwaitformultipleobjects/

See issue #4213 for more details.

svn path=/trunk/; revision=47548
2010-06-03 18:47:37 +00:00
Timo Kreuzer 42667f14a0 [COMCTRL32]
Sync listview.c with wine 1.2 rc2


svn path=/trunk/; revision=47547
2010-06-03 17:56:15 +00:00
Timo Kreuzer 279fb08907 [PSDK]
add LVSIL_GROUPHEADER definition to commctrl.h

svn path=/trunk/; revision=47546
2010-06-03 17:52:23 +00:00
Timo Kreuzer fbb71f36dc [BROWSEUI]
merge r44391 from amd64 branch
fix 64bit build


svn path=/trunk/; revision=47545
2010-06-03 17:44:52 +00:00
Giannis Adamopoulos 5ec9991072 [user32]
- Remove a reactos only export (PrivateCsrssInitialized)
- Don't call NtUserGetClassLong
- Move implementation of AnyPopup to user mode
- Fix a small bug in GetParent and in IsChild

[csrss]
- Don't call PrivateCsrssInitialized

[win32k]
- Call CsrInit in NtUserInitialize so we can remove PrivateCsrssInitialized
- Romove a reactos only syscall (NtUserGetClassLong)
- Remove UserGetClassLongPtr, UserGetWindow, UserGetWindowLong, IntGetOwner. Instead access objects directly
- In WINDOW_OBJECT store pointer to the ownder window instead of a handle

svn path=/trunk/; revision=47544
2010-06-03 16:12:43 +00:00
Timo Kreuzer a101fb3029 [DDK]
Make RtlLargeIntegerDivide FORCEINLINE instead of __inline to avoid multiple definitions

svn path=/trunk/; revision=47543
2010-06-03 15:57:52 +00:00
Timo Kreuzer 33b6671aa1 [rbuild]
- cleanup obsolete rbuild flags for amd64
- undefine WIN32 for amd64, only _WIN32 should be defined

svn path=/trunk/; revision=47542
2010-06-03 15:50:19 +00:00
Gabriel Ilardi 54a043669e [SYSDM]
- Update Italian and Spanish translations.
- Add untranslated strings to the rest of the languages.

svn path=/trunk/; revision=47541
2010-06-03 15:09:08 +00:00
Timo Kreuzer cce23ec5f3 [ACPICA]
- Hack acwin64.h, don't assume msvc for win64

svn path=/trunk/; revision=47540
2010-06-03 14:55:25 +00:00
Timo Kreuzer 997911a7be [RBUILD]
- append stdcall decoration only for i386 target

svn path=/trunk/; revision=47539
2010-06-03 14:49:47 +00:00
Timo Kreuzer 489842b382 merge 46805 from amd64 branch:
[RBUILD]
Fix some parameters (starting with --, not with -)

svn path=/trunk/; revision=47538
2010-06-03 14:19:18 +00:00
Eric Kohl fc20aaf185 [NTOSKRNL]
NtDuplicateToken: If the called does not provide any desired access rights the duplicate token will inherit the granted rights of the original token.

svn path=/trunk/; revision=47535
2010-06-03 13:36:50 +00:00