Re: [RFC PATCH 3/3] KVM: ARM: Split KVM_CREATE_IRQCHIP and KVM_INIT_IRQCHIP

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

 



On 14 October 2012 01:04, Christoffer Dall
<c.dall@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> We need this two factor initialization step to support a sane user space
> initialization of the emulated model.  We simply follow the names of the
> ioctls for the internal vgic implementation steps and check if we have
> everything we need on the host side when we create the vgic and set up
> the rest on init.

With this patch I find that KVM_INIT_IRQCHIP fails EEXIST because it's
hitting the check in kvm_vgic_init() that online_vcpus is 0. I think
this check should be removed now as INIT_IRQCHIP will always happen
late, after we've created vcpus. (The patch puts this check in
kvm_vgic_create() so I guess I'm saying the check should be moved
rather than copied.)

On the other hand, I removed that check, and the host kernel oopses:

Unable to handle kernel paging request at virtual address 78656e75
pgd = dea94c80
[78656e75] *pgd=00000000
Internal error: Oops: 205 [#1] SMP ARM
CPU: 1    Tainted: G        W     (3.6.0+ #87)
PC is at vsnprintf+0x38/0x400
LR is at panic+0x60/0x1dc
pc : [<c01bb7c4>]    lr : [<c037eb98>]    psr: 20000093
sp : de145df0  ip : de145e6c  fp : 00000020
r10: c04c3dd4  r9 : 00000000  r8 : de145e6c
r7 : 00000000  r6 : cfdfdfdf  r5 : 00000000  r4 : 78656e75
r3 : de145e6c  r2 : 78656e75  r1 : 00000400  r0 : c04c3dd4
Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 30c5387d  Table: 9ea94c80  DAC: 00000000
Process qemu-system-arm (pid: 1078, stack limit = 0xde1442f8)
Stack: (0xde145df0 to 0xde146000)
5de0:                                     00030003 c006a07c 00000000 00000001
5e00: c038830c c04c3dd4 00000400 00000000 00000000 00000000 00000001 c04c3db0
5e20: 00000000 cfdfdfdf 00000000 00000000 00000000 00000001 de1642c4 c037eb98
5e40: 00000000 de145e6c fffffce0 00000000 cfdfdfdf 00000000 00000000 00000000
5e60: 00000001 c0022ac8 78656e75 c0022ac8 00000000 00000000 de144000 00000001
5e80: 00000002 00000000 00000000 00010000 9eacc000 00000000 7ffbfeff fffffffe
5ea0: 00000000 de164000 dea96600 00000000 de144000 00000000 00000000 0000ae80
5ec0: b63da6a4 c001ef5c 00000001 00000002 00000000 c00689a4 00000000 c003c794
5ee0: de073ec4 0000000a de400e18 00000000 dea96600 0000000b c000ed08 de144000
5f00: 00000000 c00c36fc fffffffa 00000434 00000000 c04c3618 c04974c0 c006cdf4
5f20: 00000100 3fb69f7c 00000000 00000004 00000084 7fffffff 00000001 00000001
5f40: 00000081 00000000 00000001 007bc068 de144000 00000000 b63da6a4 c0069418
5f60: 00000002 dea96600 00000000 0000ae80 0000000b c000ed08 de144000 00000000
5f80: b63da6a4 c00c3ca8 00000002 00000001 00000000 b63da470 00000000 00000000
5fa0: 00000036 c000eb80 b63da470 00000000 0000000b 0000ae80 00000000 0000ae80
5fc0: b63da470 00000000 00000000 00000036 00000000 00000000 beab7628 b63da6a4
5fe0: 0037e250 b63d9d6c 00290181 b6d9c2ec 600f0010 0000000b dfdfdfcf cfdfdfdf
[<c01bb7c4>] (vsnprintf+0x38/0x400) from [<c037eb98>] (panic+0x60/0x1dc)
[<c037eb98>] (panic+0x60/0x1dc) from [<c0022ac8>]
(kvm_arch_vcpu_ioctl_run+0xe8/0x404)
[<c0022ac8>] (kvm_arch_vcpu_ioctl_run+0xe8/0x404) from [<c001ef5c>]
(kvm_vcpu_ioctl+0x4d0/0x6a0)
[<c001ef5c>] (kvm_vcpu_ioctl+0x4d0/0x6a0) from [<c00c36fc>]
(do_vfs_ioctl+0x84/0x5f8)
[<c00c36fc>] (do_vfs_ioctl+0x84/0x5f8) from [<c00c3ca8>] (sys_ioctl+0x38/0x5c)
[<c00c3ca8>] (sys_ioctl+0x38/0x5c) from [<c000eb80>] (ret_fast_syscall+0x0/0x30)
Code: ba0000e5 e59da014 e3a0b020 e59d1018 (e5d23000)
---[ end trace 1b75b31a2719ed1e ]---

QEMU test code is here:
git://git.linaro.org/people/pmaydell/qemu-arm.git kvm-arm-dev-addr-test

thanks
-- PMM
--
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


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux