Commit graph

37154 commits

Author SHA1 Message Date
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
Dmitry Chapyshev
8b7d2f3924 - Add probing of the result buffers
svn path=/trunk/; revision=41464
2009-06-19 07:46:46 +00:00
Cameron Gutman
12adb28b86 - Fix 2 typos
svn path=/trunk/; revision=41463
2009-06-19 07:34:34 +00:00
Cameron Gutman
1cde39c156 - Report that we are NDIS 5.1
svn path=/trunk/; revision=41462
2009-06-19 06:53:58 +00:00
Cameron Gutman
cf30be51fb - Big debugging update
- Also fix some little bugs and reduce code duplication

svn path=/trunk/; revision=41461
2009-06-19 06:47:00 +00:00
Cameron Gutman
02b61191c8 - Make CancelId a LONG
svn path=/trunk/; revision=41460
2009-06-19 05:12:20 +00:00
KJK::Hyperion
591cbf3208 modified tools/rbuild/backend/mingw/compilers/gcc.mak
modified   tools/rbuild/backend/mingw/compilers/msc.mak
   New rules for C preprocessor that compiles to standard output (RBUILD_PIPE_CPP, RBUILD_PIPE_CXX_CPP)

modified   tools/rbuild/backend/mingw/rules.mak
   Use RBUILD_PIPE_CPP in RBUILD_WRC_RULE, instead of hardcoding GCC

svn path=/trunk/; revision=41459
2009-06-19 02:28:33 +00:00
KJK::Hyperion
f073fbe6ab Revert 41455
svn path=/trunk/; revision=41458
2009-06-19 01:12:25 +00:00
KJK::Hyperion
204b2befbb modified drivers/filesystems/fastfat/blockdev.c
modified   drivers/filesystems/fastfat/dirwr.c
modified   drivers/filesystems/fastfat/ea.c
modified   drivers/filesystems/fastfat/finfo.c
   Silence "argument unused" warnings
   Corrected several accesses to potentially uninitialized variables

modified   drivers/filesystems/fastfat/vfat.h
   Visual C++ is no longer a guarantee of compilation with the DDK

Patch by Samuel Serapión <samdwise51@gmail.com>

svn path=/trunk/; revision=41457
2009-06-19 00:21:21 +00:00
KJK::Hyperion
82276953f4 modified drivers/input/i8042prt/createclose.c
modified   drivers/input/i8042prt/i8042prt.c
modified   drivers/input/i8042prt/keyboard.c
modified   drivers/input/i8042prt/misc.c
modified   drivers/input/i8042prt/mouse.c
modified   drivers/input/i8042prt/readwrite.c
   Silence "argument unused" and "unused variable" warnings
   Corrected several accesses to potentially uninitialized variables

Patch by Samuel Serapión <samdwise51@gmail.com>

svn path=/trunk/; revision=41456
2009-06-19 00:17:15 +00:00
KJK::Hyperion
dc90252573 modified lib/cmlib/hivecell.c
modified   lib/cmlib/hiveinit.c
   Silence "argument unused" warnings

Patch by Samuel Serapión <samdwise51@gmail.com>

svn path=/trunk/; revision=41455
2009-06-19 00:12:26 +00:00
KJK::Hyperion
f06e2b532c modified drivers/bus/pci/fdo.c
modified   drivers/bus/pci/pci.c
modified   drivers/bus/pci/pdo.c
   Silence "argument unused" warnings
   Corrected a potentially uninitialized variable access

Patch by Samuel Serapión <samdwise51@gmail.com>

svn path=/trunk/; revision=41454
2009-06-19 00:09:42 +00:00
Stefan Ginsberg
a4cad0ba8d - Fix compiler flag for rosautotest
- Get rid of -Wno-format in the Winetests, replacing it with __ROS_LONG64__.

svn path=/trunk/; revision=41453
2009-06-18 22:16:49 +00:00
Stefan Ginsberg
4acc879393 - Revert 39470, reapplying the __ROS_LONG64__ check for INT_PTR and UINT_PTR on 32-bit.
svn path=/trunk/; revision=41452
2009-06-18 22:07:20 +00:00
Stefan Ginsberg
85c7801c12 - Only pass gcc flags to gcc.
svn path=/trunk/; revision=41451
2009-06-18 22:06:16 +00:00
Aleksey Bragin
4f6ecaaec2 - Implement ProcessQuotaLimits case for NtQueryInformationProcess. Based on Dmitry Chapyshev's patch.
svn path=/trunk/; revision=41450
2009-06-18 19:46:18 +00:00
Stefan Ginsberg
6cfc9ab326 - Add missing NTAPI to DriverEntry
svn path=/trunk/; revision=41449
2009-06-18 19:13:05 +00:00
Stefan Ginsberg
3d64a589fb - Do not pass gcc and ld flags to other tools
svn path=/trunk/; revision=41448
2009-06-18 18:18:57 +00:00
Daniel Reimer
065a190de7 Bug 4620: Incorrect code page output in shutdown.exe (Russian locale) by John White
Polish Translation Updates by Maciej Bialas

svn path=/trunk/; revision=41447
2009-06-18 15:47:41 +00:00
Ged Murphy
ce911cc090 Fix the version data in the registry to match what the kernel reports.
svn path=/trunk/; revision=41446
2009-06-18 10:59:15 +00:00
Daniel Reimer
9fdf163245 Bug 4610: Dutch translation for Solitaire by reFly <wouterdevlieger@gmail.com>
Bug 4619: Japanese translation update for syssetup and downloader by Tomoya Kitagawa

svn path=/trunk/; revision=41445
2009-06-18 09:30:33 +00:00