[PATCH 9/9] setupapi: Add support for PPC64

André Hentschel nerv at dawncrow.de
Sun Apr 26 12:13:49 CDT 2020


Signed-off-by: André Hentschel <nerv at dawncrow.de>
---
 dlls/setupapi/devinst.c | 2 ++
 dlls/setupapi/fakedll.c | 4 ++++
 include/winnt.h         | 2 ++
 3 files changed, 8 insertions(+)

diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index 5bd2b88a023..3fbe6c41d32 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -61,6 +61,8 @@ static const WCHAR NtPlatformExtension[]  = {'.','N','T','a','m','d','6','4',0};
 static const WCHAR NtPlatformExtension[]  = {'.','N','T','a','r','m',0};
 #elif defined(__aarch64__)
 static const WCHAR NtPlatformExtension[]  = {'.','N','T','a','r','m','6','4',0};
+#elif defined(__powerpc64__)
+static const WCHAR NtPlatformExtension[]  = {'.','N','T','p','p','c','6','4',0};
 #endif
 static const WCHAR Signature[]  = {'S','i','g','n','a','t','u','r','e',0};
 static const WCHAR Version[]  = {'V','e','r','s','i','o','n',0};
diff --git a/dlls/setupapi/fakedll.c b/dlls/setupapi/fakedll.c
index 8cb80a9ef18..09f044694e8 100644
--- a/dlls/setupapi/fakedll.c
+++ b/dlls/setupapi/fakedll.c
@@ -280,6 +280,8 @@ static BOOL build_fake_dll( HANDLE file, const WCHAR *name )
     nt->FileHeader.Machine = IMAGE_FILE_MACHINE_ARM64;
 #elif defined __arm__
     nt->FileHeader.Machine = IMAGE_FILE_MACHINE_ARMNT;
+#elif defined __powerpc64__
+    nt->FileHeader.Machine = IMAGE_FILE_MACHINE_POWERPC64;
 #elif defined __powerpc__
     nt->FileHeader.Machine = IMAGE_FILE_MACHINE_POWERPC;
 #else
@@ -722,6 +724,8 @@ static BOOL CALLBACK register_manifest( HMODULE module, const WCHAR *type, WCHAR
     static const char current_arch[] = "arm";
 #elif defined __aarch64__
     static const char current_arch[] = "arm64";
+#elif defined __powerpc64__
+    static const char current_arch[] = "ppc64";
 #else
     static const char current_arch[] = "none";
 #endif
diff --git a/include/winnt.h b/include/winnt.h
index c90e9052de2..e2a12f8e05b 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -688,6 +688,7 @@ typedef DWORD FLONG;
 #define PROCESSOR_ARCHITECTURE_ARM64            12
 #define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64   13
 #define PROCESSOR_ARCHITECTURE_IA32_ON_ARM64    14
+#define PROCESSOR_ARCHITECTURE_PPC64            200 /* Wine extension */
 #define PROCESSOR_ARCHITECTURE_UNKNOWN	0xFFFF
 
 /* dwProcessorType */
@@ -2907,6 +2908,7 @@ typedef struct _IMAGE_VXD_HEADER {
 #define	IMAGE_FILE_MACHINE_AM33		0x01d3
 #define	IMAGE_FILE_MACHINE_POWERPC	0x01f0
 #define	IMAGE_FILE_MACHINE_POWERPCFP	0x01f1
+#define	IMAGE_FILE_MACHINE_POWERPC64	0x01fa
 #define	IMAGE_FILE_MACHINE_IA64		0x0200
 #define	IMAGE_FILE_MACHINE_MIPS16	0x0266
 #define	IMAGE_FILE_MACHINE_ALPHA64	0x0284
-- 
2.17.1




More information about the wine-devel mailing list