[haiku-commits] Re: r41683 - haiku/trunk/src/system/boot/platform/bios_ia32

  • From: François Revol <revol@xxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 23 May 2011 17:07:23 +0200

Le 23 mai 2011 à 16:51, mmlr@xxxxxxxx a écrit :

> Author: mmlr
> Date: 2011-05-23 16:51:42 +0200 (Mon, 23 May 2011)
> New Revision: 41683
> Changeset: https://dev.haiku-os.org/changeset/41683
> 
> Modified:
>   haiku/trunk/src/system/boot/platform/bios_ia32/cpu.cpp
> Log:
> Switch to using the PIT in mode 0 (interrupt on 0) instead of mode 2 (rate
> generator). There are chipsets (namely ATI/AMD SBx00) where mode 2 doesn't 
> seem
> to work (the counter isn't reloaded after the countdown has completed). Mode 0
> has the same resolution as mode 2 and, as interrupts are disabled at this 
> point
> in booting, is otherwise equivalent as well. I've tested this on 5 machines
> available to me and it doesn't seem to have any negative effect.

ATI IXP chipsets hade a serious bug on the PIT (and also on the IO_APIC timer 
it seems, maybe rather in the IRQ routing, still not sure), cf.
src/add-ons/kernel/bus_managers/pci/pci_fixup.cpp:ati_fixup_ixp()
I should probably test this change on my old ASUS laptop.

François.

Other related posts: