diff options
Diffstat (limited to '')
| -rw-r--r-- | src/core/hle/kernel/process.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/kernel/process.h | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index a8e3098ca..dc9fc8470 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp | |||
| @@ -47,6 +47,7 @@ SharedPtr<Process> Process::Create(KernelCore& kernel, std::string&& name) { | |||
| 47 | 47 | ||
| 48 | void Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata) { | 48 | void Process::LoadFromMetadata(const FileSys::ProgramMetadata& metadata) { |
| 49 | program_id = metadata.GetTitleID(); | 49 | program_id = metadata.GetTitleID(); |
| 50 | is_64bit_process = metadata.Is64BitProgram(); | ||
| 50 | vm_manager.Reset(metadata.GetAddressSpaceType()); | 51 | vm_manager.Reset(metadata.GetAddressSpaceType()); |
| 51 | } | 52 | } |
| 52 | 53 | ||
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h index 2dfb88fa9..590e0c73d 100644 --- a/src/core/hle/kernel/process.h +++ b/src/core/hle/kernel/process.h | |||
| @@ -189,6 +189,11 @@ public: | |||
| 189 | return is_virtual_address_memory_enabled; | 189 | return is_virtual_address_memory_enabled; |
| 190 | } | 190 | } |
| 191 | 191 | ||
| 192 | /// Whether this process is an AArch64 or AArch32 process. | ||
| 193 | bool Is64BitProcess() const { | ||
| 194 | return is_64bit_process; | ||
| 195 | } | ||
| 196 | |||
| 192 | /** | 197 | /** |
| 193 | * Loads process-specifics configuration info with metadata provided | 198 | * Loads process-specifics configuration info with metadata provided |
| 194 | * by an executable. | 199 | * by an executable. |
| @@ -287,6 +292,11 @@ private: | |||
| 287 | /// This vector will grow as more pages are allocated for new threads. | 292 | /// This vector will grow as more pages are allocated for new threads. |
| 288 | std::vector<std::bitset<8>> tls_slots; | 293 | std::vector<std::bitset<8>> tls_slots; |
| 289 | 294 | ||
| 295 | /// Whether or not this process is AArch64, or AArch32. | ||
| 296 | /// By default, we currently assume this is true, unless otherwise | ||
| 297 | /// specified by metadata provided to the process during loading. | ||
| 298 | bool is_64bit_process = true; | ||
| 299 | |||
| 290 | std::string name; | 300 | std::string name; |
| 291 | }; | 301 | }; |
| 292 | 302 | ||