-
Notifications
You must be signed in to change notification settings - Fork 657
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to run Fedora (or large ramdiskfs) with Spike #950
Comments
I'm not sure whether this is an upstream issue (i.e. FireMarshal or Spike), or it's due to a particular combination/usage. |
I can reproduce on both Fedora and Buildroot. The limit seems to be around 128MB. It occurs on both Qemu and Spike for any no-disk build over that limit. We're looking into this. It's strange because this used to work and I can't think of anything we changed recently that would break it. It seems similar to a Linux bug we had a while ago but @a0u fixed that here. Maybe @a0u has some idea. |
Thanks a lot for looking into this. |
I've moved this bug over to firesim/FireMarshal#210 as this is a FireMarshal specific issue. |
This is a limitation of the v5.7 Linux kernel. The provisional page tables created when virtual memory is first enabled can map at most a certain range, hardcoded to be only 128 MiB by default. If the size of the kernel image exceeds this limit, then In #define MAX_EARLY_MAPPING_SIZE 0x200000000UL /* 8 GiB */ Fortunately, it appears this limitation has been fixed as of v5.12 (torvalds/linux@0f02de4). |
Impact: software (FireMarshal)| Spike
Tell us about your environment:
Chipyard Version: 1.5.0 (
b5d013190d637e634113cb5179f8c8885df1945a
)OS:
5.4.0-80-generic #90~18.04.1-Ubuntu SMP Tue Jul 13 19:40:02 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
(Ubuntu 18.04 LTS with HWE kernel)Other:
source env.sh
./marshal -v -d build fedora-base.json
and then./marshal -d launch -s fedora-base.json
.What is the current behavior?
It displays the following and stuck.
I ran the Spike command and step through the instructions where it gets stuck. I can see Spike is looping the following.
What is the expected behavior?
The image boots.
Other information
br-base.json
boots with Spike.fedora-base.json
doesn't help.br-base
, include something big (AdoptOpenJDK 11 RISC-V) viafiles
, and then setrootfs-size
to0
. That doesn't boot (similar issue with Fedora). But it does boot with QEMU.The text was updated successfully, but these errors were encountered: