|
ReXGlue SDK
|
#include <rex/guest.h>
Public Member Functions | |
| virtual Result< void > | CopyFromPhysical (u32 address, std::span< std::byte > out)=0 |
| virtual Result< void > | CopyToPhysical (u32 address, std::span< const std::byte > data)=0 |
| virtual Result< std::span< const std::byte > > | GetReadOnlyPhysicalSpan (PhysicalRange range)=0 |
| virtual Result< std::span< std::byte > > | GetWritablePhysicalSpan (PhysicalRange range)=0 |
| virtual Result< void > | StoreRelease32 (u32 address, u32 value)=0 |
| virtual Result< u32 > | LoadAcquire32 (u32 address)=0 |
Guest physical memory. Each call fails only for a range outside the 512 MiB of physical memory. It does not check mapping or protection.
|
nodiscardpure virtual |
Copies guest physical memory into a buffer.
| out | The destination, sized to the length. |
|
nodiscardpure virtual |
Copies a buffer into guest physical memory and notifies the listeners of watched pages.
| data | The bytes to copy. |
|
nodiscardpure virtual |
Returns a read only view of guest physical memory, or an error when the range is outside it.
|
nodiscardpure virtual |
Returns a writable view of guest physical memory, or an error when the range is outside it. Writes through it do not notify listeners.
|
nodiscardpure virtual |
Reads a big endian u32 with acquire ordering.
| address | The 4 byte aligned address. |
|
nodiscardpure virtual |
Writes a big endian u32 with release ordering, for GPU fences.
| address | The 4 byte aligned address. |