From owner-svn-src-head@FreeBSD.ORG Tue Jul 13 12:46:06 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 923191065673; Tue, 13 Jul 2010 12:46:06 +0000 (UTC) (envelope-from mav@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7E9788FC21; Tue, 13 Jul 2010 12:46:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o6DCk6cv027774; Tue, 13 Jul 2010 12:46:06 GMT (envelope-from mav@svn.freebsd.org) Received: (from mav@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o6DCk6Yq027768; Tue, 13 Jul 2010 12:46:06 GMT (envelope-from mav@svn.freebsd.org) Message-Id: <201007131246.o6DCk6Yq027768@svn.freebsd.org> From: Alexander Motin Date: Tue, 13 Jul 2010 12:46:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209990 - in head/sys: dev/acpica x86/isa x86/x86 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Jul 2010 12:46:06 -0000 Author: mav Date: Tue Jul 13 12:46:06 2010 New Revision: 209990 URL: http://svn.freebsd.org/changeset/base/209990 Log: Rise knowledge about curthread->td_intr_frame by one step. Make timer callback argument really opaque. Not repeat interrupt handler's problem in case somebody will ever need to have both argument and frame. Modified: head/sys/dev/acpica/acpi_hpet.c head/sys/x86/isa/atrtc.c head/sys/x86/isa/clock.c head/sys/x86/x86/local_apic.c head/sys/x86/x86/timeevents.c Modified: head/sys/dev/acpica/acpi_hpet.c ============================================================================== --- head/sys/dev/acpica/acpi_hpet.c Tue Jul 13 11:04:46 2010 (r209989) +++ head/sys/dev/acpica/acpi_hpet.c Tue Jul 13 12:46:06 2010 (r209990) @@ -216,10 +216,8 @@ hpet_intr_single(void *arg) } else if (t->mode == 2) t->mode = 0; mt = (t->pcpu_master < 0) ? t : &sc->t[t->pcpu_master]; - if (mt->et.et_active) { - mt->et.et_event_cb(&mt->et, - mt->et.et_arg ? mt->et.et_arg : curthread->td_intr_frame); - } + if (mt->et.et_active) + mt->et.et_event_cb(&mt->et, mt->et.et_arg); return (FILTER_HANDLED); } Modified: head/sys/x86/isa/atrtc.c ============================================================================== --- head/sys/x86/isa/atrtc.c Tue Jul 13 11:04:46 2010 (r209989) +++ head/sys/x86/isa/atrtc.c Tue Jul 13 12:46:06 2010 (r209990) @@ -209,11 +209,8 @@ rtc_intr(void *arg) while (rtcin(RTC_INTR) & RTCIR_PERIOD) { flag = 1; - if (sc->et.et_active) { - sc->et.et_event_cb(&sc->et, - sc->et.et_arg ? sc->et.et_arg : - curthread->td_intr_frame); - } + if (sc->et.et_active) + sc->et.et_event_cb(&sc->et, sc->et.et_arg); } return(flag ? FILTER_HANDLED : FILTER_STRAY); } Modified: head/sys/x86/isa/clock.c ============================================================================== --- head/sys/x86/isa/clock.c Tue Jul 13 11:04:46 2010 (r209989) +++ head/sys/x86/isa/clock.c Tue Jul 13 12:46:06 2010 (r209990) @@ -148,10 +148,8 @@ clkintr(void *arg) mtx_unlock_spin(&clock_lock); } - if (sc && sc->et.et_active) { - sc->et.et_event_cb(&sc->et, - sc->et.et_arg ? sc->et.et_arg : curthread->td_intr_frame); - } + if (sc && sc->et.et_active) + sc->et.et_event_cb(&sc->et, sc->et.et_arg); #ifdef DEV_MCA /* Reset clock interrupt by asserting bit 7 of port 0x61 */ Modified: head/sys/x86/x86/local_apic.c ============================================================================== --- head/sys/x86/x86/local_apic.c Tue Jul 13 11:04:46 2010 (r209989) +++ head/sys/x86/x86/local_apic.c Tue Jul 13 12:46:06 2010 (r209990) @@ -802,8 +802,7 @@ lapic_handle_timer(struct trapframe *fra td = curthread; oldframe = td->td_intr_frame; td->td_intr_frame = frame; - lapic_et.et_event_cb(&lapic_et, - lapic_et.et_arg ? lapic_et.et_arg : frame); + lapic_et.et_event_cb(&lapic_et, lapic_et.et_arg); td->td_intr_frame = oldframe; } critical_exit(); Modified: head/sys/x86/x86/timeevents.c ============================================================================== --- head/sys/x86/x86/timeevents.c Tue Jul 13 11:04:46 2010 (r209989) +++ head/sys/x86/x86/timeevents.c Tue Jul 13 12:46:06 2010 (r209990) @@ -165,7 +165,7 @@ timer1cb(struct eventtimer *et, void *ar } } } - hardclockhandler((struct trapframe *)arg); + hardclockhandler(curthread->td_intr_frame); } /* timer2 callback. */ @@ -188,7 +188,7 @@ timer2cb(struct eventtimer *et, void *ar } } } - statclockhandler((struct trapframe *)arg); + statclockhandler(curthread->td_intr_frame); } /*