summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>2005-03-16 07:56:21 +0000
committerjmg <jmg@FreeBSD.org>2005-03-16 07:56:21 +0000
commit0ef117a450d0c1dfd7fb6ec6b6ff29ca53892891 (patch)
tree641d81a17ffa13fc445d10f00d7e0f9d3bbd8e3e /sys
parent40dbd0165cc20a181da6a5c17b8584c52587e129 (diff)
downloadFreeBSD-src-0ef117a450d0c1dfd7fb6ec6b6ff29ca53892891.zip
FreeBSD-src-0ef117a450d0c1dfd7fb6ec6b6ff29ca53892891.tar.gz
MFp4: add in making fiq's work by coping to the correct page incase we have
the vectors relocated high..
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/arm/fiq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/arm/fiq.c b/sys/arm/arm/fiq.c
index 46901e13..f990812 100644
--- a/sys/arm/arm/fiq.c
+++ b/sys/arm/arm/fiq.c
@@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$");
#include <vm/vm.h>
#include <machine/pcb.h>
#include <vm/pmap.h>
+#include <machine/cpu.h>
TAILQ_HEAD(, fiqhandler) fiqhandler_stack =
TAILQ_HEAD_INITIALIZER(fiqhandler_stack);
@@ -73,7 +74,7 @@ fiq_installhandler(void *func, size_t size)
vector_page_setprot(VM_PROT_READ|VM_PROT_WRITE);
#endif
- memcpy(fiqvector, func, size);
+ memcpy(vector_page + fiqvector, func, size);
#if !defined(__ARM_FIQ_INDIRECT)
vector_page_setprot(VM_PROT_READ);
OpenPOWER on IntegriCloud