(raw_arch_string)
| 365 | return ticks |
| 366 | |
| 367 | def 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 | |
| 405 | def is_bit_set(reg, bit): |
| 406 | mask = 1 << bit |
no test coverage detected