Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2010 22:58:38 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Alexander Motin <mav@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r209371 - in head/sys: amd64/amd64 amd64/include conf dev/acpica i386/i386 i386/include isa kern pc98/cbus sys x86/isa x86/x86
Message-ID:  <20100621195838.GJ13238@deviant.kiev.zoral.com.ua>
In-Reply-To: <201006202133.o5KLXTG1023067@svn.freebsd.org>
References:  <201006202133.o5KLXTG1023067@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--neJKo2vCRXM/Q6OJ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jun 20, 2010 at 09:33:29PM +0000, Alexander Motin wrote:
> Author: mav
> Date: Sun Jun 20 21:33:29 2010
> New Revision: 209371
> URL: http://svn.freebsd.org/changeset/base/209371
>=20
> Log:
>   Implement new event timers infrastructure. It provides unified APIs for
>   writing event timer drivers, for choosing best possible drivers by mach=
ine
>   independent code and for operating them to supply kernel with hardclock=
(),
>   statclock() and profclock() events in unified fashion on various hardwa=
re.
>  =20
>   Infrastructure provides support for both per-CPU (independent for every=
 CPU
>   core) and global timers in periodic and one-shot modes. MI management c=
ode
>   at this moment uses only periodic mode, but one-shot mode use planned f=
or
>   later, as part of tickless kernel project.
>  =20
>   For this moment infrastructure used on i386 and amd64 architectures. Ot=
her
>   archs are welcome to follow, while their current operation should not be
>   affected.
>  =20
>   This patch updates existing drivers (i8254, RTC and LAPIC) for the new
>   order, and adds event timers support into the HPET driver. These drivers
>   have different capabilities:
>    LAPIC - per-CPU timer, supports periodic and one-shot operation, may
>   freeze in C3 state, calibrated on first use, so may be not exactly prec=
ise.
>    HPET - depending on hardware can work as per-CPU or global, supports
>   periodic and one-shot operation, usually provides several event timers.
>    i8254 - global, limited to periodic mode, because same hardware used a=
lso
>   as time counter.
>    RTC - global, supports only periodic mode, set of frequencies in Hz
>   limited by powers of 2.
>  =20
>   Depending on hardware capabilities, drivers preferred in following orde=
rs,
>   either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC.
>   User may explicitly specify wanted timers via loader tunables or sysctl=
s:
>   kern.eventtimer.timer1 and kern.eventtimer.timer2.
>   If requested driver is unavailable or unoperational, system will try to
>   replace it. If no more timers available or "NONE" specified for second,
>   system will operate using only one timer, multiplying it's frequency by=
 few
>   times and uing respective dividers to honor hz, stathz and profhz value=
s,
>   set during initial setup.

This broke QEMU for me. I cannot boot FreeBSD guest under QEMU anymore.
QEMU (not FreeBSD kernel) panics with
qemu: level-triggered hpet not supported
message.

Setting kern.eventtimer.timer1 to LAPIC or i8254, and timer2 to NONE
does not help.

--neJKo2vCRXM/Q6OJ
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkwfxG0ACgkQC3+MBN1Mb4hHEQCfWHF4dTQkvOcSoS1enVTHk5cS
VIUAoI5bq1jdivwiGQOrJ1UXMS/gv+rF
=de4L
-----END PGP SIGNATURE-----

--neJKo2vCRXM/Q6OJ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100621195838.GJ13238>