wineboot: added more architectures in create_enviroment_registry_keys

K. Wartke kwartke at gmail.com
Sun Aug 15 11:54:47 CDT 2010


---
 programs/wineboot/wineboot.c |   20 ++++++++++++++++++--
 1 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index 02d3746..81e62e6 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -261,6 +261,8 @@ static void create_environment_registry_keys( void )
     static const WCHAR NumProcW[]  = {'N','U','M','B','E','R','_','O','F','_','P','R','O','C','E','S','S','O','R','S',0};
     static const WCHAR ProcArchW[] = {'P','R','O','C','E','S','S','O','R','_','A','R','C','H','I','T','E','C','T','U','R','E',0};
     static const WCHAR x86W[]      = {'x','8','6',0};
+    static const WCHAR IA64W[]     = {'I','A','6','4',0};
+    static const WCHAR AMD64W[]    = {'A','M','D','6','4',0};
     static const WCHAR ProcIdW[]   = {'P','R','O','C','E','S','S','O','R','_','I','D','E','N','T','I','F','I','E','R',0};
     static const WCHAR ProcLvlW[]  = {'P','R','O','C','E','S','S','O','R','_','L','E','V','E','L',0};
     static const WCHAR ProcRevW[]  = {'P','R','O','C','E','S','S','O','R','_','R','E','V','I','S','I','O','N',0};
@@ -280,8 +282,22 @@ static void create_environment_registry_keys( void )
     sprintfW( buffer, PercentDW, NtCurrentTeb()->Peb->NumberOfProcessors );
     set_reg_value( env_key, NumProcW, buffer );
 
-    /* TODO: currently hardcoded x86, add different processors */
-    set_reg_value( env_key, ProcArchW, x86W );
+    switch(sci.Architecture)
+    {
+	case PROCESSOR_ARCHITECTURE_INTEL:
+	    set_reg_value( env_key, ProcArchW, x86W );
+	    break;
+	case PROCESSOR_ARCHITECTURE_AMD64:
+	    set_reg_value( env_key, ProcArchW, AMD64W );
+	    break;
+	case PROCESSOR_ARCHITECTURE_IA64:
+	    set_reg_value( env_key, ProcArchW, IA64W );
+	    break;
+	case PROCESSOR_ARCHITECTURE_UNKNOWN:
+	default:
+	    set_reg_value( env_key, ProcArchW, x86W );
+	    break;
+    }
 
     /* TODO: currently hardcoded Intel, add different processors */
     sprintfW( buffer, IntelCpuDescrW, sci.Level, HIBYTE(sci.Revision), LOBYTE(sci.Revision) );
-- 
1.7.1


------------igmUw8nIixfalYMviFRLvW--




More information about the wine-patches mailing list