How exactly a PCI PnP BIOS executed (a.k.a PCI PnP Expansion ROM). I've built a code to be executed during bios boot. It worked just fine, but one thing really confuse me, I've deleted all the memory used by the code during Init Function call (explained in PCI 2.1 & 2.2 spec, in the expansion rom part) by setting it's size value to zero (at first I didn't really realize doing it, I know this after re-reading my source code) but the code following it (pointed to by the BEV/Bootstrap Entry Vector) still executed. Does anyone knows how exactly this stuff worked ? A more detailed explanation on how the BEV worked will reveal all the mystery :)
Posted on 2003-06-19 08:48:07 by maman
expansion ROM??? what the code contained for? is it jump from the last opcode on the board bios rom?

uhm... nothing strange when you say you've del all mem when calling init with 0 param. i dont mean i know about this. but, it dont effect anything, do it? consult to funct desc again, and see if it saying something about it :)

BEV? nothing comes to my mind yet.
Posted on 2003-06-21 03:17:53 by dion

expansion ROM??? what the code contained for? is it jump from the last opcode on the board bios rom?

uhm... nothing strange when you say you've del all mem when calling init with 0 param. i dont mean i know about this. but, it dont effect anything, do it? consult to funct desc again, and see if it saying something about it :)

BEV? nothing comes to my mind yet.

Not calling init w/ 0 param but "deleting" the code as explained in the standard, if you set the size byte in the PCI expansion ROM header after executing the init function (with the init function itself, some sort of self modifying code) to zero then the code will be discarded by the main bios (original.tmp). That's all, but why the code that is pointed to by the BEV is still executed, this is where the mystery is :). Sorry if there's a misunderstanding .
Posted on 2003-06-30 06:35:07 by maman