Minor changes
This commit is contained in:
Nekotekina 2013-12-08 18:03:51 +04:00
parent 2135fb9685
commit 34ac4688e6
2 changed files with 29 additions and 29 deletions

View File

@ -5,6 +5,18 @@ enum
{ {
MFC_PUT_CMD = 0x20, MFC_PUT_CMD = 0x20,
MFC_GET_CMD = 0x40, MFC_GET_CMD = 0x40,
MFC_PUTL_CMD = 0x24,
MFC_GETL_CMD = 0x44,
MFC_GETLLAR_CMD = 0xD0,
MFC_PUTLLC_CMD = 0xB4,
MFC_PUTLLUC_CMD = 0xB0,
MFC_PUTQLLUC_CMD= 0xB8,
MFC_SNDSIG_CMD = 0xA0,
MFC_BARRIER_CMD = 0xC0,
MFC_EIEIO_CMD = 0xC8,
MFC_SYNC_CMD = 0xCC,
MFC_BARRIER_MASK= 0x01,
MFC_FENCE_MASK = 0x02,
MFC_MASK_CMD = 0xffff, MFC_MASK_CMD = 0xffff,
}; };

View File

@ -358,7 +358,7 @@ public:
u32 cmd = MFC.CMDStatus.GetValue(); u32 cmd = MFC.CMDStatus.GetValue();
u16 op = cmd & MFC_MASK_CMD; u16 op = cmd & MFC_MASK_CMD;
switch(op & (MFC_PUT_CMD | MFC_GET_CMD)) switch(op & ~(MFC_BARRIER_MASK | MFC_FENCE_MASK))
{ {
case MFC_PUT_CMD: case MFC_PUT_CMD:
case MFC_GET_CMD: case MFC_GET_CMD:
@ -391,34 +391,6 @@ public:
{ {
switch(ch) switch(ch)
{ {
case SPU_RdEventStat: //Read event status with mask applied
case SPU_WrEventMask: //Write event mask
case SPU_WrEventAck: //Write end of event processing
case SPU_RdSigNotify1: //Signal notification 1
case SPU_RdSigNotify2: //Signal notification 2
case SPU_WrDec: //Write decrementer count
case SPU_RdDec: //Read decrementer count
case SPU_RdEventMask: //Read event mask
case SPU_RdMachStat: //Read SPU run status
case SPU_WrSRR0: //Write SPU machine state save/restore register 0 (SRR0)
case SPU_RdSRR0: //Read SPU machine state save/restore register 0 (SRR0)
case MFC_WrMSSyncReq: //Write multisource synchronization request
case MFC_RdTagMask: //Read tag mask
case MFC_LSA: //Write local memory address command parameter
case MFC_EAH: //Write high order DMA effective address command parameter
case MFC_EAL: //Write low order DMA effective address command parameter
case MFC_Size: //Write DMA transfer size command parameter
case MFC_TagID: //Write tag identifier command parameter
case MFC_Cmd: //Write and enqueue DMA command with associated class ID
case MFC_WrTagMask: //Write tag mask
case MFC_WrTagUpdate: //Write request for conditional or unconditional tag status update
case MFC_RdTagStat: //Read tag status with mask applied
case MFC_RdListStallStat: //Read DMA list stall-and-notify status
case MFC_WrListStallAck: //Write DMA list stall-and-notify acknowledge
case MFC_RdAtomicStat: //Read completion status of last completed immediate MFC atomic update command
ConLog.Error("%s error: unimplemented channel (%s).", __FUNCTION__, spu_ch_name[ch]);
break;
case SPU_WrOutMbox: case SPU_WrOutMbox:
return SPU.Out_MBox.GetFreeCount(); return SPU.Out_MBox.GetFreeCount();
@ -428,6 +400,22 @@ public:
case SPU_WrOutIntrMbox: case SPU_WrOutIntrMbox:
return 0;//return SPU.OutIntr_Mbox.GetFreeCount(); return 0;//return SPU.OutIntr_Mbox.GetFreeCount();
case MFC_LSA:
return MFC.LSA.max_count;
case MFC_EAH:
return MFC.EAH.max_count;
case MFC_EAL:
return MFC.EAL.max_count;
case MFC_Size:
case MFC_TagID:
return MFC.Size_Tag.max_count;
case MFC_Cmd:
return MFC.CMDStatus.max_count;
default: default:
ConLog.Error("%s error: unknown/illegal channel (%d [%s]).", __FUNCTION__, ch, spu_ch_name[ch]); ConLog.Error("%s error: unknown/illegal channel (%d [%s]).", __FUNCTION__, ch, spu_ch_name[ch]);
break; break;