exo/spl: new ConfigItem in 23.0.0 is wild
This commit is contained in:
@@ -271,6 +271,9 @@ namespace ams::secmon::smc {
|
|||||||
std::memcpy(std::addressof(args.r[1]), std::addressof(tmp_hash), sizeof(tmp_hash));
|
std::memcpy(std::addressof(args.r[1]), std::addressof(tmp_hash), sizeof(tmp_hash));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case ConfigItem::Unknown18:
|
||||||
|
args.r[1] = GetBootConfig().data.GetUnknown70();
|
||||||
|
break;
|
||||||
case ConfigItem::ExosphereApiVersion:
|
case ConfigItem::ExosphereApiVersion:
|
||||||
/* Get information about the current exosphere version. */
|
/* Get information about the current exosphere version. */
|
||||||
if (kern || g_set_true_target_firmware) {
|
if (kern || g_set_true_target_firmware) {
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ namespace ams::secmon::smc {
|
|||||||
RegulatorType = 15,
|
RegulatorType = 15,
|
||||||
DeviceUniqueKeyGeneration = 16,
|
DeviceUniqueKeyGeneration = 16,
|
||||||
Package2Hash = 17,
|
Package2Hash = 17,
|
||||||
|
Unknown18 = 18,
|
||||||
|
|
||||||
/* Extension config items for exosphere. */
|
/* Extension config items for exosphere. */
|
||||||
ExosphereApiVersion = 65000,
|
ExosphereApiVersion = 65000,
|
||||||
|
|||||||
@@ -61,14 +61,15 @@ namespace ams::pkg1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct BootConfigData {
|
struct BootConfigData {
|
||||||
u32 version;
|
u64 version;
|
||||||
u32 reserved_04;
|
|
||||||
u32 reserved_08;
|
u32 reserved_08;
|
||||||
u32 reserved_0C;
|
u32 reserved_0C;
|
||||||
u8 flags1[0x10];
|
u8 flags1[0x10];
|
||||||
u8 flags0[0x10];
|
u8 flags0[0x10];
|
||||||
u64 initial_tsc_value;
|
u64 initial_tsc_value;
|
||||||
u8 padding_38[0x200 - 0x38];
|
u8 padding_38[0x38];
|
||||||
|
u64 unknown_70;
|
||||||
|
u8 padding_78[0x200 - 0x78];
|
||||||
|
|
||||||
constexpr bool IsDevelopmentFunctionEnabled() const {
|
constexpr bool IsDevelopmentFunctionEnabled() const {
|
||||||
return (this->flags1[0] & (1 << 1)) != 0;
|
return (this->flags1[0] & (1 << 1)) != 0;
|
||||||
@@ -97,13 +98,16 @@ namespace ams::pkg1 {
|
|||||||
constexpr u64 GetInitialTscValue() const {
|
constexpr u64 GetInitialTscValue() const {
|
||||||
return this->IsInitialTscValueValid() ? this->initial_tsc_value : 0;
|
return this->IsInitialTscValueValid() ? this->initial_tsc_value : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr u64 GetUnknown70() const {
|
||||||
|
return this->unknown_70;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
static_assert(util::is_pod<BootConfigData>::value);
|
static_assert(util::is_pod<BootConfigData>::value);
|
||||||
static_assert(sizeof(BootConfigData) == 0x200);
|
static_assert(sizeof(BootConfigData) == 0x200);
|
||||||
|
|
||||||
struct BootConfigSignedData {
|
struct BootConfigSignedData {
|
||||||
u32 version;
|
u64 version;
|
||||||
u32 reserved_04;
|
|
||||||
u8 flags;
|
u8 flags;
|
||||||
u8 reserved_09[0x10 - 9];
|
u8 reserved_09[0x10 - 9];
|
||||||
u8 ecid[0x10];
|
u8 ecid[0x10];
|
||||||
|
|||||||
@@ -230,6 +230,7 @@ namespace ams::spl {
|
|||||||
RegulatorType = 15,
|
RegulatorType = 15,
|
||||||
DeviceUniqueKeyGeneration = 16,
|
DeviceUniqueKeyGeneration = 16,
|
||||||
Package2Hash = 17,
|
Package2Hash = 17,
|
||||||
|
Unknown18 = 18,
|
||||||
|
|
||||||
/* Extension config items for exosphere. */
|
/* Extension config items for exosphere. */
|
||||||
ExosphereApiVersion = 65000,
|
ExosphereApiVersion = 65000,
|
||||||
|
|||||||
Reference in New Issue
Block a user