Skip to content

simbridge: Plumbing for type 0 config requests for upstream bridge#12

Draft
mslatter-xlnx wants to merge 3 commits intopensando:v8.2.0-devfrom
mslatter-xlnx:user/mslatter/vulcano-type0-config
Draft

simbridge: Plumbing for type 0 config requests for upstream bridge#12
mslatter-xlnx wants to merge 3 commits intopensando:v8.2.0-devfrom
mslatter-xlnx:user/mslatter/vulcano-type0-config

Conversation

@mslatter-xlnx
Copy link
Copy Markdown

These changes add optionally-enabled support in the simbridge code for passing through config accesses for the upstream bridge as type 0 requests to the model, rather than handling the upstream bridge itself. This is for Vulcano, where FW is expected to handle the upstream bridge requests either partially (when connected via PCIe) or completely (when connected via UALink), unlike previous HW.

…face.

Type 0 vs. type 1 is passed across the socket interface in the .bar field
of the read/write messages, which was previously unused (ignored) for
config requests.
…bridge.

Vulcano needs to handle type 0 config for the upstream bridge either
partially (PCIe mode) or completely (UALink mode) in firmware.  This
change allows this behaviour to be requested by setting the
SIMBRIDGE_VULCANO_TYPE0 environment variable.

(The model at the other end needs to be recent enough to provide the
support for this as well, of course.)

Behaviour is unchanged by default so this does not affect use for previous
ASICs.
… config.

Where FW is handling type 0 config requests for Vulcano, the FW needs to see
the upstream bridge bus number configuration accesses before it starts to see
the (type 1) accesses for the devices below.

(This change might be safe to make unconditionally, but for now I've taken
the conservative approach of retaining the original behaviour unless the new
type 0 mode is enabled, so usage for earlier ASIC models is unaffected.)
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

Successfully merging this pull request may close these issues.

1 participant