-
Notifications
You must be signed in to change notification settings - Fork 641
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
Add new APIs for generating SGIs #1222
Draft
lsf37
wants to merge
5
commits into
seL4:master
Choose a base branch
from
lsf37:lsf37/arm-sgi
base: master
Could not load branches
Branch not found: {{ refName }}
Could not load tags
Nothing to show
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from 4 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
b2bc0e4
arm: Add new APIs for generating SGIs
kent-mcleod 870c81b
arm: verification tweaks for SGI API
lsf37 d4e452f
[squash] arm/sel4arch.xml: fix condition
lsf37 833d18a
gen_invocations: handle undefined values
lsf37 a6b9d15
FIXUP: Remove support for target CPU mask
kent-mcleod File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -772,6 +772,50 @@ | |||||||||
</description> | ||||||||||
</error> | ||||||||||
</method> | ||||||||||
<method id="ARMIRQIssueSGISignal" name="IssueSGISignal" manual_name="IssueSGISignal" | ||||||||||
manual_label="irq_controlissuesgisignal"> | ||||||||||
<condition><not><config var="CONFIG_ENABLE_SMP_SUPPORT"/></not></condition> | ||||||||||
<brief> | ||||||||||
Create an SGI signal capability. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
</brief> | ||||||||||
<description> | ||||||||||
</description> | ||||||||||
<param dir="in" name="irq" type="seL4_Word" description="The SGI INTID (0-15) that can be signalled."/> | ||||||||||
<param dir="in" name="targets" type="seL4_Word" description="A bitfield of node IDs that will be targeted."/> | ||||||||||
|
||||||||||
<param dir="in" name="root" type="seL4_CNode" description="CPTR to the CNode that forms the root of the destination CSpace. Must be at a depth equivalent to the wordsize."/> | ||||||||||
<param dir="in" name="index" type="seL4_Word" description="CPTR to the destination slot. Resolved from the root of the destination CSpace."/> | ||||||||||
Comment on lines
+786
to
+787
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||
<param dir="in" name="depth" type="seL4_Uint8" description="Number of bits of dest_index to resolve to find the destination slot."/> | ||||||||||
<error name="seL4_DeleteFirst"> | ||||||||||
<description> | ||||||||||
The destination slot contains a capability. | ||||||||||
</description> | ||||||||||
</error> | ||||||||||
<error name="seL4_FailedLookup"> | ||||||||||
<description> | ||||||||||
The <texttt text="index"/> or <texttt text="depth"/> is invalid <docref>(see <autoref label="s:cspace-addressing"/>)</docref>. | ||||||||||
Or, <texttt text="root"/> is a CPtr to a capability of the wrong type. | ||||||||||
</description> | ||||||||||
</error> | ||||||||||
<error name="seL4_IllegalOperation"> | ||||||||||
<description> | ||||||||||
The <texttt text="_service"/> is a CPtr to a capability of the wrong type. | ||||||||||
Or, the platform does not support setting the IRQ trigger. | ||||||||||
</description> | ||||||||||
</error> | ||||||||||
<error name="seL4_InvalidCapability"> | ||||||||||
<description> | ||||||||||
The <texttt text="_service"/> is a CPtr to a capability of the wrong type. | ||||||||||
</description> | ||||||||||
</error> | ||||||||||
<error name="seL4_RangeError"> | ||||||||||
<description> | ||||||||||
The <texttt text="irqs"/> or <texttt text="targets"/> contains bits that are out of range. | ||||||||||
Or, <texttt text="depth"/> is invalid <docref>(see <autoref label="s:cspace-addressing"/>)</docref>. | ||||||||||
</description> | ||||||||||
</error> | ||||||||||
</method> | ||||||||||
|
||||||||||
</interface> | ||||||||||
<interface name="seL4_ARM_SIDControl" manual_name="SID Control" cap_description="A SIDControl capability. This gives you the authority to make this call."> | ||||||||||
<method id="ARMSIDIssueSIDManager" name="GetSID" manual_name="Get SID" manual_label="sid_controlgetsid"> | ||||||||||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why don't we check
CONFIG_SMP_ENABLED
here and in the other places? Or add a dedicated feature define for this, so usingCONFIG_MAX_NUM_NODES
directly is avoided. On RISC-V I have been running into some use cases now where having certain multi core feature available even with just one seL4 core comes handy and the checks forCONFIG_MAX_NUM_NODES
are a pain then.