Process: Store kernel compatibility version during loading
This commit is contained in:
parent
cdeeecf080
commit
a12a30c9e0
|
@ -92,9 +92,11 @@ void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) {
|
||||||
mapping.unk_flag = false;
|
mapping.unk_flag = false;
|
||||||
} else if ((type & 0xFE0) == 0xFC0) { // 0x01FF
|
} else if ((type & 0xFE0) == 0xFC0) { // 0x01FF
|
||||||
// Kernel version
|
// Kernel version
|
||||||
int minor = descriptor & 0xFF;
|
kernel_version = descriptor & 0xFFFF;
|
||||||
int major = (descriptor >> 8) & 0xFF;
|
|
||||||
LOG_INFO(Loader, "ExHeader kernel version ignored: %d.%d", major, minor);
|
int minor = kernel_version & 0xFF;
|
||||||
|
int major = (kernel_version >> 8) & 0xFF;
|
||||||
|
LOG_DEBUG(Loader, "ExHeader kernel version: %d.%d", major, minor);
|
||||||
} else {
|
} else {
|
||||||
LOG_ERROR(Loader, "Unhandled kernel caps descriptor: 0x%08X", descriptor);
|
LOG_ERROR(Loader, "Unhandled kernel caps descriptor: 0x%08X", descriptor);
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,6 +104,8 @@ public:
|
||||||
/// processes access to specific I/O regions and device memory.
|
/// processes access to specific I/O regions and device memory.
|
||||||
boost::container::static_vector<AddressMapping, 8> address_mappings;
|
boost::container::static_vector<AddressMapping, 8> address_mappings;
|
||||||
ProcessFlags flags;
|
ProcessFlags flags;
|
||||||
|
/// Kernel compatibility version for this process
|
||||||
|
u16 kernel_version = 0;
|
||||||
|
|
||||||
/// The id of this process
|
/// The id of this process
|
||||||
u32 process_id = next_process_id++;
|
u32 process_id = next_process_id++;
|
||||||
|
|
Reference in New Issue