On Sun, May 17, 2020 at 09:29:32PM -0700, Guenter Roeck wrote:
On Sun, May 17, 2020 at 08:49:39PM -0700, Ira Weiny wrote:
On Sat, May 16, 2020 at 03:33:06PM -0700, Guenter Roeck wrote:
On Thu, May 07, 2020 at 07:59:55AM -0700, ira.weiny@intel.com wrote:
From: Ira Weiny ira.weiny@intel.com
Every single architecture (including !CONFIG_HIGHMEM) calls...
pagefault_enable(); preempt_enable();
... before returning from __kunmap_atomic(). Lift this code into the kunmap_atomic() macro.
While we are at it rename __kunmap_atomic() to kunmap_atomic_high() to be consistent.
Reviewed-by: Christoph Hellwig hch@lst.de Signed-off-by: Ira Weiny ira.weiny@intel.com
This patch results in:
Starting init: /bin/sh exists but couldn't execute it (error -14)
when trying to boot microblazeel:petalogix-ml605 in qemu.
Thanks for the report. I'm not readily seeing the issue.
Do you have a kernel config? Specifically is CONFIG_HIGHMEM set?
See below. Yes, CONFIG_HIGHMEM is set.
The scripts used to build and boot the image are at:
https://github.com/groeck/linux-build-test/tree/master/rootfs/microblazeel
Despite finding the obvious error earlier today I've still been trying to get this to work.
I had to make some slight modifications to use the 0-day cross compile build and my local qemu build. But those were pretty minor modifications. I'm running on x86_64 host.
With those slight mods to the scripts I get the following error even without my patch set on 5.7-rc4. I have 1 cpu pegged at 100% while it is running... Is there anything I can do to get more debug output? Perhaps I just need to let it run longer?
Thanks, Ira
16:46:54 > ../linux-build-test/rootfs/microblazeel/run-qemu-microblazeel.sh Build reference: v5.7-rc4-2-g7c2411d7fb6a
Building microblaze:petalogix-s3adsp1800:qemu_microblazeel_defconfig ... running ................ failed (silent) ------------ qemu log: qemu-system-microblazeel: terminating on signal 15 from pid 3277686 (/bin/bash) ------------ Building microblaze:petalogix-ml605:qemu_microblazeel_ml605_defconfig ... running ................ failed (silent) ------------ qemu log: qemu-system-microblazeel: terminating on signal 15 from pid 3277686 (/bin/bash) ------------
<env changes> 16:47:23 > git di diff --git a/rootfs/microblazeel/run-qemu-microblazeel.sh b/rootfs/microblazeel/run-qemu-microblazeel.sh index 68d4de39ab50..0d6a4f85308f 100755 --- a/rootfs/microblazeel/run-qemu-microblazeel.sh +++ b/rootfs/microblazeel/run-qemu-microblazeel.sh @@ -3,7 +3,8 @@ dir=$(cd $(dirname $0); pwd) . ${dir}/../scripts/common.sh
-QEMU=${QEMU:-${QEMU_BIN}/qemu-system-microblazeel} +#QEMU=${QEMU:-${QEMU_BIN}/qemu-system-microblazeel} +QEMU=/home/iweiny/dev/qemu/microblazeel-softmmu/qemu-system-microblazeel PREFIX=microblazeel-linux- ARCH=microblaze PATH_MICROBLAZE=/opt/kernel/microblazeel/gcc-4.9.1/usr/bin diff --git a/rootfs/scripts/common.sh b/rootfs/scripts/common.sh index 8fa6a9be2b2f..c4550a27beaa 100644 --- a/rootfs/scripts/common.sh +++ b/rootfs/scripts/common.sh @@ -1,5 +1,9 @@ #!/bin/bash
+# Set up make.cross +export COMPILER_INSTALL_PATH=$HOME/0day +export GCC_VERSION=6.5.0 + # Set the following variable to true to skip DC395/AM53C97 build tests __skip_dc395=0
@@ -569,7 +573,7 @@ doclean() then git clean -x -d -f -q else - make ARCH=${ARCH} mrproper >/dev/null 2>&1 + make.cross ARCH=${ARCH} mrproper >/dev/null 2>&1 fi }
@@ -669,7 +673,7 @@ __setup_config() cp ${__progdir}/${defconfig} arch/${arch}/configs fi
- if ! make ARCH=${ARCH} CROSS_COMPILE=${PREFIX} ${defconfig} >/dev/null 2>&1 </dev/null; then + if ! make.cross ARCH=${ARCH} ${defconfig} >/dev/null 2>&1 </dev/null; then return 2 fi
@@ -687,7 +691,7 @@ __setup_config() if [[ "${rel}" = "v3.16" ]]; then target="oldconfig" fi - if ! make ARCH=${ARCH} CROSS_COMPILE=${PREFIX} ${target} >/dev/null 2>&1 </dev/null; then + if ! make.cross ARCH=${ARCH} ${target} >/dev/null 2>&1 </dev/null; then return 1 fi fi @@ -1038,7 +1042,7 @@ dosetup() rootfs="$(setup_rootfs ${dynamic} ${rootfs})" __common_fixups "${fixups}" "${rootfs}"
- make -j${maxload} ARCH=${ARCH} CROSS_COMPILE=${PREFIX} ${EXTRAS} </dev/null >/dev/null 2>${logfile} + make.cross -j${maxload} ARCH=${ARCH} ${EXTRAS} </dev/null >/dev/null 2>${logfile} rv=$? if [ ${rv} -ne 0 ] then
</env changes>