MFx86: the part of r204641

In order to do that cleanly, lapic_setup_clock(), on both ia32 and amd64,
  now accepts as arguments the desired sources to handle, and returns the
  actual ones (LAPIC_CLOCK_NONE is forbidden because otherwise there is no
  meaning in calling such function).
  This allows to bring out into commont x86 code the handling part for
  machdep.lapic_allclocks tunable, which is retained.
This commit is contained in:
Yoshihiro Takahashi 2010-03-05 11:11:42 +00:00
parent e9f3a15d63
commit 1e806970ff
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=204753

View file

@ -93,6 +93,9 @@ TUNABLE_INT("hw.i8254.freq", &i8254_freq);
int i8254_max_count;
static int i8254_real_max_count;
static int lapic_allclocks;
TUNABLE_INT("machdep.lapic_allclocks", &lapic_allclocks);
static struct mtx clock_lock;
static struct intsrc *i8254_intsrc;
static u_int32_t i8254_lastcount;
@ -432,9 +435,11 @@ startrtclock()
void
cpu_initclocks()
{
#if defined(DEV_APIC)
enum lapic_clock tlsca;
#ifdef DEV_APIC
using_lapic_timer = lapic_setup_clock();
tlsca = lapic_allclocks == 0 ? LAPIC_CLOCK_HARDCLOCK : LAPIC_CLOCK_ALL;
using_lapic_timer = lapic_setup_clock(tlsca);
#endif
/*
* If we aren't using the local APIC timer to drive the kernel