Enabling KVM on QEMU running on a T4240-RDB.

cancel
Showing results for 
Search instead for 
Did you mean: 

Enabling KVM on QEMU running on a T4240-RDB.

607 Views
waynli329
Contributor I

My goal is to run qemu-system-ppc64 with KVM enabled. I got the qemu-system-ppc64 executable in my path after I enabled KVM on my T4240rdb-64b image build. The version of qemu-system-ppc64 I have is:

root@t4240rdb:~# qemu-system-ppc64 --version
QEMU emulator version 2.4.0, Copyright (c) 2003-2008 Fabrice Bellard


So when I run qemu-system-ppc64 without KVM enabled using the following qemu command line:

qemu-system-ppc64 -prom-env "auto-boot?=false" –nographic

The QEMU monitor shows progress and the serial port outputs show: 

SLOF **********************************************************************

QEMU Starting
Build Date = May 7 2015 17:07:10
FW Version = git-7d766a3ac9b2474f
Press "s" to enter Open Firmware.
Populating /vdevice methods
Populating /vdevice/vty@71000000
Populating /vdevice/nvram@71000001
Populating /vdevice/l-lan@71000002
Populating /vdevice/v-scsi@71000003
SCSI: Looking for devices
8200000000000000 CD-ROM : "QEMU QEMU CD-ROM 2.4."
Populating /pci@800000020000000
00 0800 (D) : 106b 003f serial bus [ usb-ohci ]
00 0000 (D) : 1234 1111 qemu vga
No NVRAM common partition, re-initializing...
Installing QEMU fb
Scanning USB
OHCI: initializing
USB Keyboard
USB mouse
No console specified using screen & keyboard
Welcome to Open Firmware
Copyright (c) 2004, 2011 IBM Corporation All rights reserved.
This program and the accompanying materials are made available
under the terms of the BSD License available at
http://www.opensource.org/licenses/bsd-license.php
Trying to load: from: disk ...
E3405: No such device
Trying to load: from: cdrom ... No medium !
E3405: No such device
Trying to load: from: net ...
E3010 (net) TFTP access violation
E3407: Load failed
..`. .. ....... .. ...... .......
..`...`''.`'. .''``````..''. .`''```''`. `''``````
.`` .:' ': `''..... .''. ''` .''..''.......
``.':.';. ``````''`.''. .''. ''``''`````'`
``.':':` .....`''.`'`...... `'`.....`''.`'`
.`.`'`` .'`'`````. ``'''''' ``''`'''`. `'`
Type 'boot' and press return to continue booting the system.
Type 'reset-all' and press return to reboot the system.
Ready!
0 >

Now if I add the --enable-kvm option to that command, I don't see anything show up in the serial port outputs and the QEMU monitor shows no progress. If, however, I specify the machine and cpu in the command line like so:

qemu-system-ppc64 -prom-env "auto-boot?=false" -nographic -enable-kvm -machine ppce500 -cpu e6500

I still don't see anything in the serial port outputs or STDOUT, but the QEMU monitor does show progress (i.e. the next instruction pointer progresses forward).

QEMU then exits with an error saying "Missing PVR setting capability." I've been tweaking the machine and cpu arguments to various different options that I think might work. But I always get the same behavior and it always exits either with an error saying "Missing PVR setting capability." or an error saying "This KVM version does not support PAPR".

Anyway, is there a certain combination of arguments for machine and cpu that will work? Am I missing an important flag? Am I running QEMU wrong? What are your thoughts?

Tags (3)
0 Kudos
1 Reply

460 Views
yipingwang
NXP TechSupport
NXP TechSupport

host kernel configuration:

1. Enabling KVM

[*] Virtualization --->

    [*] KVM support for PowerPC E500MC/E5500/E6500 processors
    [*] KVM in-kernel MPIC emulation     
    <*>   Host kernel accelerator for virtio net (EXPERIMENTAL)

2. Enable Virtual Networking

Networking support --->
    Networking options --->
        <*> 802.1d Ethernet Bridging
Device Drivers --->
    [*] Network device support --->
        [*]   Network core driver support
           <*> Universal TUN/TAP device driver support

enable

CONFIG_VFIO

CONFIG_VFIO_PCI

  Device Drivers->

           VFIO Non-Privileged userspace driver framework--->

                VFIO support for PCI devices

guest kernel:

1.Enabling Network and Block Virtual I/O

Device Drivers --->
    Virtio drivers --->
        PCI driver for virtio devices

Device Drivers --->
    [*] Block devices --->
        <*> Virtio block driver
Device Drivers --->
    [*] Network device support --->
        [*]   Network core driver support
             <*> Virtio network drive

for e6500:

    qemu-system-ppc64 -enable-kvm -m 512 -nographic -M ppce500 -kernel uImage -initrd rootfs.ext2.gz -append "root=/dev/ram rw console=ttyS0,115200" -serial tcp::4444,server,telnet -net nic -S
    <qemu> c

   after guest bootuping, you can quit qemu monitor by input 'q' letter.
    <qemu> q

on guest console:

telnet 192.168.1.xxx  4444

 
0 Kudos