Re: reading ROM BIOS

From: David J. Craig (spamtrap_at_crayne.org)
Date: 09/28/04


Date: Tue, 28 Sep 2004 21:47:11 +0000 (UTC)

IBM published their BIOS code for the PC & AT. "Well commented" it is not,
but the code is the best documentation. If you look at the docs for the
8259A you will find that it has many operating modes, only one of which is
what IBM chose to use.

"Allan Adler" <spamtrap@crayne.org> wrote in message
news:y93hdpiqm7t.fsf@nestle.csail.mit.edu...
>
> I have a Dell Latitude CsX laptop running RedHat 7.1 Linux and I'm trying
> to read the ROM BIOS. I copied the BIOS to a file and diassembled it
> using nasm-0.98.38 and now I'm trying to read it. My goal is to understand
> more about the hardware of the PC by observing the "conversation" that
> takes
> place between the CPU and the other hardware on bootup. I've already
> posted
> to comp.os.linux.misc and to a laptop group and gotten some helpful
> suggestions, but this newsgroup may be a more appropriate place to pursue
> this topic. Following one suggestion, I got van Gilluwe's book, The
> Undocumented PC, 2nd ed. I'm rather handicapped by not really knowing
> a lot about programming in assembler or machine language on this CPU.
> However, the nasm documentation has some information and I also downloaded
> the manuals on the Pentium III from Intel, since the laptop has a Pentium
> III.
>
> I assumed that the first instruction executed on bootup is at FFFF0.
> That lead after a couple of jumps to a sequence of about 60 instructions,
> the last of which is a HLT and the one before which is a write to port 92h
> which sets a bit that, according to Gilluwe's book, causes the machine
> to reset. I don't understand why the machine doesn't therefore go into
> an infinite loop, going back to FFFF0, the couple of jumps and the 60
> instructions again and then the write to port 92h and the reset.
>
> Does the machine in fact start at FFFF0?
> If so, does the machine return to FFFF0 when the bit is set at port 92h?
> If not, where does it go?
> If so, why isn't there an infinite loop?
>
> Some respondents on other groups have used terms such as "saving state"
> and "interrupt vector table". These may be the right things to talk about,
> but I don't know enough to use the vague suggestion that these things
> explain everything. If someone has an elementary explanation, it will
> be greatly appreciated.
>
> Alternatively, if there is a free BIOS, with fully documented source code,
> for a system involving a Pentium III, I'd be willing to study that instead
> just to get more experience with BIOSes before reading the BIOS for my
> laptop.
> --
> Ignorantly,
> Allan Adler <ara@zurich.csail.mit.edu>
> * Disclaimer: I am a guest and *not* a member of the MIT CSAIL. My actions
> and
> * comments do not reflect in any way on MIT. Also, I am nowhere near
> Boston.
>



Relevant Pages

  • Re: Laptop Encryption & Hibernation
    ... Documentation should live in a secure place. ... removing power from the bios (remove battery or battery connection on MB ... >> Computer Forensics Training at the InfoSec Institute. ... >> a certified computer examiner, learn to recover trace data left behind ...
    (Security-Basics)
  • Re: Nvidia driver
    ... never hurts to check.) ... and overlooked it in Nvidia documentation). ... documentation for the nVidia module can teach, ... I think that your machine's BIOS may set that option to Y by default. ...
    (comp.os.linux.hardware)
  • Re: Linux in a binary world... a doomsday scenario
    ... >> On Wed, 14 Dec 2005, Eric W. Biederman wrote: ... > chipset documentation there was and I manged to write code. ... You can't see it in the old PC/AT handbook schematics, ... (I know because I have written two AT Class BIOS). ...
    (Linux-Kernel)
  • Re: Geometry problem with FreeBSD 7.0
    ... The system has the latest BIOS available for it (D965 ... hptrr driver in the dmesg? ... Noted in the specs page of the documentation on High Point's web site ... indicate amd64 install is required for your 2TB array. ...
    (comp.unix.bsd.freebsd.misc)
  • Re: Documentation focusing specifically on the BIOS
    ... I was poking around at CP/M documentation, ... looking for is something specifically focusing on the BIOS. ... cache for the floppy and a printer fifo for those slow old dot matrix ...
    (comp.os.cpm)