Hi Chris,

I just updated the sel4test today. And the problem seems to be gone. Now
the processor can jump to kernel entry and finish the sel4test.

The only issue now is I have to execute init_build.sh and ninja twice to
make "-DKernelPlatformSpikeRocketChip" flag effective. Perhaps I didn't do
it correctly, since I am not very familiar with cmake.

init_build.sh file is modified to initilize cmake with
-DKernelPlatformSpikeRocketChip:

# Initialize cmake
cmake -DKernelPlatformSpikeRocketChip=ON
-DCMAKE_TOOLCHAIN_FILE=${SCRIPT_PATH}/kernel/gcc.cmake -G Ninja $@
${SCRIPT_PATH} && cmake ${SCRIPT_PATH} && cmake ${SCRIPT_PATH}

Executing init_build.sh && ninja once does not
set CONFIG_BUILD_ROCKET_CHIP_ZEDBOARD in kernel/gen_config/kernel/gen_
config.h. And, elf_loader loads kernel to paddr=[c0000000..c0026fff], which
is out of 256M memory space.

Cmake log:
-- The C compiler identification is GNU 7.2.0
-- The CXX compiler identification is GNU 7.2.0
-- Check for working C compiler:
/home/lituo/workspace/riscv/sel4test/riscv-tools/bin/riscv64-unknown-elf-gcc
-- Check for working C compiler:
/home/lituo/workspace/riscv/sel4test/riscv-tools/bin/riscv64-unknown-elf-gcc
-- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler:
/home/lituo/workspace/riscv/sel4test/riscv-tools/bin/riscv64-unknown-elf-g++
-- Check for working CXX compiler:
/home/lituo/workspace/riscv/sel4test/riscv-tools/bin/riscv64-unknown-elf-g++
-- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler:
/home/lituo/workspace/riscv/sel4test/riscv-tools/bin/riscv64-unknown-elf-gcc
-- Performing test HARD_FLOAT with flags -mfloat-abi=hard
-- Test HARD_FLOAT FAILED
-- Performing test SOFTFP_FLOAT with flags -mfloat-abi=softfp
-- Test SOFTFP_FLOAT FAILED
CMake Warning at tools/seL4/cmake-tool/flags.cmake:123 (message):
  Kernel supports hardware floating point but toolchain does not
Call Stack (most recent call first):
  tools/seL4/cmake-tool/base.cmake:58 (include)
  tools/seL4/cmake-tool/all.cmake:16 (include)
  CMakeLists.txt:21 (include)


-- Configuring done
-- Generating done
-- Build files have been written to:
/home/lituo/workspace/riscv/sel4test/build-riscv
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/lituo/workspace/riscv/sel4test/build-riscv
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/lituo/workspace/riscv/sel4test/build-riscv

elfloader output:
bbl loader
ELF-loader started on
  paddr=[80200000..805cbe7f]
ELF-loading image 'kernel'
  paddr=[c0000000..c0026fff]
  vaddr=[ffffffff80000000..ffffffff80026fff]
  virt_entry=ffffffff80000000

What I did is executing init_build.sh && ninja twice. This seems to
make -DKernelPlatformSpikeRocketChip
flag effective.

elfloader output:
bbl loader
ELF-loader started on
  paddr=[80200000..805cc27f]
ELF-loading image 'kernel'
  paddr=[88000000..88027fff]
  vaddr=[ffffffff80000000..ffffffff80027fff]
  virt_entry=ffffffff80000000
ELF-loading image 'sel4test-driver'
  paddr=[88028000..8838efff]
  vaddr=[10000..376fff]
  virt_entry=3a8ee
Jumping to kernel-image entry point...


Thanks,
Tuo


On Tue, Sep 4, 2018 at 10:58 PM Chris Guikema <chris.guik...@dornerworks.com>
wrote:

> Hi Tuo,
>
>
>
> Can you send a log of what your build process is, including Cmake steps
> and elfloader output?
>
>
>
> The kernel should have a BUILD_ROCKET_CHIP_ZEDBOARD option, which can be
> initialized with the –DkernelPlatformSpikeRocketChip flag in Cmake. Can you
> also look at the “kernel/gen_config/kernel/gen_config.h” file to see if
> CONFIG_BUILD_ROCKET_CHIP_ZEDBOARD is being set.
>
>
>
> Chris Guikema
>
> DornerWorks Ltd.
>
>
>
> *From:* Devel [mailto:devel-bounces@sel4.systems] *On Behalf Of *Tuo Li
> *Sent:* Sunday, September 2, 2018 11:10 PM
> *To:* devel@sel4.systems
> *Subject:* [seL4] issues in running sel4test on RISC-V rocket-chip FPGA
>
>
> CAUTION: This email originated from outside the organization. Do not click
> links or open attachments unless you recognize the sender and know the
> content is safe.
>
> Hi guys,
>
>
>
> I have ported rocket chip (github.com/ucb-bar/fpga-zynq) on a ZCU102 FPGA
> board and it successfully runs riscv-linux. It's RV64G RISC-V.
>
>
>
> I am trying to run sel4test on the same hardware system. So far, the
> system gives no output after "Jumping to kernel-image entry point..." and
> seems to be stuck there.
>
>
>
> The same code has been tested on qemu simulator targeting spike 1.10 with
> the same device tree, following the online guide (
> https://docs.sel4.systems/Hardware/RISCV.html). No problem.
>
>
>
> I have seen this thread (
> http://sel4.systems/pipermail/devel/2018-August/002069.html), and used
> the solution provided for modifying the paddr range.
>
>
>
> I tried to add a few printf statements and even a fail statement in the
> boot.c file in kernel/src/arch/riscv/kernel/, which I guess is the first
> function executed after head.S. Same problem happens.
>
>
>
> Any suggestions? Thanks.
>
>
>
>
>
> Best regards,
> Tuo
>
>
>
>
>
_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to