qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH 12/15] kvm: Align kvm_arch_handle_exit to kvm_cp


From: Jan Kiszka
Subject: [Qemu-devel] Re: [PATCH 12/15] kvm: Align kvm_arch_handle_exit to kvm_cpu_exec changes
Date: Fri, 11 Mar 2011 08:33:47 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666

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 <address@hidden>
>>>> CC: Alexander Graf <address@hidden>
>>>
>>> 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?

>  
>  # 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.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]