Merge remote-tracking branch 'upstream/master' into fix-smashbros

This commit is contained in:
Reg Tiangha 2024-04-16 07:33:14 -06:00
commit a378014156
No known key found for this signature in database
GPG Key ID: 00D437798B1C2970
144 changed files with 1025 additions and 1023 deletions

View File

@ -7,7 +7,7 @@ if grep -nrI '\s$' src *.yml *.txt *.md Doxyfile .gitignore .gitmodules .ci* dis
fi
# Default clang-format points to default 3.5 version one
CLANG_FORMAT=clang-format-15
CLANG_FORMAT=clang-format-18
$CLANG_FORMAT --version
if [ "$GITHUB_EVENT_NAME" = "pull_request" ]; then

View File

@ -2,7 +2,7 @@
if [ "$TARGET" = "appimage" ]; then
# Compile the AppImage we distribute with Clang.
export EXTRA_CMAKE_FLAGS=(-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -DCMAKE_LINKER=/etc/bin/ld.lld)
export EXTRA_CMAKE_FLAGS=(-DCMAKE_LINKER=/etc/bin/ld.lld)
else
# For the linux-fresh verification target, verify compilation without PCH as well.
export EXTRA_CMAKE_FLAGS=(-DCITRA_USE_PRECOMPILED_HEADERS=OFF)
@ -13,6 +13,8 @@ cmake .. -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER=clang++-18 \
-DCMAKE_C_COMPILER=clang-18 \
"${EXTRA_CMAKE_FLAGS[@]}" \
-DENABLE_QT_TRANSLATION=ON \
-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON \

View File

@ -28,7 +28,7 @@ jobs:
matrix:
target: ["appimage", "fresh"]
container:
image: polarzincomfrio/lime-build-environments:linux-${{ matrix.target }}
image: opensauce04/lime3ds-build:latest
options: -u 1001
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache

View File

@ -10,7 +10,7 @@ jobs:
clang-format:
runs-on: ubuntu-latest
container:
image: polarzincomfrio/lime-build-environments:linux-fresh
image: opensauce04/lime3ds-build:latest
options: -u 1001
steps:
- uses: actions/checkout@v4

View File

@ -117,7 +117,7 @@ else()
if (NOT CMAKE_BUILD_TYPE STREQUAL Debug)
# _FORTIFY_SOURCE can't be used without optimizations.
add_compile_options(-Wp,-D_FORTIFY_SOURCE=2)
add_compile_options(-D_FORTIFY_SOURCE=2)
endif()
if (CITRA_WARNINGS_AS_ERRORS)

View File

@ -42,7 +42,9 @@ struct CaptureSession final {
#define MEMBER(type, name, func) \
struct type##Deleter { \
void operator()(type* ptr) { type##_##func(ptr); } \
void operator()(type* ptr) { \
type##_##func(ptr); \
} \
}; \
std::unique_ptr<type, type##Deleter> name

View File

@ -26,9 +26,9 @@ public:
void StopCapture() override;
void SetResolution(const Service::CAM::Resolution& resolution) override;
void SetFlip(Service::CAM::Flip flip) override;
void SetEffect(Service::CAM::Effect effect) override{};
void SetEffect(Service::CAM::Effect effect) override {};
void SetFormat(Service::CAM::OutputFormat format) override;
void SetFrameRate(Service::CAM::FrameRate frame_rate) override{};
void SetFrameRate(Service::CAM::FrameRate frame_rate) override {};
std::vector<u16> ReceiveFrame() override;
bool IsPreviewAvailable() override;

View File

@ -21,12 +21,12 @@ public:
Interface(SharedGlobalRef<jstring> path, const Service::CAM::Flip& flip);
~Interface();
void StartCapture() override;
void StopCapture() override{};
void StopCapture() override {};
void SetResolution(const Service::CAM::Resolution& resolution) override;
void SetFlip(Service::CAM::Flip flip) override;
void SetEffect(Service::CAM::Effect effect) override{};
void SetEffect(Service::CAM::Effect effect) override {};
void SetFormat(Service::CAM::OutputFormat format) override;
void SetFrameRate(Service::CAM::FrameRate frame_rate) override{};
void SetFrameRate(Service::CAM::FrameRate frame_rate) override {};
std::vector<u16> ReceiveFrame() override;
bool IsPreviewAvailable() override;

View File

@ -40,8 +40,8 @@ class SharedContext_Android : public Frontend::GraphicsContext {
public:
SharedContext_Android(EGLDisplay egl_display, EGLConfig egl_config,
EGLContext egl_share_context)
: egl_display{egl_display}, egl_surface{eglCreatePbufferSurface(egl_display, egl_config,
egl_empty_attribs.data())},
: egl_display{egl_display},
egl_surface{eglCreatePbufferSurface(egl_display, egl_config, egl_empty_attribs.data())},
egl_context{eglCreateContext(egl_display, egl_config, egl_share_context,
egl_context_attribs.data())} {
ASSERT_MSG(egl_surface, "eglCreatePbufferSurface() failed!");

View File

@ -215,8 +215,8 @@ Joystick::~Joystick() {
}
ButtonFactory::ButtonFactory()
: button_list{std::make_shared<ButtonList>()}, analog_button_list{
std::make_shared<AnalogButtonList>()} {}
: button_list{std::make_shared<ButtonList>()},
analog_button_list{std::make_shared<AnalogButtonList>()} {}
std::unique_ptr<Input::ButtonDevice> ButtonFactory::Create(const Common::ParamPackage& params) {
if (params.Has("axis")) {

View File

@ -98,11 +98,11 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& dsp_state;
ar& pipe_data;
ar& dsp_memory.raw_memory;
ar& sources;
ar& mixers;
ar & dsp_state;
ar & pipe_data;
ar & dsp_memory.raw_memory;
ar & sources;
ar & mixers;
// interrupt_handler is reregistered when loading state from DSP_DSP
}
friend class boost::serialization::access;

View File

@ -57,11 +57,11 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& current_frame;
ar& state.intermediate_mixer_volume;
ar& state.aux_bus_enable;
ar& state.intermediate_mix_buffer;
ar& state.output_format;
ar & current_frame;
ar & state.intermediate_mixer_volume;
ar & state.aux_bus_enable;
ar & state.intermediate_mix_buffer;
ar & state.output_format;
}
friend class boost::serialization::access;
};

View File

@ -60,7 +60,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& storage;
ar & storage;
}
friend class boost::serialization::access;
};

View File

@ -93,18 +93,18 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& physical_address;
ar& length;
ar& adpcm_ps;
ar& adpcm_yn;
ar& adpcm_dirty;
ar& is_looping;
ar& buffer_id;
ar& mono_or_stereo;
ar& format;
ar& from_queue;
ar& play_position;
ar& has_played;
ar & physical_address;
ar & length;
ar & adpcm_ps;
ar & adpcm_yn;
ar & adpcm_dirty;
ar & is_looping;
ar & buffer_id;
ar & mono_or_stereo;
ar & format;
ar & from_queue;
ar & play_position;
ar & has_played;
}
friend class boost::serialization::access;
};
@ -163,20 +163,20 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& enabled;
ar& sync_count;
ar& gain;
ar& input_queue;
ar& mono_or_stereo;
ar& format;
ar& current_sample_number;
ar& current_buffer_physical_address;
ar& current_buffer;
ar& buffer_update;
ar& current_buffer_id;
ar& adpcm_coeffs;
ar& rate_multiplier;
ar& interpolation_mode;
ar & enabled;
ar & sync_count;
ar & gain;
ar & input_queue;
ar & mono_or_stereo;
ar & format;
ar & current_sample_number;
ar & current_buffer_physical_address;
ar & current_buffer;
ar & buffer_update;
ar & current_buffer_id;
ar & adpcm_coeffs;
ar & rate_multiplier;
ar & interpolation_mode;
}
friend class boost::serialization::access;
@ -196,7 +196,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& state;
ar & state;
}
friend class boost::serialization::access;
};

View File

@ -599,14 +599,14 @@ public:
template <typename G = E, std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
constexpr explicit Expected(Unexpected<G>&& e) noexcept(std::is_nothrow_constructible_v<E, G&&>)
: impl_base{unexpect_t{}, std::move(e.value())}, ctor_base{
detail::default_constructor_tag{}} {}
: impl_base{unexpect_t{}, std::move(e.value())},
ctor_base{detail::default_constructor_tag{}} {}
template <typename G = E, std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
constexpr Expected(Unexpected<G>&& e) noexcept(std::is_nothrow_constructible_v<E, G&&>)
: impl_base{unexpect_t{}, std::move(e.value())}, ctor_base{
detail::default_constructor_tag{}} {}
: impl_base{unexpect_t{}, std::move(e.value())},
ctor_base{detail::default_constructor_tag{}} {}
template <typename... Args, std::enable_if_t<std::is_constructible_v<E, Args&&...>>* = nullptr>
constexpr explicit Expected(unexpect_t, Args&&... args)

View File

@ -83,7 +83,7 @@
#include <sys/stat.h>
#ifndef S_ISDIR
#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR)
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
// This namespace has various generic functions related to files and paths.

View File

@ -81,11 +81,11 @@ struct FSTEntry {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& isDirectory;
ar& size;
ar & isDirectory;
ar & size;
ar& Path::make(physicalName);
ar& Path::make(virtualName);
ar& children;
ar & children;
}
friend class boost::serialization::access;
};
@ -395,13 +395,13 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& Path::make(filename);
ar& openmode;
ar& flags;
ar & openmode;
ar & flags;
u64 pos;
if (Archive::is_saving::value) {
pos = Tell();
}
ar& pos;
ar & pos;
if (Archive::is_loading::value) {
Open();
Seek(pos, SEEK_SET);

View File

@ -59,7 +59,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<BackingMem>(*this);
ar& data;
ar & data;
}
friend class boost::serialization::access;
};
@ -151,8 +151,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& backing_mem;
ar& offset;
ar & backing_mem;
ar & offset;
Init();
}
friend class boost::serialization::access;

View File

@ -204,8 +204,8 @@ public:
explicit Setting(const Type& default_val, const Type& min_val, const Type& max_val,
const std::string& name)
requires(ranged)
: value{default_val},
default_value{default_val}, maximum{max_val}, minimum{min_val}, label{name} {}
: value{default_val}, default_value{default_val}, maximum{max_val}, minimum{min_val},
label{name} {}
/**
* Returns a reference to the setting's value.
@ -449,7 +449,7 @@ struct Values {
Setting<bool> allow_plugin_loader{true, "allow_plugin_loader"};
// Renderer
SwitchableSetting<GraphicsAPI, true> graphics_api {
SwitchableSetting<GraphicsAPI, true> graphics_api{
#if defined(ENABLE_OPENGL)
GraphicsAPI::OpenGL,
#elif defined(ENABLE_VULKAN)
@ -460,8 +460,7 @@ struct Values {
// TODO: Add a null renderer backend for this, perhaps.
#error "At least one renderer must be enabled."
#endif
GraphicsAPI::Software, GraphicsAPI::Vulkan, "graphics_api"
};
GraphicsAPI::Software, GraphicsAPI::Vulkan, "graphics_api"};
SwitchableSetting<u32> physical_device{0, "physical_device"};
Setting<bool> use_gles{false, "use_gles"};
Setting<bool> renderer_debug{false, "renderer_debug"};

View File

@ -49,8 +49,8 @@ class Vec2 {
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& x;
ar& y;
ar & x;
ar & y;
}
public:
@ -217,9 +217,9 @@ class Vec3 {
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& x;
ar& y;
ar& z;
ar & x;
ar & y;
ar & z;
}
public:
@ -396,7 +396,9 @@ public:
// _DEFINE_SWIZZLER2 defines a single such function, DEFINE_SWIZZLER2 defines all of them for all
// component names (x<->r) and permutations (xy<->yx)
#define _DEFINE_SWIZZLER2(a, b, name) \
[[nodiscard]] constexpr Vec2<T> name() const { return Vec2<T>(a, b); }
[[nodiscard]] constexpr Vec2<T> name() const { \
return Vec2<T>(a, b); \
}
#define DEFINE_SWIZZLER2(a, b, a2, b2, a3, b3, a4, b4) \
_DEFINE_SWIZZLER2(a, b, a##b); \
_DEFINE_SWIZZLER2(a, b, a2##b2); \
@ -445,10 +447,10 @@ class Vec4 {
friend class boost::serialization::access;
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& x;
ar& y;
ar& z;
ar& w;
ar & x;
ar & y;
ar & z;
ar & w;
}
public:
@ -596,7 +598,9 @@ public:
// DEFINE_SWIZZLER2_COMP2 defines two component functions for all component names (x<->r) and
// permutations (xy<->yx)
#define _DEFINE_SWIZZLER2(a, b, name) \
[[nodiscard]] constexpr Vec2<T> name() const { return Vec2<T>(a, b); }
[[nodiscard]] constexpr Vec2<T> name() const { \
return Vec2<T>(a, b); \
}
#define DEFINE_SWIZZLER2_COMP1(a, a2) \
_DEFINE_SWIZZLER2(a, a, a##a); \
_DEFINE_SWIZZLER2(a, a, a2##a2)
@ -621,7 +625,9 @@ public:
#undef _DEFINE_SWIZZLER2
#define _DEFINE_SWIZZLER3(a, b, c, name) \
[[nodiscard]] constexpr Vec3<T> name() const { return Vec3<T>(a, b, c); }
[[nodiscard]] constexpr Vec3<T> name() const { \
return Vec3<T>(a, b, c); \
}
#define DEFINE_SWIZZLER3_COMP1(a, a2) \
_DEFINE_SWIZZLER3(a, a, a, a##a##a); \
_DEFINE_SWIZZLER3(a, a, a, a2##a2##a2)

View File

@ -61,11 +61,11 @@ public:
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& cpu_registers;
ar& fpu_registers;
ar& cpsr;
ar& fpscr;
ar& fpexc;
ar & cpu_registers;
ar & fpu_registers;
ar & cpsr;
ar & fpscr;
ar & fpexc;
}
};

View File

@ -30,7 +30,7 @@ public:
void ClearInstructionCache() override;
void InvalidateCacheRange(u32 start_address, std::size_t length) override;
void ClearExclusiveState() override{};
void ClearExclusiveState() override {};
void SetPC(u32 pc) override;
u32 GetPC() const override;

View File

@ -1627,7 +1627,7 @@ unsigned InterpreterMainLoop(ARMul_State* cpu) {
std::size_t ptr;
LOAD_NZCVT;
DISPATCH : {
DISPATCH: {
if (!cpu->NirqSig) {
if (!(cpu->Cpsr & 0x80)) {
goto END;
@ -1662,7 +1662,7 @@ DISPATCH : {
inst_base = (arm_inst*)&trans_cache_buf[ptr];
GOTO_NEXT_INST;
}
ADC_INST : {
ADC_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
adc_inst* const inst_cream = (adc_inst*)inst_base->component;
@ -1696,7 +1696,7 @@ ADC_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
ADD_INST : {
ADD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
add_inst* const inst_cream = (add_inst*)inst_base->component;
@ -1728,7 +1728,7 @@ ADD_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
AND_INST : {
AND_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
and_inst* const inst_cream = (and_inst*)inst_base->component;
@ -1761,7 +1761,7 @@ AND_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
BBL_INST : {
BBL_INST: {
if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) {
bbl_inst* inst_cream = (bbl_inst*)inst_base->component;
if (inst_cream->L) {
@ -1775,7 +1775,7 @@ BBL_INST : {
INC_PC(sizeof(bbl_inst));
goto DISPATCH;
}
BIC_INST : {
BIC_INST: {
bic_inst* inst_cream = (bic_inst*)inst_base->component;
if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) {
u32 lop = RN;
@ -1805,7 +1805,7 @@ BIC_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
BKPT_INST : {
BKPT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
bkpt_inst* const inst_cream = (bkpt_inst*)inst_base->component;
LOG_DEBUG(Core_ARM11, "Breakpoint instruction hit. Immediate: {:#010X}", inst_cream->imm);
@ -1815,7 +1815,7 @@ BKPT_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
BLX_INST : {
BLX_INST: {
blx_inst* inst_cream = (blx_inst*)inst_base->component;
if ((inst_base->cond == ConditionCode::AL) || CondPassed(cpu, inst_base->cond)) {
unsigned int inst = inst_cream->inst;
@ -1843,7 +1843,7 @@ BLX_INST : {
}
BX_INST:
BXJ_INST : {
BXJ_INST: {
// Note that only the 'fail' case of BXJ is emulated. This is because
// the facilities for Jazelle emulation are not implemented.
//
@ -1871,7 +1871,7 @@ BXJ_INST : {
goto DISPATCH;
}
CDP_INST : {
CDP_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
// Undefined instruction here
cpu->NumInstrsToExecute = 0;
@ -1883,14 +1883,14 @@ CDP_INST : {
GOTO_NEXT_INST;
}
CLREX_INST : {
CLREX_INST: {
cpu->UnsetExclusiveMemoryAddress();
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC(sizeof(clrex_inst));
FETCH_INST;
GOTO_NEXT_INST;
}
CLZ_INST : {
CLZ_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
clz_inst* inst_cream = (clz_inst*)inst_base->component;
RD = clz(RM);
@ -1900,7 +1900,7 @@ CLZ_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
CMN_INST : {
CMN_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
cmn_inst* const inst_cream = (cmn_inst*)inst_base->component;
@ -1922,7 +1922,7 @@ CMN_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
CMP_INST : {
CMP_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
cmp_inst* const inst_cream = (cmp_inst*)inst_base->component;
@ -1944,7 +1944,7 @@ CMP_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
CPS_INST : {
CPS_INST: {
cps_inst* inst_cream = (cps_inst*)inst_base->component;
u32 aif_val = 0;
u32 aif_mask = 0;
@ -1975,7 +1975,7 @@ CPS_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
CPY_INST : {
CPY_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mov_inst* inst_cream = (mov_inst*)inst_base->component;
@ -1990,7 +1990,7 @@ CPY_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
EOR_INST : {
EOR_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
eor_inst* inst_cream = (eor_inst*)inst_base->component;
@ -2021,7 +2021,7 @@ EOR_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDC_INST : {
LDC_INST: {
// Instruction not implemented
// LOG_CRITICAL(Core_ARM11, "unimplemented instruction");
cpu->Reg[15] += cpu->GetInstructionSize();
@ -2029,7 +2029,7 @@ LDC_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDM_INST : {
LDM_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2100,7 +2100,7 @@ LDM_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SXTH_INST : {
SXTH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sxth_inst* inst_cream = (sxth_inst*)inst_base->component;
@ -2117,7 +2117,7 @@ SXTH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDR_INST : {
LDR_INST: {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2137,7 +2137,7 @@ LDR_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRCOND_INST : {
LDRCOND_INST: {
if (CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2158,7 +2158,7 @@ LDRCOND_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UXTH_INST : {
UXTH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
uxth_inst* inst_cream = (uxth_inst*)inst_base->component;
RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff;
@ -2168,7 +2168,7 @@ UXTH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UXTAH_INST : {
UXTAH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
uxtah_inst* inst_cream = (uxtah_inst*)inst_base->component;
unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xffff;
@ -2180,7 +2180,7 @@ UXTAH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRB_INST : {
LDRB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2192,7 +2192,7 @@ LDRB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRBT_INST : {
LDRBT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2211,7 +2211,7 @@ LDRBT_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRD_INST : {
LDRD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
// Should check if RD is even-numbered, Rd != 14, addr[0:1] == 0, (CP15_reg1_U == 1 ||
@ -2231,7 +2231,7 @@ LDRD_INST : {
GOTO_NEXT_INST;
}
LDREX_INST : {
LDREX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int read_addr = RN;
@ -2245,7 +2245,7 @@ LDREX_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDREXB_INST : {
LDREXB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int read_addr = RN;
@ -2259,7 +2259,7 @@ LDREXB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDREXH_INST : {
LDREXH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int read_addr = RN;
@ -2273,7 +2273,7 @@ LDREXH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDREXD_INST : {
LDREXD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int read_addr = RN;
@ -2288,7 +2288,7 @@ LDREXD_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRH_INST : {
LDRH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2300,7 +2300,7 @@ LDRH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRSB_INST : {
LDRSB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2315,7 +2315,7 @@ LDRSB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRSH_INST : {
LDRSH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2331,7 +2331,7 @@ LDRSH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
LDRT_INST : {
LDRT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -2350,7 +2350,7 @@ LDRT_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MCR_INST : {
MCR_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mcr_inst* inst_cream = (mcr_inst*)inst_base->component;
@ -2368,7 +2368,7 @@ MCR_INST : {
GOTO_NEXT_INST;
}
MCRR_INST : {
MCRR_INST: {
// Stubbed, as the MPCore doesn't have any registers that are accessible
// through this instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
@ -2385,7 +2385,7 @@ MCRR_INST : {
GOTO_NEXT_INST;
}
MLA_INST : {
MLA_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mla_inst* inst_cream = (mla_inst*)inst_base->component;
@ -2404,7 +2404,7 @@ MLA_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MOV_INST : {
MOV_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mov_inst* inst_cream = (mov_inst*)inst_base->component;
@ -2430,7 +2430,7 @@ MOV_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MRC_INST : {
MRC_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mrc_inst* inst_cream = (mrc_inst*)inst_base->component;
@ -2451,7 +2451,7 @@ MRC_INST : {
GOTO_NEXT_INST;
}
MRRC_INST : {
MRRC_INST: {
// Stubbed, as the MPCore doesn't have any registers that are accessible
// through this instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
@ -2468,7 +2468,7 @@ MRRC_INST : {
GOTO_NEXT_INST;
}
MRS_INST : {
MRS_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mrs_inst* inst_cream = (mrs_inst*)inst_base->component;
@ -2484,7 +2484,7 @@ MRS_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MSR_INST : {
MSR_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
msr_inst* inst_cream = (msr_inst*)inst_base->component;
const u32 UserMask = 0xf80f0200, PrivMask = 0x000001df, StateMask = 0x01000020;
@ -2527,7 +2527,7 @@ MSR_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MUL_INST : {
MUL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mul_inst* inst_cream = (mul_inst*)inst_base->component;
@ -2544,7 +2544,7 @@ MUL_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
MVN_INST : {
MVN_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
mvn_inst* const inst_cream = (mvn_inst*)inst_base->component;
@ -2571,7 +2571,7 @@ MVN_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
ORR_INST : {
ORR_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
orr_inst* const inst_cream = (orr_inst*)inst_base->component;
@ -2605,14 +2605,14 @@ ORR_INST : {
GOTO_NEXT_INST;
}
NOP_INST : {
NOP_INST: {
cpu->Reg[15] += cpu->GetInstructionSize();
INC_PC_STUB;
FETCH_INST;
GOTO_NEXT_INST;
}
PKHBT_INST : {
PKHBT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
pkh_inst* inst_cream = (pkh_inst*)inst_base->component;
RD = (RN & 0xFFFF) | ((RM << inst_cream->imm) & 0xFFFF0000);
@ -2623,7 +2623,7 @@ PKHBT_INST : {
GOTO_NEXT_INST;
}
PKHTB_INST : {
PKHTB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
pkh_inst* inst_cream = (pkh_inst*)inst_base->component;
int shift_imm = inst_cream->imm ? inst_cream->imm : 31;
@ -2635,7 +2635,7 @@ PKHTB_INST : {
GOTO_NEXT_INST;
}
PLD_INST : {
PLD_INST: {
// Not implemented. PLD is a hint instruction, so it's optional.
cpu->Reg[15] += cpu->GetInstructionSize();
@ -2647,7 +2647,7 @@ PLD_INST : {
QADD_INST:
QDADD_INST:
QDSUB_INST:
QSUB_INST : {
QSUB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
const u8 op1 = inst_cream->op1;
@ -2721,7 +2721,7 @@ QADD16_INST:
QADDSUBX_INST:
QSUB8_INST:
QSUB16_INST:
QSUBADDX_INST : {
QSUBADDX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
const u16 rm_lo = (RM & 0xFFFF);
@ -2779,7 +2779,7 @@ QSUBADDX_INST : {
REV_INST:
REV16_INST:
REVSH_INST : {
REVSH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
rev_inst* const inst_cream = (rev_inst*)inst_base->component;
@ -2811,7 +2811,7 @@ REVSH_INST : {
GOTO_NEXT_INST;
}
RFE_INST : {
RFE_INST: {
// RFE is unconditional
ldst_inst* const inst_cream = (ldst_inst*)inst_base->component;
@ -2825,7 +2825,7 @@ RFE_INST : {
goto DISPATCH;
}
RSB_INST : {
RSB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
rsb_inst* const inst_cream = (rsb_inst*)inst_base->component;
@ -2859,7 +2859,7 @@ RSB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
RSC_INST : {
RSC_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
rsc_inst* const inst_cream = (rsc_inst*)inst_base->component;
@ -2899,7 +2899,7 @@ SSUB8_INST:
SADD16_INST:
SADDSUBX_INST:
SSUBADDX_INST:
SSUB16_INST : {
SSUB16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
const u8 op2 = inst_cream->op2;
@ -3001,7 +3001,7 @@ SSUB16_INST : {
GOTO_NEXT_INST;
}
SBC_INST : {
SBC_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sbc_inst* const inst_cream = (sbc_inst*)inst_base->component;
@ -3036,7 +3036,7 @@ SBC_INST : {
GOTO_NEXT_INST;
}
SEL_INST : {
SEL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
@ -3074,7 +3074,7 @@ SEL_INST : {
GOTO_NEXT_INST;
}
SETEND_INST : {
SETEND_INST: {
// SETEND is unconditional
setend_inst* const inst_cream = (setend_inst*)inst_base->component;
const bool big_endian = (inst_cream->set_bigend == 1);
@ -3092,7 +3092,7 @@ SETEND_INST : {
GOTO_NEXT_INST;
}
SEV_INST : {
SEV_INST: {
// Stubbed, as SEV is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
LOG_TRACE(Core_ARM11, "SEV executed.");
@ -3109,7 +3109,7 @@ SHADD16_INST:
SHADDSUBX_INST:
SHSUB8_INST:
SHSUB16_INST:
SHSUBADDX_INST : {
SHSUBADDX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
@ -3175,7 +3175,7 @@ SHSUBADDX_INST : {
GOTO_NEXT_INST;
}
SMLA_INST : {
SMLA_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smla_inst* inst_cream = (smla_inst*)inst_base->component;
s32 operand1, operand2;
@ -3204,7 +3204,7 @@ SMLA_INST : {
SMLAD_INST:
SMLSD_INST:
SMUAD_INST:
SMUSD_INST : {
SMUSD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlad_inst* const inst_cream = (smlad_inst*)inst_base->component;
const u8 op2 = inst_cream->op2;
@ -3260,7 +3260,7 @@ SMUSD_INST : {
GOTO_NEXT_INST;
}
SMLAL_INST : {
SMLAL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
umlal_inst* inst_cream = (umlal_inst*)inst_base->component;
long long int rm = RM;
@ -3288,7 +3288,7 @@ SMLAL_INST : {
GOTO_NEXT_INST;
}
SMLALXY_INST : {
SMLALXY_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlalxy_inst* const inst_cream = (smlalxy_inst*)inst_base->component;
@ -3317,7 +3317,7 @@ SMLALXY_INST : {
GOTO_NEXT_INST;
}
SMLAW_INST : {
SMLAW_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlad_inst* const inst_cream = (smlad_inst*)inst_base->component;
@ -3342,7 +3342,7 @@ SMLAW_INST : {
}
SMLALD_INST:
SMLSLD_INST : {
SMLSLD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlald_inst* const inst_cream = (smlald_inst*)inst_base->component;
@ -3380,7 +3380,7 @@ SMLSLD_INST : {
SMMLA_INST:
SMMLS_INST:
SMMUL_INST : {
SMMUL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlad_inst* const inst_cream = (smlad_inst*)inst_base->component;
@ -3413,7 +3413,7 @@ SMMUL_INST : {
GOTO_NEXT_INST;
}
SMUL_INST : {
SMUL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smul_inst* inst_cream = (smul_inst*)inst_base->component;
u32 operand1, operand2;
@ -3433,7 +3433,7 @@ SMUL_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SMULL_INST : {
SMULL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
umull_inst* inst_cream = (umull_inst*)inst_base->component;
s64 rm = RM;
@ -3459,7 +3459,7 @@ SMULL_INST : {
GOTO_NEXT_INST;
}
SMULW_INST : {
SMULW_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
smlad_inst* const inst_cream = (smlad_inst*)inst_base->component;
@ -3474,7 +3474,7 @@ SMULW_INST : {
GOTO_NEXT_INST;
}
SRS_INST : {
SRS_INST: {
// SRS is unconditional
ldst_inst* const inst_cream = (ldst_inst*)inst_base->component;
@ -3490,7 +3490,7 @@ SRS_INST : {
GOTO_NEXT_INST;
}
SSAT_INST : {
SSAT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ssat_inst* const inst_cream = (ssat_inst*)inst_base->component;
@ -3522,7 +3522,7 @@ SSAT_INST : {
GOTO_NEXT_INST;
}
SSAT16_INST : {
SSAT16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ssat_inst* const inst_cream = (ssat_inst*)inst_base->component;
const u8 saturate_to = inst_cream->sat_imm;
@ -3543,7 +3543,7 @@ SSAT16_INST : {
GOTO_NEXT_INST;
}
STC_INST : {
STC_INST: {
// Instruction not implemented
// LOG_CRITICAL(Core_ARM11, "unimplemented instruction");
cpu->Reg[15] += cpu->GetInstructionSize();
@ -3551,7 +3551,7 @@ STC_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STM_INST : {
STM_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
unsigned int inst = inst_cream->inst;
@ -3609,7 +3609,7 @@ STM_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SXTB_INST : {
SXTB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sxtb_inst* inst_cream = (sxtb_inst*)inst_base->component;
@ -3626,7 +3626,7 @@ SXTB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STR_INST : {
STR_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3644,7 +3644,7 @@ STR_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UXTB_INST : {
UXTB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
uxtb_inst* inst_cream = (uxtb_inst*)inst_base->component;
RD = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate) & 0xff;
@ -3654,7 +3654,7 @@ UXTB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UXTAB_INST : {
UXTAB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
uxtab_inst* inst_cream = (uxtab_inst*)inst_base->component;
@ -3666,7 +3666,7 @@ UXTAB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STRB_INST : {
STRB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3678,7 +3678,7 @@ STRB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STRBT_INST : {
STRBT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3695,7 +3695,7 @@ STRBT_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STRD_INST : {
STRD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3710,7 +3710,7 @@ STRD_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STREX_INST : {
STREX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int write_addr = cpu->Reg[inst_cream->Rn];
@ -3729,7 +3729,7 @@ STREX_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STREXB_INST : {
STREXB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int write_addr = cpu->Reg[inst_cream->Rn];
@ -3748,7 +3748,7 @@ STREXB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STREXD_INST : {
STREXD_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int write_addr = cpu->Reg[inst_cream->Rn];
@ -3777,7 +3777,7 @@ STREXD_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STREXH_INST : {
STREXH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
unsigned int write_addr = cpu->Reg[inst_cream->Rn];
@ -3796,7 +3796,7 @@ STREXH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STRH_INST : {
STRH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3809,7 +3809,7 @@ STRH_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
STRT_INST : {
STRT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ldst_inst* inst_cream = (ldst_inst*)inst_base->component;
inst_cream->get_addr(cpu, inst_cream->inst, addr);
@ -3830,7 +3830,7 @@ STRT_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SUB_INST : {
SUB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sub_inst* const inst_cream = (sub_inst*)inst_base->component;
@ -3862,7 +3862,7 @@ SUB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SWI_INST : {
SWI_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
swi_inst* const inst_cream = (swi_inst*)inst_base->component;
cpu->system.GetRunningCore().GetTimer().AddTicks(num_instrs);
@ -3879,7 +3879,7 @@ SWI_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SWP_INST : {
SWP_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
swp_inst* inst_cream = (swp_inst*)inst_base->component;
@ -3894,7 +3894,7 @@ SWP_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SWPB_INST : {
SWPB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
swp_inst* inst_cream = (swp_inst*)inst_base->component;
addr = RN;
@ -3907,7 +3907,7 @@ SWPB_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
SXTAB_INST : {
SXTAB_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sxtab_inst* inst_cream = (sxtab_inst*)inst_base->component;
@ -3924,7 +3924,7 @@ SXTAB_INST : {
}
SXTAB16_INST:
SXTB16_INST : {
SXTB16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sxtab_inst* const inst_cream = (sxtab_inst*)inst_base->component;
@ -3955,7 +3955,7 @@ SXTB16_INST : {
GOTO_NEXT_INST;
}
SXTAH_INST : {
SXTAH_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
sxtah_inst* inst_cream = (sxtah_inst*)inst_base->component;
@ -3970,7 +3970,7 @@ SXTAH_INST : {
GOTO_NEXT_INST;
}
TEQ_INST : {
TEQ_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
teq_inst* const inst_cream = (teq_inst*)inst_base->component;
@ -3991,7 +3991,7 @@ TEQ_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
TST_INST : {
TST_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
tst_inst* const inst_cream = (tst_inst*)inst_base->component;
@ -4018,7 +4018,7 @@ UADD16_INST:
UADDSUBX_INST:
USUB8_INST:
USUB16_INST:
USUBADDX_INST : {
USUBADDX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
@ -4188,7 +4188,7 @@ UHADD16_INST:
UHADDSUBX_INST:
UHSUBADDX_INST:
UHSUB8_INST:
UHSUB16_INST : {
UHSUB16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
const u32 rm_val = RM;
@ -4261,7 +4261,7 @@ UHSUB16_INST : {
GOTO_NEXT_INST;
}
UMAAL_INST : {
UMAAL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
umaal_inst* const inst_cream = (umaal_inst*)inst_base->component;
const u64 rm = RM;
@ -4278,7 +4278,7 @@ UMAAL_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UMLAL_INST : {
UMLAL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
umlal_inst* inst_cream = (umlal_inst*)inst_base->component;
unsigned long long int rm = RM;
@ -4300,7 +4300,7 @@ UMLAL_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
UMULL_INST : {
UMULL_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
umull_inst* inst_cream = (umull_inst*)inst_base->component;
unsigned long long int rm = RM;
@ -4319,13 +4319,13 @@ UMULL_INST : {
FETCH_INST;
GOTO_NEXT_INST;
}
B_2_THUMB : {
B_2_THUMB: {
b_2_thumb* inst_cream = (b_2_thumb*)inst_base->component;
cpu->Reg[15] = cpu->Reg[15] + 4 + inst_cream->imm;
INC_PC(sizeof(b_2_thumb));
goto DISPATCH;
}
B_COND_THUMB : {
B_COND_THUMB: {
b_cond_thumb* inst_cream = (b_cond_thumb*)inst_base->component;
if (CondPassed(cpu, inst_cream->cond))
@ -4336,7 +4336,7 @@ B_COND_THUMB : {
INC_PC(sizeof(b_cond_thumb));
goto DISPATCH;
}
BL_1_THUMB : {
BL_1_THUMB: {
bl_1_thumb* inst_cream = (bl_1_thumb*)inst_base->component;
cpu->Reg[14] = cpu->Reg[15] + 4 + inst_cream->imm;
cpu->Reg[15] += cpu->GetInstructionSize();
@ -4344,7 +4344,7 @@ BL_1_THUMB : {
FETCH_INST;
GOTO_NEXT_INST;
}
BL_2_THUMB : {
BL_2_THUMB: {
bl_2_thumb* inst_cream = (bl_2_thumb*)inst_base->component;
int tmp = ((cpu->Reg[15] + 2) | 1);
cpu->Reg[15] = (cpu->Reg[14] + inst_cream->imm);
@ -4352,7 +4352,7 @@ BL_2_THUMB : {
INC_PC(sizeof(bl_2_thumb));
goto DISPATCH;
}
BLX_1_THUMB : {
BLX_1_THUMB: {
// BLX 1 for armv5t and above
u32 tmp = cpu->Reg[15];
blx_1_thumb* inst_cream = (blx_1_thumb*)inst_base->component;
@ -4368,7 +4368,7 @@ UQADD16_INST:
UQADDSUBX_INST:
UQSUB8_INST:
UQSUB16_INST:
UQSUBADDX_INST : {
UQSUBADDX_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* const inst_cream = (generic_arm_inst*)inst_base->component;
@ -4424,7 +4424,7 @@ UQSUBADDX_INST : {
}
USAD8_INST:
USADA8_INST : {
USADA8_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
generic_arm_inst* inst_cream = (generic_arm_inst*)inst_base->component;
@ -4455,7 +4455,7 @@ USADA8_INST : {
GOTO_NEXT_INST;
}
USAT_INST : {
USAT_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ssat_inst* const inst_cream = (ssat_inst*)inst_base->component;
@ -4487,7 +4487,7 @@ USAT_INST : {
GOTO_NEXT_INST;
}
USAT16_INST : {
USAT16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
ssat_inst* const inst_cream = (ssat_inst*)inst_base->component;
const u8 saturate_to = inst_cream->sat_imm;
@ -4509,7 +4509,7 @@ USAT16_INST : {
}
UXTAB16_INST:
UXTB16_INST : {
UXTB16_INST: {
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
uxtab_inst* const inst_cream = (uxtab_inst*)inst_base->component;
@ -4538,7 +4538,7 @@ UXTB16_INST : {
GOTO_NEXT_INST;
}
WFE_INST : {
WFE_INST: {
// Stubbed, as WFE is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
LOG_TRACE(Core_ARM11, "WFE executed.");
@ -4550,7 +4550,7 @@ WFE_INST : {
GOTO_NEXT_INST;
}
WFI_INST : {
WFI_INST: {
// Stubbed, as WFI is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
LOG_TRACE(Core_ARM11, "WFI executed.");
@ -4562,7 +4562,7 @@ WFI_INST : {
GOTO_NEXT_INST;
}
YIELD_INST : {
YIELD_INST: {
// Stubbed, as YIELD is a hint instruction.
if (inst_base->cond == ConditionCode::AL || CondPassed(cpu, inst_base->cond)) {
LOG_TRACE(Core_ARM11, "YIELD executed.");
@ -4578,12 +4578,12 @@ YIELD_INST : {
#include "core/arm/skyeye_common/vfp/vfpinstr.cpp"
#undef VFP_INTERPRETER_IMPL
END : {
END: {
SAVE_NZCVT;
cpu->NumInstrsToExecute = 0;
return num_instrs;
}
INIT_INST_LENGTH : {
INIT_INST_LENGTH: {
cpu->NumInstrsToExecute = 0;
return num_instrs;
}

View File

@ -83,7 +83,7 @@ enum : u32 {
#define vfp_get_sn(inst) ((inst & 0x000f0000) >> 15 | (inst & (1 << 7)) >> 7)
#define vfp_get_dn(inst) ((inst & 0x000f0000) >> 16 | (inst & (1 << 7)) >> 3)
#define vfp_single(inst) (((inst)&0x0000f00) == 0xa00)
#define vfp_single(inst) (((inst) & 0x0000f00) == 0xa00)
inline u32 vfp_shiftright32jamming(u32 val, unsigned int shift) {
if (shift) {
@ -222,7 +222,7 @@ struct vfp_single {
#define VFP_SINGLE_SIGNIFICAND_QNAN (1 << (VFP_SINGLE_MANTISSA_BITS - 1 + VFP_SINGLE_LOW_BITS))
// Operations on packed single-precision numbers
#define vfp_single_packed_sign(v) ((v)&0x80000000)
#define vfp_single_packed_sign(v) ((v) & 0x80000000)
#define vfp_single_packed_negate(v) ((v) ^ 0x80000000)
#define vfp_single_packed_abs(v) ((v) & ~0x80000000)
#define vfp_single_packed_exponent(v) \
@ -376,7 +376,7 @@ u32 vfp_estimate_sqrt_significand(u32 exponent, u32 significand);
// exception mask, in case nothing handles an instruction. This
// doesn't include the NAN flag, which get masked out before
// we check for an error.
#define VFP_EXCEPTION_ERROR ((u32)-1 & ~VFP_NAN_FLAG)
#define VFP_EXCEPTION_ERROR ((u32) - 1 & ~VFP_NAN_FLAG)
// A flag to tell vfp instruction type.
// OP_SCALAR - This operation always operates in scalar mode

View File

@ -1164,8 +1164,8 @@ static struct op fops[] = {
{vfp_double_fnmul, 0}, {vfp_double_fsub, 0}, {vfp_double_fdiv, 0},
};
#define FREG_BANK(x) ((x)&0x0c)
#define FREG_IDX(x) ((x)&3)
#define FREG_BANK(x) ((x) & 0x0c)
#define FREG_IDX(x) ((x) & 3)
u32 vfp_double_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
u32 op = inst & FOP_MASK;

View File

@ -1194,8 +1194,8 @@ static struct op fops[] = {
{vfp_single_fnmul, 0}, {vfp_single_fsub, 0}, {vfp_single_fdiv, 0},
};
#define FREG_BANK(x) ((x)&0x18)
#define FREG_IDX(x) ((x)&7)
#define FREG_BANK(x) ((x) & 0x18)
#define FREG_IDX(x) ((x) & 7)
u32 vfp_single_cpdo(ARMul_State* state, u32 inst, u32 fpscr) {
u32 op = inst & FOP_MASK;

View File

@ -689,7 +689,7 @@ void System::serialize(Archive& ar, const unsigned int file_version) {
if (Archive::is_saving::value) {
num_cores = this->GetNumCores();
}
ar& num_cores;
ar & num_cores;
if (Archive::is_loading::value) {
// When loading, we want to make sure any lingering state gets cleared out before we begin.
@ -725,7 +725,7 @@ void System::serialize(Archive& ar, const unsigned int file_version) {
ar&* memory.get();
ar&* kernel.get();
ar&* gpu.get();
ar& movie;
ar & movie;
// This needs to be set from somewhere - might as well be here!
if (Archive::is_loading::value) {

View File

@ -154,18 +154,18 @@ public:
private:
template <class Archive>
void save(Archive& ar, const unsigned int) const {
ar& time;
ar& fifo_order;
ar& user_data;
ar & time;
ar & fifo_order;
ar & user_data;
std::string name = *(type->name);
ar << name;
}
template <class Archive>
void load(Archive& ar, const unsigned int) {
ar& time;
ar& fifo_order;
ar& user_data;
ar & time;
ar & fifo_order;
ar & user_data;
std::string name;
ar >> name;
type = Global<Timing>().RegisterEvent(name, nullptr);
@ -239,12 +239,12 @@ public:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
MoveEvents();
ar& event_queue;
ar& event_fifo_id;
ar& slice_length;
ar& downcount;
ar& executed_ticks;
ar& idled_cycles;
ar & event_queue;
ar & event_fifo_id;
ar & slice_length;
ar & downcount;
ar & executed_ticks;
ar & idled_cycles;
}
friend class boost::serialization::access;
};
@ -308,8 +308,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
// event_types set during initialization of other things
ar& timers;
ar& current_timer;
ar & timers;
ar & current_timer;
if (Archive::is_loading::value) {
event_queue_locked = true;
}

View File

@ -70,20 +70,20 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& type;
ar & type;
switch (type) {
case LowPathType::Binary:
ar& binary;
ar & binary;
break;
case LowPathType::Char:
ar& string;
ar & string;
break;
case LowPathType::Wchar: {
std::vector<char16_t> data;
if (Archive::is_saving::value) {
std::copy(u16str.begin(), u16str.end(), std::back_inserter(data));
}
ar& data;
ar & data;
if (Archive::is_loading::value) {
u16str = std::u16string(data.data(), data.size());
}
@ -202,7 +202,7 @@ protected:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& delay_generator;
ar & delay_generator;
}
friend class boost::serialization::access;
};

View File

@ -65,8 +65,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& type;
ar& mount_point;
ar & type;
ar & mount_point;
}
friend class boost::serialization::access;
};

View File

@ -70,8 +70,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveBackend>(*this);
ar& title_id;
ar& media_type;
ar & title_id;
ar & media_type;
}
friend class boost::serialization::access;
};
@ -99,7 +99,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<FileBackend>(*this);
ar& file_buffer;
ar & file_buffer;
}
friend class boost::serialization::access;
};

View File

@ -33,7 +33,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& sd_savedata_source;
ar & sd_savedata_source;
}
friend class boost::serialization::access;
};
@ -60,7 +60,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& sd_savedata_source;
ar & sd_savedata_source;
}
friend class boost::serialization::access;
};

View File

@ -32,7 +32,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& sd_savedata_source;
ar & sd_savedata_source;
}
friend class boost::serialization::access;
};

View File

@ -47,7 +47,7 @@ protected:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveBackend>(*this);
ar& mount_point;
ar & mount_point;
}
friend class boost::serialization::access;
};
@ -79,7 +79,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& sdmc_directory;
ar & sdmc_directory;
}
friend class boost::serialization::access;
};

View File

@ -65,7 +65,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& sdmc_directory;
ar & sdmc_directory;
}
friend class boost::serialization::access;
};

View File

@ -79,7 +79,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<FileBackend>(*this);
ar& data;
ar & data;
}
friend class boost::serialization::access;
};
@ -241,7 +241,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveBackend>(*this);
ar& ncch_data;
ar & ncch_data;
}
friend class boost::serialization::access;
};

View File

@ -29,11 +29,11 @@ struct NCCHData {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& icon;
ar& logo;
ar& banner;
ar& romfs_file;
ar& update_romfs_file;
ar & icon;
ar & logo;
ar & banner;
ar & romfs_file;
ar & update_romfs_file;
}
friend class boost::serialization::access;
};
@ -61,7 +61,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& ncch_data;
ar & ncch_data;
}
friend class boost::serialization::access;
};

View File

@ -30,7 +30,7 @@ private:
ArchiveSource_SDSaveData() = default;
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& mount_point;
ar & mount_point;
}
friend class boost::serialization::access;
};

View File

@ -35,7 +35,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveFactory>(*this);
ar& base_path;
ar & base_path;
}
friend class boost::serialization::access;
};

View File

@ -50,8 +50,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<FileBackend>(*this);
ar& mode.hex;
ar& file;
ar & mode.hex;
ar & file;
}
friend class boost::serialization::access;
};
@ -83,12 +83,12 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<DirectoryBackend>(*this);
ar& directory;
ar & directory;
u64 child_index;
if (Archive::is_saving::value) {
child_index = children_iterator - directory.children.begin();
}
ar& child_index;
ar & child_index;
if (Archive::is_loading::value) {
children_iterator = directory.children.begin() + child_index;
}

View File

@ -105,7 +105,7 @@ protected:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& delay_generator;
ar & delay_generator;
}
friend class boost::serialization::access;
};

View File

@ -147,7 +147,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<FileBackend>(*this);
ar& romfs_file;
ar & romfs_file;
}
friend class boost::serialization::access;
};
@ -187,9 +187,9 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<FileBackend>(*this);
ar& romfs_file;
ar& data_offset;
ar& data_size;
ar & romfs_file;
ar & data_offset;
ar & data_size;
}
friend class boost::serialization::access;
};

View File

@ -141,10 +141,10 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<RomFSReader>(*this);
ar& romfs;
ar& patch_path;
ar& patch_ext_path;
ar& load_relocations;
ar & romfs;
ar & patch_path;
ar & patch_ext_path;
ar & load_relocations;
if (Archive::is_loading::value) {
Load();
}

View File

@ -86,13 +86,13 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<RomFSReader>(*this);
ar& is_encrypted;
ar& file;
ar& key;
ar& ctr;
ar& file_offset;
ar& crypto_offset;
ar& data_size;
ar & is_encrypted;
ar & file;
ar & key;
ar & ctr;
ar & file_offset;
ar & crypto_offset;
ar & data_size;
}
friend class boost::serialization::access;
};

View File

@ -43,8 +43,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<ArchiveBackend>(*this);
ar& mount_point;
ar& allow_zero_size_create;
ar & mount_point;
ar & allow_zero_size_create;
}
friend class boost::serialization::access;
};

View File

@ -83,13 +83,13 @@ public:
}
/// Inform the driver to swap the front/back buffers and present the current image
virtual void SwapBuffers(){};
virtual void SwapBuffers() {};
/// Makes the graphics context current for the caller thread
virtual void MakeCurrent(){};
virtual void MakeCurrent() {};
/// Releases (dunno if this is the "right" word) the context from the caller thread
virtual void DoneCurrent(){};
virtual void DoneCurrent() {};
/// Gets the GPU driver library (used by Android only)
virtual std::shared_ptr<Common::DynamicLibrary> GetDriverLibrary() {
@ -183,12 +183,12 @@ public:
/**
* Save current GraphicsContext.
*/
virtual void SaveContext(){};
virtual void SaveContext() {};
/**
* Restore saved GraphicsContext.
*/
virtual void RestoreContext(){};
virtual void RestoreContext() {};
/**
* Signal that a touch pressed event has occurred (e.g. mouse click pressed)

View File

@ -193,10 +193,10 @@ Result AddressArbiter::ArbitrateAddress(std::shared_ptr<Thread> thread, Arbitrat
template <class Archive>
void AddressArbiter::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& name;
ar& waiting_threads;
ar& timeout_callback;
ar& resource_limit;
ar & name;
ar & waiting_threads;
ar & timeout_callback;
ar & resource_limit;
}
SERIALIZE_IMPL(AddressArbiter)

View File

@ -53,10 +53,10 @@ void ClientPort::ConnectionClosed() {
template <class Archive>
void ClientPort::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& server_port;
ar& max_sessions;
ar& active_sessions;
ar& name;
ar & server_port;
ar & max_sessions;
ar & active_sessions;
ar & name;
}
SERIALIZE_IMPL(ClientPort)

View File

@ -59,8 +59,8 @@ Result ClientSession::SendSyncRequest(std::shared_ptr<Thread> thread) {
template <class Archive>
void ClientSession::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& name;
ar& parent;
ar & name;
ar & parent;
}
SERIALIZE_IMPL(ClientSession)

View File

@ -63,10 +63,10 @@ void Event::WakeupAllWaitingThreads() {
template <class Archive>
void Event::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& reset_type;
ar& signaled;
ar& name;
ar& resource_limit;
ar & reset_type;
ar & signaled;
ar & name;
ar & resource_limit;
}
SERIALIZE_IMPL(Event)

View File

@ -101,10 +101,10 @@ void HandleTable::Clear() {
template <class Archive>
void HandleTable::serialize(Archive& ar, const unsigned int) {
ar& objects;
ar& generations;
ar& next_generation;
ar& next_free_slot;
ar & objects;
ar & generations;
ar & next_generation;
ar & next_free_slot;
}
SERIALIZE_IMPL(HandleTable)

View File

@ -64,8 +64,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::WakeupCallback>(*this);
ar& callback;
ar& context;
ar & callback;
ar & context;
}
friend class boost::serialization::access;
};
@ -89,7 +89,7 @@ void SessionRequestHandler::ClientDisconnected(std::shared_ptr<ServerSession> se
template <class Archive>
void SessionRequestHandler::serialize(Archive& ar, const unsigned int) {
ar& connected_sessions;
ar & connected_sessions;
}
SERIALIZE_IMPL(SessionRequestHandler)
@ -99,8 +99,8 @@ SERIALIZE_IMPL(SessionRequestHandler::SessionDataBase)
template <class Archive>
void SessionRequestHandler::SessionInfo::serialize(Archive& ar, const unsigned int) {
ar& session;
ar& data;
ar & session;
ar & data;
}
SERIALIZE_IMPL(SessionRequestHandler::SessionInfo)
@ -324,12 +324,12 @@ void HLERequestContext::ReportUnimplemented() const {
template <class Archive>
void HLERequestContext::serialize(Archive& ar, const unsigned int) {
ar& cmd_buf;
ar& session;
ar& thread;
ar& request_handles;
ar& static_buffers;
ar& request_mapped_buffers;
ar & cmd_buf;
ar & session;
ar & thread;
ar & request_handles;
ar & static_buffers;
ar & request_mapped_buffers;
}
SERIALIZE_IMPL(HLERequestContext)

View File

@ -152,11 +152,11 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& id;
ar& address;
ar& process;
ar& size;
ar& perms;
ar & id;
ar & address;
ar & process;
ar & size;
ar & perms;
}
friend class boost::serialization::access;
};
@ -271,7 +271,7 @@ private:
if (!Archive::is_loading::value && future.valid()) {
future.wait();
}
ar& functor;
ar & functor;
}
friend class boost::serialization::access;
};

View File

@ -257,11 +257,11 @@ Result TranslateCommandBuffer(Kernel::KernelSystem& kernel, Memory::MemorySystem
template <class Archive>
void MappedBufferContext::serialize(Archive& ar, const unsigned int) {
ar& permissions;
ar& size;
ar& source_address;
ar& target_address;
ar& buffer;
ar & permissions;
ar & size;
ar & source_address;
ar & target_address;
ar & buffer;
}
SERIALIZE_IMPL(MappedBufferContext)

View File

@ -165,27 +165,27 @@ void KernelSystem::ResetThreadIDs() {
template <class Archive>
void KernelSystem::serialize(Archive& ar, const unsigned int) {
ar& memory_regions;
ar& named_ports;
ar & memory_regions;
ar & named_ports;
// current_cpu set externally
// NB: subsystem references and prepare_reschedule_callback are constant
ar&* resource_limits.get();
ar& next_object_id;
ar & next_object_id;
ar&* timer_manager.get();
ar& next_process_id;
ar& process_list;
ar& current_process;
ar & next_process_id;
ar & process_list;
ar & current_process;
// NB: core count checked in 'core'
for (auto& thread_manager : thread_managers) {
ar&* thread_manager.get();
}
ar& config_mem_handler;
ar& shared_page_handler;
ar& stored_processes;
ar& next_thread_id;
ar& memory_mode;
ar& n3ds_hw_caps;
ar& main_thread_extended_sleep;
ar & config_mem_handler;
ar & shared_page_handler;
ar & stored_processes;
ar & next_thread_id;
ar & memory_mode;
ar & n3ds_hw_caps;
ar & main_thread_extended_sleep;
// Deliberately don't include debugger info to allow debugging through loads
if (Archive::is_loading::value) {
@ -201,9 +201,9 @@ SERIALIZE_IMPL(KernelSystem)
template <class Archive>
void New3dsHwCapabilities::serialize(Archive& ar, const unsigned int) {
ar& enable_l2_cache;
ar& enable_804MHz_cpu;
ar& memory_mode;
ar & enable_l2_cache;
ar & enable_804MHz_cpu;
ar & memory_mode;
}
SERIALIZE_IMPL(New3dsHwCapabilities)

View File

@ -273,10 +273,10 @@ void MemoryRegionInfo::Unlock() {
template <class Archive>
void MemoryRegionInfo::serialize(Archive& ar, const unsigned int) {
ar& base;
ar& size;
ar& used;
ar& free_blocks;
ar & base;
ar & size;
ar & used;
ar & free_blocks;
if (Archive::is_loading::value) {
is_locked = true;
}

View File

@ -133,11 +133,11 @@ void Mutex::UpdatePriority() {
template <class Archive>
void Mutex::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& lock_count;
ar& priority;
ar& name;
ar& holding_thread;
ar& resource_limit;
ar & lock_count;
ar & priority;
ar & name;
ar & holding_thread;
ar & resource_limit;
}
SERIALIZE_IMPL(Mutex)

View File

@ -43,7 +43,7 @@ bool Object::IsWaitable() const {
template <class Archive>
void Object::serialize(Archive& ar, const unsigned int) {
ar& object_id;
ar & object_id;
}
SERIALIZE_IMPL(Object)

View File

@ -35,36 +35,36 @@ namespace Kernel {
template <class Archive>
void AddressMapping::serialize(Archive& ar, const unsigned int) {
ar& address;
ar& size;
ar& read_only;
ar& unk_flag;
ar & address;
ar & size;
ar & read_only;
ar & unk_flag;
}
SERIALIZE_IMPL(AddressMapping)
template <class Archive>
void Process::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& handle_table;
ar& codeset; // TODO: Replace with apploader reference
ar& resource_limit;
ar& svc_access_mask;
ar& handle_table_size;
ar & handle_table;
ar & codeset; // TODO: Replace with apploader reference
ar & resource_limit;
ar & svc_access_mask;
ar & handle_table_size;
ar&(boost::container::vector<AddressMapping, boost::container::dtl::static_storage_allocator<
AddressMapping, 8, 0, true>>&)address_mappings;
ar& flags.raw;
ar& no_thread_restrictions;
ar& kernel_version;
ar& ideal_processor;
ar& status;
ar& process_id;
ar& creation_time_ticks;
ar& vm_manager;
ar& memory_used;
ar& memory_region;
ar& holding_memory;
ar& holding_tls_memory;
ar& tls_slots;
ar & flags.raw;
ar & no_thread_restrictions;
ar & kernel_version;
ar & ideal_processor;
ar & status;
ar & process_id;
ar & creation_time_ticks;
ar & vm_manager;
ar & memory_used;
ar & memory_region;
ar & holding_memory;
ar & holding_tls_memory;
ar & tls_slots;
}
SERIALIZE_IMPL(Process)
@ -83,19 +83,19 @@ CodeSet::~CodeSet() {}
template <class Archive>
void CodeSet::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& memory;
ar& segments;
ar& entrypoint;
ar& name;
ar& program_id;
ar & memory;
ar & segments;
ar & entrypoint;
ar & name;
ar & program_id;
}
SERIALIZE_IMPL(CodeSet)
template <class Archive>
void CodeSet::Segment::serialize(Archive& ar, const unsigned int) {
ar& offset;
ar& addr;
ar& size;
ar & offset;
ar & addr;
ar & size;
}
SERIALIZE_IMPL(CodeSet::Segment)

View File

@ -69,9 +69,9 @@ bool ResourceLimit::Release(ResourceLimitType type, s32 amount) {
template <class Archive>
void ResourceLimit::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& m_name;
ar& m_limit_values;
ar& m_current_values;
ar & m_name;
ar & m_limit_values;
ar & m_current_values;
}
SERIALIZE_IMPL(ResourceLimit)
@ -154,7 +154,7 @@ std::shared_ptr<ResourceLimit> ResourceLimitList::GetForCategory(ResourceLimitCa
template <class Archive>
void ResourceLimitList::serialize(Archive& ar, const unsigned int) {
ar& resource_limits;
ar & resource_limits;
}
SERIALIZE_IMPL(ResourceLimitList)

View File

@ -63,10 +63,10 @@ Result Semaphore::Release(s32* out_count, s32 release_count) {
template <class Archive>
void Semaphore::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& max_count;
ar& available_count;
ar& name;
ar& resource_limit;
ar & max_count;
ar & available_count;
ar & name;
ar & resource_limit;
}
SERIALIZE_IMPL(Semaphore)

View File

@ -57,9 +57,9 @@ KernelSystem::PortPair KernelSystem::CreatePortPair(u32 max_sessions, std::strin
template <class Archive>
void ServerPort::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& name;
ar& pending_sessions;
ar& hle_handler;
ar & name;
ar & pending_sessions;
ar & hle_handler;
}
SERIALIZE_IMPL(ServerPort)

View File

@ -21,12 +21,12 @@ namespace Kernel {
template <class Archive>
void ServerSession::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& name;
ar& parent;
ar& hle_handler;
ar& pending_requesting_threads;
ar& currently_handling;
ar& mapped_buffer_context;
ar & name;
ar & parent;
ar & hle_handler;
ar & pending_requesting_threads;
ar & currently_handling;
ar & mapped_buffer_context;
}
SERIALIZE_IMPL(ServerSession)

View File

@ -15,9 +15,9 @@ namespace Kernel {
template <class Archive>
void Session::serialize(Archive& ar, const unsigned int file_version) {
ar& client;
ar& server;
ar& port;
ar & client;
ar & server;
ar & port;
}
SERIALIZE_IMPL(Session)

View File

@ -224,16 +224,16 @@ const u8* SharedMemory::GetPointer(u32 offset) const {
template <class Archive>
void SharedMemory::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& linear_heap_phys_offset;
ar& backing_blocks;
ar& size;
ar& memory_region;
ar& permissions;
ar& other_permissions;
ar& owner_process;
ar& base_address;
ar& name;
ar& holding_memory;
ar & linear_heap_phys_offset;
ar & backing_blocks;
ar & size;
ar & memory_region;
ar & permissions;
ar & other_permissions;
ar & owner_process;
ar & base_address;
ar & name;
ar & holding_memory;
}
SERIALIZE_IMPL(SharedMemory)

View File

@ -687,7 +687,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::WakeupCallback>(*this);
ar& do_output;
ar & do_output;
}
friend class boost::serialization::access;
};

View File

@ -33,33 +33,33 @@ namespace Kernel {
template <class Archive>
void ThreadManager::serialize(Archive& ar, const unsigned int) {
ar& current_thread;
ar& ready_queue;
ar& wakeup_callback_table;
ar& thread_list;
ar & current_thread;
ar & ready_queue;
ar & wakeup_callback_table;
ar & thread_list;
}
SERIALIZE_IMPL(ThreadManager)
template <class Archive>
void Thread::serialize(Archive& ar, const unsigned int file_version) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& context;
ar& thread_id;
ar& status;
ar& entry_point;
ar& stack_top;
ar& nominal_priority;
ar& current_priority;
ar& last_running_ticks;
ar& processor_id;
ar& tls_address;
ar& held_mutexes;
ar& pending_mutexes;
ar& owner_process;
ar& wait_objects;
ar& wait_address;
ar& name;
ar& wakeup_callback;
ar & context;
ar & thread_id;
ar & status;
ar & entry_point;
ar & stack_top;
ar & nominal_priority;
ar & current_priority;
ar & last_running_ticks;
ar & processor_id;
ar & tls_address;
ar & held_mutexes;
ar & pending_mutexes;
ar & owner_process;
ar & wait_objects;
ar & wait_address;
ar & name;
ar & wakeup_callback;
}
SERIALIZE_IMPL(Thread)

View File

@ -102,13 +102,13 @@ void Timer::Signal(s64 cycles_late) {
template <class Archive>
void Timer::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<WaitObject>(*this);
ar& reset_type;
ar& initial_delay;
ar& interval_delay;
ar& signaled;
ar& name;
ar& callback_id;
ar& resource_limit;
ar & reset_type;
ar & initial_delay;
ar & interval_delay;
ar & signaled;
ar & name;
ar & callback_id;
ar & resource_limit;
}
SERIALIZE_IMPL(Timer)
@ -133,8 +133,8 @@ TimerManager::TimerManager(Core::Timing& timing) : timing(timing) {
template <class Archive>
void TimerManager::serialize(Archive& ar, const unsigned int) {
ar& next_timer_callback_id;
ar& timer_callback_table;
ar & next_timer_callback_id;
ar & timer_callback_table;
}
SERIALIZE_IMPL(TimerManager)

View File

@ -43,12 +43,12 @@ bool VirtualMemoryArea::CanBeMergedWith(const VirtualMemoryArea& next) const {
template <class Archive>
void VirtualMemoryArea::serialize(Archive& ar, const unsigned int) {
ar& base;
ar& size;
ar& type;
ar& permissions;
ar& meminfo_state;
ar& backing_memory;
ar & base;
ar & size;
ar & type;
ar & permissions;
ar & meminfo_state;
ar & backing_memory;
}
SERIALIZE_IMPL(VirtualMemoryArea)
@ -399,8 +399,8 @@ ResultVal<std::vector<std::pair<MemoryRef, u32>>> VMManager::GetBackingBlocksFor
template <class Archive>
void VMManager::serialize(Archive& ar, const unsigned int) {
ar& vma_map;
ar& page_table;
ar & vma_map;
ar & page_table;
if (Archive::is_loading::value) {
is_locked = true;
}

View File

@ -25,7 +25,7 @@ namespace Kernel {
template <class Archive>
void WaitObject::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Object>(*this);
ar& waiting_threads;
ar & waiting_threads;
// NB: hle_notifier *not* serialized since it's a callback!
// Fortunately it's only used in one place (DSP) so we can reconstruct it there
}

View File

@ -229,7 +229,7 @@ union Result {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& raw;
ar & raw;
}
friend class boost::serialization::access;
};

View File

@ -366,17 +366,17 @@ Module::Module(Core::System& system_) : system(system_) {}
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int) {
ar& ac_connected;
ar& close_event;
ar& connect_event;
ar& disconnect_event;
ar & ac_connected;
ar & close_event;
ar & connect_event;
ar & disconnect_event;
u32 connect_result_32 = connect_result.raw;
ar& connect_result_32;
ar & connect_result_32;
connect_result.raw = connect_result_32;
u32 close_result_32 = close_result.raw;
ar& close_result_32;
ar & close_result_32;
close_result.raw = close_result_32;
ar& connected_pids;
ar & connected_pids;
// default_config is never written to
}
SERIALIZE_IMPL(Module)

View File

@ -1796,9 +1796,9 @@ void Module::Interface::EndImportTicket(Kernel::HLERequestContext& ctx) {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int) {
ar& cia_installing;
ar& am_title_list;
ar& system_updater_mutex;
ar & cia_installing;
ar & am_title_list;
ar & system_updater_mutex;
}
SERIALIZE_IMPL(Module)

View File

@ -129,11 +129,11 @@ struct MessageParameter {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& sender_id;
ar& destination_id;
ar& signal;
ar& object;
ar& buffer;
ar & sender_id;
ar & destination_id;
ar & signal;
ar & object;
ar & buffer;
}
friend class boost::serialization::access;
};
@ -173,9 +173,9 @@ struct DeliverArg {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& param;
ar& hmac;
ar& source_program_id;
ar & param;
ar & hmac;
ar & source_program_id;
}
friend class boost::serialization::access;
};
@ -191,11 +191,11 @@ struct ApplicationJumpParameters {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& next_title_id;
ar& next_media_type;
ar& flags;
ar& current_title_id;
ar& current_media_type;
ar & next_title_id;
ar & next_media_type;
ar & flags;
ar & current_title_id;
ar & current_media_type;
}
friend class boost::serialization::access;
};
@ -207,8 +207,8 @@ struct ApplicationStartParameters {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& next_title_id;
ar& next_media_type;
ar & next_title_id;
ar & next_media_type;
}
friend class boost::serialization::access;
};
@ -237,14 +237,14 @@ struct CaptureBufferInfo {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& size;
ar& is_3d;
ar& top_screen_left_offset;
ar& top_screen_right_offset;
ar& top_screen_format;
ar& bottom_screen_left_offset;
ar& bottom_screen_right_offset;
ar& bottom_screen_format;
ar & size;
ar & is_3d;
ar & top_screen_left_offset;
ar & top_screen_right_offset;
ar & top_screen_format;
ar & bottom_screen_left_offset;
ar & bottom_screen_right_offset;
ar & bottom_screen_format;
}
friend class boost::serialization::access;
};
@ -454,15 +454,15 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& applet_id;
ar& slot;
ar& title_id;
ar& registered;
ar& loaded;
ar& attributes.raw;
ar& notification;
ar& notification_event;
ar& parameter_event;
ar & applet_id;
ar & slot;
ar & title_id;
ar & registered;
ar & loaded;
ar & attributes.raw;
ar & notification;
ar & notification_event;
ar & parameter_event;
}
friend class boost::serialization::access;
};
@ -527,27 +527,27 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& next_parameter;
ar& app_jump_parameters;
ar& delayed_parameter;
ar& app_start_parameters;
ar& deliver_arg;
ar& capture_info;
ar& capture_buffer_info;
ar& active_slot;
ar& last_library_launcher_slot;
ar& last_prepared_library_applet;
ar& last_system_launcher_slot;
ar& last_jump_to_home_slot;
ar& ordered_to_close_sys_applet;
ar& ordered_to_close_application;
ar& application_cancelled;
ar& application_close_target;
ar& new_3ds_mode_blocked;
ar& lock;
ar& capture_info;
ar& applet_slots;
ar& library_applet_closing_command;
ar & next_parameter;
ar & app_jump_parameters;
ar & delayed_parameter;
ar & app_start_parameters;
ar & deliver_arg;
ar & capture_info;
ar & capture_buffer_info;
ar & active_slot;
ar & last_library_launcher_slot;
ar & last_prepared_library_applet;
ar & last_system_launcher_slot;
ar & last_jump_to_home_slot;
ar & ordered_to_close_sys_applet;
ar & ordered_to_close_application;
ar & application_cancelled;
ar & application_close_target;
ar & new_3ds_mode_blocked;
ar & lock;
ar & capture_info;
ar & applet_slots;
ar & library_applet_closing_command;
if (Archive::is_loading::value) {
LoadInputDevices();

View File

@ -41,13 +41,13 @@ namespace Service::APT {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int file_version) {
ar& shared_font_mem;
ar& shared_font_loaded;
ar& shared_font_relocated;
ar& cpu_percent;
ar& screen_capture_post_permission;
ar& applet_manager;
ar& wireless_reboot_info;
ar & shared_font_mem;
ar & shared_font_loaded;
ar & shared_font_relocated;
ar & cpu_percent;
ar & screen_capture_post_permission;
ar & applet_manager;
ar & wireless_reboot_info;
}
SERIALIZE_IMPL(Module)

View File

@ -1055,7 +1055,7 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& application_reset_prepared;
ar & application_reset_prepared;
}
friend class boost::serialization::access;
};

View File

@ -19,18 +19,18 @@ namespace Service::BOSS {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int) {
ar& task_finish_event;
ar& new_arrival_flag;
ar& ns_data_new_flag;
ar& ns_data_new_flag_privileged;
ar& output_flag;
ar & task_finish_event;
ar & new_arrival_flag;
ar & ns_data_new_flag;
ar & ns_data_new_flag_privileged;
ar & output_flag;
}
SERIALIZE_IMPL(Module)
template <class Archive>
void Module::SessionData::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(*this);
ar& online_service;
ar & online_service;
}
SERIALIZE_IMPL(Module::SessionData)

View File

@ -32,17 +32,17 @@ OnlineService::OnlineService(u64 program_id_, u64 extdata_id_)
template <class Archive>
void OnlineService::serialize(Archive& ar, const unsigned int) {
ar& current_props;
ar& task_id_list;
ar& program_id;
ar& extdata_id;
ar & current_props;
ar & task_id_list;
ar & program_id;
ar & extdata_id;
}
SERIALIZE_IMPL(OnlineService)
template <class Archive>
void BossTaskProperties::serialize(Archive& ar, const unsigned int) {
ar& task_result;
ar& properties;
ar & task_result;
ar & properties;
}
SERIALIZE_IMPL(BossTaskProperties)

View File

@ -26,10 +26,10 @@ namespace Service::CAM {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int file_version) {
ar& cameras;
ar& ports;
ar& is_camera_reload_pending;
ar& initialized;
ar & cameras;
ar & ports;
ar & is_camera_reload_pending;
ar & initialized;
if (Archive::is_loading::value && initialized) {
for (int i = 0; i < NumCameras; i++) {
LoadCameraImplementation(cameras[i], i);

View File

@ -77,12 +77,12 @@ struct Resolution {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& width;
ar& height;
ar& crop_x0;
ar& crop_y0;
ar& crop_x1;
ar& crop_y1;
ar & width;
ar & height;
ar & crop_x0;
ar & crop_y0;
ar & crop_x1;
ar & crop_y1;
}
friend class boost::serialization::access;
};
@ -664,10 +664,10 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& flip;
ar& effect;
ar& format;
ar& resolution;
ar & flip;
ar & effect;
ar & format;
ar & resolution;
}
friend class boost::serialization::access;
};
@ -681,9 +681,9 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int file_version) {
ar& contexts;
ar& current_context;
ar& frame_rate;
ar & contexts;
ar & current_context;
ar & frame_rate;
}
friend class boost::serialization::access;
};
@ -726,25 +726,25 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& camera_id;
ar& is_active;
ar& is_pending_receiving;
ar& is_busy;
ar& is_receiving;
ar& is_trimming;
ar& x0;
ar& y0;
ar& x1;
ar& y1;
ar& transfer_bytes;
ar& completion_event;
ar& buffer_error_interrupt_event;
ar& vsync_interrupt_event;
ar& vsync_timings;
ar & camera_id;
ar & is_active;
ar & is_pending_receiving;
ar & is_busy;
ar & is_receiving;
ar & is_trimming;
ar & x0;
ar & y0;
ar & x1;
ar & y1;
ar & transfer_bytes;
ar & completion_event;
ar & buffer_error_interrupt_event;
ar & vsync_interrupt_event;
ar & vsync_timings;
// Ignore capture_result. In-progress captures might be affected but this is OK.
ar& dest_process;
ar& dest;
ar& dest_size;
ar & dest_process;
ar & dest;
ar & dest_size;
}
friend class boost::serialization::access;
};

View File

@ -22,12 +22,12 @@ namespace Service::Y2R {
template <class Archive>
void Y2R_U::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& completion_event;
ar& conversion;
ar& dithering_weight_params;
ar& temporal_dithering_enabled;
ar& transfer_end_interrupt_enabled;
ar& spacial_dithering_enabled;
ar & completion_event;
ar & conversion;
ar & dithering_weight_params;
ar & temporal_dithering_enabled;
ar & transfer_end_interrupt_enabled;
ar & spacial_dithering_enabled;
}
constexpr std::array<CoefficientSet, 4> standard_coefficients{{

View File

@ -96,10 +96,10 @@ struct ConversionBuffer {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& address;
ar& image_size;
ar& transfer_unit;
ar& gap;
ar & address;
ar & image_size;
ar & transfer_unit;
ar & gap;
}
friend class boost::serialization::access;
};
@ -127,20 +127,20 @@ struct ConversionConfiguration {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& input_format;
ar& output_format;
ar& rotation;
ar& block_alignment;
ar& input_line_width;
ar& input_lines;
ar& coefficients;
ar& padding;
ar& alpha;
ar& src_Y;
ar& src_U;
ar& src_V;
ar& src_YUYV;
ar& dst;
ar & input_format;
ar & output_format;
ar & rotation;
ar & block_alignment;
ar & input_line_width;
ar & input_lines;
ar & coefficients;
ar & padding;
ar & alpha;
ar & src_Y;
ar & src_U;
ar & src_V;
ar & src_YUYV;
ar & dst;
}
friend class boost::serialization::access;
};
@ -166,22 +166,22 @@ struct DitheringWeightParams {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& w0_xEven_yEven;
ar& w0_xOdd_yEven;
ar& w0_xEven_yOdd;
ar& w0_xOdd_yOdd;
ar& w1_xEven_yEven;
ar& w1_xOdd_yEven;
ar& w1_xEven_yOdd;
ar& w1_xOdd_yOdd;
ar& w2_xEven_yEven;
ar& w2_xOdd_yEven;
ar& w2_xEven_yOdd;
ar& w2_xOdd_yOdd;
ar& w3_xEven_yEven;
ar& w3_xOdd_yEven;
ar& w3_xEven_yOdd;
ar& w3_xOdd_yOdd;
ar & w0_xEven_yEven;
ar & w0_xOdd_yEven;
ar & w0_xEven_yOdd;
ar & w0_xOdd_yOdd;
ar & w1_xEven_yEven;
ar & w1_xOdd_yEven;
ar & w1_xEven_yOdd;
ar & w1_xOdd_yOdd;
ar & w2_xEven_yEven;
ar & w2_xOdd_yEven;
ar & w2_xEven_yOdd;
ar & w2_xOdd_yOdd;
ar & w3_xEven_yEven;
ar & w3_xOdd_yEven;
ar & w3_xEven_yOdd;
ar & w3_xOdd_yOdd;
}
friend class boost::serialization::access;
};

View File

@ -35,10 +35,10 @@ namespace Service::CECD {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int) {
ar& cecd_system_save_data_archive;
ar& cecinfo_event;
ar& cecinfosys_event;
ar& change_state_event;
ar & cecd_system_save_data_archive;
ar & cecinfo_event;
ar & cecinfosys_event;
ar & change_state_event;
}
SERIALIZE_IMPL(Module)

View File

@ -255,11 +255,11 @@ public:
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
*this);
ar& ncch_program_id;
ar& data_path_type;
ar& open_mode.raw;
ar& path;
ar& file;
ar & ncch_program_id;
ar & data_path_type;
ar & open_mode.raw;
ar & path;
ar & file;
}
friend class boost::serialization::access;
};

View File

@ -37,10 +37,10 @@ namespace Service::CFG {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int) {
ar& cfg_config_file_buffer;
ar& cfg_system_save_data_archive;
ar& preferred_region_code;
ar& preferred_region_chosen;
ar & cfg_config_file_buffer;
ar & cfg_system_save_data_archive;
ar & preferred_region_code;
ar & preferred_region_chosen;
}
SERIALIZE_IMPL(Module)

View File

@ -39,8 +39,8 @@ struct AdpcmState {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& predictor;
ar& step_index;
ar & predictor;
ar & step_index;
}
friend class boost::serialization::access;
};
@ -66,22 +66,22 @@ struct Channel {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& block1_address;
ar& block2_address;
ar& block1_size;
ar& block2_size;
ar& block1_adpcm_state;
ar& block2_adpcm_state;
ar& block2_adpcm_reload;
ar& left_channel_volume;
ar& right_channel_volume;
ar& left_capture_volume;
ar& right_capture_volume;
ar& sample_rate;
ar& linear_interpolation;
ar& loop_mode;
ar& encoding;
ar& psg_duty;
ar & block1_address;
ar & block2_address;
ar & block1_size;
ar & block2_size;
ar & block1_adpcm_state;
ar & block2_adpcm_state;
ar & block2_adpcm_reload;
ar & left_channel_volume;
ar & right_channel_volume;
ar & left_capture_volume;
ar & right_capture_volume;
ar & sample_rate;
ar & linear_interpolation;
ar & loop_mode;
ar & encoding;
ar & psg_duty;
}
friend class boost::serialization::access;
};
@ -258,15 +258,15 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& mutex;
ar& shared_memory;
ar& capture_units;
ar& channels;
ar& master_state_offset;
ar& channel_state_offset;
ar& capture_state_offset;
ar& type1_command_offset;
ar& acquired_channel_mask;
ar & mutex;
ar & shared_memory;
ar & capture_units;
ar & channels;
ar & master_state_offset;
ar & channel_state_offset;
ar & capture_state_offset;
ar & type1_command_offset;
ar & acquired_channel_mask;
}
friend class boost::serialization::access;
};

View File

@ -270,11 +270,11 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& semaphore_event;
ar& preset_semaphore;
ar& interrupt_zero;
ar& interrupt_one;
ar& pipes;
ar & semaphore_event;
ar & preset_semaphore;
ar & interrupt_zero;
ar & interrupt_one;
ar & pipes;
}
friend class boost::serialization::access;
};

View File

@ -26,9 +26,9 @@ struct FriendKey {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& friend_id;
ar& unknown;
ar& friend_code;
ar & friend_id;
ar & unknown;
ar & friend_code;
}
friend class boost::serialization::access;
};
@ -39,7 +39,7 @@ struct MyPresence {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& unknown;
ar & unknown;
}
friend class boost::serialization::access;
};
@ -271,9 +271,9 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& my_friend_key;
ar& my_presence;
ar& logged_in;
ar & my_friend_key;
ar & my_presence;
ar & logged_in;
}
friend class boost::serialization::access;
};

View File

@ -287,9 +287,9 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& id_code_map;
ar& handle_map;
ar& next_handle;
ar & id_code_map;
ar & handle_map;
ar & next_handle;
}
friend class boost::serialization::access;
};

View File

@ -17,8 +17,8 @@ namespace Service::FS {
template <class Archive>
void Directory::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& path;
ar& backend;
ar & path;
ar & backend;
}
Directory::Directory(std::unique_ptr<FileSys::DirectoryBackend>&& backend,

View File

@ -23,8 +23,8 @@ namespace Service::FS {
template <class Archive>
void File::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& path;
ar& backend;
ar & path;
ar & backend;
}
File::File() : File(Core::Global<Kernel::KernelSystem>()) {}

View File

@ -27,10 +27,10 @@ private:
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
*this);
ar& priority;
ar& offset;
ar& size;
ar& subfile;
ar & priority;
ar & offset;
ar & size;
ar & subfile;
}
friend class boost::serialization::access;
};

View File

@ -40,7 +40,7 @@ private:
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
*this);
ar& program_id;
ar & program_id;
}
friend class boost::serialization::access;
};
@ -725,7 +725,7 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& priority;
ar & priority;
}
friend class boost::serialization::access;
};

View File

@ -674,11 +674,11 @@ SessionData* GSP_GPU::FindRegisteredThreadData(u32 thread_id) {
template <class Archive>
void GSP_GPU::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& shared_memory;
ar& active_thread_id;
ar& first_initialization;
ar& used_thread_ids;
ar& saved_vram;
ar & shared_memory;
ar & active_thread_id;
ar & first_initialization;
ar & used_thread_ids;
ar & saved_vram;
}
SERIALIZE_IMPL(GSP_GPU)
@ -737,10 +737,10 @@ std::unique_ptr<Kernel::SessionRequestHandler::SessionDataBase> GSP_GPU::MakeSes
template <class Archive>
void SessionData::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(*this);
ar& gsp;
ar& interrupt_event;
ar& thread_id;
ar& registered;
ar & gsp;
ar & interrupt_event;
ar & thread_id;
ar & registered;
}
SERIALIZE_IMPL(SessionData)

View File

@ -30,24 +30,24 @@ namespace Service::HID {
template <class Archive>
void Module::serialize(Archive& ar, const unsigned int file_version) {
ar& shared_mem;
ar& event_pad_or_touch_1;
ar& event_pad_or_touch_2;
ar& event_accelerometer;
ar& event_gyroscope;
ar& event_debug_pad;
ar& next_pad_index;
ar& next_touch_index;
ar& next_accelerometer_index;
ar& next_gyroscope_index;
ar& enable_accelerometer_count;
ar& enable_gyroscope_count;
ar & shared_mem;
ar & event_pad_or_touch_1;
ar & event_pad_or_touch_2;
ar & event_accelerometer;
ar & event_gyroscope;
ar & event_debug_pad;
ar & next_pad_index;
ar & next_touch_index;
ar & next_accelerometer_index;
ar & next_gyroscope_index;
ar & enable_accelerometer_count;
ar & enable_gyroscope_count;
if (Archive::is_loading::value) {
LoadInputDevices();
}
ar& state.hex;
ar& circle_pad_old_x;
ar& circle_pad_old_y;
ar & state.hex;
ar & circle_pad_old_x;
ar & circle_pad_old_y;
// Update events are set in the constructor
// Devices are set from the implementation (and are stateless afaik)
}

View File

@ -93,11 +93,11 @@ struct ClientCertContext {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& handle;
ar& session_id;
ar& cert_id;
ar& certificate;
ar& private_key;
ar & handle;
ar & session_id;
ar & cert_id;
ar & certificate;
ar & private_key;
}
friend class boost::serialization::access;
};
@ -115,9 +115,9 @@ struct RootCertChain {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& handle;
ar& session_id;
ar& certificate;
ar & handle;
ar & session_id;
ar & certificate;
}
friend class boost::serialization::access;
};
@ -130,9 +130,9 @@ struct RootCertChain {
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& handle;
ar& session_id;
ar& certificates;
ar & handle;
ar & session_id;
ar & certificates;
}
friend class boost::serialization::access;
};
@ -161,10 +161,10 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& url;
ar& username;
ar& password;
ar& port;
ar & url;
ar & username;
ar & password;
ar & port;
}
friend class boost::serialization::access;
};
@ -176,8 +176,8 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& username;
ar& password;
ar & username;
ar & password;
}
friend class boost::serialization::access;
};
@ -190,8 +190,8 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& name;
ar& value;
ar & name;
ar & value;
}
friend class boost::serialization::access;
};
@ -204,9 +204,9 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& options;
ar& client_cert_ctx;
ar& root_ca_chain;
ar & options;
ar & client_cert_ctx;
ar & root_ca_chain;
}
friend class boost::serialization::access;
};
@ -237,9 +237,9 @@ public:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& name;
ar& value;
ar& is_binary;
ar & name;
ar & value;
ar & is_binary;
}
friend class boost::serialization::access;
};
@ -308,11 +308,11 @@ private:
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
*this);
ar& current_http_context;
ar& session_id;
ar& num_http_contexts;
ar& num_client_certs;
ar& initialized;
ar & current_http_context;
ar & session_id;
ar & num_http_contexts;
ar & num_client_certs;
ar & initialized;
}
friend class boost::serialization::access;
};
@ -880,12 +880,12 @@ private:
// There is a very good chance that saving/loading during a network connection will break,
// regardless!
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& ClCertA.certificate;
ar& ClCertA.private_key;
ar& ClCertA.init;
ar& context_counter;
ar& client_certs_counter;
ar& client_certs;
ar & ClCertA.certificate;
ar & ClCertA.private_key;
ar & ClCertA.init;
ar & context_counter;
ar & client_certs_counter;
ar & client_certs;
// NOTE: `contexts` is not serialized because it contains non-serializable data. (i.e.
// handles to ongoing HTTP requests.) Serializing across HTTP contexts will break.
}

View File

@ -72,8 +72,8 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& hid_period;
ar& calibration_data; // This isn't writeable for now, but might be in future
ar & hid_period;
ar & calibration_data; // This isn't writeable for now, but might be in future
if (Archive::is_loading::value) {
LoadInputDevices(); // zl, zr, c_stick are loaded here
}

View File

@ -23,11 +23,11 @@ namespace Service::IR {
template <class Archive>
void IR_RST::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& update_event;
ar& shared_memory;
ar& next_pad_index;
ar& raw_c_stick;
ar& update_period;
ar & update_event;
ar & shared_memory;
ar & next_pad_index;
ar & raw_c_stick;
ar & update_period;
// update_callback_id and input devices are set separately
ReloadInputDevices();
}

View File

@ -26,12 +26,12 @@ namespace Service::IR {
template <class Archive>
void IR_USER::serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
ar& conn_status_event;
ar& send_event;
ar& receive_event;
ar& shared_memory;
ar& connected_device;
ar& receive_buffer;
ar & conn_status_event;
ar & send_event;
ar & receive_event;
ar & shared_memory;
ar & connected_device;
ar & receive_buffer;
ar&* extra_hid.get();
}
@ -164,10 +164,10 @@ private:
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& begin_index;
ar& end_index;
ar& packet_count;
ar& unknown;
ar & begin_index;
ar & end_index;
ar & packet_count;
ar & unknown;
}
friend class boost::serialization::access;
};
@ -216,12 +216,12 @@ private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& info;
ar& shared_memory;
ar& info_offset;
ar& buffer_offset;
ar& max_packet_count;
ar& max_data_size;
ar & info;
ar & shared_memory;
ar & info_offset;
ar & buffer_offset;
ar & max_packet_count;
ar & max_data_size;
}
friend class boost::serialization::access;
};

View File

@ -20,7 +20,7 @@ private:
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler::SessionDataBase>(
*this);
ar& loaded_crs;
ar & loaded_crs;
}
friend class boost::serialization::access;
};

Some files were not shown because too many files have changed in this diff Show More