Commit Graph
39722 Commits
Author SHA1 Message Date
Timo Kreuzer a6656cbfae Add some debugging code
svn path=/branches/ros-amd64-bringup/; revision=44179
2009-11-15 20:28:38 +00:00
Timo Kreuzer a5a0c47af3 Fix definition of _CONTEXT. It was defining EFlags as USHORT, this caused the upper 2 bytes being left randomly when the context was initialized from the trap frame on exceptions. And as soon as the VM bits was set, everything went nots.
svn path=/branches/ros-amd64-bringup/; revision=44178
2009-11-15 20:18:34 +00:00
Timo Kreuzer 5eb72addd0 - Get rid of the MmGlobalKernelPageDirectory hack. It's not going to be used on amd64. Instead set up a total of 256 (1MB) shared PDPs in the PML4.
- Partly implement phase 1 of MmArmInitSystem
- Fix MiPteToAddress
- Fix MmSystemRangeStart

svn path=/branches/ros-amd64-bringup/; revision=44174
2009-11-15 16:10:52 +00:00
Timo Kreuzer 36c73e8aee Don't truncate MI_MAPPING_RANGE_START to ULONG
svn path=/branches/ros-amd64-bringup/; revision=44156
2009-11-14 14:49:50 +00:00
Timo Kreuzer a181e0135a Pass pointers to MiAddressToPte instead of integer
svn path=/branches/ros-amd64-bringup/; revision=44155
2009-11-14 14:45:30 +00:00
Timo Kreuzer 09feec648d - Remove old debugging code from MiArmInitializePageTable
- Fix mapping in MiArmPreparePfnDatabse
We now reach phase 1 of MmArmInitSystem

svn path=/branches/ros-amd64-bringup/; revision=44148
2009-11-14 04:15:21 +00:00
Timo Kreuzer aa646f4618 The freelist code is an increadible hack. It #defines structure members to other structure members and misuses them. Try to improve the hack by declaring PHYSICAL_PAGE as a unioun of MMPFN and the stuff that is used in the freelist code. Exchange the positions of RmapListHead with MapCount as the former must be pointer sized. More work is required here.
svn path=/branches/ros-amd64-bringup/; revision=44147
2009-11-14 04:08:54 +00:00
Timo Kreuzer d25b422abb fix x86 build
svn path=/branches/ros-amd64-bringup/; revision=44146
2009-11-14 02:11:01 +00:00
Timo Kreuzer dd9ed9ea92 - Share some more inline functions between the kernel and freeldr
- Use __ltr instead of Ke386SetTr
- refactor KiInitializeTss
- Update some Mm conatnts
- Halfplement KeFlushEntireTb
- Clean the mapping of page 0 in KiSystemStartup, as long as we don't clean mappings in freeldr
- Fix a serious bug in KiPageFault, where ebp was used instead of rbp, resulting in recursive page faults as soon as usermode mappings were cleared
- Refactor MmArmInitSystem and related. Pahse 0 initialisation completes here now. we fail later in freelist setup code, which is not 64 bit safe.

svn path=/branches/ros-amd64-bringup/; revision=44144
2009-11-13 23:30:44 +00:00
Timo Kreuzer bb7f766eff Initialize MmDebugPte from MiDebugMapping variable instead of using MiAddressToPte for a constant initializer. This way the page can be set dynamically. Use MmDebugPte to determine if ready for mapping physical pages.
svn path=/branches/ros-amd64-bringup/; revision=44143
2009-11-13 23:23:53 +00:00
Timo Kreuzer e9a4673307 Convert KdpDprintf to conditional KDDBGPRINT macros to stop spamming WinDbg on invalid addresses.
svn path=/branches/ros-amd64-bringup/; revision=44134
2009-11-13 14:29:39 +00:00
Samuel Serapion db4d913635 - Enable telnet, and tftpd.
- re-add some missing ntdll exports.
- export ctime64, its available.

svn path=/branches/ros-amd64-bringup/; revision=44125
2009-11-13 09:30:39 +00:00
Samuel Serapion 321196255a - re-add explorer (old one) to build, it builds.
- use amd64 specific manifest file.
- still not a valid exe according to windows 7

svn path=/branches/ros-amd64-bringup/; revision=44124
2009-11-13 09:24:35 +00:00
Timo Kreuzer 2c2f893be1 fix a typo
svn path=/branches/ros-amd64-bringup/; revision=44123
2009-11-13 02:16:15 +00:00
Timo Kreuzer 2e92cb2a4c Use the kernel mode address for the gdt/idt
svn path=/branches/ros-amd64-bringup/; revision=44095
2009-11-11 04:29:05 +00:00
Timo Kreuzer d3d5631e62 - Correct implementations of MiAddressToP*e() would help a bit... implement them as inline functions.
svn path=/branches/ros-amd64-bringup/; revision=44088
2009-11-11 01:53:48 +00:00
Timo Kreuzer a501510763 [MM]
Implement MmIsAddressValid for amd64.

svn path=/branches/ros-amd64-bringup/; revision=44073
2009-11-10 04:19:43 +00:00
Timo Kreuzer 81a17fc8f4 add missing file
svn path=/branches/ros-amd64-bringup/; revision=44072
2009-11-10 03:36:57 +00:00
Timo Kreuzer 14914c99db fix build of ntoskrnl
svn path=/branches/ros-amd64-bringup/; revision=44071
2009-11-10 03:30:58 +00:00
Timo Kreuzer 843b9ee1eb Merge trunk HEAD (r44067)
svn path=/branches/ros-amd64-bringup/; revision=44069
2009-11-10 02:40:48 +00:00
Timo Kreuzer 82c97ac922 [MM]
- Fix MiAddressToP*e macros
- move miarm constants
- set MmPfnDatabase address
- fix PageCount for pfn database mapping (round up)

svn path=/branches/ros-amd64-bringup/; revision=44067
2009-11-10 00:54:46 +00:00
Timo Kreuzer c203c7f36c don't anable interrupts as long as that's all broken, this way we make it a bit further...
svn path=/branches/ros-amd64-bringup/; revision=44066
2009-11-10 00:50:27 +00:00
Timo Kreuzer c9f7c2317c Use LoaderMemoryData instead of LoaderSpecialMemory for page tables
svn path=/branches/ros-amd64-bringup/; revision=44065
2009-11-10 00:48:09 +00:00
Timo Kreuzer 67918b7bd5 [KE]
- implement KiPageFault

svn path=/branches/ros-amd64-bringup/; revision=44064
2009-11-09 23:37:54 +00:00
Stefan Ginsberg b4835e6bad - Add KCALLOUT_FRAME to define the kernel callback stack layout during user mode callbacks. Define the NextCallback and FramePointer members of the debugger data block more portably with this.
- AMD64's is a copy of x86's to match asm.h's the assembly offsets. ARM's is a stub containing two necessary members to have some offsets for the debugger data block.
- Add ARM stub for KiCallUserMode as this is referenced from the debugger data block.

svn path=/trunk/; revision=44063
2009-11-09 23:19:03 +00:00
Stefan Ginsberg ccd3b00fd2 - Fix unsigned/signed compare, spotted by Christoph
svn path=/trunk/; revision=44062
2009-11-09 23:07:04 +00:00
Stefan Ginsberg a9f0dd5a8d - Implement the generic bus handler support and initialization.
- Add missing hack flags for ACPI hacks.
- Add the hack flags to the registry.

svn path=/trunk/; revision=44061
2009-11-09 22:59:49 +00:00
KJK::Hyperion 652e881f54 ... on the other hand, O_BINARY is a Win32 thing
svn path=/trunk/; revision=44060
2009-11-09 22:56:06 +00:00
KJK::Hyperion f93a056987 modified base/shell/explorer/notifyhook/notifyhook.def
modified   dll/3rdparty/mesa32/src/drivers/windows/icd/mesa.def
modified   dll/nls/idndl/idndl.def
modified   dll/nls/normaliz/normaliz.def
modified   drivers/video/font/ftfd/freetype.def
   Soon, the rbuild "dllname" attribute will have no effect for .def files (only .spec/.pspec): prepare the sources for it by specifying the DLL name in the .def files themselves with the LIBRARY directory

svn path=/trunk/; revision=44059
2009-11-09 22:49:18 +00:00
KJK::Hyperion 34cce6f897 modified tools/pefixup.c
MinGW provides a good enough POSIX-like environment to do away with a couple platform checks/hacks
   Print error messages on stderr instead of stdout
   Don't print anything when pefixup does nothing - "no news is good news"

svn path=/trunk/; revision=44058
2009-11-09 22:42:17 +00:00
Stefan Ginsberg 6fcf0fd7b8 - Set and check for the correct PTE write bits on x86 SMP. The MP kernel is now functional again.
svn path=/trunk/; revision=44057
2009-11-09 22:05:36 +00:00
Timo Kreuzer 9edbc02f78 Fix my broken copy pasta, spotted by talley
svn path=/branches/ros-amd64-bringup/; revision=44056
2009-11-09 21:49:56 +00:00
Timo Kreuzer 906cec399e [KE]
- Fix KeContextToTrapFrame and KeTrapFrameToContext to use the ExceptionFrame and set CS/SS for CONTEXT_CONTROL flag
- Implement _InternalDispatchException, that sets up the ExceptionRecord and ExceptionFrame and calls KiDispatchException
This fixes wrong register value display in WinDbg

svn path=/branches/ros-amd64-bringup/; revision=44055
2009-11-09 21:44:29 +00:00
Stefan Ginsberg 1a3c56692d - Fix build with neither KDBG or _WINKD_ defined -- ReactOS KD wrapper uses the safe memory routines too, so only skip kdmemsup.c if compiling for _WINKD_.
svn path=/trunk/; revision=44054
2009-11-09 21:38:26 +00:00
Timo Kreuzer b291738862 [NDK]
- Add KEXCEPTION_FRAME

svn path=/branches/ros-amd64-bringup/; revision=44053
2009-11-09 21:03:57 +00:00
Timo Kreuzer ca606032fe [NDK]
- Add KEXCEPTION_FRAME offsets

svn path=/branches/ros-amd64-bringup/; revision=44052
2009-11-09 19:49:47 +00:00
Johannes Anderwald 43a6379cc0 - Fix bug introduced 18942 revisions ago
svn path=/trunk/; revision=44050
2009-11-09 17:43:12 +00:00
Dmitry Gorbachev db62b33f92 Simple optimization in RApps. Patch by Love Nystrom. Bug #4952.
svn path=/trunk/; revision=44049
2009-11-09 15:34:18 +00:00
Timo Kreuzer 8413bc04b7 fix build of ntoskrnl
svn path=/branches/ros-amd64-bringup/; revision=44047
2009-11-09 13:42:36 +00:00
Samuel Serapion 4e273afd0f Fix ws2_32 64bit build (2 of 2)
svn path=/branches/ros-amd64-bringup/; revision=44045
2009-11-09 08:57:37 +00:00
Samuel Serapion c2da24df73 Fix ws2_32 64bit build (1 of 2)
svn path=/branches/ros-amd64-bringup/; revision=44044
2009-11-09 08:56:59 +00:00
Samuel Serapion bc8ddc9638 Sync with trunk and additional 64bit build hacks^H^H^H^H^H fixes.
svn path=/branches/ros-amd64-bringup/; revision=44041
2009-11-09 08:31:11 +00:00
Samuel Serapion 23f1416f6e Fix 32bit build.
svn path=/branches/ros-amd64-bringup/; revision=44040
2009-11-09 08:28:59 +00:00
Samuel Serapion 1f946323bb Fix mmTaskCreate and mciGetDriverData prototypes per MSDN
svn path=/branches/ros-amd64-bringup/; revision=44039
2009-11-09 08:27:48 +00:00
Samuel Serapion c465970ad0 Fix Build.
svn path=/branches/ros-amd64-bringup/; revision=44037
2009-11-09 07:17:03 +00:00
Samuel Serapion 5ad4bf2911 Seems that windows cares about manifests and a mismatched processor architecture is not good. Fix amd64 paint in windows.
svn path=/branches/ros-amd64-bringup/; revision=44036
2009-11-09 07:13:48 +00:00
Timo Kreuzer 2e7b3fde50 [MM]
- Halfplement MmArmInitSystem, it's broken atm
- Update some variable drfinitions from ULONG to ULONG_PTR
- Add some amd64 specific constants

svn path=/branches/ros-amd64-bringup/; revision=44035
2009-11-09 06:46:31 +00:00
Timo Kreuzer 256a3cb5cc - Move the hack for MmUpdatePageDir before KeInitializeThread where it belongs.
svn path=/branches/ros-amd64-bringup/; revision=44034
2009-11-09 06:29:46 +00:00
Stefan Ginsberg afd1ab1b6d - HAL uses HARDWARE_PTE, not MMPTE_HARDWARE, so remove broken SMP fix
svn path=/trunk/; revision=44033
2009-11-08 22:17:05 +00:00
Stefan Ginsberg aaad231bf1 - Fix work around for the cmpxchg8b lock errata work around -- don't set write protection if the kernel hasn't set it yet. Move the code out to HalpBiosDisplayReset so we can keep track of this. Also set the correct bit on SMP systems.
svn path=/trunk/; revision=44032
2009-11-08 21:42:28 +00:00