Skip to content

Clarification re: XHCI IMOD in ReadWriteEverything #13

@daiplusplus

Description

@daiplusplus

https://github.com/djdallmann/GamingPCSetup/tree/master/CONTENT/RESEARCH/PERIPHERALS

Click the value that is in the position 18hex, when selected will be indicated by the numbers in red in the upper left corner of the grid. Make note of this value (Base address offset/Base address space offset)

  • The red digits in the top-left corner of the Memory window grid are in Base 10, not Base 16 - so the displayed red "18" is really just 0x12, which is not 0x18.
  • The BAR1 address often has 4 at the end, e.g. 0xED190004. When RWE's Memory window opens when you jump to that address the last digit in the Address = button is reset to 0, which throws me off.
    • e.g.: if my BAR1 is 0xED190004 and I double-click on the PCI window cell with that value, the Memory window's Button says Address = 00000000ED190000. If I click the button and add-back the "4" at the end then the Memory window seems to show the original BAR1 address' contents fine (so why does the Memory window initially round-down addresses despite not needing to?).
    • Your screenshots show you adding 0x24 to the 00000000F7310000 instead of adding 0x24 to 00000000F7310004, but Intel's documentation (5.5.2.2, page 426) says the offset is "RuntimeBase + 0x24 + ( 0x20 * Interrupter )" - so what's going on?
    • UPDATE: - I see that Intel's documentation defines RuntimeBase as "The Runtime Base shall be 32-byte aligned and is calculated by adding the value Runtime Register Space Offset register to the Capability Base address" - but your article doesn't show you performing the same calculation.

Double click the address space field. e.g. Address = 000000000000

  • You can't double-click that button. Single-clicking it opens the Start Address dialog.

  • Your article only mentions setting IMOD for the first BAR1, but the Intel documention says there's up to 1,024 interrupters - should we update them all, or not? If so, how can we feasibly update that many?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions