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