From owner-freebsd-hackers Wed Jun 10 16:39:27 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA20951 for freebsd-hackers-outgoing; Wed, 10 Jun 1998 16:39:27 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from dingo.cdrom.com (dingo.cdrom.com [204.216.28.145]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA20911 for ; Wed, 10 Jun 1998 16:39:16 -0700 (PDT) (envelope-from mike@dingo.cdrom.com) Received: from dingo.cdrom.com (localhost [127.0.0.1]) by dingo.cdrom.com (8.8.8/8.8.5) with ESMTP id PAA00784; Wed, 10 Jun 1998 15:33:39 -0700 (PDT) Message-Id: <199806102233.PAA00784@dingo.cdrom.com> X-Mailer: exmh version 2.0zeta 7/24/97 To: Warner Losh cc: hackers@FreeBSD.ORG Subject: Re: PnP BIOS In-reply-to: Your message of "Wed, 10 Jun 1998 10:29:17 MDT." <199806101629.KAA04002@harmony.village.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 10 Jun 1998 15:33:39 -0700 From: Mike Smith Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Hmm, starting from the top... > Greetings, > for a variety of reasons, I'd like to be able to call the PnP > BIOS that is on my machine. I notice that the kernel currently > searches for the $PnP magic cookie, but just prints it on boot. It > doesn't even bother to save it away like the SMBIOStable and the > DMItable. Has anybody done any work in this area realting to calling > PnP BIOS functions from a running system? The $PnP cookie isn't actually very useful by itself. > Reading the PnP MindShare > book leads me to believe that this should be fairly simple and easy to > do (barring implementation bugs in the BIOS) once you have the "weird" > segmentation addressing issues taken care of which the MindShare books > seems to imply that you need to do. (I don't have the book in front > of me, so it might not be weird but just different...). Jonathan's 16-bit protected-mode call stuff actually handles the PnP BIOS quite well - I have some pretty trivial code here that I have been using for a while now that uses it. > I'm actually interested in this because I'd like to play with the > SMBIOS that my machine has, but it implements 2.0 and not the newer > 2.1 (which has the table bios.c is searching for, unlike 2.0). So to > do that, I have to be able to call the PnP BIOS. From code inspection > it appears that the only BIOS calls that are supported are the INT xx > type calls. Is that correct, or have I overlooked something? The 16-bit protected mode interface is the preferred call method these days. Just of curiosity, what information do you want that's not available from the table structure? Most systems that implement SMB/DMI 2.0 also have the table-based interface (because this is what they want to use with NT). You can do all the table-based stuff with /dev/mem, obviously enough. -- \\ Sometimes you're ahead, \\ Mike Smith \\ sometimes you're behind. \\ mike@smith.net.au \\ The race is long, and in the \\ msmith@freebsd.org \\ end it's only with yourself. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message