MCPcopy Create free account
hub / github.com/EasyIME/PIME / parse_arch

Function parse_arch

python/cinbase/tools/cpuinfo.py:367–403  ·  view source on GitHub ↗
(raw_arch_string)

Source from the content-addressed store, hash-verified

365 return ticks
366
367def parse_arch(raw_arch_string):
368 arch, bits = None, None
369 raw_arch_string = raw_arch_string.lower()
370
371 # X86
372 if re.match('^i\d86$|^x86$|^x86_32$|^i86pc$|^ia32$|^ia-32$|^bepc$', raw_arch_string):
373 arch = 'X86_32'
374 bits = 32
375 elif re.match('^x64$|^x86_64$|^x86_64t$|^i686-64$|^amd64$|^ia64$|^ia-64$', raw_arch_string):
376 arch = 'X86_64'
377 bits = 64
378 # ARM
379 elif re.match('^armv8-a$', raw_arch_string):
380 arch = 'ARM_8'
381 bits = 64
382 elif re.match('^armv7$|^armv7[a-z]$|^armv7-[a-z]$|^armv6[a-z]$', raw_arch_string):
383 arch = 'ARM_7'
384 bits = 32
385 elif re.match('^armv8$|^armv8[a-z]$|^armv8-[a-z]$', raw_arch_string):
386 arch = 'ARM_8'
387 bits = 32
388 # PPC
389 elif re.match('^ppc32$|^prep$|^pmac$|^powermac$', raw_arch_string):
390 arch = 'PPC_32'
391 bits = 32
392 elif re.match('^powerpc$|^ppc64$', raw_arch_string):
393 arch = 'PPC_64'
394 bits = 64
395 # SPARC
396 elif re.match('^sparc32$|^sparc$', raw_arch_string):
397 arch = 'SPARC_32'
398 bits = 32
399 elif re.match('^sparc64$|^sun4u$|^sun4v$', raw_arch_string):
400 arch = 'SPARC_64'
401 bits = 64
402
403 return (arch, bits)
404
405def is_bit_set(reg, bit):
406 mask = 1 << bit

Callers 8

get_cpu_info_from_dmesgFunction · 0.85
get_cpu_info_from_sysctlFunction · 0.85
get_cpu_info_from_kstatFunction · 0.85
_check_archFunction · 0.85

Calls 1

matchMethod · 0.45

Tested by

no test coverage detected