reactos/rosapps/devutils/cputointel/ConvertingProcess.c
Magnus Olsen d1aa0d32ae Adding m68k,arm,ia32,ppc to ppc convert.
Remove the old disambler list from ppc to ppc 
implement new ppc to ppc disambler that are allot better at end. 

svn path=/trunk/; revision=25498
2007-01-17 17:35:18 +00:00

85 lines
2.1 KiB
C

#include <windows.h>
#include <winnt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "misc.h"
#include "any_op.h"
/* hack should be in misc.h*/
CPU_INT ConvertProcess(FILE *outfp, CPU_INT FromCpuid, CPU_INT ToCpuid)
{
CPU_INT ret=0;
CPU_INT eax =-1;
CPU_INT ebp =-1;
CPU_INT edx =-1;
CPU_INT esp =-1;
CPU_INT regbits=-1;
CPU_INT HowManyRegInUse = 0;
PMYBrainAnalys pMystart = pStartMyBrainAnalys;
PMYBrainAnalys pMyend = pMyBrainAnalys;
if (FromCpuid == IMAGE_FILE_MACHINE_POWERPC)
{
regbits = 32 / 8;
esp = 1;
eax = 3;
edx = 4;
ebp = 31;
}
/* FIXME calc where todo first split */
/* FIXME calc who many register are in use */
//ret = ConvertToIntelProcess(FILE *outfp,
// CPU_INT eax,
// CPU_INT edx,
// CPU_INT edx,
// CPU_INT esp,
// PMYBrainAnalys start,
// PMYBrainAnalys end);
switch (ToCpuid)
{
case IMAGE_FILE_MACHINE_I386:
ret = ConvertToIA32Process( outfp, eax, ebp,
edx, esp,
pMystart,
pMyend, regbits,
HowManyRegInUse);
if (ret !=0)
{
printf("should not happen contact a devloper, x86 fail\n");
return -1;
}
break;
case IMAGE_FILE_MACHINE_POWERPC:
ret = ConvertToPPCProcess( outfp, eax, ebp,
edx, esp,
pMystart,
pMyend, regbits,
HowManyRegInUse);
if (ret !=0)
{
printf("should not happen contact a devloper, x86 fail\n");
return -1;
}
break;
default:
printf("should not happen contact a devloper, unknown fail\n");
return -1;
}
return ret;
}