From: Robert Yang <liezhi.yang@windriver.com>
To: Mark Hatle <mark.hatle@windriver.com>,
<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 0/8] runqemu: refactor it and remove machine knowledge
Date: Fri, 19 Aug 2016 09:06:22 +0800 [thread overview]
Message-ID: <85880f5d-89bf-a784-c617-08a3002bb8cd@windriver.com> (raw)
In-Reply-To: <25cd51bc-61e5-574d-65c0-542b2d2821a5@windriver.com>
On 08/19/2016 05:47 AM, Mark Hatle wrote:
> General comment on the patch set.
>
> I do like what this change is trying to accomplish. However, I think putting
> QEMU knowledge into the 'arch' is a bad idea -- unless it's being used to run
> the emulator for build-time work.
>
> The arch could very well be used by kernels that simply can't run in QEMU. I'd
> prefer if the QEMU settings were .inc files that were included into BSPs that
> were compatible or something like that -- keep them out of the tunes, but make
> it easy for a BSP creator to include them.
Hi Mark,
Thanks for your reply, did you mean the settings that I put into files
like arch-x86.inc ? The benefit is that we can reduce duplicated code,
otherwise we would have at least 4 copies for x86/x86_64, (qemux86, qemux86-64,
genericx86, genericx86-64 and perhaps more bsps out of oe-core. Put the
settings in files like arch-x86.inc is harmless in my opinion, and the bsp
conf files can override them easily.
// Robert
>
> --Mark
>
> On 8/18/16 1:15 AM, Robert Yang wrote:
>> Previously, runqemu had hard coded machine knowledge, which limited its
>> usage, for example, qemu can boot genericx86, but runqemu can't, we need
>> edit runqemu/runqemu-internal a lot if we want to boot genericx86.
>>
>> Now bsp conf files can set vars to make it can be boot by runqemu, and
>> qemuboot.bbclass will save these info to DEPLOY_DIR_IMAGE/qemuboot.py.
>> Please see qemuboot.bbclass' comments on how to set the vars.
>>
>> * Re-write it in python3, which can reduce lines from 1239 to about 750
>> lines
>> * All the machine knowledges are gone
>> * Most of the TUN_ARCH knowledge are gone except aarch64 and powerpc,
>> it's not easy to remove the two, so leave them there atm
>> * All the previous options are preserved, and there is a new way to run
>> runqemu: (it doesn't need run "bitake -e" in such a case)
>> $ runqemu tmp/deploy/images/qemux86
>> or:
>> $ runqemu tmp/deploy/images/qemuarm/<image>.ext4
>> or:
>> $ runqemu tmp/deploy/images/qemuarm/qemuboot.py
>> * Fixed audio support, not limited on x86 or x86_64
>> * The kvm support is not limited on x86 or x86_64
>> * Fix SLIRP mode
>> * Fix NFS boot, it will extract <image>.tar.bz2 or tar.gz to
>> DEPLOY_DIR_IMAGE/<image>-nfsroot when no NFS_DIR, and remove it after
>> stop.
>> * More bsps can be boot, such as genericx86 and genericx86-64.
>> * The patch for qemuzynq, qemuzynqmp, qemumicroblaze has been sent to
>> meta-xilinx' mailing list.
>> * I can't find any qemush4 bsp or how to build it, so it is not
>> considered atm.
>>
>> * Tested the following machines, all of them work well:
>> genericx86 genericx86-64
>> qemuarm qemuarm64
>> qemumips qemumips64 qemuppc
>> qemux86 qemux86-64
>> qemuzynq qemuzynqmp
>>
>> And also test "bitbake core-image-sato -ctestimage" which uses runqemu, it
>> also works.
>>
>> // Robert
>>
>> The following changes since commit c86bf80abd87acb0da5860806822c64ec9dee089:
>>
>> oeqa.buildperf: use oe.path.remove() (2016-08-17 10:35:27 +0100)
>>
>> are available in the git repository at:
>>
>> git://git.openembedded.org/openembedded-core-contrib rbt/runqemu
>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/runqemu
>>
>> Robert Yang (8):
>> qemu.inc: inherit qemu-boot.bbclass
>> arm: set vars for runqemu
>> qemuarm64.conf: set vars for runqemu
>> arch-x86.inc: set vars for runqemu
>> arch-mips.inc: set vars for runqemu
>> qemuppc.conf: set vars for runqemu
>> qemuboot.bbclass: add it for runqemu
>> runqemu: refactor it and remove machine knowledge
>>
>> meta/classes/qemuboot.bbclass | 59 ++
>> meta/conf/machine/include/mips/arch-mips.inc | 6 +
>> meta/conf/machine/include/qemu.inc | 2 +
>> meta/conf/machine/include/tune-cortexa8.inc | 4 +
>> meta/conf/machine/include/x86/arch-x86.inc | 15 +
>> meta/conf/machine/qemuarm.conf | 5 +
>> meta/conf/machine/qemuarm64.conf | 9 +
>> meta/conf/machine/qemuppc.conf | 6 +
>> scripts/runqemu | 1261 +++++++++++++++-----------
>> scripts/runqemu-internal | 739 ---------------
>> 10 files changed, 842 insertions(+), 1264 deletions(-)
>> create mode 100644 meta/classes/qemuboot.bbclass
>> delete mode 100755 scripts/runqemu-internal
>>
>
>
next prev parent reply other threads:[~2016-08-19 1:06 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-18 6:15 [PATCH 0/8] runqemu: refactor it and remove machine knowledge Robert Yang
2016-08-18 6:15 ` [PATCH 1/8] qemu.inc: inherit qemu-boot.bbclass Robert Yang
2016-08-18 6:15 ` [PATCH 2/8] arm: set vars for runqemu Robert Yang
2016-08-18 6:15 ` [PATCH 3/8] qemuarm64.conf: " Robert Yang
2016-08-18 6:15 ` [PATCH 4/8] arch-x86.inc: " Robert Yang
2016-08-18 6:15 ` [PATCH 5/8] arch-mips.inc: " Robert Yang
2016-08-18 6:15 ` [PATCH 6/8] qemuppc.conf: " Robert Yang
2016-08-18 6:15 ` [PATCH 7/8] qemuboot.bbclass: add it " Robert Yang
2016-08-18 6:15 ` [PATCH 8/8] runqemu: refactor it and remove machine knowledge Robert Yang
2016-08-18 9:50 ` V2 Re: [PATCH 0/8] " Robert Yang
2016-08-18 21:36 ` Alistair Francis
2016-08-18 21:39 ` Alistair Francis
2016-08-18 21:47 ` Mark Hatle
2016-08-19 1:06 ` Robert Yang [this message]
2016-08-19 1:45 ` Mark Hatle
2016-08-19 1:49 ` Robert Yang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85880f5d-89bf-a784-c617-08a3002bb8cd@windriver.com \
--to=liezhi.yang@windriver.com \
--cc=mark.hatle@windriver.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox