summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/process.h
diff options
context:
space:
mode:
authorGravatar bunnei2018-08-03 14:07:49 -0400
committerGravatar GitHub2018-08-03 14:07:49 -0400
commit40e63ede6d2fcb9c4a3f7a65b2bdd25a77835d94 (patch)
tree1d81b94e3bdcce384aaa892c1d92a48d725680cf /src/core/hle/kernel/process.h
parentMerge pull request #909 from lioncash/const (diff)
parentcore/memory: Get rid of 3DS leftovers (diff)
downloadyuzu-40e63ede6d2fcb9c4a3f7a65b2bdd25a77835d94.tar.gz
yuzu-40e63ede6d2fcb9c4a3f7a65b2bdd25a77835d94.tar.xz
yuzu-40e63ede6d2fcb9c4a3f7a65b2bdd25a77835d94.zip
Merge pull request #908 from lioncash/memory
core/memory: Get rid of 3DS leftovers
Diffstat (limited to 'src/core/hle/kernel/process.h')
-rw-r--r--src/core/hle/kernel/process.h17
1 files changed, 4 insertions, 13 deletions
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h
index 1204026be..98d8da35e 100644
--- a/src/core/hle/kernel/process.h
+++ b/src/core/hle/kernel/process.h
@@ -53,7 +53,6 @@ union ProcessFlags {
53enum class ProcessStatus { Created, Running, Exited }; 53enum class ProcessStatus { Created, Running, Exited };
54 54
55class ResourceLimit; 55class ResourceLimit;
56struct MemoryRegionInfo;
57 56
58struct CodeSet final : public Object { 57struct CodeSet final : public Object {
59 static SharedPtr<CodeSet> Create(std::string name); 58 static SharedPtr<CodeSet> Create(std::string name);
@@ -163,12 +162,11 @@ public:
163 // This makes deallocation and reallocation of holes fast and keeps process memory contiguous 162 // This makes deallocation and reallocation of holes fast and keeps process memory contiguous
164 // in the emulator address space, allowing Memory::GetPointer to be reasonably safe. 163 // in the emulator address space, allowing Memory::GetPointer to be reasonably safe.
165 std::shared_ptr<std::vector<u8>> heap_memory; 164 std::shared_ptr<std::vector<u8>> heap_memory;
166 // The left/right bounds of the address space covered by heap_memory.
167 VAddr heap_start = 0, heap_end = 0;
168
169 u64 heap_used = 0, linear_heap_used = 0, misc_memory_used = 0;
170 165
171 MemoryRegionInfo* memory_region = nullptr; 166 // The left/right bounds of the address space covered by heap_memory.
167 VAddr heap_start = 0;
168 VAddr heap_end = 0;
169 u64 heap_used = 0;
172 170
173 /// The Thread Local Storage area is allocated as processes create threads, 171 /// The Thread Local Storage area is allocated as processes create threads,
174 /// each TLS area is 0x200 bytes, so one page (0x1000) is split up in 8 parts, and each part 172 /// each TLS area is 0x200 bytes, so one page (0x1000) is split up in 8 parts, and each part
@@ -179,16 +177,9 @@ public:
179 177
180 std::string name; 178 std::string name;
181 179
182 VAddr GetLinearHeapAreaAddress() const;
183 VAddr GetLinearHeapBase() const;
184 VAddr GetLinearHeapLimit() const;
185
186 ResultVal<VAddr> HeapAllocate(VAddr target, u64 size, VMAPermission perms); 180 ResultVal<VAddr> HeapAllocate(VAddr target, u64 size, VMAPermission perms);
187 ResultCode HeapFree(VAddr target, u32 size); 181 ResultCode HeapFree(VAddr target, u32 size);
188 182
189 ResultVal<VAddr> LinearAllocate(VAddr target, u32 size, VMAPermission perms);
190 ResultCode LinearFree(VAddr target, u32 size);
191
192 ResultCode MirrorMemory(VAddr dst_addr, VAddr src_addr, u64 size); 183 ResultCode MirrorMemory(VAddr dst_addr, VAddr src_addr, u64 size);
193 184
194 ResultCode UnmapMemory(VAddr dst_addr, VAddr src_addr, u64 size); 185 ResultCode UnmapMemory(VAddr dst_addr, VAddr src_addr, u64 size);