summaryrefslogtreecommitdiffstats
path: root/src/core/hle/config_mem.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-13 04:17:30 +0200
committerYuri Kunde Schlesner <yuriks@yuriks.net>2015-05-15 05:04:39 +0200
commitec514b16a66c0aca19e3f641836d836eacd59e75 (patch)
tree14bbe427b74a2e0d8f0e015f3898cf79f13adb10 /src/core/hle/config_mem.h
parentMemmap: Re-organize memory function in two files (diff)
downloadyuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar.gz
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar.bz2
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar.lz
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar.xz
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.tar.zst
yuzu-ec514b16a66c0aca19e3f641836d836eacd59e75.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/config_mem.h38
1 files changed, 35 insertions, 3 deletions
diff --git a/src/core/hle/config_mem.h b/src/core/hle/config_mem.h
index cbb478fb3..9825a09e8 100644
--- a/src/core/hle/config_mem.h
+++ b/src/core/hle/config_mem.h
@@ -9,17 +9,49 @@
// bootrom. Because we're not emulating this, and essentially just "stubbing" the functionality, I'm
// putting this as a subset of HLE for now.
+#include "common/common_funcs.h"
#include "common/common_types.h"
+#include "common/swap.h"
+
+#include "core/memory.h"
////////////////////////////////////////////////////////////////////////////////////////////////////
namespace ConfigMem {
-template <typename T>
-void Read(T &var, const u32 addr);
+struct ConfigMemDef {
+ u8 kernel_unk; // 0
+ u8 kernel_version_rev; // 1
+ u8 kernel_version_min; // 2
+ u8 kernel_version_maj; // 3
+ u32_le update_flag; // 4
+ u64_le ns_tid; // 8
+ u32_le sys_core_ver; // 10
+ u8 unit_info; // 14
+ u8 boot_firm; // 15
+ u8 prev_firm; // 16
+ INSERT_PADDING_BYTES(0x1); // 17
+ u32_le ctr_sdk_ver; // 18
+ INSERT_PADDING_BYTES(0x30 - 0x1C); // 1C
+ u32_le app_mem_type; // 30
+ INSERT_PADDING_BYTES(0x40 - 0x34); // 34
+ u32_le app_mem_alloc; // 40
+ u32_le sys_mem_alloc; // 44
+ u32_le base_mem_alloc; // 48
+ INSERT_PADDING_BYTES(0x60 - 0x4C); // 4C
+ u8 firm_unk; // 60
+ u8 firm_version_rev; // 61
+ u8 firm_version_min; // 62
+ u8 firm_version_maj; // 63
+ u32_le firm_sys_core_ver; // 64
+ u32_le firm_ctr_sdk_ver; // 68
+ INSERT_PADDING_BYTES(0x1000 - 0x6C); // 6C
+};
+static_assert(sizeof(ConfigMemDef) == Memory::CONFIG_MEMORY_SIZE, "Config Memory structure size is wrong");
+
+extern ConfigMemDef config_mem;
void Init();
-
void Shutdown();
} // namespace