summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorHarry Liebel <Harry.Liebel@arm.com>2013-12-12 13:00:29 +0000
committerDan Handley <dan.handley@arm.com>2014-01-17 10:27:53 +0000
commiteaec590e5fc2c7e3da8c353bd4139bd4b52b99c6 (patch)
tree1111fa88955c4ed37837f4dd4db37e76afa366ab /lib
parent4f6036834fb7f53e3002c37af1c9d0681e8ef675 (diff)
Probe for GICv3 re-distributors on core bring-up
The GICv3 distributor can have more ports than CPUs are available in the system. Probe all re-distributors and use the matching affinity levels as specified by each core and re-distributor to decide which re-distributor to use with which CPU core. If a core cannot be matched with a re-distributor, the core panics and is placed in an endless loop. Change-Id: Ie393cfe07c7449a2383959e3c968664882e18afc
Diffstat (limited to 'lib')
-rw-r--r--lib/mmio.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/mmio.c b/lib/mmio.c
index 36ff7805..b654be77 100644
--- a/lib/mmio.c
+++ b/lib/mmio.c
@@ -35,7 +35,17 @@ void mmio_write_32(uintptr_t addr, uint32_t value)
*(volatile uint32_t*)addr = value;
}
-unsigned mmio_read_32(uintptr_t addr)
+uint32_t mmio_read_32(uintptr_t addr)
{
return *(volatile uint32_t*)addr;
}
+
+void mmio_write_64(uintptr_t addr, uint64_t value)
+{
+ *(volatile uint64_t*)addr = value;
+}
+
+uint64_t mmio_read_64(uintptr_t addr)
+{
+ return *(volatile uint64_t*)addr;
+}