Commit graph

39235 commits

Author SHA1 Message Date
Christoph von Wittich 72a954c01c fix all gdi32 gdiobj winetests
svn path=/trunk/; revision=43545
2009-10-17 21:04:04 +00:00
Christoph von Wittich e3d7acd1d3 sync shlwapi to wine 1.1.31
svn path=/trunk/; revision=43544
2009-10-17 20:45:32 +00:00
Timo Kreuzer f130d66bcd Add some structure offset macros to asm.h for amd64
svn path=/trunk/; revision=43543
2009-10-17 20:19:42 +00:00
Stefan Ginsberg f38bd8e550 - Fix msvc build broken in 43466 -- please stop hurting msvc, it just wants to be loved (and wants __declspec placed first).
svn path=/trunk/; revision=43542
2009-10-17 20:01:58 +00:00
Christoph von Wittich f4cc76248f sync dialog to wine 1.1.31 (fixes one dialog winetest)
svn path=/trunk/; revision=43541
2009-10-17 20:00:54 +00:00
Christoph von Wittich f4eecb6b90 sync edit to wine 1.1.31
svn path=/trunk/; revision=43539
2009-10-17 19:35:42 +00:00
Timo Kreuzer 0ea1ccb49d disable ROS_LONG64 hack for amd64
svn path=/trunk/; revision=43538
2009-10-17 19:19:22 +00:00
Timo Kreuzer 20a908383b Merge 41030 from amd64 branch
svn path=/trunk/; revision=43537
2009-10-17 19:16:01 +00:00
Christoph von Wittich f9fd097505 [Shell32]: in shell view, use the expected value for the effect in Drag & Drop operation
patch by <eric dot pouech at orange dot fr>

svn path=/trunk/; revision=43536
2009-10-17 19:15:04 +00:00
Timo Kreuzer a9d250c6a6 build kdcom for amd64, too
svn path=/trunk/; revision=43534
2009-10-17 16:34:07 +00:00
Johannes Anderwald ba91ff3d49 - Quick & dirty implementation of WIDM_RESET / WODM_RESET
svn path=/trunk/; revision=43533
2009-10-17 15:08:01 +00:00
Stefan Ginsberg 4bbe9c3785 - ntdll: Remove deprecated LdrpLoadUserModuleSymbols that doesn't actually do anything since the hack in NtSystemDebugControl was removed almost 3 years ago.
- Cc: Remove weird check for DBG or KDBG -- debug code should always be wrapped under #if DBG.

svn path=/trunk/; revision=43532
2009-10-17 15:03:54 +00:00
Hervé Poussineau 1943fae14f Fix warning
svn path=/trunk/; revision=43531
2009-10-17 14:55:50 +00:00
Stefan Ginsberg 9a713108ad - Add STATUS_SUCCESS to asm.h and make use of it.
- Implement Bus and I/O space read and write support.
- Implement support for AUTOENABLE, DISABLE and NOUMEX subparameters to /debug. Add the missing string scan and set and respect the related globals properly. Add support for disabling the debugger and suspending breakpoints.
- Add and implement KdIsThisAKdTrap to determine if the kernel debugger can't ignore a particular trap -- returns true for software breakpoints and debug service calls (DbgPrint for example). Called from KiDispatchException to determine whether to override NOUMEX (otherwise, DbgPrint and friends will kill user mode applications). Stub this for KDBG as it implements its own scheme for ignoring user mode.
- KiDispatchException: Clean up some goto and support NOUMEX. Also don't check if KiDebugRoutine is NULL -- it will never be.
- KdEnableDebuggerWithLock should initialize the debugger even if KdDisableCount is 0 (but only if called internally) as this means that the debugger was never initialized in the first place. Required for AUTOENABLE and for enabling the debugger during a bugcheck. Add the globals to kdbg too but don't set or respect them there as kdbg does not support it.
- Enable KdEnableDebugger and implement KdDisableDebugger for KD as KdDisableDebuggerWithLock is now implemented.
- Only build kdmemsup.c if KDBG is defined.

svn path=/trunk/; revision=43530
2009-10-17 14:31:38 +00:00
Hervé Poussineau 494daf26e9 [freeldr] FAT driver: check for directory attribute before parsing the next part of filename
Implement OpenDirectory mode in FAT driver

svn path=/trunk/; revision=43529
2009-10-17 14:05:34 +00:00
Aleksey Bragin b9e1012f27 [fastfat_new]
- Implement FatiOpenExistingFcb.
- Make FatGetFcbUnicodeName supporting DCBs.
- Implement FF_OpenW wrapper around FullFAT to support opening files/dirs using a unicode name.

svn path=/trunk/; revision=43528
2009-10-17 13:18:29 +00:00
Aleksey Bragin fdaf0acd73 [fastfat_new]
- Search FCBs with unicode name too, besides of OEM.
- Create an infrastructure for opening existing FCB/DCBs.

svn path=/trunk/; revision=43527
2009-10-17 10:57:48 +00:00
Daniel Reimer efa205834d Added 11 new Backs for my bavarian cards dll. Way better than 12 times the same ;-)
svn path=/trunk/; revision=43525
2009-10-17 00:09:51 +00:00
Timo Kreuzer 3a1ea98678 ULONG -> ULONG_PTR when casting handles
svn path=/trunk/; revision=43524
2009-10-16 23:11:28 +00:00
Stefan Ginsberg b3f7a6bd5f Downgrade various debug prints from DPRINT1 to DPRINT, ranging from "useless" to "pretty useless".
svn path=/trunk/; revision=43523
2009-10-16 22:03:38 +00:00
Christoph von Wittich 2def6506a9 fix all msvcrt file winetests
svn path=/trunk/; revision=43522
2009-10-16 21:43:28 +00:00
Christoph von Wittich 821924adcb don't set errno for libcnt
svn path=/trunk/; revision=43521
2009-10-16 21:29:27 +00:00
Christoph von Wittich 59ee8d397a -sync msvcrt_init_io to wine 1.1.31
fixes 12 msvcrt file winetests

svn path=/trunk/; revision=43520
2009-10-16 20:57:00 +00:00
Christoph von Wittich 030837bb5e -fix some msvcrt string winetests
svn path=/trunk/; revision=43519
2009-10-16 20:40:41 +00:00
Christoph von Wittich 0428782362 sync msvcrt winetest with wine 1.1.31
svn path=/trunk/; revision=43518
2009-10-16 20:32:42 +00:00
Aleksey Bragin 9c31ef3801 [fastfat_new]
- Improve FatCreateDcb so that it sets the dir name.
- Implement relative file object open.

svn path=/trunk/; revision=43517
2009-10-16 18:39:38 +00:00
Aleksey Bragin 021a16cdd7 [fastfat_new]
- Implement FatiOpenExistingDir.

svn path=/trunk/; revision=43516
2009-10-16 17:10:12 +00:00
Cameron Gutman 228c572a3f - Add rasadhlp to build and bootcd
svn path=/trunk/; revision=43515
2009-10-16 14:51:35 +00:00
Aleksey Bragin f00df42b5f [fastfat_new]
- Add a function to read the dirent and return status of that object - does it exist, is it a file or a directory.
- Branch according to this in FatiCreate and try to open either an existing file or an existing directory. Directory open is stubbed.

svn path=/trunk/; revision=43513
2009-10-16 13:11:05 +00:00
Aleksey Bragin 18857bc6be [fastfat_new]
- Minor comments/TODO improvement in FatiCreate.

svn path=/trunk/; revision=43512
2009-10-16 12:29:34 +00:00
Cameron Gutman c53695755d - Fix build
svn path=/trunk/; revision=43511
2009-10-16 04:41:40 +00:00
Cameron Gutman 181002e46e - Add Alex's rasadhlp
- It builds on my WC but it may not build on trunk (because of our lacking headers)

svn path=/trunk/; revision=43510
2009-10-16 04:33:22 +00:00
Cameron Gutman 6a80145ce3 - Define GUIDs correctly to prevent "multiple definition" errors
svn path=/trunk/; revision=43509
2009-10-16 04:20:34 +00:00
ReactOS Portable Systems Group d37d315a7e - Move some unimplemented Ex* Pool routines into ARM3's expool.c.
- Move some unimplemented Mm* Pool routines into ARM3's pool.c.


svn path=/trunk/; revision=43508
2009-10-16 00:28:33 +00:00
ReactOS Portable Systems Group c0bb477b78 - Implement ARM3 page fault handling.
- Paged pool PTEs are demand zero PTEs while the memory hasn't been accessed -- this is the only type of fault supported.
- Because paged pool PDEs are also demand-paged, added code to handle demand paging of PDEs as well.
- Also, because paged pool is non-resident, but can be accessed from any process, we need a mechanism to sync up the kernel's page directory with the per-process one, on demand. This is done at startup, but other processes may have paged in paged pool that another process knows nothing about when he faults.
  - Similar to the hack ReactOS Mm uses, but done properly.
  - This is what that shadow system page directory is finally being used for.
- Assert if we get a user-mode fault, a transition fault, or a soft fault, since these shouldn't happen.
- Disable APCs while dispatching faults, and pseudo-use the working set lock.
- Assert if we get write errors on read-only pages, since we don't use those in ARM3 yet.
- Assert if we have a paged out PTE, this shouldn't happen yet.
- Enable test to see if we can touch a paged pool allocation.


svn path=/trunk/; revision=43507
2009-10-15 22:08:26 +00:00
ReactOS Portable Systems Group 5ac42f871f - Add some simple code to handle paged pool page allocation and freeing in MiAllocatePoolPages and MiFreePoolPages.
- Allocation does not support paged pool expansion yet, so we're limited to the initial 4MB that are initialized on startup.
- This only tests the raw page allocation routines so touching memory will fail as we don't handle paged pool faults yet.
- Nothing excercises this code path other than some simple tests while booting.


svn path=/trunk/; revision=43503
2009-10-15 21:23:24 +00:00
Johannes Anderwald ac9e8c032c - Revert accidental change
svn path=/trunk/; revision=43502
2009-10-15 20:29:04 +00:00
Aleksey Bragin b2a0c58433 - Update user32_winetest to Wine-1.1.31.
svn path=/trunk/; revision=43499
2009-10-15 20:00:27 +00:00
Aleksey Bragin a96cc21b73 - Update gdi32_winetest to Wine-1.1.31 keeping a bitmap font test skipping hack.
svn path=/trunk/; revision=43496
2009-10-15 19:50:01 +00:00
Aleksey Bragin 637fc75ac0 [PSDK]
- Add MM_MIN / MM_MAX definitions.

svn path=/trunk/; revision=43495
2009-10-15 19:49:10 +00:00
Gregor Schneider c7d855690a Amendment to r43487: check last character as well
svn path=/trunk/; revision=43494
2009-10-15 19:28:11 +00:00
ReactOS Portable Systems Group 657da0b009 - Fix comments.
- Fix reading the incorrect pool type when freeing pool. The PoolType in the entry is offset by 1, so it can be either 1 for NonPaged or 2 for paged. This used to give us index 0 for nonpaged (correct), and index -1 for paged (oops!). Mask by 3 instead, so we get 0 and 1.


svn path=/trunk/; revision=43489
2009-10-15 19:19:40 +00:00
ReactOS Portable Systems Group 3b34847f3e - Collapse MmInit1 into MmInitSystem.
- Check for ARM3-owned memory areas during a page fault, and crash the system as this shouldn't happen yet.
- Use portable PTE macro instead of setting the owner bit directly, fixing an ARM port build issue.


svn path=/trunk/; revision=43488
2009-10-15 19:12:43 +00:00
Gregor Schneider b452b0b30a [kernel32] IsBadStringPtrA/W:
- Remove overflow failure case, this isn't checked for string validation
- Adapt page check to let the full string be checked in case of overflow
See issue #4861 for more details.

svn path=/trunk/; revision=43487
2009-10-15 19:12:37 +00:00
ReactOS Portable Systems Group 071a297838 - Fix a bug in memory area creation: Static memory areas had the static flag embedded in their type, so code that was switch()ing on the type would fail to recognize the actual type, because MEMORY_AREA_STATIC was ORed in.
- Add a new memory area type: MEMORY_AREA_OWNED_BY_ARM3. This will allow us to instruct the ReactOS Memory MAnager to "Back. The Fuck. Off."  during page faults and such, so we can handle page faults inside ARM3-owned PTEs ourselves.
  - Right now, all ARM3 PTEs and data is nonpaged, so no page faults should happen, but this may change in the future.
  - Also will allow us to manage our own PDEs so we can do on-demand inpage instead of syncing with the ReactOS Mm hack cache.
- Create all memory areas in one shot in MmCreateSystemMemoryAreas (get rid of MiInitPageDirectoryMap and MiInitPagedPool memory area creation).
  - Mark all of ours as owned by ARM3.
  - Make them all static.
  - The only non-ARM3 one right now is paged pool, we own all the other static areas.
  - Move this code into mm, instead of mm/ARM3, since memory areas are not an ARM3 concept.
  - Also create memory areas for session space, session view, and other ARM3 memory ranges, so nobody touches those ranges.
- Dump the kernel address space after all this is done, in a MmDbg function in mm.
- This cleans up ARM3 of some ROS-specific code, and also collapses Phase 1 and 2 into a single phase.


svn path=/trunk/; revision=43486
2009-10-15 18:54:35 +00:00
Aleksey Bragin 8774094ea9 [kernel32]
- Initialize PreviousStackBase/Limit to NULL in BasepCreateStack. Previously this bug was hidden because those values were ignored by the kernel.

svn path=/trunk/; revision=43485
2009-10-15 18:36:35 +00:00
Stefan Ginsberg c199e1e3ee - MiReserveAlignedSystemPtes: Add missing lock release, spotted by janderwald
svn path=/trunk/; revision=43484
2009-10-15 18:34:21 +00:00
ReactOS Portable Systems Group e233c46dec - Add required globals for the ARM port.
svn path=/trunk/; revision=43483
2009-10-15 17:41:09 +00:00
ReactOS Portable Systems Group b20ae45a3f - Fix calculations error in the setup of the paged pool bitmap.
- Initialize the paged pool guarded mutex.
- Add helper routines ExLock/UnlockPool to either acquire the NPP QSL or the PP GM depending on the pool descriptor, instead of hardcoding the NPP QSL.
- Implement InitializePool for the PagedPool case.
- Now call InitializePool for PagedPool as well.


svn path=/trunk/; revision=43482
2009-10-15 17:23:21 +00:00
ReactOS Portable Systems Group 331debbeec - Get rid of mm/mmsup.c and move some of the ROS-internal functions better where they belong.
- Add ARM3/mmsup.c for miscellaneous function helper functions.
  - Implemented:
  - Move MmIsRecursiveIoFault, MmIsThisanNtAsSystem and MmQuerySystemSize. These belong here.
  - Unimplemented:
  - Move MmSetBankedSection and fix the prototype. This should probably go somewhere else later.
  - Move MmAdjustWorkingSetSize and fix the prototype. This should probably go in procsup.c later.
  - Move MmMapUserAddressesToPage. This should also probably go in procsup.c later.
  - Move MmSetAddressrangeModified and MmIsNonPagedsystemAddressValid. These should probably go somewhere else later.

svn path=/trunk/; revision=43481
2009-10-15 17:01:31 +00:00