log: replace all NGLOG with LOG

This commit is contained in:
wwylele 2018-06-29 14:18:07 +03:00
parent fde415968e
commit 7c5a76e58b
152 changed files with 1541 additions and 1541 deletions

View file

@ -231,7 +231,7 @@ static unsigned int DPO(RotateRightByRegister)(ARMul_State* cpu, unsigned int sh
}
#define DEBUG_MSG \
NGLOG_DEBUG(Core_ARM11, "inst is {:x}", inst); \
LOG_DEBUG(Core_ARM11, "inst is {:x}", inst); \
CITRA_IGNORE_EXIT(0)
#define LnSWoUB(s) glue(LnSWoUB, s)
@ -770,7 +770,7 @@ static ThumbDecodeStatus DecodeThumbInstruction(u32 inst, u32 addr, u32* arm_ins
inst_index = table_length - 4;
*ptr_inst_base = arm_instruction_trans[inst_index](tinstr, inst_index);
} else {
NGLOG_ERROR(Core_ARM11, "thumb decoder error");
LOG_ERROR(Core_ARM11, "thumb decoder error");
}
break;
case 28:
@ -828,9 +828,9 @@ static unsigned int InterpreterTranslateInstruction(const ARMul_State* cpu, cons
int idx;
if (DecodeARMInstruction(inst, &idx) == ARMDecodeStatus::FAILURE) {
NGLOG_ERROR(Core_ARM11, "Decode failure.\tPC: [{:#010X}]\tInstruction: {:08X}", phys_addr,
LOG_ERROR(Core_ARM11, "Decode failure.\tPC: [{:#010X}]\tInstruction: {:08X}", phys_addr,
inst);
NGLOG_ERROR(Core_ARM11, "cpsr={:#X}, cpu->TFlag={}, r15={:#010X}", cpu->Cpsr, cpu->TFlag,
LOG_ERROR(Core_ARM11, "cpsr={:#X}, cpu->TFlag={}, r15={:#010X}", cpu->Cpsr, cpu->TFlag,
cpu->Reg[15]);
CITRA_IGNORE_EXIT(-1);
}
@ -1802,7 +1802,7 @@ BIC_INST : {
BKPT_INST : {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
bkpt_inst* const inst_cream = (bkpt_inst*)inst_base->component;
NGLOG_DEBUG(Core_ARM11, "Breakpoint instruction hit. Immediate: {:#010X}", inst_cream->imm);
LOG_DEBUG(Core_ARM11, "Breakpoint instruction hit. Immediate: {:#010X}", inst_cream->imm);
}
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(bkpt_inst));
@ -2017,7 +2017,7 @@ EOR_INST : {
}
LDC_INST : {
// Instruction not implemented
// NGLOG_CRITICAL(Core_ARM11, "unimplemented instruction");
// LOG_CRITICAL(Core_ARM11, "unimplemented instruction");
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(ldc_inst));
FETCH_INST;
@ -2368,7 +2368,7 @@ MCRR_INST : {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component;
NGLOG_ERROR(Core_ARM11,
LOG_ERROR(Core_ARM11,
"MCRR executed | Coprocessor: {}, CRm {}, opc1: {}, Rt: {}, Rt2: {}",
inst_cream->cp_num, inst_cream->crm, inst_cream->opcode_1, inst_cream->rt,
inst_cream->rt2);
@ -2452,7 +2452,7 @@ MRRC_INST : {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mcrr_inst* const inst_cream = (mcrr_inst*)inst_base->component;
NGLOG_ERROR(Core_ARM11,
LOG_ERROR(Core_ARM11,
"MRRC executed | Coprocessor: {}, CRm {}, opc1: {}, Rt: {}, Rt2: {}",
inst_cream->cp_num, inst_cream->crm, inst_cream->opcode_1, inst_cream->rt,
inst_cream->rt2);
@ -3080,7 +3080,7 @@ SETEND_INST : {
else
cpu->Cpsr &= ~(1 << 9);
NGLOG_WARNING(Core_ARM11, "SETEND {} executed", big_endian ? "BE" : "LE");
LOG_WARNING(Core_ARM11, "SETEND {} executed", big_endian ? "BE" : "LE");
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(setend_inst));
@ -3091,7 +3091,7 @@ SETEND_INST : {
SEV_INST : {
// Stubbed, as SEV is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
NGLOG_TRACE(Core_ARM11, "SEV executed.");
LOG_TRACE(Core_ARM11, "SEV executed.");
}
cpu->Reg[15] += cpu->GetInstructionSize();
@ -3541,7 +3541,7 @@ SSAT16_INST : {
STC_INST : {
// Instruction not implemented
// NGLOG_CRITICAL(Core_ARM11, "unimplemented instruction");
// LOG_CRITICAL(Core_ARM11, "unimplemented instruction");
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(stc_inst));
FETCH_INST;
@ -4537,7 +4537,7 @@ UXTB16_INST : {
WFE_INST : {
// Stubbed, as WFE is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
NGLOG_TRACE(Core_ARM11, "WFE executed.");
LOG_TRACE(Core_ARM11, "WFE executed.");
}
cpu->Reg[15] += cpu->GetInstructionSize();
@ -4549,7 +4549,7 @@ WFE_INST : {
WFI_INST : {
// Stubbed, as WFI is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
NGLOG_TRACE(Core_ARM11, "WFI executed.");
LOG_TRACE(Core_ARM11, "WFI executed.");
}
cpu->Reg[15] += cpu->GetInstructionSize();
@ -4561,7 +4561,7 @@ WFI_INST : {
YIELD_INST : {
// Stubbed, as YIELD is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
NGLOG_TRACE(Core_ARM11, "YIELD executed.");
LOG_TRACE(Core_ARM11, "YIELD executed.");
}
cpu->Reg[15] += cpu->GetInstructionSize();

View file

@ -184,7 +184,7 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(cdp)(unsigned int inst, int index) {
inst_cream->opcode_1 = BITS(inst, 20, 23);
inst_cream->inst = inst;
NGLOG_TRACE(Core_ARM11, "inst {:x} index {:x}", inst, index);
LOG_TRACE(Core_ARM11, "inst {:x} index {:x}", inst, index);
return inst_base;
}
static ARM_INST_PTR INTERPRETER_TRANSLATE(clrex)(unsigned int inst, int index) {

View file

@ -183,7 +183,7 @@ void ARMul_State::ResetMPCoreCP15Registers() {
static void CheckMemoryBreakpoint(u32 address, GDBStub::BreakpointType type) {
if (GDBStub::IsServerEnabled() && GDBStub::CheckBreakpoint(address, type)) {
NGLOG_DEBUG(Debug, "Found memory breakpoint @ {:08x}", address);
LOG_DEBUG(Debug, "Found memory breakpoint @ {:08x}", address);
GDBStub::Break(true);
}
}
@ -428,7 +428,7 @@ u32 ARMul_State::ReadCP15Register(u32 crn, u32 opcode_1, u32 crm, u32 opcode_2)
}
}
NGLOG_ERROR(Core_ARM11, "MRC CRn={}, CRm={}, OP1={} OP2={} is not implemented. Returning zero.",
LOG_ERROR(Core_ARM11, "MRC CRn={}, CRm={}, OP1={} OP2={} is not implemented. Returning zero.",
crn, crm, opcode_1, opcode_2);
return 0;
}

View file

@ -90,23 +90,23 @@ void VMOVR(ARMul_State* state, u32 single, u32 d, u32 m) {
/* Miscellaneous functions */
s32 vfp_get_float(ARMul_State* state, unsigned int reg) {
NGLOG_TRACE(Core_ARM11, "VFP get float: s{}=[{:08x}]", reg, state->ExtReg[reg]);
LOG_TRACE(Core_ARM11, "VFP get float: s{}=[{:08x}]", reg, state->ExtReg[reg]);
return state->ExtReg[reg];
}
void vfp_put_float(ARMul_State* state, s32 val, unsigned int reg) {
NGLOG_TRACE(Core_ARM11, "VFP put float: s{} <= [{:08x}]", reg, val);
LOG_TRACE(Core_ARM11, "VFP put float: s{} <= [{:08x}]", reg, val);
state->ExtReg[reg] = val;
}
u64 vfp_get_double(ARMul_State* state, unsigned int reg) {
u64 result = ((u64)state->ExtReg[reg * 2 + 1]) << 32 | state->ExtReg[reg * 2];
NGLOG_TRACE(Core_ARM11, "VFP get double: s[{}-{}]=[{:016llx}]", reg * 2 + 1, reg * 2, result);
LOG_TRACE(Core_ARM11, "VFP get double: s[{}-{}]=[{:016llx}]", reg * 2 + 1, reg * 2, result);
return result;
}
void vfp_put_double(ARMul_State* state, u64 val, unsigned int reg) {
NGLOG_TRACE(Core_ARM11, "VFP put double: s[{}-{}] <= [{:08x}-{:08x}]", reg * 2 + 1, reg * 2,
LOG_TRACE(Core_ARM11, "VFP put double: s[{}-{}] <= [{:08x}-{:08x}]", reg * 2 + 1, reg * 2,
(u32)(val >> 32), (u32)(val & 0xffffffff));
state->ExtReg[reg * 2] = (u32)(val & 0xffffffff);
state->ExtReg[reg * 2 + 1] = (u32)(val >> 32);
@ -116,10 +116,10 @@ void vfp_put_double(ARMul_State* state, u64 val, unsigned int reg) {
* Process bitmask of exception conditions. (from vfpmodule.c)
*/
void vfp_raise_exceptions(ARMul_State* state, u32 exceptions, u32 inst, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "VFP: raising exceptions {:08x}", exceptions);
LOG_TRACE(Core_ARM11, "VFP: raising exceptions {:08x}", exceptions);
if (exceptions == VFP_EXCEPTION_ERROR) {
NGLOG_CRITICAL(Core_ARM11, "unhandled bounce {:x}", inst);
LOG_CRITICAL(Core_ARM11, "unhandled bounce {:x}", inst);
Crash();
}

View file

@ -22,7 +22,7 @@
#include "core/arm/skyeye_common/vfp/vfp_helper.h" /* for references to cdp SoftFloat functions */
#define VFP_DEBUG_UNTESTED(x) NGLOG_TRACE(Core_ARM11, "in func {}, " #x " untested", __FUNCTION__);
#define VFP_DEBUG_UNTESTED(x) LOG_TRACE(Core_ARM11, "in func {}, " #x " untested", __FUNCTION__);
#define CHECK_VFP_ENABLED
#define CHECK_VFP_CDP_RET vfp_raise_exceptions(cpu, ret, inst_cream->instr, cpu->VFP[VFP_FPSCR]);

View file

@ -64,7 +64,7 @@ static struct vfp_double vfp_double_default_qnan = {
};
static void vfp_double_dump(const char* str, struct vfp_double* d) {
NGLOG_TRACE(Core_ARM11, "VFP: {}: sign={} exponent={} significand={:016llx}", str, d->sign != 0,
LOG_TRACE(Core_ARM11, "VFP: {}: sign={} exponent={} significand={:016llx}", str, d->sign != 0,
d->exponent, d->significand);
}
@ -166,7 +166,7 @@ u32 vfp_double_normaliseround(ARMul_State* state, int dd, struct vfp_double* vd,
} else if ((rmode == FPSCR_ROUND_PLUSINF) ^ (vd->sign != 0))
incr = (1ULL << (VFP_DOUBLE_LOW_BITS + 1)) - 1;
NGLOG_TRACE(Core_ARM11, "VFP: rounding increment = 0x{:08llx}", incr);
LOG_TRACE(Core_ARM11, "VFP: rounding increment = 0x{:08llx}", incr);
/*
* Is our rounding going to overflow?
@ -221,7 +221,7 @@ pack:
vfp_double_dump("pack: final", vd);
{
s64 d = vfp_double_pack(vd);
NGLOG_TRACE(Core_ARM11, "VFP: {}: d(d{})={:016llx} exceptions={:08x}", func, dd, d,
LOG_TRACE(Core_ARM11, "VFP: {}: d(d{})={:016llx} exceptions={:08x}", func, dd, d,
exceptions);
vfp_put_double(state, d, dd);
}
@ -275,25 +275,25 @@ static u32 vfp_propagate_nan(struct vfp_double* vdd, struct vfp_double* vdn, str
* Extended operations
*/
static u32 vfp_double_fabs(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vfp_put_double(state, vfp_double_packed_abs(vfp_get_double(state, dm)), dd);
return 0;
}
static u32 vfp_double_fcpy(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vfp_put_double(state, vfp_get_double(state, dm), dd);
return 0;
}
static u32 vfp_double_fneg(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vfp_put_double(state, vfp_double_packed_negate(vfp_get_double(state, dm)), dd);
return 0;
}
static u32 vfp_double_fsqrt(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vfp_double vdm, vdd, *vdp;
int ret, tm;
u32 exceptions = 0;
@ -390,7 +390,7 @@ static u32 vfp_compare(ARMul_State* state, int dd, int signal_on_qnan, s64 m, u3
s64 d;
u32 ret = 0;
NGLOG_TRACE(Core_ARM11, "In {}, state=0x{}, fpscr=0x{:x}", __FUNCTION__, fmt::ptr(state),
LOG_TRACE(Core_ARM11, "In {}, state=0x{}, fpscr=0x{:x}", __FUNCTION__, fmt::ptr(state),
fpscr);
if (vfp_double_packed_exponent(m) == 2047 && vfp_double_packed_mantissa(m)) {
ret |= FPSCR_CFLAG | FPSCR_VFLAG;
@ -447,28 +447,28 @@ static u32 vfp_compare(ARMul_State* state, int dd, int signal_on_qnan, s64 m, u3
ret |= FPSCR_CFLAG;
}
}
NGLOG_TRACE(Core_ARM11, "In {}, state=0x{}, ret=0x{:x}", __FUNCTION__, fmt::ptr(state), ret);
LOG_TRACE(Core_ARM11, "In {}, state=0x{}, ret=0x{:x}", __FUNCTION__, fmt::ptr(state), ret);
return ret;
}
static u32 vfp_double_fcmp(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_compare(state, dd, 0, vfp_get_double(state, dm), fpscr);
}
static u32 vfp_double_fcmpe(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_compare(state, dd, 1, vfp_get_double(state, dm), fpscr);
}
static u32 vfp_double_fcmpz(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_compare(state, dd, 0, 0, fpscr);
}
static u32 vfp_double_fcmpez(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_compare(state, dd, 1, 0, fpscr);
}
@ -478,7 +478,7 @@ static u32 vfp_double_fcvts(ARMul_State* state, int sd, int unused, int dm, u32
int tm;
u32 exceptions = 0;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdm, vfp_get_double(state, dm), fpscr);
tm = vfp_double_type(&vdm);
@ -519,7 +519,7 @@ static u32 vfp_double_fuito(ARMul_State* state, int dd, int unused, int dm, u32
struct vfp_double vdm;
u32 m = vfp_get_float(state, dm);
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vdm.sign = 0;
vdm.exponent = 1023 + 63 - 1;
vdm.significand = (u64)m;
@ -531,7 +531,7 @@ static u32 vfp_double_fsito(ARMul_State* state, int dd, int unused, int dm, u32
struct vfp_double vdm;
u32 m = vfp_get_float(state, dm);
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vdm.sign = (m & 0x80000000) >> 16;
vdm.exponent = 1023 + 63 - 1;
vdm.significand = vdm.sign ? (~m + 1) : m;
@ -545,7 +545,7 @@ static u32 vfp_double_ftoui(ARMul_State* state, int sd, int unused, int dm, u32
int rmode = fpscr & FPSCR_RMODE_MASK;
int tm;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdm, vfp_get_double(state, dm), fpscr);
/*
@ -614,7 +614,7 @@ static u32 vfp_double_ftoui(ARMul_State* state, int sd, int unused, int dm, u32
}
}
NGLOG_TRACE(Core_ARM11, "VFP: ftoui: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
LOG_TRACE(Core_ARM11, "VFP: ftoui: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
vfp_put_float(state, d, sd);
@ -622,7 +622,7 @@ static u32 vfp_double_ftoui(ARMul_State* state, int sd, int unused, int dm, u32
}
static u32 vfp_double_ftouiz(ARMul_State* state, int sd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_ftoui(state, sd, unused, dm,
(fpscr & ~FPSCR_RMODE_MASK) | FPSCR_ROUND_TOZERO);
}
@ -633,7 +633,7 @@ static u32 vfp_double_ftosi(ARMul_State* state, int sd, int unused, int dm, u32
int rmode = fpscr & FPSCR_RMODE_MASK;
int tm;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdm, vfp_get_double(state, dm), fpscr);
vfp_double_dump("VDM", &vdm);
@ -697,7 +697,7 @@ static u32 vfp_double_ftosi(ARMul_State* state, int sd, int unused, int dm, u32
}
}
NGLOG_TRACE(Core_ARM11, "VFP: ftosi: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
LOG_TRACE(Core_ARM11, "VFP: ftosi: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
vfp_put_float(state, (s32)d, sd);
@ -705,7 +705,7 @@ static u32 vfp_double_ftosi(ARMul_State* state, int sd, int unused, int dm, u32
}
static u32 vfp_double_ftosiz(ARMul_State* state, int dd, int unused, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_ftosi(state, dd, unused, dm,
(fpscr & ~FPSCR_RMODE_MASK) | FPSCR_ROUND_TOZERO);
}
@ -787,7 +787,7 @@ u32 vfp_double_add(struct vfp_double* vdd, struct vfp_double* vdn, struct vfp_do
u64 m_sig;
if (vdn->significand & (1ULL << 63) || vdm->significand & (1ULL << 63)) {
NGLOG_INFO(Core_ARM11, "VFP: bad FP values in {}", __func__);
LOG_INFO(Core_ARM11, "VFP: bad FP values in {}", __func__);
vfp_double_dump("VDN", vdn);
vfp_double_dump("VDM", vdm);
}
@ -852,7 +852,7 @@ u32 vfp_double_multiply(struct vfp_double* vdd, struct vfp_double* vdn, struct v
*/
if (vdn->exponent < vdm->exponent) {
std::swap(vdm, vdn);
NGLOG_TRACE(Core_ARM11, "VFP: swapping M <-> N");
LOG_TRACE(Core_ARM11, "VFP: swapping M <-> N");
}
vdd->sign = vdn->sign ^ vdm->sign;
@ -934,7 +934,7 @@ static u32 vfp_double_multiply_accumulate(ARMul_State* state, int dd, int dn, in
* sd = sd + (sn * sm)
*/
static u32 vfp_double_fmac(ARMul_State* state, int dd, int dn, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_multiply_accumulate(state, dd, dn, dm, fpscr, 0, "fmac");
}
@ -942,7 +942,7 @@ static u32 vfp_double_fmac(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
* sd = sd - (sn * sm)
*/
static u32 vfp_double_fnmac(ARMul_State* state, int dd, int dn, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_multiply_accumulate(state, dd, dn, dm, fpscr, NEG_MULTIPLY, "fnmac");
}
@ -950,7 +950,7 @@ static u32 vfp_double_fnmac(ARMul_State* state, int dd, int dn, int dm, u32 fpsc
* sd = -sd + (sn * sm)
*/
static u32 vfp_double_fmsc(ARMul_State* state, int dd, int dn, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_multiply_accumulate(state, dd, dn, dm, fpscr, NEG_SUBTRACT, "fmsc");
}
@ -958,7 +958,7 @@ static u32 vfp_double_fmsc(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
* sd = -sd - (sn * sm)
*/
static u32 vfp_double_fnmsc(ARMul_State* state, int dd, int dn, int dm, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
return vfp_double_multiply_accumulate(state, dd, dn, dm, fpscr, NEG_SUBTRACT | NEG_MULTIPLY,
"fnmsc");
}
@ -970,7 +970,7 @@ static u32 vfp_double_fmul(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
struct vfp_double vdd, vdn, vdm;
u32 exceptions = 0;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdn, vfp_get_double(state, dn), fpscr);
if (vdn.exponent == 0 && vdn.significand)
vfp_double_normalise_denormal(&vdn);
@ -990,7 +990,7 @@ static u32 vfp_double_fnmul(ARMul_State* state, int dd, int dn, int dm, u32 fpsc
struct vfp_double vdd, vdn, vdm;
u32 exceptions = 0;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdn, vfp_get_double(state, dn), fpscr);
if (vdn.exponent == 0 && vdn.significand)
vfp_double_normalise_denormal(&vdn);
@ -1012,7 +1012,7 @@ static u32 vfp_double_fadd(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
struct vfp_double vdd, vdn, vdm;
u32 exceptions = 0;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdn, vfp_get_double(state, dn), fpscr);
if (vdn.exponent == 0 && vdn.significand)
vfp_double_normalise_denormal(&vdn);
@ -1033,7 +1033,7 @@ static u32 vfp_double_fsub(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
struct vfp_double vdd, vdn, vdm;
u32 exceptions = 0;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdn, vfp_get_double(state, dn), fpscr);
if (vdn.exponent == 0 && vdn.significand)
vfp_double_normalise_denormal(&vdn);
@ -1060,7 +1060,7 @@ static u32 vfp_double_fdiv(ARMul_State* state, int dd, int dn, int dm, u32 fpscr
u32 exceptions = 0;
int tm, tn;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
exceptions |= vfp_double_unpack(&vdn, vfp_get_double(state, dn), fpscr);
exceptions |= vfp_double_unpack(&vdm, vfp_get_double(state, dm), fpscr);
@ -1178,7 +1178,7 @@ u32 vfp_double_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
unsigned int vecitr, veclen, vecstride;
struct op* fop;
NGLOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
LOG_TRACE(Core_ARM11, "In {}", __FUNCTION__);
vecstride = (1 + ((fpscr & FPSCR_STRIDE_MASK) == FPSCR_STRIDE_MASK));
fop = (op == FOP_EXT) ? &fops_ext[FEXT_TO_IDX(inst)] : &fops[FOP_TO_IDX(op)];
@ -1209,11 +1209,11 @@ u32 vfp_double_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
else
veclen = fpscr & FPSCR_LENGTH_MASK;
NGLOG_TRACE(Core_ARM11, "VFP: vecstride={} veclen={}", vecstride,
LOG_TRACE(Core_ARM11, "VFP: vecstride={} veclen={}", vecstride,
(veclen >> FPSCR_LENGTH_BIT) + 1);
if (!fop->fn) {
NGLOG_TRACE(Core_ARM11, "VFP: could not find double op {}", FEXT_TO_IDX(inst));
LOG_TRACE(Core_ARM11, "VFP: could not find double op {}", FEXT_TO_IDX(inst));
goto invalid;
}
@ -1223,14 +1223,14 @@ u32 vfp_double_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
type = (fop->flags & OP_SD) ? 's' : 'd';
if (op == FOP_EXT)
NGLOG_TRACE(Core_ARM11, "VFP: itr{} ({}{}) = op[{}] (d{})", vecitr >> FPSCR_LENGTH_BIT,
LOG_TRACE(Core_ARM11, "VFP: itr{} ({}{}) = op[{}] (d{})", vecitr >> FPSCR_LENGTH_BIT,
type, dest, dn, dm);
else
NGLOG_TRACE(Core_ARM11, "VFP: itr{} ({}{}) = (d{}) op[{}] (d{})",
LOG_TRACE(Core_ARM11, "VFP: itr{} ({}{}) = (d{}) op[{}] (d{})",
vecitr >> FPSCR_LENGTH_BIT, type, dest, dn, FOP_TO_IDX(op), dm);
except = fop->fn(state, dest, dn, dm, fpscr);
NGLOG_TRACE(Core_ARM11, "VFP: itr{}: exceptions={:08x}", vecitr >> FPSCR_LENGTH_BIT,
LOG_TRACE(Core_ARM11, "VFP: itr{}: exceptions={:08x}", vecitr >> FPSCR_LENGTH_BIT,
except);
exceptions |= except & ~VFP_NAN_FLAG;

View file

@ -66,7 +66,7 @@ static struct vfp_single vfp_single_default_qnan = {
};
static void vfp_single_dump(const char* str, struct vfp_single* s) {
NGLOG_TRACE(Core_ARM11, "{}: sign={} exponent={} significand={:08x}", str, s->sign != 0,
LOG_TRACE(Core_ARM11, "{}: sign={} exponent={} significand={:08x}", str, s->sign != 0,
s->exponent, s->significand);
}
@ -168,7 +168,7 @@ u32 vfp_single_normaliseround(ARMul_State* state, int sd, struct vfp_single* vs,
} else if ((rmode == FPSCR_ROUND_PLUSINF) ^ (vs->sign != 0))
incr = (1 << (VFP_SINGLE_LOW_BITS + 1)) - 1;
NGLOG_TRACE(Core_ARM11, "rounding increment = 0x{:08x}", incr);
LOG_TRACE(Core_ARM11, "rounding increment = 0x{:08x}", incr);
/*
* Is our rounding going to overflow?
@ -223,7 +223,7 @@ pack:
vfp_single_dump("pack: final", vs);
{
s32 d = vfp_single_pack(vs);
NGLOG_TRACE(Core_ARM11, "{}: d(s{})={:08x} exceptions={:08x}", func, sd, d, exceptions);
LOG_TRACE(Core_ARM11, "{}: d(s{})={:08x} exceptions={:08x}", func, sd, d, exceptions);
vfp_put_float(state, d, sd);
}
@ -306,7 +306,7 @@ u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand) {
u32 z, a;
if ((significand & 0xc0000000) != 0x40000000) {
NGLOG_TRACE(Core_ARM11, "invalid significand");
LOG_TRACE(Core_ARM11, "invalid significand");
}
a = significand << 1;
@ -396,7 +396,7 @@ static u32 vfp_single_fsqrt(ARMul_State* state, int sd, int unused, s32 m, u32 f
term = (u64)vsd.significand * vsd.significand;
rem = ((u64)vsm.significand << 32) - term;
NGLOG_TRACE(Core_ARM11, "term={} rem={}", term, rem);
LOG_TRACE(Core_ARM11, "term={} rem={}", term, rem);
while (rem < 0) {
vsd.significand -= 1;
@ -635,7 +635,7 @@ static u32 vfp_single_ftoui(ARMul_State* state, int sd, int unused, s32 m, u32 f
}
}
NGLOG_TRACE(Core_ARM11, "ftoui: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
LOG_TRACE(Core_ARM11, "ftoui: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
vfp_put_float(state, d, sd);
@ -716,7 +716,7 @@ static u32 vfp_single_ftosi(ARMul_State* state, int sd, int unused, s32 m, u32 f
}
}
NGLOG_TRACE(Core_ARM11, "ftosi: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
LOG_TRACE(Core_ARM11, "ftosi: d(s{})={:08x} exceptions={:08x}", sd, d, exceptions);
vfp_put_float(state, (s32)d, sd);
@ -803,7 +803,7 @@ static u32 vfp_single_add(struct vfp_single* vsd, struct vfp_single* vsn, struct
u32 exp_diff, m_sig;
if (vsn->significand & 0x80000000 || vsm->significand & 0x80000000) {
NGLOG_WARNING(Core_ARM11, "bad FP values");
LOG_WARNING(Core_ARM11, "bad FP values");
vfp_single_dump("VSN", vsn);
vfp_single_dump("VSM", vsm);
}
@ -868,7 +868,7 @@ static u32 vfp_single_multiply(struct vfp_single* vsd, struct vfp_single* vsn,
*/
if (vsn->exponent < vsm->exponent) {
std::swap(vsm, vsn);
NGLOG_TRACE(Core_ARM11, "swapping M <-> N");
LOG_TRACE(Core_ARM11, "swapping M <-> N");
}
vsd->sign = vsn->sign ^ vsm->sign;
@ -920,7 +920,7 @@ static u32 vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s3
s32 v;
v = vfp_get_float(state, sn);
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, v);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, v);
exceptions |= vfp_single_unpack(&vsn, v, fpscr);
if (vsn.exponent == 0 && vsn.significand)
vfp_single_normalise_denormal(&vsn);
@ -935,7 +935,7 @@ static u32 vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s3
vsp.sign = vfp_sign_negate(vsp.sign);
v = vfp_get_float(state, sd);
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sd, v);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sd, v);
exceptions |= vfp_single_unpack(&vsn, v, fpscr);
if (vsn.exponent == 0 && vsn.significand != 0)
vfp_single_normalise_denormal(&vsn);
@ -956,7 +956,7 @@ static u32 vfp_single_multiply_accumulate(ARMul_State* state, int sd, int sn, s3
* sd = sd + (sn * sm)
*/
static u32 vfp_single_fmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, 0, "fmac");
}
@ -965,7 +965,7 @@ static u32 vfp_single_fmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
*/
static u32 vfp_single_fnmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr) {
// TODO: this one has its arguments inverted, investigate.
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sd, sn);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sd, sn);
return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_MULTIPLY, "fnmac");
}
@ -973,7 +973,7 @@ static u32 vfp_single_fnmac(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr
* sd = -sd + (sn * sm)
*/
static u32 vfp_single_fmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_SUBTRACT, "fmsc");
}
@ -981,7 +981,7 @@ static u32 vfp_single_fmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
* sd = -sd - (sn * sm)
*/
static u32 vfp_single_fnmsc(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
return vfp_single_multiply_accumulate(state, sd, sn, m, fpscr, NEG_SUBTRACT | NEG_MULTIPLY,
"fnmsc");
}
@ -994,7 +994,7 @@ static u32 vfp_single_fmul(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
u32 exceptions = 0;
s32 n = vfp_get_float(state, sn);
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
exceptions |= vfp_single_unpack(&vsn, n, fpscr);
if (vsn.exponent == 0 && vsn.significand)
@ -1016,7 +1016,7 @@ static u32 vfp_single_fnmul(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr
u32 exceptions = 0;
s32 n = vfp_get_float(state, sn);
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
exceptions |= vfp_single_unpack(&vsn, n, fpscr);
if (vsn.exponent == 0 && vsn.significand)
@ -1039,7 +1039,7 @@ static u32 vfp_single_fadd(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
u32 exceptions = 0;
s32 n = vfp_get_float(state, sn);
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
/*
* Unpack and normalise denormals.
@ -1061,7 +1061,7 @@ static u32 vfp_single_fadd(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
* sd = sn - sm
*/
static u32 vfp_single_fsub(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr) {
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, sd);
/*
* Subtraction is addition with one sign inverted. Unpack the second operand to perform FTZ if
* necessary, we can't let fadd do this because a denormal in m might get flushed to +0 in FTZ
@ -1090,7 +1090,7 @@ static u32 vfp_single_fdiv(ARMul_State* state, int sd, int sn, s32 m, u32 fpscr)
s32 n = vfp_get_float(state, sn);
int tm, tn;
NGLOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
LOG_TRACE(Core_ARM11, "s{} = {:08x}", sn, n);
exceptions |= vfp_single_unpack(&vsn, n, fpscr);
exceptions |= vfp_single_unpack(&vsm, m, fpscr);
@ -1230,10 +1230,10 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
else
veclen = fpscr & FPSCR_LENGTH_MASK;
NGLOG_TRACE(Core_ARM11, "vecstride={} veclen={}", vecstride, (veclen >> FPSCR_LENGTH_BIT) + 1);
LOG_TRACE(Core_ARM11, "vecstride={} veclen={}", vecstride, (veclen >> FPSCR_LENGTH_BIT) + 1);
if (!fop->fn) {
NGLOG_CRITICAL(Core_ARM11, "could not find single op {}, inst=0x{:x}@0x{:x}",
LOG_CRITICAL(Core_ARM11, "could not find single op {}, inst=0x{:x}@0x{:x}",
FEXT_TO_IDX(inst), inst, state->Reg[15]);
Crash();
goto invalid;
@ -1246,14 +1246,14 @@ u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
type = (fop->flags & OP_DD) ? 'd' : 's';
if (op == FOP_EXT)
NGLOG_TRACE(Core_ARM11, "itr{} ({}{}) = op[{}] (s{}={:08x})",
LOG_TRACE(Core_ARM11, "itr{} ({}{}) = op[{}] (s{}={:08x})",
vecitr >> FPSCR_LENGTH_BIT, type, dest, sn, sm, m);
else
NGLOG_TRACE(Core_ARM11, "itr{} ({}{}) = (s{}) op[{}] (s{}={:08x})",
LOG_TRACE(Core_ARM11, "itr{} ({}{}) = (s{}) op[{}] (s{}={:08x})",
vecitr >> FPSCR_LENGTH_BIT, type, dest, sn, FOP_TO_IDX(op), sm, m);
except = fop->fn(state, dest, sn, m, fpscr);
NGLOG_TRACE(Core_ARM11, "itr{}: exceptions={:08x}", vecitr >> FPSCR_LENGTH_BIT, except);
LOG_TRACE(Core_ARM11, "itr{}: exceptions={:08x}", vecitr >> FPSCR_LENGTH_BIT, except);
exceptions |= except & ~VFP_NAN_FLAG;