mirror of
https://github.com/PabloMK7/citra.git
synced 2024-11-20 06:24:17 +00:00
Update the entire application to use the new clang format style
This commit is contained in:
parent
ed36edf69c
commit
f61141e86a
148 changed files with 955 additions and 552 deletions
|
@ -5,8 +5,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <queue>
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <queue>
|
||||||
#include "audio_core/audio_types.h"
|
#include "audio_core/audio_types.h"
|
||||||
#include "audio_core/codec.h"
|
#include "audio_core/codec.h"
|
||||||
#include "audio_core/hle/common.h"
|
#include "audio_core/hle/common.h"
|
||||||
|
|
|
@ -42,4 +42,4 @@ public:
|
||||||
virtual std::vector<std::string> GetDeviceList() const = 0;
|
virtual std::vector<std::string> GetDeviceList() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace AudioCore
|
||||||
|
|
|
@ -49,10 +49,18 @@ static const std::array<int, Settings::NativeButton::NumButtons> default_buttons
|
||||||
|
|
||||||
static const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs> default_analogs{{
|
static const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs> default_analogs{{
|
||||||
{
|
{
|
||||||
SDL_SCANCODE_UP, SDL_SCANCODE_DOWN, SDL_SCANCODE_LEFT, SDL_SCANCODE_RIGHT, SDL_SCANCODE_D,
|
SDL_SCANCODE_UP,
|
||||||
|
SDL_SCANCODE_DOWN,
|
||||||
|
SDL_SCANCODE_LEFT,
|
||||||
|
SDL_SCANCODE_RIGHT,
|
||||||
|
SDL_SCANCODE_D,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
SDL_SCANCODE_I, SDL_SCANCODE_K, SDL_SCANCODE_J, SDL_SCANCODE_L, SDL_SCANCODE_D,
|
SDL_SCANCODE_I,
|
||||||
|
SDL_SCANCODE_K,
|
||||||
|
SDL_SCANCODE_J,
|
||||||
|
SDL_SCANCODE_L,
|
||||||
|
SDL_SCANCODE_D,
|
||||||
},
|
},
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
|
@ -24,10 +24,18 @@ const std::array<int, Settings::NativeButton::NumButtons> Config::default_button
|
||||||
|
|
||||||
const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{
|
const std::array<std::array<int, 5>, Settings::NativeAnalog::NumAnalogs> Config::default_analogs{{
|
||||||
{
|
{
|
||||||
Qt::Key_Up, Qt::Key_Down, Qt::Key_Left, Qt::Key_Right, Qt::Key_D,
|
Qt::Key_Up,
|
||||||
|
Qt::Key_Down,
|
||||||
|
Qt::Key_Left,
|
||||||
|
Qt::Key_Right,
|
||||||
|
Qt::Key_D,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Qt::Key_I, Qt::Key_K, Qt::Key_J, Qt::Key_L, Qt::Key_D,
|
Qt::Key_I,
|
||||||
|
Qt::Key_K,
|
||||||
|
Qt::Key_J,
|
||||||
|
Qt::Key_L,
|
||||||
|
Qt::Key_D,
|
||||||
},
|
},
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,11 @@
|
||||||
|
|
||||||
const std::array<std::string, ConfigureInput::ANALOG_SUB_BUTTONS_NUM>
|
const std::array<std::string, ConfigureInput::ANALOG_SUB_BUTTONS_NUM>
|
||||||
ConfigureInput::analog_sub_buttons{{
|
ConfigureInput::analog_sub_buttons{{
|
||||||
"up", "down", "left", "right", "modifier",
|
"up",
|
||||||
|
"down",
|
||||||
|
"left",
|
||||||
|
"right",
|
||||||
|
"modifier",
|
||||||
}};
|
}};
|
||||||
|
|
||||||
static QString getKeyName(int key_code) {
|
static QString getKeyName(int key_code) {
|
||||||
|
@ -35,7 +39,8 @@ static void SetAnalogButton(const Common::ParamPackage& input_param,
|
||||||
Common::ParamPackage& analog_param, const std::string& button_name) {
|
Common::ParamPackage& analog_param, const std::string& button_name) {
|
||||||
if (analog_param.Get("engine", "") != "analog_from_button") {
|
if (analog_param.Get("engine", "") != "analog_from_button") {
|
||||||
analog_param = {
|
analog_param = {
|
||||||
{"engine", "analog_from_button"}, {"modifier_scale", "0.5"},
|
{"engine", "analog_from_button"},
|
||||||
|
{"modifier_scale", "0.5"},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
analog_param.Set(button_name, input_param.Serialize());
|
analog_param.Set(button_name, input_param.Serialize());
|
||||||
|
@ -102,11 +107,17 @@ ConfigureInput::ConfigureInput(QWidget* parent)
|
||||||
|
|
||||||
analog_map_buttons = {{
|
analog_map_buttons = {{
|
||||||
{
|
{
|
||||||
ui->buttonCircleUp, ui->buttonCircleDown, ui->buttonCircleLeft, ui->buttonCircleRight,
|
ui->buttonCircleUp,
|
||||||
|
ui->buttonCircleDown,
|
||||||
|
ui->buttonCircleLeft,
|
||||||
|
ui->buttonCircleRight,
|
||||||
ui->buttonCircleMod,
|
ui->buttonCircleMod,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
ui->buttonCStickUp, ui->buttonCStickDown, ui->buttonCStickLeft, ui->buttonCStickRight,
|
ui->buttonCStickUp,
|
||||||
|
ui->buttonCStickDown,
|
||||||
|
ui->buttonCStickLeft,
|
||||||
|
ui->buttonCStickRight,
|
||||||
nullptr,
|
nullptr,
|
||||||
},
|
},
|
||||||
}};
|
}};
|
||||||
|
|
|
@ -11,7 +11,18 @@
|
||||||
#include "ui_configure_system.h"
|
#include "ui_configure_system.h"
|
||||||
|
|
||||||
static const std::array<int, 12> days_in_month = {{
|
static const std::array<int, 12> days_in_month = {{
|
||||||
31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
|
31,
|
||||||
|
29,
|
||||||
|
31,
|
||||||
|
30,
|
||||||
|
31,
|
||||||
|
30,
|
||||||
|
31,
|
||||||
|
31,
|
||||||
|
30,
|
||||||
|
31,
|
||||||
|
30,
|
||||||
|
31,
|
||||||
}};
|
}};
|
||||||
|
|
||||||
ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureSystem) {
|
ConfigureSystem::ConfigureSystem(QWidget* parent) : QWidget(parent), ui(new Ui::ConfigureSystem) {
|
||||||
|
|
|
@ -129,8 +129,8 @@ void BreakPointModel::OnResumed() {
|
||||||
|
|
||||||
GraphicsBreakPointsWidget::GraphicsBreakPointsWidget(
|
GraphicsBreakPointsWidget::GraphicsBreakPointsWidget(
|
||||||
std::shared_ptr<Pica::DebugContext> debug_context, QWidget* parent)
|
std::shared_ptr<Pica::DebugContext> debug_context, QWidget* parent)
|
||||||
: QDockWidget(tr("Pica Breakpoints"), parent),
|
: QDockWidget(tr("Pica Breakpoints"), parent), Pica::DebugContext::BreakPointObserver(
|
||||||
Pica::DebugContext::BreakPointObserver(debug_context) {
|
debug_context) {
|
||||||
setObjectName("PicaBreakPointsWidget");
|
setObjectName("PicaBreakPointsWidget");
|
||||||
|
|
||||||
status_text = new QLabel(tr("Emulation running"));
|
status_text = new QLabel(tr("Emulation running"));
|
||||||
|
|
|
@ -21,8 +21,8 @@
|
||||||
#include "video_core/shader/shader.h"
|
#include "video_core/shader/shader.h"
|
||||||
#include "video_core/shader/shader_interpreter.h"
|
#include "video_core/shader/shader_interpreter.h"
|
||||||
|
|
||||||
using nihstro::OpCode;
|
|
||||||
using nihstro::Instruction;
|
using nihstro::Instruction;
|
||||||
|
using nihstro::OpCode;
|
||||||
using nihstro::SourceRegister;
|
using nihstro::SourceRegister;
|
||||||
using nihstro::SwizzlePattern;
|
using nihstro::SwizzlePattern;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ class Mutex;
|
||||||
class Semaphore;
|
class Semaphore;
|
||||||
class Thread;
|
class Thread;
|
||||||
class Timer;
|
class Timer;
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
||||||
class WaitTreeThread;
|
class WaitTreeThread;
|
||||||
|
|
||||||
|
|
|
@ -221,7 +221,7 @@ public:
|
||||||
IntTy m_val;
|
IntTy m_val;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // Common
|
} // namespace Common
|
||||||
|
|
||||||
typedef Common::BitSet<u8> BitSet8;
|
typedef Common::BitSet<u8> BitSet8;
|
||||||
typedef Common::BitSet<u16> BitSet16;
|
typedef Common::BitSet<u16> BitSet16;
|
||||||
|
|
|
@ -607,7 +607,8 @@ public:
|
||||||
u32 cookie = arbitraryNumber;
|
u32 cookie = arbitraryNumber;
|
||||||
Do(cookie);
|
Do(cookie);
|
||||||
if (mode == PointerWrap::MODE_READ && cookie != arbitraryNumber) {
|
if (mode == PointerWrap::MODE_READ && cookie != arbitraryNumber) {
|
||||||
LOG_ERROR(Common, "After \"%s\", found %d (0x%X) instead of save marker %d (0x%X). "
|
LOG_ERROR(Common,
|
||||||
|
"After \"%s\", found %d (0x%X) instead of save marker %d (0x%X). "
|
||||||
"Aborting savestate load...",
|
"Aborting savestate load...",
|
||||||
prevName, cookie, cookie, arbitraryNumber, arbitraryNumber);
|
prevName, cookie, cookie, arbitraryNumber, arbitraryNumber);
|
||||||
SetError(ERROR_FAILURE);
|
SetError(ERROR_FAILURE);
|
||||||
|
|
|
@ -256,4 +256,4 @@ inline void EncodeX24S8(u8 stencil, u8* bytes) {
|
||||||
bytes[3] = stencil;
|
bytes[3] = stencil;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Color
|
||||||
|
|
|
@ -873,8 +873,7 @@ bool IOFile::Flush() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IOFile::Resize(u64 size) {
|
bool IOFile::Resize(u64 size) {
|
||||||
if (!IsOpen() ||
|
if (!IsOpen() || 0 !=
|
||||||
0 !=
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// ector: _chsize sucks, not 64-bit safe
|
// ector: _chsize sucks, not 64-bit safe
|
||||||
// F|RES: changed to _chsize_s. i think it is 64-bit safe
|
// F|RES: changed to _chsize_s. i think it is 64-bit safe
|
||||||
|
@ -889,4 +888,4 @@ bool IOFile::Resize(u64 size) {
|
||||||
return m_good;
|
return m_good;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace FileUtil
|
||||||
|
|
|
@ -253,7 +253,7 @@ private:
|
||||||
bool m_good = true;
|
bool m_good = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace FileUtil
|
||||||
|
|
||||||
// To deal with Windows being dumb at unicode:
|
// To deal with Windows being dumb at unicode:
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
|
|
@ -114,8 +114,8 @@ const char* GetLevelName(Level log_level) {
|
||||||
|
|
||||||
Entry CreateEntry(Class log_class, Level log_level, const char* filename, unsigned int line_nr,
|
Entry CreateEntry(Class log_class, Level log_level, const char* filename, unsigned int line_nr,
|
||||||
const char* function, const char* format, va_list args) {
|
const char* function, const char* format, va_list args) {
|
||||||
using std::chrono::steady_clock;
|
|
||||||
using std::chrono::duration_cast;
|
using std::chrono::duration_cast;
|
||||||
|
using std::chrono::steady_clock;
|
||||||
|
|
||||||
static steady_clock::time_point time_origin = steady_clock::now();
|
static steady_clock::time_point time_origin = steady_clock::now();
|
||||||
|
|
||||||
|
@ -154,4 +154,4 @@ void LogMessage(Class log_class, Level log_level, const char* filename, unsigned
|
||||||
|
|
||||||
PrintColoredMessage(entry);
|
PrintColoredMessage(entry);
|
||||||
}
|
}
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -47,4 +47,4 @@ Entry CreateEntry(Class log_class, Level log_level, const char* filename, unsign
|
||||||
const char* function, const char* format, va_list args);
|
const char* function, const char* format, va_list args);
|
||||||
|
|
||||||
void SetFilter(Filter* filter);
|
void SetFilter(Filter* filter);
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -94,4 +94,4 @@ bool Filter::ParseFilterRule(const std::string::const_iterator begin,
|
||||||
bool Filter::CheckMessage(Class log_class, Level level) const {
|
bool Filter::CheckMessage(Class log_class, Level level) const {
|
||||||
return static_cast<u8>(level) >= static_cast<u8>(class_levels[static_cast<size_t>(log_class)]);
|
return static_cast<u8>(level) >= static_cast<u8>(class_levels[static_cast<size_t>(log_class)]);
|
||||||
}
|
}
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -50,4 +50,4 @@ public:
|
||||||
private:
|
private:
|
||||||
std::array<Level, (size_t)Class::Count> class_levels;
|
std::array<Level, (size_t)Class::Count> class_levels;
|
||||||
};
|
};
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -129,4 +129,4 @@ void PrintColoredMessage(const Entry& entry) {
|
||||||
#undef ESC
|
#undef ESC
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -28,4 +28,4 @@ void FormatLogMessage(const Entry& entry, char* out_text, size_t text_len);
|
||||||
void PrintMessage(const Entry& entry);
|
void PrintMessage(const Entry& entry);
|
||||||
/// Prints the same message as `PrintMessage`, but colored acoording to the severity level.
|
/// Prints the same message as `PrintMessage`, but colored acoording to the severity level.
|
||||||
void PrintColoredMessage(const Entry& entry);
|
void PrintColoredMessage(const Entry& entry);
|
||||||
}
|
} // namespace Log
|
||||||
|
|
|
@ -40,7 +40,8 @@ void* AllocateExecutableMemory(size_t size, bool low) {
|
||||||
if (low && (!map_hint))
|
if (low && (!map_hint))
|
||||||
map_hint = (char*)round_page(512 * 1024 * 1024); /* 0.5 GB rounded up to the next page */
|
map_hint = (char*)round_page(512 * 1024 * 1024); /* 0.5 GB rounded up to the next page */
|
||||||
#endif
|
#endif
|
||||||
void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_ANON | MAP_PRIVATE
|
void* ptr = mmap(map_hint, size, PROT_READ | PROT_WRITE | PROT_EXEC,
|
||||||
|
MAP_ANON | MAP_PRIVATE
|
||||||
#if defined(ARCHITECTURE_X64) && defined(MAP_32BIT)
|
#if defined(ARCHITECTURE_X64) && defined(MAP_32BIT)
|
||||||
| (low ? MAP_32BIT : 0)
|
| (low ? MAP_32BIT : 0)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -46,4 +46,4 @@ inline Quaternion<float> MakeQuaternion(const Math::Vec3<float>& axis, float ang
|
||||||
return {axis * std::sin(angle / 2), std::cos(angle / 2)};
|
return {axis * std::sin(angle / 2), std::cos(angle / 2)};
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namspace Math
|
} // namespace Math
|
||||||
|
|
|
@ -12,4 +12,4 @@ extern const char g_scm_desc[];
|
||||||
extern const char g_build_name[];
|
extern const char g_build_name[];
|
||||||
extern const char g_build_date[];
|
extern const char g_build_date[];
|
||||||
|
|
||||||
} // namespace
|
} // namespace Common
|
||||||
|
|
|
@ -22,7 +22,7 @@ template <typename Func>
|
||||||
ScopeExitHelper<Func> ScopeExit(Func&& func) {
|
ScopeExitHelper<Func> ScopeExit(Func&& func) {
|
||||||
return ScopeExitHelper<Func>(std::move(func));
|
return ScopeExitHelper<Func>(std::move(func));
|
||||||
}
|
}
|
||||||
}
|
} // namespace detail
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This macro allows you to conveniently specify a block of code that will run on scope exit. Handy
|
* This macro allows you to conveniently specify a block of code that will run on scope exit. Handy
|
||||||
|
|
|
@ -462,4 +462,4 @@ std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, size_t max_l
|
||||||
|
|
||||||
return std::string(buffer, len);
|
return std::string(buffer, len);
|
||||||
}
|
}
|
||||||
}
|
} // namespace Common
|
||||||
|
|
|
@ -134,4 +134,4 @@ bool ComparePartialString(InIt begin, InIt end, const char* other) {
|
||||||
* NUL-terminated then the string ends at max_len characters.
|
* NUL-terminated then the string ends at max_len characters.
|
||||||
*/
|
*/
|
||||||
std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, size_t max_len);
|
std::string StringFromFixedZeroTerminatedBuffer(const char* buffer, size_t max_len);
|
||||||
}
|
} // namespace Common
|
||||||
|
|
|
@ -158,4 +158,4 @@ private:
|
||||||
std::array<Queue, NUM_QUEUES> queues;
|
std::array<Queue, NUM_QUEUES> queues;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Common
|
||||||
|
|
|
@ -60,20 +60,41 @@ const Xbyak::Reg ABI_PARAM4 = Xbyak::util::r9;
|
||||||
|
|
||||||
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({
|
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({
|
||||||
// GPRs
|
// GPRs
|
||||||
Xbyak::util::rcx, Xbyak::util::rdx, Xbyak::util::r8, Xbyak::util::r9, Xbyak::util::r10,
|
Xbyak::util::rcx,
|
||||||
|
Xbyak::util::rdx,
|
||||||
|
Xbyak::util::r8,
|
||||||
|
Xbyak::util::r9,
|
||||||
|
Xbyak::util::r10,
|
||||||
Xbyak::util::r11,
|
Xbyak::util::r11,
|
||||||
// XMMs
|
// XMMs
|
||||||
Xbyak::util::xmm0, Xbyak::util::xmm1, Xbyak::util::xmm2, Xbyak::util::xmm3, Xbyak::util::xmm4,
|
Xbyak::util::xmm0,
|
||||||
|
Xbyak::util::xmm1,
|
||||||
|
Xbyak::util::xmm2,
|
||||||
|
Xbyak::util::xmm3,
|
||||||
|
Xbyak::util::xmm4,
|
||||||
Xbyak::util::xmm5,
|
Xbyak::util::xmm5,
|
||||||
});
|
});
|
||||||
|
|
||||||
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({
|
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({
|
||||||
// GPRs
|
// GPRs
|
||||||
Xbyak::util::rbx, Xbyak::util::rsi, Xbyak::util::rdi, Xbyak::util::rbp, Xbyak::util::r12,
|
Xbyak::util::rbx,
|
||||||
Xbyak::util::r13, Xbyak::util::r14, Xbyak::util::r15,
|
Xbyak::util::rsi,
|
||||||
|
Xbyak::util::rdi,
|
||||||
|
Xbyak::util::rbp,
|
||||||
|
Xbyak::util::r12,
|
||||||
|
Xbyak::util::r13,
|
||||||
|
Xbyak::util::r14,
|
||||||
|
Xbyak::util::r15,
|
||||||
// XMMs
|
// XMMs
|
||||||
Xbyak::util::xmm6, Xbyak::util::xmm7, Xbyak::util::xmm8, Xbyak::util::xmm9, Xbyak::util::xmm10,
|
Xbyak::util::xmm6,
|
||||||
Xbyak::util::xmm11, Xbyak::util::xmm12, Xbyak::util::xmm13, Xbyak::util::xmm14,
|
Xbyak::util::xmm7,
|
||||||
|
Xbyak::util::xmm8,
|
||||||
|
Xbyak::util::xmm9,
|
||||||
|
Xbyak::util::xmm10,
|
||||||
|
Xbyak::util::xmm11,
|
||||||
|
Xbyak::util::xmm12,
|
||||||
|
Xbyak::util::xmm13,
|
||||||
|
Xbyak::util::xmm14,
|
||||||
Xbyak::util::xmm15,
|
Xbyak::util::xmm15,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -90,18 +111,40 @@ const Xbyak::Reg ABI_PARAM4 = Xbyak::util::rcx;
|
||||||
|
|
||||||
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({
|
const BitSet32 ABI_ALL_CALLER_SAVED = BuildRegSet({
|
||||||
// GPRs
|
// GPRs
|
||||||
Xbyak::util::rcx, Xbyak::util::rdx, Xbyak::util::rdi, Xbyak::util::rsi, Xbyak::util::r8,
|
Xbyak::util::rcx,
|
||||||
Xbyak::util::r9, Xbyak::util::r10, Xbyak::util::r11,
|
Xbyak::util::rdx,
|
||||||
|
Xbyak::util::rdi,
|
||||||
|
Xbyak::util::rsi,
|
||||||
|
Xbyak::util::r8,
|
||||||
|
Xbyak::util::r9,
|
||||||
|
Xbyak::util::r10,
|
||||||
|
Xbyak::util::r11,
|
||||||
// XMMs
|
// XMMs
|
||||||
Xbyak::util::xmm0, Xbyak::util::xmm1, Xbyak::util::xmm2, Xbyak::util::xmm3, Xbyak::util::xmm4,
|
Xbyak::util::xmm0,
|
||||||
Xbyak::util::xmm5, Xbyak::util::xmm6, Xbyak::util::xmm7, Xbyak::util::xmm8, Xbyak::util::xmm9,
|
Xbyak::util::xmm1,
|
||||||
Xbyak::util::xmm10, Xbyak::util::xmm11, Xbyak::util::xmm12, Xbyak::util::xmm13,
|
Xbyak::util::xmm2,
|
||||||
Xbyak::util::xmm14, Xbyak::util::xmm15,
|
Xbyak::util::xmm3,
|
||||||
|
Xbyak::util::xmm4,
|
||||||
|
Xbyak::util::xmm5,
|
||||||
|
Xbyak::util::xmm6,
|
||||||
|
Xbyak::util::xmm7,
|
||||||
|
Xbyak::util::xmm8,
|
||||||
|
Xbyak::util::xmm9,
|
||||||
|
Xbyak::util::xmm10,
|
||||||
|
Xbyak::util::xmm11,
|
||||||
|
Xbyak::util::xmm12,
|
||||||
|
Xbyak::util::xmm13,
|
||||||
|
Xbyak::util::xmm14,
|
||||||
|
Xbyak::util::xmm15,
|
||||||
});
|
});
|
||||||
|
|
||||||
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({
|
const BitSet32 ABI_ALL_CALLEE_SAVED = BuildRegSet({
|
||||||
// GPRs
|
// GPRs
|
||||||
Xbyak::util::rbx, Xbyak::util::rbp, Xbyak::util::r12, Xbyak::util::r13, Xbyak::util::r14,
|
Xbyak::util::rbx,
|
||||||
|
Xbyak::util::rbp,
|
||||||
|
Xbyak::util::r12,
|
||||||
|
Xbyak::util::r13,
|
||||||
|
Xbyak::util::r14,
|
||||||
Xbyak::util::r15,
|
Xbyak::util::r15,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ enum {
|
||||||
ARMVFP3,
|
ARMVFP3,
|
||||||
ARMV6K,
|
ARMV6K,
|
||||||
};
|
};
|
||||||
}
|
} // namespace
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
const InstructionSetEncodingItem arm_instruction[] = {
|
const InstructionSetEncodingItem arm_instruction[] = {
|
||||||
|
|
|
@ -1808,78 +1808,210 @@ static ARM_INST_PTR INTERPRETER_TRANSLATE(yield)(unsigned int inst, int index) {
|
||||||
#undef VFP_INTERPRETER_TRANS
|
#undef VFP_INTERPRETER_TRANS
|
||||||
|
|
||||||
const transop_fp_t arm_instruction_trans[] = {
|
const transop_fp_t arm_instruction_trans[] = {
|
||||||
INTERPRETER_TRANSLATE(vmla), INTERPRETER_TRANSLATE(vmls), INTERPRETER_TRANSLATE(vnmla),
|
INTERPRETER_TRANSLATE(vmla),
|
||||||
INTERPRETER_TRANSLATE(vnmls), INTERPRETER_TRANSLATE(vnmul), INTERPRETER_TRANSLATE(vmul),
|
INTERPRETER_TRANSLATE(vmls),
|
||||||
INTERPRETER_TRANSLATE(vadd), INTERPRETER_TRANSLATE(vsub), INTERPRETER_TRANSLATE(vdiv),
|
INTERPRETER_TRANSLATE(vnmla),
|
||||||
INTERPRETER_TRANSLATE(vmovi), INTERPRETER_TRANSLATE(vmovr), INTERPRETER_TRANSLATE(vabs),
|
INTERPRETER_TRANSLATE(vnmls),
|
||||||
INTERPRETER_TRANSLATE(vneg), INTERPRETER_TRANSLATE(vsqrt), INTERPRETER_TRANSLATE(vcmp),
|
INTERPRETER_TRANSLATE(vnmul),
|
||||||
INTERPRETER_TRANSLATE(vcmp2), INTERPRETER_TRANSLATE(vcvtbds), INTERPRETER_TRANSLATE(vcvtbff),
|
INTERPRETER_TRANSLATE(vmul),
|
||||||
INTERPRETER_TRANSLATE(vcvtbfi), INTERPRETER_TRANSLATE(vmovbrs), INTERPRETER_TRANSLATE(vmsr),
|
INTERPRETER_TRANSLATE(vadd),
|
||||||
INTERPRETER_TRANSLATE(vmovbrc), INTERPRETER_TRANSLATE(vmrs), INTERPRETER_TRANSLATE(vmovbcr),
|
INTERPRETER_TRANSLATE(vsub),
|
||||||
INTERPRETER_TRANSLATE(vmovbrrss), INTERPRETER_TRANSLATE(vmovbrrd), INTERPRETER_TRANSLATE(vstr),
|
INTERPRETER_TRANSLATE(vdiv),
|
||||||
INTERPRETER_TRANSLATE(vpush), INTERPRETER_TRANSLATE(vstm), INTERPRETER_TRANSLATE(vpop),
|
INTERPRETER_TRANSLATE(vmovi),
|
||||||
INTERPRETER_TRANSLATE(vldr), INTERPRETER_TRANSLATE(vldm),
|
INTERPRETER_TRANSLATE(vmovr),
|
||||||
|
INTERPRETER_TRANSLATE(vabs),
|
||||||
|
INTERPRETER_TRANSLATE(vneg),
|
||||||
|
INTERPRETER_TRANSLATE(vsqrt),
|
||||||
|
INTERPRETER_TRANSLATE(vcmp),
|
||||||
|
INTERPRETER_TRANSLATE(vcmp2),
|
||||||
|
INTERPRETER_TRANSLATE(vcvtbds),
|
||||||
|
INTERPRETER_TRANSLATE(vcvtbff),
|
||||||
|
INTERPRETER_TRANSLATE(vcvtbfi),
|
||||||
|
INTERPRETER_TRANSLATE(vmovbrs),
|
||||||
|
INTERPRETER_TRANSLATE(vmsr),
|
||||||
|
INTERPRETER_TRANSLATE(vmovbrc),
|
||||||
|
INTERPRETER_TRANSLATE(vmrs),
|
||||||
|
INTERPRETER_TRANSLATE(vmovbcr),
|
||||||
|
INTERPRETER_TRANSLATE(vmovbrrss),
|
||||||
|
INTERPRETER_TRANSLATE(vmovbrrd),
|
||||||
|
INTERPRETER_TRANSLATE(vstr),
|
||||||
|
INTERPRETER_TRANSLATE(vpush),
|
||||||
|
INTERPRETER_TRANSLATE(vstm),
|
||||||
|
INTERPRETER_TRANSLATE(vpop),
|
||||||
|
INTERPRETER_TRANSLATE(vldr),
|
||||||
|
INTERPRETER_TRANSLATE(vldm),
|
||||||
|
|
||||||
INTERPRETER_TRANSLATE(srs), INTERPRETER_TRANSLATE(rfe), INTERPRETER_TRANSLATE(bkpt),
|
INTERPRETER_TRANSLATE(srs),
|
||||||
INTERPRETER_TRANSLATE(blx), INTERPRETER_TRANSLATE(cps), INTERPRETER_TRANSLATE(pld),
|
INTERPRETER_TRANSLATE(rfe),
|
||||||
INTERPRETER_TRANSLATE(setend), INTERPRETER_TRANSLATE(clrex), INTERPRETER_TRANSLATE(rev16),
|
INTERPRETER_TRANSLATE(bkpt),
|
||||||
INTERPRETER_TRANSLATE(usad8), INTERPRETER_TRANSLATE(sxtb), INTERPRETER_TRANSLATE(uxtb),
|
INTERPRETER_TRANSLATE(blx),
|
||||||
INTERPRETER_TRANSLATE(sxth), INTERPRETER_TRANSLATE(sxtb16), INTERPRETER_TRANSLATE(uxth),
|
INTERPRETER_TRANSLATE(cps),
|
||||||
INTERPRETER_TRANSLATE(uxtb16), INTERPRETER_TRANSLATE(cpy), INTERPRETER_TRANSLATE(uxtab),
|
INTERPRETER_TRANSLATE(pld),
|
||||||
INTERPRETER_TRANSLATE(ssub8), INTERPRETER_TRANSLATE(shsub8), INTERPRETER_TRANSLATE(ssubaddx),
|
INTERPRETER_TRANSLATE(setend),
|
||||||
INTERPRETER_TRANSLATE(strex), INTERPRETER_TRANSLATE(strexb), INTERPRETER_TRANSLATE(swp),
|
INTERPRETER_TRANSLATE(clrex),
|
||||||
INTERPRETER_TRANSLATE(swpb), INTERPRETER_TRANSLATE(ssub16), INTERPRETER_TRANSLATE(ssat16),
|
INTERPRETER_TRANSLATE(rev16),
|
||||||
INTERPRETER_TRANSLATE(shsubaddx), INTERPRETER_TRANSLATE(qsubaddx),
|
INTERPRETER_TRANSLATE(usad8),
|
||||||
INTERPRETER_TRANSLATE(shaddsubx), INTERPRETER_TRANSLATE(shadd8), INTERPRETER_TRANSLATE(shadd16),
|
INTERPRETER_TRANSLATE(sxtb),
|
||||||
INTERPRETER_TRANSLATE(sel), INTERPRETER_TRANSLATE(saddsubx), INTERPRETER_TRANSLATE(sadd8),
|
INTERPRETER_TRANSLATE(uxtb),
|
||||||
INTERPRETER_TRANSLATE(sadd16), INTERPRETER_TRANSLATE(shsub16), INTERPRETER_TRANSLATE(umaal),
|
INTERPRETER_TRANSLATE(sxth),
|
||||||
INTERPRETER_TRANSLATE(uxtab16), INTERPRETER_TRANSLATE(usubaddx), INTERPRETER_TRANSLATE(usub8),
|
INTERPRETER_TRANSLATE(sxtb16),
|
||||||
INTERPRETER_TRANSLATE(usub16), INTERPRETER_TRANSLATE(usat16), INTERPRETER_TRANSLATE(usada8),
|
INTERPRETER_TRANSLATE(uxth),
|
||||||
INTERPRETER_TRANSLATE(uqsubaddx), INTERPRETER_TRANSLATE(uqsub8), INTERPRETER_TRANSLATE(uqsub16),
|
INTERPRETER_TRANSLATE(uxtb16),
|
||||||
INTERPRETER_TRANSLATE(uqaddsubx), INTERPRETER_TRANSLATE(uqadd8), INTERPRETER_TRANSLATE(uqadd16),
|
INTERPRETER_TRANSLATE(cpy),
|
||||||
INTERPRETER_TRANSLATE(sxtab), INTERPRETER_TRANSLATE(uhsubaddx), INTERPRETER_TRANSLATE(uhsub8),
|
INTERPRETER_TRANSLATE(uxtab),
|
||||||
INTERPRETER_TRANSLATE(uhsub16), INTERPRETER_TRANSLATE(uhaddsubx), INTERPRETER_TRANSLATE(uhadd8),
|
INTERPRETER_TRANSLATE(ssub8),
|
||||||
INTERPRETER_TRANSLATE(uhadd16), INTERPRETER_TRANSLATE(uaddsubx), INTERPRETER_TRANSLATE(uadd8),
|
INTERPRETER_TRANSLATE(shsub8),
|
||||||
INTERPRETER_TRANSLATE(uadd16), INTERPRETER_TRANSLATE(sxtah), INTERPRETER_TRANSLATE(sxtab16),
|
INTERPRETER_TRANSLATE(ssubaddx),
|
||||||
INTERPRETER_TRANSLATE(qadd8), INTERPRETER_TRANSLATE(bxj), INTERPRETER_TRANSLATE(clz),
|
INTERPRETER_TRANSLATE(strex),
|
||||||
INTERPRETER_TRANSLATE(uxtah), INTERPRETER_TRANSLATE(bx), INTERPRETER_TRANSLATE(rev),
|
INTERPRETER_TRANSLATE(strexb),
|
||||||
INTERPRETER_TRANSLATE(blx), INTERPRETER_TRANSLATE(revsh), INTERPRETER_TRANSLATE(qadd),
|
INTERPRETER_TRANSLATE(swp),
|
||||||
INTERPRETER_TRANSLATE(qadd16), INTERPRETER_TRANSLATE(qaddsubx), INTERPRETER_TRANSLATE(ldrex),
|
INTERPRETER_TRANSLATE(swpb),
|
||||||
INTERPRETER_TRANSLATE(qdadd), INTERPRETER_TRANSLATE(qdsub), INTERPRETER_TRANSLATE(qsub),
|
INTERPRETER_TRANSLATE(ssub16),
|
||||||
INTERPRETER_TRANSLATE(ldrexb), INTERPRETER_TRANSLATE(qsub8), INTERPRETER_TRANSLATE(qsub16),
|
INTERPRETER_TRANSLATE(ssat16),
|
||||||
INTERPRETER_TRANSLATE(smuad), INTERPRETER_TRANSLATE(smmul), INTERPRETER_TRANSLATE(smusd),
|
INTERPRETER_TRANSLATE(shsubaddx),
|
||||||
INTERPRETER_TRANSLATE(smlsd), INTERPRETER_TRANSLATE(smlsld), INTERPRETER_TRANSLATE(smmla),
|
INTERPRETER_TRANSLATE(qsubaddx),
|
||||||
INTERPRETER_TRANSLATE(smmls), INTERPRETER_TRANSLATE(smlald), INTERPRETER_TRANSLATE(smlad),
|
INTERPRETER_TRANSLATE(shaddsubx),
|
||||||
INTERPRETER_TRANSLATE(smlaw), INTERPRETER_TRANSLATE(smulw), INTERPRETER_TRANSLATE(pkhtb),
|
INTERPRETER_TRANSLATE(shadd8),
|
||||||
INTERPRETER_TRANSLATE(pkhbt), INTERPRETER_TRANSLATE(smul), INTERPRETER_TRANSLATE(smlalxy),
|
INTERPRETER_TRANSLATE(shadd16),
|
||||||
INTERPRETER_TRANSLATE(smla), INTERPRETER_TRANSLATE(mcrr), INTERPRETER_TRANSLATE(mrrc),
|
INTERPRETER_TRANSLATE(sel),
|
||||||
INTERPRETER_TRANSLATE(cmp), INTERPRETER_TRANSLATE(tst), INTERPRETER_TRANSLATE(teq),
|
INTERPRETER_TRANSLATE(saddsubx),
|
||||||
INTERPRETER_TRANSLATE(cmn), INTERPRETER_TRANSLATE(smull), INTERPRETER_TRANSLATE(umull),
|
INTERPRETER_TRANSLATE(sadd8),
|
||||||
INTERPRETER_TRANSLATE(umlal), INTERPRETER_TRANSLATE(smlal), INTERPRETER_TRANSLATE(mul),
|
INTERPRETER_TRANSLATE(sadd16),
|
||||||
INTERPRETER_TRANSLATE(mla), INTERPRETER_TRANSLATE(ssat), INTERPRETER_TRANSLATE(usat),
|
INTERPRETER_TRANSLATE(shsub16),
|
||||||
INTERPRETER_TRANSLATE(mrs), INTERPRETER_TRANSLATE(msr), INTERPRETER_TRANSLATE(and),
|
INTERPRETER_TRANSLATE(umaal),
|
||||||
INTERPRETER_TRANSLATE(bic), INTERPRETER_TRANSLATE(ldm), INTERPRETER_TRANSLATE(eor),
|
INTERPRETER_TRANSLATE(uxtab16),
|
||||||
INTERPRETER_TRANSLATE(add), INTERPRETER_TRANSLATE(rsb), INTERPRETER_TRANSLATE(rsc),
|
INTERPRETER_TRANSLATE(usubaddx),
|
||||||
INTERPRETER_TRANSLATE(sbc), INTERPRETER_TRANSLATE(adc), INTERPRETER_TRANSLATE(sub),
|
INTERPRETER_TRANSLATE(usub8),
|
||||||
INTERPRETER_TRANSLATE(orr), INTERPRETER_TRANSLATE(mvn), INTERPRETER_TRANSLATE(mov),
|
INTERPRETER_TRANSLATE(usub16),
|
||||||
INTERPRETER_TRANSLATE(stm), INTERPRETER_TRANSLATE(ldm), INTERPRETER_TRANSLATE(ldrsh),
|
INTERPRETER_TRANSLATE(usat16),
|
||||||
INTERPRETER_TRANSLATE(stm), INTERPRETER_TRANSLATE(ldm), INTERPRETER_TRANSLATE(ldrsb),
|
INTERPRETER_TRANSLATE(usada8),
|
||||||
INTERPRETER_TRANSLATE(strd), INTERPRETER_TRANSLATE(ldrh), INTERPRETER_TRANSLATE(strh),
|
INTERPRETER_TRANSLATE(uqsubaddx),
|
||||||
INTERPRETER_TRANSLATE(ldrd), INTERPRETER_TRANSLATE(strt), INTERPRETER_TRANSLATE(strbt),
|
INTERPRETER_TRANSLATE(uqsub8),
|
||||||
INTERPRETER_TRANSLATE(ldrbt), INTERPRETER_TRANSLATE(ldrt), INTERPRETER_TRANSLATE(mrc),
|
INTERPRETER_TRANSLATE(uqsub16),
|
||||||
INTERPRETER_TRANSLATE(mcr), INTERPRETER_TRANSLATE(msr), INTERPRETER_TRANSLATE(msr),
|
INTERPRETER_TRANSLATE(uqaddsubx),
|
||||||
INTERPRETER_TRANSLATE(msr), INTERPRETER_TRANSLATE(msr), INTERPRETER_TRANSLATE(msr),
|
INTERPRETER_TRANSLATE(uqadd8),
|
||||||
INTERPRETER_TRANSLATE(ldrb), INTERPRETER_TRANSLATE(strb), INTERPRETER_TRANSLATE(ldr),
|
INTERPRETER_TRANSLATE(uqadd16),
|
||||||
INTERPRETER_TRANSLATE(ldrcond), INTERPRETER_TRANSLATE(str), INTERPRETER_TRANSLATE(cdp),
|
INTERPRETER_TRANSLATE(sxtab),
|
||||||
INTERPRETER_TRANSLATE(stc), INTERPRETER_TRANSLATE(ldc), INTERPRETER_TRANSLATE(ldrexd),
|
INTERPRETER_TRANSLATE(uhsubaddx),
|
||||||
INTERPRETER_TRANSLATE(strexd), INTERPRETER_TRANSLATE(ldrexh), INTERPRETER_TRANSLATE(strexh),
|
INTERPRETER_TRANSLATE(uhsub8),
|
||||||
INTERPRETER_TRANSLATE(nop), INTERPRETER_TRANSLATE(yield), INTERPRETER_TRANSLATE(wfe),
|
INTERPRETER_TRANSLATE(uhsub16),
|
||||||
INTERPRETER_TRANSLATE(wfi), INTERPRETER_TRANSLATE(sev), INTERPRETER_TRANSLATE(swi),
|
INTERPRETER_TRANSLATE(uhaddsubx),
|
||||||
|
INTERPRETER_TRANSLATE(uhadd8),
|
||||||
|
INTERPRETER_TRANSLATE(uhadd16),
|
||||||
|
INTERPRETER_TRANSLATE(uaddsubx),
|
||||||
|
INTERPRETER_TRANSLATE(uadd8),
|
||||||
|
INTERPRETER_TRANSLATE(uadd16),
|
||||||
|
INTERPRETER_TRANSLATE(sxtah),
|
||||||
|
INTERPRETER_TRANSLATE(sxtab16),
|
||||||
|
INTERPRETER_TRANSLATE(qadd8),
|
||||||
|
INTERPRETER_TRANSLATE(bxj),
|
||||||
|
INTERPRETER_TRANSLATE(clz),
|
||||||
|
INTERPRETER_TRANSLATE(uxtah),
|
||||||
|
INTERPRETER_TRANSLATE(bx),
|
||||||
|
INTERPRETER_TRANSLATE(rev),
|
||||||
|
INTERPRETER_TRANSLATE(blx),
|
||||||
|
INTERPRETER_TRANSLATE(revsh),
|
||||||
|
INTERPRETER_TRANSLATE(qadd),
|
||||||
|
INTERPRETER_TRANSLATE(qadd16),
|
||||||
|
INTERPRETER_TRANSLATE(qaddsubx),
|
||||||
|
INTERPRETER_TRANSLATE(ldrex),
|
||||||
|
INTERPRETER_TRANSLATE(qdadd),
|
||||||
|
INTERPRETER_TRANSLATE(qdsub),
|
||||||
|
INTERPRETER_TRANSLATE(qsub),
|
||||||
|
INTERPRETER_TRANSLATE(ldrexb),
|
||||||
|
INTERPRETER_TRANSLATE(qsub8),
|
||||||
|
INTERPRETER_TRANSLATE(qsub16),
|
||||||
|
INTERPRETER_TRANSLATE(smuad),
|
||||||
|
INTERPRETER_TRANSLATE(smmul),
|
||||||
|
INTERPRETER_TRANSLATE(smusd),
|
||||||
|
INTERPRETER_TRANSLATE(smlsd),
|
||||||
|
INTERPRETER_TRANSLATE(smlsld),
|
||||||
|
INTERPRETER_TRANSLATE(smmla),
|
||||||
|
INTERPRETER_TRANSLATE(smmls),
|
||||||
|
INTERPRETER_TRANSLATE(smlald),
|
||||||
|
INTERPRETER_TRANSLATE(smlad),
|
||||||
|
INTERPRETER_TRANSLATE(smlaw),
|
||||||
|
INTERPRETER_TRANSLATE(smulw),
|
||||||
|
INTERPRETER_TRANSLATE(pkhtb),
|
||||||
|
INTERPRETER_TRANSLATE(pkhbt),
|
||||||
|
INTERPRETER_TRANSLATE(smul),
|
||||||
|
INTERPRETER_TRANSLATE(smlalxy),
|
||||||
|
INTERPRETER_TRANSLATE(smla),
|
||||||
|
INTERPRETER_TRANSLATE(mcrr),
|
||||||
|
INTERPRETER_TRANSLATE(mrrc),
|
||||||
|
INTERPRETER_TRANSLATE(cmp),
|
||||||
|
INTERPRETER_TRANSLATE(tst),
|
||||||
|
INTERPRETER_TRANSLATE(teq),
|
||||||
|
INTERPRETER_TRANSLATE(cmn),
|
||||||
|
INTERPRETER_TRANSLATE(smull),
|
||||||
|
INTERPRETER_TRANSLATE(umull),
|
||||||
|
INTERPRETER_TRANSLATE(umlal),
|
||||||
|
INTERPRETER_TRANSLATE(smlal),
|
||||||
|
INTERPRETER_TRANSLATE(mul),
|
||||||
|
INTERPRETER_TRANSLATE(mla),
|
||||||
|
INTERPRETER_TRANSLATE(ssat),
|
||||||
|
INTERPRETER_TRANSLATE(usat),
|
||||||
|
INTERPRETER_TRANSLATE(mrs),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(and),
|
||||||
|
INTERPRETER_TRANSLATE(bic),
|
||||||
|
INTERPRETER_TRANSLATE(ldm),
|
||||||
|
INTERPRETER_TRANSLATE(eor),
|
||||||
|
INTERPRETER_TRANSLATE(add),
|
||||||
|
INTERPRETER_TRANSLATE(rsb),
|
||||||
|
INTERPRETER_TRANSLATE(rsc),
|
||||||
|
INTERPRETER_TRANSLATE(sbc),
|
||||||
|
INTERPRETER_TRANSLATE(adc),
|
||||||
|
INTERPRETER_TRANSLATE(sub),
|
||||||
|
INTERPRETER_TRANSLATE(orr),
|
||||||
|
INTERPRETER_TRANSLATE(mvn),
|
||||||
|
INTERPRETER_TRANSLATE(mov),
|
||||||
|
INTERPRETER_TRANSLATE(stm),
|
||||||
|
INTERPRETER_TRANSLATE(ldm),
|
||||||
|
INTERPRETER_TRANSLATE(ldrsh),
|
||||||
|
INTERPRETER_TRANSLATE(stm),
|
||||||
|
INTERPRETER_TRANSLATE(ldm),
|
||||||
|
INTERPRETER_TRANSLATE(ldrsb),
|
||||||
|
INTERPRETER_TRANSLATE(strd),
|
||||||
|
INTERPRETER_TRANSLATE(ldrh),
|
||||||
|
INTERPRETER_TRANSLATE(strh),
|
||||||
|
INTERPRETER_TRANSLATE(ldrd),
|
||||||
|
INTERPRETER_TRANSLATE(strt),
|
||||||
|
INTERPRETER_TRANSLATE(strbt),
|
||||||
|
INTERPRETER_TRANSLATE(ldrbt),
|
||||||
|
INTERPRETER_TRANSLATE(ldrt),
|
||||||
|
INTERPRETER_TRANSLATE(mrc),
|
||||||
|
INTERPRETER_TRANSLATE(mcr),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(msr),
|
||||||
|
INTERPRETER_TRANSLATE(ldrb),
|
||||||
|
INTERPRETER_TRANSLATE(strb),
|
||||||
|
INTERPRETER_TRANSLATE(ldr),
|
||||||
|
INTERPRETER_TRANSLATE(ldrcond),
|
||||||
|
INTERPRETER_TRANSLATE(str),
|
||||||
|
INTERPRETER_TRANSLATE(cdp),
|
||||||
|
INTERPRETER_TRANSLATE(stc),
|
||||||
|
INTERPRETER_TRANSLATE(ldc),
|
||||||
|
INTERPRETER_TRANSLATE(ldrexd),
|
||||||
|
INTERPRETER_TRANSLATE(strexd),
|
||||||
|
INTERPRETER_TRANSLATE(ldrexh),
|
||||||
|
INTERPRETER_TRANSLATE(strexh),
|
||||||
|
INTERPRETER_TRANSLATE(nop),
|
||||||
|
INTERPRETER_TRANSLATE(yield),
|
||||||
|
INTERPRETER_TRANSLATE(wfe),
|
||||||
|
INTERPRETER_TRANSLATE(wfi),
|
||||||
|
INTERPRETER_TRANSLATE(sev),
|
||||||
|
INTERPRETER_TRANSLATE(swi),
|
||||||
INTERPRETER_TRANSLATE(bbl),
|
INTERPRETER_TRANSLATE(bbl),
|
||||||
|
|
||||||
// All the thumb instructions should be placed the end of table
|
// All the thumb instructions should be placed the end of table
|
||||||
INTERPRETER_TRANSLATE(b_2_thumb), INTERPRETER_TRANSLATE(b_cond_thumb),
|
INTERPRETER_TRANSLATE(b_2_thumb),
|
||||||
INTERPRETER_TRANSLATE(bl_1_thumb), INTERPRETER_TRANSLATE(bl_2_thumb),
|
INTERPRETER_TRANSLATE(b_cond_thumb),
|
||||||
|
INTERPRETER_TRANSLATE(bl_1_thumb),
|
||||||
|
INTERPRETER_TRANSLATE(bl_2_thumb),
|
||||||
INTERPRETER_TRANSLATE(blx_1_thumb),
|
INTERPRETER_TRANSLATE(blx_1_thumb),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,9 @@
|
||||||
#include "core/arm/skyeye_common/vfp/vfp_helper.h"
|
#include "core/arm/skyeye_common/vfp/vfp_helper.h"
|
||||||
|
|
||||||
static struct vfp_double vfp_double_default_qnan = {
|
static struct vfp_double vfp_double_default_qnan = {
|
||||||
2047, 0, VFP_DOUBLE_SIGNIFICAND_QNAN,
|
2047,
|
||||||
|
0,
|
||||||
|
VFP_DOUBLE_SIGNIFICAND_QNAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void vfp_double_dump(const char* str, struct vfp_double* d) {
|
static void vfp_double_dump(const char* str, struct vfp_double* d) {
|
||||||
|
|
|
@ -61,7 +61,9 @@
|
||||||
#include "core/arm/skyeye_common/vfp/vfp_helper.h"
|
#include "core/arm/skyeye_common/vfp/vfp_helper.h"
|
||||||
|
|
||||||
static struct vfp_single vfp_single_default_qnan = {
|
static struct vfp_single vfp_single_default_qnan = {
|
||||||
255, 0, VFP_SINGLE_SIGNIFICAND_QNAN,
|
255,
|
||||||
|
0,
|
||||||
|
VFP_SINGLE_SIGNIFICAND_QNAN,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void vfp_single_dump(const char* str, struct vfp_single* s) {
|
static void vfp_single_dump(const char* str, struct vfp_single* s) {
|
||||||
|
|
|
@ -118,4 +118,4 @@ std::vector<u8> Path::AsBinary() const {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} // namespace FileSys
|
||||||
|
|
|
@ -245,7 +245,8 @@ void ArchiveFactory_SelfNCCH::Register(Loader::AppLoader& app_loader) {
|
||||||
program_id);
|
program_id);
|
||||||
|
|
||||||
if (ncch_data.find(program_id) != ncch_data.end()) {
|
if (ncch_data.find(program_id) != ncch_data.end()) {
|
||||||
LOG_WARNING(Service_FS, "Registering program %016" PRIX64
|
LOG_WARNING(Service_FS,
|
||||||
|
"Registering program %016" PRIX64
|
||||||
" with SelfNCCH will override existing mapping",
|
" with SelfNCCH will override existing mapping",
|
||||||
program_id);
|
program_id);
|
||||||
}
|
}
|
||||||
|
@ -260,8 +261,8 @@ void ArchiveFactory_SelfNCCH::Register(Loader::AppLoader& app_loader) {
|
||||||
}
|
}
|
||||||
|
|
||||||
std::shared_ptr<FileUtil::IOFile> update_romfs_file;
|
std::shared_ptr<FileUtil::IOFile> update_romfs_file;
|
||||||
if (Loader::ResultStatus::Success ==
|
if (Loader::ResultStatus::Success == app_loader.ReadUpdateRomFS(update_romfs_file,
|
||||||
app_loader.ReadUpdateRomFS(update_romfs_file, data.update_romfs_offset,
|
data.update_romfs_offset,
|
||||||
data.update_romfs_size)) {
|
data.update_romfs_size)) {
|
||||||
|
|
||||||
data.update_romfs_file = std::move(update_romfs_file);
|
data.update_romfs_file = std::move(update_romfs_file);
|
||||||
|
|
|
@ -225,4 +225,4 @@ void CIAContainer::Print() const {
|
||||||
LOG_DEBUG(Service_FS, "Content %x Offset: 0x%08" PRIx64 " bytes", i, GetContentOffset(i));
|
LOG_DEBUG(Service_FS, "Content %x Offset: 0x%08" PRIx64 " bytes", i, GetContentOffset(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} // namespace FileSys
|
||||||
|
|
|
@ -109,8 +109,7 @@ FramebufferLayout LargeFrameLayout(unsigned width, unsigned height, bool swapped
|
||||||
// To do that, find the total emulation box and maximize that based on window size
|
// To do that, find the total emulation box and maximize that based on window size
|
||||||
float window_aspect_ratio = static_cast<float>(height) / width;
|
float window_aspect_ratio = static_cast<float>(height) / width;
|
||||||
float emulation_aspect_ratio =
|
float emulation_aspect_ratio =
|
||||||
swapped
|
swapped ? Core::kScreenBottomHeight * 4 /
|
||||||
? Core::kScreenBottomHeight * 4 /
|
|
||||||
(Core::kScreenBottomWidth * 4.0f + Core::kScreenTopWidth)
|
(Core::kScreenBottomWidth * 4.0f + Core::kScreenTopWidth)
|
||||||
: Core::kScreenTopHeight * 4 /
|
: Core::kScreenTopHeight * 4 /
|
||||||
(Core::kScreenTopWidth * 4.0f + Core::kScreenBottomWidth);
|
(Core::kScreenTopWidth * 4.0f + Core::kScreenBottomWidth);
|
||||||
|
|
|
@ -1037,4 +1037,4 @@ bool GetCpuStepFlag() {
|
||||||
void SetCpuStepFlag(bool is_step) {
|
void SetCpuStepFlag(bool is_step) {
|
||||||
step_loop = is_step;
|
step_loop = is_step;
|
||||||
}
|
}
|
||||||
};
|
}; // namespace GDBStub
|
||||||
|
|
|
@ -91,4 +91,4 @@ bool GetCpuStepFlag();
|
||||||
* @param is_step
|
* @param is_step
|
||||||
*/
|
*/
|
||||||
void SetCpuStepFlag(bool is_step);
|
void SetCpuStepFlag(bool is_step);
|
||||||
}
|
} // namespace GDBStub
|
||||||
|
|
|
@ -31,7 +31,7 @@ struct hash<Service::APT::AppletId> {
|
||||||
return std::hash<Type>()(static_cast<Type>(id_code));
|
return std::hash<Type>()(static_cast<Type>(id_code));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
} // namespace std
|
||||||
|
|
||||||
namespace HLE {
|
namespace HLE {
|
||||||
namespace Applets {
|
namespace Applets {
|
||||||
|
@ -134,5 +134,5 @@ void Init() {
|
||||||
void Shutdown() {
|
void Shutdown() {
|
||||||
CoreTiming::RemoveEvent(applet_update_event);
|
CoreTiming::RemoveEvent(applet_update_event);
|
||||||
}
|
}
|
||||||
}
|
} // namespace Applets
|
||||||
} // namespace
|
} // namespace HLE
|
||||||
|
|
|
@ -86,5 +86,5 @@ void Init();
|
||||||
|
|
||||||
/// Shuts down the HLE applets
|
/// Shuts down the HLE applets
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
}
|
} // namespace Applets
|
||||||
} // namespace
|
} // namespace HLE
|
||||||
|
|
|
@ -114,5 +114,5 @@ void SoftwareKeyboard::Finalize() {
|
||||||
|
|
||||||
is_running = false;
|
is_running = false;
|
||||||
}
|
}
|
||||||
}
|
} // namespace Applets
|
||||||
} // namespace
|
} // namespace HLE
|
||||||
|
|
|
@ -82,5 +82,5 @@ private:
|
||||||
/// Configuration of this instance of the SoftwareKeyboard, as received from the application
|
/// Configuration of this instance of the SoftwareKeyboard, as received from the application
|
||||||
SoftwareKeyboardConfig config;
|
SoftwareKeyboardConfig config;
|
||||||
};
|
};
|
||||||
}
|
} // namespace Applets
|
||||||
} // namespace
|
} // namespace HLE
|
||||||
|
|
|
@ -28,4 +28,4 @@ void Init() {
|
||||||
config_mem.firm_ctr_sdk_ver = 0x0000F297;
|
config_mem.firm_ctr_sdk_ver = 0x0000F297;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace ConfigMem
|
||||||
|
|
|
@ -53,4 +53,4 @@ extern ConfigMemDef config_mem;
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
} // namespace
|
} // namespace ConfigMem
|
||||||
|
|
|
@ -39,4 +39,4 @@ ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
|
||||||
return MakeResult(std::get<SharedPtr<ClientSession>>(sessions));
|
return MakeResult(std::get<SharedPtr<ClientSession>>(sessions));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -47,4 +47,4 @@ private:
|
||||||
~ClientPort() override;
|
~ClientPort() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -52,4 +52,4 @@ ResultCode ClientSession::SendSyncRequest(SharedPtr<Thread> thread) {
|
||||||
return server->HandleSyncRequest(std::move(thread));
|
return server->HandleSyncRequest(std::move(thread));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -50,4 +50,4 @@ private:
|
||||||
~ClientSession() override;
|
~ClientSession() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -52,4 +52,4 @@ void Event::WakeupAllWaitingThreads() {
|
||||||
signaled = false;
|
signaled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -49,4 +49,4 @@ private:
|
||||||
~Event() override;
|
~Event() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -94,4 +94,4 @@ void HandleTable::Clear() {
|
||||||
next_free_slot = 0;
|
next_free_slot = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -123,4 +123,4 @@ private:
|
||||||
|
|
||||||
extern HandleTable g_handle_table;
|
extern HandleTable g_handle_table;
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -36,8 +36,9 @@ SharedPtr<Event> HLERequestContext::SleepClientThread(SharedPtr<Thread> thread,
|
||||||
std::chrono::nanoseconds timeout,
|
std::chrono::nanoseconds timeout,
|
||||||
WakeupCallback&& callback) {
|
WakeupCallback&& callback) {
|
||||||
// Put the client thread to sleep until the wait event is signaled or the timeout expires.
|
// Put the client thread to sleep until the wait event is signaled or the timeout expires.
|
||||||
thread->wakeup_callback = [ context = *this, callback ](
|
thread->wakeup_callback = [context = *this, callback](ThreadWakeupReason reason,
|
||||||
ThreadWakeupReason reason, SharedPtr<Thread> thread, SharedPtr<WaitObject> object) mutable {
|
SharedPtr<Thread> thread,
|
||||||
|
SharedPtr<WaitObject> object) mutable {
|
||||||
ASSERT(thread->status == THREADSTATUS_WAIT_HLE_EVENT);
|
ASSERT(thread->status == THREADSTATUS_WAIT_HLE_EVENT);
|
||||||
callback(thread, context, reason);
|
callback(thread, context, reason);
|
||||||
|
|
||||||
|
|
|
@ -45,4 +45,4 @@ void Shutdown() {
|
||||||
Kernel::MemoryShutdown();
|
Kernel::MemoryShutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -126,7 +126,8 @@ void HandleSpecialMapping(VMManager& address_space, const AddressMapping& mappin
|
||||||
mapping_limit <= area.vaddr_base + area.size;
|
mapping_limit <= area.vaddr_base + area.size;
|
||||||
});
|
});
|
||||||
if (area == std::end(memory_areas)) {
|
if (area == std::end(memory_areas)) {
|
||||||
LOG_ERROR(Loader, "Unhandled special mapping: address=0x%08" PRIX32 " size=0x%" PRIX32
|
LOG_ERROR(Loader,
|
||||||
|
"Unhandled special mapping: address=0x%08" PRIX32 " size=0x%" PRIX32
|
||||||
" read_only=%d unk_flag=%d",
|
" read_only=%d unk_flag=%d",
|
||||||
mapping.address, mapping.size, mapping.read_only, mapping.unk_flag);
|
mapping.address, mapping.size, mapping.read_only, mapping.unk_flag);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -151,4 +151,4 @@ void ResourceLimitsInit() {
|
||||||
|
|
||||||
void ResourceLimitsShutdown() {}
|
void ResourceLimitsShutdown() {}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -123,4 +123,4 @@ void ResourceLimitsInit();
|
||||||
// Destroys the resource limits
|
// Destroys the resource limits
|
||||||
void ResourceLimitsShutdown();
|
void ResourceLimitsShutdown();
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -52,4 +52,4 @@ ResultVal<s32> Semaphore::Release(s32 release_count) {
|
||||||
return MakeResult<s32>(previous_count);
|
return MakeResult<s32>(previous_count);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <queue>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include <queue>
|
||||||
#include "common/common_types.h"
|
#include "common/common_types.h"
|
||||||
#include "core/hle/kernel/kernel.h"
|
#include "core/hle/kernel/kernel.h"
|
||||||
#include "core/hle/kernel/wait_object.h"
|
#include "core/hle/kernel/wait_object.h"
|
||||||
|
@ -56,4 +56,4 @@ private:
|
||||||
~Semaphore() override;
|
~Semaphore() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -50,4 +50,4 @@ std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> ServerPort::CreatePortP
|
||||||
return std::make_tuple(std::move(server_port), std::move(client_port));
|
return std::make_tuple(std::move(server_port), std::move(client_port));
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -72,4 +72,4 @@ private:
|
||||||
~ServerPort() override;
|
~ServerPort() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -9,4 +9,4 @@ namespace Kernel {
|
||||||
|
|
||||||
Session::Session() {}
|
Session::Session() {}
|
||||||
Session::~Session() {}
|
Session::~Session() {}
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
|
@ -24,4 +24,4 @@ public:
|
||||||
ServerSession* server = nullptr; ///< The server endpoint of the session.
|
ServerSession* server = nullptr; ///< The server endpoint of the session.
|
||||||
SharedPtr<ClientPort> port; ///< The port that this session is associated with (optional).
|
SharedPtr<ClientPort> port; ///< The port that this session is associated with (optional).
|
||||||
};
|
};
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
|
@ -129,4 +129,4 @@ private:
|
||||||
~SharedMemory() override;
|
~SharedMemory() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -288,7 +288,6 @@ static ResultCode WaitSynchronization1(Handle handle, s64 nano_seconds) {
|
||||||
|
|
||||||
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
||||||
SharedPtr<WaitObject> object) {
|
SharedPtr<WaitObject> object) {
|
||||||
|
|
||||||
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
||||||
|
|
||||||
if (reason == ThreadWakeupReason::Timeout) {
|
if (reason == ThreadWakeupReason::Timeout) {
|
||||||
|
@ -378,7 +377,6 @@ static ResultCode WaitSynchronizationN(s32* out, VAddr handles_address, s32 hand
|
||||||
|
|
||||||
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
||||||
SharedPtr<WaitObject> object) {
|
SharedPtr<WaitObject> object) {
|
||||||
|
|
||||||
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ALL);
|
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ALL);
|
||||||
|
|
||||||
if (reason == ThreadWakeupReason::Timeout) {
|
if (reason == ThreadWakeupReason::Timeout) {
|
||||||
|
@ -439,7 +437,6 @@ static ResultCode WaitSynchronizationN(s32* out, VAddr handles_address, s32 hand
|
||||||
|
|
||||||
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
||||||
SharedPtr<WaitObject> object) {
|
SharedPtr<WaitObject> object) {
|
||||||
|
|
||||||
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
||||||
|
|
||||||
if (reason == ThreadWakeupReason::Timeout) {
|
if (reason == ThreadWakeupReason::Timeout) {
|
||||||
|
@ -591,7 +588,6 @@ static ResultCode ReplyAndReceive(s32* index, VAddr handles_address, s32 handle_
|
||||||
|
|
||||||
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
thread->wakeup_callback = [](ThreadWakeupReason reason, SharedPtr<Thread> thread,
|
||||||
SharedPtr<WaitObject> object) {
|
SharedPtr<WaitObject> object) {
|
||||||
|
|
||||||
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
ASSERT(thread->status == THREADSTATUS_WAIT_SYNCH_ANY);
|
||||||
ASSERT(reason == ThreadWakeupReason::Signal);
|
ASSERT(reason == ThreadWakeupReason::Signal);
|
||||||
|
|
||||||
|
@ -770,7 +766,8 @@ static ResultCode CreateThread(Handle* out_handle, u32 priority, u32 entry_point
|
||||||
|
|
||||||
Core::System::GetInstance().PrepareReschedule();
|
Core::System::GetInstance().PrepareReschedule();
|
||||||
|
|
||||||
LOG_TRACE(Kernel_SVC, "called entrypoint=0x%08X (%s), arg=0x%08X, stacktop=0x%08X, "
|
LOG_TRACE(Kernel_SVC,
|
||||||
|
"called entrypoint=0x%08X (%s), arg=0x%08X, stacktop=0x%08X, "
|
||||||
"threadpriority=0x%08X, processorid=0x%08X : created handle=0x%08X",
|
"threadpriority=0x%08X, processorid=0x%08X : created handle=0x%08X",
|
||||||
entry_point, name.c_str(), arg, stack_top, priority, processor_id, *out_handle);
|
entry_point, name.c_str(), arg, stack_top, priority, processor_id, *out_handle);
|
||||||
|
|
||||||
|
|
|
@ -111,4 +111,4 @@ void TimersInit() {
|
||||||
|
|
||||||
void TimersShutdown() {}
|
void TimersShutdown() {}
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -76,4 +76,4 @@ void TimersInit();
|
||||||
/// Tears down the timer variables
|
/// Tears down the timer variables
|
||||||
void TimersShutdown();
|
void TimersShutdown();
|
||||||
|
|
||||||
} // namespace
|
} // namespace Kernel
|
||||||
|
|
|
@ -18,7 +18,7 @@ namespace Service {
|
||||||
namespace FS {
|
namespace FS {
|
||||||
enum class MediaType : u32;
|
enum class MediaType : u32;
|
||||||
}
|
}
|
||||||
}
|
} // namespace Service
|
||||||
|
|
||||||
namespace Service {
|
namespace Service {
|
||||||
namespace AM {
|
namespace AM {
|
||||||
|
|
|
@ -306,7 +306,8 @@ void Module::Interface::SendParameter(Kernel::HLERequestContext& ctx) {
|
||||||
Kernel::SharedPtr<Kernel::Object> object = rp.PopGenericObject();
|
Kernel::SharedPtr<Kernel::Object> object = rp.PopGenericObject();
|
||||||
std::vector<u8> buffer = rp.PopStaticBuffer();
|
std::vector<u8> buffer = rp.PopStaticBuffer();
|
||||||
|
|
||||||
LOG_DEBUG(Service_APT, "called src_app_id=0x%08X, dst_app_id=0x%08X, signal_type=0x%08X,"
|
LOG_DEBUG(Service_APT,
|
||||||
|
"called src_app_id=0x%08X, dst_app_id=0x%08X, signal_type=0x%08X,"
|
||||||
"buffer_size=0x%08X",
|
"buffer_size=0x%08X",
|
||||||
static_cast<u32>(src_app_id), static_cast<u32>(dst_app_id),
|
static_cast<u32>(src_app_id), static_cast<u32>(dst_app_id),
|
||||||
static_cast<u32>(signal_type), buffer_size);
|
static_cast<u32>(signal_type), buffer_size);
|
||||||
|
@ -392,7 +393,8 @@ void Module::Interface::CancelParameter(Kernel::HLERequestContext& ctx) {
|
||||||
rb.Push(apt->applet_manager->CancelParameter(check_sender, sender_appid, check_receiver,
|
rb.Push(apt->applet_manager->CancelParameter(check_sender, sender_appid, check_receiver,
|
||||||
receiver_appid));
|
receiver_appid));
|
||||||
|
|
||||||
LOG_DEBUG(Service_APT, "called check_sender=%u, sender_appid=0x%08X, "
|
LOG_DEBUG(Service_APT,
|
||||||
|
"called check_sender=%u, sender_appid=0x%08X, "
|
||||||
"check_receiver=%u, receiver_appid=0x%08X",
|
"check_receiver=%u, receiver_appid=0x%08X",
|
||||||
check_sender, static_cast<u32>(sender_appid), check_receiver,
|
check_sender, static_cast<u32>(sender_appid), check_receiver,
|
||||||
static_cast<u32>(receiver_appid));
|
static_cast<u32>(receiver_appid));
|
||||||
|
|
|
@ -111,7 +111,8 @@ void RegisterPrivateClientCert(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff2_addr;
|
cmd_buff[3] = buff2_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||||
|
@ -177,7 +178,8 @@ void RegisterTask(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -196,7 +198,8 @@ void UnregisterTask(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -215,7 +218,8 @@ void ReconfigureTask(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -263,7 +267,8 @@ void GetNsDataIdList(Service::Interface* self) {
|
||||||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[5] = buff_addr;
|
cmd_buff[5] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, translation=0x%08X, "
|
"unk_param4=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||||
|
@ -287,7 +292,8 @@ void GetOwnNsDataIdList(Service::Interface* self) {
|
||||||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[5] = buff_addr;
|
cmd_buff[5] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, translation=0x%08X, "
|
"unk_param4=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||||
|
@ -311,7 +317,8 @@ void GetNewDataNsDataIdList(Service::Interface* self) {
|
||||||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[5] = buff_addr;
|
cmd_buff[5] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, translation=0x%08X, "
|
"unk_param4=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||||
|
@ -335,7 +342,8 @@ void GetOwnNewDataNsDataIdList(Service::Interface* self) {
|
||||||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[5] = buff_addr;
|
cmd_buff[5] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, translation=0x%08X, "
|
"unk_param4=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||||
|
@ -355,7 +363,8 @@ void SendProperty(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -373,7 +382,8 @@ void SendPropertyHandle(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -392,7 +402,8 @@ void ReceiveProperty(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xC);
|
cmd_buff[2] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, buff_size=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, buff_size=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X",
|
||||||
unk_param1, buff_size, translation, buff_addr);
|
unk_param1, buff_size, translation, buff_addr);
|
||||||
}
|
}
|
||||||
|
@ -411,7 +422,8 @@ void UpdateTaskInterval(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -429,7 +441,8 @@ void UpdateTaskCount(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X",
|
||||||
buff_size, unk_param2, translation, buff_addr);
|
buff_size, unk_param2, translation, buff_addr);
|
||||||
}
|
}
|
||||||
|
@ -448,7 +461,8 @@ void GetTaskInterval(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -467,7 +481,8 @@ void GetTaskCount(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -486,7 +501,8 @@ void GetTaskServiceStatus(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -504,7 +520,8 @@ void StartTask(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -522,7 +539,8 @@ void StartTaskImmediate(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -540,7 +558,8 @@ void CancelTask(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -572,7 +591,8 @@ void GetTaskState(Service::Interface* self) {
|
||||||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[6] = buff_addr;
|
cmd_buff[6] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X",
|
||||||
buff_size, unk_param2, translation, buff_addr);
|
buff_size, unk_param2, translation, buff_addr);
|
||||||
}
|
}
|
||||||
|
@ -593,7 +613,8 @@ void GetTaskResult(Service::Interface* self) {
|
||||||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[6] = buff_addr;
|
cmd_buff[6] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -614,7 +635,8 @@ void GetTaskCommErrorCode(Service::Interface* self) {
|
||||||
cmd_buff[5] = (buff_size << 4 | 0xA);
|
cmd_buff[5] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[6] = buff_addr;
|
cmd_buff[6] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -635,7 +657,8 @@ void GetTaskStatus(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -655,7 +678,8 @@ void GetTaskError(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -674,7 +698,8 @@ void GetTaskInfo(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -705,7 +730,8 @@ void GetNsDataHeaderInfo(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xC);
|
cmd_buff[2] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -728,7 +754,8 @@ void ReadNsData(Service::Interface* self) {
|
||||||
cmd_buff[4] = (buff_size << 4 | 0xC);
|
cmd_buff[4] = (buff_size << 4 | 0xC);
|
||||||
cmd_buff[5] = buff_addr;
|
cmd_buff[5] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, translation=0x%08X, "
|
"unk_param4=0x%08X, translation=0x%08X, "
|
||||||
"buff_addr=0x%08X, buff_size=0x%08X",
|
"buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, unk_param4, translation, buff_addr, buff_size);
|
||||||
|
@ -822,7 +849,8 @@ void RegisterStorageEntry(Service::Interface* self) {
|
||||||
cmd_buff[0] = IPC::MakeHeader(0x2F, 0x1, 0);
|
cmd_buff[0] = IPC::MakeHeader(0x2F, 0x1, 0);
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"unk_param4=0x%08X, unk_param5=0x%08X",
|
"unk_param4=0x%08X, unk_param5=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4, unk_param5);
|
unk_param1, unk_param2, unk_param3, unk_param4, unk_param5);
|
||||||
}
|
}
|
||||||
|
@ -849,7 +877,8 @@ void SetStorageOption(Service::Interface* self) {
|
||||||
cmd_buff[0] = IPC::MakeHeader(0x31, 0x1, 0);
|
cmd_buff[0] = IPC::MakeHeader(0x31, 0x1, 0);
|
||||||
cmd_buff[1] = RESULT_SUCCESS.raw;
|
cmd_buff[1] = RESULT_SUCCESS.raw;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||||
"unk_param3=0x%08X, unk_param4=0x%08X",
|
"unk_param3=0x%08X, unk_param4=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, unk_param4);
|
unk_param1, unk_param2, unk_param3, unk_param4);
|
||||||
}
|
}
|
||||||
|
@ -880,7 +909,8 @@ void StartBgImmediate(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff_size << 4 | 0xA);
|
cmd_buff[2] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff_addr;
|
cmd_buff[3] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -899,7 +929,8 @@ void GetTaskActivePriority(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) buff_size=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X",
|
||||||
unk_param1, translation, buff_addr, buff_size);
|
unk_param1, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -919,7 +950,8 @@ void RegisterImmediateTask(Service::Interface* self) {
|
||||||
cmd_buff[3] = (buff_size << 4 | 0xA);
|
cmd_buff[3] = (buff_size << 4 | 0xA);
|
||||||
cmd_buff[4] = buff_addr;
|
cmd_buff[4] = buff_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, unk_param3=0x%08X, "
|
||||||
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
"translation=0x%08X, buff_addr=0x%08X, buff_size=0x%08X",
|
||||||
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
unk_param1, unk_param2, unk_param3, translation, buff_addr, buff_size);
|
||||||
}
|
}
|
||||||
|
@ -943,7 +975,8 @@ void SetTaskQuery(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
cmd_buff[2] = (buff2_size << 4 | 0xA);
|
||||||
cmd_buff[3] = buff2_addr;
|
cmd_buff[3] = buff2_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||||
|
@ -969,7 +1002,8 @@ void GetTaskQuery(Service::Interface* self) {
|
||||||
cmd_buff[2] = (buff2_size << 4 | 0xC);
|
cmd_buff[2] = (buff2_size << 4 | 0xC);
|
||||||
cmd_buff[3] = buff2_addr;
|
cmd_buff[3] = buff2_addr;
|
||||||
|
|
||||||
LOG_WARNING(Service_BOSS, "(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
LOG_WARNING(Service_BOSS,
|
||||||
|
"(STUBBED) unk_param1=0x%08X, unk_param2=0x%08X, "
|
||||||
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
"translation1=0x%08X, buff1_addr=0x%08X, buff1_size=0x%08X, "
|
||||||
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
"translation2=0x%08X, buff2_addr=0x%08X, buff2_size=0x%08X",
|
||||||
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
unk_param1, unk_param2, translation1, buff1_addr, buff1_size, translation2,
|
||||||
|
|
|
@ -728,7 +728,8 @@ void Module::Interface::SetDetailSize(Kernel::HLERequestContext& ctx) {
|
||||||
rb.Push(ERROR_INVALID_ENUM_VALUE);
|
rb.Push(ERROR_INVALID_ENUM_VALUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG_DEBUG(Service_CAM, "called, camera_select=%u, width=%u, height=%u, crop_x0=%u, crop_y0=%u, "
|
LOG_DEBUG(Service_CAM,
|
||||||
|
"called, camera_select=%u, width=%u, height=%u, crop_x0=%u, crop_y0=%u, "
|
||||||
"crop_x1=%u, crop_y1=%u, context_select=%u",
|
"crop_x1=%u, crop_y1=%u, context_select=%u",
|
||||||
camera_select.m_val, resolution.width, resolution.height, resolution.crop_x0,
|
camera_select.m_val, resolution.width, resolution.height, resolution.crop_x0,
|
||||||
resolution.crop_y0, resolution.crop_x1, resolution.crop_y1, context_select.m_val);
|
resolution.crop_y0, resolution.crop_x1, resolution.crop_y1, context_select.m_val);
|
||||||
|
|
|
@ -90,7 +90,7 @@ struct ConsoleCountryInfo {
|
||||||
u8 country_code; ///< The country code of the console
|
u8 country_code; ///< The country code of the console
|
||||||
};
|
};
|
||||||
static_assert(sizeof(ConsoleCountryInfo) == 4, "ConsoleCountryInfo must be exactly 4 bytes");
|
static_assert(sizeof(ConsoleCountryInfo) == 4, "ConsoleCountryInfo must be exactly 4 bytes");
|
||||||
}
|
} // namespace
|
||||||
|
|
||||||
static const ConsoleModelInfo CONSOLE_MODEL = {NINTENDO_3DS_XL, {0, 0, 0}};
|
static const ConsoleModelInfo CONSOLE_MODEL = {NINTENDO_3DS_XL, {0, 0, 0}};
|
||||||
static const u8 CONSOLE_LANGUAGE = LANGUAGE_EN;
|
static const u8 CONSOLE_LANGUAGE = LANGUAGE_EN;
|
||||||
|
|
|
@ -236,7 +236,8 @@ static void RegisterInterruptEvents(Service::Interface* self) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (interrupt_events.HasTooManyEventsRegistered()) {
|
if (interrupt_events.HasTooManyEventsRegistered()) {
|
||||||
LOG_INFO(Service_DSP, "Ran out of space to register interrupts (Attempted to register "
|
LOG_INFO(Service_DSP,
|
||||||
|
"Ran out of space to register interrupts (Attempted to register "
|
||||||
"type=%u, pipe=%u, event_handle=0x%08X)",
|
"type=%u, pipe=%u, event_handle=0x%08X)",
|
||||||
type_index, pipe_index, event_handle);
|
type_index, pipe_index, event_handle);
|
||||||
cmd_buff[1] = ResultCode(ErrorDescription::InvalidResultValue, ErrorModule::DSP,
|
cmd_buff[1] = ResultCode(ErrorDescription::InvalidResultValue, ErrorModule::DSP,
|
||||||
|
@ -294,7 +295,8 @@ static void WriteProcessPipe(Service::Interface* self) {
|
||||||
AudioCore::DspPipe pipe = static_cast<AudioCore::DspPipe>(pipe_index);
|
AudioCore::DspPipe pipe = static_cast<AudioCore::DspPipe>(pipe_index);
|
||||||
|
|
||||||
if (IPC::StaticBufferDesc(size, 1) != cmd_buff[3]) {
|
if (IPC::StaticBufferDesc(size, 1) != cmd_buff[3]) {
|
||||||
LOG_ERROR(Service_DSP, "IPC static buffer descriptor failed validation (0x%X). pipe=%u, "
|
LOG_ERROR(Service_DSP,
|
||||||
|
"IPC static buffer descriptor failed validation (0x%X). pipe=%u, "
|
||||||
"size=0x%X, buffer=0x%08X",
|
"size=0x%X, buffer=0x%08X",
|
||||||
cmd_buff[3], pipe_index, size, buffer);
|
cmd_buff[3], pipe_index, size, buffer);
|
||||||
cmd_buff[0] = IPC::MakeHeader(0, 1, 0);
|
cmd_buff[0] = IPC::MakeHeader(0, 1, 0);
|
||||||
|
|
|
@ -87,7 +87,8 @@ void File::Read(Kernel::HLERequestContext& ctx) {
|
||||||
offset += file->offset;
|
offset += file->offset;
|
||||||
|
|
||||||
if (offset + length > backend->GetSize()) {
|
if (offset + length > backend->GetSize()) {
|
||||||
LOG_ERROR(Service_FS, "Reading from out of bounds offset=0x%" PRIx64
|
LOG_ERROR(Service_FS,
|
||||||
|
"Reading from out of bounds offset=0x%" PRIx64
|
||||||
" length=0x%08X file_size=0x%" PRIx64,
|
" length=0x%08X file_size=0x%" PRIx64,
|
||||||
offset, length, backend->GetSize());
|
offset, length, backend->GetSize());
|
||||||
}
|
}
|
||||||
|
|
|
@ -438,7 +438,8 @@ void FS_USER::CreateExtSaveData(Kernel::HLERequestContext& ctx) {
|
||||||
u32 icon_size = rp.Pop<u32>();
|
u32 icon_size = rp.Pop<u32>();
|
||||||
auto icon_buffer = rp.PopMappedBuffer();
|
auto icon_buffer = rp.PopMappedBuffer();
|
||||||
|
|
||||||
LOG_WARNING(Service_FS, "(STUBBED) savedata_high=%08X savedata_low=%08X unknown=%08X "
|
LOG_WARNING(Service_FS,
|
||||||
|
"(STUBBED) savedata_high=%08X savedata_low=%08X unknown=%08X "
|
||||||
"files=%08X directories=%08X size_limit=%016" PRIx64 " icon_size=%08X",
|
"files=%08X directories=%08X size_limit=%016" PRIx64 " icon_size=%08X",
|
||||||
save_high, save_low, unknown, directories, files, size_limit, icon_size);
|
save_high, save_low, unknown, directories, files, size_limit, icon_size);
|
||||||
|
|
||||||
|
@ -663,7 +664,8 @@ void FS_USER::SetSaveDataSecureValue(Kernel::HLERequestContext& ctx) {
|
||||||
|
|
||||||
// TODO: Generate and Save the Secure Value
|
// TODO: Generate and Save the Secure Value
|
||||||
|
|
||||||
LOG_WARNING(Service_FS, "(STUBBED) called, value=0x%016" PRIx64 " secure_value_slot=0x%08X "
|
LOG_WARNING(Service_FS,
|
||||||
|
"(STUBBED) called, value=0x%016" PRIx64 " secure_value_slot=0x%08X "
|
||||||
"unqiue_id=0x%08X title_variation=0x%02X",
|
"unqiue_id=0x%08X title_variation=0x%02X",
|
||||||
value, secure_value_slot, unique_id, title_variation);
|
value, secure_value_slot, unique_id, title_variation);
|
||||||
|
|
||||||
|
|
|
@ -261,30 +261,25 @@ ResultCode SetBufferSwap(u32 screen_id, const FrameBufferInfo& info) {
|
||||||
PAddr phys_address_left = Memory::VirtualToPhysicalAddress(info.address_left);
|
PAddr phys_address_left = Memory::VirtualToPhysicalAddress(info.address_left);
|
||||||
PAddr phys_address_right = Memory::VirtualToPhysicalAddress(info.address_right);
|
PAddr phys_address_right = Memory::VirtualToPhysicalAddress(info.address_right);
|
||||||
if (info.active_fb == 0) {
|
if (info.active_fb == 0) {
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(
|
||||||
base_address +
|
framebuffer_config[screen_id].address_left1)),
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_left1)),
|
|
||||||
phys_address_left);
|
phys_address_left);
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(
|
||||||
base_address +
|
framebuffer_config[screen_id].address_right1)),
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_right1)),
|
|
||||||
phys_address_right);
|
phys_address_right);
|
||||||
} else {
|
} else {
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(
|
||||||
base_address +
|
framebuffer_config[screen_id].address_left2)),
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_left2)),
|
|
||||||
phys_address_left);
|
phys_address_left);
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(
|
||||||
base_address +
|
framebuffer_config[screen_id].address_right2)),
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].address_right2)),
|
|
||||||
phys_address_right);
|
phys_address_right);
|
||||||
}
|
}
|
||||||
WriteSingleHWReg(base_address +
|
WriteSingleHWReg(base_address +
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].stride)),
|
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].stride)),
|
||||||
info.stride);
|
info.stride);
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(base_address + 4 * static_cast<u32>(GPU_REG_INDEX(
|
||||||
base_address +
|
framebuffer_config[screen_id].color_format)),
|
||||||
4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].color_format)),
|
|
||||||
info.format);
|
info.format);
|
||||||
WriteSingleHWReg(
|
WriteSingleHWReg(
|
||||||
base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].active_fb)),
|
base_address + 4 * static_cast<u32>(GPU_REG_INDEX(framebuffer_config[screen_id].active_fb)),
|
||||||
|
|
|
@ -333,7 +333,9 @@ void Module::Interface::GetGyroscopeLowCalibrateParam(Kernel::HLERequestContext&
|
||||||
|
|
||||||
const s16 param_unit = 6700; // an approximate value taken from hw
|
const s16 param_unit = 6700; // an approximate value taken from hw
|
||||||
GyroscopeCalibrateParam param = {
|
GyroscopeCalibrateParam param = {
|
||||||
{0, param_unit, -param_unit}, {0, param_unit, -param_unit}, {0, param_unit, -param_unit},
|
{0, param_unit, -param_unit},
|
||||||
|
{0, param_unit, -param_unit},
|
||||||
|
{0, param_unit, -param_unit},
|
||||||
};
|
};
|
||||||
rb.PushRaw(param);
|
rb.PushRaw(param);
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class Event;
|
class Event;
|
||||||
class SharedMemory;
|
class SharedMemory;
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
||||||
namespace CoreTiming {
|
namespace CoreTiming {
|
||||||
class EventType;
|
class EventType;
|
||||||
|
@ -335,5 +335,5 @@ void InstallInterfaces(SM::ServiceManager& service_manager);
|
||||||
|
|
||||||
/// Reload input devices. Used when input configuration changed
|
/// Reload input devices. Used when input configuration changed
|
||||||
void ReloadInputDevices();
|
void ReloadInputDevices();
|
||||||
}
|
} // namespace HID
|
||||||
}
|
} // namespace Service
|
||||||
|
|
|
@ -72,21 +72,77 @@ ExtraHID::ExtraHID(SendFunc send_func) : IRDevice(send_func) {
|
||||||
// and loaded from somewhere.
|
// and loaded from somewhere.
|
||||||
calibration_data = std::array<u8, 0x40>{{
|
calibration_data = std::array<u8, 0x40>{{
|
||||||
// 0x00
|
// 0x00
|
||||||
0x00, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F,
|
0x00,
|
||||||
|
0x00,
|
||||||
|
0x08,
|
||||||
|
0x80,
|
||||||
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
// 0x08
|
// 0x08
|
||||||
0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0xF5,
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0xF5,
|
||||||
// 0x10
|
// 0x10
|
||||||
0xFF, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F,
|
0xFF,
|
||||||
|
0x00,
|
||||||
|
0x08,
|
||||||
|
0x80,
|
||||||
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
// 0x18
|
// 0x18
|
||||||
0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0x65,
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0x65,
|
||||||
// 0x20
|
// 0x20
|
||||||
0xFF, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F,
|
0xFF,
|
||||||
|
0x00,
|
||||||
|
0x08,
|
||||||
|
0x80,
|
||||||
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
// 0x28
|
// 0x28
|
||||||
0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0x65,
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0x65,
|
||||||
// 0x30
|
// 0x30
|
||||||
0xFF, 0x00, 0x08, 0x80, 0x85, 0xEB, 0x11, 0x3F,
|
0xFF,
|
||||||
|
0x00,
|
||||||
|
0x08,
|
||||||
|
0x80,
|
||||||
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
// 0x38
|
// 0x38
|
||||||
0x85, 0xEB, 0x11, 0x3F, 0xFF, 0xFF, 0xFF, 0x65,
|
0x85,
|
||||||
|
0xEB,
|
||||||
|
0x11,
|
||||||
|
0x3F,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0xFF,
|
||||||
|
0x65,
|
||||||
}};
|
}};
|
||||||
|
|
||||||
hid_polling_callback_id =
|
hid_polling_callback_id =
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class Event;
|
class Event;
|
||||||
class SharedMemory;
|
class SharedMemory;
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
||||||
namespace CoreTiming {
|
namespace CoreTiming {
|
||||||
class EventType;
|
class EventType;
|
||||||
|
|
|
@ -251,7 +251,8 @@ void IR_USER::InitializeIrNopShared(Kernel::HLERequestContext& ctx) {
|
||||||
|
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_INFO(Service_IR, "called, shared_buff_size=%u, recv_buff_size=%u, "
|
LOG_INFO(Service_IR,
|
||||||
|
"called, shared_buff_size=%u, recv_buff_size=%u, "
|
||||||
"recv_buff_packet_count=%u, send_buff_size=%u, "
|
"recv_buff_packet_count=%u, send_buff_size=%u, "
|
||||||
"send_buff_packet_count=%u, baud_rate=%u",
|
"send_buff_packet_count=%u, baud_rate=%u",
|
||||||
shared_buff_size, recv_buff_size, recv_buff_packet_count, send_buff_size,
|
shared_buff_size, recv_buff_size, recv_buff_packet_count, send_buff_size,
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class Event;
|
class Event;
|
||||||
class SharedMemory;
|
class SharedMemory;
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
||||||
namespace CoreTiming {
|
namespace CoreTiming {
|
||||||
class EventType;
|
class EventType;
|
||||||
|
|
|
@ -25,18 +25,27 @@ const std::array<int, 17> CROHelper::ENTRY_SIZE{{
|
||||||
1, // code
|
1, // code
|
||||||
1, // data
|
1, // data
|
||||||
1, // module name
|
1, // module name
|
||||||
sizeof(SegmentEntry), sizeof(ExportNamedSymbolEntry), sizeof(ExportIndexedSymbolEntry),
|
sizeof(SegmentEntry),
|
||||||
|
sizeof(ExportNamedSymbolEntry),
|
||||||
|
sizeof(ExportIndexedSymbolEntry),
|
||||||
1, // export strings
|
1, // export strings
|
||||||
sizeof(ExportTreeEntry), sizeof(ImportModuleEntry), sizeof(ExternalRelocationEntry),
|
sizeof(ExportTreeEntry),
|
||||||
sizeof(ImportNamedSymbolEntry), sizeof(ImportIndexedSymbolEntry),
|
sizeof(ImportModuleEntry),
|
||||||
|
sizeof(ExternalRelocationEntry),
|
||||||
|
sizeof(ImportNamedSymbolEntry),
|
||||||
|
sizeof(ImportIndexedSymbolEntry),
|
||||||
sizeof(ImportAnonymousSymbolEntry),
|
sizeof(ImportAnonymousSymbolEntry),
|
||||||
1, // import strings
|
1, // import strings
|
||||||
sizeof(StaticAnonymousSymbolEntry), sizeof(InternalRelocationEntry),
|
sizeof(StaticAnonymousSymbolEntry),
|
||||||
|
sizeof(InternalRelocationEntry),
|
||||||
sizeof(StaticRelocationEntry),
|
sizeof(StaticRelocationEntry),
|
||||||
}};
|
}};
|
||||||
|
|
||||||
const std::array<CROHelper::HeaderField, 4> CROHelper::FIX_BARRIERS{{
|
const std::array<CROHelper::HeaderField, 4> CROHelper::FIX_BARRIERS{{
|
||||||
Fix0Barrier, Fix1Barrier, Fix2Barrier, Fix3Barrier,
|
Fix0Barrier,
|
||||||
|
Fix1Barrier,
|
||||||
|
Fix2Barrier,
|
||||||
|
Fix3Barrier,
|
||||||
}};
|
}};
|
||||||
|
|
||||||
VAddr CROHelper::SegmentTagToAddress(SegmentTag segment_tag) const {
|
VAddr CROHelper::SegmentTagToAddress(SegmentTag segment_tag) const {
|
||||||
|
@ -209,12 +218,24 @@ ResultCode CROHelper::RebaseHeader(u32 cro_size) {
|
||||||
|
|
||||||
// verifies that all offsets are in the correct order
|
// verifies that all offsets are in the correct order
|
||||||
constexpr std::array<HeaderField, 18> OFFSET_ORDER = {{
|
constexpr std::array<HeaderField, 18> OFFSET_ORDER = {{
|
||||||
CodeOffset, ModuleNameOffset, SegmentTableOffset, ExportNamedSymbolTableOffset,
|
CodeOffset,
|
||||||
ExportTreeTableOffset, ExportIndexedSymbolTableOffset, ExportStringsOffset,
|
ModuleNameOffset,
|
||||||
ImportModuleTableOffset, ExternalRelocationTableOffset, ImportNamedSymbolTableOffset,
|
SegmentTableOffset,
|
||||||
ImportIndexedSymbolTableOffset, ImportAnonymousSymbolTableOffset, ImportStringsOffset,
|
ExportNamedSymbolTableOffset,
|
||||||
StaticAnonymousSymbolTableOffset, InternalRelocationTableOffset,
|
ExportTreeTableOffset,
|
||||||
StaticRelocationTableOffset, DataOffset, FileSize,
|
ExportIndexedSymbolTableOffset,
|
||||||
|
ExportStringsOffset,
|
||||||
|
ImportModuleTableOffset,
|
||||||
|
ExternalRelocationTableOffset,
|
||||||
|
ImportNamedSymbolTableOffset,
|
||||||
|
ImportIndexedSymbolTableOffset,
|
||||||
|
ImportAnonymousSymbolTableOffset,
|
||||||
|
ImportStringsOffset,
|
||||||
|
StaticAnonymousSymbolTableOffset,
|
||||||
|
InternalRelocationTableOffset,
|
||||||
|
StaticRelocationTableOffset,
|
||||||
|
DataOffset,
|
||||||
|
FileSize,
|
||||||
}};
|
}};
|
||||||
|
|
||||||
u32 prev_offset = GetField(OFFSET_ORDER[0]);
|
u32 prev_offset = GetField(OFFSET_ORDER[0]);
|
||||||
|
|
|
@ -195,7 +195,8 @@ void RO::LoadCRO(Kernel::HLERequestContext& ctx, bool link_on_load_bug_fix) {
|
||||||
VAddr crr_address = rp.Pop<u32>();
|
VAddr crr_address = rp.Pop<u32>();
|
||||||
auto process = rp.PopObject<Kernel::Process>();
|
auto process = rp.PopObject<Kernel::Process>();
|
||||||
|
|
||||||
LOG_DEBUG(Service_LDR, "called (%s), cro_buffer_ptr=0x%08X, cro_address=0x%08X, cro_size=0x%X, "
|
LOG_DEBUG(Service_LDR,
|
||||||
|
"called (%s), cro_buffer_ptr=0x%08X, cro_address=0x%08X, cro_size=0x%X, "
|
||||||
"data_segment_address=0x%08X, zero=%d, data_segment_size=0x%X, "
|
"data_segment_address=0x%08X, zero=%d, data_segment_size=0x%X, "
|
||||||
"bss_segment_address=0x%08X, bss_segment_size=0x%X, auto_link=%s, "
|
"bss_segment_address=0x%08X, bss_segment_size=0x%X, auto_link=%s, "
|
||||||
"fix_level=%d, crr_address=0x%08X",
|
"fix_level=%d, crr_address=0x%08X",
|
||||||
|
|
|
@ -21,7 +21,10 @@ enum : u32 {
|
||||||
static DaemonMask daemon_bit_mask = DaemonMask::Default;
|
static DaemonMask daemon_bit_mask = DaemonMask::Default;
|
||||||
static DaemonMask default_daemon_bit_mask = DaemonMask::Default;
|
static DaemonMask default_daemon_bit_mask = DaemonMask::Default;
|
||||||
static std::array<DaemonStatus, 4> daemon_status = {
|
static std::array<DaemonStatus, 4> daemon_status = {
|
||||||
DaemonStatus::Idle, DaemonStatus::Idle, DaemonStatus::Idle, DaemonStatus::Idle,
|
DaemonStatus::Idle,
|
||||||
|
DaemonStatus::Idle,
|
||||||
|
DaemonStatus::Idle,
|
||||||
|
DaemonStatus::Idle,
|
||||||
};
|
};
|
||||||
static ExclusiveState exclusive_state = ExclusiveState::None;
|
static ExclusiveState exclusive_state = ExclusiveState::None;
|
||||||
static u32 scan_interval = DEFAULT_SCAN_INTERVAL;
|
static u32 scan_interval = DEFAULT_SCAN_INTERVAL;
|
||||||
|
|
|
@ -554,7 +554,8 @@ void NWM_UDS::RecvBeaconBroadcastData(Kernel::HLERequestContext& ctx) {
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
rb.PushMappedBuffer(out_buffer);
|
rb.PushMappedBuffer(out_buffer);
|
||||||
|
|
||||||
LOG_DEBUG(Service_NWM, "called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X,"
|
LOG_DEBUG(Service_NWM,
|
||||||
|
"called out_buffer_size=0x%08X, wlan_comm_id=0x%08X, id=0x%08X,"
|
||||||
"unk1=0x%08X, unk2=0x%08X, offset=%zu",
|
"unk1=0x%08X, unk2=0x%08X, offset=%zu",
|
||||||
out_buffer_size, wlan_comm_id, id, unk1, unk2, cur_buffer_size);
|
out_buffer_size, wlan_comm_id, id, unk1, unk2, cur_buffer_size);
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,7 +187,8 @@ static std::vector<u8> DecryptDataFrame(const std::vector<u8>& encrypted_payload
|
||||||
d.SpecifyDataLengths(aad.size(), encrypted_payload.size() - 8, 0);
|
d.SpecifyDataLengths(aad.size(), encrypted_payload.size() - 8, 0);
|
||||||
|
|
||||||
CryptoPP::AuthenticatedDecryptionFilter df(
|
CryptoPP::AuthenticatedDecryptionFilter df(
|
||||||
d, nullptr, CryptoPP::AuthenticatedDecryptionFilter::MAC_AT_END |
|
d, nullptr,
|
||||||
|
CryptoPP::AuthenticatedDecryptionFilter::MAC_AT_END |
|
||||||
CryptoPP::AuthenticatedDecryptionFilter::THROW_EXCEPTION);
|
CryptoPP::AuthenticatedDecryptionFilter::THROW_EXCEPTION);
|
||||||
// put aad
|
// put aad
|
||||||
df.ChannelPut(CryptoPP::AAD_CHANNEL, aad.data(), aad.size());
|
df.ChannelPut(CryptoPP::AAD_CHANNEL, aad.data(), aad.size());
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
namespace Kernel {
|
namespace Kernel {
|
||||||
class HLERequestContext;
|
class HLERequestContext;
|
||||||
class Semaphore;
|
class Semaphore;
|
||||||
}
|
} // namespace Kernel
|
||||||
|
|
||||||
namespace Service {
|
namespace Service {
|
||||||
namespace SM {
|
namespace SM {
|
||||||
|
|
|
@ -88,5 +88,5 @@ SSL_C::SSL_C() {
|
||||||
Register(FunctionTable);
|
Register(FunctionTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace SSL_C
|
} // namespace SSL
|
||||||
} // namespace Service
|
} // namespace Service
|
||||||
|
|
|
@ -230,7 +230,8 @@ void Y2R_U::SetSendingY(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
LOG_DEBUG(Service_Y2R,
|
||||||
|
"called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
||||||
"src_process_id=%u",
|
"src_process_id=%u",
|
||||||
conversion.src_Y.image_size, conversion.src_Y.transfer_unit, conversion.src_Y.gap,
|
conversion.src_Y.image_size, conversion.src_Y.transfer_unit, conversion.src_Y.gap,
|
||||||
process->process_id);
|
process->process_id);
|
||||||
|
@ -248,7 +249,8 @@ void Y2R_U::SetSendingU(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
LOG_DEBUG(Service_Y2R,
|
||||||
|
"called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
||||||
"src_process_id=%u",
|
"src_process_id=%u",
|
||||||
conversion.src_U.image_size, conversion.src_U.transfer_unit, conversion.src_U.gap,
|
conversion.src_U.image_size, conversion.src_U.transfer_unit, conversion.src_U.gap,
|
||||||
process->process_id);
|
process->process_id);
|
||||||
|
@ -267,7 +269,8 @@ void Y2R_U::SetSendingV(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
LOG_DEBUG(Service_Y2R,
|
||||||
|
"called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
||||||
"src_process_id=%u",
|
"src_process_id=%u",
|
||||||
conversion.src_V.image_size, conversion.src_V.transfer_unit, conversion.src_V.gap,
|
conversion.src_V.image_size, conversion.src_V.transfer_unit, conversion.src_V.gap,
|
||||||
process->process_id);
|
process->process_id);
|
||||||
|
@ -286,7 +289,8 @@ void Y2R_U::SetSendingYUYV(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
LOG_DEBUG(Service_Y2R,
|
||||||
|
"called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
||||||
"src_process_id=%u",
|
"src_process_id=%u",
|
||||||
conversion.src_YUYV.image_size, conversion.src_YUYV.transfer_unit,
|
conversion.src_YUYV.image_size, conversion.src_YUYV.transfer_unit,
|
||||||
conversion.src_YUYV.gap, process->process_id);
|
conversion.src_YUYV.gap, process->process_id);
|
||||||
|
@ -345,7 +349,8 @@ void Y2R_U::SetReceiving(Kernel::HLERequestContext& ctx) {
|
||||||
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
IPC::RequestBuilder rb = rp.MakeBuilder(1, 0);
|
||||||
rb.Push(RESULT_SUCCESS);
|
rb.Push(RESULT_SUCCESS);
|
||||||
|
|
||||||
LOG_DEBUG(Service_Y2R, "called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
LOG_DEBUG(Service_Y2R,
|
||||||
|
"called image_size=0x%08X, transfer_unit=%hu, transfer_stride=%hu, "
|
||||||
"dst_process_id=%u",
|
"dst_process_id=%u",
|
||||||
conversion.dst.image_size, conversion.dst.transfer_unit, conversion.dst.gap,
|
conversion.dst.image_size, conversion.dst.transfer_unit, conversion.dst.gap,
|
||||||
static_cast<u32>(dst_process->process_id));
|
static_cast<u32>(dst_process->process_id));
|
||||||
|
|
|
@ -13,5 +13,5 @@ AESKey Lrot128(const AESKey& in, u32 rot);
|
||||||
AESKey Add128(const AESKey& a, const AESKey& b);
|
AESKey Add128(const AESKey& a, const AESKey& b);
|
||||||
AESKey Xor128(const AESKey& a, const AESKey& b);
|
AESKey Xor128(const AESKey& a, const AESKey& b);
|
||||||
|
|
||||||
} // namspace AES
|
} // namespace AES
|
||||||
} // namespace HW
|
} // namespace HW
|
||||||
|
|
|
@ -19,10 +19,10 @@ namespace {
|
||||||
|
|
||||||
// 3DS uses a non-standard AES-CCM algorithm, so we need to derive a sub class from the standard one
|
// 3DS uses a non-standard AES-CCM algorithm, so we need to derive a sub class from the standard one
|
||||||
// and override with the non-standard part.
|
// and override with the non-standard part.
|
||||||
using CryptoPP::lword;
|
|
||||||
using CryptoPP::AES;
|
using CryptoPP::AES;
|
||||||
using CryptoPP::CCM_Final;
|
|
||||||
using CryptoPP::CCM_Base;
|
using CryptoPP::CCM_Base;
|
||||||
|
using CryptoPP::CCM_Final;
|
||||||
|
using CryptoPP::lword;
|
||||||
template <bool T_IsEncryption>
|
template <bool T_IsEncryption>
|
||||||
class CCM_3DSVariant_Final : public CCM_Final<AES, CCM_MAC_SIZE, T_IsEncryption> {
|
class CCM_3DSVariant_Final : public CCM_Final<AES, CCM_MAC_SIZE, T_IsEncryption> {
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -33,5 +33,5 @@ void SetNormalKey(size_t slot_id, const AESKey& key);
|
||||||
bool IsNormalKeyAvailable(size_t slot_id);
|
bool IsNormalKeyAvailable(size_t slot_id);
|
||||||
AESKey GetNormalKey(size_t slot_id);
|
AESKey GetNormalKey(size_t slot_id);
|
||||||
|
|
||||||
} // namspace AES
|
} // namespace AES
|
||||||
} // namespace HW
|
} // namespace HW
|
||||||
|
|
|
@ -439,7 +439,8 @@ inline void Write(u32 addr, const T data) {
|
||||||
|
|
||||||
if (config.is_texture_copy) {
|
if (config.is_texture_copy) {
|
||||||
TextureCopy(config);
|
TextureCopy(config);
|
||||||
LOG_TRACE(HW_GPU, "TextureCopy: 0x%X bytes from 0x%08X(%u+%u)-> "
|
LOG_TRACE(HW_GPU,
|
||||||
|
"TextureCopy: 0x%X bytes from 0x%08X(%u+%u)-> "
|
||||||
"0x%08X(%u+%u), flags 0x%08X",
|
"0x%08X(%u+%u), flags 0x%08X",
|
||||||
config.texture_copy.size, config.GetPhysicalInputAddress(),
|
config.texture_copy.size, config.GetPhysicalInputAddress(),
|
||||||
config.texture_copy.input_width * 16, config.texture_copy.input_gap * 16,
|
config.texture_copy.input_width * 16, config.texture_copy.input_gap * 16,
|
||||||
|
@ -447,7 +448,8 @@ inline void Write(u32 addr, const T data) {
|
||||||
config.texture_copy.output_gap * 16, config.flags);
|
config.texture_copy.output_gap * 16, config.flags);
|
||||||
} else {
|
} else {
|
||||||
DisplayTransfer(config);
|
DisplayTransfer(config);
|
||||||
LOG_TRACE(HW_GPU, "DisplayTransfer: 0x%08x(%ux%u)-> "
|
LOG_TRACE(HW_GPU,
|
||||||
|
"DisplayTransfer: 0x%08x(%ux%u)-> "
|
||||||
"0x%08x(%ux%u), dst format %x, flags 0x%08X",
|
"0x%08x(%ux%u), dst format %x, flags 0x%08X",
|
||||||
config.GetPhysicalInputAddress(), config.input_width.Value(),
|
config.GetPhysicalInputAddress(), config.input_width.Value(),
|
||||||
config.input_height.Value(), config.GetPhysicalOutputAddress(),
|
config.input_height.Value(), config.GetPhysicalOutputAddress(),
|
||||||
|
|
|
@ -331,4 +331,4 @@ void Init();
|
||||||
/// Shutdown hardware
|
/// Shutdown hardware
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
|
||||||
} // namespace
|
} // namespace GPU
|
||||||
|
|
|
@ -98,4 +98,4 @@ void Shutdown() {
|
||||||
LCD::Shutdown();
|
LCD::Shutdown();
|
||||||
LOG_DEBUG(HW, "shutdown OK");
|
LOG_DEBUG(HW, "shutdown OK");
|
||||||
}
|
}
|
||||||
}
|
} // namespace HW
|
||||||
|
|
|
@ -47,4 +47,4 @@ void Init();
|
||||||
/// Shutdown hardware
|
/// Shutdown hardware
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
|
||||||
} // namespace
|
} // namespace HW
|
||||||
|
|
|
@ -73,4 +73,4 @@ void Shutdown() {
|
||||||
LOG_DEBUG(HW_LCD, "shutdown OK");
|
LOG_DEBUG(HW_LCD, "shutdown OK");
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace LCD
|
||||||
|
|
|
@ -83,4 +83,4 @@ void Init();
|
||||||
/// Shutdown hardware
|
/// Shutdown hardware
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
|
||||||
} // namespace
|
} // namespace LCD
|
||||||
|
|
|
@ -378,5 +378,5 @@ void PerformConversion(ConversionConfiguration& cvt) {
|
||||||
cvt.output_format, (u8)cvt.alpha);
|
cvt.output_format, (u8)cvt.alpha);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
} // namespace Y2R
|
||||||
}
|
} // namespace HW
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue