In practice I don't think there are any timers which require better than
100ms granularity, and I doubt a little inaccuracy delaying a timeout by up
to 55ms would really affect much (as long as it isn't up to 55ms _early_).
Although in any case, PC hardware is actually pretty standard - with
backward compatibility still present for obscenely ancient devices. Usually
you can use the Periodic Interval Timer anywhere. You can see a usage
example in eCos here(hal_pc_clock_initialize and hal_pc_clock_read):
http://ecos.sourceware.org/cgi-bin/cvsweb.cgi/ecos/packages/hal/i386/pcmb/current/src/pcmb_misc.c?rev=1.9&content-type=text/x-cvsweb-markup&cvsroot=ecos
with some info from:
http://ecos.sourceware.org/cgi-bin/cvsweb.cgi/ecos/packages/hal/i386/pcmb/current/include/pcmb_intr.h?rev=1.5&content-type=text/x-cvsweb-markup&cvsroot=ecos
It uses interrupt IRQ0 i.e. 32.