Subject: Re: double summertime :-(
To: <>
From: David Laight <david@l8s.co.uk>
List: port-i386
Date: 04/24/2002 19:26:41
On Wed, Apr 24, 2002 at 06:09:33PM +0100, Chris Gilbert wrote:
> 
> > Changing RTC_OFFSET would require a summer kernel and a winter kernel!
> > But I suspect that everytime I load win98 it will advance the clock
> > another hour!
> 
> No it doesn't it does it the first time you boot it after the switch over
> from BST to GMT or GMT to BST (or your favorite time zones 8)

It was this bit of code that made me think it might happen every
time you switch between the oses:

void
rtcinit()
{
        static int first_rtcopen_ever = 1;

	if (!first_rtcopen_ever)
		return;
	first_rtcopen_ever = 0;

	mc146818_write(NULL, MC_REGA,                   /* XXX softc */
	    MC_BASE_32_KHz | MC_RATE_1024_Hz);
	mc146818_write(NULL, MC_REGB, MC_REGB_24HR);    /* XXX softc */
}

My interpretation is that this clears the MC_REGB_DSE bit - which
could very easily be what win98 uses to decide that the system
clock needs to be changed - but I haven't booted win98 again yet.

	David

-- 
David Laight: david@l8s.co.uk