From takeharu1219@ybb.ne.jp  Wed May  9 11:10:36 2007
Return-Path: <takeharu1219@ybb.ne.jp>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 5E6A816A402
	for <FreeBSD-gnats-submit@freebsd.org>; Wed,  9 May 2007 11:10:36 +0000 (UTC)
	(envelope-from takeharu1219@ybb.ne.jp)
Received: from ybbsmtp09.mail.ogk.yahoo.co.jp (ybbsmtp09.mail.ogk.yahoo.co.jp [124.83.153.129])
	by mx1.freebsd.org (Postfix) with SMTP id E5DE513C45E
	for <FreeBSD-gnats-submit@freebsd.org>; Wed,  9 May 2007 11:10:35 +0000 (UTC)
	(envelope-from takeharu1219@ybb.ne.jp)
Received: (qmail 41891 invoked by alias); 9 May 2007 11:10:34 -0000
Received: from unknown (HELO ?127.0.0.1?) (takeharu1219@219.35.170.86 with plain)
  by ybbsmtp09.mail.ogk.yahoo.co.jp with SMTP; 9 May 2007 11:10:33 -0000
Message-Id: <4641AC10.6080007@ybb.ne.jp>
Date: Wed, 09 May 2007 20:10:08 +0900
From: Takeharu KATO <takeharu1219@ybb.ne.jp>
To: FreeBSD-gnats-submit@freebsd.org
Subject: Add High Precision Event Timer Driver for userland timer facility

>Number:         112544
>Category:       kern
>Synopsis:       [acpi] [patch] Add High Precision Event Timer Driver for userland timer facility
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-acpi
>State:          suspended
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed May 09 11:20:02 GMT 2007
>Closed-Date:    
>Last-Modified:  Sun Dec  5 15:10:14 UTC 2010
>Originator:     Takeharu KATO
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
none
>Environment:
System: FreeBSD aeon 7.0-CURRENT FreeBSD 7.0-CURRENT #3: Thu Apr 26 01:21:09 JST 2007 root@aeon:/usr/obj/usr/src/sys/GENERIC i386

	machine	: i386 PC/AT(Mother-Board: GIGABYTE GA-965P-DS3)
	os	: FreeBSD 7.0-CURRENT (2007/04/25 snapshot)
	target	: High Precision Event Timer Driver

>Description:
This patch add following facilities to acpi_hpet timer driver.

	1) Periodic timer facility
	    This driver provides periodic timer facility for userland applications to 
	   use for appication specific process scheduling.

	2) Global time stamp for SMP machines.
	    This driver provides a common time-base on N-Way MP system via mmap system call.
	   It is not affected by clock freq. drifts.
	    
The following issues remain in the range that I notice:

(a) HPET timer facility can not share the interrupt with other devices:

   This constraint comes from design of HPET timer device, ISR register in HPET
  does not reports ISR state when the HPET interrupts are configured as edge interrupt.

   So we can not determine whether the interrupt should be handled by HPET driver or not.

   If we configure HPET timer interrupts as level interrupt when driver initialization phase,
  it may be able to determine the owner of interrupts. 

(b) Timer0 is not available:
   Due to issue (a), HPET timer interrupts are routed with legacy routing way 
  which is mentioned in HPET/ICH-N manuals. 

   In this way, timer0's interrupt is routed to IRQ2.

   However, as far as I see, bus_setup_interrupt can not setup the interrupt handler of IRQ2. 

   To solve this problem, we can use I/O APIC routing in stead of legacy routing.
   
   But this solution raises issue(a).  So, I can not figure out how to solve this issue.

>How-To-Repeat:
	Attached test programs(they are included in hpet-tp.tar.bz2.uu) can be used to test this driver.
	
>Fix:
	This is not a bug.

begin 644 hpet-timer-20070509.patch.gz
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
A6N&]YIR$="@.Q!@T#L?%+SBE.]<.`</_`(+9(UZ&=@``
`
end

begin 644 hpet-tp.tar.bz2
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
1*4_[JV!#_Q=R13A0D)5804X`
`
end

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-acpi 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Wed May 9 11:27:19 UTC 2007 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112544 

From: Marius Nuennerich <marius.nuennerich@gmx.net>
To: bug-followup@FreeBSD.org, takeharu1219@ybb.ne.jp
Cc:  
Subject: Re: kern/112544: [acpi] [patch] Add High Precision Event Timer
 Driver for userland timer facility
Date: Mon, 21 May 2007 15:25:32 +0200

 Hi,
 
 I haven't read the whole patch yet.
 To me line 164 (of the first patch file) seems bogus. It tries to do
 the right thing (read-modify-write) but actually does not.
 HPET_OFFSET_ENABLE is the offset in the hpet datastructure. 
 
 Should be like this:
 val = bus_read_4(sc->mem_res, HPET_OFFSET_ENABLE);
 bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, val | 1);
 
 And 1 should better HPET_ENABLE_ENABLE.
 
 Line 133 of the same patch does not even try to do a read-modify-write.
 However the documentation is clear that it should.
 
 This all applies to the driver in -current (1.8) as well.
 
 regards
 Marius

From: Takeharu KATO <takeharu1219@ybb.ne.jp>
To: bug-followup@FreeBSD.org,  takeharu1219@ybb.ne.jp
Cc:  
Subject: Re: kern/112544: [acpi] [patch] Add High Precision Event Timer Driver
 for userland timer facility
Date: Wed, 16 Jan 2008 23:38:08 +0900

 This PR can be closed.
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/112544: commit references a PR
Date: Wed, 16 Jan 2008 18:47:15 +0000 (UTC)

 jhb         2008-01-16 18:47:07 UTC
 
   FreeBSD src repository
 
   Modified files:
     sys/dev/acpica       acpi_hpet.c 
   Added files:
     sys/dev/acpica       acpi_hpet.h 
   Log:
   Add a header containing constants for the various HPET registers and their
   fields and update the code to match.  The PR served more as an inspiration
   than providing the actual diffs.
   
   MFC after:      1 week
   PR:             kern/112544
   
   Revision  Changes    Path
   1.14      +19 -23    src/sys/dev/acpica/acpi_hpet.c
   1.1       +65 -0     src/sys/dev/acpica/acpi_hpet.h (new)
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: gavin 
State-Changed-When: Tue Jan 29 18:05:51 UTC 2008 
State-Changed-Why:  
Was committed to -HEAD a couple of weeks ago. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112544 
State-Changed-From-To: patched->open 
State-Changed-By: gavin 
State-Changed-When: Wed Jan 30 15:45:21 UTC 2008 
State-Changed-Why:  
Change state back to open as per jhb's request. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=112544 
State-Changed-From-To: open->feedback 
State-Changed-By: linimon 
State-Changed-When: Fri Feb 29 01:57:50 UTC 2008 
State-Changed-Why:  
To jhb: there seems to have been a commit, then an MFC to RELENG_6 via 
1.1.4.1 on Jan 23 2008.  Is there some reason this one needs to remain 
open? 


Responsible-Changed-From-To: freebsd-acpi->jhb 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Fri Feb 29 01:57:50 UTC 2008 
Responsible-Changed-Why:  

http://www.freebsd.org/cgi/query-pr.cgi?pr=112544 
State-Changed-From-To: feedback->suspended 
State-Changed-By: linimon 
State-Changed-When: Sat Mar 1 01:41:52 UTC 2008 
State-Changed-Why:  
See note from jhb in Audit-Trail. 


Responsible-Changed-From-To: jhb->freebsd-acpi 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat Mar 1 01:41:52 UTC 2008 
Responsible-Changed-Why:  

http://www.freebsd.org/cgi/query-pr.cgi?pr=112544 

From: linimon@lonesome.com (Mark Linimon)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/112544: [acpi] [patch] Add High Precision Event Timer Driver for userland timer facility
Date: Fri, 29 Feb 2008 19:41:46 -0600

 ----- Forwarded message from John Baldwin <jhb@freebsd.org> -----
 
 The HPET contains multiple bits.  One is a general count down timer that we 
 use for timekeeping.  In addition it contains a variable number of comparator 
 registers each of which can be used to generate interrupts at varying 
 frequencies (or one-shot interrupts, etc.).  The current in-kernel HPET 
 support only handles the count down timer.  We do not have any support for 
 the comparators.  The code in the PR does include support for the 
 comparators.  However, it's aim is to export them for use by userland 
 drivers.  FreeBSD will probably end up using the HPET comparators to back 
 deadline-style clock interrupts in place of the RTC or lapic timer at some 
 point in which case certain pieces of this code may be useful.
 
 The commit I made just extracted a few of the changes in the original patch, 
 it did not contain all of the changes in the patch.  It is probably best to 
 mark this as suspended and leave it as freebsd-acpi@ for now as I'm not 
 currently planning on doing the deadline clock stuff.
 
 -- 
 John Baldwin
 
 ----- End forwarded message -----

From: Andriy Gapon <avg@freebsd.org>
To: bug-followup@freebsd.org, takeharu1219@ybb.ne.jp
Cc:  
Subject: Re: kern/112544: [acpi] [patch] Add High Precision Event Timer Driver
 for userland timer facility
Date: Sun, 05 Dec 2010 17:05:16 +0200

 We still do not provide a userland interface to HPET.
 But do we really want to?
 What kind of applications would use it and why existing userland timer
 facilities are not adequate for them?
 
 In any case, HPET and event timer code has been substantially re-organized in
 head, so the patch would have to be rebased if the submitter still want that
 kind of functionality.
 
 Thanks for helping FreeBSD!
 -- 
 Andriy Gapon
>Unformatted:
