diff options
| author | 2015-07-19 15:18:57 -0300 | |
|---|---|---|
| committer | 2015-08-16 01:03:45 -0300 | |
| commit | a12a30c9e0c059f87649a1f87b76003ee44efe73 (patch) | |
| tree | b9f11ddcd80594ff3276cb8823eda4c613d53808 /src | |
| parent | Kernel: Properly implement ControlMemory FREE and COMMIT (diff) | |
| download | yuzu-a12a30c9e0c059f87649a1f87b76003ee44efe73.tar.gz yuzu-a12a30c9e0c059f87649a1f87b76003ee44efe73.tar.xz yuzu-a12a30c9e0c059f87649a1f87b76003ee44efe73.zip | |
Process: Store kernel compatibility version during loading
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/process.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/kernel/process.h | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 1db763999..561824305 100644 --- a/src/core/hle/kernel/process.cpp +++ b/src/core/hle/kernel/process.cpp | |||
| @@ -92,9 +92,11 @@ void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) { | |||
| 92 | mapping.unk_flag = false; | 92 | mapping.unk_flag = false; |
| 93 | } else if ((type & 0xFE0) == 0xFC0) { // 0x01FF | 93 | } else if ((type & 0xFE0) == 0xFC0) { // 0x01FF |
| 94 | // Kernel version | 94 | // Kernel version |
| 95 | int minor = descriptor & 0xFF; | 95 | kernel_version = descriptor & 0xFFFF; |
| 96 | int major = (descriptor >> 8) & 0xFF; | 96 | |
| 97 | LOG_INFO(Loader, "ExHeader kernel version ignored: %d.%d", major, minor); | 97 | int minor = kernel_version & 0xFF; |
| 98 | int major = (kernel_version >> 8) & 0xFF; | ||
| 99 | LOG_DEBUG(Loader, "ExHeader kernel version: %d.%d", major, minor); | ||
| 98 | } else { | 100 | } else { |
| 99 | LOG_ERROR(Loader, "Unhandled kernel caps descriptor: 0x%08X", descriptor); | 101 | LOG_ERROR(Loader, "Unhandled kernel caps descriptor: 0x%08X", descriptor); |
| 100 | } | 102 | } |
diff --git a/src/core/hle/kernel/process.h b/src/core/hle/kernel/process.h index 567d5df18..5c7de9044 100644 --- a/src/core/hle/kernel/process.h +++ b/src/core/hle/kernel/process.h | |||
| @@ -104,6 +104,8 @@ public: | |||
| 104 | /// processes access to specific I/O regions and device memory. | 104 | /// processes access to specific I/O regions and device memory. |
| 105 | boost::container::static_vector<AddressMapping, 8> address_mappings; | 105 | boost::container::static_vector<AddressMapping, 8> address_mappings; |
| 106 | ProcessFlags flags; | 106 | ProcessFlags flags; |
| 107 | /// Kernel compatibility version for this process | ||
| 108 | u16 kernel_version = 0; | ||
| 107 | 109 | ||
| 108 | /// The id of this process | 110 | /// The id of this process |
| 109 | u32 process_id = next_process_id++; | 111 | u32 process_id = next_process_id++; |