reactos.git
11 years agoAdd accessibility keys.
Sylvain Petreolle [Thu, 25 Jun 2009 19:58:12 +0000 (19:58 +0000)]
Add accessibility keys.

svn path=/trunk/; revision=41613

11 years ago- revert 41605 as its incorrect
Johannes Anderwald [Thu, 25 Jun 2009 18:48:46 +0000 (18:48 +0000)]
- revert 41605 as its incorrect

svn path=/trunk/; revision=41612

11 years agosync shell32 with wine 1.1.24
Christoph von Wittich [Thu, 25 Jun 2009 14:39:01 +0000 (14:39 +0000)]
sync shell32 with wine 1.1.24

svn path=/trunk/; revision=41611

11 years agoRemove a hack from NtAccessCheck(). Bug #4169.
Dmitry Gorbachev [Thu, 25 Jun 2009 13:29:58 +0000 (13:29 +0000)]
Remove a hack from NtAccessCheck(). Bug #4169.

svn path=/trunk/; revision=41610

11 years agoNo reason to compile PSEH2 with other compilers than GCC
KJK::Hyperion [Thu, 25 Jun 2009 10:27:57 +0000 (10:27 +0000)]
No reason to compile PSEH2 with other compilers than GCC

svn path=/trunk/; revision=41607

11 years ago- Don't modify access status when function fails
Johannes Anderwald [Thu, 25 Jun 2009 07:16:26 +0000 (07:16 +0000)]
- Don't modify access status when function fails
- reduces advapi32_winetest security failures by 3

svn path=/trunk/; revision=41605

11 years agoRewrite (NtUser)SystemParametersInfo and related.
Timo Kreuzer [Thu, 25 Jun 2009 02:43:38 +0000 (02:43 +0000)]
Rewrite (NtUser)SystemParametersInfo and related.
- Instead of getting the data from the window station and other strange places, the values are now mostly stored in a global variable. This is possible because NtUserSystemParametersInfo should fail anyway when being called from a non-interactive windowstation (tested on windows XP).
- WM_SETTINGCHANGE is now properly sent not posted to all toplevel Windows also passing the registry string as the lParam value (strings could need some testing).
- SystemMetrics are now set and updated from system parameters.
- Most values are now properly loaded from registry and also saved.
- user32_winetest sysparams: before: 634 executed / 235 failures, after: 1093 executed, 11 failures
- Fixes the non-bold caption font in 2nd stage.
- Implements a number SPI codes.
- Implements helper functions for registry and file access
Thanks to all testers for all the regression testing :)

See issue #4595 for more details.

svn path=/trunk/; revision=41604

11 years agoHack: partially undo r38510 changes to overcome regression (bug #4169).
Dmitry Gorbachev [Wed, 24 Jun 2009 22:23:29 +0000 (22:23 +0000)]
Hack: partially undo r38510 changes to overcome regression (bug #4169).

svn path=/trunk/; revision=41603

11 years agofix typo
Christoph von Wittich [Wed, 24 Jun 2009 22:12:48 +0000 (22:12 +0000)]
fix typo

svn path=/trunk/; revision=41602

11 years agofix formatting
Christoph von Wittich [Wed, 24 Jun 2009 22:07:50 +0000 (22:07 +0000)]
fix formatting

svn path=/trunk/; revision=41601

11 years ago - Fix a crash that happens when we are running at APC_LEVEL, acquire the recursive...
Cameron Gutman [Wed, 24 Jun 2009 21:57:48 +0000 (21:57 +0000)]
 - Fix a crash that happens when we are running at APC_LEVEL, acquire the recursive mutex (which improperly handled APC_LEVEL), then attempt to access paged pool (or do anything else that depends on Irql < DISPATCH_LEVEL)
 - Optimize the code for acquiring and releasing the recursive mutex at DISPATCH_LEVEL

svn path=/trunk/; revision=41600

11 years agostub NtSetThreadExecutionState needed by PowerPoint Viewer 2003
Christoph von Wittich [Wed, 24 Jun 2009 19:53:54 +0000 (19:53 +0000)]
stub NtSetThreadExecutionState needed by PowerPoint Viewer 2003

svn path=/trunk/; revision=41599

11 years agofix crash while loading PowerPoint 2003 Viewer
Christoph von Wittich [Wed, 24 Jun 2009 19:53:06 +0000 (19:53 +0000)]
fix crash while loading PowerPoint 2003 Viewer
See issue #4624 for more details.

svn path=/trunk/; revision=41598

11 years ago- Hey Arch, try to learn basic PSEH2 syntax before fuddling around with it.
Stefan Ginsberg [Tue, 23 Jun 2009 23:06:10 +0000 (23:06 +0000)]
- Hey Arch, try to learn basic PSEH2 syntax before fuddling around with it.

svn path=/trunk/; revision=41597

11 years ago - Fix the order of checks
Cameron Gutman [Tue, 23 Jun 2009 14:51:50 +0000 (14:51 +0000)]
 - Fix the order of checks

svn path=/trunk/; revision=41590

11 years ago - We only need 11 chars to hold our 32-bit integer and the trailing NULL char
Cameron Gutman [Tue, 23 Jun 2009 14:47:48 +0000 (14:47 +0000)]
 - We only need 11 chars to hold our 32-bit integer and the trailing NULL char
 - Make sure we don't overread our buffer

svn path=/trunk/; revision=41589

11 years ago - Move NDIS_VERSION into ndissys.h and use it for NdisGetVersion also
Cameron Gutman [Tue, 23 Jun 2009 14:09:59 +0000 (14:09 +0000)]
 - Move NDIS_VERSION into ndissys.h and use it for NdisGetVersion also

svn path=/trunk/; revision=41587

11 years ago - Fix adapter failure if a network address of invalid length is specified
Cameron Gutman [Tue, 23 Jun 2009 14:00:49 +0000 (14:00 +0000)]
 - Fix adapter failure if a network address of invalid length is specified

svn path=/trunk/; revision=41586

11 years ago - Fix a crash when reading the network address from the registry
Cameron Gutman [Tue, 23 Jun 2009 13:58:56 +0000 (13:58 +0000)]
 - Fix a crash when reading the network address from the registry
 - Fixes bug 4634

svn path=/trunk/; revision=41585

11 years agosync urlmon with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 13:37:11 +0000 (13:37 +0000)]
sync urlmon with wine 1.1.24

svn path=/trunk/; revision=41584

11 years ago - Fix adapter failure when a network address is not specified in the registry
Cameron Gutman [Tue, 23 Jun 2009 12:41:14 +0000 (12:41 +0000)]
 - Fix adapter failure when a network address is not specified in the registry
 - As a bonus, it also fixes OID_802_3_PERMANENT_ADDRESS

svn path=/trunk/; revision=41583

11 years agosync ntdll rtlstr winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 12:02:58 +0000 (12:02 +0000)]
sync ntdll rtlstr winetest with wine 1.1.24

svn path=/trunk/; revision=41582

11 years agosync crypt32_winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:47:46 +0000 (11:47 +0000)]
sync crypt32_winetest with wine 1.1.24

svn path=/trunk/; revision=41581

11 years agosync kernel32_winetest with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:44:23 +0000 (11:44 +0000)]
sync kernel32_winetest with wine 1.1.24

svn path=/trunk/; revision=41580

11 years agosync shlwapi with wine 1.1.24
Christoph von Wittich [Tue, 23 Jun 2009 11:24:10 +0000 (11:24 +0000)]
sync shlwapi with wine 1.1.24

svn path=/trunk/; revision=41579

11 years ago- Reimplement the way zeroing PTEs are used:
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:34:45 +0000 (09:34 +0000)]
- Reimplement the way zeroing PTEs are used:
  - First, switch to using system PTEs as it should've been from the beginning. Our original implementation was broken and prone to race conditions, which Dmitry graciously fixed.
  - We can now remove the MiZeroPageInternal hack that was used as a way to avoid deadlock/contention in the zero paths.
  - Zeroing PTEs is done at DPC level in ReactOS, to avoid ReactOS-specific race issues. In Windows NT, this operation is always done at passive.
  - Zeroing PTEs are similar to hyperspace PTEs, but they can be mapped in chunks for optimization.
    - ReactOS does not currently make use of this functionality, so zeroing is pretty slow, especially on bootup if you have lots of memory (all RAM is zeroed).
    - The existing ReactOS "compatibility layer" for hyperspace was augmented to seamlessly use the new zeroing PTE API.
  - You must now unmap zeroing PTEs -- MiZeroPage was modified to do this.
  - System PTE binning, NBQUEUES and SLISTS would optimize this further. TBD.
- Once again, tested on the trinity of supported emulators.

svn path=/trunk/; revision=41578

11 years ago- Jesus Christ man, learn some C, will you?
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:23:16 +0000 (09:23 +0000)]
- Jesus Christ man, learn some C, will you?
- Fix boot.
- The lack of colorful poetry is brought to you by cogent human beings on the West Coast whom you should be thankful haven't gone to bed yet.

svn path=/trunk/; revision=41577

11 years ago- So it turns out bad things can happen if you play behind Mm's back.
ReactOS Portable Systems Group [Tue, 23 Jun 2009 09:11:01 +0000 (09:11 +0000)]
- So it turns out bad things can happen if you play behind Mm's back.
- The lovely poetry is brought to you by 7AM coding marathons...

svn path=/trunk/; revision=41576

11 years ago- Move ARM Pool to 0xB0000000 to avoid clashing with existing ReactOS address space...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 07:49:39 +0000 (07:49 +0000)]
- Move ARM Pool to 0xB0000000 to avoid clashing with existing ReactOS address space components (shouldn't happen if things work right, but better safe than sorry).
- Implement System PTE allocator (MiReserveAlignedSystemPtes and MiReserveSystemPtes). Very simple yet functional, no optimizes for now.
- Allocate 32 zeoring PTEs from the System PTE pool.
  - Not used yet, only the allocation is made to test the current framework.
- Tested on VirtualBox, QEMU and VMWare with RAM sizes from 128MB to 1536MB with no problems.

svn path=/trunk/; revision=41575

11 years ago- Move hypermap.c into ARM3 since it will be changed to use System PTEs for zero...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 07:32:43 +0000 (07:32 +0000)]
- Move hypermap.c into ARM3 since it will be changed to use System PTEs for zero PTEs to solve the current race conditions that had to be fixed/hacked around in the current implementation.
- DO NOT MAP HYPERSPACE PTEs as GLOBAL! They are now mapped as local, which might fix some really strange bugs that could've occured in the past.
- Use MiPteToAddress instead of manually doing the bitmagic when mapping a page into hyperspace.

svn path=/trunk/; revision=41574

11 years ago- For one thing, fix build in ARM3/init.c (sorry!)
ReactOS Portable Systems Group [Tue, 23 Jun 2009 06:39:10 +0000 (06:39 +0000)]
- For one thing, fix build in ARM3/init.c (sorry!)
- Secondly, initialize hyperspace in ARM³ now, at the correct place:
  - Also, create the hyperspace PDE here, and not in FreeLDR, which was incorrect in the first place.
    - This might help booting Windows/WinLDR.
- Install-tested w/ networking, with no issues found, on:
  - Virtual Box 2.4
  - VMWare 6.5
  - QEMU 0.9.0
- PEBKAC?

svn path=/trunk/; revision=41573

11 years ago- Do not zero out MC_SYSTEM pages if they are "early pages" either. This could cause...
ReactOS Portable Systems Group [Tue, 23 Jun 2009 06:32:11 +0000 (06:32 +0000)]
- Do not zero out MC_SYSTEM pages if they are "early pages" either. This could cause issues on certain systems where mapping the PFN database required "early pages", and they were zeroed before hyperspace was ready.
- Add a new flag to MmGetContigousPages to specify if these pages should be zeroed or not. Allows the nonpaged pool pages not to get automatically zeroed when allocated (the NP pool allocator can do this by itself later). This allows initial nonpaged pool to be allocated before hyperspace is ready.

svn path=/trunk/; revision=41572

11 years ago- Do not reformat other people's code simply to reformat it.
ReactOS Portable Systems Group [Tue, 23 Jun 2009 05:00:48 +0000 (05:00 +0000)]
- Do not reformat other people's code simply to reformat it.

svn path=/trunk/; revision=41571

11 years ago- Revert 41567:
ReactOS Portable Systems Group [Tue, 23 Jun 2009 04:59:32 +0000 (04:59 +0000)]
- Revert 41567:
  - ARM³ (Alternate ReactOS Memory Management Module) "stuff" is not ACORN Risc Machines (ARM) Port "stuff".
  - We are lucky this user made this change before the rest of the code was checked in -- hyperspace, MDLs, nonpaged pool, kernel stacks, I/O mappings, noncached memory and contigous memory will soon all be built on ARM³ -- good thing this wasn't the case yet!
  - Recommend this user gets banned for reverting code without approval within the 24hr grace period in ReactOS guidelines.
  - If you have a bug to report, use Bugzilla, not your head as a sledgehammer.

svn path=/trunk/; revision=41570

11 years agofix comment IsUserAdmin -> IsUserAnAdmin
Christoph von Wittich [Mon, 22 Jun 2009 22:59:30 +0000 (22:59 +0000)]
fix comment  IsUserAdmin -> IsUserAnAdmin

svn path=/trunk/; revision=41569

11 years agopartial advapi32 sid sync to wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 22:54:03 +0000 (22:54 +0000)]
partial advapi32 sid sync to wine 1.1.24

svn path=/trunk/; revision=41568

11 years agodon't build arm stuff on non arm builds
Christoph von Wittich [Mon, 22 Jun 2009 22:48:39 +0000 (22:48 +0000)]
don't build arm stuff on non arm builds
fixes 2nd stage

svn path=/trunk/; revision=41567

11 years ago- define YieldProcessor msvc compatible
Johannes Anderwald [Mon, 22 Jun 2009 21:07:52 +0000 (21:07 +0000)]
- define YieldProcessor msvc compatible
- rtl now builds

svn path=/trunk/; revision=41566

11 years agoChange <wine/list.h> to use the magic attribute salad for inline functions in headers
KJK::Hyperion [Mon, 22 Jun 2009 20:29:48 +0000 (20:29 +0000)]
Change <wine/list.h> to use the magic attribute salad for inline functions in headers

svn path=/trunk/; revision=41565

11 years agoDon't want to fix all uses of PSEH2 macros, therefore have some curly braces, everyone
KJK::Hyperion [Mon, 22 Jun 2009 20:27:16 +0000 (20:27 +0000)]
Don't want to fix all uses of PSEH2 macros, therefore have some curly braces, everyone

svn path=/trunk/; revision=41564

11 years agoCorrect placement of calling convention attribute
KJK::Hyperion [Mon, 22 Jun 2009 20:25:25 +0000 (20:25 +0000)]
Correct placement of calling convention attribute

svn path=/trunk/; revision=41563

11 years agomodified lib/sdk/crt/include/float.h
KJK::Hyperion [Mon, 22 Jun 2009 20:22:06 +0000 (20:22 +0000)]
modified   lib/sdk/crt/include/float.h
   What the hell has <float.h> to do with S_IFIFO, Arch?

svn path=/trunk/; revision=41562

11 years agomodified lib/rtl/exception.c
KJK::Hyperion [Mon, 22 Jun 2009 20:19:06 +0000 (20:19 +0000)]
modified   lib/rtl/exception.c
   Silence unavoidable warning

modified   lib/rtl/generictable.c
   Avoid silenceable warning

svn path=/trunk/; revision=41561

11 years agomodified dll/win32/kernel32/file/volume.c
KJK::Hyperion [Mon, 22 Jun 2009 20:15:42 +0000 (20:15 +0000)]
modified   dll/win32/kernel32/file/volume.c
modified   dll/win32/kernel32/misc/actctx.c
modified   dll/win32/kernel32/misc/lang.c
   C89 compliance

modified   dll/win32/kernel32/k32.h
   Include <limits.h>

modified   dll/win32/kernel32/misc/res.c
   Hey Arch, instead of copying and pasting definitions from <wine/list.h>, why don't you include it?

svn path=/trunk/; revision=41560

11 years agosync CreateWellKnownSid with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 20:08:05 +0000 (20:08 +0000)]
sync CreateWellKnownSid with wine 1.1.24

svn path=/trunk/; revision=41559

11 years agosync advapi32_winetest with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 20:07:32 +0000 (20:07 +0000)]
sync advapi32_winetest with wine 1.1.24

svn path=/trunk/; revision=41558

11 years ago#define inline to __inline for Visual C++ when compiling C sources
KJK::Hyperion [Mon, 22 Jun 2009 20:03:20 +0000 (20:03 +0000)]
#define inline to __inline for Visual C++ when compiling C sources

svn path=/trunk/; revision=41557

11 years agomodified dll/ntdll/include/ntdll.h
KJK::Hyperion [Mon, 22 Jun 2009 20:00:38 +0000 (20:00 +0000)]
modified   dll/ntdll/include/ntdll.h
   Explicitly include <pseh/pseh2.h>

modified   dll/ntdll/ldr/utils.c
   Use ANSI C variadic macros, instead of hacks

ntdll now compiles with Visual C++

svn path=/trunk/; revision=41556

11 years agosync user32 button with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:56:37 +0000 (19:56 +0000)]
sync user32 button with wine 1.1.24

svn path=/trunk/; revision=41555

11 years agosync user32_winetest with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:52:48 +0000 (19:52 +0000)]
sync user32_winetest with wine 1.1.24

svn path=/trunk/; revision=41554

11 years agosync credui with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:47:30 +0000 (19:47 +0000)]
sync credui with wine 1.1.24

svn path=/trunk/; revision=41553

11 years agosync hhctrl.ocx with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:38:47 +0000 (19:38 +0000)]
sync hhctrl.ocx with wine 1.1.24

svn path=/trunk/; revision=41552

11 years agosync cryptdlg and cryptui with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:29:26 +0000 (19:29 +0000)]
sync cryptdlg and cryptui with wine 1.1.24

svn path=/trunk/; revision=41551

11 years agosync crypt32 with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 19:27:02 +0000 (19:27 +0000)]
sync crypt32 with wine 1.1.24

svn path=/trunk/; revision=41550

11 years ago- Remove padding member from ETHREAD, it's not needed anymore after KTHREAD has been...
Aleksey Bragin [Mon, 22 Jun 2009 14:09:16 +0000 (14:09 +0000)]
- Remove padding member from ETHREAD, it's not needed anymore after KTHREAD has been fixed.

svn path=/trunk/; revision=41545

11 years agosync advpack and msi with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 14:01:24 +0000 (14:01 +0000)]
sync advpack and msi with wine 1.1.24

svn path=/trunk/; revision=41544

11 years agosync jscript_winetest with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 13:51:31 +0000 (13:51 +0000)]
sync jscript_winetest with wine 1.1.24

svn path=/trunk/; revision=41543

11 years agosync jscript with wine 1.1.24
Christoph von Wittich [Mon, 22 Jun 2009 13:51:07 +0000 (13:51 +0000)]
sync jscript with wine 1.1.24

svn path=/trunk/; revision=41542

11 years agoFix build.
Dmitry Gorbachev [Mon, 22 Jun 2009 13:47:10 +0000 (13:47 +0000)]
Fix build.

svn path=/trunk/; revision=41541

11 years agoSilence warnings.
Dmitry Gorbachev [Mon, 22 Jun 2009 13:37:49 +0000 (13:37 +0000)]
Silence warnings.

svn path=/trunk/; revision=41539

11 years agoFix comment.
Dmitry Gorbachev [Mon, 22 Jun 2009 13:28:18 +0000 (13:28 +0000)]
Fix comment.

svn path=/trunk/; revision=41538

11 years ago[FORMATTING]
Dmitry Gorbachev [Mon, 22 Jun 2009 13:26:12 +0000 (13:26 +0000)]
[FORMATTING]

svn path=/trunk/; revision=41537

11 years agoRemove unused functions.
Dmitry Gorbachev [Mon, 22 Jun 2009 11:33:19 +0000 (11:33 +0000)]
Remove unused functions.

svn path=/trunk/; revision=41535

11 years ago- If KDBG is not compiled in, try to use GDB instead.
Dmitry Gorbachev [Mon, 22 Jun 2009 11:32:58 +0000 (11:32 +0000)]
- 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

11 years agoChange GDB stub.
Dmitry Gorbachev [Mon, 22 Jun 2009 11:32:25 +0000 (11:32 +0000)]
Change GDB stub.

svn path=/trunk/; revision=41533

11 years agoRemove unused stuff.
Dmitry Gorbachev [Mon, 22 Jun 2009 11:31:57 +0000 (11:31 +0000)]
Remove unused stuff.

svn path=/trunk/; revision=41532

11 years ago- Initialize system PTE space.
ReactOS Portable Systems Group [Mon, 22 Jun 2009 10:22:19 +0000 (10:22 +0000)]
- Initialize system PTE space.

svn path=/trunk/; revision=41530

11 years ago- Initialize count of System PTEs:
ReactOS Portable Systems Group [Mon, 22 Jun 2009 09:34:24 +0000 (09:34 +0000)]
- 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

11 years ago- Initialize nonpaged pool expansion system PTEs (MiInitializeSystemPtes):
ReactOS Portable Systems Group [Mon, 22 Jun 2009 08:51:28 +0000 (08:51 +0000)]
- 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

11 years ago- Initialize the ARM pool (MiInitializeArmPool):
ReactOS Portable Systems Group [Mon, 22 Jun 2009 08:22:41 +0000 (08:22 +0000)]
- 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

11 years ago - Revert wininet back to pre-41059
Cameron Gutman [Mon, 22 Jun 2009 06:45:21 +0000 (06:45 +0000)]
 - Revert wininet back to pre-41059
 - Fixes random corruption of downloads

svn path=/trunk/; revision=41526

11 years ago- Begin the implementation of the ARM Pool Manager, a replacement for the ReactOS...
ReactOS Portable Systems Group [Mon, 22 Jun 2009 06:16:57 +0000 (06:16 +0000)]
- 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

11 years ago- The SVN pre-commit hook is broken: /srv/svn/reactos/hooks/commit-eol-style-check...
ReactOS Portable Systems Group [Mon, 22 Jun 2009 06:13:23 +0000 (06:13 +0000)]
- 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

11 years ago- Add a directory for the Alternative ReactOS Memory Management Module (ARM³), also...
ReactOS Portable Systems Group [Mon, 22 Jun 2009 04:57:21 +0000 (04:57 +0000)]
- Add a directory for the Alternative ReactOS Memory Management Module (ARM³), also called the ARM (port) Memory Manager.

svn path=/trunk/; revision=41523

11 years ago - Fix a bug that caused translations of NdisParameterInteger values into unicode...
Cameron Gutman [Mon, 22 Jun 2009 01:10:58 +0000 (01:10 +0000)]
 - 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

11 years ago - Partial rewrite of NdisReadConfiguration
Cameron Gutman [Mon, 22 Jun 2009 00:49:06 +0000 (00:49 +0000)]
 - 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

11 years agoMove gcc -g and -Wall options out of rbuild and into .rbuild files
KJK::Hyperion [Sun, 21 Jun 2009 22:13:28 +0000 (22:13 +0000)]
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

11 years agoCompilers other than GCC deserve offsetof, don't they?
KJK::Hyperion [Sun, 21 Jun 2009 21:40:37 +0000 (21:40 +0000)]
Compilers other than GCC deserve offsetof, don't they?

svn path=/trunk/; revision=41519

11 years agoDon't change an std::set in the loop that enumerates it. Patch by Daniel Zimmermann...
KJK::Hyperion [Sun, 21 Jun 2009 21:37:47 +0000 (21:37 +0000)]
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

11 years ago- Fix a buffer overrun
Johannes Anderwald [Sun, 21 Jun 2009 21:35:40 +0000 (21:35 +0000)]
- Fix a buffer overrun

svn path=/trunk/; revision=41517

11 years agoBug 4626: slovak update by Mario Kacmar
Daniel Reimer [Sun, 21 Jun 2009 20:00:00 +0000 (20:00 +0000)]
Bug 4626: slovak update by Mario Kacmar

svn path=/trunk/; revision=41516

11 years ago- Implement two helper functions to correctly set permissions for a window station...
Aleksey Bragin [Sun, 21 Jun 2009 19:23:06 +0000 (19:23 +0000)]
- 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: msdn.microsoft.com/en-us/library/aa379608.aspx.

svn path=/trunk/; revision=41515

11 years ago- Define noreturn attribute for KeBugCheckWithTf and KiBugCheckDebugBreak in a msvc...
Stefan Ginsberg [Sun, 21 Jun 2009 17:06:34 +0000 (17:06 +0000)]
- Define noreturn attribute for KeBugCheckWithTf and KiBugCheckDebugBreak in a msvc compatible way

svn path=/trunk/; revision=41513

11 years ago- Don't release object which drivers should release
Johannes Anderwald [Sun, 21 Jun 2009 10:48:09 +0000 (10:48 +0000)]
- Don't release object which drivers should release
- Fixes a few crashes when starting another audio stream

svn path=/trunk/; revision=41512

11 years ago- MC_NPPOOL is special-cased in the memory balancer core to always force the allocati...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 09:08:05 +0000 (09:08 +0000)]
- 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

11 years ago- Nonpaged pool MEMORY_AREA is now initialized during nonpaged pool initialization...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 06:36:45 +0000 (06:36 +0000)]
- 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

11 years ago- Introduce a new MEMORY_AREA flag, MEMORY_AREA_STATIC:
ReactOS Portable Systems Group [Sun, 21 Jun 2009 05:46:50 +0000 (05:46 +0000)]
- 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

11 years ago- Define a new consumer: MC_SYSTEM:
ReactOS Portable Systems Group [Sun, 21 Jun 2009 05:33:48 +0000 (05:33 +0000)]
- 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

11 years ago- Add another helper: MiGetPfnEntryIndex. This returns the page frame number (PFN...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 04:28:31 +0000 (04:28 +0000)]
- 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

11 years ago- Get rid of MmPageArray and MmPageArraySize since these were defined as just being...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 04:14:49 +0000 (04:14 +0000)]
- 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

11 years ago- It is very possible for MiGetPfnEntry to be called for a page above the page array...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 04:09:25 +0000 (04:09 +0000)]
- 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

11 years ago- Add missing flags for MmAllocatePagesForMdlEx.
ReactOS Portable Systems Group [Sun, 21 Jun 2009 03:59:23 +0000 (03:59 +0000)]
- Add missing flags for MmAllocatePagesForMdlEx.

svn path=/trunk/; revision=41504

11 years ago- Remove MmGetPageFlags and MmSetPageFlags, there are no consumers of these two funct...
ReactOS Portable Systems Group [Sun, 21 Jun 2009 03:57:42 +0000 (03:57 +0000)]
- 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

11 years ago- Use interval of 10ms for the periodic timer IPortPinWaveRT
Johannes Anderwald [Sun, 21 Jun 2009 00:16:32 +0000 (00:16 +0000)]
- 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

11 years ago- Define private interface IPortWaveRTStreamInit in order to deal with PHYSICAL_ADDRE...
Johannes Anderwald [Sat, 20 Jun 2009 23:37:55 +0000 (23:37 +0000)]
- 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

11 years ago- Free forgotten irps
Johannes Anderwald [Sat, 20 Jun 2009 16:00:45 +0000 (16:00 +0000)]
- Free forgotten irps
- Implement PcCompleteIrp

svn path=/trunk/; revision=41489

11 years agopartial dbghelp wine sync
Christoph von Wittich [Fri, 19 Jun 2009 22:14:54 +0000 (22:14 +0000)]
partial dbghelp wine sync

svn path=/trunk/; revision=41474

11 years agoimprove some more Lsa stubs
Christoph von Wittich [Fri, 19 Jun 2009 22:08:02 +0000 (22:08 +0000)]
improve some more Lsa stubs

svn path=/trunk/; revision=41473

11 years agobetter stub for LsaEnumerateAccountRights
Christoph von Wittich [Fri, 19 Jun 2009 21:54:19 +0000 (21:54 +0000)]
better stub for LsaEnumerateAccountRights

svn path=/trunk/; revision=41472

11 years ago- Define noreturn attribute for KeBugCheck/Ex in a msvc-compatible way
Stefan Ginsberg [Fri, 19 Jun 2009 19:43:41 +0000 (19:43 +0000)]
- Define noreturn attribute for KeBugCheck/Ex in a msvc-compatible way

svn path=/trunk/; revision=41471