[haiku-bugs] Re: [Haiku] #8533: S-ATA and AHCI boot problem

  • From: "tqh" <trac@xxxxxxxxxxxx>
  • Date: Sun, 09 Sep 2012 10:39:43 -0000

#8533: S-ATA and AHCI boot problem
----------------------------+-----------------------------
   Reporter:  Morbid        |      Owner:  marcusoverhagen
       Type:  bug           |     Status:  new
   Priority:  normal        |  Milestone:  R1
  Component:  Drivers/Disk  |    Version:  R1/Development
 Resolution:                |   Keywords:
 Blocked By:                |   Blocking:  7665, 8953
Has a Patch:  0             |   Platform:  All
----------------------------+-----------------------------

Comment (by tqh):

 Someone reported it working when disabling HPET in BIOS. Might be related
 to the problems mentioned here perhaps?
 http://en.wikipedia.org/wiki/High_Precision_Event_Timer

 HPET is a continuously running timer that counts upward, not a one-shot
 device that counts down to zero, causes one interrupt and then stops.
 Since HPET compares the actual timer value and the programmed target value
 on equality rather than "greater or equal", interrupts can be missed if
 the target time has already passed when the comparator value is written
 into the chip's register. In the presence of non-maskable interrupts (such
 as System Management Interrupts) that do not have a hard upper bound on
 their execution time, this race condition requires time-consuming re-
 checks of the timer after setup and is hard to avoid completely. The
 difficulties are exacerbated if the comparator value is not synchronized
 with the timer immediately, but delayed by one or two ticks, as some
 chipsets do.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8533#comment:4>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: