Timo Kreuzer
84c2495bb9
[MM]
...
Implement MiBuildPagedPool. Refactor MmArmInitSystem. Use a hardcoded address for the PFN database, this might not be identical to windows, but it makes things simpler and there's no real point in dynamically putting it below the non paged pool. Use a global MxPhase to decide whether to do early page allocations using MxAllocEarlyPage or use MmAllocPage in phase 1. Paged pool allocations work now, but the page fault isn't handled yet.
svn path=/branches/ros-amd64-bringup/; revision=44229
2009-11-18 21:35:14 +00:00
Timo Kreuzer
84c574f9fe
[MM]
...
Don't assume 1024 PTEs per page, instead use PTE_PER_PAGE constant.
svn path=/branches/ros-amd64-bringup/; revision=44228
2009-11-18 21:20:09 +00:00
Timo Kreuzer
d4bcf7f0d7
[MM]
...
Overall code improvements.
svn path=/branches/ros-amd64-bringup/; revision=44222
2009-11-17 19:30:35 +00:00
Timo Kreuzer
7ee161e3b5
Ammendment to r44220
...
svn path=/branches/ros-amd64-bringup/; revision=44221
2009-11-17 19:25:19 +00:00
Timo Kreuzer
4c52a315f1
[MM]
...
- MmCreateMemoryArea: the area type is a bitfield rather than an enum so use %lx instead of %ld to DPRINT it, add 2 more DPRINTs on failure
- MiInitSystemMemoryAreas: fix calculation of memory area sizes for 64 bit
svn path=/branches/ros-amd64-bringup/; revision=44220
2009-11-17 19:22:55 +00:00
Timo Kreuzer
94571497d9
Remove unused variable.
...
svn path=/branches/ros-amd64-bringup/; revision=44219
2009-11-17 19:11:12 +00:00
Timo Kreuzer
85a6488b56
Create a better definition of C_ASSERT to avoid multiple definition errors caused by included files.
...
svn path=/branches/ros-amd64-bringup/; revision=44218
2009-11-17 19:09:38 +00:00
Timo Kreuzer
584007b6f6
[MM]
...
- Implement the rest of MmArmInitSystem phase 1 except MiBuildPagedPool
svn path=/branches/ros-amd64-bringup/; revision=44207
2009-11-16 22:12:36 +00:00
Timo Kreuzer
60e68cd411
add 64 bit POOL_HEADER, to make pool allocations work here, too
...
svn path=/branches/ros-amd64-bringup/; revision=44206
2009-11-16 22:03:30 +00:00
Timo Kreuzer
78ea6134bb
- add BAUDRATE=115000 to boot command line
...
- Improve the code in wlmemory.c, no real functional change
svn path=/branches/ros-amd64-bringup/; revision=44205
2009-11-16 21:56:29 +00:00
Timo Kreuzer
bbc5790f22
On amd64 the NextEntry member of MMPTE_LIST has 32 bits, but 36 would be required to cover the whole pte space. Therefore use MmSystemPtesStart[SystemPtePoolType] as base for the pfn linked list instead of MmSystemPteBase, which is set to PTE_BASE.
...
svn path=/branches/ros-amd64-bringup/; revision=44204
2009-11-16 19:35:36 +00:00
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