mirror of
https://github.com/Lime3DS/Lime3DS.git
synced 2024-11-10 20:25:06 +01:00
Merge remote-tracking branch 'upstream/master' into fix-smashbros
This commit is contained in:
commit
a378014156
@ -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
|
||||
|
@ -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 \
|
||||
|
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@ -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
|
||||
|
2
.github/workflows/format.yml
vendored
2
.github/workflows/format.yml
vendored
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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!");
|
||||
|
@ -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")) {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -60,7 +60,7 @@ private:
|
||||
|
||||
template <class Archive>
|
||||
void serialize(Archive& ar, const unsigned int) {
|
||||
ar& storage;
|
||||
ar & storage;
|
||||
}
|
||||
friend class boost::serialization::access;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
@ -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.
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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"};
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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{{
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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,
|
||||
|
@ -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>()) {}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
|
@ -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.
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user