reactos.git
10 years agoFix and simplify KdpSysReadControlSpace, hint by Stefan
Timo Kreuzer [Fri, 23 Oct 2009 21:46:49 +0000 (21:46 +0000)]
Fix and simplify KdpSysReadControlSpace, hint by Stefan

svn path=/branches/ros-amd64-bringup/; revision=43702

10 years agocomment out svchost.exe, fixes make bootcd.
Sylvain Petreolle [Fri, 23 Oct 2009 09:02:21 +0000 (09:02 +0000)]
comment out svchost.exe, fixes make bootcd.

svn path=/branches/ros-amd64-bringup/; revision=43695

10 years agofix build
Sylvain Petreolle [Fri, 23 Oct 2009 08:25:26 +0000 (08:25 +0000)]
fix build

svn path=/branches/ros-amd64-bringup/; revision=43694

10 years ago[KDCOM]
Timo Kreuzer [Thu, 22 Oct 2009 14:55:26 +0000 (14:55 +0000)]
[KDCOM]
- only build it when _WINKD_ is set to 1 in the config file
- remove DriverEntry

svn path=/branches/ros-amd64-bringup/; revision=43687

10 years agoDon't truncate Processid to ULONG, spotted by Stefan.
Timo Kreuzer [Thu, 22 Oct 2009 14:08:11 +0000 (14:08 +0000)]
Don't truncate Processid to ULONG, spotted by Stefan.

svn path=/branches/ros-amd64-bringup/; revision=43686

10 years ago[KDCOM]
Timo Kreuzer [Thu, 22 Oct 2009 13:37:01 +0000 (13:37 +0000)]
[KDCOM]
- replace KdpDbgPrint with a macro
- remove COM port hack

svn path=/branches/ros-amd64-bringup/; revision=43685

10 years agouse COM2 as DEBUGPORT, COM1 is for plain text debuglog
Timo Kreuzer [Thu, 22 Oct 2009 13:21:50 +0000 (13:21 +0000)]
use COM2 as DEBUGPORT, COM1 is for plain text debuglog

svn path=/branches/ros-amd64-bringup/; revision=43684

10 years ago[KDCOM]
Timo Kreuzer [Thu, 22 Oct 2009 11:49:52 +0000 (11:49 +0000)]
[KDCOM]
Better handling for breakin packets

svn path=/branches/ros-amd64-bringup/; revision=43683

10 years agoFix KD_CONTEXT member names.
Timo Kreuzer [Thu, 22 Oct 2009 11:45:49 +0000 (11:45 +0000)]
Fix KD_CONTEXT member names.

svn path=/branches/ros-amd64-bringup/; revision=43682

10 years ago[NTOSKRNL]
Timo Kreuzer [Wed, 21 Oct 2009 23:22:46 +0000 (23:22 +0000)]
[NTOSKRNL]
- Comment out some instructions in KiRestoreProcessorControlState for now
- move the FreeLdr debugprint hack
- Don't increment RIP on an int3
- improve debugprint for KiInvalidOpcodeFault

svn path=/branches/ros-amd64-bringup/; revision=43677

10 years ago[KDCOM]
Timo Kreuzer [Wed, 21 Oct 2009 21:58:30 +0000 (21:58 +0000)]
[KDCOM]
- send a PACKET_TYPE_KD_RESEND in some more failure cases
- return DataLength in KdReceivePacket
- check the trailing byte
- move some code out of the loop in KdSendPacket
- add a few debugprints, remove some others

svn path=/branches/ros-amd64-bringup/; revision=43676

10 years agoRework kdcom, try to make it "portable", now in kddll folder, where other versions...
Timo Kreuzer [Wed, 21 Oct 2009 20:03:27 +0000 (20:03 +0000)]
Rework kdcom, try to make it "portable", now in kddll folder, where other versions like kdusb and kd1394 can have a warm place, too. It still has issues.

svn path=/branches/ros-amd64-bringup/; revision=43674

10 years ago[NTOSKRNKL]
Timo Kreuzer [Mon, 19 Oct 2009 22:49:04 +0000 (22:49 +0000)]
[NTOSKRNKL]
- add Ke386SetGs, Ke386SetSs macros for amd64
- fix IMAGE_FILE_MACHINE_ARCHITECTURE for amd64, fixes WinDbg kernel version detection
- goto KiSystemStartupReal from KiSystemStartup directly, old boot method is now deprecated

svn path=/branches/ros-amd64-bringup/; revision=43632

10 years ago- use tabs in rbuild file
Timo Kreuzer [Mon, 19 Oct 2009 22:43:14 +0000 (22:43 +0000)]
- use tabs in rbuild file
- comment out mmebuddy for amd64

svn path=/branches/ros-amd64-bringup/; revision=43631

10 years agoAdd midl compiler flags
Timo Kreuzer [Mon, 19 Oct 2009 22:39:23 +0000 (22:39 +0000)]
Add midl compiler flags

svn path=/branches/ros-amd64-bringup/; revision=43630

10 years agoComment out uniata.sys
Timo Kreuzer [Mon, 19 Oct 2009 17:11:44 +0000 (17:11 +0000)]
Comment out uniata.sys

svn path=/branches/ros-amd64-bringup/; revision=43610

10 years agoadd AMD64_LOADER_BLOCK, it currently contains a pointer to freeldrs debugprint functi...
Timo Kreuzer [Mon, 19 Oct 2009 17:06:24 +0000 (17:06 +0000)]
add AMD64_LOADER_BLOCK, it currently contains a pointer to freeldrs debugprint function for early debugging

svn path=/branches/ros-amd64-bringup/; revision=43609

10 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Oct 2009 16:19:29 +0000 (16:19 +0000)]
[FREELDR]
- include the intrinsics from the kernel
- set segement selectors

svn path=/branches/ros-amd64-bringup/; revision=43605

10 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Oct 2009 15:51:57 +0000 (15:51 +0000)]
[FREELDR]
- Add MempIsPageMapped for debugging puposes
- Map pages for kernel, too in MempSetupPaging
Now we reach the kernel's entry point again.

svn path=/branches/ros-amd64-bringup/; revision=43604

10 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Oct 2009 15:39:16 +0000 (15:39 +0000)]
[FREELDR]
Round up to pages when updating LoaderPagesSpanned to avoid a bug when the last memory region is not mapped.

svn path=/branches/ros-amd64-bringup/; revision=43602

10 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Oct 2009 12:50:36 +0000 (12:50 +0000)]
[FREELDR]
- Move definition of KIP0PCRADDRESS into arch specific header
- Implement WinLdrSetupForNt for amd64 (copied x86 version)
- Fix mapping of PCR and KI_USER_SHARED_DATA
- Don't enable paging again, it is already enabled on amd64
- Fix WinLdrSetProcessorContext to take a ULONG_PTR not ULONG for Pcr and Tss

svn path=/branches/ros-amd64-bringup/; revision=43601

10 years agoFix a bug :D
Timo Kreuzer [Mon, 19 Oct 2009 12:36:10 +0000 (12:36 +0000)]
Fix a bug :D

svn path=/branches/ros-amd64-bringup/; revision=43600

10 years ago[FREELDR]
Timo Kreuzer [Mon, 19 Oct 2009 11:29:10 +0000 (11:29 +0000)]
[FREELDR]
- Split wlmemory into portable and arch specific code
- Partly implement amd64 version, doesn't work correctly yet

svn path=/branches/ros-amd64-bringup/; revision=43598

10 years agoenable winldr style boot
Timo Kreuzer [Sun, 18 Oct 2009 18:54:40 +0000 (18:54 +0000)]
enable winldr style boot

svn path=/branches/ros-amd64-bringup/; revision=43574

10 years ago[FREELDR]
Timo Kreuzer [Sun, 18 Oct 2009 18:29:25 +0000 (18:29 +0000)]
[FREELDR]
- move wlmemory.c into arch specific folder
- add elmemory.c and ntsetup.c for amd64 (stubbed)

svn path=/branches/ros-amd64-bringup/; revision=43566

10 years agoAdd HYPER_SPACE, MI_MAKE_OWNER_PAGE, MI_MAKE_WRITE_PAGE and some globals
Timo Kreuzer [Sun, 18 Oct 2009 18:15:52 +0000 (18:15 +0000)]
Add HYPER_SPACE, MI_MAKE_OWNER_PAGE, MI_MAKE_WRITE_PAGE and some globals

svn path=/branches/ros-amd64-bringup/; revision=43564

10 years agofix MmSetAddressRangeModified prototype
Timo Kreuzer [Sun, 18 Oct 2009 17:25:59 +0000 (17:25 +0000)]
fix MmSetAddressRangeModified prototype

svn path=/branches/ros-amd64-bringup/; revision=43563

10 years agoMerge trunk (r43561)
Timo Kreuzer [Sun, 18 Oct 2009 17:24:21 +0000 (17:24 +0000)]
Merge trunk (r43561)

svn path=/branches/ros-amd64-bringup/; revision=43562

10 years agoULONG -> ULONG_PTR
Timo Kreuzer [Sun, 18 Oct 2009 16:39:24 +0000 (16:39 +0000)]
ULONG -> ULONG_PTR

svn path=/branches/ros-amd64-bringup/; revision=43560

10 years agoComment out mmebuddy, I currently see no chance compiling this for 64 bit. Please...
Timo Kreuzer [Sun, 18 Oct 2009 16:08:31 +0000 (16:08 +0000)]
Comment out mmebuddy, I currently see no chance compiling this for 64 bit. Please someone fix this.

svn path=/branches/ros-amd64-bringup/; revision=43559

10 years agobuild cardlib only if USERMODE = 1
Timo Kreuzer [Sun, 18 Oct 2009 15:52:07 +0000 (15:52 +0000)]
build cardlib only if USERMODE = 1

svn path=/branches/ros-amd64-bringup/; revision=43558

10 years agocomment out audio_test for now
Timo Kreuzer [Sun, 18 Oct 2009 15:47:57 +0000 (15:47 +0000)]
comment out audio_test for now

svn path=/branches/ros-amd64-bringup/; revision=43557

10 years agosync advapi32 winetest to wine 1.1.31
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

10 years agoadd some NULL checks
Christoph von Wittich [Sun, 18 Oct 2009 14:47:16 +0000 (14:47 +0000)]
add some NULL checks

svn path=/trunk/; revision=43555

10 years agoAdd alignment checks to KdpSysReadIoSpace and KdpSysWriteIoSpace
Timo Kreuzer [Sun, 18 Oct 2009 14:36:03 +0000 (14:36 +0000)]
Add alignment checks to KdpSysReadIoSpace and KdpSysWriteIoSpace

svn path=/branches/ros-amd64-bringup/; revision=43554

10 years ago- Partly revert 43533
Johannes Anderwald [Sun, 18 Oct 2009 14:22:00 +0000 (14:22 +0000)]
- Partly revert 43533

svn path=/trunk/; revision=43553

10 years agoCleanup kernel init code a bit
Timo Kreuzer [Sun, 18 Oct 2009 14:18:42 +0000 (14:18 +0000)]
Cleanup kernel init code a bit

svn path=/branches/ros-amd64-bringup/; revision=43552

10 years ago- Fix error return of EnumPrinterKeyA/W, spotted by janderwald
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

10 years agoGet rid of MmStats -- most of the fields weren't used anymore and we have duplicates...
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

10 years ago- Use DBG_STATUS_CONTROL_C instead of magic "1"
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

10 years agoPatch from David "gigaherz" Quintana: Stub out EnumPrinterKeyA/W, minor fixes by me.
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

10 years agoUpdate rbuild project file
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

10 years agosync msi to wine 1.1.31
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

10 years agofix all gdi32 gdiobj winetests
Christoph von Wittich [Sat, 17 Oct 2009 21:04:04 +0000 (21:04 +0000)]
fix all gdi32 gdiobj winetests

svn path=/trunk/; revision=43545

10 years agosync shlwapi to wine 1.1.31
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

10 years agoAdd some structure offset macros to asm.h for amd64
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

10 years ago- Fix msvc build broken in 43466 -- please stop hurting msvc, it just wants to be...
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

10 years agosync dialog to wine 1.1.31 (fixes one dialog winetest)
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

10 years agosync edit to wine 1.1.31
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

10 years agodisable ROS_LONG64 hack for amd64
Timo Kreuzer [Sat, 17 Oct 2009 19:19:22 +0000 (19:19 +0000)]
disable ROS_LONG64 hack for amd64

svn path=/trunk/; revision=43538

10 years agoMerge 41030 from amd64 branch
Timo Kreuzer [Sat, 17 Oct 2009 19:16:01 +0000 (19:16 +0000)]
Merge 41030 from amd64 branch

svn path=/trunk/; revision=43537

10 years ago[Shell32]: in shell view, use the expected value for the effect in Drag & Drop operation
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

10 years agobuild kdcom for amd64, too
Timo Kreuzer [Sat, 17 Oct 2009 16:34:07 +0000 (16:34 +0000)]
build kdcom for amd64, too

svn path=/trunk/; revision=43534

10 years ago- Quick & dirty implementation of WIDM_RESET / WODM_RESET
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

10 years ago- ntdll: Remove deprecated LdrpLoadUserModuleSymbols that doesn't actually do anythin...
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

10 years agoFix warning
Hervé Poussineau [Sat, 17 Oct 2009 14:55:50 +0000 (14:55 +0000)]
Fix warning

svn path=/trunk/; revision=43531

10 years ago- Add STATUS_SUCCESS to asm.h and make use of it.
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

10 years ago[freeldr] FAT driver: check for directory attribute before parsing the next part...
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

10 years ago[fastfat_new]
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

10 years ago[fastfat_new]
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

10 years agoAdded 11 new Backs for my bavarian cards dll. Way better than 12 times the same ;-)
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

10 years agoULONG -> ULONG_PTR when casting handles
Timo Kreuzer [Fri, 16 Oct 2009 23:11:28 +0000 (23:11 +0000)]
ULONG -> ULONG_PTR when casting handles

svn path=/trunk/; revision=43524

10 years agoDowngrade various debug prints from DPRINT1 to DPRINT, ranging from "useless" to...
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

10 years agofix all msvcrt file winetests
Christoph von Wittich [Fri, 16 Oct 2009 21:43:28 +0000 (21:43 +0000)]
fix all msvcrt file winetests

svn path=/trunk/; revision=43522

10 years agodon't set errno for libcnt
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

10 years ago-sync msvcrt_init_io to wine 1.1.31
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

10 years ago-fix some msvcrt string winetests
Christoph von Wittich [Fri, 16 Oct 2009 20:40:41 +0000 (20:40 +0000)]
-fix some msvcrt string winetests

svn path=/trunk/; revision=43519

10 years agosync msvcrt winetest with wine 1.1.31
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

10 years ago[fastfat_new]
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

10 years ago[fastfat_new]
Aleksey Bragin [Fri, 16 Oct 2009 17:10:12 +0000 (17:10 +0000)]
[fastfat_new]
- Implement FatiOpenExistingDir.

svn path=/trunk/; revision=43516

10 years ago - Add rasadhlp to build and bootcd
Cameron Gutman [Fri, 16 Oct 2009 14:51:35 +0000 (14:51 +0000)]
 - Add rasadhlp to build and bootcd

svn path=/trunk/; revision=43515

10 years ago[fastfat_new]
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

10 years ago[fastfat_new]
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

10 years ago - Fix build
Cameron Gutman [Fri, 16 Oct 2009 04:41:40 +0000 (04:41 +0000)]
 - Fix build

svn path=/trunk/; revision=43511

10 years ago - Add Alex's rasadhlp
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

10 years ago - Define GUIDs correctly to prevent "multiple definition" errors
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

10 years ago- Move some unimplemented Ex* Pool routines into ARM3's expool.c.
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

10 years ago- Implement ARM3 page fault handling.
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

10 years agoFix definition of CryptReleaseContext
Timo Kreuzer [Thu, 15 Oct 2009 21:54:39 +0000 (21:54 +0000)]
Fix definition of CryptReleaseContext

svn path=/branches/ros-amd64-bringup/; revision=43506

10 years agoUpdate MMPTE
Timo Kreuzer [Thu, 15 Oct 2009 21:50:51 +0000 (21:50 +0000)]
Update MMPTE

svn path=/branches/ros-amd64-bringup/; revision=43505

10 years ago[HAL]
Timo Kreuzer [Thu, 15 Oct 2009 21:40:00 +0000 (21:40 +0000)]
[HAL]
- Implement HalpQuery8254Counter
- replace Ke386HaltProcessor() with __halt()
- remove excess #endif

svn path=/branches/ros-amd64-bringup/; revision=43504

10 years ago- Add some simple code to handle paged pool page allocation and freeing in MiAllocate...
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

10 years ago- Revert accidental change
Johannes Anderwald [Thu, 15 Oct 2009 20:29:04 +0000 (20:29 +0000)]
- Revert accidental change

svn path=/trunk/; revision=43502

10 years agoThe SessionId is not the same as the session pointer. Add fixed code for PsGetThreadS...
Timo Kreuzer [Thu, 15 Oct 2009 20:07:47 +0000 (20:07 +0000)]
The SessionId is not the same as the session pointer. Add fixed code for PsGetThreadSessionId, commented out as we don't have support for Sessions anyway.

svn path=/branches/ros-amd64-bringup/; revision=43501

10 years agoFix a typo
Timo Kreuzer [Thu, 15 Oct 2009 20:02:41 +0000 (20:02 +0000)]
Fix a typo

svn path=/branches/ros-amd64-bringup/; revision=43500

10 years ago- Update user32_winetest to Wine-1.1.31.
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

10 years agoadd init.c to the build
Timo Kreuzer [Thu, 15 Oct 2009 19:58:43 +0000 (19:58 +0000)]
add init.c to the build

svn path=/branches/ros-amd64-bringup/; revision=43498

10 years agoEPROCESS.Session is a PVOID not an ULONG
Timo Kreuzer [Thu, 15 Oct 2009 19:55:06 +0000 (19:55 +0000)]
EPROCESS.Session is a PVOID not an ULONG

svn path=/branches/ros-amd64-bringup/; revision=43497

10 years ago- Update gdi32_winetest to Wine-1.1.31 keeping a bitmap font test skipping hack.
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

10 years ago[PSDK]
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

10 years agoAmendment to r43487: check last character as well
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

10 years agoreenable some spinlock code
Timo Kreuzer [Thu, 15 Oct 2009 19:24:21 +0000 (19:24 +0000)]
reenable some spinlock code

svn path=/branches/ros-amd64-bringup/; revision=43493

10 years ago- Add CPUID
Timo Kreuzer [Thu, 15 Oct 2009 19:23:49 +0000 (19:23 +0000)]
- Add CPUID
- rename Ke386InitThreadWithContext to KiInitializeContextThread

svn path=/branches/ros-amd64-bringup/; revision=43492

10 years agoAdd some missing macros
Timo Kreuzer [Thu, 15 Oct 2009 19:22:09 +0000 (19:22 +0000)]
Add some missing macros

svn path=/branches/ros-amd64-bringup/; revision=43491

10 years agoAdd some stuff needed for the ARM3 code
Timo Kreuzer [Thu, 15 Oct 2009 19:20:57 +0000 (19:20 +0000)]
Add some stuff needed for the ARM3 code

svn path=/branches/ros-amd64-bringup/; revision=43490

10 years ago- Fix comments.
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

10 years ago- Collapse MmInit1 into MmInitSystem.
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

10 years ago[kernel32] IsBadStringPtrA/W:
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

10 years ago- Fix a bug in memory area creation: Static memory areas had the static flag embedded...
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

10 years ago[kernel32]
Aleksey Bragin [Thu, 15 Oct 2009 18:36:35 +0000 (18:36 +0000)]
[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