From owner-svn-src-head@FreeBSD.ORG Mon Jun 21 20:15:04 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 5D732106564A; Mon, 21 Jun 2010 20:15:04 +0000 (UTC) (envelope-from pawel.worach@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 23D578FC16; Mon, 21 Jun 2010 20:15:02 +0000 (UTC) Received: by wyb33 with SMTP id 33so3561094wyb.13 for ; Mon, 21 Jun 2010 13:15:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=kTd0skNvpUKRMg9e3lynuPemyF57/wHfr+SfZ5kWpus=; b=fneVoLEMZSAP3KjvFlbA/8vlBb+nAhUXiwJOX640FCkeUu8WsTFNkBPTdt7EVY+OiS RMij/mx8PJ6iMtGv1IWakJPJKuevQoyxfR9EcmwpoZxaM6315K1jAF+I19c2l7XwoJw9 VISQ4E9PbEMbDSNXZQNYZhu0TOBek2kMu/ocw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=C88hwdx2UMtfDNwN95E9iWV+g4ZWUOoiue2RIDe8lddb0Gr5HNPvYIByDtte1umr+b K+rq00ny1UR502DE20Wh3oemtESBjl+PEAH2gqqdaBx9NpUZwcRLGWkkYwfLj4Ga9RCZ uzhaaH256oFXAno8nY1+HpArBKmoh0G/MrHI0= Received: by 10.227.144.146 with SMTP id z18mr5315071wbu.131.1277151301842; Mon, 21 Jun 2010 13:15:01 -0700 (PDT) Received: from [172.16.0.199] (c80-216-186-179.bredband.comhem.se [80.216.186.179]) by mx.google.com with ESMTPS id p17sm28461406wbe.2.2010.06.21.13.15.00 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 21 Jun 2010 13:15:00 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1081) Content-Type: text/plain; charset=us-ascii From: Pawel Worach In-Reply-To: <20100621195838.GJ13238@deviant.kiev.zoral.com.ua> Date: Mon, 21 Jun 2010 22:14:58 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: <6067180F-87EB-4569-A4DE-7150A3CC074F@gmail.com> References: <201006202133.o5KLXTG1023067@svn.freebsd.org> <20100621195838.GJ13238@deviant.kiev.zoral.com.ua> To: Kostik Belousov X-Mailer: Apple Mail (2.1081) Cc: svn-src-head@freebsd.org, Alexander Motin , src-committers@freebsd.org, svn-src-all@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 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: Mon, 21 Jun 2010 20:15:04 -0000 On Jun 21, 2010, at 21:58, Kostik Belousov wrote: > 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 = machine >> independent code and for operating them to supply kernel with = hardclock(), >> statclock() and profclock() events in unified fashion on various = hardware. >>=20 >> Infrastructure provides support for both per-CPU (independent for = every CPU >> core) and global timers in periodic and one-shot modes. MI = management code >> at this moment uses only periodic mode, but one-shot mode use = planned for >> later, as part of tickless kernel project. >>=20 >> For this moment infrastructure used on i386 and amd64 architectures. = Other >> 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 = precise. >> 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 also >> 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 = orders, >> either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC. >> User may explicitly specify wanted timers via loader tunables or = sysctls: >> 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 = values, >> set during initial setup. >=20 > 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. >=20 > Setting kern.eventtimer.timer1 to LAPIC or i8254, and timer2 to NONE > does not help. ps. level-triggered hpet is implemented in QEMU git. --=20 Pawel=