Skip to content
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

Flesh out grapefruit support #1983

Open
citrus-it opened this issue Jan 21, 2025 · 2 comments
Open

Flesh out grapefruit support #1983

citrus-it opened this issue Jan 21, 2025 · 2 comments
Assignees

Comments

@citrus-it
Copy link
Contributor

Now that we have basic IPCC working with grapefruit, there are a few things that it would be good to get fleshed out in the grapefruit SP so that it works in the same way as a server board.

Working host startup options

This one is needed for the host OS to boot. Currently an SP task panics when the host requests startup options.
See packrat get_next_boot_host_startup_options. We likely need to mock up the equivalent of packrat's gimlet_data for grapefruit.

For grapefruit, these should default to STARTUP_KMDB | STARTUP_PROM | STARTUP_VERBOSE | STARTUP_BOOT_RAMDISK but it should be possible to modify them via the same mechanisms as on gimlet (hiffy or MGS).

Populated VPD data

Grapefruit doesn't appear to have a VPD, but it would be useful if there was some faked up packrat data for serial, model and revision.
MAC addresses should likely just remain all zeros and we can handle that case in the OS.

Serial: 'OXV2GRAPEFRUIT'
Model:  '913-0000083'
Rev:    0x0

These next two are less important but would be nice as we move towards using rubyred development machines more so that they operate like Gimlet/Cosmo.

Power state transitions

Support power state transitions in the same way as on gimlet, allowing the host to request a reboot via IPCC. We currently do this via UDP mem writes to SGPIO registers.

Flash mux control

Support flash MUX control as per Gimlet, including automatic switching back to host when entereing A0 and back to SP once host is booted. This is also being done today via UDP mem writes.

NMI

Support sending NMIs to the SP5 - again we currently do this by writing to an SGPIO register.

@rmustacc
Copy link
Contributor

Grapefruit doesn't appear to have a VPD, but it would be useful if there was some faked up packrat data for serial, model and revision.

Grapefruit does have a FRU. It's U21 on the schematic.

@mkeeter
Copy link
Collaborator

mkeeter commented Jan 21, 2025

Grapefruit doesn't appear to have a VPD, but it would be useful if there was some faked up packrat data for serial, model and revision.

Grapefruit does have a FRU. It's U21 on the schematic.

Unfortunately, it's trapped behind the FPGA; I'll chat with Nathanael about how hard it will be to talk to...

mkeeter added a commit that referenced this issue Jan 21, 2025
mkeeter added a commit that referenced this issue Jan 21, 2025
mkeeter added a commit that referenced this issue Jan 22, 2025
This is another small improvement for #1983
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants