mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 17:47:44 +00:00
UserspaceEmulator+LibX86: Add support for 64-bit memory reads and writes (#3584)
This is useful for reading and writing doubles for #3329. It is also useful for emulating 64-bit binaries. MemoryOrRegisterReference assumes that 64-bit values are always memory references since that's enough for fpu support. If we ever want to emulate 64-bit binaries, that part will need minor updating.
This commit is contained in:
parent
1fa5a526e8
commit
f1c0f661f4
12 changed files with 156 additions and 0 deletions
|
@ -40,10 +40,12 @@ public:
|
|||
virtual ValueWithShadow<u8> read8(u32 offset) override;
|
||||
virtual ValueWithShadow<u16> read16(u32 offset) override;
|
||||
virtual ValueWithShadow<u32> read32(u32 offset) override;
|
||||
virtual ValueWithShadow<u64> read64(u32 offset) override;
|
||||
|
||||
virtual void write8(u32 offset, ValueWithShadow<u8>) override;
|
||||
virtual void write16(u32 offset, ValueWithShadow<u16>) override;
|
||||
virtual void write32(u32 offset, ValueWithShadow<u32>) override;
|
||||
virtual void write64(u32 offset, ValueWithShadow<u64>) override;
|
||||
|
||||
u8* data() { return m_data; }
|
||||
u8* shadow_data() { return m_shadow_data; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue