audio_core/hle: move implementation of LoadComponent

This commit is contained in:
Weiyi Wang 2018-12-06 08:35:21 -05:00
parent 9ab4e3c686
commit 4add509b20
4 changed files with 22 additions and 13 deletions

View file

@ -4,7 +4,6 @@
#include "audio_core/audio_types.h"
#include "common/assert.h"
#include "common/hash.h"
#include "common/logging/log.h"
#include "core/core.h"
#include "core/hle/ipc_helpers.h"
@ -173,23 +172,16 @@ void DSP_DSP::LoadComponent(Kernel::HLERequestContext& ctx) {
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
rb.Push(RESULT_SUCCESS);
rb.Push(true); /// Pretend that we actually loaded the DSP firmware
rb.Push(true);
rb.PushMappedBuffer(buffer);
// TODO(bunnei): Implement real DSP firmware loading
std::vector<u8> component_data(size);
buffer.Read(component_data.data(), 0, size);
LOG_INFO(Service_DSP, "Firmware hash: {:#018x}",
Common::ComputeHash64(component_data.data(), component_data.size()));
// Some versions of the firmware have the location of DSP structures listed here.
if (size > 0x37C) {
LOG_INFO(Service_DSP, "Structures hash: {:#018x}",
Common::ComputeHash64(component_data.data() + 0x340, 60));
}
LOG_WARNING(Service_DSP, "(STUBBED) called size=0x{:X}, prog_mask=0x{:08X}, data_mask=0x{:08X}",
size, prog_mask, data_mask);
system.DSP().LoadComponent(component_data);
LOG_INFO(Service_DSP, "(STUBBED) called size=0x{:X}, prog_mask=0x{:08X}, data_mask=0x{:08X}",
size, prog_mask, data_mask);
}
void DSP_DSP::FlushDataCache(Kernel::HLERequestContext& ctx) {