/[gxemul]/trunk/doc/misc.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/doc/misc.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 13 by dpavlin, Mon Oct 8 16:18:38 2007 UTC revision 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC
# Line 10  Line 10 
10    
11  <!--  <!--
12    
13  $Id: misc.html,v 1.50 2005/08/16 05:15:24 debug Exp $  $Id: misc.html,v 1.53 2005/09/04 14:00:25 debug Exp $
14    
15  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.
16    
# Line 480  This binary image can now be used in the Line 480  This binary image can now be used in the
480           osconsole=3           osconsole=3
481          >>          >>
482  </pre>  </pre>
483  <i>(Note: at the moment, this doesn't work. I must have broken something when  
484  fixing something else, but this is what it looked like at the time.)</i>  <p><font color="#ff0000">(Note: at the moment, this doesn't work.
485  <p>  I must have broken something when fixing something else, but this
486  During bootup, the PROM complains <i>a lot</i> about hardware failures.  is what it looked like at the time.)</font>
487    
488    <p>During bootup, the PROM complains <i>a lot</i> about hardware failures.
489  That's because the emulator doesn't emulate the hardware well enough yet.  That's because the emulator doesn't emulate the hardware well enough yet.
490  <p>  
491  The command line options used are: -e 3min for  <p>The command line options used are: <tt>-e 3min</tt> for
492  "DECstation 3min" (5000/1xx), -Q to supress the emulator's own PROM  "DECstation 3min" (5000/1xx), <tt>-Q</tt> to supress the emulator's own PROM
493  call emulation, -M128 for 128MB RAM (because GXemul doesn't correctly  call emulation, <tt>-M128</tt> for 128MB RAM (because GXemul doesn't correctly
494  emulate memory detection well enough for the PROM to accept, so it will  emulate memory detection well enough for the PROM to accept, so it will
495  always believe there is 128MB ram anyway), and -q to supress debug messages.  always believe there is 128MB ram anyway), and <tt>-q</tt> to supress debug messages.
496  The 0xbfc00000 in front of the filename tells GXemul that it is a raw  The <tt>0xbfc00000</tt> in front of the filename tells GXemul that it is a raw
497  binary file which should be loaded at a specific virtual address.  binary file which should be loaded at a specific virtual address.
498    
499    
# Line 499  binary file which should be loaded at a Line 501  binary file which should be loaded at a
501  <h4>Dumping the PROM on a SGI O2:</h4>  <h4>Dumping the PROM on a SGI O2:</h4>
502    
503  The general ideas in this section applies to using ROM images from other  The general ideas in this section applies to using ROM images from other
504  machines as well. Besides DECstation, I've also tried this on an SGI IP32  machines as well. I have also tried this on an SGI IP32 ("O2"), in addition
505  ("O2").  to the DECstation.
506  <p>  
507  For the O2, a suitable command to dump the prom memory range is  <p>For the O2, a suitable command to dump the prom memory range is
508  <pre>  <pre>
509          &gt;&gt; <b>dump -b 0xBFC00000:0xBFC80000</b>          &gt;&gt; <b>dump -b 0xBFC00000:0xBFC80000</b>
510  </pre>  </pre>
511  Make sure you capture all the output (via serial console) into a file,  Make sure you capture all the output (via serial console) into a file,
512  and then run experiments/sgiprom_to_bin on the captured file.  and then run <tt>experiments/sgiprom_to_bin</tt> on the captured file.
 <p>  
 (2005-01-16: The emulator doesn't really emulate the IP32 well enough to  
 actually run the PROM image without using special hacks, but it might do  
 so some time in the future.)  
513    
514    <p>
515    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
516    <a href="sgi-o2-real.jpg"><img src="sgi-o2-real_small.jpg"></a>
517    &nbsp;&nbsp;&nbsp;
518    <a href="20050817-sgi-o2-success-7.png"><img src="20050817-sgi-o2-success-7_small.png"></a>
519    &nbsp;&nbsp;&nbsp;
520    <a href="20050817-sgi-o2-success-8.png"><img src="20050817-sgi-o2-success-8_small.png"></a>
521    
522    <p>The photo on the left is from the real machine. The other two are
523    screenshots of the PROM running experimentally in GXemul, using <tt>-Y2</tt>
524    framebuffer scaledown.
525    
526    <p>Normally during bootup, the IP32 PROM does a Power-On test which makes
527    sure that the caches and other things are working properly. GXemul doesn't
528    emulate all those things well enough for the tests to pass. The
529    experimental screenshots above were taken with cache detection skipped
530    manually.
531    
532    <p><font color="#ff0000">
533    In other words: don't expect this to work out-of-the-box with GXemul right
534    now. It might work once I've added correct cache emulation.</font>
535    
536    <p>The command line used to start the emulator, once correct cache
537    emulation has been implemented, would be something like <tt>gxemul -XQeo2
538    0xbfc00000:prom.bin</tt>.
539    
540    <p>The same caution applies when dealing with SGI PROMs as with
541    DECstation PROMs: GXemul doesn't really emulate the hardware, it only
542    "fakes" devices well enough to fool some things, primarily NetBSD, that
543    it is emulating a real machine. ROM code is usually a <i>lot</i> more
544    picky about the details.
545    
546    <p>The graphics used in the O2 is (as far as I know) undocumented. Combining
547    some traces of info from how Linux/O2 draws to the screen with some
548    reverse-engineering of my own, I've implemeneted enough of the controller to
549    let the PROM draw rectangles and bitmaps, but not much more. The SCSI
550    controller is not implemented yet either.
551    
552    
553    

Legend:
Removed from v.13  
changed lines
  Added in v.14

  ViewVC Help
Powered by ViewVC 1.1.26