summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorMartin Kelly <mkelly@xevo.com>2018-04-30 10:35:36 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-05-24 17:16:29 +0100
commit8c10e2e2c91f252103a03ca1920c3882ae2f815c (patch)
treee15eb55800feb20cda3309a9c515e37c8cac485c /documentation/dev-manual
parenta6b54193de7145090777b2e86a6af456bc34956a (diff)
downloadpoky-8c10e2e2c91f252103a03ca1920c3882ae2f815c.tar.gz
dev-manual: New section in QEMU for workaround under KVM
As suggested in a recent mail thread by Martin Jansa, there are cases in which QEMU under KVM will crash because of CPU feature incompatibilities between compiled binaries and the host CPU under which qemu is run. Although this is hard to fully escape, we should document the issue to help people work around it. I have taked Martin's suggested patch and did some rewording for the new section. (From yocto-docs rev: 6c625fcf631a82529bc58ec8fb0c18dbe13188d2) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-qemu.xml34
1 files changed, 34 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-qemu.xml b/documentation/dev-manual/dev-manual-qemu.xml
index f4719ebc3c..4e7b5de4e8 100644
--- a/documentation/dev-manual/dev-manual-qemu.xml
+++ b/documentation/dev-manual/dev-manual-qemu.xml
@@ -343,6 +343,40 @@
343 </para> 343 </para>
344 </section> 344 </section>
345 345
346 <section id='qemu-kvm-cpu-compatibility'>
347 <title>QEMU CPU Compatibility Under KVM</title>
348
349 <para>
350 By default, the QEMU build compiles for and targets 64-bit and x86
351 <trademark class='registered'>Intel</trademark> <trademark class='trademark'>Core</trademark>2
352 Duo processors and 32-bit x86
353 <trademark class='registered'>Intel</trademark> <trademark class='registered'>Pentium</trademark>
354 II processors.
355 QEMU builds for and targets these CPU types because they display
356 a broad range of CPU feature compatibility with many commonly
357 used CPUs.
358 </para>
359
360 <para>
361 Despite this broad range of compatibility, the CPUs could support
362 a feature that your host CPU does not support.
363 Although this situation is not a problem when QEMU uses software
364 emulation of the feature, it can be a problem when QEMU is
365 running with KVM enabled.
366 Specifically, software compiled with a certain CPU feature crashes
367 when run on a CPU under KVM that does not support that feature.
368 To work around this problem, you can override QEMU's runtime CPU
369 setting by changing the <filename>QB_CPU_KVM</filename>
370 variable in <filename>qemuboot.conf</filename> in the
371 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory's</ulink>
372 <filename>deploy/image</filename> directory.
373 This setting specifies a <filename>-cpu</filename> option
374 passed into QEMU in the <filename>runqemu</filename> script.
375 Running <filename>qemu -cpu help</filename> returns a list of
376 available supported CPU types.
377 </para>
378 </section>
379
346 <section id='qemu-dev-performance'> 380 <section id='qemu-dev-performance'>
347 <title>QEMU Performance</title> 381 <title>QEMU Performance</title>
348 382