Timo Kreuzer
2e60f5db4f
Fix KeGetCurrentPrcb()
...
svn path=/branches/ros-amd64-bringup/; revision=35588
2008-08-24 02:47:44 +00:00
Timo Kreuzer
e73537a4e7
Fix __readgsqword, it was using a long internally. Add volatile keyword to segment addressing intrinsics. Add "memory" to clobber list on all those that do write.
...
svn path=/branches/ros-amd64-bringup/; revision=35587
2008-08-24 02:44:29 +00:00
Timo Kreuzer
008f576282
stub out SEH, for real this time ;-)
...
svn path=/branches/ros-amd64-bringup/; revision=35586
2008-08-24 02:41:12 +00:00
Timo Kreuzer
4e33928816
Implement KiSetProcessorType, KiGetCpuVendor, KiGetFeatureBits, KiGetCacheInformation, KiSetCr0Bits and KiInitializeTss based on x86 implementation. Fix and enable Code in KiInitalizeKernel, enable call to HalInitializeProcessor.
...
svn path=/branches/ros-amd64-bringup/; revision=35549
2008-08-23 02:11:09 +00:00
Timo Kreuzer
5190b92232
Fix Ke386SaveFlags and Ke386RestoreFlags. Rename KIDT_INIT's 3rd member to IstIndex and use it in KeInitExceptions.
...
svn path=/branches/ros-amd64-bringup/; revision=35548
2008-08-23 01:31:51 +00:00
Timo Kreuzer
8082ce88e5
Setup KUSER_SHARED_DATA.
...
svn path=/branches/ros-amd64-bringup/; revision=35547
2008-08-23 01:19:34 +00:00
Timo Kreuzer
a09e2d91b6
Fix __readmsr and __writemsr on amd64
...
svn path=/branches/ros-amd64-bringup/; revision=35546
2008-08-23 01:18:07 +00:00
Timo Kreuzer
71d0b42136
LdrPEProcessImportDirectoryEntry: ULONG -> ULONG_PTR to fix imports.
...
svn path=/branches/ros-amd64-bringup/; revision=35528
2008-08-22 13:06:39 +00:00
Timo Kreuzer
c5cef89ee9
Fix handling of stack
...
svn path=/branches/ros-amd64-bringup/; revision=35527
2008-08-22 12:20:01 +00:00
Timo Kreuzer
cecff4323b
Move KiSystemStartup again to kiinit.c, implement an intermediate function KiInitializeKernelAndGotoIdleLoop that is now called from the asm function KiSetupStackAndInitializeKernel. This way we avoid using "hardcoded" constants.
...
svn path=/branches/ros-amd64-bringup/; revision=35526
2008-08-22 11:13:51 +00:00
Timo Kreuzer
adc315d4cc
Fix _interlockedbittest intrinsics. For some strange reason they were working correctly on x86, the compiler seemed to know "what it means". But that doesn't work on amd64, here we need *a as "=m" operand, not a.
...
svn path=/branches/ros-amd64-bringup/; revision=35525
2008-08-22 10:54:47 +00:00
Timo Kreuzer
3c6891fdc8
revert my last change, yes it IS a stupid idea to mess with the stack in the middle of a C function....
...
svn path=/branches/ros-amd64-bringup/; revision=35524
2008-08-22 10:07:57 +00:00
Timo Kreuzer
734fd03c81
Implement KiSystemStartup in C instead of asm, implement KiSwapStack intrinsic, get rid of KiSetupStackandInitializeKernel, instead do the work in KiSystemStartupReal in C. Move Stack definitions into trap.S and get rid of the whole boot.S file. Comment out the sync loop for the moment and add a comment why it doesn't work (InterlockedBitTestAndSet64 doesn't work correctly).
...
svn path=/branches/ros-amd64-bringup/; revision=35518
2008-08-21 21:16:57 +00:00
Timo Kreuzer
0aaed0f738
Update syscall stubs
...
svn path=/branches/ros-amd64-bringup/; revision=35517
2008-08-21 21:10:17 +00:00
Timo Kreuzer
d733da9c08
Fix hal build
...
svn path=/branches/ros-amd64-bringup/; revision=35515
2008-08-21 20:24:34 +00:00
Timo Kreuzer
9cc6529e5e
Add KeSetCurrentIrql
...
svn path=/branches/ros-amd64-bringup/; revision=35513
2008-08-21 18:15:23 +00:00
Timo Kreuzer
7e667e38c4
Implement KxGetCurrentIrql, KxLowerIrql, KxRaiseIrql and KxRaiseIrqlToDpcLevel and use them for the Ke/Kf exports.
...
svn path=/branches/ros-amd64-bringup/; revision=35512
2008-08-21 18:13:42 +00:00
Timo Kreuzer
5e2d40364e
fix build ;-)
...
svn path=/branches/ros-amd64-bringup/; revision=35511
2008-08-21 18:10:08 +00:00
Timo Kreuzer
56d9201788
Make KeGetCurrentIrql, KeLowerIrql, KfRaiseIrql, KeRaiseIrql, KeRaiseIrqlToDpcLevel and KeRaiseIrqlToSynchLevel intrinsics as in the WDK 2008.
...
svn path=/branches/ros-amd64-bringup/; revision=35510
2008-08-21 18:07:45 +00:00
Timo Kreuzer
c4c7933979
On SMP builds SYNCH_LEVEL is (IPI_LEVEL - 2) or 12
...
svn path=/branches/ros-amd64-bringup/; revision=35509
2008-08-21 18:04:23 +00:00
Timo Kreuzer
bebc0f9c06
Implement KeGetCurrentIrql as intrinsic.
...
svn path=/branches/ros-amd64-bringup/; revision=35506
2008-08-21 13:33:57 +00:00
Timo Kreuzer
ae1ea8b593
Remove private __lidt definition.
...
svn path=/branches/ros-amd64-bringup/; revision=35505
2008-08-21 13:30:39 +00:00
Timo Kreuzer
c00498727e
Implement __readcr8, __writecr8, __lidt and __sidt intrinsics.
...
svn path=/branches/ros-amd64-bringup/; revision=35504
2008-08-21 13:30:00 +00:00
Timo Kreuzer
0d5cd90543
Fix KiSystemStartupReal, KiGetMachineBootPointers and KiInitializePcr. Add trap.S for ISRs (unimplemented). Add except.c with KiInterruptInitTable and KeInitExceptions, initializing the IDT. Add irql.c for IRQL functions (unimplemented). Update stubs file. Based on info from http://www.msuiche.net/papers/Windows_Vista_64bits_and_unexported_kernel_symbols.pdf . We now reach KiSetupStackAndInitializeKernel, but there's a few things still missing.
...
svn path=/branches/ros-amd64-bringup/; revision=35496
2008-08-20 23:54:52 +00:00
Timo Kreuzer
29e9dfd5d6
Also initialize data segment descriptor in the gdt.
...
svn path=/branches/ros-amd64-bringup/; revision=35495
2008-08-20 23:48:28 +00:00
Timo Kreuzer
9576c5f7f6
- Add X86_MSR_GSBASE, X86_MSR_KERNEL_GSBASE constants
...
- Add KIDT_INIT structure for the idt init table
- Add prototypes for ISRs
svn path=/branches/ros-amd64-bringup/; revision=35494
2008-08-20 22:55:59 +00:00
Timo Kreuzer
bfb63a8031
Setup a page for the Idt and a page for the gdt + tss. Setup the newly created gdt accordingly. Set gdtr and idtr.
...
svn path=/branches/ros-amd64-bringup/; revision=35493
2008-08-20 22:48:47 +00:00
Timo Kreuzer
a215070e56
revert my last commit to avoid polluting other files with hack code. I am also not going to need that piece of code for amd64.
...
svn path=/branches/ros-amd64-bringup/; revision=35492
2008-08-20 22:38:23 +00:00
Timo Kreuzer
d4fd437f76
- fix usage of InterlockedExchangePointer
...
- fix ULONG -> pointer cast
svn path=/branches/ros-amd64-bringup/; revision=35461
2008-08-19 19:56:28 +00:00
Timo Kreuzer
235811bd2a
Update amd64 prototypes for KeGetCurrentIrql, KfRaiseIrql, KfLowerIrql, KeRaiseIrqlToDpcLevel, KeRaiseIrqlToSynchLevel, KeLowerIrql, KeRaiseIrql
...
svn path=/branches/ros-amd64-bringup/; revision=35460
2008-08-19 19:28:12 +00:00
Timo Kreuzer
408520c38c
forgot this one
...
svn path=/branches/ros-amd64-bringup/; revision=35459
2008-08-19 19:08:45 +00:00
Timo Kreuzer
c56d24853e
Move some architecture specific code from KiRosPrepareForSystemStartup into KiArchInitSystem, defined for each architecture. Enable KiRosBuildReservedMemoryMap for _M_AMD64
...
svn path=/branches/ros-amd64-bringup/; revision=35458
2008-08-19 19:07:13 +00:00
Timo Kreuzer
53fee22a84
change the gdt in freeldr, so we will have the same longmode cs later in the kernel.
...
svn path=/branches/ros-amd64-bringup/; revision=35445
2008-08-19 03:00:59 +00:00
Timo Kreuzer
e113754dbf
add an additional case for _AMD64_ now that we have _X86_ not defined anymore
...
svn path=/branches/ros-amd64-bringup/; revision=35444
2008-08-19 02:41:01 +00:00
Timo Kreuzer
efb208d11b
- revert 34796, an old hack to #undef _X86_ on amd64 builds, not needed any longer
...
svn path=/branches/ros-amd64-bringup/; revision=35443
2008-08-19 02:39:19 +00:00
Timo Kreuzer
2c01ac7383
Get rid of the _X86_ define by using a -U compiler switch. This way it also works with PCHs, that before didn't like the #undef
...
svn path=/branches/ros-amd64-bringup/; revision=35442
2008-08-19 02:33:14 +00:00
Timo Kreuzer
1e73720601
- Remove obsolete LDT_ENTRY
...
- replace KTSS with KTSS64
- update some KGDT_xxx constants
svn path=/branches/ros-amd64-bringup/; revision=35436
2008-08-18 21:50:55 +00:00
Timo Kreuzer
b00f5679d2
- fix pointer to ulong cast
...
svn path=/branches/ros-amd64-bringup/; revision=35362
2008-08-16 00:18:27 +00:00
Timo Kreuzer
928f5c1001
fix KIPCR
...
svn path=/branches/ros-amd64-bringup/; revision=35361
2008-08-16 00:17:52 +00:00
Timo Kreuzer
20f583f4cb
- comment out ext2.sys in textsetup.sif, as it doesn't load
...
- fix stupid error when creating page directory
- fix PtrToPfn() based on updated mm types
- some enhancements
svn path=/branches/ros-amd64-bringup/; revision=35360
2008-08-16 00:16:54 +00:00
Timo Kreuzer
bb78749234
The TEB member is called ClientID not Cid on all Windows versions I could check (XP, 2k3, vista).
...
svn path=/branches/ros-amd64-bringup/; revision=35359
2008-08-15 23:40:42 +00:00
Timo Kreuzer
5ba5164dd3
try to fix build
...
svn path=/branches/ros-amd64-bringup/; revision=35351
2008-08-15 11:24:10 +00:00
Timo Kreuzer
ed1b845158
NDK: update PEB definition based in win2003 and vista 32/64 bit symbols
...
svn path=/branches/ros-amd64-bringup/; revision=35349
2008-08-15 02:05:18 +00:00
Timo Kreuzer
ea1d7436f1
NDK: update KPRCB based on win2003 and vista symbol files
...
svn path=/branches/ros-amd64-bringup/; revision=35348
2008-08-15 01:00:03 +00:00
Timo Kreuzer
a0b08b14c8
NDK: update 64bit mm structures, based on win2003 and vista symbol files
...
svn path=/branches/ros-amd64-bringup/; revision=35347
2008-08-14 22:58:22 +00:00
Timo Kreuzer
794e8ef987
Sync to trunk head (35333)
...
svn path=/branches/ros-amd64-bringup/; revision=35334
2008-08-14 14:21:43 +00:00
Stefan Ginsberg
ed3f476473
- Rework MiSyncThreadProcessViews
...
- Perform the Mm hack-sync in KiIdleLoop before switching context (thanks to Aleksey for writing this!)
svn path=/trunk/; revision=35333
2008-08-14 12:42:57 +00:00
Daniel Reimer
0a4815bc46
Reapply the translations except the Japanese one. Thx to Olaf Siejka for finding the guilty one.
...
svn path=/trunk/; revision=35332
2008-08-14 11:58:11 +00:00
Johannes Anderwald
117369c011
* Implement Chkdsk dialog resources
...
svn path=/trunk/; revision=35331
2008-08-14 10:33:20 +00:00
Andrew Munger
85e9dd424d
Update the Fonts folder path.
...
svn path=/trunk/; revision=35330
2008-08-14 09:29:49 +00:00