Aleksey Bragin [Tue, 20 Oct 2009 12:03:51 +0000 (12:03 +0000)]
[fastfat_new]
- Fix an incorrectly placed closing bracket which resulted in ignoring almost all actions when performing relative open. This results in a massive reformatting of FatiCreate.
svn path=/trunk/; revision=43644
Aleksey Bragin [Tue, 20 Oct 2009 10:32:37 +0000 (10:32 +0000)]
[fastfat_new]
- When creating a DCB with a known file handle, always build a full file name, because FullFAT opening code always needs a full name.
- Fix debug prints (%Z -> %wZ).
svn path=/trunk/; revision=43643
Aleksey Bragin [Tue, 20 Oct 2009 10:12:49 +0000 (10:12 +0000)]
[fastfat_new]
- From the moment of statically linking to FullFAT library this driver is infected by GPLv3. Fix headers accordingly.
svn path=/trunk/; revision=43642
Aleksey Bragin [Tue, 20 Oct 2009 10:02:27 +0000 (10:02 +0000)]
[fastfat_new]
- Cleanup the source code from parts which aren't needed anymore (after switching to FullFAT library usage). About 40kb of source code removed.
svn path=/trunk/; revision=43641
Aleksey Bragin [Tue, 20 Oct 2009 09:53:29 +0000 (09:53 +0000)]
[ntoskrnl/mm/ARM3]
- Rewrite MmPageEntireDriver in a better way, fix bugs.
svn path=/trunk/; revision=43640
Michael Martin [Tue, 20 Oct 2009 09:17:09 +0000 (09:17 +0000)]
ehci_alloc, ohci_alloc, uhci_alloc: Initialize DPC before connecting interrupt as the driver has to already be prepared to handle interrupts when calling IoConnectInterrupt.
svn path=/trunk/; revision=43639
Cameron Gutman [Tue, 20 Oct 2009 06:07:34 +0000 (06:07 +0000)]
- Fix a typo in checksum calculation for datagrams with an odd number of octets
- Allow packets with no checksum
- Remove debug prints that got left behind
svn path=/trunk/; revision=43638
Cameron Gutman [Tue, 20 Oct 2009 05:24:37 +0000 (05:24 +0000)]
- Implement UDP checksum calculation
- Fixes issues with DHCP (and any other UDP traffic) over bridged networking on vbox and issues with other hardware that doesn't like a checksum of 0
- See bug #4754
svn path=/trunk/; revision=43637
Cameron Gutman [Tue, 20 Oct 2009 03:54:27 +0000 (03:54 +0000)]
- Don't set AT_ARP for the loopback interface
- Remove hacks in iphlpapi that hid this bug
svn path=/trunk/; revision=43636
Cameron Gutman [Tue, 20 Oct 2009 02:30:05 +0000 (02:30 +0000)]
- Copy correct data to our lookahead buffer. It was previously missing the media header which messed up the lookahead buffer size passed to ProtocolReceive
- Fix the check for loopback indication. It was previously checking whether the source and destination packets were the same which makes no sense at all
- Correct the offset and length passed to NdisCopyFromPacketToPacket. The caller's values of these don't include the header size but the packet does
- Fixes a crash when running "ping 10.0.2.15 -l 1800" on vbox with NAT
svn path=/trunk/; revision=43635
Cameron Gutman [Tue, 20 Oct 2009 01:35:37 +0000 (01:35 +0000)]
- Store the indicated packet so NdisTransferData can copy data from it when the caller requests data beyond our allocated lookahead buffer
svn path=/trunk/; revision=43634
James Tabor [Mon, 19 Oct 2009 23:04:50 +0000 (23:04 +0000)]
- Add more information for support with function MmPageEntireDriver. Not sure where to place the function since it uses numbers for IX86/AMD and not ARM. Enable MmDisablePagingExecutive without the register entry to support it.
svn path=/trunk/; revision=43633
Aleksey Bragin [Mon, 19 Oct 2009 21:42:27 +0000 (21:42 +0000)]
Daniel Zimmermann <netzimme@aim.com>
- Print module and function name when a wine unimplemented function exception is raised.
See issue #4546 for more details.
svn path=/trunk/; revision=43629
Christoph von Wittich [Mon, 19 Oct 2009 21:30:54 +0000 (21:30 +0000)]
sync widl to wine 1.1.31
svn path=/trunk/; revision=43628
Christoph von Wittich [Mon, 19 Oct 2009 21:30:34 +0000 (21:30 +0000)]
move widl compilerflags to ReactOS-i386.rbuild
svn path=/trunk/; revision=43627
Christoph von Wittich [Mon, 19 Oct 2009 21:18:07 +0000 (21:18 +0000)]
partial rpcrt4 sync to wine 1.1.31
svn path=/trunk/; revision=43626
Christoph von Wittich [Mon, 19 Oct 2009 21:11:46 +0000 (21:11 +0000)]
-sync msi_winetest with wine 1.1.31
svn path=/trunk/; revision=43625
Christoph von Wittich [Mon, 19 Oct 2009 19:59:37 +0000 (19:59 +0000)]
update libxml2 to version 2.7.6
svn path=/trunk/; revision=43624
Aleksey Bragin [Mon, 19 Oct 2009 19:38:57 +0000 (19:38 +0000)]
- Add VLC to rapps.
See issue #4882 for more details.
svn path=/trunk/; revision=43623
Christoph von Wittich [Mon, 19 Oct 2009 19:28:32 +0000 (19:28 +0000)]
update libxslt headers as well
svn path=/trunk/; revision=43622
Aleksey Bragin [Mon, 19 Oct 2009 19:24:39 +0000 (19:24 +0000)]
- Revert 43599: "Temporarily disable hanging gdi32:metafile test."
svn path=/trunk/; revision=43621
Christoph von Wittich [Mon, 19 Oct 2009 19:11:29 +0000 (19:11 +0000)]
update libxslt to version 1.1.26
svn path=/trunk/; revision=43620
Christoph von Wittich [Mon, 19 Oct 2009 18:58:31 +0000 (18:58 +0000)]
-sync msxml3 with wine 1.1.31
svn path=/trunk/; revision=43619
Johannes Anderwald [Mon, 19 Oct 2009 18:54:01 +0000 (18:54 +0000)]
[PORTCLS]
- Silence most dprints of portcls
- Remove dead code
- Fix a bug in PcCreateSubdeviceDescriptor
svn path=/trunk/; revision=43618
Christoph von Wittich [Mon, 19 Oct 2009 18:53:22 +0000 (18:53 +0000)]
-sync msxml3_winetest with wine 1.1.31
svn path=/trunk/; revision=43617
Christoph von Wittich [Mon, 19 Oct 2009 18:50:02 +0000 (18:50 +0000)]
-sync atl with wine 1.1.31
svn path=/trunk/; revision=43616
Benedikt Freisen [Mon, 19 Oct 2009 17:46:29 +0000 (17:46 +0000)]
[PAINT] rearranging variable declarations for better MSVC compatiblity
svn path=/trunk/; revision=43615
Christoph von Wittich [Mon, 19 Oct 2009 17:31:03 +0000 (17:31 +0000)]
-sync wintrust_winetest with wine 1.1.31
svn path=/trunk/; revision=43614
Christoph von Wittich [Mon, 19 Oct 2009 17:29:28 +0000 (17:29 +0000)]
-sync wintrust with wine 1.1.31
svn path=/trunk/; revision=43613
Christoph von Wittich [Mon, 19 Oct 2009 17:22:45 +0000 (17:22 +0000)]
-sync urlmon_winetest with wine 1.1.31
svn path=/trunk/; revision=43612
Christoph von Wittich [Mon, 19 Oct 2009 17:22:21 +0000 (17:22 +0000)]
-sync urlmon with wine 1.1.31
svn path=/trunk/; revision=43611
Christoph von Wittich [Mon, 19 Oct 2009 17:03:40 +0000 (17:03 +0000)]
-sync jscript_winetest with wine 1.1.31
svn path=/trunk/; revision=43608
Christoph von Wittich [Mon, 19 Oct 2009 17:03:21 +0000 (17:03 +0000)]
-sync jscript with wine 1.1.31
svn path=/trunk/; revision=43607
Aleksey Bragin [Mon, 19 Oct 2009 16:37:12 +0000 (16:37 +0000)]
[ntoskrnl/lpc]
- Mark NtRequestPort/NtReplyPort as implemented.
svn path=/trunk/; revision=43606
Aleksey Bragin [Mon, 19 Oct 2009 15:49:29 +0000 (15:49 +0000)]
[ntoskrnl/lpc]
- Implement NtReplyPort based on NtReplyWaitReceivePortEx and LpcReplyPort.
- Implement NtRequestPort based on NtRequestWaitReplyPort and LpcRequestPort.
svn path=/trunk/; revision=43603
Aleksey Bragin [Mon, 19 Oct 2009 11:39:16 +0000 (11:39 +0000)]
- Temporarily disable hanging gdi32:metafile test.
svn path=/trunk/; revision=43599
Hervé Poussineau [Sun, 18 Oct 2009 20:06:09 +0000 (20:06 +0000)]
Ok, reverting r43565. Someone will have to tell me why it works for me but not for buildbot
svn path=/trunk/; revision=43576
Hervé Poussineau [Sun, 18 Oct 2009 19:53:12 +0000 (19:53 +0000)]
[freeldr] Limit disk read buffer size to 512 bytes
svn path=/trunk/; revision=43575
Dmitry Gorbachev [Sun, 18 Oct 2009 18:53:13 +0000 (18:53 +0000)]
[HAL, WIN32K] Add typedef.
svn path=/trunk/; revision=43573
Dmitry Gorbachev [Sun, 18 Oct 2009 18:52:56 +0000 (18:52 +0000)]
[3DTEXT, FREELDR, HAL, MINGW_COMMON, MMDRV, MSGINA, NTOSKRNL] Add extern.
svn path=/trunk/; revision=43572
Dmitry Gorbachev [Sun, 18 Oct 2009 18:52:15 +0000 (18:52 +0000)]
Fix double definition of a variable, add extern.
svn path=/trunk/; revision=43571
Dmitry Gorbachev [Sun, 18 Oct 2009 18:52:12 +0000 (18:52 +0000)]
Remove a definition of a variable from a header file.
svn path=/trunk/; revision=43570
Dmitry Gorbachev [Sun, 18 Oct 2009 18:52:08 +0000 (18:52 +0000)]
Update cvconst.h file, from Wine.
svn path=/trunk/; revision=43569
Benedikt Freisen [Sun, 18 Oct 2009 18:36:46 +0000 (18:36 +0000)]
[PAINT]
- opening files via command line
- file date, time, size and paper resolution (pix. per meter) in attributes dialog
- loading/saving PpM resolution from/to file
- zoom tool shows and zooms to target rectangle
- implemented missing scroll bar functionality
- hiding status bar via menu item prepared
svn path=/trunk/; revision=43567
Hervé Poussineau [Sun, 18 Oct 2009 18:24:35 +0000 (18:24 +0000)]
[freeldr/i386] Read up to 128 sectors at once
svn path=/trunk/; revision=43565
Timo Kreuzer [Sun, 18 Oct 2009 17:12:19 +0000 (17:12 +0000)]
Fix parameters of ExAllocatePoolWithQuota and ExAllocatePoolWithQuotaTag
svn path=/trunk/; revision=43561
Christoph von Wittich [Sun, 18 Oct 2009 14:57:22 +0000 (14:57 +0000)]
sync advapi32 winetest to wine 1.1.31
svn path=/trunk/; revision=43556
Christoph von Wittich [Sun, 18 Oct 2009 14:47:16 +0000 (14:47 +0000)]
add some NULL checks
svn path=/trunk/; revision=43555
Johannes Anderwald [Sun, 18 Oct 2009 14:22:00 +0000 (14:22 +0000)]
- Partly revert 43533
svn path=/trunk/; revision=43553
Stefan Ginsberg [Sun, 18 Oct 2009 14:04:59 +0000 (14:04 +0000)]
- Fix error return of EnumPrinterKeyA/W, spotted by janderwald
svn path=/trunk/; revision=43551
Stefan Ginsberg [Sun, 18 Oct 2009 13:55:44 +0000 (13:55 +0000)]
Get rid of MmStats -- most of the fields weren't used anymore and we have duplicates for most of the ones that are still in use;
NrTotalPages -> MmNumberOfPhysicalPages
NrFreePages -> MmAvailablePages (new)
Get rid of NrSystemPages. Its value was only respected in MmInitializePageList at boot, even though it got updated later. Use a local variable in MmInitializePageList instead.
Fix SystemBasicInformation to use the correct variables for physical page information. Also, don't set ResidentSystemCodePage in the SystemPerformanceInformation query to some random incorrect Mm value. We don't depend this value anywhere in ReactOS currently, so just set it to 0.
svn path=/trunk/; revision=43550
Stefan Ginsberg [Sun, 18 Oct 2009 11:50:34 +0000 (11:50 +0000)]
- Use DBG_STATUS_CONTROL_C instead of magic "1"
- Add missing KdPollBreakIn + DbgBreakPointWithStatus to ARM initialization
- Fix initialization of the D and I cache fields in the PCR -- it was always setting the second level
svn path=/trunk/; revision=43549
Stefan Ginsberg [Sun, 18 Oct 2009 01:48:30 +0000 (01:48 +0000)]
Patch from David "gigaherz" Quintana: Stub out EnumPrinterKeyA/W, minor fixes by me.
svn path=/trunk/; revision=43548
KJK::Hyperion [Sat, 17 Oct 2009 21:30:01 +0000 (21:30 +0000)]
Update rbuild project file
Fix linker flags
svn path=/trunk/; revision=43547
Christoph von Wittich [Sat, 17 Oct 2009 21:16:57 +0000 (21:16 +0000)]
sync msi to wine 1.1.31
svn path=/trunk/; revision=43546
Christoph von Wittich [Sat, 17 Oct 2009 21:04:04 +0000 (21:04 +0000)]
fix all gdi32 gdiobj winetests
svn path=/trunk/; revision=43545
Christoph von Wittich [Sat, 17 Oct 2009 20:45:32 +0000 (20:45 +0000)]
sync shlwapi to wine 1.1.31
svn path=/trunk/; revision=43544
Timo Kreuzer [Sat, 17 Oct 2009 20:19:42 +0000 (20:19 +0000)]
Add some structure offset macros to asm.h for amd64
svn path=/trunk/; revision=43543
Stefan Ginsberg [Sat, 17 Oct 2009 20:01:58 +0000 (20:01 +0000)]
- 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
Christoph von Wittich [Sat, 17 Oct 2009 20:00:54 +0000 (20:00 +0000)]
sync dialog to wine 1.1.31 (fixes one dialog winetest)
svn path=/trunk/; revision=43541
Christoph von Wittich [Sat, 17 Oct 2009 19:35:42 +0000 (19:35 +0000)]
sync edit to wine 1.1.31
svn path=/trunk/; revision=43539
Timo Kreuzer [Sat, 17 Oct 2009 19:19:22 +0000 (19:19 +0000)]
disable ROS_LONG64 hack for amd64
svn path=/trunk/; revision=43538
Timo Kreuzer [Sat, 17 Oct 2009 19:16:01 +0000 (19:16 +0000)]
Merge 41030 from amd64 branch
svn path=/trunk/; revision=43537
Christoph von Wittich [Sat, 17 Oct 2009 19:15:04 +0000 (19:15 +0000)]
[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
Timo Kreuzer [Sat, 17 Oct 2009 16:34:07 +0000 (16:34 +0000)]
build kdcom for amd64, too
svn path=/trunk/; revision=43534
Johannes Anderwald [Sat, 17 Oct 2009 15:08:01 +0000 (15:08 +0000)]
- Quick & dirty implementation of WIDM_RESET / WODM_RESET
svn path=/trunk/; revision=43533
Stefan Ginsberg [Sat, 17 Oct 2009 15:03:54 +0000 (15:03 +0000)]
- 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
Hervé Poussineau [Sat, 17 Oct 2009 14:55:50 +0000 (14:55 +0000)]
Fix warning
svn path=/trunk/; revision=43531
Stefan Ginsberg [Sat, 17 Oct 2009 14:31:38 +0000 (14:31 +0000)]
- 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
Hervé Poussineau [Sat, 17 Oct 2009 14:05:34 +0000 (14:05 +0000)]
[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
Aleksey Bragin [Sat, 17 Oct 2009 13:18:29 +0000 (13:18 +0000)]
[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
Aleksey Bragin [Sat, 17 Oct 2009 10:57:48 +0000 (10:57 +0000)]
[fastfat_new]
- Search FCBs with unicode name too, besides of OEM.
- Create an infrastructure for opening existing FCB/DCBs.
svn path=/trunk/; revision=43527
Daniel Reimer [Sat, 17 Oct 2009 00:09:51 +0000 (00:09 +0000)]
Added 11 new Backs for my bavarian cards dll. Way better than 12 times the same ;-)
svn path=/trunk/; revision=43525
Timo Kreuzer [Fri, 16 Oct 2009 23:11:28 +0000 (23:11 +0000)]
ULONG -> ULONG_PTR when casting handles
svn path=/trunk/; revision=43524
Stefan Ginsberg [Fri, 16 Oct 2009 22:03:38 +0000 (22:03 +0000)]
Downgrade various debug prints from DPRINT1 to DPRINT, ranging from "useless" to "pretty useless".
svn path=/trunk/; revision=43523
Christoph von Wittich [Fri, 16 Oct 2009 21:43:28 +0000 (21:43 +0000)]
fix all msvcrt file winetests
svn path=/trunk/; revision=43522
Christoph von Wittich [Fri, 16 Oct 2009 21:29:27 +0000 (21:29 +0000)]
don't set errno for libcnt
svn path=/trunk/; revision=43521
Christoph von Wittich [Fri, 16 Oct 2009 20:57:00 +0000 (20:57 +0000)]
-sync msvcrt_init_io to wine 1.1.31
fixes 12 msvcrt file winetests
svn path=/trunk/; revision=43520
Christoph von Wittich [Fri, 16 Oct 2009 20:40:41 +0000 (20:40 +0000)]
-fix some msvcrt string winetests
svn path=/trunk/; revision=43519
Christoph von Wittich [Fri, 16 Oct 2009 20:32:42 +0000 (20:32 +0000)]
sync msvcrt winetest with wine 1.1.31
svn path=/trunk/; revision=43518
Aleksey Bragin [Fri, 16 Oct 2009 18:39:38 +0000 (18:39 +0000)]
[fastfat_new]
- Improve FatCreateDcb so that it sets the dir name.
- Implement relative file object open.
svn path=/trunk/; revision=43517
Aleksey Bragin [Fri, 16 Oct 2009 17:10:12 +0000 (17:10 +0000)]
[fastfat_new]
- Implement FatiOpenExistingDir.
svn path=/trunk/; revision=43516
Cameron Gutman [Fri, 16 Oct 2009 14:51:35 +0000 (14:51 +0000)]
- Add rasadhlp to build and bootcd
svn path=/trunk/; revision=43515
Aleksey Bragin [Fri, 16 Oct 2009 13:11:05 +0000 (13:11 +0000)]
[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
Aleksey Bragin [Fri, 16 Oct 2009 12:29:34 +0000 (12:29 +0000)]
[fastfat_new]
- Minor comments/TODO improvement in FatiCreate.
svn path=/trunk/; revision=43512
Cameron Gutman [Fri, 16 Oct 2009 04:41:40 +0000 (04:41 +0000)]
- Fix build
svn path=/trunk/; revision=43511
Cameron Gutman [Fri, 16 Oct 2009 04:33:22 +0000 (04:33 +0000)]
- 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
Cameron Gutman [Fri, 16 Oct 2009 04:20:34 +0000 (04:20 +0000)]
- Define GUIDs correctly to prevent "multiple definition" errors
svn path=/trunk/; revision=43509
ReactOS Portable Systems Group [Fri, 16 Oct 2009 00:28:33 +0000 (00:28 +0000)]
- 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
ReactOS Portable Systems Group [Thu, 15 Oct 2009 22:08:26 +0000 (22:08 +0000)]
- 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
ReactOS Portable Systems Group [Thu, 15 Oct 2009 21:23:24 +0000 (21:23 +0000)]
- 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
Johannes Anderwald [Thu, 15 Oct 2009 20:29:04 +0000 (20:29 +0000)]
- Revert accidental change
svn path=/trunk/; revision=43502
Aleksey Bragin [Thu, 15 Oct 2009 20:00:27 +0000 (20:00 +0000)]
- Update user32_winetest to Wine-1.1.31.
svn path=/trunk/; revision=43499
Aleksey Bragin [Thu, 15 Oct 2009 19:50:01 +0000 (19:50 +0000)]
- Update gdi32_winetest to Wine-1.1.31 keeping a bitmap font test skipping hack.
svn path=/trunk/; revision=43496
Aleksey Bragin [Thu, 15 Oct 2009 19:49:10 +0000 (19:49 +0000)]
[PSDK]
- Add MM_MIN / MM_MAX definitions.
svn path=/trunk/; revision=43495
Gregor Schneider [Thu, 15 Oct 2009 19:28:11 +0000 (19:28 +0000)]
Amendment to r43487: check last character as well
svn path=/trunk/; revision=43494
ReactOS Portable Systems Group [Thu, 15 Oct 2009 19:19:40 +0000 (19:19 +0000)]
- 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
ReactOS Portable Systems Group [Thu, 15 Oct 2009 19:12:43 +0000 (19:12 +0000)]
- 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
Gregor Schneider [Thu, 15 Oct 2009 19:12:37 +0000 (19:12 +0000)]
[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
ReactOS Portable Systems Group [Thu, 15 Oct 2009 18:54:35 +0000 (18:54 +0000)]
- 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