[Android-virt] MMIO emulation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 July 2012 00:17, Christoffer Dall <c.dall at virtualopensystems.com> wrote:
> I'm writing test code for the Thumb/ARM load-store decoding and MMIO
> code, which led me to a couple of thoughts questions:
>
> First, Are all memory access instructions valid for MMIO access,
> including load/store multiple, SIMD instructions, etc.?

Yes, although some of them have interesting caveats that mean
that nobody in their right mind would actually use them for
accessing device registers, eg:

# The architecture permits an Advanced SIMD element or structure load
# instruction to access bytes in Device or Strongly-ordered memory that
# are not explicitly accessed by the instruction, provided the bytes
# accessed are in a 16-byte window, aligned to 16-bytes, that contains
# at least one byte that is explicitly accessed by the instruction

> Second, ls-mutliple instructions are valid, how should we send that
> info to QEMU? Currently, there is only 8 bytes available in the mmio
> struct. I don't know how we can deal with this for
> backward-compatiblity etc. Thoughts?

We don't need to be particularly efficient here, because accessing
devices via LDM/STM is not something people do in practice I think.
One word at a time is fine.

-- PMM


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux