qemu-ppc
[Top][All Lists]
Advanced

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

Re: [Qemu-ppc] Adding canyonlands/460EX support to QEMU in qemu-system-p


From: Allen Kneser
Subject: Re: [Qemu-ppc] Adding canyonlands/460EX support to QEMU in qemu-system-ppc
Date: Tue, 26 Feb 2013 12:06:35 -0500

Hi Alexander,

I used the --enable-profiler switch in ./configure, booted Linux and then executed "info profile" and "info jit" and was able to get some numbers, perhaps you can take a look.

=======================================
(qemu) info profile
async time  441278495527 (441.278)
qemu time   373681012679 (373.681)
(qemu) info jit
Translation buffer state:
gen code size       27939072/134093824
TB count            113121/1048568
TB avg target size  17 max=1204 bytes
TB avg host size    246 bytes (expansion ratio: 13.7)
cross page TB count 0 (0%)
direct jump count   64225 (56%) (2 jumps=47630 42%)

Statistics:
TB flush count      0
TB invalidate count 26864
TLB flush count     3183996
JIT cycles          1661534016 (0.692 s at 2.4 GHz)
translated TBs      113121 (aborted=0 0.0%)
avg ops/TB          22.9 max=451
deleted ops/TB      6.33
avg temps/TB        178.98 max=186
cycles/op           640.4
cycles/in byte      816.3
cycles/out byte     61.4
  gen_interm time   13.5%
  gen_code time     86.5%
optim./code time    384.6%
liveness/code time  157.3%
cpu_restore count   592305
  avg cycles        20330.4

3,183,996 TLB flushes seems like a big number to me.

My build configuration is as follows:

==================
Install prefix    /usr/local
BIOS directory    /usr/local/share/qemu
binary directory  /usr/local/bin
library directory /usr/local/lib
libexec directory /usr/local/libexec
include directory /usr/local/include
config directory  /usr/local/etc
local state directory   /usr/local/var
Manual directory  /usr/local/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path       /opt/src/qemu-1.4.0
C compiler        cc
Host C compiler   cc
Objective-C compiler cc
CFLAGS            -O2 -D_FORTIFY_SOURCE=2 -g 
QEMU_CFLAGS       -fPIE -DPIE -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -fstack-protector-all -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -I/usr/include/p11-kit-1     -I/usr/include/libpng12   -I/usr/include/nss -I/usr/include/nspr   -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include   -I$(SRC_PATH)/pixman/pixman -I$(BUILD_DIR)/pixman/pixman
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g 
make              make
install           install
python            python
smbd              /usr/sbin/smbd
host CPU          x86_64
host big endian   no
target list       ppc-softmmu ppcemb-softmmu ppc-linux-user
tcg debug enabled no
gprof enabled     no
sparse enabled    no
strip binaries    yes
profiler          yes
static build      no
-Werror enabled   no
pixman            internal
SDL support       yes
curses support    yes
curl support      yes
mingw32 support   no
Audio drivers     oss
Extra audio cards ac97 es1370 sb16 hda
Block whitelist   
Mixer emulation   yes
VirtFS support    yes
VNC support       yes
VNC TLS support   yes
VNC SASL support  yes
VNC JPEG support  yes
VNC PNG support   yes
VNC WS support    yes
xen support       yes
brlapi support    yes
bluez  support    no
Documentation     yes
NPTL support      yes
GUEST_BASE        yes
PIE               yes
vde support       yes
Linux AIO support yes
ATTR/XATTR support yes
Install blobs     yes
KVM support       yes
TCG interpreter   yes
fdt support       yes
preadv support    yes
fdatasync         yes
madvise           yes
posix_madvise     yes
sigev_thread_id   yes
uuid support      yes
libcap-ng support yes
vhost-net support yes
Trace backend     nop
Trace output file trace-<pid>
spice support     no (/)
rbd support       yes
xfsctl support    no
nss used          yes
usb net redir     no
OpenGL support    yes
libiscsi support  no
build guest agent yes
seccomp support   no
coroutine backend ucontext
GlusterFS support no
virtio-blk-data-plane yes
gcov              gcov
gcov enabled      no

Thanks,
Allen


On Mon, Feb 25, 2013 at 11:22 PM, Allen Kneser <address@hidden> wrote:
Right, that is true, bad wording on my part :) I need to do this because I don't want to buy one or two more canyonlands. In my initial post, I mentioned I have a canyonlands, but I need a "virtual" one also.

Also, emulating two or more canyonlands on an actual canyonlands board would not be fast enough for my purposes, so that's why I was hoping to get the emulation running fast on x86.


On Mon, Feb 25, 2013 at 8:17 PM, Alexander Graf <address@hidden> wrote:

On 25.02.2013, at 21:19, Allen Kneser wrote:

>
>  > Correct. But if you have a canyonlands board you can run KVM on that one and execute a lot of the instructions natively.
>
> I see :) Unfortunately, this would defeat my purpose of emulating a canyonlands without buying one.

Why would you want to do kernel development for the canyonlands board without having one?

QEMU will not be 100% accurate in its emulation, so it'd be a bad idea to not verify that what you did actually works on real hardware. You can also ignore any performance indications you might get out of the emulation - it's very very skewed.


Alex




reply via email to

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