summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2014-03-17 04:38:10 +0000
committermarcel <marcel@FreeBSD.org>2014-03-17 04:38:10 +0000
commit4f844f21a65df684c0bc35d3e444e93f7e46758c (patch)
tree8064e6a8cb892a0b11842ff052f9d2df4532f4c6
parent58bb818d247c6d4c7727f84f212a494733eac45c (diff)
downloadFreeBSD-src-4f844f21a65df684c0bc35d3e444e93f7e46758c.zip
FreeBSD-src-4f844f21a65df684c0bc35d3e444e93f7e46758c.tar.gz
In intr_event_handle() we already save and set td_intr_frame, so
don't do it also in ia64_handle_intr(). With ia64_handle_intr() not saving and setting td_intr_frame, make sure to do it for timer interrupts in ia64_ih_hardclock().
-rw-r--r--sys/ia64/ia64/mp_machdep.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/ia64/ia64/mp_machdep.c b/sys/ia64/ia64/mp_machdep.c
index ea57901..f7084ed 100644
--- a/sys/ia64/ia64/mp_machdep.c
+++ b/sys/ia64/ia64/mp_machdep.c
@@ -113,10 +113,14 @@ ia64_ih_ast(struct thread *td, u_int xiv, struct trapframe *tf)
static u_int
ia64_ih_hardclock(struct thread *td, u_int xiv, struct trapframe *tf)
{
+ struct trapframe *stf;
PCPU_INC(md.stats.pcs_nhardclocks);
CTR1(KTR_SMP, "IPI_HARDCLOCK, cpuid=%d", PCPU_GET(cpuid));
+ stf = td->td_intr_frame;
+ td->td_intr_frame = tf;
hardclockintr();
+ td->td_intr_frame = stf;
return (0);
}
OpenPOWER on IntegriCloud