wineboot: Add environment registry keys on ARM.

This commit is contained in:
André Hentschel 2013-11-10 22:40:36 +01:00 committed by Alexandre Julliard
parent eef5e45ee6
commit 6e0b88006f
1 changed files with 14 additions and 2 deletions

View File

@ -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 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 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 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 IA64W[] = {'I','A','6','4',0};
static const WCHAR AMD64W[] = {'A','M','D','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 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 Percent04XW[] = {'%','0','4','x',0};
static const WCHAR IntelCpuDescrW[] = {'%','s',' ','F','a','m','i','l','y',' ','%','d',' ','M','o','d','e','l',' ','%','d', 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}; ' ','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; HKEY env_key;
SYSTEM_CPU_INFORMATION sci; SYSTEM_CPU_INFORMATION sci;
@ -301,14 +304,23 @@ static void create_environment_registry_keys( void )
switch(sci.Architecture) switch(sci.Architecture)
{ {
case PROCESSOR_ARCHITECTURE_AMD64: arch = AMD64W; break; case PROCESSOR_ARCHITECTURE_AMD64: arch = AMD64W; break;
case PROCESSOR_ARCHITECTURE_ARM: arch = armW; break;
case PROCESSOR_ARCHITECTURE_IA64: arch = IA64W; break; case PROCESSOR_ARCHITECTURE_IA64: arch = IA64W; break;
default: default:
case PROCESSOR_ARCHITECTURE_INTEL: arch = x86W; break; case PROCESSOR_ARCHITECTURE_INTEL: arch = x86W; break;
} }
set_reg_value( env_key, ProcArchW, arch ); set_reg_value( env_key, ProcArchW, arch );
/* TODO: currently hardcoded Intel, add different processors */ 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) ); sprintfW( buffer, IntelCpuDescrW, arch, sci.Level, HIBYTE(sci.Revision), LOBYTE(sci.Revision) );
break;
}
set_reg_value( env_key, ProcIdW, buffer ); set_reg_value( env_key, ProcIdW, buffer );
sprintfW( buffer, PercentDW, sci.Level ); sprintfW( buffer, PercentDW, sci.Level );