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

sel4: support MSI for x86 #5423

Open
alex-ab opened this issue Jan 16, 2025 · 5 comments
Open

sel4: support MSI for x86 #5423

alex-ab opened this issue Jan 16, 2025 · 5 comments
Assignees

Comments

@alex-ab
Copy link
Member

alex-ab commented Jan 16, 2025

More drivers on Sculpt@seL4 on modern notebooks will work instantly with MSI support.

@alex-ab alex-ab self-assigned this Jan 16, 2025
alex-ab added a commit to alex-ab/genode that referenced this issue Jan 16, 2025
Required by the seL4 kernel interface for MSI creation and by another upstream
kernel.

Issue genodelabs#5423
alex-ab added a commit to alex-ab/genode that referenced this issue Jan 16, 2025
@chelmuth chelmuth added the fixed label Jan 22, 2025
@chelmuth
Copy link
Member

base: support specifying PCI bdf on irq creation

As I get it device_config_phys and bdf carry the same information just in different flavors. Could we avoid this redundancy?

@alex-ab
Copy link
Member Author

alex-ab commented Jan 23, 2025

I don't think you, please explain it why you think so.

@chelmuth
Copy link
Member

  • device_config_phys is an MMIO address inside ECAM memory region
  • the value of device_config_phys is calculated with ECAM start address + offset for PCI device
  • the offset is based on the BDF value and hardware page size

As this calculation could be reversed I think both parameters carry the same information.

@alex-ab
Copy link
Member Author

alex-ab commented Jan 23, 2025

As discussed offline with @chelmuth, his description is correct, but unfortunately core does not know the ECAM address. The address is currently looked up by the acpi driver. Since this is the case, the calculation can not be done atm in core. As soon as the pre_boot work becomes available, which may provide the ECAM address to core in a convenient way, the double usage of the bdf and device_config_phys can be removed.

chelmuth pushed a commit that referenced this issue Jan 23, 2025
Required by the seL4 kernel interface for MSI creation and by another upstream
kernel.

Issue #5423
chelmuth pushed a commit that referenced this issue Jan 23, 2025
@chelmuth
Copy link
Member

Thanks for recording the outcome of our discussion. Both commits entered staging just now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants