Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Aug 2001 06:23:14 -0700
From:      Igor Serikov <bt@turtle.pangeatech.com>
To:        FreeBSD Hackers <freebsd-hackers@FreeBSD.ORG>, FreeBSD Bugs <freebsd-bugs@FreeBSD.ORG>
Subject:   bios timecounter in doscmd
Message-ID:  <3B7531C2.479A7AC4@turtle.pangeatech.com>

next in thread | raw e-mail | index | archive | help

  Hello,

 As I found, I have overlooked a routine updating bios 0x6c & 0x70
fields.
It is in function video_update (module tty.c):
                                                                               
        *(u_long *)&BIOSDATA[0x6c] += 1;    /* Timer ticks since
midnight... */
        while (*(u_long *)&BIOSDATA[0x6c] >= 24*60*6*182)
{                    
                *(u_long *)&BIOSDATA[0x6c] -=
24*60*6*182;                     
                BIOSDATA[0x70]++;                   /* BIOSDATA[0x70] #
times p>
        }                      

The problem with this code is that it works only "if (!booting)". I do
not see the reason for such a restriction. I would suggest to move it to
int08 routine in timer.c in replacement to what is suggested in my
previous message, since this this routine also increments field 0x70.

  Thanks,
   Igor.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B7531C2.479A7AC4>