From cbe841c9c979752c0cf2e0241cd6e51590e3b90c Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Mon, 23 Jul 2018 12:57:32 -0400
Subject: [PATCH] hle: Remove config_mem.h/.cpp

This is just an unused hold-over from citra, so we can get rid of this
to trim off an exposed global, among other things.
---
 src/core/CMakeLists.txt             |  2 --
 src/core/hle/config_mem.cpp         | 31 ----------------
 src/core/hle/config_mem.h           | 56 -----------------------------
 src/core/hle/kernel/kernel.cpp      |  3 --
 src/core/hle/kernel/memory.cpp      |  9 -----
 src/core/hle/kernel/wait_object.cpp |  1 -
 6 files changed, 102 deletions(-)
 delete mode 100644 src/core/hle/config_mem.cpp
 delete mode 100644 src/core/hle/config_mem.h

diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 5473723aa..1849c5d2a 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -38,8 +38,6 @@ add_library(core STATIC
     frontend/input.h
     gdbstub/gdbstub.cpp
     gdbstub/gdbstub.h
-    hle/config_mem.cpp
-    hle/config_mem.h
     hle/ipc.h
     hle/ipc_helpers.h
     hle/kernel/address_arbiter.cpp
diff --git a/src/core/hle/config_mem.cpp b/src/core/hle/config_mem.cpp
deleted file mode 100644
index 038af7909..000000000
--- a/src/core/hle/config_mem.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2014 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#include <cstring>
-#include "core/hle/config_mem.h"
-
-////////////////////////////////////////////////////////////////////////////////////////////////////
-
-namespace ConfigMem {
-
-ConfigMemDef config_mem;
-
-void Init() {
-    std::memset(&config_mem, 0, sizeof(config_mem));
-
-    // Values extracted from firmware 11.2.0-35E
-    config_mem.kernel_version_min = 0x34;
-    config_mem.kernel_version_maj = 0x2;
-    config_mem.ns_tid = 0x0004013000008002;
-    config_mem.sys_core_ver = 0x2;
-    config_mem.unit_info = 0x1; // Bit 0 set for Retail
-    config_mem.prev_firm = 0x1;
-    config_mem.ctr_sdk_ver = 0x0000F297;
-    config_mem.firm_version_min = 0x34;
-    config_mem.firm_version_maj = 0x2;
-    config_mem.firm_sys_core_ver = 0x2;
-    config_mem.firm_ctr_sdk_ver = 0x0000F297;
-}
-
-} // namespace ConfigMem
diff --git a/src/core/hle/config_mem.h b/src/core/hle/config_mem.h
deleted file mode 100644
index 1840d1760..000000000
--- a/src/core/hle/config_mem.h
+++ /dev/null
@@ -1,56 +0,0 @@
-// Copyright 2014 Citra Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-// Configuration memory stores various hardware/kernel configuration settings. This memory page is
-// read-only for ARM11 processes. I'm guessing this would normally be written to by the firmware/
-// 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 {
-
-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();
-
-} // namespace ConfigMem
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index fae81e72b..1beb98566 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -2,7 +2,6 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "core/hle/config_mem.h"
 #include "core/hle/kernel/handle_table.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/memory.h"
@@ -18,8 +17,6 @@ unsigned int Object::next_object_id;
 
 /// Initialize the kernel
 void Init(u32 system_mode) {
-    ConfigMem::Init();
-
     Kernel::MemoryInit(system_mode);
 
     Kernel::ResourceLimitsInit();
diff --git a/src/core/hle/kernel/memory.cpp b/src/core/hle/kernel/memory.cpp
index ecbc5daae..94eac677c 100644
--- a/src/core/hle/kernel/memory.cpp
+++ b/src/core/hle/kernel/memory.cpp
@@ -11,7 +11,6 @@
 #include "common/assert.h"
 #include "common/common_types.h"
 #include "common/logging/log.h"
-#include "core/hle/config_mem.h"
 #include "core/hle/kernel/memory.h"
 #include "core/hle/kernel/vm_manager.h"
 #include "core/hle/result.h"
@@ -62,14 +61,6 @@ void MemoryInit(u32 mem_type) {
 
     // We must've allocated the entire FCRAM by the end
     ASSERT(base == Memory::FCRAM_SIZE);
-
-    using ConfigMem::config_mem;
-    config_mem.app_mem_type = mem_type;
-    // app_mem_malloc does not always match the configured size for memory_region[0]: in case the
-    // n3DS type override is in effect it reports the size the game expects, not the real one.
-    config_mem.app_mem_alloc = memory_region_sizes[mem_type][0];
-    config_mem.sys_mem_alloc = static_cast<u32_le>(memory_regions[1].size);
-    config_mem.base_mem_alloc = static_cast<u32_le>(memory_regions[2].size);
 }
 
 void MemoryShutdown() {
diff --git a/src/core/hle/kernel/wait_object.cpp b/src/core/hle/kernel/wait_object.cpp
index e279c5df9..23af346d0 100644
--- a/src/core/hle/kernel/wait_object.cpp
+++ b/src/core/hle/kernel/wait_object.cpp
@@ -5,7 +5,6 @@
 #include <algorithm>
 #include "common/assert.h"
 #include "common/logging/log.h"
-#include "core/hle/config_mem.h"
 #include "core/hle/kernel/errors.h"
 #include "core/hle/kernel/kernel.h"
 #include "core/hle/kernel/memory.h"