Commit graph

37174 commits

Author SHA1 Message Date
Christoph von Wittich fe3ce41568 sync jscript_winetest with wine 1.1.24
svn path=/trunk/; revision=41543
2009-06-22 13:51:31 +00:00
Christoph von Wittich e44867e54a sync jscript with wine 1.1.24
svn path=/trunk/; revision=41542
2009-06-22 13:51:07 +00:00
Dmitry Gorbachev debf9f3155 Fix build.
svn path=/trunk/; revision=41541
2009-06-22 13:47:10 +00:00
Dmitry Gorbachev e890438845 Silence warnings.
svn path=/trunk/; revision=41539
2009-06-22 13:37:49 +00:00
Dmitry Gorbachev 8374c07f2d Fix comment.
svn path=/trunk/; revision=41538
2009-06-22 13:28:18 +00:00
Dmitry Gorbachev d103f7f548 [FORMATTING]
svn path=/trunk/; revision=41537
2009-06-22 13:26:12 +00:00
Dmitry Gorbachev 1fcd100e50 Remove unused functions.
svn path=/trunk/; revision=41535
2009-06-22 11:33:19 +00:00
Dmitry Gorbachev ae5cb55a9c - If KDBG is not compiled in, try to use GDB instead.
- Check WrapperTable.KdpPrintRoutine.
- Allow to use GDB (/DEBUGPORT=GDB) and have debug output (/DEBUGPORT=COM1) at the same time.

svn path=/trunk/; revision=41534
2009-06-22 11:32:58 +00:00
Dmitry Gorbachev 30a7c1f02f Change GDB stub.
svn path=/trunk/; revision=41533
2009-06-22 11:32:25 +00:00
Dmitry Gorbachev ce839b70b3 Remove unused stuff.
svn path=/trunk/; revision=41532
2009-06-22 11:31:57 +00:00
ReactOS Portable Systems Group dba96538b8 - Initialize system PTE space.
svn path=/trunk/; revision=41530
2009-06-22 10:22:19 +00:00
ReactOS Portable Systems Group 872b7b4830 - Initialize count of System PTEs:
- Use 7000 for systems with 19MB of RAM or less, 11000 for systems between 19 and 32MB of RAM, and 22000 for systems with more than that.
  - Windows will go up to 50000 on server machines, but this is likely not needed now (22000 system PTEs is roughly 100 MB).
  - This now affects the calculation of MmNonPagedSystemStart, which is now correct and reflects the nonpaged address space of the system.
  - System PTEs are not yet initialized (but their page tables are mapped by the same code which maps nonpaged pool expansion VA page tables).


svn path=/trunk/; revision=41529
2009-06-22 09:34:24 +00:00
ReactOS Portable Systems Group e5cc98dbc4 - Initialize nonpaged pool expansion system PTEs (MiInitializeSystemPtes):
- Just supports expansion space for now, not system space.
  - Very basic initialization of the accounting structures required.
  - Sets up the first two system PTE clusters for the space (the first contains the linkage, the second contains the sizage).
  - Called from MiInitializeArmPool.


svn path=/trunk/; revision=41528
2009-06-22 08:51:28 +00:00
ReactOS Portable Systems Group e980bd998f - Initialize the ARM pool (MiInitializeArmPool):
- Do some additional accounting to keep track of initial nonpaged pool range and size.
  - Create and initialize the free page lists, and free page entries.
  - Validate that the initial nonpaged pool address space was properly mapped.
  - Validate that the expansion nonpaged pool address space is unmapped, and prepare to map it.


svn path=/trunk/; revision=41527
2009-06-22 08:22:41 +00:00
Cameron Gutman 773786eb4c - Revert wininet back to pre-41059
- Fixes random corruption of downloads

svn path=/trunk/; revision=41526
2009-06-22 06:45:21 +00:00
ReactOS Portable Systems Group f2ce1cf66f - Begin the implementation of the ARM Pool Manager, a replacement for the ReactOS nonpaged pool.
- Define the nonpaged system address space as done on Windows (see init.c for a brief introduction and source reading materials on this).
  - Size up the ARM pool as done on Windows (again, see init.c for documentation on this).
  - Create the PDEs for the expansion pool and the initial pool.
  - Allocate the pages for the initial pool, and map them.
    - Unlike ReactOS, ARM³ does the right thing and uses physically continuous pages.
  - Define two new static MEMORY_AREAs for the expansion and initial ARM pool.
  - No actual pool code/implementation is available yet, we are just slicing up the address space for now (mhmm... cake!)*.

* There is no cake.


svn path=/trunk/; revision=41525
2009-06-22 06:16:57 +00:00
ReactOS Portable Systems Group 47122e35e8 - The SVN pre-commit hook is broken: /srv/svn/reactos/hooks/commit-eol-style-check.pl: `/usr/bin/svnlook proplist /srv/svn/reactos -t 41523-w6z --verbose trunk/reactos/ntoskrnl/mm/ARM?\194?\179/init.c' failed with this output:
svnlook: Path 'trunk/reactos/ntoskrnl/mm/ARM?\194?\179/init.c' does not exist.


svn path=/trunk/; revision=41524
2009-06-22 06:13:23 +00:00
ReactOS Portable Systems Group eb4911e3e8 - Add a directory for the Alternative ReactOS Memory Management Module (ARM³), also called the ARM (port) Memory Manager.
svn path=/trunk/; revision=41523
2009-06-22 04:57:21 +00:00
Cameron Gutman 55b816a7c4 - Fix a bug that caused translations of NdisParameterInteger values into unicode strings to produce bad results
- Fix a bug that caused NdisParameterMultiString values to be written to the registry incorrectly

svn path=/trunk/; revision=41522
2009-06-22 01:10:58 +00:00
Cameron Gutman 12b34a994b - Partial rewrite of NdisReadConfiguration
- It now determines the parameter type based on the key instead of the ParameterType passed by the caller (documented on MSDN)
 - It also always sets (*ParameterValue)->ParameterType to NdisParameterInteger when reading an integer or hex integer value (documented on MSDN)
 - This will fix miniport drivers that supply a bogus ParameterType value because it is ignored by NDIS on NT

svn path=/trunk/; revision=41521
2009-06-22 00:49:06 +00:00
KJK::Hyperion 586a1d0fff Move gcc -g and -Wall options out of rbuild and into .rbuild files
Move non-architecture-specific msc options to ReactOS-generic.rbuild

svn path=/trunk/; revision=41520
2009-06-21 22:13:28 +00:00
KJK::Hyperion da2965ea12 Compilers other than GCC deserve offsetof, don't they?
svn path=/trunk/; revision=41519
2009-06-21 21:40:37 +00:00
KJK::Hyperion d38eca89a3 Don't change an std::set in the loop that enumerates it. Patch by Daniel Zimmermann <netzimme@aim.com>
See issue #3128 for more details.

svn path=/trunk/; revision=41518
2009-06-21 21:37:47 +00:00
Johannes Anderwald 46ec0bb579 - Fix a buffer overrun
svn path=/trunk/; revision=41517
2009-06-21 21:35:40 +00:00
Daniel Reimer fda2c1efd7 Bug 4626: slovak update by Mario Kacmar
svn path=/trunk/; revision=41516
2009-06-21 20:00:00 +00:00
Aleksey Bragin 024b2b410c - Implement two helper functions to correctly set permissions for a window station and desktops. Those are unused now, but they are going to solve two problems in current winlogon. First of them being a "big HACK" in CreateWindowStationAndDesktops(), which has to do CloseDesktop / OpenDesktopW to get a non-inheritable handle with GENERIC_ALL righs. Second problem is that security attributes structure passed to CreateWindowStationW and CreateDesktopW are invalid because now lpSecurityDescriptor points to an ACL but it's supposed to point to an actual SECURITY_DESCRIPTOR structure. Information from: http://msdn.microsoft.com/en-us/library/aa379608.aspx.
svn path=/trunk/; revision=41515
2009-06-21 19:23:06 +00:00
Stefan Ginsberg d3421fde4b - Define noreturn attribute for KeBugCheckWithTf and KiBugCheckDebugBreak in a msvc compatible way
svn path=/trunk/; revision=41513
2009-06-21 17:06:34 +00:00
Johannes Anderwald 93a8c8a165 - Don't release object which drivers should release
- Fixes a few crashes when starting another audio stream

svn path=/trunk/; revision=41512
2009-06-21 10:48:09 +00:00
ReactOS Portable Systems Group 88b93de202 - MC_NPPOOL is special-cased in the memory balancer core to always force the allocation of a page, even in low-memory conditions (which in ReactOS, occur early-on because, in a stroke of typical ReactOS genius, the balancer core is called before the balancer initailizes its values and thresholds). Make MC_SYSTEM special-cased as well, so we never fail to allocate page tables early-on.
- This fixes booting on systems which required enough page tables such that the balancer refused the allocation of new pages (around 64+16 pages for page tables of 4KB each, ie. 320MB).


svn path=/trunk/; revision=41511
2009-06-21 09:08:05 +00:00
ReactOS Portable Systems Group e7b3dac46f - Nonpaged pool MEMORY_AREA is now initialized during nonpaged pool initialization (and it is now a static MEMORY_AREA).
- Paged pool MEMORY_AREA is now initialized during paged pool initialization.
- Remaining MEMORY_AREAs (KPCR and KUSER_SHARED_DATA) are now created in MiInitSystemMemoryAreas (and they are also static) instead of MmInitVirtualMemory, since this is really what the function was doing.
  - The page table and hyperspace MEMORY_AREAs are still initialized the same, but are also now static.
  - The creation of these core/system memory areas is now done much earlier. For example, hyperspace memory area is now created before hyperspace is mapped.
- Nonpaged pool, paged pool, and working set initialization is now done outside MiInitSystemMemoryAreas and roughly at the same time as before.
- Removed MmInitVirtualMemory as it had become a kitchen sink of random Memory Manager initialization code.
- I/O and Local APIC MEMORY_AREAs are not created anymore, since that should be done by the HAL, not the kernel.


svn path=/trunk/; revision=41510
2009-06-21 06:36:45 +00:00
ReactOS Portable Systems Group f29743948c - Introduce a new MEMORY_AREA flag, MEMORY_AREA_STATIC:
- MEMORY_AREA structures are typically allocated from nonpaged pool, under the assumption it exists.
  - However, nonpaged pool itself is described by a MEMORY_AREA.  Right now, this MEMORY_AREA is created after nonpaged pool has been initialized (it is a miracle this works).
  - This new flag allows MEMORY_AREA structures to be allocated statically, allowing the description of certain system address space components, themselves prerequisites to nonpaged pool creation, as well as the nonpaged pool component itself, before nonpaged pool has been initialized.
  - This is not yet used.


svn path=/trunk/; revision=41509
2009-06-21 05:46:50 +00:00
ReactOS Portable Systems Group ec3307ef64 - Define a new consumer: MC_SYSTEM:
- Right now, it is only used for allocating new page tables for kernel-mode mappings.
  - This consumer's pages are never zeroed automatically (this is a more endemic ReactOS problem -- kernel pages are zeroed when they shouldn't be).
    - New page tables, however, should indeed be zeroed, so now they are zeroed manually with RtlZeroMemory.
    - The page zero function is not called anymore, and a useless zero-space hyperspace mapping is thus saved each time this happens.
    - Because of this, zero-space hyperspace mappings are required much later in the Memory Manager's initialization steps than before.

svn path=/trunk/; revision=41508
2009-06-21 05:33:48 +00:00
ReactOS Portable Systems Group 7afb3ea904 - Add another helper: MiGetPfnEntryIndex. This returns the page frame number (PFN) for a given MMPFN entry.
- Also add MiPteToAddress to complement MiAddressToPte. This returns the VA for a given PTE. Bonus points if you can figure out the bit magic.


svn path=/trunk/; revision=41507
2009-06-21 04:28:31 +00:00
ReactOS Portable Systems Group 6464056a16 - Get rid of MmPageArray and MmPageArraySize since these were defined as just being ReactOS-specific clones of MmPfnDatabase and MmHighestPhysicalPage. Ergo, use the latter in relevant places.
svn path=/trunk/; revision=41506
2009-06-21 04:14:49 +00:00
ReactOS Portable Systems Group f7ed5bd01d - It is very possible for MiGetPfnEntry to be called for a page above the page array size, since not all pages are represented in the array. In this scenario, MiGetPfnEntry should return NULL (and the caller should be prepared for this scenario).
- Also move out the extern definitions outside of the inline, so that other functions may access them and consequently removing a needless UNREFERENCED_PARAMETER.


svn path=/trunk/; revision=41505
2009-06-21 04:09:25 +00:00
ReactOS Portable Systems Group 7f3a8dc045 - Add missing flags for MmAllocatePagesForMdlEx.
svn path=/trunk/; revision=41504
2009-06-21 03:59:23 +00:00
ReactOS Portable Systems Group 4fbc4ba227 - Remove MmGetPageFlags and MmSetPageFlags, there are no consumers of these two functions.
- Get rid of PHYSICAL_PAGE structure and move to WinNT MMPFN structure instead:
  - Define a preprocessor legacy mapping so that freelist.c receives only minimal changes:
    - This mapping allows the old meanings of the PHYSICAL_PAGE fields to remain, but now part of the new MMPFN structure
    - Other modules (balance.c and mm.h) use the new structure directly, since only 3 lines of code required changes.
  - The NT structure is 8 bytes smaller than the ReactOS structure, which saves about 1MB of physical memory and kernel VA space
    for each 512MB of RAM, or 25% less. This also enables ReactOS to support 25% more memory than before (64GB instead of 48GB).


svn path=/trunk/; revision=41503
2009-06-21 03:57:42 +00:00
Johannes Anderwald 66a0e71bf5 - Use interval of 10ms for the periodic timer IPortPinWaveRT
- Initialize a periodic timer for IPortPinWavePci
- Might fix Vortex AU8820C0 card

svn path=/trunk/; revision=41498
2009-06-21 00:16:32 +00:00
Johannes Anderwald eef3e1deca - Define private interface IPortWaveRTStreamInit in order to deal with PHYSICAL_ADDRESS as return value
- Implement reading/writing into cyclic buffer for IPortPinWaveRT 
- Allocate an audio buffer when the pin is initialized. This needs to be changed once KSPROPERTY_RTAUDIO_BUFFER is implemented
- Fix a bug in PcNewPort
- Remove obsolete code from IPortWavePci
- Return the allocated MDL from IPortWaveRTStream::AllocateContiguousPagesForMdl
- Create a system thread when using IServiceGroup::RequestDelayedService
- ReactOS now partly supports Vista audio driver model

svn path=/trunk/; revision=41497
2009-06-20 23:37:55 +00:00
Johannes Anderwald 9c621c0524 - Free forgotten irps
- Implement PcCompleteIrp

svn path=/trunk/; revision=41489
2009-06-20 16:00:45 +00:00
Christoph von Wittich d9042af464 partial dbghelp wine sync
svn path=/trunk/; revision=41474
2009-06-19 22:14:54 +00:00
Christoph von Wittich aa85426a38 improve some more Lsa stubs
svn path=/trunk/; revision=41473
2009-06-19 22:08:02 +00:00
Christoph von Wittich 2869ff1fbc better stub for LsaEnumerateAccountRights
svn path=/trunk/; revision=41472
2009-06-19 21:54:19 +00:00
Stefan Ginsberg b1821667f4 - Define noreturn attribute for KeBugCheck/Ex in a msvc-compatible way
svn path=/trunk/; revision=41471
2009-06-19 19:43:41 +00:00
Stefan Ginsberg d749e95880 - Define UNREFERENCED_PARAMETER for cmlib when built as host and reapply 41455.
svn path=/trunk/; revision=41470
2009-06-19 16:05:16 +00:00
Johannes Anderwald db429325e1 - Fix build
svn path=/trunk/; revision=41469
2009-06-19 13:59:27 +00:00
Johannes Anderwald 10e71311b1 - Make ks.h and drmk.h msvc compatible
svn path=/trunk/; revision=41468
2009-06-19 12:07:17 +00:00
Johannes Anderwald f791b1fa91 - Improve user mode buffer probing
svn path=/trunk/; revision=41467
2009-06-19 10:50:19 +00:00
Dmitry Chapyshev 97aea8189d - Add target process reference/dereference in ProcessWow64Information case of NtQueryInformationProcess.
- Check buffer length

svn path=/trunk/; revision=41466
2009-06-19 08:49:01 +00:00
Dmitry Chapyshev 1cdc856b9c - Check buffer length for ProcessQuotaLimits/ProcessBasePriority/ProcessRaisePriority/ProcessWx86Information/ProcessDebugPort cases
svn path=/trunk/; revision=41465
2009-06-19 08:22:24 +00:00