Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Order a descriptor before an MMIO doorbell

Hardware interview practice

Order a descriptor before an MMIO doorbell

MediumFirmware & ValidationSystemVerilog

Firmware writes a DMA descriptor in normal memory, then rings a device doorbell through MMIO. The platform does not automatically order those stores. What must firmware do before the doorbell write?

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Choose one

Answer choices

  1. A. Mark only the local descriptor pointer volatile; no ordering operation is needed.
  2. B. Use the platform's required DMA/write memory barrier before the MMIO doorbell so descriptor stores are visible first.
  3. C. Read the doorbell twice after writing it; this always orders prior normal-memory stores on every platform.
  4. D. Write the doorbell first, then issue a barrier before filling the descriptor.
asic.fyi · Learn silicon end to end.info@asic.fyi