Serialize MIC service

This commit is contained in:
Hamish Milne
2019-12-30 16:53:57 +00:00
committed by zhupengfei
parent e3c0211b74
commit 01ec2e8a67
5 changed files with 71 additions and 2 deletions

View File

@@ -3,6 +3,7 @@
// Refer to the license.txt file included.
#include "common/alignment.h"
#include "common/archives.h"
#include "common/common_types.h"
#include "common/logging/log.h"
#include "core/arm/arm_interface.h"
@@ -12,6 +13,9 @@
#include "core/hle/service/ldr_ro/cro_helper.h"
#include "core/hle/service/ldr_ro/ldr_ro.h"
SERVICE_CONSTRUCT_IMPL(Service::LDR::RO)
SERIALIZE_EXPORT_IMPL(Service::LDR::RO)
namespace Service::LDR {
static const ResultCode ERROR_ALREADY_INITIALIZED = // 0xD9612FF9

View File

@@ -14,6 +14,13 @@ namespace Service::LDR {
struct ClientSlot : public Kernel::SessionRequestHandler::SessionDataBase {
VAddr loaded_crs = 0; ///< the virtual address of the static module
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& loaded_crs;
}
friend class boost::serialization::access;
};
class RO final : public ServiceFramework<RO, ClientSlot> {
@@ -151,8 +158,19 @@ private:
void Shutdown(Kernel::HLERequestContext& self);
Core::System& system;
private:
template <class Archive>
void serialize(Archive& ar, const unsigned int) {
ar& boost::serialization::base_object<Kernel::SessionRequestHandler>(*this);
}
friend class boost::serialization::access;
};
void InstallInterfaces(Core::System& system);
} // namespace Service::LDR
SERVICE_CONSTRUCT(Service::LDR::RO)
BOOST_CLASS_EXPORT_KEY(Service::LDR::RO)
BOOST_CLASS_EXPORT_KEY(Service::LDR::ClientSlot)