[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Hwclock failure on a Sable



Paul Slootman writes:
 > On Thu 25 Mar 1999, Wai-Sun Chia wrote:
 > 
 > > So obviously, the solution is to compile it in (2.2.4), which I
 > > happily did. On rebooting to my dismay, the boot process is being hung
 > > at "calibrating delay loop..." or something like that (didn't capture
 > > the
 > > exact message, sorry).  I think it's just after or before the Bogomips
 > > section.
 > > 
 > > System is able to boot again once I unconfigure the RTC.
 > 
 > I read over on the linux-kernel list that this is indeed a known
 > problem. It was claimed that the latest hwclock (from util-linux?)
 > didn't need the rtc support in the kernel anymore on alpha, so that
 > might be something to try?
 > 

Even if we end up using a user-space solution for hwclock, the kenel
problems need to be fix a tsome point. A good start seems to be the
solution of Nikita:
ftp://genie.ucd.ie:/pub/alpha/patches-2.2.x/rtclight.diff

A small explanation of the problem: on probably a lot of Alpha, the
RTC is actually used to generate the timer interrupt and some code
seems to be buggy with that, particularly:
in linux/arch/alpha/kernel/irq.h:

#define RTC_IRQ    8
#ifdef CONFIG_RTC
#define TIMER_IRQ  0			 /* timer is the pit */
#else
#define TIMER_IRQ  RTC_IRQ		 /* timer is the rtc */
#endif

whereas the irq code in arch/alpha/kernel/irq.c is calling:
	case 1:
		__save_and_cli(flags);
		handle_irq(RTC_IRQ, -1, &regs);
		__restore_flags(flags);

These two things does not seems to be consistent.


Loic


Reply to: