- 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
This commit is contained in:
Timo Kreuzer
2008-07-24 19:09:03 +00:00
parent 3a0c3db1e0
commit bacef6a882
7 changed files with 28 additions and 8 deletions
+7 -2
View File
@@ -90,7 +90,7 @@
<!-- directory name="dll">
<xi:include href="dll/dll.rbuild" />
</directory -->
<!--
<directory name="drivers">
<directory name="base">
<directory name="bootvid">
@@ -100,12 +100,17 @@
<xi:include href="drivers/base/kdcom/kdcom.rbuild" />
</directory>
</directory>
<directory name="filesystems">
<directory name="fastfat">
<xi:include href="drivers/filesystems/fastfat/vfatfs.rbuild" />
</directory>
</directory>
</directory>
<directory name="hal">
<xi:include href="hal/hal.rbuild" />
</directory>
-->
<directory name="include">
<xi:include href="include/directory.rbuild" />
</directory>
+1
View File
@@ -14,6 +14,7 @@
<define name="__i386__" />
<property name="NTOSKRNL_SHARED" value="-file-alignment=0x1000 -section-alignment=0x1000 -shared"/>
<property name="PLATFORM" value="PC"/>
<if property="OPTIMIZE" value="1">
<compilerflag>-Os</compilerflag>
+5 -4
View File
@@ -23,10 +23,10 @@
#ifdef DBG
#define DEBUG_ALL
//#define DEBUG_ALL
//#define DEBUG_INIFILE
//#define DEBUG_REACTOS
//#define DEBUG_CUSTOM
#define DEBUG_CUSTOM
//#define DEBUG_NONE
#if defined (DEBUG_ALL)
@@ -38,8 +38,9 @@ ULONG DebugPrintMask = DPRINT_INIFILE;
#elif defined (DEBUG_REACTOS)
ULONG DebugPrintMask = DPRINT_REACTOS | DPRINT_REGISTRY;
#elif defined (DEBUG_CUSTOM)
ULONG DebugPrintMask = DPRINT_WARNING | DPRINT_MEMORY |
DPRINT_REACTOS | DPRINT_WINDOWS | DPRINT_HWDETECT;
ULONG DebugPrintMask = DPRINT_WARNING |
DPRINT_UI | DPRINT_CACHE | DPRINT_REACTOS |
DPRINT_LINUX;
#else //#elif defined (DEBUG_NONE)
ULONG DebugPrintMask = 0;
#endif
+3
View File
@@ -1539,6 +1539,9 @@ typedef enum
#define IMAGE_REL_BASED_HIGHLOW 3
#define IMAGE_REL_BASED_HIGHADJ 4
#define IMAGE_REL_BASED_MIPS_JMPADDR 5
#define IMAGE_REL_BASED_MIPS_JMPADDR16 9
#define IMAGE_REL_BASED_IA64_IMM64 9
#define IMAGE_REL_BASED_DIR64 10
#define IMAGE_ARCHIVE_START_SIZE 8
#define IMAGE_ARCHIVE_START "!<arch>\n"
#define IMAGE_ARCHIVE_END "`\n"
+2
View File
@@ -4,12 +4,14 @@
<directory name="csq">
<xi:include href="csq/csq.rbuild" />
</directory>
<!--
<directory name="ip">
<xi:include href="ip/ip.rbuild" />
</directory>
<directory name="oskittcp">
<xi:include href="oskittcp/oskittcp.rbuild" />
</directory>
-->
<directory name="chew">
<xi:include href="chew/chew.rbuild" />
</directory>
+6
View File
@@ -175,6 +175,7 @@ LdrProcessRelocationBlockLongLong(
USHORT i;
PUSHORT ShortPtr;
PULONG LongPtr;
PULONGLONG LongLongPtr;
for (i = 0; i < Count; i++)
{
@@ -212,6 +213,11 @@ LdrProcessRelocationBlockLongLong(
*LongPtr = SWAPD(*LongPtr) + (ULONG)Delta;
break;
case IMAGE_REL_BASED_DIR64:
LongLongPtr = (PUINT64)RVA(Address, Offset);
*LongLongPtr = SWAPQ(*LongLongPtr) + Delta;
break;
case IMAGE_REL_BASED_HIGHADJ:
case IMAGE_REL_BASED_MIPS_JMPADDR:
default:
+4 -2
View File
@@ -19,9 +19,11 @@ extern VOID FASTCALL CHECK_PAGED_CODE_RTL(char *file, int line);
#ifdef _PPC_
#define SWAPD(x) ((((x)&0xff)<<24)|(((x)&0xff00)<<8)|(((x)>>8)&0xff00)|(((x)>>24)&0xff))
#define SWAPW(x) ((((x)&0xff)<<8)|(((x)>>8)&0xff))
#define SWAPQ(x) ((SWAPD((x)&0xffffffff) << 32) | (SWAPD((x)>>32)))
#else
#define SWAPD(x) x
#define SWAPW(x) x
#define SWAPD(x) (x)
#define SWAPW(x) (x)
#define SWAPQ(x) (x)
#endif
VOID