 |
TEMU
4.4
The Terma Emulator
|
Go to the documentation of this file.
9 #ifndef TEMU_SUPPORT_CPU
10 #define TEMU_SUPPORT_CPU
11 #include "temu-c/Support/Attributes.h"
50 TEMU_API uint64_t temu_cpuGetFreq(
void *Cpu);
79 TEMU_API uint64_t temu_cpuGetPc(
void *Cpu);
114 TEMU_API uint64_t temu_cpuRun(
void *Cpu, uint64_t Cycles);
135 TEMU_API uint64_t temu_cpuStep(
void *Cpu, uint64_t Steps);
177 TEMU_API uint64_t temu_cpuGetReg(
void *Cpu,
unsigned Reg);
201 TEMU_API uint32_t temu_cpuGetFpr32Bits(
void *Cpu,
unsigned Reg);
234 TEMU_API uint64_t temu_cpuGetFpr64Bits(
void *Cpu,
unsigned Reg);
298 TEMU_API uint32_t temu_sparcGetWindowedReg(
void *Cpu,
int Window,
unsigned Reg);
322 TEMU_API uint64_t temu_sparcGetY(
void *Cpu);
338 TEMU_API uint64_t temu_sparcGetAsr(
void *Cpu,
unsigned Reg);
370 TEMU_API uint32_t temu_sparcGetPsr(
void *Cpu);
384 TEMU_API uint32_t temu_sparcGetTbr(
void *Cpu);
398 TEMU_API uint32_t temu_sparcGetWim(
void *Cpu);
416 TEMU_API uint32_t temu_sparcGetNPc(
void *Cpu);
430 TEMU_API uint32_t temu_armGetAPSR(
void *Cpu);
442 TEMU_API uint32_t temu_armGetFPSCR(
void *Cpu);
455 TEMU_API uint32_t temu_armGetFPEXC(
void *Cpu);
471 TEMU_API uint32_t temu_armGetFPINST(
void *Cpu,
int Idx);
497 TEMU_API uint32_t temu_ppcGetCrReg(
void *Cpu);
509 TEMU_API uint32_t temu_ppcGetXerReg(
void *Cpu);
522 TEMU_API uint64_t temu_ppcGetMsrReg(
void *Cpu);
534 TEMU_API uint64_t temu_ppcGetReserveAddress(
void *Cpu);
557 TEMU_API uint32_t temu_ppcGetCtrReg(
void *Cpu);
569 TEMU_API uint32_t temu_ppcGetFpscrReg(
void *Cpu);
581 TEMU_API uint64_t temu_ppcGetLrReg(
void *Cpu);
595 TEMU_API uint64_t temu_cpuGetSpr(
void *Cpu,
unsigned RegId);
640 TEMU_API uint64_t temu_machineRun(
void *Machine, uint64_t NanoSecs);
691 TEMU_API uint64_t temu_cpuGetStat(
void *Obj,
int Stat);
TEMU_API void temu_postCallback(void *Obj, temu_SafeCb Cb, void *Arg)
TEMU_API void temu_sparcSetAsrReader(void *Cpu, unsigned Asr, temu_SparcAsrHandler Handler)
void(* temu_SparcAsrHandler)(void *Cpu, uint32_t Instr)
Definition: Cpu.h:281
TEMU_API void temu_armSetFPEXC(void *Cpu, uint32_t Value)
TEMU_API int temu_cpuTranslateAddress(void *Cpu, uint64_t Va, uint32_t flags, uint64_t *physAddressResult)
TEMU_API void temu_cpuDisableTraps(void *Cpu)
TEMU_API void temu_cpuReset(void *Cpu, int ResetType)
TEMU_API int temu_sparcGetWindowCount(void *Cpu)
TEMU_API double temu_cpuGetFpr64(void *Cpu, unsigned Reg)
TEMU_API void temu_ppcSetCrReg(void *Cpu, uint32_t Value)
TEMU_API void temu_ppcSetCtrReg(void *Cpu, uint32_t Value)
TEMU_API void temu_ppcSetMsrReg(void *Cpu, uint64_t Value)
TEMU_API void temu_cpuResetStat(void *Obj, int Stat)
TEMU_API void temu_sparcSetY(void *Cpu, uint64_t Value)
TEMU_API void temu_cpuSetFpr32(void *Cpu, unsigned Reg, float Value)
TEMU_API void temu_sparcSetWindowedReg(void *Cpu, int Window, unsigned Reg, uint32_t Value)
TEMU_API void temu_ppcClearAddressReservation(void *Cpu)
TEMU_API void temu_cpuSetPc(void *Cpu, uint64_t Pc)
TEMU_API void temu_sparcSetAsrWriter(void *Cpu, unsigned Asr, temu_SparcAsrHandler Handler)
TEMU_API void temu_ppcSetReserveAddress(void *Cpu, uint64_t reserveAddress)
TEMU_API void temu_sparcSetTbr(void *Cpu, uint32_t Value)
TEMU_API void temu_sparcSetWim(void *Cpu, uint32_t Value)
TEMU_API void temu_ppcSetFpscrReg(void *Cpu, uint32_t Value)
TEMU_API void temu_cpuSetSpr(void *Cpu, unsigned RegId, uint64_t Value)
TEMU_API void temu_armSetAPSR(void *Cpu, uint32_t Value)
TEMU_API void temu_armSetFPSCR(void *Cpu, uint32_t Value)
TEMU_API void temu_cpuRaiseTrap(void *Cpu, int Trap, unsigned Flags)
TEMU_API float temu_cpuGetFpr32(void *Cpu, unsigned Reg)
TEMU_API void temu_cpuEnableTraps(void *Cpu)
TEMU_API void temu_armSetFPINST(void *Cpu, int Idx, uint32_t Value)
TEMU_API int temu_cpuTranslateAddressWithRootPointer(void *cpu, uint64_t va, uint32_t flags, uint64_t *physAddressResult, uint64_t pageTableRoot)
TEMU_API void temu_sparcSetNPc(void *Cpu, uint32_t Value)
TEMU_API void temu_sparcSetAsr(void *Cpu, unsigned Reg, uint64_t Value)
TEMU_API int temu_ppcIsReservationBitSet(void *Cpu)
TEMU_API void * temu_cpuGetMachine(void *Cpu)
TEMU_API void temu_cpuSetFpr64(void *Cpu, unsigned Reg, double Value)
TEMU_API void temu_sparcSetPsr(void *Cpu, uint32_t Value)
TEMU_API void temu_armSetExecMode(void *Cpu, unsigned Mode)
void(* temu_SafeCb)(void *)
Definition: Cpu.h:642
TEMU_API void temu_cpuSetFpr64Bits(void *Cpu, unsigned Reg, uint64_t Value)
TEMU_API void temu_ppcSetLrReg(void *Cpu, uint64_t Value)
TEMU_API void temu_machineReset(void *Machine, int ResetType)
TEMU_API unsigned temu_armGetExecMode(void *Cpu)
TEMU_API void temu_cpuSetFpr32Bits(void *Cpu, unsigned Reg, uint32_t Value)
TEMU_API void temu_ppcSetXerReg(void *Cpu, uint32_t Value)
TEMU_API void temu_cpuSetReg(void *Cpu, unsigned Reg, uint64_t Value)