[REACTOS] Finally get some ARM64 applications building (#4517)

- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
This commit is contained in:
Justin Miller 2022-05-25 07:06:32 -07:00 committed by GitHub
parent 3464df8c28
commit 4363e74ddc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 529 additions and 17 deletions

View file

@ -13,6 +13,23 @@ $if (_WDMDDK_)
#define PROFILE_LEVEL 15
#define HIGH_LEVEL 15
#define SharedUserData ((KUSER_SHARED_DATA * const)KI_USER_SHARED_DATA)
#define PAGE_SIZE 0x1000
#define PAGE_SHIFT 12L
#define PAUSE_PROCESSOR YieldProcessor();
/* FIXME: Based on AMD64 but needed to compile apps */
#define KERNEL_STACK_SIZE 12288
#define KERNEL_LARGE_STACK_SIZE 61440
#define KERNEL_LARGE_STACK_COMMIT KERNEL_STACK_SIZE
/* FIXME End */
#define EXCEPTION_READ_FAULT 0
#define EXCEPTION_WRITE_FAULT 1
#define EXCEPTION_EXECUTE_FAULT 8
NTSYSAPI
PKTHREAD
NTAPI

View file

@ -4383,6 +4383,17 @@ FORCEINLINE PVOID GetCurrentFiber(VOID)
return ((PNT_TIB )(ULONG_PTR)_MoveFromCoprocessor(CP15_TPIDRURW))->FiberData;
#endif
}
#elif defined (_M_ARM64)
FORCEINLINE struct _TEB * NtCurrentTeb(void)
{
//UNIMPLEMENTED;
return 0;
}
FORCEINLINE PVOID GetCurrentFiber(VOID)
{
//UNIMPLEMENTED;
return 0;
}
#elif defined(_M_PPC)
FORCEINLINE unsigned long _read_teb_dword(const unsigned long Offset)
{
@ -4478,6 +4489,8 @@ DbgRaiseAssertionFailure(VOID)
#define YieldProcessor() __asm__ __volatile__("nop");
#elif defined(_M_ARM)
#define YieldProcessor __yield
#elif defined(_M_ARM64)
#define YieldProcessor __yield
#else
#error Unknown architecture
#endif