diff options
author | marcel <marcel@FreeBSD.org> | 2014-03-17 04:38:10 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2014-03-17 04:38:10 +0000 |
commit | 4f844f21a65df684c0bc35d3e444e93f7e46758c (patch) | |
tree | 8064e6a8cb892a0b11842ff052f9d2df4532f4c6 | |
parent | 58bb818d247c6d4c7727f84f212a494733eac45c (diff) | |
download | FreeBSD-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.c | 4 |
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); } |