From owner-freebsd-hackers Sun Aug 12 23:57: 0 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from turtle.pangeatech.com (turtle.pangeatech.com [65.192.22.128]) by hub.freebsd.org (Postfix) with ESMTP id 0B8FD37B40F; Sun, 12 Aug 2001 23:56:52 -0700 (PDT) (envelope-from bt@turtle.pangeatech.com) Received: from turtle.pangeatech.com (localhost [127.0.0.1]) by home.turtle.pangeatech.com (8.11.1/8.9.3) with ESMTP id f7BDNFi41384; Sat, 11 Aug 2001 06:23:15 -0700 (PDT) (envelope-from bt@turtle.pangeatech.com) Message-ID: <3B7531C2.479A7AC4@turtle.pangeatech.com> Date: Sat, 11 Aug 2001 06:23:14 -0700 From: Igor Serikov Organization: Private Person X-Mailer: Mozilla 4.75 [en] (X11; U; FreeBSD 4.2-RELEASE i386) X-Accept-Language: ru, en MIME-Version: 1.0 To: FreeBSD Hackers , FreeBSD Bugs Subject: bios timecounter in doscmd Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG 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-hackers" in the body of the message