[PATCH] winedump: added a bunch of new CPU definitions for PDB

Eric Pouech eric.pouech at gmail.com
Fri Aug 20 04:32:07 CDT 2021


updated cvinfo.h accordingly

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>

---
 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 2f0f8e44fa1..27e8cc45f2b 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];




More information about the wine-devel mailing list