mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 04:23:51 +00:00
212 lines
6.0 KiB
C++
212 lines
6.0 KiB
C++
namespace tracy
|
|
{
|
|
|
|
static const char* DecodeArmImplementer( uint32_t v )
|
|
{
|
|
static char buf[16];
|
|
switch( v )
|
|
{
|
|
case 0x41: return "ARM";
|
|
case 0x42: return "Broadcom";
|
|
case 0x43: return "Cavium";
|
|
case 0x44: return "DEC";
|
|
case 0x46: return "Fujitsu";
|
|
case 0x48: return "HiSilicon";
|
|
case 0x4d: return "Motorola";
|
|
case 0x4e: return "Nvidia";
|
|
case 0x50: return "Applied Micro";
|
|
case 0x51: return "Qualcomm";
|
|
case 0x53: return "Samsung";
|
|
case 0x54: return "Texas Instruments";
|
|
case 0x56: return "Marvell";
|
|
case 0x61: return "Apple";
|
|
case 0x66: return "Faraday";
|
|
case 0x68: return "HXT";
|
|
case 0x69: return "Intel";
|
|
default: break;
|
|
}
|
|
sprintf( buf, "0x%x", v );
|
|
return buf;
|
|
}
|
|
|
|
static const char* DecodeArmPart( uint32_t impl, uint32_t part )
|
|
{
|
|
static char buf[16];
|
|
switch( impl )
|
|
{
|
|
case 0x41:
|
|
switch( part )
|
|
{
|
|
case 0x810: return "810";
|
|
case 0x920: return "920";
|
|
case 0x922: return "922";
|
|
case 0x926: return "926";
|
|
case 0x940: return "940";
|
|
case 0x946: return "946";
|
|
case 0x966: return "966";
|
|
case 0xa20: return "1020";
|
|
case 0xa22: return "1022";
|
|
case 0xa26: return "1026";
|
|
case 0xb02: return "11 MPCore";
|
|
case 0xb36: return "1136";
|
|
case 0xb56: return "1156";
|
|
case 0xb76: return "1176";
|
|
case 0xc05: return " Cortex-A5";
|
|
case 0xc07: return " Cortex-A7";
|
|
case 0xc08: return " Cortex-A8";
|
|
case 0xc09: return " Cortex-A9";
|
|
case 0xc0c: return " Cortex-A12";
|
|
case 0xc0d: return " Rockchip RK3288";
|
|
case 0xc0f: return " Cortex-A15";
|
|
case 0xc0e: return " Cortex-A17";
|
|
case 0xc14: return " Cortex-R4";
|
|
case 0xc15: return " Cortex-R5";
|
|
case 0xc17: return " Cortex-R7";
|
|
case 0xc18: return " Cortex-R8";
|
|
case 0xc20: return " Cortex-M0";
|
|
case 0xc21: return " Cortex-M1";
|
|
case 0xc23: return " Cortex-M3";
|
|
case 0xc24: return " Cortex-M4";
|
|
case 0xc27: return " Cortex-M7";
|
|
case 0xc60: return " Cortex-M0+";
|
|
case 0xd00: return " AArch64 simulator";
|
|
case 0xd01: return " Cortex-A32";
|
|
case 0xd03: return " Cortex-A53";
|
|
case 0xd04: return " Cortex-A35";
|
|
case 0xd05: return " Cortex-A55";
|
|
case 0xd06: return " Cortex-A65";
|
|
case 0xd07: return " Cortex-A57";
|
|
case 0xd08: return " Cortex-A72";
|
|
case 0xd09: return " Cortex-A73";
|
|
case 0xd0a: return " Cortex-A75";
|
|
case 0xd0b: return " Cortex-A76";
|
|
case 0xd0c: return " Neoverse N1";
|
|
case 0xd0d: return " Cortex-A77";
|
|
case 0xd0e: return " Cortex-A76AE";
|
|
case 0xd0f: return " AEMv8";
|
|
case 0xd13: return " Cortex-R52";
|
|
case 0xd20: return " Cortex-M23";
|
|
case 0xd21: return " Cortex-M33";
|
|
case 0xd4a: return " Neoverse E1";
|
|
default: break;
|
|
}
|
|
case 0x42:
|
|
switch( part )
|
|
{
|
|
case 0xf: return " Brahma B15";
|
|
case 0x100: return " Brahma B53";
|
|
case 0x516: return " ThunderX2";
|
|
default: break;
|
|
}
|
|
case 0x43:
|
|
switch( part )
|
|
{
|
|
case 0xa0: return " ThunderX";
|
|
case 0xa1: return " ThunderX 88XX";
|
|
case 0xa2: return " ThunderX 81XX";
|
|
case 0xa3: return " ThunderX 83XX";
|
|
case 0xaf: return " ThunderX2 99xx";
|
|
default: break;
|
|
}
|
|
case 0x44:
|
|
switch( part )
|
|
{
|
|
case 0xa10: return " SA110";
|
|
case 0xa11: return " SA1100";
|
|
default: break;
|
|
}
|
|
case 0x46:
|
|
switch( part )
|
|
{
|
|
case 0x1: return " A64FX";
|
|
default: break;
|
|
}
|
|
case 0x48:
|
|
switch( part )
|
|
{
|
|
case 0xd01: return " TSV100";
|
|
case 0xd40: return " Kirin 980";
|
|
default: break;
|
|
}
|
|
case 0x4e:
|
|
switch( part )
|
|
{
|
|
case 0x0: return " Denver";
|
|
case 0x3: return " Denver 2";
|
|
case 0x4: return " Carmel";
|
|
default: break;
|
|
}
|
|
case 0x50:
|
|
switch( part )
|
|
{
|
|
case 0x0: return " X-Gene";
|
|
default: break;
|
|
}
|
|
case 0x51:
|
|
switch( part )
|
|
{
|
|
case 0xf: return " Scorpion";
|
|
case 0x2d: return " Scorpion";
|
|
case 0x4d: return " Krait";
|
|
case 0x6f: return " Krait";
|
|
case 0x200: return " Kryo";
|
|
case 0x201: return " Kryo Silver (Snapdragon 821)";
|
|
case 0x205: return " Kryo Gold";
|
|
case 0x211: return " Kryo Silver (Snapdragon 820)";
|
|
case 0x800: return " Kryo 260 / 280 Gold";
|
|
case 0x801: return " Kryo 260 / 280 Silver";
|
|
case 0x802: return " Kryo 385 Gold";
|
|
case 0x803: return " Kryo 385 Silver";
|
|
case 0x804: return " Kryo 485 Gold";
|
|
case 0xc00: return " Falkor";
|
|
case 0xc01: return " Saphira";
|
|
default: break;
|
|
}
|
|
case 0x53:
|
|
switch( part )
|
|
{
|
|
case 0x1: return " Exynos M1/M2";
|
|
case 0x2: return " Exynos M3";
|
|
default: break;
|
|
}
|
|
case 0x56:
|
|
switch( part )
|
|
{
|
|
case 0x131: return " Feroceon 88FR131";
|
|
case 0x581: return " PJ4 / PJ4B";
|
|
case 0x584: return " PJ4B-MP / PJ4C";
|
|
default: break;
|
|
}
|
|
case 0x61:
|
|
switch( part )
|
|
{
|
|
case 0x1: return " Cyclone";
|
|
case 0x2: return " Typhoon";
|
|
case 0x3: return " Typhoon/Capri";
|
|
case 0x4: return " Twister";
|
|
case 0x5: return " Twister/Elba/Malta";
|
|
case 0x6: return " Hurricane";
|
|
case 0x7: return " Hurricane/Myst";
|
|
default: break;
|
|
}
|
|
case 0x66:
|
|
switch( part )
|
|
{
|
|
case 0x526: return " FA526";
|
|
case 0x626: return " FA626";
|
|
default: break;
|
|
}
|
|
case 0x68:
|
|
switch( part )
|
|
{
|
|
case 0x0: return " Phecda";
|
|
default: break;
|
|
}
|
|
default: break;
|
|
}
|
|
sprintf( buf, " 0x%x", part );
|
|
return buf;
|
|
}
|
|
|
|
}
|