From b5b20310780ad446ca01efb64697e9cb734ef539 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Sat, 21 Aug 2021 10:22:35 +0200 Subject: [PATCH] winedump: Add a bunch of new CPU definitions for PDB. Update cvinfo.h accordingly. Signed-off-by: Eric Pouech Signed-off-by: Alexandre Julliard --- include/cvconst.h | 68 ++++++++++++++++++++++++++++++++++++ tools/winedump/msc.c | 82 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 143 insertions(+), 7 deletions(-) diff --git a/include/cvconst.h b/include/cvconst.h index adb18d420fb..39829c73592 100644 --- a/include/cvconst.h +++ b/include/cvconst.h @@ -743,3 +743,71 @@ typedef enum CV_CFL_LANG CV_CFL_MSIL, CV_CFL_HLSL, } CV_CFL_LANG; + +typedef enum CV_CPU_TYPE_e +{ + CV_CFL_8080, + CV_CFL_8086, + CV_CFL_80286, + CV_CFL_80386, + CV_CFL_80486, + CV_CFL_PENTIUM, + CV_CFL_PENTIUMII, + CV_CFL_PENTIUMPRO = CV_CFL_PENTIUMII, + CV_CFL_PENTIUMIII, + CV_CFL_MIPS = 0x10, + CV_CFL_MIPSR4000 = CV_CFL_MIPS, + CV_CFL_MIPS16, + CV_CFL_MIPS32, + CV_CFL_MIPS64, + CV_CFL_MIPSI, + CV_CFL_MIPSII, + CV_CFL_MIPSIII, + CV_CFL_MIPSIV, + CV_CFL_MIPSV, + CV_CFL_M68000 = 0x20, + CV_CFL_M68010, + CV_CFL_M68020, + CV_CFL_M68030, + CV_CFL_M68040, + CV_CFL_ALPHA = 0x30, + CV_CFL_ALPHA_21064 = 0x30, + CV_CFL_ALPHA_21164, + CV_CFL_ALPHA_21164A, + CV_CFL_ALPHA_21264, + CV_CFL_ALPHA_21364, + CV_CFL_PPC601 = 0x40, + CV_CFL_PPC603, + CV_CFL_PPC604, + CV_CFL_PPC620, + CV_CFL_PPCFP, + CV_CFL_SH3 = 0x50, + CV_CFL_SH3E, + CV_CFL_SH3DSP, + CV_CFL_SH4, + CV_CFL_SHMEDIA, + CV_CFL_ARM3 = 0x60, + CV_CFL_ARM4, + CV_CFL_ARM4T, + CV_CFL_ARM5, + CV_CFL_ARM5T, + CV_CFL_ARM6, + CV_CFL_ARM_XMAC, + CV_CFL_ARM_WMMX, + CV_CFL_ARM7, + CV_CFL_OMNI = 0x70, + CV_CFL_IA64 = 0x80, + CV_CFL_IA64_1 = 0x80, + CV_CFL_IA64_2, + CV_CFL_CEE = 0x90, + CV_CFL_AM33 = 0xA0, + CV_CFL_M32R = 0xB0, + CV_CFL_TRICORE = 0xC0, + CV_CFL_X64 = 0xD0, + CV_CFL_AMD64 = CV_CFL_X64, + CV_CFL_EBC = 0xE0, + CV_CFL_THUMB = 0xF0, + CV_CFL_ARMNT = 0xF4, + CV_CFL_ARM64 = 0xF6, + CV_CFL_D3D11_SHADER = 0x100, +} CV_CPU_TYPE_e; diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c index 01c0fff3052..2155d876696 100644 --- a/tools/winedump/msc.c +++ b/tools/winedump/msc.c @@ -271,13 +271,81 @@ static const char* get_machine(unsigned m) switch (m) { - case 0x00: machine = "Intel 8080"; break; - case 0x01: machine = "Intel 8086"; break; - case 0x02: machine = "Intel 80286"; break; - case 0x03: machine = "Intel 80386"; break; - case 0x04: machine = "Intel 80486"; break; - case 0x05: machine = "Intel Pentium"; break; - case 0x10: machine = "MIPS R4000"; break; + case CV_CFL_8080: machine = "Intel 8080"; break; + case CV_CFL_8086: machine = "Intel 8086"; break; + case CV_CFL_80286: machine = "Intel 80286"; break; + case CV_CFL_80386: machine = "Intel 80386"; break; + case CV_CFL_80486: machine = "Intel 80486"; break; + case CV_CFL_PENTIUM: machine = "Intel Pentium"; break; + case CV_CFL_PENTIUMII: machine = "Intel Pentium II"; break; + case CV_CFL_PENTIUMIII: machine = "Intel Pentium III"; break; + + case CV_CFL_MIPS: machine = "MIPS R4000"; break; + case CV_CFL_MIPS16: machine = "MIPS16"; break; + case CV_CFL_MIPS32: machine = "MIPS32"; break; + case CV_CFL_MIPS64: machine = "MIPS64"; break; + case CV_CFL_MIPSI: machine = "MIPS I"; break; + case CV_CFL_MIPSII: machine = "MIPS II"; break; + case CV_CFL_MIPSIII: machine = "MIPS III"; break; + case CV_CFL_MIPSIV: machine = "MIPS IV"; break; + case CV_CFL_MIPSV: machine = "MIPS V"; break; + + case CV_CFL_M68000: machine = "M68000"; break; + case CV_CFL_M68010: machine = "M68010"; break; + case CV_CFL_M68020: machine = "M68020"; break; + case CV_CFL_M68030: machine = "M68030"; break; + case CV_CFL_M68040: machine = "M68040"; break; + + case CV_CFL_ALPHA_21064: machine = "Alpha 21064"; break; + case CV_CFL_ALPHA_21164: machine = "Alpha 21164"; break; + case CV_CFL_ALPHA_21164A: machine = "Alpha 21164A"; break; + case CV_CFL_ALPHA_21264: machine = "Alpha 21264"; break; + case CV_CFL_ALPHA_21364: machine = "Alpha 21364"; break; + + case CV_CFL_PPC601: machine = "PowerPC 601"; break; + case CV_CFL_PPC603: machine = "PowerPC 603"; break; + case CV_CFL_PPC604: machine = "PowerPC 604"; break; + case CV_CFL_PPC620: machine = "PowerPC 620"; break; + case CV_CFL_PPCFP: machine = "PowerPC FP"; break; + + case CV_CFL_SH3: machine = "SH3"; break; + case CV_CFL_SH3E: machine = "SH3E"; break; + case CV_CFL_SH3DSP: machine = "SH3DSP"; break; + case CV_CFL_SH4: machine = "SH4"; break; + case CV_CFL_SHMEDIA: machine = "SHMEDIA"; break; + + case CV_CFL_ARM3: machine = "ARM 3"; break; + case CV_CFL_ARM4: machine = "ARM 4"; break; + case CV_CFL_ARM4T: machine = "ARM 4T"; break; + case CV_CFL_ARM5: machine = "ARM 5"; break; + case CV_CFL_ARM5T: machine = "ARM 5T"; break; + case CV_CFL_ARM6: machine = "ARM 6"; break; + case CV_CFL_ARM_XMAC: machine = "ARM XMAC"; break; + case CV_CFL_ARM_WMMX: machine = "ARM WMMX"; break; + case CV_CFL_ARM7: machine = "ARM 7"; break; + + case CV_CFL_OMNI: machine = "OMNI"; break; + + case CV_CFL_IA64_1: machine = "Itanium"; break; + case CV_CFL_IA64_2: machine = "Itanium 2"; break; + + case CV_CFL_CEE: machine = "CEE"; break; + + case CV_CFL_AM33: machine = "AM33"; break; + + case CV_CFL_M32R: machine = "M32R"; break; + + case CV_CFL_TRICORE: machine = "TRICORE"; break; + + case CV_CFL_X64: machine = "x86_64"; break; + + case CV_CFL_EBC: machine = "EBC"; break; + + case CV_CFL_THUMB: machine = "Thumb"; break; + case CV_CFL_ARMNT: machine = "ARM NT"; break; + case CV_CFL_ARM64: machine = "ARM 64"; break; + + case CV_CFL_D3D11_SHADER: machine = "D3D11 shader"; break; default: { static char tmp[16];