On 8 December 2014 at 14:01, Laszlo Ersek <ler...@redhat.com> wrote: > Peter, can we introduce a second, 64-bit wide, data register, for > fw_cfg? (Or even two -- Drew suggested the LDP instruction for the guest.)
I don't have an in-principle objection. I do require that whatever mechanism we provide is usable by 32 bit guests as well as 64 bit guests. You'll also want the access instruction to be one where the hardware provides instruction syndrome information to KVM about the faulting load/store, which means you can only use AArch64 loads and stores of a single general-purpose register, and AArch32 instructions LDR, LDA, LDRT, LDRSH, LDRSHT, LDRH, LDAH, LDRHT, LDRSB, LDRSBT, LDRB, LDAB, LDRBT, STR, STL, STRT, STRH, STLH, STRHT, STRB, STLB, or STRBT. Note that this rules out LDP. We also need to make sure it works with TCG QEMU. (64-bit access to devices is something we've needed previously in ARM QEMU, so though in theory it should work it would need testing.) The other thing you could do is put image and initrd in to guest memory as we do currently and have the fw_cfg just pass their addresses. That would require that UEFI not have already stomped on that part of RAM by the time you get round to looking at it, though, and I can imagine that might not be feasible. -- PMM