mirror of
git://git.yoctoproject.org/meta-freescale.git
synced 2025-10-22 23:02:20 +02:00
qemu-qoriq: upgrade to 4.1
Signed-off-by: Ting Liu <ting.liu@nxp.com>
This commit is contained in:
parent
9932e8145f
commit
8e115ab460
|
@ -0,0 +1,67 @@
|
|||
From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001
|
||||
From: Laurent Vivier <laurent@vivier.eu>
|
||||
Date: Tue, 12 Nov 2019 15:25:56 +0100
|
||||
Subject: [PATCH] linux-user: remove host stime() syscall
|
||||
|
||||
stime() has been withdrawn from glibc
|
||||
(12cbde1dae6f "Use clock_settime to implement stime; withdraw stime.")
|
||||
|
||||
Implement the target stime() syscall using host
|
||||
clock_settime(CLOCK_REALTIME, ...) as it is done internally in glibc.
|
||||
|
||||
Tested qemu-ppc/x86_64 with:
|
||||
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
time_t t;
|
||||
int ret;
|
||||
|
||||
/* date -u -d"2019-11-12T15:11:00" "+%s" */
|
||||
t = 1573571460;
|
||||
ret = stime(&t);
|
||||
printf("ret %d\n", ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
# date; ./stime; date
|
||||
Tue Nov 12 14:18:32 UTC 2019
|
||||
ret 0
|
||||
Tue Nov 12 15:11:00 UTC 2019
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Buglink: https://bugs.launchpad.net/qemu/+bug/1852115
|
||||
Reported-by: Cole Robinson <crobinso@redhat.com>
|
||||
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
|
||||
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
|
||||
Message-Id: <20191112142556.6335-1-laurent@vivier.eu>
|
||||
---
|
||||
linux-user/syscall.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
||||
index 4e97bcf1e5..ce399a55f0 100644
|
||||
--- a/linux-user/syscall.c
|
||||
+++ b/linux-user/syscall.c
|
||||
@@ -7764,10 +7764,12 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
||||
#ifdef TARGET_NR_stime /* not on alpha */
|
||||
case TARGET_NR_stime:
|
||||
{
|
||||
- time_t host_time;
|
||||
- if (get_user_sal(host_time, arg1))
|
||||
+ struct timespec ts;
|
||||
+ ts.tv_nsec = 0;
|
||||
+ if (get_user_sal(ts.tv_sec, arg1)) {
|
||||
return -TARGET_EFAULT;
|
||||
- return get_errno(stime(&host_time));
|
||||
+ }
|
||||
+ return get_errno(clock_settime(CLOCK_REALTIME, &ts));
|
||||
}
|
||||
#endif
|
||||
#ifdef TARGET_NR_alarm /* not on alpha */
|
||||
--
|
||||
2.24.0
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From 8ee6281516bd9210e75e91d705da8916bab3bf51 Mon Sep 17 00:00:00 2001
|
||||
From: Juro Bystricky <juro.bystricky@intel.com>
|
||||
Date: Thu, 31 Aug 2017 11:06:56 -0700
|
||||
Subject: [PATCH] Add subpackage -ptest which runs all unit test cases for
|
||||
qemu.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Kai Kang <kai.kang@windriver.com>
|
||||
|
||||
Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
|
||||
|
||||
---
|
||||
tests/Makefile.include | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/tests/Makefile.include b/tests/Makefile.include
|
||||
index 8566f5f1..52d0320b 100644
|
||||
--- a/tests/Makefile.include
|
||||
+++ b/tests/Makefile.include
|
||||
@@ -1210,4 +1210,12 @@ all: $(QEMU_IOTESTS_HELPERS-y)
|
||||
-include $(wildcard tests/*.d)
|
||||
-include $(wildcard tests/libqos/*.d)
|
||||
|
||||
+buildtest-TESTS: $(check-unit-y)
|
||||
+
|
||||
+runtest-TESTS:
|
||||
+ for f in $(check-unit-y); do \
|
||||
+ nf=$$(echo $$f | sed 's/tests\//\.\//g'); \
|
||||
+ $$nf; \
|
||||
+ done
|
||||
+
|
||||
endif
|
|
@ -1,41 +0,0 @@
|
|||
From d60ecdd94f4054aa0ec615824d5efdb4cebc7db9 Mon Sep 17 00:00:00 2001
|
||||
From: Ting Liu <ting.liu@nxp.com>
|
||||
Date: Thu, 19 Apr 2018 11:47:16 +0800
|
||||
Subject: [PATCH] memfd
|
||||
|
||||
---
|
||||
configure | 2 +-
|
||||
util/memfd.c | 4 +---
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index be4d326..cb5197c 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -3735,7 +3735,7 @@ fi
|
||||
# check if memfd is supported
|
||||
memfd=no
|
||||
cat > $TMPC << EOF
|
||||
-#include <sys/memfd.h>
|
||||
+#include <sys/mman.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
diff --git a/util/memfd.c b/util/memfd.c
|
||||
index 4571d1a..412e94a 100644
|
||||
--- a/util/memfd.c
|
||||
+++ b/util/memfd.c
|
||||
@@ -31,9 +31,7 @@
|
||||
|
||||
#include "qemu/memfd.h"
|
||||
|
||||
-#ifdef CONFIG_MEMFD
|
||||
-#include <sys/memfd.h>
|
||||
-#elif defined CONFIG_LINUX
|
||||
+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD
|
||||
#include <sys/syscall.h>
|
||||
#include <asm/unistd.h>
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
|
@ -7,4 +7,4 @@ ptestdir=$(dirname "$(readlink -f "$0")")
|
|||
export SRC_PATH=$ptestdir
|
||||
|
||||
cd $ptestdir/tests
|
||||
make -f Makefile.include -k runtest-TESTS | sed '/: OK/ s/^/PASS: /g'
|
||||
make -f Makefile.include -k runtest-TESTS | sed '/^ok /s/ok /PASS: /g'
|
||||
|
|
53
recipes-devtools/qemu/qemu-qoriq_4.1.0.bb
Normal file
53
recipes-devtools/qemu/qemu-qoriq_4.1.0.bb
Normal file
|
@ -0,0 +1,53 @@
|
|||
BBCLASSEXTEND = ""
|
||||
|
||||
require recipes-devtools/qemu/qemu.inc
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq)"
|
||||
|
||||
DEPENDS = "glib-2.0 zlib pixman bison-native"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
|
||||
file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f"
|
||||
|
||||
SRC_URI = "gitsm://source.codeaurora.org/external/qoriq/qoriq-components/qemu;nobranch=1 \
|
||||
file://powerpc_rom.bin \
|
||||
file://run-ptest \
|
||||
file://0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch \
|
||||
file://0001-linux-user-remove-host-stime-syscall.patch \
|
||||
"
|
||||
|
||||
SRCREV = "521a0dcf59f1ca11e7d9e2f4e1ef3d2dfaebc0e4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
python() {
|
||||
d.appendVar('PROVIDES', ' ' + d.getVar('BPN').replace('-qoriq', ''))
|
||||
pkgs = d.getVar('PACKAGES').split()
|
||||
for p in pkgs:
|
||||
if '-qoriq' in p:
|
||||
d.appendVar('RPROVIDES_' + p, ' ' + p.replace('-qoriq', ''))
|
||||
d.appendVar('RCONFLICTS_' + p, ' ' + p.replace('-qoriq', ''))
|
||||
d.appendVar('RREPLACES_' + p, ' ' + p.replace('-qoriq', ''))
|
||||
}
|
||||
|
||||
RDEPENDS_${PN}_class-target += "bash"
|
||||
|
||||
EXTRA_OECONF_append_class-target = " --target-list=${@get_qemu_target_list(d)}"
|
||||
EXTRA_OECONF_append_class-target_mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
|
||||
EXTRA_OECONF_append_class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
|
||||
|
||||
do_install_append_class-nativesdk() {
|
||||
${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
|
||||
}
|
||||
|
||||
PACKAGECONFIG ??= " \
|
||||
fdt sdl kvm \
|
||||
${@bb.utils.filter('DISTRO_FEATURES', 'alsa xen', d)} \
|
||||
"
|
||||
PACKAGECONFIG_class-nativesdk ??= "fdt sdl kvm"
|
||||
|
||||
PACKAGECONFIG[xkbcommon] = ",,"
|
||||
PACKAGECONFIG[libudev] = ",,"
|
||||
|
||||
DISABLE_STATIC = ""
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
require recipes-devtools/qemu/qemu.inc
|
||||
|
||||
inherit ptest
|
||||
|
||||
RDEPENDS_${PN}-ptest = "bash make"
|
||||
DEPENDS = "glib-2.0 zlib pixman dtc"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
|
||||
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
|
||||
|
||||
SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/qemu;nobranch=1 \
|
||||
file://powerpc_rom.bin \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
SRCREV = "ca6417b6c3fa7a965d021c98d079a1895c973dbb"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_MACHINE = "(qoriq|imx)"
|
||||
|
||||
PROVIDES = "qemu"
|
||||
|
||||
python() {
|
||||
pkgs = d.getVar('PACKAGES').split()
|
||||
for p in pkgs:
|
||||
if 'qemu-qoriq' in p:
|
||||
d.appendVar("RPROVIDES_%s" % p, p.replace('qemu-qoriq', 'qemu'))
|
||||
d.appendVar("RCONFLICTS_%s" % p, p.replace('qemu-qoriq', 'qemu'))
|
||||
d.appendVar("RREPLACES_%s" % p, p.replace('qemu-qoriq', 'qemu'))
|
||||
}
|
||||
|
||||
EXTRA_OECONF_append = " --python=python2.7"
|
||||
|
||||
PPC_OECONF = '--enable-fdt --enable-kvm --with-system-pixman --disable-werror'
|
||||
EXTRA_OECONF_qoriq-arm64 = "--prefix=${prefix} --target-list=aarch64-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror"
|
||||
EXTRA_OECONF_qoriq-arm = "--prefix=${prefix} --target-list=arm-softmmu --enable-fdt --enable-kvm --with-system-pixman --disable-werror"
|
||||
EXTRA_OECONF_e5500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
|
||||
EXTRA_OECONF_e6500-64b = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
|
||||
EXTRA_OECONF_e6500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
|
||||
EXTRA_OECONF_e5500 = "--prefix=${prefix} --target-list=ppc64-softmmu ${PPC_OECONF}"
|
||||
EXTRA_OECONF_e500v2 = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}"
|
||||
EXTRA_OECONF_e500mc = "--prefix=${prefix} --target-list=ppc-softmmu ${PPC_OECONF}"
|
||||
|
||||
DISABLE_STATIC = ""
|
||||
|
||||
do_install_append() {
|
||||
# Prevent QA warnings about installed ${localstatedir}/run
|
||||
if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
|
||||
install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
|
||||
}
|
||||
|
||||
do_compile_ptest() {
|
||||
make buildtest-TESTS
|
||||
}
|
||||
|
||||
do_install_ptest() {
|
||||
cp -rL ${B}/tests ${D}${PTEST_PATH}
|
||||
find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcod]" | xargs -i rm -rf {}
|
||||
|
||||
cp ${S}/tests/Makefile.include ${D}${PTEST_PATH}/tests
|
||||
# Don't check the file genreated by configure
|
||||
sed -i -e '/wildcard config-host.mak/d' \
|
||||
-e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include
|
||||
}
|
||||
|
||||
INSANE_SKIP_${PN} += "already-stripped"
|
||||
FILES_${PN} += "/usr/share/qemu/* /usr/var/*"
|
||||
|
||||
# FIXME: Avoid WARNING due missing patch for native/nativesdk
|
||||
BBCLASSEXTEND = ""
|
Loading…
Reference in New Issue
Block a user