Commit graph

31857 commits

Author SHA1 Message Date
Timo Kreuzer
3e915894d6 add _ELF_ property to rbuild file
svn path=/branches/ros-amd64-bringup/; revision=35322
2008-08-13 23:06:54 +00:00
Timo Kreuzer
1cd21f9e2a add macro definitions for KeQuerySystemTime, KeQueryTickCount
and KeQueryInterruptTime to ddk, remove corresponding exports from ntoskrnl

svn path=/branches/ros-amd64-bringup/; revision=35167
2008-08-07 17:59:46 +00:00
Timo Kreuzer
33423c8985 use a do-nothing-seh as on arm
svn path=/branches/ros-amd64-bringup/; revision=35136
2008-08-05 21:50:25 +00:00
Timo Kreuzer
21cfe5cb01 implement byteswap intrinsics
svn path=/branches/ros-amd64-bringup/; revision=35135
2008-08-05 21:25:29 +00:00
Timo Kreuzer
a20a7005ef use constants from winddk and get rid of private definitions.
svn path=/branches/ros-amd64-bringup/; revision=35021
2008-08-01 22:18:58 +00:00
Timo Kreuzer
52ada29945 Fix macros that didn't have brackets around the argument. Add FrLdrDbgPrint for debugprints. Use ULONG_PTR instead of ULONG for memory offsets and pointer values. Use RosLoaderBlock->KernelBase instead of hardcoded value for the beginning of the kernel. Now we reach KiSystemStartupReal.
svn path=/branches/ros-amd64-bringup/; revision=34989
2008-08-01 01:08:53 +00:00
Timo Kreuzer
82d72f9d04 - fix SECURITY_DESCRIPTOR_RELATIVE and KDPC_DATA
svn path=/branches/ros-amd64-bringup/; revision=34987
2008-07-31 23:04:35 +00:00
Timo Kreuzer
f9b1269405 - fix usage of InterlockedExchangePointer
- some ULONG / SIZE_T fixes
- pushlocks have a union with a PVOID and an ULONG, use them instead of typecasting
- use InterlockedAndPointer for a pushlock

svn path=/branches/ros-amd64-bringup/; revision=34986
2008-07-31 23:01:51 +00:00
Timo Kreuzer
4972cd28d6 - do not define -nostartfiles for kernel, it looks like ld creates unaligned section pointers then
- comment out RtlCapturestackLimits
- use KeGetCurrentPrcb instead if KetGetPcr()->Prcb
- fix use of KPCR->Prcb
- use %p instead of %08x for ULONG_PTR
- update stubs
- add more files to build
- add FrLdrDbgPrint prototype to ntoskrnl.h

svn path=/branches/ros-amd64-bringup/; revision=34971
2008-07-31 02:20:15 +00:00
Timo Kreuzer
5a0c8727c2 - update KPCR and KIPCR
- add KeGetPcr() and update KeGetCurrentProcessorNumber 

svn path=/branches/ros-amd64-bringup/; revision=34970
2008-07-31 02:16:59 +00:00
Timo Kreuzer
a4011bc8b6 - some ULONG / SIZE_T fixes
- handle amd64 in PspCreateThread

svn path=/branches/ros-amd64-bringup/; revision=34969
2008-07-31 00:35:26 +00:00
Timo Kreuzer
1a092630ea feeldr:
- add a funtion to display the loader block
- initialize pointer to DbgPrint in the loader block

svn path=/branches/ros-amd64-bringup/; revision=34968
2008-07-31 00:06:49 +00:00
Timo Kreuzer
11c478e6d2 - add some definitions to winddk.h
- amd64/ketypes.h: KSEG0_BASE is where the kernel is loaded, on amd64 this is not equal to MM_LOWEST_SYSTEM_ADDRESS (FFFF080000000000, which is not even a valid canocical address), but it's 0xfffff80000000000)
- add a field for a DbgPrint function pointer to the ROS_LOADER_PARAMETER_BLOCK for early debug prints in ntoskrnl
- hack PCR

svn path=/branches/ros-amd64-bringup/; revision=34967
2008-07-30 23:59:02 +00:00
Samuel Serapion
a7c2391db9 getting sloppy.
svn path=/branches/ros-amd64-bringup/; revision=34965
2008-07-30 21:05:32 +00:00
Timo Kreuzer
9318fe48a0 - add stubbed out mm/amd64/page.c
- add amd64 specific mm.h
- add a temp hack (can't inline a function with SEH atm)
- add baseaddress and entrypoint to ntoskrnl rbuild
- add all mm files to ntoskrnl rbuild
- update subs file

svn path=/branches/ros-amd64-bringup/; revision=34942
2008-07-30 00:54:12 +00:00
Timo Kreuzer
bed58e73c9 - fix usage of InterlockedExchangeAddSizeT
svn path=/branches/ros-amd64-bringup/; revision=34941
2008-07-30 00:31:41 +00:00
Timo Kreuzer
1bbf3fa9ac - fix ExQueryPoolBlockSize prototype
- make KI_USER_SHARED_DATA and IMAGE_ORDINAL_FLAG64 a ULONGLONG
- fix definition if IMAGE_OPTIONAL_HEADER64
- add KPCR structure
- add __readcrx intrinsics
- 

svn path=/branches/ros-amd64-bringup/; revision=34940
2008-07-30 00:30:00 +00:00
Timo Kreuzer
a23e33144d fix several ULONG / ULONG_PTR / SIZE_T issues.
svn path=/branches/ros-amd64-bringup/; revision=34939
2008-07-30 00:25:15 +00:00
Timo Kreuzer
256098d254 I reworked the pagetable code a little. Now the first tables are static .bss tables. Later before switching to the kernel, we create a proper 4 level page table. Here we allocate the needed pages. Remove obsolete meminit hack. Add a few useful debug prints to setupldr and comment out return, when ext2 wasn't loaded. We now reach the point where we jump to ntoskrnl, but ntoskrnl is in a bad shape ;-)
svn path=/branches/ros-amd64-bringup/; revision=34937
2008-07-29 19:09:56 +00:00
Timo Kreuzer
96888c6a6a remove useless cast
svn path=/branches/ros-amd64-bringup/; revision=34926
2008-07-29 15:30:15 +00:00
Timo Kreuzer
98797fa1bf - fix InterlockedExchangeAddSizeT
- fix __writecrx instrinsics
- fix some mmtypes

svn path=/branches/ros-amd64-bringup/; revision=34925
2008-07-29 15:22:17 +00:00
Timo Kreuzer
57fe9d163d fix _InterlockedDecrement64
svn path=/branches/ros-amd64-bringup/; revision=34919
2008-07-28 22:00:17 +00:00
Timo Kreuzer
4a8be83925 fix ntoskrnl build
svn path=/branches/ros-amd64-bringup/; revision=34918
2008-07-28 21:43:28 +00:00
Timo Kreuzer
ad2827f5f4 fix hal build
svn path=/branches/ros-amd64-bringup/; revision=34917
2008-07-28 21:42:32 +00:00
Timo Kreuzer
f677303425 - add missing 64 bit intrinsic Interlocked functions
- readd Interlocked definitions to winddk.h that someone stole

svn path=/branches/ros-amd64-bringup/; revision=34916
2008-07-28 21:39:55 +00:00
Timo Kreuzer
2ff232d781 sync with trunk head (34904)
svn path=/branches/ros-amd64-bringup/; revision=34910
2008-07-28 15:52:00 +00:00
Timo Kreuzer
a5d18f835c some more win32k 64 bit fixes
svn path=/branches/ros-amd64-bringup/; revision=34909
2008-07-28 15:30:31 +00:00
Timo Kreuzer
2c0f5fbba4 some 64 bit fixes in win32k
svn path=/branches/ros-amd64-bringup/; revision=34908
2008-07-28 15:19:17 +00:00
Timo Kreuzer
fdd31121db - #if out vista api for now
- fix advapi and kernel32 spec files. They need more review though.
- fix NtUserGetThreadState
This fixes x86 build.

svn path=/branches/ros-amd64-bringup/; revision=34907
2008-07-28 15:14:30 +00:00
Samuel Serapion
a0c7e902ab Warning and error fixes.
svn path=/branches/ros-amd64-bringup/; revision=34906
2008-07-28 14:50:17 +00:00
Samuel Serapion
c89e519b74 Fix x86 ntoskrnl build.
Fix TreeView_EnsureVisible macro.

svn path=/branches/ros-amd64-bringup/; revision=34905
2008-07-28 14:48:07 +00:00
Art Yerkes
7c5414460f This is a patch i've been keeping for a while. Yes, it's not "as nt does it",
but it solves a practical problem, and isn't particularly invasive (the main
change is the call to KdpEnableSafeMem ... everything else could be macroed
out if desired).  

This provides armour for kdbg and gdb that avoid faulting on bad addresses by
implementing a simple poor-man's mmu and letting the debuggers use it.

svn path=/trunk/; revision=34904
2008-07-28 14:47:17 +00:00
Timo Kreuzer
1de2bbcd36 fix interlocked stuff in winddk, maybe not 100%, but better now
svn path=/branches/ros-amd64-bringup/; revision=34903
2008-07-28 14:46:08 +00:00
Dmitry Chapyshev
94f599dec2 - Add console version Appwiz. It is not finished, but fully works
svn path=/trunk/; revision=34902
2008-07-28 14:40:32 +00:00
Aleksey Bragin
b971b4d659 Dmitry Gorbachev
- PDT of CSRSS has no entry for TCB of the thread, fix this problem.
See issue #3591 for more details.

svn path=/trunk/; revision=34901
2008-07-28 14:32:50 +00:00
Timo Kreuzer
0f59187920 move the inlined InterlockedAnd/Or from rtl to winbase.h and rename it to InterlockedAnd/Or_Inline
svn path=/branches/ros-amd64-bringup/; revision=34900
2008-07-28 14:05:45 +00:00
Art Yerkes
258329b01b Fix (among other things) failure to boot when a CD is not inserted, caused by
the new (correct) ASSERT in mutex acquisition in MmProbeAndLockPages, which
was erroneously being called from IoBuildAsynchronousFsdRequest at
DISPATCH_LEVEL.  

The only correct course of action when calling IoBuildAsynchronousFsdRequest
at DISPATCH_LEVEL is to MmBuildMdlForNonPagedPool since the buffer must be 
nonpaged (if the IRP completes synchronously, we'll still be at DISPATCH_LEVEL)
This is the case when direct io is done at DISPATCH_LEVEL using
IoBuildAsynchronousFsdRequest.

svn path=/trunk/; revision=34899
2008-07-28 12:38:47 +00:00
Aleksey Bragin
966a7b788f - Silence crt's "wtf".
svn path=/trunk/; revision=34897
2008-07-28 11:30:08 +00:00
Ged Murphy
36dab01cab - Don't check outside of the array bounds
- Spotted by Marcelo Slomp <mslomp at linuxmail dot org>
See issue #3593 for more details.

svn path=/trunk/; revision=34892
2008-07-28 08:45:38 +00:00
Colin Finck
795b09cde7 Replace '#ifdef __linux__' by '#ifndef WIN32', etc. to fix compilation on Mac OS X (hint by Alex on ros-dev)
svn path=/trunk/; revision=34891
2008-07-28 08:32:04 +00:00
ReactOS Portable Systems Group
a9f6591d2c - Don't use .spec file on ARM, it doesn't work.
- For the first time, the entire ARM build of ReactOS builds (for the components we've defined)!
- Now the user-mode fun begins.


svn path=/trunk/; revision=34890
2008-07-28 03:07:50 +00:00
ReactOS Portable Systems Group
e34e342d45 - Fix build of NTOS and FreeLDR on ARM.
svn path=/trunk/; revision=34889
2008-07-28 03:07:03 +00:00
Timo Kreuzer
b423bf7a95 Now after loading all the drivers we come to where we setup the page directory. This is good, but I'm too tired to look into this now....
svn path=/branches/ros-amd64-bringup/; revision=34888
2008-07-28 02:18:46 +00:00
ReactOS Portable Systems Group
4eb79d6d88 - Fix FreeLDR for ARM build after some header changes that happen in NTOS.
svn path=/trunk/; revision=34887
2008-07-28 02:18:43 +00:00
ReactOS Portable Systems Group
a249132448 - Define the "generic" versions of the ARM-specific HAL routines.
- Now the generic HAL builds without linker errors.


svn path=/trunk/; revision=34886
2008-07-28 02:15:40 +00:00
ReactOS Portable Systems Group
1b0bec70c1 - Fix the NTOS ARM build after the recent Mm changes.
svn path=/trunk/; revision=34885
2008-07-28 02:13:56 +00:00
ReactOS Portable Systems Group
80f7916a79 - We finally figured out how to build the CRT! It seems on ARM, we have to add __MSVCRT__ to all build targets.
- Thanks to the people who worked on the PPC port for making this obvious in the rbuild file :)


svn path=/trunk/; revision=34884
2008-07-28 02:13:39 +00:00
Timo Kreuzer
007a3b2a39 moar drivers
svn path=/branches/ros-amd64-bringup/; revision=34883
2008-07-28 01:51:56 +00:00
Timo Kreuzer
db30576dfb another Interlocked fix, still it's not all perfect
svn path=/branches/ros-amd64-bringup/; revision=34882
2008-07-28 01:50:22 +00:00
ReactOS Portable Systems Group
a5a0461289 Now that MADDRESS_SPACE became nearly an empty structure pointing only at the root, it can completely go away. Now VadRoot really is a MM_AVL_TABLE structure.
The BalancedRoot.u1.Parent now points to what used to be MemoryAreaRoot. This isn't really the most proper fix out there -- the problem is that React starts with an no root, while Windows
starts with an empty balanced root. So for now we keep doing it the React way, which means we have about 10 ugly typecast hacks. On the other hand, we got rid of more than 100 of them.


svn path=/trunk/; revision=34881
2008-07-28 01:49:23 +00:00