From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.windriver.com (mail.windriver.com [147.11.1.11]) by mail.openembedded.org (Postfix) with ESMTP id C59A77318E for ; Thu, 18 Aug 2016 09:50:59 +0000 (UTC) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail.windriver.com (8.15.2/8.15.1) with ESMTPS id u7I9p0tl026914 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL) for ; Thu, 18 Aug 2016 02:51:00 -0700 (PDT) Received: from [128.224.162.240] (128.224.162.240) by ALA-HCA.corp.ad.wrs.com (147.11.189.40) with Microsoft SMTP Server id 14.3.248.2; Thu, 18 Aug 2016 02:50:59 -0700 To: References: From: Robert Yang Message-ID: <54c03f3a-3752-b1cf-fd89-5f541f0639b9@windriver.com> Date: Thu, 18 Aug 2016 17:50:58 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: Subject: V2 Re: [PATCH 0/8] runqemu: refactor it and remove machine knowledge X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Aug 2016 09:51:01 -0000 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit Hi, Here is V2, mainly fix RP's comments: (talked via IRC) * Remove a kvm commit message since qemu-kvm can only run target when its arch is the same as the host arch: The kvm support is not limited on x86 or x86_64 * Fix a typo in commit message: qemu-boot.bbclass -> qemuboot.bbclass, You may wonder why I use qemuboot.bbclass but not qemu-boot.bbclass, this is because the bbclass will save vars into qemuboot.py, the qemuboot.py can't be qemu-boot.py here, otherwise, "import qemu-boot.py" doesn't work since "-" is not a validate identifier, so use "qemuboot" to make them unify. * Reorder the patches to make sure they don't break the bisect build. * Update commit message: "Fix SLIRP mode" -> "Fix SLIRP mode, add help message, avoid mixing with tap" ====================== Updated in the repo: The following changes since commit ecc8d346223030ee06aa6d83427f757982e948e4: sanity: Require bitbake 1.31.1 for multi-config changes (2016-08-18 10:07:18 +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): qemuboot.bbclass: add it for runqemu 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 qemu.inc: inherit qemuboot.bbclass 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 | 1260 +++++++++++++++----------- scripts/runqemu-internal | 739 --------------- 10 files changed, 841 insertions(+), 1264 deletions(-) create mode 100644 meta/classes/qemuboot.bbclass delete mode 100755 scripts/runqemu-internal // Robert On 08/18/2016 02:15 PM, 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/.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 .tar.bz2 or tar.gz to > DEPLOY_DIR_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 >