Re: [PATCH 00/13] KVM: PPC: e500: SPE and MMU

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

 



On 03.06.2011, at 01:15, Scott Wood wrote:

> This patchset contains SPE state management for e500 KVM guests, as well
> as MMU enhancements (performance, userspace visibility, and support for
> mapping things that aren't standard kernel-managed pages).
> 
> They are combined into one patchset because they both touch the
> MSR update code.

I figured I'd try something new and just applied the whole patch set to see if it actually works. Of course it doesn't :). When I start a guest, it hangs at the point below in guest context and loops at 100%. Trying to dump the registers makes the whole process stall and drop down to 0% cpu usage. Only an external kill helps by then.

root@e500:/dev/shm/qemu# ./ppc-softmmu/qemu-system-ppc -nographic -kernel /boot/uImage.autotest -append 'root=/dev/vda3 console=ttyS0 rw' -enable-kvm -m 512 -M mpc8544ds -drive file=/dev/shm/test.qcow2,index=0,if=virtio
KVM: Couldn't find level irq capability. Expect the VM to stall at times!
Using MPC8544 DS machine description
Memory CAM mapping: 256/256 Mb, residual: 0Mb
Linux version 2.6.39-08593-g7fe3ef3 (agraf@huckleberry) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP Sat Jun 4 01:36:21 CEST 2011
CPU maps initialized for 1 thread per core
bootconsole [udbg0] enabled
setup_arch: bootmem
mpc85xx_ds_setup_arch()
Found FSL PCI host bridge at 0x00000000e0008000. Firmware bus number: 0->255
PCI host bridge /pci@e0008000  ranges:
 MEM 0x00000000c0000000..0x00000000dfffffff -> 0x00000000c0000000 
  IO 0x00000000e1000000..0x00000000e100ffff -> 0x0000000000000000
/pci@e0008000: PCICSRBAR @ 0x0
/pci@e0008000: WARNING: Outbound window cfg leaves gaps in memory map. Adjusting the memory map could reduce unnecessary bounce buffering.
/pci@e0008000: DMA window size is 0x0
MPC85xx DS board from Freescale Semiconductor
arch: exit
Zone PFN ranges:
  DMA      0x00000000 -> 0x00020000
  Normal   empty
  HighMem  empty
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0: 0x00000000 -> 0x00020000
MMU: Allocated 1088 bytes of context maps for 255 contexts
PERCPU: Embedded 8 pages/cpu @c0f06000 s8288 r8192 d16288 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: root=/dev/vda3 console=ttyS0 rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Placing 64MB software IO TLB between c0f71000 - c4f71000
software IO TLB at phys 0xf71000 - 0x4f71000
Memory: 445668k/524288k available (6672k kernel code, 78620k reserved, 208k data, 1178k bss, 288k init)
Kernel virtual memory layout:
  * 0xfffbf000..0xfffff000  : fixmap
  * 0xffc00000..0xffe00000  : highmem PTEs
  * 0xffbec000..0xffc00000  : early ioremap
  * 0xe1000000..0xffbec000  : vmalloc & ioremap
SLUB: Genslabs=15, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:512 nr_irqs:512 16
mpic: Setting up MPIC " OpenPIC  " version 1.2 at e0040000, max 1 CPUs
mpic: ISU size: 256, shift: 8, mask: ff
mpic: Initializing for 256 sources
clocksource: timebase mult[5000000] shift[22] registered
Console: colour dummy device 80x25
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Brought up 1 CPUs
NET: Registered protocol family 16
             
PCI: Probing PCI hardware
pci 0000:00:11.0: BAR 6: assigned [mem 0xc0000000-0xc000ffff pref]
pci 0000:00:12.0: BAR 0: assigned [io  0xffbee000-0xffbee03f]
pci 0000:00:12.0: BAR 0: set to [io  0xffbee000-0xffbee03f] (PCI address [0x1000-0x103f])
pci 0000:00:11.0: BAR 0: assigned [io  0xffbee040-0xffbee05f]
pci 0000:00:11.0: BAR 0: set to [io  0xffbee040-0xffbee05f] (PCI address [0x1040-0x105f])
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Freescale Elo / Elo Plus DMA driver
Advanced Linux Sound Architecture Driver Version 1.0.24.
Switching to clocksource timebase
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 5, 131072 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 1, 8192 bytes)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
audit: initializing netlink socket (disabled)
type=2000 audit(0.000:1): initialized
Installing knfsd (copyright (C) 1996 okir@xxxxxxxxxxxx).
NTFS driver 2.1.30 [Flags: R/O].
msgmni has been set to 872
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Freescale DIU driver
virtio-pci 0000:00:11.0: enabling device (0000 -> 0001)
virtio-pci 0000:00:12.0: enabling device (0000 -> 0001)
Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
serial8250.0: ttyS0 at MMIO 0xe0004500 (irq = 42) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
Generic non-volatile memory driver v1.1
brd: module loaded
loop: module loaded
nbd: registered device at major 43
QEMU 0.14.50 monitor - type 'help' for more information
(qemu) info registers 
NIP c000e344   LR c0008f9c CTR c000e2b4 XER 00000000
MSR 00069002 HID0 00000000  HF 00000000 idx 1
TB 00000000 00000000 DECR 00000000
GPR00 00000000c000e2b4 00000000c06b3f90 00000000c0687330 0000000000800000
GPR04 0000000000800000 00000000c06b3f28 0000000000000000 0000000000069002
GPR08 00000000c06b64e8 0000000000000000 0000000000000000 0000000000000003
GPR12 00000000215ec844 0000000000000000 0000000000000000 0000000000000000
GPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20 0000000000000000 0000000000000000 00000000c06b2000 0000000000000000
GPR24 0000000000000000 0000000000000000 00000000c0670e48 00000000c06c0000
GPR28 00000000c06b959c 00000000c06b959c 0000000000000008 00000000c06b2040
CR 24000028  [ E  G  -  -  -  -  E  L  ]             RES ffffffff
FPR00 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR04 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR08 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR12 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR16 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR20 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR24 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPR28 0000000000000000 0000000000000000 0000000000000000 0000000000000000
FPSCR 00000000
 SRR0 c000df0c  SRR1 00029002    PVR 80210030 VRSAVE 00000000
SPRG0 00000001 SPRG1 00000003  SPRG2 00000000  SPRG3 c0687520
SPRG4 de401fe0 SPRG5 00000000  SPRG6 00000000  SPRG7 22000022
CSRR0 00000000 CSRR1 00000000 MCSRR0 00000000 MCSRR1 00000000
  TCR 00000000   TSR 00000000    ESR 00000000   DEAR 00000000
  PIR 00000000 DECAR 00000000   IVPR 00000000   EPCR 00000000
 MCSR 00000000 SPRG8 00000000    EPR 00000000
 MCAR 00000000  PID1 00000000   PID2 00000000    SVR 00000000
 MAS0 00000000  MAS1 00000000   MAS2 00000000   MAS3 00000000
 MAS4 00000000  MAS6 00000000   MAS7 00000000    PID 00000000
MMUCFG 00000000 TLB0CFG 04110200 TLB1CFG 101cc010
(qemu) 


(gdb) l *0xc000e344
0xc000e344 is at arch/powerpc/kernel/idle_e500.S:74.
69		oris	r7,r7,MSR_WE@h
70		ori	r7,r7,MSR_EE
71		msync
72		mtmsr	r7
73		isync
74	2:	b	2b
75	
76	/*
77	 * Return from NAP/DOZE mode, restore some CPU specific registers,
78	 * r2 containing physical address of current.



Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux