Remove unused execution_info_ptr
This commit is contained in:
parent
7372dd4d8d
commit
169cb65d96
|
@ -28,8 +28,6 @@ class XUserModule : public XModule {
|
||||||
xe_xex2_ref xex();
|
xe_xex2_ref xex();
|
||||||
const xe_xex2_header_t* xex_header();
|
const xe_xex2_header_t* xex_header();
|
||||||
|
|
||||||
uint32_t execution_info_ptr() const { return execution_info_ptr_; }
|
|
||||||
|
|
||||||
X_STATUS LoadFromFile(std::string path);
|
X_STATUS LoadFromFile(std::string path);
|
||||||
X_STATUS LoadFromMemory(const void* addr, const size_t length);
|
X_STATUS LoadFromMemory(const void* addr, const size_t length);
|
||||||
|
|
||||||
|
@ -45,7 +43,6 @@ class XUserModule : public XModule {
|
||||||
private:
|
private:
|
||||||
xe_xex2_ref xex_;
|
xe_xex2_ref xex_;
|
||||||
uint32_t xex_header_;
|
uint32_t xex_header_;
|
||||||
uint32_t execution_info_ptr_;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
|
|
|
@ -29,26 +29,6 @@
|
||||||
|
|
||||||
namespace xe {
|
namespace xe {
|
||||||
namespace kernel {
|
namespace kernel {
|
||||||
template <typename T>
|
|
||||||
T* xex2_get_opt_header(const xex2_header* header, uint32_t key) {
|
|
||||||
for (int i = 0; i < header->header_count; i++) {
|
|
||||||
const xex2_opt_header* opt_header = header->headers[i];
|
|
||||||
if (opt_header->key != key) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((opt_header->key & 0xFF) == 0x01) {
|
|
||||||
// Data is stored in the opt header
|
|
||||||
return (T*)&opt_header->value;
|
|
||||||
} else {
|
|
||||||
// Data stored at offset.
|
|
||||||
return (T*)((uint8_t*)&header->headers[0] + opt_header->offset);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t xex2_get_header_size(const xex2_header* header) {
|
uint32_t xex2_get_header_size(const xex2_header* header) {
|
||||||
return header->exe_offset;
|
return header->exe_offset;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,24 @@
|
||||||
namespace xe {
|
namespace xe {
|
||||||
namespace kernel {
|
namespace kernel {
|
||||||
template <typename T>
|
template <typename T>
|
||||||
T* xex2_get_opt_header(const xex2_header* header, uint32_t key);
|
T* xex2_get_opt_header(const xex2_header* header, uint32_t key) {
|
||||||
|
for (uint32_t i = 0; i < header->header_count; i++) {
|
||||||
|
const xex2_opt_header& opt_header = header->headers[i];
|
||||||
|
if (opt_header.key != key) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((opt_header.key & 0xFF) == 0x01) {
|
||||||
|
// Data is stored in the opt header
|
||||||
|
return (T*)&opt_header.value;
|
||||||
|
} else {
|
||||||
|
// Data stored at offset.
|
||||||
|
return (T*)((uint8_t*)&header->headers[0] + opt_header.offset);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t xex2_get_header_size(const xex2_header* header);
|
uint32_t xex2_get_header_size(const xex2_header* header);
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
|
|
|
@ -409,12 +409,6 @@ SHIM_CALL RtlImageXexHeaderField_shim(PPCContext* ppc_context,
|
||||||
assert_true(xex_header_base == 0x80101100);
|
assert_true(xex_header_base == 0x80101100);
|
||||||
auto module = kernel_state->GetExecutableModule();
|
auto module = kernel_state->GetExecutableModule();
|
||||||
|
|
||||||
// Special case.
|
|
||||||
if (image_field == XEX_HEADER_EXECUTION_INFO) {
|
|
||||||
SHIM_SET_RETURN_32(module->execution_info_ptr());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const xe_xex2_header_t* xex_header = module->xex_header();
|
const xe_xex2_header_t* xex_header = module->xex_header();
|
||||||
for (size_t n = 0; n < xex_header->header_count; n++) {
|
for (size_t n = 0; n < xex_header->header_count; n++) {
|
||||||
if (xex_header->headers[n].key == image_field) {
|
if (xex_header->headers[n].key == image_field) {
|
||||||
|
|
Loading…
Reference in New Issue