Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
4226f858
Commit
4226f858
authored
9 years ago
by
danh-arm
Browse files
Options
Download
Plain Diff
Merge pull request #442 from soby-mathew/sm/remove_imf_read_intid
Remove the IMF_READ_INTERRUPT_ID build option
parents
b39908af
54718418
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
v1.5
v1.5-rc3
v1.5-rc2
v1.5-rc1
v1.5-rc0
v1.4
v1.4-rc0
v1.3
v1.3_rc2
v1.3_rc1
v1.3-rc0
v1.2
v1.2-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
bl31/aarch64/runtime_exceptions.S
+0
-10
bl31/aarch64/runtime_exceptions.S
bl31/bl31.mk
+0
-7
bl31/bl31.mk
docs/interrupt-framework-design.md
+7
-10
docs/interrupt-framework-design.md
docs/porting-guide.md
+2
-3
docs/porting-guide.md
docs/user-guide.md
+0
-5
docs/user-guide.md
services/spd/opteed/opteed_main.c
+0
-5
services/spd/opteed/opteed_main.c
services/spd/tspd/tspd_main.c
+0
-9
services/spd/tspd/tspd_main.c
with
9 additions
and
49 deletions
+9
-49
bl31/aarch64/runtime_exceptions.S
View file @
4226f858
...
...
@@ -130,16 +130,6 @@
mov
x21
,
x0
mov
x0
,
#
INTR_ID_UNAVAILABLE
#if IMF_READ_INTERRUPT_ID
/
*
*
Read
the
id
of
the
highest
priority
pending
interrupt
.
If
*
no
interrupt
is
asserted
then
return
to
where
we
came
from
.
*/
mov
x19
,
#
INTR_ID_UNAVAILABLE
bl
plat_ic_get_pending_interrupt_id
cmp
x19
,
x0
b.eq
interrupt_exit_
\
label
#endif
/
*
Set
the
current
security
state
in
the
'flags'
parameter
*/
mrs
x2
,
scr_el3
...
...
This diff is collapsed.
Click to expand it.
bl31/bl31.mk
View file @
4226f858
...
...
@@ -60,13 +60,6 @@ endif
BL31_LINKERFILE
:=
bl31/bl31.ld.S
# Flag used by the generic interrupt management framework to determine if
# upon the assertion of an interrupt, it should pass the interrupt id or not
IMF_READ_INTERRUPT_ID
:=
0
$(eval
$(call
assert_boolean,IMF_READ_INTERRUPT_ID))
$(eval
$(call
add_define,IMF_READ_INTERRUPT_ID))
# Flag used to inidicate if Crash reporting via console should be included
# in BL3-1. This defaults to being present in DEBUG builds only
ifndef
CRASH_REPORTING
...
...
This diff is collapsed.
Click to expand it.
docs/interrupt-framework-design.md
View file @
4226f858
...
...
@@ -293,11 +293,9 @@ This component declares the following prototype for a handler of an interrupt ty
void *handle,
void *cookie);
The value of the
`id`
parameter depends upon the definition of the
`IMF_READ_INTERRUPT_ID`
build time flag. When the flag is defined,
`id`
contains
the number of the highest priority pending interrupt of the type that this
handler was registered for. When the flag is not defined
`id`
contains
`INTR_ID_UNAVAILABLE`
.
The
`id`
is parameter is reserved and could be used in the future for passing
the interrupt id of the highest pending interrupt only if there is a foolproof
way of determining the id. Currently it contains
`INTR_ID_UNAVAILABLE`
.
The
`flags`
parameter contains miscellaneous information as follows.
...
...
@@ -583,11 +581,10 @@ responsible for:
irrecoverable error condition.
6.
Calling the registered handler function for the interrupt type generated.
The firmware also determines the interrupt id if the IMF_READ_INTERRUPT_ID
build time flag is set. The id is set to
`INTR_ID_UNAVAILABLE`
if the flag
is not set. The id along with the current security state and a reference to
the
`cpu_context_t`
structure for the current security state are passed to
the handler function as its arguments.
The
`id`
parameter is set to
`INTR_ID_UNAVAILABLE`
currently. The id along
with the current security state and a reference to the
`cpu_context_t`
structure for the current security state are passed to the handler function
as its arguments.
The handler function returns a reference to the per-cpu `cpu_context_t`
structure for the target security state.
...
...
This diff is collapsed.
Click to expand it.
docs/porting-guide.md
View file @
4226f858
...
...
@@ -1473,9 +1473,8 @@ of interrupt depends upon the id value as follows.
Return : uint32_t
This API returns the id of the highest priority pending interrupt at the
platform IC. The IMF passes the id returned by this API to the registered
handler for the pending interrupt if the
`IMF_READ_INTERRUPT_ID`
build time flag
is set. INTR_ID_UNAVAILABLE is returned when there is no interrupt pending.
platform IC. INTR_ID_UNAVAILABLE is returned when there is no interrupt
pending.
ARM standard platforms read the _Highest Priority Pending Interrupt
Register_ (
`GICC_HPPIR`
) to determine the id of the pending interrupt. The id
...
...
This diff is collapsed.
Click to expand it.
docs/user-guide.md
View file @
4226f858
...
...
@@ -250,11 +250,6 @@ performed.
is used to determine the number of valid slave interfaces available in the
ARM CCI driver. Default is 400 (that is, CCI-400).
*
`IMF_READ_INTERRUPT_ID`
: Boolean flag used by the interrupt management
framework to enable passing of the interrupt id to its handler. The id is
read using a platform GIC API.
`INTR_ID_UNAVAILABLE`
is passed instead if
this option set to 0. Default is 0.
*
`RESET_TO_BL31`
: Enable BL3-1 entrypoint as the CPU reset vector instead
of the BL1 entrypoint. It can take the value 0 (CPU reset to BL1
entrypoint) or 1 (CPU reset to BL3-1 entrypoint).
...
...
This diff is collapsed.
Click to expand it.
services/spd/opteed/opteed_main.c
View file @
4226f858
...
...
@@ -85,11 +85,6 @@ static uint64_t opteed_sel1_interrupt_handler(uint32_t id,
/* Check the security state when the exception was generated */
assert
(
get_interrupt_src_ss
(
flags
)
==
NON_SECURE
);
#if IMF_READ_INTERRUPT_ID
/* Check the security status of the interrupt */
assert
(
plat_ic_get_interrupt_type
(
id
)
==
INTR_TYPE_S_EL1
);
#endif
/* Sanity check the pointer to this cpu's context */
assert
(
handle
==
cm_get_context
(
NON_SECURE
));
...
...
This diff is collapsed.
Click to expand it.
services/spd/tspd/tspd_main.c
View file @
4226f858
...
...
@@ -106,11 +106,6 @@ static uint64_t tspd_sel1_interrupt_handler(uint32_t id,
/* Check the security state when the exception was generated */
assert
(
get_interrupt_src_ss
(
flags
)
==
NON_SECURE
);
#if IMF_READ_INTERRUPT_ID
/* Check the security status of the interrupt */
assert
(
plat_ic_get_interrupt_type
(
id
)
==
INTR_TYPE_S_EL1
);
#endif
/* Sanity check the pointer to this cpu's context */
assert
(
handle
==
cm_get_context
(
NON_SECURE
));
...
...
@@ -173,10 +168,6 @@ static uint64_t tspd_ns_interrupt_handler(uint32_t id,
/* Check the security state when the exception was generated */
assert
(
get_interrupt_src_ss
(
flags
)
==
SECURE
);
#if IMF_READ_INTERRUPT_ID
/* Check the security status of the interrupt */
assert
(
plat_ic_get_interrupt_type
(
id
)
==
INTR_TYPE_NS
);
#endif
/*
* Disable the routing of NS interrupts from secure world to EL3 while
* interrupted on this core.
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help