diff options
author | marcel <marcel@FreeBSD.org> | 2014-07-02 23:33:07 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2014-07-02 23:33:07 +0000 |
commit | e507d756a8702cfef68af0a8ae8b150bbfdfbf06 (patch) | |
tree | 28409f7bd14cc6b4f270f617497b774cff67c33a | |
parent | c961ac8b8220757c44de4d9fa9e0f77d8a10e829 (diff) | |
download | FreeBSD-src-e507d756a8702cfef68af0a8ae8b150bbfdfbf06.zip FreeBSD-src-e507d756a8702cfef68af0a8ae8b150bbfdfbf06.tar.gz |
MFC r263253: Don't use the ITC as the faulting address for external
interrupts.
-rw-r--r-- | sys/ia64/ia64/exception.S | 2 | ||||
-rw-r--r-- | sys/ia64/ia64/interrupt.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sys/ia64/ia64/exception.S b/sys/ia64/ia64/exception.S index 62c4451..5a15270 100644 --- a/sys/ia64/ia64/exception.S +++ b/sys/ia64/ia64/exception.S @@ -1388,7 +1388,7 @@ IVT_END(Break_Instruction) IVT_ENTRY(External_Interrupt, 0x3000) { .mib - mov r17=ar.itc // Put the ITC in the trapframe. + mov r17=0 mov r16=ip br.sptk exception_save ;; diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c index 9d66f4e..7e45194 100644 --- a/sys/ia64/ia64/interrupt.c +++ b/sys/ia64/ia64/interrupt.c @@ -316,8 +316,8 @@ ia64_handle_intr(struct trapframe *tf) critical_enter(); do { - CTR2(KTR_INTR, "INTR: ITC=%u, XIV=%u", - (u_int)tf->tf_special.ifa, xiv); + CTR3(KTR_INTR, "INTR: XIV=%u, #%u: frame=%p", xiv, + PCPU_GET(cnt.v_intr), tf); if (!(ia64_handler[xiv])(td, xiv, tf)) { ia64_set_eoi(0); ia64_srlz_d(); |