<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Joe, if it would be something that interests you, and you have the time, we could work on adding proper PCI Probing to Openbios.<div class=""><br class=""></div><div class="">As it stands the Qemu_VGA is a pci device, and Qemu loads an Option rom, but it’s the VGA Bios and Opennbios doesn’t probe for option roms.  Openbios has the Fcode for the Qemu-Vga device and there is a NDRV that gets loaded from a file.</div><div class=""><br class=""></div><div class="">What we really need is to make a proper FCode Rom image with the NDRV for the Qemu_VGA device, we could make a hybrid Bios/Fcode rom and not have to change the code in Qemu at all, I don’t think.</div><div class=""><br class=""></div><div class="">Here are some instructions on setting up and building Openbios on OS X Intel.</div><div class=""><br class=""></div><div class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">There is an effective tutorial on the openbios site. If you run OSX, you nee to install the fcode utils and use the awos cross compiler linked to: </span><a class="postlink" href="http://www.mediafire.com/download/wy5xgj2hwjp8k4k/AWOS_Cross-Compilers.zip" style="margin: 0px; padding: 0px; color: rgb(0, 87, 132); text-decoration: none; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;">http://www.mediafire.com/download/wy5xg ... pilers.zip</a><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">This is my script to build the OpenBIOS binary:</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span class="posthilit" style="margin: 0px; padding: 0px; background-color: yellow; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;">PATH=:/usr/local/ppcelf/ppcelf/bin:</span><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">/users/hsp/src/fcode-utils-devel/toke:$PATH</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">export PATH</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">cd openbios</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">CROSS_COMPILE=ppc-elf- ./config/scripts/switch-arch ppc</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">#(remove -Werror from CFLAGS in Makefile.target in top directory)</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">make</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">Best,</span><br style="margin: 0px; padding: 0px; font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px;" class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">Cat_7</span></div><div class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class=""><br class=""></span></div><div class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class="">I forget the file that has the Forth for the Qemu_VGA device, Mark?</span></div><div class=""><span style="font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);" class=""><br class=""></span></div><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font face="Verdana, Helvetica, Arial, sans-serif" size="2" class="">Also SLOF has some code for probing option roms for at least the GeForce 6600 PCI-E card, so that maybe something we can use to add support for option roms to OB.</font></span></div><div class=""><span style="background-color: rgb(255, 255, 255);" class=""><font face="Verdana, Helvetica, Arial, sans-serif" size="2" class=""><br class=""></font></span></div><div class=""><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ *****************************************************************************</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * Copyright (c) <span style="color: #272ad8" class="">2004</span>, <span style="color: #272ad8" class="">2008</span> IBM Corporation</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * All rights reserved.</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * This program and the accompanying materials</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * are made available under the terms of the BSD License</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * which accompanies this distribution, and is available at</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; color: rgb(0, 132, 0); background-color: rgb(255, 255, 255);" class=""><span style="color: #000000" class="">\ * http:</span>//<a href="http://www.opensource.org/licenses/bsd-license.php" class="">www.opensource.org/licenses/bsd-license.php</a></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ *</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ * Contributors:</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ *     IBM Corporation - initial implementation</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ ****************************************************************************/</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">my-space pci-class-name type</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">my-space pci-device-generic-setup</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">pci-io-enable</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">pci-mem-enable</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="color: #272ad8" class="">30</span> config-l@  pci-find-fcode execute-rom-fcode</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">: check-display ( nodepath len -- <span style="color: #ba2da2" class="">true</span>|<span style="color: #ba2da2" class="">false</span> ) \ <span style="color: #ba2da2" class="">true</span> <span style="color: #ba2da2" class="">if</span> display found and <span style="color: #d12f1b" class="">"screen"</span> alias set</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">\ check <span style="color: #ba2da2" class="">if</span> display available, set screen alias</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="color: #272ad8" class="">2</span>dup find-node \ ( path len phandle|<span style="color: #272ad8" class="">0</span> ) find node</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">?dup IF</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   \ node found, get <span style="color: #d12f1b" class="">"display-type"</span> property</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   s<span style="color: #d12f1b" class="">" display-type"</span> rot get-property ( path len <span style="color: #ba2da2" class="">true</span>|propaddr proplen <span style="color: #272ad8" class="">0</span> )</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   <span style="color: #272ad8" class="">0</span>= IF</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">      ( path len propaddr proplen ) \ property found, check <span style="color: #ba2da2" class="">if</span> the value is <span style="color: #3e1e81" class="">not</span> <span style="color: #d12f1b" class="">"NONE"</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">      s<span style="color: #d12f1b" class="">" NONE"</span> <span style="color: #272ad8" class="">0</span> char-cat ( path len propaddr proplen str strlen ) \ null-terminated NONE string</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">      str= <span style="color: #272ad8" class="">0</span>= IF</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">         ( path len ) \ <span style="color: #d12f1b" class="">"display-type"</span> property is <span style="color: #3e1e81" class="">not</span> <span style="color: #d12f1b" class="">"NONE"</span> so we can set <span style="color: #d12f1b" class="">"screen"</span> alias</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">         s<span style="color: #d12f1b" class="">" screen"</span> <span style="color: #272ad8" class="">2</span>swap set-alias </div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">         <span style="color: #ba2da2" class="">true</span> ( <span style="color: #ba2da2" class="">true</span> ) \  <span style="color: #ba2da2" class="">return</span> <span style="color: #ba2da2" class="">true</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">      ELSE</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">         <span style="color: #272ad8" class="">2</span>drop <span style="color: #ba2da2" class="">false</span> ( <span style="color: #ba2da2" class="">false</span> ) \ <span style="color: #ba2da2" class="">return</span> <span style="color: #ba2da2" class="">false</span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">      THEN</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   THEN</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">THEN</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">;</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">get-node node>path s<span style="color: #d12f1b" class="">" /NVDA,DISPLAY-A"</span> $cat check-display</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class=""><span style="color: #272ad8" class="">0</span>= IF</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   \ no display found on DISPLAY-A ... check DISPLAY-B</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   get-node node>path s<span style="color: #d12f1b" class="">" /NVDA,DISPLAY-B"</span> $cat check-display</div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">   drop \ drop result </div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">THEN</div><div style="margin: 0px; font-stretch: normal; line-height: normal; background-color: rgb(255, 255, 255); min-height: 14px;" class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo; background-color: rgb(255, 255, 255);" class="">s<span style="color: #d12f1b" class="">" name"</span> get-my-property drop s<span style="color: #d12f1b" class="">"  ( "</span> type type s<span style="color: #d12f1b" class="">"  ) "</span> type cr</div></div><div class=""><br class=""></div></body></html>