Page MenuHomeFreeBSD

gicv3: Change how we initialize its children.
ClosedPublic

Authored by imp on Feb 23 2024, 4:46 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 27, 8:16 AM
Unknown Object (File)
Sat, Apr 27, 8:16 AM
Unknown Object (File)
Sat, Apr 27, 8:12 AM
Unknown Object (File)
Sat, Apr 27, 8:12 AM
Unknown Object (File)
Sat, Apr 27, 8:11 AM
Unknown Object (File)
Mon, Apr 22, 5:05 PM
Unknown Object (File)
Mon, Apr 8, 5:55 AM
Unknown Object (File)
Mar 17 2024, 10:21 AM
Subscribers

Details

Summary

The current code is written such that all the attach routines can do so
in parallel. However, newbus serializes children today, and is likely to
do so in the future. Only allocate memory for unit 0. Add an assertion
that this memory is allocated for larger units.

Sponsored by: Netflix

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

imp requested review of this revision.Feb 23 2024, 4:46 AM

So this is the first in a series that adds support for kexec'ing on a gicv3 system after Linux has setup and used it...

sys/arm64/arm64/gicv3_its.c
689–691

This requires its0 to not fail before it calls gicv3_its_conftable_init. It might be safer to switch to if (conf_table != NULL) { ... to try to get something booting, even if one its is missing.

sys/arm64/arm64/gicv3_its.c
689–691

Sure, I'll make this an if statement, but I have no way to test so I won't know if I caught all the base cases or not... Do you have any suggestions here?

sys/arm64/arm64/gicv3_its.c
689–691

Do I need to also add seat-belts in gicv3_its_disable_intr and gicv3_its_enable_intr ?

sys/arm64/arm64/gicv3_its.c
689–691

Sorry, I over selected. It should be for if (unit != 0) -> if (conf_table != NULL), not the KASSERT

Create the conf table the first time through, rather than unit 0.

imp marked an inline comment as done.Feb 27 2024, 7:37 PM
imp added inline comments.
sys/arm64/arm64/gicv3_its.c
689–691

Ah, that actually makes a lot more sense... And I'm a little less confused too and like the results.

This revision is now accepted and ready to land.Feb 28 2024, 10:19 AM
This revision was automatically updated to reflect the committed changes.
imp marked an inline comment as done.