-
Notifications
You must be signed in to change notification settings - Fork 668
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
VCU118 FPGA Updates + FireMarshal on Prototypes #849
Conversation
Note: The doc build passes locally. The doc error seems to happen on other PRs so this isn't an issue with these docs. |
CI only started failing the doc check after this PR: #846 |
Chisel changes LGTM. Someone who has done bringup should review the doc changes. |
Ping @alonamid @colinschmidt . |
Could you please add commas in the docs page? |
I won't re-run CI unless necessary since it passed before the grammar changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Just some minor docs changes
docs/Prototyping/VCU118.rst
Outdated
Building Linux with FireMarshal | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
Since the prototype does not have a block device, we build Linux with the rootfs built into the binary (otherwise known as "initramfs" or "nodisk" version of Linux). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't something we should change now but can't the SDCard act as a block device? Would that make things easier or faster?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume it probably can, but I don't know how to do that (nor do I think it will make much of a difference). Having it as a block device would change things in a couple ways:
- Have to figure out how to get it to work with Linux / SPI interface. Create new partitions? Have a block device driver? Etc.
- Could probably minimize the binary size. Thus making loading faster if we change the bootrom.
|
||
.. code-block:: shell | ||
|
||
echo "board-dir : 'boards/prototype'" > $PATH_TO_FIREMARSHAL/marshal-config.yaml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be an append? Or do we really want to overwrite?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file doesn't exist unless the user makes it. So this is assuming we create it from scratch.
// A sector is 512 bytes, so ((1 << 11) * 512) = 1 MiB | ||
#define PAYLOAD_SIZE (16 << 11) | ||
// Total payload in B | ||
#define PAYLOAD_SIZE_B (30 << 20) // default: 30MiB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How much extra room is there here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Linux binary with FireMarshal is around 20-25MiB so 5MiB room.
@@ -168,9 +170,11 @@ static int copy(void) | |||
int rc = 0; | |||
|
|||
dputs("CMD18"); | |||
|
|||
kprintf("LOADING 0x%xB PAYLOAD\r\n", PAYLOAD_SIZE_B); | |||
kprintf("LOADING "); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need both of these messages? The second loading seems redundant.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a nice spinner that comes up next to the loading so I just left this. Technically I can put the spinner next to the kprintf
that I added, but I figured this extra print wasn't a bottleneck so just leave it.
|
||
sudo gdisk /dev/sdc | ||
|
||
2. The VCU118 bootrom assumes that the Linux binary to load into memory will be located on sector 34 of the SDCard. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would it be possible to give prompt examples? (..code-block:: shell ....)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that is a bit excessive and unnecessary. These instructions although are setup for gdisk
are also a bit abstract to allow others to port to other disk programs. If people get stuck on this step we can add more details if need be (I presume this will be the easiest step with the FireMarshal setup being the trickiest).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM pending commas
Co-authored-by: alonamid <[email protected]>
@abejgonzalez Hello, I want to run my |
Related issue: #822 firesim/FireMarshal#190
Type of change: other enhancement
Impact: software change + other
Release Notes
Enlarge the payload from 20MiB to 30MiB for the SDCard boot (for larger FireMarshal images). Use
DefaultClockFrequencyKey
to determine the FPGA frequency instead of another key. Add documentation for using FireMarshal for the prototype platform.TODO: