[Memory] Add HostToGuestVirtual and use it in a couple of places
This commit is contained in:
@@ -314,11 +314,11 @@ X_STATUS UserModule::GetOptHeader(xex2_header_keys key,
|
||||
if (!header) {
|
||||
return X_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
return GetOptHeader(memory()->virtual_membase(), header, key,
|
||||
out_header_guest_ptr);
|
||||
return GetOptHeader(memory(), header, key, out_header_guest_ptr);
|
||||
}
|
||||
|
||||
X_STATUS UserModule::GetOptHeader(uint8_t* membase, const xex2_header* header,
|
||||
X_STATUS UserModule::GetOptHeader(const Memory* memory,
|
||||
const xex2_header* header,
|
||||
xex2_header_keys key,
|
||||
uint32_t* out_header_guest_ptr) {
|
||||
assert_not_null(out_header_guest_ptr);
|
||||
@@ -337,14 +337,11 @@ X_STATUS UserModule::GetOptHeader(uint8_t* membase, const xex2_header* header,
|
||||
break;
|
||||
case 0x01:
|
||||
// Return pointer to data stored in header value.
|
||||
field_value = static_cast<uint32_t>(
|
||||
reinterpret_cast<const uint8_t*>(&opt_header.value) - membase);
|
||||
field_value = memory->HostToGuestVirtual(&opt_header.value);
|
||||
break;
|
||||
default:
|
||||
// Data stored at offset to header.
|
||||
field_value = static_cast<uint32_t>(
|
||||
reinterpret_cast<const uint8_t*>(header) - membase) +
|
||||
opt_header.offset;
|
||||
field_value = memory->HostToGuestVirtual(header) + opt_header.offset;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user