On 11.03.2011, at 08:33, Jan Kiszka wrote: > On 2011-03-11 08:26, Alexander Graf wrote: >> >> On 11.03.2011, at 08:13, Jan Kiszka wrote: >> >>> On 2011-03-11 07:50, Alexander Graf wrote: >>>> >>>> On 04.03.2011, at 11:20, Jan Kiszka wrote: >>>> >>>>> Make the return code of kvm_arch_handle_exit directly usable for >>>>> kvm_cpu_exec. This is straightforward for x86 and ppc, just s390 >>>>> would require more work. Avoid this for now by pushing the return code >>>>> translation logic into s390's kvm_arch_handle_exit. >>>>> >>>>> Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> >>>>> CC: Alexander Graf <agraf@xxxxxxx> >>>> >>>> Looks good, haven't tested it though. Do you have a git tree for all this? >>>> >>> >>> See >>> >>> git://git.kiszka.org/qemu-kvm.git queues/kvm-upstream >> >> With the following patch s390x-softmmu compiles and runs the bootloader code just fine, breaks in early Linux boot code though. I haven't quite figured out why yet. >> >> >> diff --git a/Makefile.target b/Makefile.target >> index 220589e..21106c6 100644 >> --- a/Makefile.target >> +++ b/Makefile.target >> @@ -209,7 +209,7 @@ QEMU_CFLAGS += $(VNC_PNG_CFLAGS) >> obj-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o >> >> # Inter-VM PCI shared memory >> -obj-$(CONFIG_KVM) += ivshmem.o >> +obj-i386-$(CONFIG_KVM) += ivshmem.o > > Looks like s390 hasn't been built for a while - or what makes this > workaround necessary? It's been broken for quite a while, yes. I always fixed it locally in my trees, thinking "I'll get around to submitting a _proper_ patch upstream some day". Well, some day is a very long time span :). > >> >> # Hardware support >> obj-i386-y += vga.o >> diff --git a/exec.c b/exec.c >> index 0b7a7b2..10e6528 100644 >> --- a/exec.c >> +++ b/exec.c >> @@ -2963,7 +2963,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) >> RAMBlock *block; >> ram_addr_t offset; >> int flags; >> - void *area, *vaddr; >> + void *area = NULL, *vaddr; >> >> QLIST_FOREACH(block, &ram_list.blocks, next) { >> offset = addr - block->offset; >> >> > > Yeah, we should abort() on mem_path != 0 for unsupported targets. Yes, that would work too :). Alex -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html