diff options
author | Etienne Carriere <etienne.carriere@linaro.org> | 2018-10-01 08:54:54 +0200 |
---|---|---|
committer | Jérôme Forissier <jerome.forissier@linaro.org> | 2018-10-01 10:26:47 +0200 |
commit | 0f93de74928448f5af00faf711385b2ebeb8da65 (patch) | |
tree | fa7b8d98e731f84850a744e6fa743a8da97155d1 /core/drivers/gic.c | |
parent | db783ff867d44165bdb5b15f7324c7f5cd754911 (diff) |
core: correct unpaged constraint on GIC driver
Release of secondary boot cores on 32bit machine use SMC that
issue a SGI on secondary core. Since the interrupt is raised
from the monitor mode, the related GIC driver resources must be
tagged as unpaged.
This change costs around 300 bytes of unpaged resident memory.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Diffstat (limited to 'core/drivers/gic.c')
-rw-r--r-- | core/drivers/gic.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/drivers/gic.c b/core/drivers/gic.c index 1cee46cc..9baffee4 100644 --- a/core/drivers/gic.c +++ b/core/drivers/gic.c @@ -7,6 +7,7 @@ #include <arm.h> #include <assert.h> #include <drivers/gic.h> +#include <keep.h> #include <kernel/interrupt.h> #include <kernel/panic.h> #include <util.h> @@ -81,6 +82,7 @@ static const struct itr_ops gic_ops = { .raise_sgi = gic_op_raise_sgi, .set_affinity = gic_op_set_affinity, }; +KEEP_PAGER(gic_ops); static size_t probe_max_it(vaddr_t gicc_base __maybe_unused, vaddr_t gicd_base) { |