[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
- 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
[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
- 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
- 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
- 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
- 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
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
- Check the custom paging file sizes for being within useful limits and display warnings if these limit were exceeded.
- Translators: Please translate the message strings!
svn path=/trunk/; revision=47534
- len returned from mbstowcs is the required size of the destination string, so only allocate the needed size.
- When doing the actual conversion pass in the size of the ansi string not the needed size of destination.
- These changes were missed in 47527.
svn path=/trunk/; revision=47529
- mbstowcs: Fix incorrect size passed as the second parameter for call to RtlMultiByteToUnicodeN.
Fixes loading assemblies when manifest is in a manifest file due to parsing failure.
svn path=/trunk/; revision=47527
- Fix a bug in the creation of the 'PagingFiles' registry value.
- Set paging file sizes only if both user defined sizes are valid numerical values and display a warning otherwise.
- Translators: Please translate the message strings!
svn path=/trunk/; revision=47525
- The last error messages were swapped in some languages, spotted by Paolo Devoti.
- Added the minimum required disk space also in the debug print.
See issue #5440 for more details.
svn path=/trunk/; revision=47524