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