/[gxemul]/trunk/doc/intro.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/intro.html

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

revision 8 by dpavlin, Mon Oct 8 16:18:19 2007 UTC revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC
# Line 12  Line 12 
12    
13  <!--  <!--
14    
15  $Id: intro.html,v 1.47 2005/06/04 22:47:49 debug Exp $  $Id: intro.html,v 1.53 2005/06/26 08:42:26 debug Exp $
16    
17  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.
18    
# Line 55  SUCH DAMAGE. Line 55  SUCH DAMAGE.
55    <li><a href="#cpus">Which CPU types does GXemul emulate?</a>    <li><a href="#cpus">Which CPU types does GXemul emulate?</a>
56    <li><a href="#accuracy">Emulation accuracy</a>    <li><a href="#accuracy">Emulation accuracy</a>
57    <li><a href="#emulmodes">Which machines does GXemul emulate?</a>    <li><a href="#emulmodes">Which machines does GXemul emulate?</a>
58    <li><a href="#guestos">Which guest OSes are possible to run?</a>    <li><a href="#guestos">Which guest OSes are possible to run in GXemul?</a>
59  </ul>  </ul>
60    
61    
# Line 66  SUCH DAMAGE. Line 66  SUCH DAMAGE.
66  <a name="overview"></a>  <a name="overview"></a>
67  <h3>Overview:</h3>  <h3>Overview:</h3>
68    
69  GXemul is a machine emulator, which can be used to experiment with  GXemul is an experimental instruction-level machine emulator. It can be
70  binary code for (among others) MIPS-based machines. Several emulation  used to run binary code for (among others) MIPS-based machines, regardless
71  modes are available. For some emulation modes, processors and surrounding  of host platform. Several emulation modes are available. For some modes,
72  hardware components are emulated well enough to let unmodified operating  processors and surrounding hardware components are emulated well enough to
73  systems run as if they were running on a real machine.  let unmodified operating systems run as if they were running on a real
74    machine.
75    
76  <p>  <p>Devices and CPUs are not simulated with 100% accuracy. They are only
77  Devices and CPUs are not simulated with 100% accuracy. They are only  ``faked'' well enough to make operating systems (e.g. NetBSD) run without
 "faked" well enough to make operating systems (eg NetBSD) run without  
78  complaining too much. Still, the emulator could be of interest for  complaining too much. Still, the emulator could be of interest for
79  academic research and experiments, such as when learning how to write  academic research and experiments, such as when learning how to write
80  operating system code.  operating system code.
81    
82  <p>  <p>The emulator is written in C, does not depend on external libraries
83  The emulator is written in C, does not depend on external libraries (except  (except X11, but that is optional), and should compile and run on most
84  X11, but that is optional), and should compile and run on most Unix-like  Unix-like systems. If it doesn't, then that is a bug. (You do not need any
85  systems. If it doesn't, then that is a bug.  MIPS compiler toolchain to build or use GXemul. If you need to compile
86  (You do not need any MIPS compiler toolchain to build or use GXemul.  MIPS binaries from sources, then of course you need such a toolchain, but
87  If you need to compile MIPS binaries from sources, then of course you need  that is completely separate from GXemul.)
88  such a toolchain, but that is completely separate from GXemul.)  
89    <p>The emulator contains code which tries to emulate the workings of CPUs
90  <p>  and surrounding hardware found in real machines, but it does not contain
91  The emulator contains code which tries to emulate the workings of CPUs and  any ROM code. You will need some form of program (in binary form) to run
92  surrounding hardware found in real machines, but it does not contain any  in the emulator. For many emulation modes, PROM calls are handled by the
 ROM code. You will need some form of program (in binary form) to run in  
 the emulator. For many emulation modes, PROM calls are handled by the  
93  emulator itself, so you do not need to use any ROM image at all.  emulator itself, so you do not need to use any ROM image at all.
94    
95  <p>  <p>You can use pre-compiled kernels (for example NetBSD kernels, or
96  You can use pre-compiled kernels (for example NetBSD kernels, or Linux),  Linux), or other programs that are in binary format, and in some cases
97  or other programs that are in binary format, and in some cases even actual  even actual ROM images. A couple of different file formats are supported
98  ROM images. A couple of different file formats are supported (ELF, a.out,  (ELF, a.out, ECOFF, SREC, and raw binaries).
 ECOFF, SREC, and raw binaries).  
99    
100  <p>  <p>If you do not have a kernel as a separate file, but you have a bootable
 If you do not have a kernel as a separate file, but you have a bootable  
101  disk image, then it is sometimes possible to boot directly from that  disk image, then it is sometimes possible to boot directly from that
102  image. (This works for example with DECstation emulation, or when booting  image. (This works for example with DECstation emulation, or when booting
103  from ISO9660 CDROM images.)  from ISO9660 CDROM images.)
# Line 111  from ISO9660 CDROM images.) Line 107  from ISO9660 CDROM images.)
107    
108    
109    
110    
111    
112  <p><br>  <p><br>
113  <a name="free"></a>  <a name="free"></a>
114  <h3>Is GXemul Free software?</h3>  <h3>Is GXemul Free software?</h3>
# Line 249  program relies on self-modifying code, w Line 247  program relies on self-modifying code, w
247  performance.)  performance.)
248    
249    
 <h4>POWER/PowerPC</h4>  
   
 There is some code for 64-bit (and 32-bit) POWER/PowerPC emulation, enough  
 to run "Hello World", but not enough to run complete operating systems.    
 This mode isn't really working yet.  
   
   
250  <h4>Other CPU types:</h4>  <h4>Other CPU types:</h4>
251    
252  Some other CPU architectures (such as x86) can also be partially emulated.  Some other CPU architectures can also be partially emulated. These are not
253  These are not enabled by default though, because of their unstable-ness.  working well enough yet to run guest operating systems.
254    
255    
256    
257    
# Line 315  are emulated well enough to run at least Line 307  are emulated well enough to run at least
307    <p>    <p>
308    <li><b>Cobalt</b>    <li><b>Cobalt</b>
309          <br>Serial controller and PCI IDE.          <br>Serial controller and PCI IDE.
310      <p>
311      <li><b>Malta (evbmips)</b>
312            <br>Serial controller and PCI IDE.
313      <p>
314      <li><b>SGI O2 ("IP32")</b>
315            <br>Serial controller and ethernet.&nbsp;&nbsp;<small>(Enough for
316            root-on-nfs, but not for disk boot.)</small>
317  </ul>  </ul>
318    
319  <p>  <p>There is code in GXemul for emulation of many other machine types; the
320  There is code in GXemul for emulation of many other machine types;  degree to which these work range from almost being able to run a complete
321  the degree to which these work range from "almost" being able to run  OS, to almost completely unsupported (perhaps just enough support to
322  a complete OS, to almost completely unsupported (perhaps just enough  output a few boot messages via serial console).
323  support to output a few boot messages via serial console).  
324    <p>In addition to emulating real machines, there is also a "test-machine".
325  <p>  A test-machine consists of one or more CPUs and a few experimental devices
326  In addition to emulating real machines, there is also a "test-machine".  such as:
 A test-machine consists of one or more CPUs and a few experimental  
 devices such as:  
327    
328  <p>  <p>
329  <ul>  <ul>
# Line 335  devices such as: Line 332  devices such as:
332    <li>a very simple linear framebuffer device (for graphics output)    <li>a very simple linear framebuffer device (for graphics output)
333  </ul>  </ul>
334    
335  <p>  <p>This mode is useful if you wish to run experimental code, but do not
 This mode is useful if you wish to run experimental code, but do not  
336  wish to target any specific real-world machine type, for example for  wish to target any specific real-world machine type, for example for
337  educational purposes.  educational purposes.
338    
339  <p>  <p>You can read more about these experimental devices <a
340  You can read more about these experimental devices  href="experiments.html#expdevices">here</a>.
 <a href="experiments.html#expdevices">here</a>.  
341    
342    
343    
# Line 352  You can read more about these experiment Line 347  You can read more about these experiment
347    
348  <p><br>  <p><br>
349  <a name="guestos"></a>  <a name="guestos"></a>
350  <h3>Which guest OSes are possible to run?</h3>  <h3>Which guest OSes are possible to run in GXemul?</h3>
351    
352  This table lists the guest OSes that run well enough to be considered  This table lists the guest OSes that run well enough to be considered
353  working in the emulator. They can boot from a harddisk image and be  working in the emulator. They can boot from a harddisk image and be
# Line 433  interacted with similar to a real machin Line 428  interacted with similar to a real machin
428                  <br>Cobalt</td>                  <br>Cobalt</td>
429          </tr>          </tr>
430    
431            <tr><td height="10"></td></tr>
432    
433            <tr>
434              <td></td>
435              <td align="center"><a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a></td>
436              <td></td>
437              <td><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>
438                    <br>SGI O2 ("IP32")</td>
439              <td></td>
440              <td align="center"><a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a></td>
441              <td></td>
442              <td><a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a>
443                    <br>5Kc (and 4Kc) Malta<br>evaluation boards</td>
444              <td></td>
445            </tr>
446    
447  </table></center>  </table></center>
448    
449    

Legend:
Removed from v.8  
changed lines
  Added in v.10

  ViewVC Help
Powered by ViewVC 1.1.26