From 8e115ab460032de8a3495588b642ca82892f93b1 Mon Sep 17 00:00:00 2001 From: Ting Liu Date: Sat, 18 Apr 2020 23:54:13 +0800 Subject: qemu-qoriq: upgrade to 4.1 Signed-off-by: Ting Liu --- ...0001-linux-user-remove-host-stime-syscall.patch | 67 ++++++++++++++++++++ ...age-ptest-which-runs-all-unit-test-cases-.patch | 33 ++++++++++ recipes-devtools/qemu/qemu-qoriq/memfd.patch | 41 ------------ recipes-devtools/qemu/qemu-qoriq/run-ptest | 2 +- recipes-devtools/qemu/qemu-qoriq_4.1.0.bb | 53 ++++++++++++++++ recipes-devtools/qemu/qemu-qoriq_git.bb | 73 ---------------------- 6 files changed, 154 insertions(+), 115 deletions(-) create mode 100644 recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch create mode 100644 recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch delete mode 100644 recipes-devtools/qemu/qemu-qoriq/memfd.patch create mode 100644 recipes-devtools/qemu/qemu-qoriq_4.1.0.bb delete mode 100644 recipes-devtools/qemu/qemu-qoriq_git.bb (limited to 'recipes-devtools') diff --git a/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch b/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch new file mode 100644 index 00000000..2d3bd7e0 --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq/0001-linux-user-remove-host-stime-syscall.patch @@ -0,0 +1,67 @@ +From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001 +From: Laurent Vivier +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 + #include + + 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 +Signed-off-by: Laurent Vivier +Reviewed-by: Peter Maydell +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 + diff --git a/recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch b/recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch new file mode 100644 index 00000000..7f7da510 --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq/0002-Add-subpackage-ptest-which-runs-all-unit-test-cases-.patch @@ -0,0 +1,33 @@ +From 8ee6281516bd9210e75e91d705da8916bab3bf51 Mon Sep 17 00:00:00 2001 +From: Juro Bystricky +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 + +Signed-off-by: Juro Bystricky + +--- + 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 diff --git a/recipes-devtools/qemu/qemu-qoriq/memfd.patch b/recipes-devtools/qemu/qemu-qoriq/memfd.patch deleted file mode 100644 index d9e7a455..00000000 --- a/recipes-devtools/qemu/qemu-qoriq/memfd.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d60ecdd94f4054aa0ec615824d5efdb4cebc7db9 Mon Sep 17 00:00:00 2001 -From: Ting Liu -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 -+#include - - 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 --#elif defined CONFIG_LINUX -+#if defined CONFIG_LINUX && !defined CONFIG_MEMFD - #include - #include - --- -2.7.4 - diff --git a/recipes-devtools/qemu/qemu-qoriq/run-ptest b/recipes-devtools/qemu/qemu-qoriq/run-ptest index 2206b319..b25a792d 100644 --- a/recipes-devtools/qemu/qemu-qoriq/run-ptest +++ b/recipes-devtools/qemu/qemu-qoriq/run-ptest @@ -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' diff --git a/recipes-devtools/qemu/qemu-qoriq_4.1.0.bb b/recipes-devtools/qemu/qemu-qoriq_4.1.0.bb new file mode 100644 index 00000000..1880c8ae --- /dev/null +++ b/recipes-devtools/qemu/qemu-qoriq_4.1.0.bb @@ -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 = "" + diff --git a/recipes-devtools/qemu/qemu-qoriq_git.bb b/recipes-devtools/qemu/qemu-qoriq_git.bb deleted file mode 100644 index 30d255ee..00000000 --- a/recipes-devtools/qemu/qemu-qoriq_git.bb +++ /dev/null @@ -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 = "" -- cgit v1.2.3-54-g00ecf