oxidecomputer / oxidecomputer/hubris

SP should not enter A0PlusHP if sequencer shows NIC rails didn't come up.

Open
#1,187 4 comments 0 reactions 1 assignee View on GitHub

@bcantrill is already working on this.

Since Jun 5, 2023.

Dominant language
Rust
Stars
3.6k
Forks
239
Avg merge
1d 12h
Merged PRs (30d)
23

Description

While debugging one of the T6 issue boards, it was noticed the the FPGA was not passing PERST_L through as expected. This in turn, stemmed from the fact that the sequencer had not seen all the NIC rail PGs and thus was not propagating signals as it was not fully sequenced yet. I'll edit tomorrow with more details about what registers can/should be checked.

A few different options for checking this:

  1. Can check the NicSMStatus register (0x17) for being in the DONE state. If we want to do this I need to go update the enumerations to bring these in which is fine and easy.
  2. Can check the NicPwrOk bit in STATUS register (0x11). This is asserted when Nic sequencing is done and nic is happy, kind of the TLDR version of NicSMStatus.

In failure cases, it would be good to put NicStatus register (0x20) into a ring buffer. This is expected to be 0x7F and if it isn't one or more rails failed to come up or the PG indication is broken.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.