|
|
|
@ -27,7 +27,7 @@ SharedPtr<Process> Process::Create(std::string name, u64 program_id) { |
|
|
|
} |
|
|
|
|
|
|
|
void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) { |
|
|
|
for (int i = 0; i < len; ++i) { |
|
|
|
for (size_t i = 0; i < len; ++i) { |
|
|
|
u32 descriptor = kernel_caps[i]; |
|
|
|
u32 type = descriptor >> 20; |
|
|
|
|
|
|
|
@ -64,8 +64,8 @@ void Process::ParseKernelCaps(const u32* kernel_caps, size_t len) { |
|
|
|
AddressMapping mapping; |
|
|
|
mapping.address = descriptor << 12; |
|
|
|
mapping.size = (end_desc << 12) - mapping.address; |
|
|
|
mapping.writable = descriptor & (1 << 20); |
|
|
|
mapping.unk_flag = end_desc & (1 << 20); |
|
|
|
mapping.writable = (descriptor & (1 << 20)) != 0; |
|
|
|
mapping.unk_flag = (end_desc & (1 << 20)) != 0; |
|
|
|
|
|
|
|
address_mappings.push_back(mapping); |
|
|
|
} else if ((type & 0xFFF) == 0xFFE) { // 0x000F
|
|
|
|
|