mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2026-08-09 02:14:20 +00:00
The ARMv8.1-VMID16 extension extends the VMID from 8 bits to 16 bits: * the ID_AA64MMFR1_EL1.VMIDBits field specifies whether the VMID is 8 or 16 bits * the VMID field in VTTBR_EL2 is extended to 16 bits * VTCR_EL2.VS lets the guest specify whether to use the full 16 bits, or use the backwards-compatible 8 bits For QEMU implementing this is trivial: * we do not track VMIDs in TLB entries, so we never use the VMID field * we treat any write to VTTBR_EL2, not just a change to the VMID field bits, as a "possible VMID change" that causes us to throw away TLB entries, so that code doesn't need changing * we allow the guest to read/write the VTCR_EL2.VS bit already So all that's missing is the ID register part: report that we support VMID16 in our 'max' CPU. Backports commit dc7a88d0810ad272bdcd2e0869359af78fdd9114 from qemu |
||
|---|---|---|
| .. | ||
| arm | ||
| i386 | ||
| m68k | ||
| mips | ||
| riscv | ||
| sparc | ||