Commit graph

31681 commits

Author SHA1 Message Date
Samuel Serapion 0c493a626f Fix cast from pointer to integer of different size
svn path=/branches/ros-amd64-bringup/; revision=34758
2008-07-24 21:32:08 +00:00
Timo Kreuzer a44aeaaeec ntoskrnl: for now comment out all files that don't compile, the linker now get's a "-Wl,--file-alignment,0x1000" that it does not like, let's see what we can do about that
svn path=/branches/ros-amd64-bringup/; revision=34756
2008-07-24 21:08:31 +00:00
Samuel Serapion e5056878c6 Fix passing of command line args so it works on win64 too.
svn path=/branches/ros-amd64-bringup/; revision=34754
2008-07-24 20:15:36 +00:00
Timo Kreuzer efc2458c66 - add ntoskrnl to the build again, as we will need it now.
- add ke.h, mm.h and intrin_i.h for amd64 currently copied from i386
- remove Interlocked funtions from private ntoskrnl header that don't belong there, this will probably break x86 build, but who cares ;-)
At least the header compiles now...

svn path=/branches/ros-amd64-bringup/; revision=34753
2008-07-24 20:07:30 +00:00
Timo Kreuzer dc58f19c9a add KeGetCurrentThread prototype to winddk
svn path=/branches/ros-amd64-bringup/; revision=34752
2008-07-24 20:02:31 +00:00
Timo Kreuzer acd486b2e7 add ExpChangePushlock macro for _WIN64
svn path=/branches/ros-amd64-bringup/; revision=34750
2008-07-24 19:36:04 +00:00
Timo Kreuzer 9661a46df5 add _InterlockedExchange64 to intin_x86.h
svn path=/branches/ros-amd64-bringup/; revision=34749
2008-07-24 19:22:16 +00:00
Timo Kreuzer bacef6a882 - remove ip and oskittcp from build
- add fastfat to build
- add PLATFORM property "PC" also to i386 rbuild file to allow sharing of related code between i386 and amd64
- disable a few debug channels in freeldr
- winnt.h: add IMAGE_REL_BASED_MIPS_JMPADDR16, IMAGE_REL_BASED_IA64_IMM64 and IMAGE_REL_BASED_DIR64, the latter used for PE64 relocation
- rtl: implement case IMAGE_REL_BASED_DIR64 in LdrProcessRelocationBlockLongLong
- rtl: add SWAPQ macro for _PPC and fix macros SWAP macros for other architectures (remember: always put a macro argument in brackets)
Status: setupldr now loads a few files and finally wants to load fastfat.sys. But it fails when it comes to imports from ntoskrnl, no wonder we don't have an ntoskrnl yet...

svn path=/branches/ros-amd64-bringup/; revision=34748
2008-07-24 19:09:03 +00:00
Timo Kreuzer 3a0c3db1e0 convert external debug output from message boxes to real debug output on serial
svn path=/branches/ros-amd64-bringup/; revision=34747
2008-07-24 16:44:01 +00:00
Samuel Serapion 222bbb2c4a libwine:
-use InterlockedExchangeAdd instead of interlocked_xchg_add
libxml2:
-WINSOCKETAPI already defined in config.h no need to redefine
mingw_base:
-rework _fmode refernces to allow ros64 programs to work on win64.
-temporarily hack _wenviron to allow programs to work on win64.
-aling stack to 16bytes
oskit:
-remove inline asm per suggestion by arty

svn path=/branches/ros-amd64-bringup/; revision=34745
2008-07-24 14:32:35 +00:00
Timo Kreuzer 9e84c59b5c add ntoskrnl_amd64.def. For some reason amd64 kernel does not export KeQuerySystemTime and atm I don't know what else should be used, so I added it to the def.
svn path=/branches/ros-amd64-bringup/; revision=34744
2008-07-24 14:31:35 +00:00
Timo Kreuzer fdcebd5143 hal:
fix HalRequestIpi prototype, comment out IO access functions for amd64, add hal_amd64.def and a tiny amd64/hal_generic.c

svn path=/branches/ros-amd64-bringup/; revision=34743
2008-07-24 14:26:53 +00:00
Timo Kreuzer 01f51087d5 add a stubbed version of kdcom for amd64
svn path=/branches/ros-amd64-bringup/; revision=34742
2008-07-24 14:17:43 +00:00
Timo Kreuzer 0088ce62be - make bootvid build for PLATFORM=PC instead of ARCH=i386 to share the files between i386 and amd64
- fix ULONG <-> pointer casts
- add bootvid_amd64.def

svn path=/branches/ros-amd64-bringup/; revision=34741
2008-07-24 14:15:12 +00:00
Timo Kreuzer af63b172fe strip off stdcall decoration from amd64 entry points
svn path=/branches/ros-amd64-bringup/; revision=34740
2008-07-24 13:32:59 +00:00
Timo Kreuzer 7ccff652ba ddk: update AMD64 intrinsic Interlocked functions
svn path=/branches/ros-amd64-bringup/; revision=34739
2008-07-24 13:03:31 +00:00
Timo Kreuzer a9c1627517 - add some files, I forgot to commit
- add media directory to build
now we load some files and then stop due to missing fastfat.sys

svn path=/branches/ros-amd64-bringup/; revision=34738
2008-07-24 12:27:40 +00:00
Timo Kreuzer 040bc2a3c6 - mark special pages
- move some definitions to arch/amd64.h

svn path=/branches/ros-amd64-bringup/; revision=34735
2008-07-24 11:32:40 +00:00
Timo Kreuzer 61f395c536 - create 512 2 MB pages first, so we have a max of 1 GB available memory. This gets us much further through hardware detection. the setup screen loads and then it stops with "failed to load the ANSI codepage file"
svn path=/branches/ros-amd64-bringup/; revision=34733
2008-07-24 10:26:15 +00:00
Samuel Serapion da25b896fd Fix Implicit declaration warnings.
code->commit->????->profit!

svn path=/branches/ros-amd64-bringup/; revision=34730
2008-07-24 08:10:16 +00:00
Timo Kreuzer 5f3d8cbe06 forgot this one: a stubbed out loader.c copied from i386
svn path=/branches/ros-amd64-bringup/; revision=34728
2008-07-24 02:30:36 +00:00
Timo Kreuzer ceaa5e63d3 Implement a LoaderEntry, a function to setup a pagetable, a function to switch to long mode, a function to switch to real mode, Int386 to call interrupts, add some defines for amd64, enable full debug output.
now setupldr should compile, and start it's work. It boots into long mode, reads the memory layout from bios and finally crashes, because the page table is limited to a single page of 2MB atm

svn path=/branches/ros-amd64-bringup/; revision=34727
2008-07-24 02:27:00 +00:00
Timo Kreuzer 9ee9e193f1 - implement _alloca (untested), ChainLoadBiosBootSectorCode, SoftReboot
- copy drvmap.S, i386cpu.S, i386idt.S, i386pnp.S, i386trap.S, mb.S

svn path=/branches/ros-amd64-bringup/; revision=34726
2008-07-24 02:18:44 +00:00
Timo Kreuzer bc5810d71a freeldr:
- add amd64 to rbuild files
- add include/amd64 and arch/amd64 and copy some files from i386, maybe we can later share some of them between those architectures
- convert fathelp.asm to fathelp.S so we can link it. Content stays the same as for i386

svn path=/branches/ros-amd64-bringup/; revision=34725
2008-07-24 01:48:44 +00:00
Timo Kreuzer b0ef62e022 freeldr:
- use strtoull for reading a pointer
- use %p in a debugprint instead of cast to int

svn path=/branches/ros-amd64-bringup/; revision=34724
2008-07-24 01:34:28 +00:00
Timo Kreuzer 52521c8876 freeldr:
- fix several ULONG to pointer casts

svn path=/branches/ros-amd64-bringup/; revision=34723
2008-07-24 01:25:43 +00:00
Timo Kreuzer 25248671ed freeldr:
- make SectionId a ULONG_PTR
- same for some Loaderblock members

svn path=/branches/ros-amd64-bringup/; revision=34722
2008-07-24 01:22:30 +00:00
Timo Kreuzer 27c15e2b72 comment out 2 unneeded libs, that don't compile
svn path=/branches/ros-amd64-bringup/; revision=34721
2008-07-24 01:07:48 +00:00
Timo Kreuzer 9a787689f7 - rename _toul to _toulptr and make it return an ULONG_PTR
svn path=/branches/ros-amd64-bringup/; revision=34720
2008-07-24 01:06:22 +00:00
Timo Kreuzer 318a837c35 last fixes for crt. Those are messing with handles and casting between 32 and 64 bit. I'm not sure if it's correct, probably not...
crt and libcntpr now compile warning free on amd64

svn path=/branches/ros-amd64-bringup/; revision=34719
2008-07-24 00:58:16 +00:00
Timo Kreuzer 267c44c1b1 - int -> intptr_t
- unsigned long -> uintptr_t
- #undef _MINGW_IMPORT in ctype.c, to avoid warnings

svn path=/branches/ros-amd64-bringup/; revision=34718
2008-07-24 00:54:12 +00:00
Timo Kreuzer 8a9b9256be Patch from Samuel Serapion ("encoded", samdwise51 at gmail dot com):
- fix prototypes of _findfirst, _findnext, _findclose, _findfirsti64, _findnexti64 _wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, strndup, 
- fix a number of pointer to int casts

svn path=/branches/ros-amd64-bringup/; revision=34717
2008-07-24 00:20:01 +00:00
Timo Kreuzer 31e3f10a45 rtl:
- amd64/add debug_asm.S (FIXME)
- cast AtomName to ULONG_PTR instead of ULONG
- RtlQueryProcessdebugInformation(): cast teb->Cid.UniqueProcess to ULONG_PTR for assignment to Pid. (should ProcessId parameter be ULONG_PTR, too?)
- vs(w)nprintf: cast argument to ULONG_PTR instead of unsigned long for a %p
- comment out some inlined Interlocked functions that shouldn't be there anyway
Now rtl can be compiled

svn path=/branches/ros-amd64-bringup/; revision=34716
2008-07-23 23:56:37 +00:00
Timo Kreuzer cc5298d837 comment out a few libs for now that don't build
svn path=/branches/ros-amd64-bringup/; revision=34715
2008-07-23 23:40:33 +00:00
Timo Kreuzer e7311c8d53 recyclebin:
- DWORD -> SIZE_T and SIZE_T -> DWORD

svn path=/branches/ros-amd64-bringup/; revision=34714
2008-07-23 23:37:01 +00:00
Timo Kreuzer bd414d2f91 fix NtCurrentTeb()
svn path=/branches/ros-amd64-bringup/; revision=34713
2008-07-23 23:28:07 +00:00
Timo Kreuzer 08ca7e8b0f fix KeGetCurrentPrcb() inline function
svn path=/branches/ros-amd64-bringup/; revision=34712
2008-07-23 23:18:45 +00:00
Timo Kreuzer 68c4fc0511 add amd64 ketypes.h and mmtypes.h copied from x86
svn path=/branches/ros-amd64-bringup/; revision=34711
2008-07-23 23:17:46 +00:00
Timo Kreuzer 07a47f0686 update some loader structs ULONG -> ULONG_PTR / SIZE_T
svn path=/branches/ros-amd64-bringup/; revision=34710
2008-07-23 23:03:57 +00:00
Timo Kreuzer 536ae9a084 add size_t definition to _mingw.h (ported from mingw)
svn path=/branches/ros-amd64-bringup/; revision=34709
2008-07-23 23:00:47 +00:00
Timo Kreuzer 630562934e fix LIST_ENTRY() macro for 64 bits
svn path=/branches/ros-amd64-bringup/; revision=34708
2008-07-23 22:56:10 +00:00
Timo Kreuzer 40969b4e16 winddk.h:
- add InterlockedCompareExchangePointer and InterlockedExchangePointer
- add intrinsic port and register access functions

svn path=/branches/ros-amd64-bringup/; revision=34707
2008-07-23 22:53:04 +00:00
Timo Kreuzer 5d199fcb97 - fix ENUMRESLANGPROC, ENUMRESNAMEPROC and ENUMRESTYPEPROC
- add Interlocked functions for pointers

svn path=/branches/ros-amd64-bringup/; revision=34706
2008-07-23 22:49:16 +00:00
Timo Kreuzer a7d12287a5 - fix IMAGE_FIRST_SECTION macro
- implement GetCurrentFiber(), NtCurrentTeb() and YieldProcessor()


svn path=/branches/ros-amd64-bringup/; revision=34705
2008-07-23 22:45:52 +00:00
Timo Kreuzer 60e9de3ce1 Implement _InterlockedAnd64, _InterlockedOr64, _interlockedbittestandreset64, _interlockedbittestandset64 and gs-segment-adressing functions
- as amd64 shares most of the intrinsics of x86, implement them in intrin_x86.h

svn path=/branches/ros-amd64-bringup/; revision=34704
2008-07-23 22:27:50 +00:00
Timo Kreuzer 923a014a4c fix inline versions of integer <-> pointer conversion functions
svn path=/branches/ros-amd64-bringup/; revision=34703
2008-07-23 22:24:04 +00:00
Timo Kreuzer e5f02915a1 ndk:ldrtypes.h : convert LDR_RESOURCE_INFO members from ULONG to ULONG_PTR
svn path=/branches/ros-amd64-bringup/; revision=34702
2008-07-23 22:21:41 +00:00
Timo Kreuzer 0612cc0e7b create rbuild files and strip everything from build, except freeldr.
svn path=/branches/ros-amd64-bringup/; revision=34701
2008-07-23 22:14:10 +00:00
Timo Kreuzer f339a8396c Make ncitool create syscall stubs for amd64. We use the same as for x86 for now.
svn path=/branches/ros-amd64-bringup/; revision=34700
2008-07-23 22:00:43 +00:00
James Tabor ca0afa576e - Fix show window call and add message calls for future hook support.
svn path=/trunk/; revision=34698
2008-07-23 21:18:48 +00:00