aboutsummaryrefslogtreecommitdiff
path: root/core/drivers/gic.c
diff options
context:
space:
mode:
authorEtienne Carriere <etienne.carriere@linaro.org>2018-10-01 08:54:54 +0200
committerJérôme Forissier <jerome.forissier@linaro.org>2018-10-01 10:26:47 +0200
commit0f93de74928448f5af00faf711385b2ebeb8da65 (patch)
treefa7b8d98e731f84850a744e6fa743a8da97155d1 /core/drivers/gic.c
parentdb783ff867d44165bdb5b15f7324c7f5cd754911 (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.c2
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)
{