From a4a0342cf59a1bff43ed79586065eb97dba0cddb Mon Sep 17 00:00:00 2001 From: Tom Eccles Date: Fri, 9 Oct 2020 15:16:10 +0100 Subject: [PATCH 1/2] ci: disabled: riscv: work around QEMU regression This bumps the version of the bbl bootloader not to perform 64-bit accesses to the PLIC. Doing so resulted in the QEMU test machine to fail to boot: bbl loader ../machine/mtrap.c:21: machine mode: unhandlable trap 7 @ 0x0000000080001f6e Power off Signed-off-by: Tom Eccles --- .../docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile b/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile index 3c39a63849640..f3f52ed61d133 100644 --- a/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile +++ b/src/ci/docker/host-x86_64/disabled/riscv64gc-linux/Dockerfile @@ -84,9 +84,9 @@ RUN riscv64-linux-gnu-gcc addentropy.c -o rootfs/addentropy -static # download and build the riscv bootloader RUN git clone https://github.com/riscv/riscv-pk WORKDIR /tmp/riscv-pk -# nothing special about this revision: it is just master at the time of writing -# v1.0.0 doesn't build -RUN git checkout 5d9ed238e1cabfbca3c47f50d32894ce94bfc304 +# This revision fixes a fault in recent QEMU from 64-bit accesses to the PLIC +# commits later than this one should work too +RUN git checkout 7d8b7c0dab72108e3ea7bb7744d3f6cc907c7ef4 RUN mkdir build && cd build && \ ../configure --with-payload=/tmp/vmlinux --host=riscv64-linux-gnu && \ make -j$(nproc) && \ From e0b033e965a7d422da70a409a028af7c8b64e709 Mon Sep 17 00:00:00 2001 From: Tom Eccles Date: Fri, 9 Oct 2020 17:36:35 +0100 Subject: [PATCH 2/2] doc: fix broken link for crate::os::linux::raw::stat Fixing: Documenting std v0.0.0 (/checkout/library/std) error: `self::os::linux::raw::stat` is both a struct and a function --> library/std/src/os/linux/fs.rs:23:19 | 23 | /// [`stat`]: crate::os::linux::raw::stat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link | = note: `-D broken-intra-doc-links` implied by `-D warnings` help: to link to the struct, prefix with `struct@` | 23 | /// [`stat`]: struct@self::os::linux::raw::stat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: to link to the function, add parentheses | 23 | /// [`stat`]: self::os::linux::raw::stat() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error error: could not document `std` Signed-off-by: Tom Eccles --- library/std/src/os/linux/fs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/std/src/os/linux/fs.rs b/library/std/src/os/linux/fs.rs index ff23c3d67e3b4..9b7af97616c9d 100644 --- a/library/std/src/os/linux/fs.rs +++ b/library/std/src/os/linux/fs.rs @@ -20,7 +20,7 @@ pub trait MetadataExt { /// Unix platforms. The `os::unix::fs::MetadataExt` trait contains the /// cross-Unix abstractions contained within the raw stat. /// - /// [`stat`]: crate::os::linux::raw::stat + /// [`stat`]: struct@crate::os::linux::raw::stat /// /// # Examples ///