One of the instructions I need to implement for AArch64 is "DC ZVA",
which is basically "clear the block of memory at this address to zeroes".
What's the best way in a TCG frontend to implement this sort of thing?

The block is a fixed size (implementation-dependent, but less than 2K).
The instruction has to behave like a set of stores for the purposes of
access faults, watchpoints, and so on. Obviously one way to implement
this would be to emit TCG ops for a store-and-loop, but that means we're
doing a TLB walk for every 64 bytes we write. Is there a better approach?
In theory we could just find the pointer to the memory QEMU is backing
the guest RAM with and call memset on it...

thanks
-- PMM

Reply via email to