On Sat, Jun 30, 2012 at 7:42 PM, Peter Maydell <peter.maydell at linaro.org> wrote: > 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 > ok, I'll probably punt on SIMD instructions for now then... >> 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. > cool, thanks. -Christoffer