diff options
| -rw-r--r-- | sys/amd64/amd64/local_apic.c | 6 | ||||
| -rw-r--r-- | sys/cddl/dev/cyclic/amd64/cyclic_machdep.c | 133 | ||||
| -rw-r--r-- | sys/cddl/dev/cyclic/i386/cyclic_machdep.c | 6 | ||||
| -rw-r--r-- | sys/i386/i386/local_apic.c | 6 | ||||
| -rw-r--r-- | sys/modules/cyclic/Makefile | 2 | ||||
| -rw-r--r-- | sys/pc98/cbus/clock.c | 4 | ||||
| -rw-r--r-- | sys/sys/dtrace_bsd.h | 2 | ||||
| -rw-r--r-- | sys/x86/isa/clock.c | 4 |
8 files changed, 15 insertions, 148 deletions
diff --git a/sys/amd64/amd64/local_apic.c b/sys/amd64/amd64/local_apic.c index 0dc1e2124147..2cf47e464c0b 100644 --- a/sys/amd64/amd64/local_apic.c +++ b/sys/amd64/amd64/local_apic.c @@ -71,7 +71,7 @@ __FBSDID("$FreeBSD$"); #ifdef KDTRACE_HOOKS #include <sys/dtrace_bsd.h> -cyclic_clock_func_t lapic_cyclic_clock_func[MAXCPU]; +cyclic_clock_func_t cyclic_clock_func[MAXCPU]; #endif /* Sanity checks on IDT vectors. */ @@ -788,8 +788,8 @@ lapic_handle_timer(struct trapframe *frame) * timers. */ int cpu = PCPU_GET(cpuid); - if (lapic_cyclic_clock_func[cpu] != NULL) - (*lapic_cyclic_clock_func[cpu])(frame); + if (cyclic_clock_func[cpu] != NULL) + (*cyclic_clock_func[cpu])(frame); #endif /* Fire hardclock at hz. */ diff --git a/sys/cddl/dev/cyclic/amd64/cyclic_machdep.c b/sys/cddl/dev/cyclic/amd64/cyclic_machdep.c deleted file mode 100644 index 9a15b2cdad03..000000000000 --- a/sys/cddl/dev/cyclic/amd64/cyclic_machdep.c +++ /dev/null @@ -1,133 +0,0 @@ -/*- - * Copyright 2007 John Birrell <jb@FreeBSD.org> - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - * - */ - -static void enable(cyb_arg_t); -static void disable(cyb_arg_t); -static void reprogram(cyb_arg_t, hrtime_t); -static void xcall(cyb_arg_t, cpu_t *, cyc_func_t, void *); - -static cyc_backend_t be = { - NULL, /* cyb_configure */ - NULL, /* cyb_unconfigure */ - enable, - disable, - reprogram, - xcall, - NULL /* cyb_arg_t cyb_arg */ -}; - -static void -cyclic_ap_start(void *dummy) -{ - /* Initialise the rest of the CPUs. */ - cyclic_mp_init(); -} - -SYSINIT(cyclic_ap_start, SI_SUB_SMP, SI_ORDER_ANY, cyclic_ap_start, NULL); - -/* - * Machine dependent cyclic subsystem initialisation. - */ -static void -cyclic_machdep_init(void) -{ - /* Register the cyclic backend. */ - cyclic_init(&be); -} - -static void -cyclic_machdep_uninit(void) -{ - int i; - - for (i = 0; i <= mp_maxid; i++) - /* Reset the cyclic clock callback hook. */ - lapic_cyclic_clock_func[i] = NULL; - - /* De-register the cyclic backend. */ - cyclic_uninit(); -} - -static hrtime_t exp_due[MAXCPU]; - -/* - * This function is the one registered by the machine dependent - * initialiser as the callback for high speed timer events. - */ -static void -cyclic_clock(struct trapframe *frame) -{ - cpu_t *c = &solaris_cpu[curcpu]; - - if (c->cpu_cyclic != NULL && gethrtime() >= exp_due[curcpu]) { - if (TRAPF_USERMODE(frame)) { - c->cpu_profile_pc = 0; - c->cpu_profile_upc = TRAPF_PC(frame); - } else { - c->cpu_profile_pc = TRAPF_PC(frame); - c->cpu_profile_upc = 0; - } - - c->cpu_intr_actv = 1; - - /* Fire any timers that are due. */ - cyclic_fire(c); - - c->cpu_intr_actv = 0; - } -} - -static void enable(cyb_arg_t arg) -{ - /* Register the cyclic clock callback function. */ - lapic_cyclic_clock_func[curcpu] = cyclic_clock; -} - -static void disable(cyb_arg_t arg) -{ - /* Reset the cyclic clock callback function. */ - lapic_cyclic_clock_func[curcpu] = NULL; -} - -static void reprogram(cyb_arg_t arg, hrtime_t exp) -{ - exp_due[curcpu] = exp; -} - -static void xcall(cyb_arg_t arg, cpu_t *c, cyc_func_t func, void *param) -{ - /* - * If the target CPU is the current one, just call the - * function. This covers the non-SMP case. - */ - if (c == &solaris_cpu[curcpu]) - (*func)(param); - else - smp_rendezvous_cpus((cpumask_t) (1 << c->cpuid), NULL, - func, smp_no_rendevous_barrier, param); -} diff --git a/sys/cddl/dev/cyclic/i386/cyclic_machdep.c b/sys/cddl/dev/cyclic/i386/cyclic_machdep.c index fa40db9329c1..0b6ab5936e2c 100644 --- a/sys/cddl/dev/cyclic/i386/cyclic_machdep.c +++ b/sys/cddl/dev/cyclic/i386/cyclic_machdep.c @@ -67,7 +67,7 @@ cyclic_machdep_uninit(void) for (i = 0; i <= mp_maxid; i++) /* Reset the cyclic clock callback hook. */ - lapic_cyclic_clock_func[i] = NULL; + cyclic_clock_func[i] = NULL; /* De-register the cyclic backend. */ cyclic_uninit(); @@ -105,13 +105,13 @@ cyclic_clock(struct trapframe *frame) static void enable(cyb_arg_t arg) { /* Register the cyclic clock callback function. */ - lapic_cyclic_clock_func[curcpu] = cyclic_clock; + cyclic_clock_func[curcpu] = cyclic_clock; } static void disable(cyb_arg_t arg) { /* Reset the cyclic clock callback function. */ - lapic_cyclic_clock_func[curcpu] = NULL; + cyclic_clock_func[curcpu] = NULL; } static void reprogram(cyb_arg_t arg, hrtime_t exp) diff --git a/sys/i386/i386/local_apic.c b/sys/i386/i386/local_apic.c index 9649b8c82880..c1bd1491cfac 100644 --- a/sys/i386/i386/local_apic.c +++ b/sys/i386/i386/local_apic.c @@ -72,7 +72,7 @@ __FBSDID("$FreeBSD$"); #ifdef KDTRACE_HOOKS #include <sys/dtrace_bsd.h> -cyclic_clock_func_t lapic_cyclic_clock_func[MAXCPU]; +cyclic_clock_func_t cyclic_clock_func[MAXCPU]; #endif /* Sanity checks on IDT vectors. */ @@ -790,8 +790,8 @@ lapic_handle_timer(struct trapframe *frame) * timers. */ int cpu = PCPU_GET(cpuid); - if (lapic_cyclic_clock_func[cpu] != NULL) - (*lapic_cyclic_clock_func[cpu])(frame); + if (cyclic_clock_func[cpu] != NULL) + (*cyclic_clock_func[cpu])(frame); #endif /* Fire hardclock at hz. */ diff --git a/sys/modules/cyclic/Makefile b/sys/modules/cyclic/Makefile index db99488e138b..371dac680541 100644 --- a/sys/modules/cyclic/Makefile +++ b/sys/modules/cyclic/Makefile @@ -10,7 +10,7 @@ SRCS+= vnode_if.h CFLAGS+= -I${.CURDIR}/../../cddl/compat/opensolaris \ -I${.CURDIR}/../../cddl/contrib/opensolaris/uts/common \ -I${.CURDIR}/../.. \ - -I${.CURDIR}/../../cddl/dev/cyclic/${MACHINE_ARCH} + -I${.CURDIR}/../../cddl/dev/cyclic/${MACHINE_ARCH:S/amd64/i386/} CFLAGS+= -DDEBUG=1 diff --git a/sys/pc98/cbus/clock.c b/sys/pc98/cbus/clock.c index 3028c074d153..8c5a7d2af759 100644 --- a/sys/pc98/cbus/clock.c +++ b/sys/pc98/cbus/clock.c @@ -175,8 +175,8 @@ clkintr(struct trapframe *frame) * timers. */ int cpu = PCPU_GET(cpuid); - if (lapic_cyclic_clock_func[cpu] != NULL) - (*lapic_cyclic_clock_func[cpu])(frame); + if (cyclic_clock_func[cpu] != NULL) + (*cyclic_clock_func[cpu])(frame); #endif #ifdef SMP diff --git a/sys/sys/dtrace_bsd.h b/sys/sys/dtrace_bsd.h index f3232841fa0e..a14a1a160f37 100644 --- a/sys/sys/dtrace_bsd.h +++ b/sys/sys/dtrace_bsd.h @@ -50,7 +50,7 @@ typedef void (*cyclic_clock_func_t)(struct trapframe *); * * Defining them here avoids a proliferation of header files. */ -extern cyclic_clock_func_t lapic_cyclic_clock_func[]; +extern cyclic_clock_func_t cyclic_clock_func[]; /* * The dtrace module handles traps that occur during a DTrace probe. diff --git a/sys/x86/isa/clock.c b/sys/x86/isa/clock.c index 921d29e323b0..aa3f145fa1b2 100644 --- a/sys/x86/isa/clock.c +++ b/sys/x86/isa/clock.c @@ -186,8 +186,8 @@ clkintr(struct trapframe *frame) * timers. */ int cpu = PCPU_GET(cpuid); - if (lapic_cyclic_clock_func[cpu] != NULL) - (*lapic_cyclic_clock_func[cpu])(frame); + if (cyclic_clock_func[cpu] != NULL) + (*cyclic_clock_func[cpu])(frame); #endif if (using_atrtc_timer) { |
