From owner-freebsd-bugs Sun Aug 12 23:56:58 2001 Delivered-To: freebsd-bugs@freebsd.org Received: from turtle.pangeatech.com (turtle.pangeatech.com [65.192.22.128]) by hub.freebsd.org (Postfix) with ESMTP id A2BB337B409 for ; Sun, 12 Aug 2001 23:56:51 -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 f7C1MSi92199 for ; Sat, 11 Aug 2001 18:22:28 -0700 (PDT) (envelope-from bt@turtle.pangeatech.com) Message-ID: <3B75DA53.A7D7832@turtle.pangeatech.com> Date: Sat, 11 Aug 2001 18:22:27 -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 Bugs Subject: bios timecounter in doscmd Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 7bit Sender: owner-freebsd-bugs@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-bugs" in the body of the message