From 8df8940a6e0c32633ce05ffdc0c7f8dc430b717a Mon Sep 17 00:00:00 2001 From: ReactOS Portable Systems Group Date: Mon, 23 Jun 2008 03:57:50 +0000 Subject: [PATCH] - The CRT sync by "fireball" is incorrect and results in a broken ntos kernel. Although it may work on i386 builds, it results in a corrupted kernel anyways. On ARM, we try to hackfix around it by not including some routines that should not be in the kernel but were being imported due to the broken crt changes. - We do not attemp to build world anymore. We have handwritten a new ARM rbuild file that only builds what we need for our current ARM work. - HAL and FreeLDR do not seem to have an "installpath"... why not? Added one at least for our ARM stuff, so that "make install" can drop the binaries. - Fixed some ARM DDK macro inconsistencies, allow more drivers to build. - It is now possible to use "make install -k" to drop a completely working ARM build onto an image due to all these changes. svn path=/trunk/; revision=34055 --- reactos/ReactOS-arm.rbuild | 149 ++++++++++++++++++- reactos/boot/freeldr/freeldr.rbuild | 6 - reactos/boot/freeldr/freeldr/freeldr.rbuild | 2 +- reactos/hal/halarm/up/halup.rbuild | 2 +- reactos/include/reactos/arm/armddk.h | 4 +- reactos/lib/sdk/crt/string/wcs.c | 6 +- reactos/ntoskrnl/include/internal/ntoskrnl.h | 2 + 7 files changed, 157 insertions(+), 14 deletions(-) diff --git a/reactos/ReactOS-arm.rbuild b/reactos/ReactOS-arm.rbuild index 907b6f3526f..99eab9ab6b0 100644 --- a/reactos/ReactOS-arm.rbuild +++ b/reactos/ReactOS-arm.rbuild @@ -7,11 +7,38 @@ - + + + + 1 + + + + + 1 + + + + . + include + include + include/psdk + include/psdk + include/dxsdk + include/dxsdk + include/crt + include/crt/mingw32 + include/ddk + include/GL + include/ndk + include/reactos + include/reactos + include/reactos/mc + include/reactos/libs include/reactos/arm @@ -43,4 +70,124 @@ -s -lgcc -static + + + + + + + + + + +/directory> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/reactos/boot/freeldr/freeldr.rbuild b/reactos/boot/freeldr/freeldr.rbuild index ce4e3f46a2f..a21fea7f88d 100644 --- a/reactos/boot/freeldr/freeldr.rbuild +++ b/reactos/boot/freeldr/freeldr.rbuild @@ -14,10 +14,4 @@ - - - - - - diff --git a/reactos/boot/freeldr/freeldr/freeldr.rbuild b/reactos/boot/freeldr/freeldr/freeldr.rbuild index 303c2efa21c..0c7f598cf5e 100644 --- a/reactos/boot/freeldr/freeldr/freeldr.rbuild +++ b/reactos/boot/freeldr/freeldr/freeldr.rbuild @@ -18,7 +18,7 @@ - + freeldr_startup freeldr_base64k diff --git a/reactos/hal/halarm/up/halup.rbuild b/reactos/hal/halarm/up/halup.rbuild index 8ddf1c6af58..0576021a4d0 100644 --- a/reactos/hal/halarm/up/halup.rbuild +++ b/reactos/hal/halarm/up/halup.rbuild @@ -1,6 +1,6 @@ - + ../include diff --git a/reactos/include/reactos/arm/armddk.h b/reactos/include/reactos/arm/armddk.h index ad06607deb4..71e228f1629 100644 --- a/reactos/include/reactos/arm/armddk.h +++ b/reactos/include/reactos/arm/armddk.h @@ -33,11 +33,13 @@ // // Just read it from the PCR // -#define KeGetCurrentProcessorNumber() PCR->Number +#define KeGetCurrentProcessorNumber() (int)PCR->Number #define KeGetCurrentIrql() PCR->CurrentIrql #define _KeGetCurrentThread() PCR->CurrentThread #define _KeGetPreviousMode() PCR->CurrentThread->PreviousMode #define _KeIsExecutingDpc() (PCR->DpcRoutineActive != 0) +#define KeGetCurrentThread() _KeGetCurrentThread() +#define KeGetPreviousMode() _KeGetPreviousMode() #define KeGetDcacheFillSize() PCR->DcacheFillSize // diff --git a/reactos/lib/sdk/crt/string/wcs.c b/reactos/lib/sdk/crt/string/wcs.c index 46e1b02d29e..d0708df588f 100644 --- a/reactos/lib/sdk/crt/string/wcs.c +++ b/reactos/lib/sdk/crt/string/wcs.c @@ -67,7 +67,6 @@ wchar_t* CDECL _wcsdup( const wchar_t* str ) } return ret; } -#endif /********************************************************************* * _wcsicoll (MSVCRT.@) */ @@ -76,7 +75,7 @@ INT CDECL _wcsicoll( const wchar_t* str1, const wchar_t* str2 ) /* FIXME: handle collates */ return strcmpiW( str1, str2 ); } - +#endif /********************************************************************* * _wcsnset (MSVCRT.@) */ @@ -102,7 +101,7 @@ wchar_t* CDECL _wcsrev( wchar_t* str ) } return ret; } - +#ifndef _LIBCNT_ /********************************************************************* * _wcsset (MSVCRT.@) */ @@ -185,7 +184,6 @@ double CDECL wcstod(const wchar_t* lpszStr, wchar_t** end) return ret; } -#ifndef _LIBCNT_ typedef struct pf_output_t { int used; diff --git a/reactos/ntoskrnl/include/internal/ntoskrnl.h b/reactos/ntoskrnl/include/internal/ntoskrnl.h index 24c2c331359..8c2400e1b8a 100644 --- a/reactos/ntoskrnl/include/internal/ntoskrnl.h +++ b/reactos/ntoskrnl/include/internal/ntoskrnl.h @@ -17,8 +17,10 @@ #ifdef _NTOSKRNL_ +#ifndef _ARM_ #define KeGetCurrentThread _KeGetCurrentThread #define KeGetPreviousMode _KeGetPreviousMode +#endif #undef PsGetCurrentProcess #define PsGetCurrentProcess _PsGetCurrentProcess