[2/5] wineboot: Add environment registry keys on ARM

André Hentschel nerv at dawncrow.de
Sun Nov 10 15:40:36 CST 2013


---
 programs/wineboot/wineboot.c | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
index a062d81..21a84ff 100644
--- a/programs/wineboot/wineboot.c
+++ b/programs/wineboot/wineboot.c
@@ -276,6 +276,7 @@ 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 armW[]      = {'A','R','M',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};
@@ -285,6 +286,8 @@ static void create_environment_registry_keys( void )
     static const WCHAR Percent04XW[] = {'%','0','4','x',0};
     static const WCHAR IntelCpuDescrW[]  = {'%','s',' ','F','a','m','i','l','y',' ','%','d',' ','M','o','d','e','l',' ','%','d',
                                             ' ','S','t','e','p','p','i','n','g',' ','%','d',',',' ','G','e','n','u','i','n','e','I','n','t','e','l',0};
+    static const WCHAR ARMCpuDescrW[]  = {'A','R','M',' ','F','a','m','i','l','y',' ','7',' ','M','o','d','e','l',' ','%','X',
+                                            ' ','R','e','v','i','s','i','o','n',' ','%','d',0};
 
     HKEY env_key;
     SYSTEM_CPU_INFORMATION sci;
@@ -301,14 +304,23 @@ static void create_environment_registry_keys( void )
     switch(sci.Architecture)
     {
     case PROCESSOR_ARCHITECTURE_AMD64: arch = AMD64W; break;
+    case PROCESSOR_ARCHITECTURE_ARM:   arch = armW; break;
     case PROCESSOR_ARCHITECTURE_IA64:  arch = IA64W; break;
     default:
     case PROCESSOR_ARCHITECTURE_INTEL: arch = x86W; break;
     }
     set_reg_value( env_key, ProcArchW, arch );
 
-    /* TODO: currently hardcoded Intel, add different processors */
-    sprintfW( buffer, IntelCpuDescrW, arch, sci.Level, HIBYTE(sci.Revision), LOBYTE(sci.Revision) );
+    switch(sci.Architecture)
+    {
+    case PROCESSOR_ARCHITECTURE_ARM:
+        sprintfW( buffer, ARMCpuDescrW, sci.Level, sci.Revision );
+        break;
+    default:
+    case PROCESSOR_ARCHITECTURE_INTEL:
+        sprintfW( buffer, IntelCpuDescrW, arch, sci.Level, HIBYTE(sci.Revision), LOBYTE(sci.Revision) );
+        break;
+    }
     set_reg_value( env_key, ProcIdW, buffer );
 
     sprintfW( buffer, PercentDW, sci.Level );
-- 
1.8.1.2





More information about the wine-patches mailing list