summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/qemuppc.conf
AgeCommit message (Collapse)Author
2020-09-24qemuboot: Add QB_RNG variableKhem Raj
RNG passthru has been enabled on all qemu machines but its being added to each one of them, with this patch its turned into QB variables which defaults to host passthru, yet it can be overridden if needed via machine or config metadata if needed. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-23qemu: uprev v4.2.0 -> v5.0.0Sakib Sajal
Major update after v4.2. Changes: - os_find_datadir() was changed after the v4.2 release causing v5.0 to not find the bios and not boot the image. Fix is sent to upstream qemu. See: qemu/find_datadir.patch - v5.0 binary had host contamination for dynamically linked libraries, "--extra-ldflags='${LDFLAGS}'" in EXTRA_OECONF resolved the issue - bluetooth code was removed: qemu.git$ git show 1d4ffe8dc7 hence removed PACKAGECONFIG[bluez] - -show-cursor qemu option is now deprecated, updated scripts/runqemu to use updated option instead - added PACKAGECONFIG definitions - added qemu-ptest to conf/distro/include/ptest-packagelists.inc - increased support for ARM architecture, cpu and board - removed patches merged upstream and refreshed existing ones Testing: Build core-image-minimal against the machines in openembedded-core/meta/conf/machine and succesfully booted with qemu v5.0 Ran qemu-ptest on x86-64 and arm64 with identical results: PASS: 1166 SKIP: 0 FAIL: 0 Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-03-29machine: clean up config filesJon Mason
Beautify the machine config files by making the names and descriptions more uniform and verbose Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-13machine/qemu*: fix kernel finish crng init more and more slowlyHongxu Jia
Just adding `-device virtio-rng-pci' to the QEMU invocation will add the device with a default host backend. As of QEMU 1.3+, the default backend is to use the host's /dev/random as a source of entropy. [1] When the entropy pool is empty, reads from /dev/random will block until additional environmental noise is gathered. [2] For Yocto, if call runqemu frequently, it will consume lots of host's /dev/random, and kernel finish crng init in guest get more and more slowly. Here are 4 times runqemu boot test: [ 3.464432] random: crng init done [ 20.874030] random: crng init done [ 23.583589] random: crng init done [ 23.858945] random: crng init done Modify entropy source to /dev/urandom device on the host which returns random bytes using a pseudorandom number generator seeded from the entropy pool. Reads from this device do not block and kernel finish crng init in guest will not delay. Of course, the side effect is obviously, we lost the quality of randomness, but the modification is only on runqemu script rather than real embedded device, and it benefits oeqa efficiency in which many cases call runqemu especially multiple oeqa builds on one host. After apply the fix: [ 3.364670] random: crng init done [ 4.619061] random: crng init done [ 3.403897] random: crng init done [ 3.450717] random: crng init done [1] https://wiki.qemu.org/Features/VirtIORNG [2] http://man7.org/linux/man-pages/man4/random.4.html Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19qemu conf: replace deprecated option with new optionChen Qi
Replace the deprecated '-usbdevice' option with '-device usb-xx' option. This would fix runqemu boot error like below. '-usbdevice' is deprecated, please use '-device usb-...' instead Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23runqemu: fixes for slirp, network device and hostfwdRobert Yang
Fixed: - Add QB_NETWORK_DEVICE to set network device, it will be used by both slirp and tap. - Set QB_NETWORK_DEVICE to "-device virtio-net-pci" in qemuboot.bbclass but runqemu will default to "-device e1000" when QB_NETWORK_DEVICE is not set, this is because oe-core's qemu targets support virtio-net-pci, but the one outside of oe-core may not, "-device e1000" is more common. - Set hostfwd by default: 2222 -> 22, 2323 -> 23, and it will choose a usable port when the one like 222 is being used. This can avoid conflicts when multilib slirp qemus are running. We can forward more ports by default if needed, and bsp.conf can custom it. - Use different mac sections for slirp and tap to fix conflicts when running both of them on the same host. [YOCTO #7887] CC: Nathan Rossi <nathan@nathanrossi.com> CC: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2016-12-13Use weak assignment for SERIAL_CONSOLES in qemu configuration filesChen Qi
Use weak assignment for SERIAL_CONSOLES in qemu configuration files so that the value could serve as a default value and could be easily overridden in configuration files like local.conf. When using the default value for SERIAL_CONSOLES in qemux86-64,we would have annoying messages on console complaining about respawning getty on ttyS1. Although the value is set by purpose, at least we need to provide an easy way to override it. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-27machine/qemu*: Add comment regarding the reason for virtio-rng-pciNathan Rossi
Bring across the comment that was in runqemu regarding why the virtio-rng-pci device was needed. This comment is added to each location where the virtio-rng-pci device is added. Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-23runqemu: Move virtio RNG to machine configurationNathan Rossi
Not all QEMU machines (outside of those available in OE-Core) are capable of using the virtio-rng-pci device due to various machine models not having a pci/virtio bus. This makes it such that the use of the '-device virtio-rng-pci' flag to QEMU is machine specific. This patch removes the general addition of the flag to all runqemu targets and adds the flag into the QB_OPT_APPEND for all the qemu* machines in OE-Core that support its use (which is all of them). Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-19qemuppc.conf: adjust kernel consoleRobert Yang
Fixed kernel trace when booting: [ 12.825809] random: crng init done [ 13.918323] irq 36: nobody cared (try booting with the "irqpoll" option) [ 13.924821] CPU: 0 PID: 335 Comm: getty Not tainted 4.8.0-rc5-yocto-standard #1 [ 13.930492] Call Trace: [ 13.936214] [cff73f20] [c00790f0] __report_bad_irq.isra.0+0x3c/0x128 (unreliable) [ 13.941908] [cff73f40] [c0079518] note_interrupt+0x2b8/0x304 [ 13.947265] [cff73f70] [c00766f4] handle_irq_event_percpu+0x5c/0x74 [ 13.952503] [cff73f90] [c0076768] handle_irq_event+0x5c/0xdc [ 13.957667] [cff73fa0] [c007a29c] handle_fasteoi_irq+0xdc/0x234 [ 13.962984] [cff73fc0] [c007592c] generic_handle_irq+0x3c/0x58 [ 13.968288] [cff73fd0] [c0006c74] __do_irq+0x54/0x18c [ 13.973612] [cff73ff0] [c000f9c8] call_do_irq+0x24/0x3c [ 13.978742] [cf0cdb70] [c0006e40] do_IRQ+0x94/0x110 [ 13.983992] [cf0cdba0] [c001215c] ret_from_except+0x0/0x14 [ 13.989281] --- interrupt: 501 at pmz_set_termios+0x130/0x6d8 [ 13.989281] LR = pmz_set_termios+0xf0/0x6d8 [ 13.999353] [cf0cdc90] [c049f130] uart_change_speed.isra.2+0x60/0x168 [ 14.004436] [cf0cdcb0] [c049fdbc] uart_startup.part.8+0xec/0x1e0 [ 14.009625] [cf0cdce0] [c04a0ab4] uart_open+0x138/0x16c [ 14.014723] [cf0cdd00] [c047e510] tty_open+0x118/0x65c [ 14.019743] [cf0cdd60] [c01894c8] chrdev_open+0xdc/0x1e0 [ 14.024616] [cf0cdd90] [c01807d0] do_dentry_open+0x23c/0x358 [ 14.029418] [cf0cddc0] [c0194878] path_openat+0x58c/0x1084 [ 14.034054] [cf0cde50] [c01965b4] do_filp_open+0xbc/0x10c [ 14.038539] [cf0cdf00] [c01822fc] do_sys_open+0x154/0x224 [ 14.043105] [cf0cdf40] [c0011a44] ret_from_syscall+0x0/0x38 [ 14.047828] --- interrupt: c01 at 0xfeef5a0 [ 14.047828] LR = 0xfeef544 [ 14.056543] handlers: [ 14.060980] [<c04a2b10>] pmz_interrupt [ 14.065468] Disabling IRQ #36 Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09runqemu: Allow unique network interface MAC addressesRichard Purdie
Current qemu instances all share the same MAC address. This shouldn't be an issue as they are all on separate network interfaces, however on the slight chance this is causing problems, its easy enough to ensure we use unique MAC addresses based on the IP numbers we assign. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09qemuppc: Use virtio networking instead of pcnetRichard Purdie
qemuppc can use virtio networking and we may as well do so for better prformance as we do under the other emulated hardware. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-09qemuppc.conf: set vars for runqemuRobert Yang
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-30gcc, qemuppc: Explicitly disable forcing SPE flagsKhem Raj
G4 does not have SPE, so we make that explicit in the tune files and since we emulate G4 when building Qemu, we ensure it for qemuppc as well. GCC config for powerpc-linux is made to include SPE by default which is equivalent if the tripet was powerpc-linux*spe, this forces gcc to configure assembler to enable -mspe by default, when we do that then the kernel fails to compile with binutils 2.26, since newer assembler is smart to detect the tlbia instructions are not compatible with SPE and hence the kernel build breaks rightly. We configure the kernel for G4 as well where it enables tlbia instrucitons rightly so because it thinks its being configured for power4. So we keep the options but do not force -mspe down to assembler as default. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-24qemurunner: Use two serial ports and log console with a threadRandy Witt
qemu can freeze and stop responding if the socket buffer connected to a tcp serial connection fills up. This happens of course when the reader of the serial data doesn't actually read it. This happened in the qemurunner code, because after checking for the "login:" sentinel, data was never again read from the serial connection. This patch solves the potential freeze by adding a thread to continuously read the data from the console and log it. So it also will give a full log of the console, rather than just up to the login prompt. To simplify this patch, another serial port was also added to use for the sole purpose of watching for the sentinel as well as being the interactive serial port. This will also prevent the possibility of lots of debug data on the console preventing the sentinel value from being seen due to interleaved text. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2013-08-20qemuppc: Change default tune to 74xxKhem Raj
We use mac99 as platform for qemuppc lets choose a tuning thats appropriate for it Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-01-17qemuppc: replace emulation of qemuppc from prep to mac99Liming Wang
With this new emulation, existing qemuppc functionality is maintained and other functionality such as framebuffer + sato and NFS boot are added. Signed-off-by: Liming Wang <liming.wang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2011-12-06conf/machine: Don't poke around providers which aren't machine specific/safeRichard Purdie
Machines shouldn't be poking around PREFERRED_PROVIDERS which aren't machine specific or at least machine safe. Kernels are machine specific and the xserver is selectable. libx11 and mesa are now really a distro choice and machine configurations shouldn't be poking around them as it just leads to corruption, conflicts and confusion. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-22conf/machine/tune: Overhaul tune include file variablesRichard Purdie
There is currently consideradble confusion over how the tune files operate and how these interact with the rest of the build system. This update/overhaul changes things so the tune files are primarily resonsible for setting: TUNE_ARCH - What was formerly set as TARGET_ARCH and is the value that represents the architecture we're targetting. TUNE_PKGARCH - The value that represents the tune confuration that this set of tune parameters results in. This allows the significant improvement that the core can now always determine the target architecture value, even when TARGET_ARCH needs to be reset to something different and likewise, there is one package architecture variable the core can reference allowing simplification of the BASE_PACKAGE_ARCH, PACKAGE_ARCH and FEED_ARCH variables. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-04qemuppc: add libqtopengl4 for ppcMei Lei
Modify some configs for ppc to enable the libqtopengl4 support. This fixes [YOCTO #848] Signed-off-by: Mei Lei <lei.mei@intel.com>
2011-01-10machines: move PACKAGE_EXTRA_ARCHS to tune filesKoen Kooi
This gets us closer to making including tune-<arch>.inc "just work". Moving the TARGET_ARCH definitions is something for a follup patch. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-07-19qemu machines: Switch to use linux-wrsBruce Ashfield
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2010-06-11qemuppc: Add ppc603e to PACKAGE_EXTRA_ARCHS, fixing image buildsRichard Purdie
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-05-18Move all QEMU machines to use a common kernel recipe set and versionJoshua Lock
The different kernel recipes encapsulate functionality groups for machines, therefore it makes sense to have all the QEMU machines using the same kernel recipe. Switch the QEMU machines to default to the "linux" recipes for their kernel and bump the latest recipe from linux-2.6.32 to 2.6.33. Signed-off-by: Joshua Lock <josh@linux.intel.com>
2010-01-19qemuppc: Add qemuppc machineJoshua Lock
Signed-off-by: Joshua Lock <josh@linux.intel.com>