-
Notifications
You must be signed in to change notification settings - Fork 256
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
sculpt/x86: improve booting on foc and seL4 on native hw #5406
Comments
On FOC an endless loop triggers on failed io_mem connection creation, which makes the system close to unusable:
The last line continues over and over. |
The successful mapping of io_mem and the error case is not distinguished in FOC clearly, which leads to this undesired behavior. Unfortunately, the return value of 0 for io_mem_session_component::_map_local can't be used to differentiate both cases, since on other base-* platforms no local io_mem mapping in core is actually required, so they will ever return 0. After looking at the code, there is actually Dataspace_attr, which encapsulate well the good and bad/error case, but the code fragments between base and base-* are a bit disconnected. With commit 640fbf3 the Dataspace_attr is now used with io_mem _map_local, so that the ambiguity can be avoided. With 640fbf3 we get a bit further and the platform driver dies:
|
This looks like we should enhance the fixup conditions in pci_decode as remapping should only be required for uninitialized BARs. |
which is required for UEFI boots. Issue genodelabs#5406
to boot Sculpt Issue genodelabs#5406
which is required for UEFI boots. Issue genodelabs#5406
to boot Sculpt Issue genodelabs#5406
Please consider the commits for review |
which is required for UEFI boots. Issue #5406
In case invalid IRQ numbers are used (255 on x86), the IRQ session creation request may be denied and the platform driver is killed because of the uncatched exception, which must be avoided. Issue genodelabs#5406
In case invalid IRQ numbers are used (255 on x86), the IRQ session creation request may be denied and the platform driver is killed because of the uncatched exception, which must be avoided. Issue #5406
…o "base: use Map_local_result in io_mem _map_local(...)" Issue genodelabs#5406
…to "base: use Map_local_result in io_mem _map_local(...)" Issue #5406
Very good. Extra thanks for the de-duplication! :) |
…ightly failure Issue genodelabs#5406
Currently both platforms, foc and sel4, fail to boot Sculpt very early on native hardware. One observation is that some of the Io_mem requests are denied. This leads to faulty behavior in core, acpi and the platform driver. Even so the platforms are not officially supported, we should/can improve the robustness on the mentioned components. Additionally some features are missing, e.g. for FOC the rsdp xst/rsdt discovery in core to be bootable on UEFI.
The text was updated successfully, but these errors were encountered: