summaryrefslogtreecommitdiffstats
path: root/src/core/hle/coprocessor.cpp
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-05-08 03:04:55 +0200
committerbunnei <ericbunnie@gmail.com>2014-05-08 03:04:55 +0200
commit72622a1b5a13083e1b4eda3d4584bfa2f04dc55c (patch)
tree1a230947b66fd7001c58f96a47f352532d64e4ec /src/core/hle/coprocessor.cpp
parentadded kernel memory to mem_map (diff)
downloadyuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar.gz
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar.bz2
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar.lz
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar.xz
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.tar.zst
yuzu-72622a1b5a13083e1b4eda3d4584bfa2f04dc55c.zip
Diffstat (limited to 'src/core/hle/coprocessor.cpp')
-rw-r--r--src/core/hle/coprocessor.cpp34
1 files changed, 5 insertions, 29 deletions
diff --git a/src/core/hle/coprocessor.cpp b/src/core/hle/coprocessor.cpp
index df1362176..74305331c 100644
--- a/src/core/hle/coprocessor.cpp
+++ b/src/core/hle/coprocessor.cpp
@@ -9,39 +9,15 @@
namespace HLE {
-enum {
- CMD_GX_REQUEST_DMA = 0x00000000,
-};
-
/// Data synchronization barrier
-u32 DataSynchronizationBarrier(u32* command_buffer) {
- u32 command = command_buffer[0];
-
- switch (command) {
-
- case CMD_GX_REQUEST_DMA:
- {
- u32* src = (u32*)Memory::GetPointer(command_buffer[1]);
- u32* dst = (u32*)Memory::GetPointer(command_buffer[2]);
- u32 size = command_buffer[3];
- memcpy(dst, src, size);
- }
- break;
-
- default:
- ERROR_LOG(OSHLE, "MRC::DataSynchronizationBarrier unknown command 0x%08X", command);
- return -1;
- }
-
+u32 DataSynchronizationBarrier() {
return 0;
}
/// Returns the coprocessor (in this case, syscore) command buffer pointer
Addr GetThreadCommandBuffer() {
// Called on insruction: mrc p15, 0, r0, c13, c0, 3
- // Returns an address in OSHLE memory for the CPU to read/write to
- RETURN(CMD_BUFFER_ADDR);
- return CMD_BUFFER_ADDR;
+ return Memory::KERNEL_MEMORY_VADDR;
}
/// Call an MCR (move to coprocessor from ARM register) instruction in HLE
@@ -49,7 +25,7 @@ s32 CallMCR(u32 instruction, u32 value) {
CoprocessorOperation operation = (CoprocessorOperation)((instruction >> 20) & 0xFF);
ERROR_LOG(OSHLE, "unimplemented MCR instruction=0x%08X, operation=%02X, value=%08X",
instruction, operation, value);
- return -1;
+ return 0;
}
/// Call an MRC (move to ARM register from coprocessor) instruction in HLE
@@ -59,7 +35,7 @@ s32 CallMRC(u32 instruction) {
switch (operation) {
case DATA_SYNCHRONIZATION_BARRIER:
- return DataSynchronizationBarrier((u32*)Memory::GetPointer(PARAM(0)));
+ return DataSynchronizationBarrier();
case CALL_GET_THREAD_COMMAND_BUFFER:
return GetThreadCommandBuffer();
@@ -68,7 +44,7 @@ s32 CallMRC(u32 instruction) {
ERROR_LOG(OSHLE, "unimplemented MRC instruction 0x%08X", instruction);
break;
}
- return -1;
+ return 0;
}
} // namespace