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

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

revision 6 by dpavlin, Mon Oct 8 16:18:11 2007 UTC revision 10 by dpavlin, Mon Oct 8 16:18:27 2007 UTC
# Line 1  Line 1 
1  <html>  <html>
2  <head><title>GXemul documentation: Experimenting with GXemul</title>  <head><title>GXemul documentation: Experimenting with GXemul</title>
3    <meta name="robots" content="noarchive,nofollow,noindex">
4  </head>  </head>
5  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">  <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
6  <table border=0 width=100% bgcolor="#d0d0d0"><tr>  <table border=0 width=100% bgcolor="#d0d0d0"><tr>
# Line 8  Line 9 
9  <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
10  <font color="#000000" size="6"><b>Experimenting with GXemul</b>  <font color="#000000" size="6"><b>Experimenting with GXemul</b>
11  </font></td></tr></table></td></tr></table><p>  </font></td></tr></table></td></tr></table><p>
 <!-- The first 10 lines are cut away by the homepage updating script.  -->  
   
12    
13  <!--  <!--
14    
15  $Id: experiments.html,v 1.68 2005/05/27 07:29:23 debug Exp $  $Id: experiments.html,v 1.76 2005/06/24 09:33:32 debug Exp $
16    
17  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.  Copyright (C) 2003-2005  Anders Gavare.  All rights reserved.
18    
# Line 107  that you do two things: Line 106  that you do two things:
106  </font></pre>  </font></pre>
107  </td></tr></table>  </td></tr></table>
108    
109  <p>  <p>(This hello world program is available here as well:
110  (This hello world program is available here as well:  <a href="hello_mips.c"><tt>hello_mips.c</tt></a>)
 <a href="hello_mips.c">hello_mips.c</a>)  
111    
112  <p>  <p>I recommend that you build a GCC cross compiler for the
 I recommend that you build a GCC cross compiler for the  
113  <b>mips64-unknown-elf</b> target, and install it. Other compilers could  <b>mips64-unknown-elf</b> target, and install it. Other compilers could
114  work too, but GCC is good because of its portability. Then try to compile  work too, but GCC is good because of its portability. Then try to compile
115  the hello world program:  and link the hello world program:
116  <pre>  <pre>
117          $ <b>mips64-unknown-elf-gcc -O2 hello_mips.c -mips4 -mabi=64 -c</b>          $ <b>mips64-unknown-elf-gcc -O2 hello_mips.c -mips4 -mabi=64 -c</b>
118          $ <b>mips64-unknown-elf-ld -Ttext 0xa800000000030000 -e f hello_mips.o -o hello_mips --oformat=elf64-bigmips</b>          $ <b>mips64-unknown-elf-ld -Ttext 0xa800000000030000 -e f hello_mips.o -o hello_mips --oformat=elf64-bigmips</b>
# Line 188  Hopefully this is enough to get you insp Line 185  Hopefully this is enough to get you insp
185  <h4>Hello World for GXemul's PPC mode</h4>  <h4>Hello World for GXemul's PPC mode</h4>
186    
187  GXemul also has an experimental PowerPC emulation mode.  GXemul also has an experimental PowerPC emulation mode.
188  <a href="hello_ppc.c">hello_ppc.c</a> is similar to hello_mips.c, but  <a href="hello_ppc.c"><tt>hello_ppc.c</tt></a> is similar to
189  should be compiled and run as follows:  <tt>hello_mips.c</tt>, but should be compiled and run as follows:
190  <p>  <p>
191  <pre>  <pre>
192          $ <b>ppc-unknown-elf-gcc -O2 hello_ppc.c -c</b>          $ <b>ppc-unknown-elf-gcc -O2 hello_ppc.c -c</b>
# Line 221  It can either run in "bare" mode, where Line 218  It can either run in "bare" mode, where
218  emulated.  emulated.
219    
220  <p>  <p>
221  The "test" MIPS machine has the following experimental devices:  The <tt>testmips</tt> machine has the following experimental devices:
222    
223  <p>  <p>
224  <center><table border="0" width="80%">  <center><table border="0" width="80%">
225    
226    <tr>    <tr>
227      <td align="left" valign="top" width="200">      <td align="left" valign="top" width="200">
228          <b>cons:</b>          <b><tt>cons</tt>:</b>
229          <p>This is a simple console device, for writing          <p>This is a simple console device, for writing
230          characters to the controlling terminal.          characters to the controlling terminal.
231          <p>Source code:&nbsp;&nbsp;<font color="#0000f0">devices/dev_cons.c</font>          <p>Source code:&nbsp;&nbsp;<font color="#0000f0"><tt>src/devices/dev_cons.c</tt></font>
232          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x10000000</font>          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x10000000</font>
233      </td>      </td>
234      <td align="left" valign="top" width="25">&nbsp;</td>      <td align="left" valign="top" width="25">&nbsp;</td>
# Line 244  The "test" MIPS machine has the followin Line 241  The "test" MIPS machine has the followin
241            <tr>            <tr>
242              <td align="left" valign="top">0x0000</td>              <td align="left" valign="top">0x0000</td>
243              <td align="left" valign="top">              <td align="left" valign="top">
244                  Read: <b>getchar()</b> (non-blocking)<br>                  Read: <b><tt>getchar()</tt></b> (non-blocking)<br>
245                  Write: <b>putchar(ch)</b></td>                  Write: <b><tt>putchar(ch)</tt></b></td>
246            </tr>            </tr>
247            <tr>            <tr>
248              <td align="left" valign="top">0x0010</td>              <td align="left" valign="top">0x0010</td>
249              <td align="left" valign="top">Read or write: <b>halt()</b><br>              <td align="left" valign="top">Read or write: <b><tt>halt()</tt></b><br>
250                  (Useful for exiting the emulator.)</td>                  (Useful for exiting the emulator.)</td>
251            </tr>            </tr>
252          </table>          </table>
# Line 262  The "test" MIPS machine has the followin Line 259  The "test" MIPS machine has the followin
259    
260    <tr>    <tr>
261      <td align="left" valign="top">      <td align="left" valign="top">
262          <b>mp:</b>          <b><tt>mp</tt>:</b>
263          <p>This device controls the behaviour of CPUs in an emulated          <p>This device controls the behaviour of CPUs in an emulated
264          multi-processor system.          multi-processor system.
265          <p>Source code:&nbsp;&nbsp;<font color="#0000f0">devices/dev_mp.c</font>          <p>Source code:&nbsp;&nbsp;<font color="#0000f0"><tt>src/devices/dev_mp.c</tt></font>
266          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x11000000</font>          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x11000000</font>
267      </td>      </td>
268      <td></td>      <td></td>
# Line 277  The "test" MIPS machine has the followin Line 274  The "test" MIPS machine has the followin
274            </tr>            </tr>
275            <tr>            <tr>
276              <td align="left" valign="top">0x0000</td>              <td align="left" valign="top">0x0000</td>
277              <td align="left" valign="top">Read: <b>whoami()</b>.              <td align="left" valign="top">Read: <b><tt>whoami()</tt></b>.
278                  Returns the id of the CPU doing the read.</td>                  Returns the id of the CPU doing the read.</td>
279            </tr>            </tr>
280            <tr>            <tr>
281              <td align="left" valign="top">0x0010</td>              <td align="left" valign="top">0x0010</td>
282              <td align="left" valign="top">Read: <b>ncpus()</b>.              <td align="left" valign="top">Read: <b><tt>ncpus()</tt></b>.
283                  Returns the number of CPUs in the system.</td>                  Returns the number of CPUs in the system.</td>
284            </tr>            </tr>
285            <tr>            <tr>
286              <td align="left" valign="top">0x0020</td>              <td align="left" valign="top">0x0020</td>
287              <td align="left" valign="top">Write: <b>startupcpu(i)</b>.              <td align="left" valign="top">Write: <b><tt>startupcpu(i)</tt></b>.
288                  Starts CPU i. It begins execution at the address                  Starts CPU i. It begins execution at the address
289                  set by a write to startupaddr (see below).</td>                  set by a write to startupaddr (see below).</td>
290            </tr>            </tr>
291            <tr>            <tr>
292              <td align="left" valign="top">0x0030</td>              <td align="left" valign="top">0x0030</td>
293              <td align="left" valign="top">Write: <b>startupaddr(addr)</b>.              <td align="left" valign="top">Write: <b><tt>startupaddr(addr)</tt></b>.
294                  Sets the starting address for CPUs.</td>                  Sets the starting address for CPUs.</td>
295            </tr>            </tr>
296            <tr>            <tr>
297              <td align="left" valign="top">0x0040</td>              <td align="left" valign="top">0x0040</td>
298              <td align="left" valign="top">Write: <b>pause_addr(addr)</b>.              <td align="left" valign="top">Write: <b><tt>pause_addr(addr)</tt></b>.
299                  Sets the pause address. (TODO: This is not                  Sets the pause address. (TODO: This is not
300                  used anymore?)</td>                  used anymore?)</td>
301            </tr>            </tr>
302            <tr>            <tr>
303              <td align="left" valign="top">0x0050</td>              <td align="left" valign="top">0x0050</td>
304              <td align="left" valign="top">Write: <b>pause_cpu(i)</b>.              <td align="left" valign="top">Write: <b><tt>pause_cpu(i)</tt></b>.
305                  Stops all CPUs <i>except</i> CPU i.</td>                  Stops all CPUs <i>except</i> CPU i.</td>
306            </tr>            </tr>
307            <tr>            <tr>
308              <td align="left" valign="top">0x0060</td>              <td align="left" valign="top">0x0060</td>
309              <td align="left" valign="top">Write: <b>unpause_cpu(i)</b>.              <td align="left" valign="top">Write: <b><tt>unpause_cpu(i)</tt></b>.
310                  Unpauses all CPUs <i>except</i> CPU i.</td>                  Unpauses all CPUs <i>except</i> CPU i.</td>
311            </tr>            </tr>
312            <tr>            <tr>
313              <td align="left" valign="top">0x0070</td>              <td align="left" valign="top">0x0070</td>
314              <td align="left" valign="top">Write: <b>startupstack(addr)</b>.              <td align="left" valign="top">Write: <b><tt>startupstack(addr)</tt></b>.
315                  Sets the startup stack address. (CPUs started with                  Sets the startup stack address. (CPUs started with
316                  startupcpu() above will have their stack pointer                  startupcpu() above will have their stack pointer
317                  set to this value.)</td>                  set to this value.)</td>
318            </tr>            </tr>
319            <tr>            <tr>
320              <td align="left" valign="top">0x0080</td>              <td align="left" valign="top">0x0080</td>
321              <td align="left" valign="top">Read: <b>hardware_random()</b>.              <td align="left" valign="top">Read: <b><tt>hardware_random()</tt></b>.
322                  This produces a "random" number.</td>                  This produces a "random" number.</td>
323            </tr>            </tr>
324            <tr>            <tr>
325              <td align="left" valign="top">0x0090</td>              <td align="left" valign="top">0x0090</td>
326              <td align="left" valign="top">Read: <b>memory()</b>.              <td align="left" valign="top">Read: <b><tt>memory()</tt></b>.
327                  Returns the number of bytes of RAM in the system.</td>                  Returns the number of bytes of RAM in the system.</td>
328            </tr>            </tr>
329              <tr>
330                <td align="left" valign="top">0x00a0</td>
331                <td align="left" valign="top">Write: <b><tt>ipi_one((nr &lt;&lt; 16) + cpuid)</tt></b>.
332                    Sends IPI <tt>nr</tt> to a specific CPU.</td>
333              </tr>
334              <tr>
335                <td align="left" valign="top">0x00b0</td>
336                <td align="left" valign="top">Write: <b><tt>ipi_many((nr &lt;&lt; 16) + cpuid)</tt></b>.
337                    Sends IPI <tt>nr</tt> to all CPUs <i>except</i>
338                    the specified one.</td>
339              </tr>
340              <tr>
341                <td align="left" valign="top">0x00c0</td>
342                <td align="left" valign="top">Read: <b><tt>ipi_read()</tt></b>.
343                    Returns the next pending IPI. 0 is returned if there is no
344                    pending IPI (so 0 shouldn't be used for valid IPIs).
345                    Hardware int 6 is deasserted when the IPI queue is empty.
346                <br>Write: <b><tt>ipi_flush()</tt></b>.
347                    Clears the IPI queue, discarding any pending IPIs.</td>
348              </tr>
349          </table>          </table>
350      </td>      </td>
351    </tr>    </tr>
# Line 339  The "test" MIPS machine has the followin Line 356  The "test" MIPS machine has the followin
356    
357    <tr>    <tr>
358      <td align="left" valign="top">      <td align="left" valign="top">
359          <b>fb:</b>          <b><tt>fb</tt>:</b>
360          <p>A simple linear framebuffer, for graphics output.          <p>A simple linear framebuffer, for graphics output.
361          640 x 480 pixels, 3 bytes per pixel (red, green, blue, 8 bits each).          640 x 480 pixels, 3 bytes per pixel (red, green, blue, 8 bits each).
362          <p>Source code:&nbsp;&nbsp;<font color="#0000f0">devices/dev_fb.c</font>          <p>Source code:&nbsp;&nbsp;<font color="#0000f0"><tt>src/devices/dev_fb.c</tt></font>
363          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x12000000</font>          <br>Default physical address:&nbsp&nbsp;<font color="#0000f0">0x12000000</font>
364      </td>      </td>
365      <td></td>      <td></td>
# Line 375  accessed at 0xffffffff90000000 too, but Line 392  accessed at 0xffffffff90000000 too, but
392  in a non-cached manner.)  in a non-cached manner.)
393    
394  <p>  <p>
395  (When using the PPC test machine, "testppc", the addresses are  (When using the PPC test machine (<tt>testppc</tt>), the addresses are
396  0x10000000, 0x11000000 etc., so no need to add any virtual displacement.)  0x10000000, 0x11000000 etc., so no need to add any virtual displacement.)
397    
398  <p>  <p>The <b><tt>mp</tt></b> device is agnostic when it comes to word-length.
399  The <b>mp</b> device is agnostic when it comes to  For example, when reading offset 0x0000 of the <b><tt>mp</tt></b> device,
400  word-length. For example, when reading offset 0x0000 of the <b>mp</b>  you may use any kind of read (an 8-bit read will work just as well as a
401  device, you may use any kind of read (an 8-bit read will work just as well  64-bit read, although the value will be truncated to 8 bits in the first
402  as a 64-bit read, although the value will be truncated to 8 bits in the  case).
403  first case).  
404    <p>The <b><tt>cons</tt></b> device should be accessed using 8-bit reads
405  <p>  and writes. Doing a getchar() (ie reading from offset 0x0000) returns 0x00
406  The <b>cons</b> device should be accessed using 8-bit reads and writes.  if no character was available.
407  Doing a getchar() (ie reading from offset 0x0000) returns 0x00 if no  
408  character was available.  <p>On MIPS, the <b><tt>cons</tt></b> device is hardwired to interrupt 2
409    (the lowest hardware interrupt). Whenever a character is available, the
410  <p>  interrupt is asserted. When there are no more available characters, the
411  On MIPS, the <b>cons</b> device is hardwired to interrupt 2 (the lowest  interrupt is deasserted. (Remember that the interrupt has to be enabled in
412  hardware interrupt). Whenever a character is available, the interrupt is  the status register of the system coprocessor.)
413  asserted. When there are no more available characters, the interrupt is  
414  deasserted. (Remember that the interrupt has to be enabled in the status  <p>The IPIs controlled by the <b><tt>mp</tt></b> device are hardwired to
415  register of the system coprocessor.)  interrupt 6. Whenever an IPI is "sent", interrupt 6 is asserted on the
416    target CPU(s), and the IPI number is added last in the IPI queue for that
417    CPU. It is then up to that CPU to read from offset 0x00c0, to figure out
418    what kind of IPI it was.
419    
420    
421    
# Line 491  probably doesn't work in GXemul. Line 510  probably doesn't work in GXemul.
510                  a kernel compiled for R5000, because Linux doesn't autodetect                  a kernel compiled for R5000, because Linux doesn't autodetect
511                  the CPU type at runtime.)                  the CPU type at runtime.)
512          <br>Also: <a href="http://www.tal.org/~milang/o2/kernels/">http://www.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux64-2.6.8.1-IP32">vmlinux64-2.6.8.1-IP32</a>          <br>Also: <a href="http://www.tal.org/~milang/o2/kernels/">http://www.tal.org/~milang/o2/kernels</a>/<a href="http://home.tal.org/~milang/o2/kernels/vmlinux64-2.6.8.1-IP32">vmlinux64-2.6.8.1-IP32</a>
513          <br>Try <b><tt>-E sgi -e ip32 -b -X -CR5000 vmlinux64-2.6.8.1-IP32</tt></b>.          <br>Try <b><tt>-E sgi -e ip32 -X -CR5000 vmlinux64-2.6.8.1-IP32</tt></b>.
514          <br>And also some IP27 kernels:          <br>And also some IP27 kernels:
515                  <a href="http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428">http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428</a>                  <a href="http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428">http://www.total-knowledge.com/progs/mips/kernels/vmlinux.ip27-20040428</a>
516                  and                  and
# Line 502  probably doesn't work in GXemul. Line 521  probably doesn't work in GXemul.
521        <li><a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>:        <li><a href="http://www.openbsd.org/sgi.html">OpenBSD/sgi</a>:
522          <br><a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>          <br><a href="ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd">ftp://ftp.openbsd.org/pub/OpenBSD/3.7/sgi/bsd.rd</a>
523          <br>More recent snapshots can be found at <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/">ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/</a>.          <br>More recent snapshots can be found at <a href="ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/">ftp://ftp.OpenBSD.org/pub/OpenBSD/snapshots/sgi/</a>.
524          <br>Try <b><tt>gxemul -b -E sgi -e ip32 bsd.rd</tt></b>          <br>Try <b><tt>gxemul -E sgi -e ip32 bsd.rd</tt></b>
525        <p>        <p>
526        <li><a href="http://www.freebsd.org/platforms/mips.html">FreeBSD/MIPS</a>:        <li><a href="http://www.freebsd.org/platforms/mips.html">FreeBSD/MIPS</a>:
527                  I don't think public binary snapshots are available yet.                  I don't think public binary snapshots are available yet.
# Line 567  probably doesn't work in GXemul. Line 586  probably doesn't work in GXemul.
586          <br>I have tried this with the Swedish version, but it might          <br>I have tried this with the Swedish version, but it might
587                  work with other versions too.<pre>                  work with other versions too.<pre>
588          $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>          $ <b><tt>dd if=/dev/zero of=winnt_test.img bs=1024 count=1 seek=999000</tt></b>
589          $ <b><tt>gxemul -X -b -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>          $ <b><tt>gxemul -X -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\ARCINST</tt></b>
590          $ <b><tt>gxemul -X -b -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>          $ <b><tt>gxemul -X -Earc -epica -d winnt_test.img -d bc6:/dev/cd0c -j MIPS\\SETUPLDR</tt></b>
591  </pre>  <br><tt>ARCINST</tt> tries to prepare the disk image for installation. (It <i>almost</i> works.)  </pre>  <br><tt>ARCINST</tt> tries to prepare the disk image for installation. (It <i>almost</i> works.)
592          <br><tt>SETUPLDR</tt> should load some drivers from the cdrom, but then it crashes with a bluescreen.          <br><tt>SETUPLDR</tt> should load some drivers from the cdrom, but then it crashes with a bluescreen.
593      </ul>      </ul>
# Line 580  probably doesn't work in GXemul. Line 599  probably doesn't work in GXemul.
599      <ul>      <ul>
600        <li><a href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a>:        <li><a href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a>:
601          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz">netbsd.gz</a>          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/installation/netbsd.gz">netbsd.gz</a>
602          <br>Try <b><tt>gxemul -X -b -E hpc -e mobilepro770 netbsd</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e mobilepro770 netbsd</tt></b>
603          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz</a>          <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0/hpcmips/binary/kernel/netbsd-GENERIC.gz</a>
604          <br>Try <b><tt>gxemul -X -b -E hpc -e mobilepro770 netbsd-GENERIC</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e mobilepro770 netbsd-GENERIC</tt></b>
605        <p>        <p>
606        <li>Linux for BE300:        <li>Linux for BE300:
607          <br><a href="http://www.linux4.be/2004/linux4be20040908.zip">http://www.linux4.be/2004/linux4be20040908.zip</a>          <br><a href="http://www.linux4.be/2004/linux4be20040908.zip">http://www.linux4.be/2004/linux4be20040908.zip</a>
608          <br>Try <b><tt>gxemul -X -b -E hpc -e be300 vmlinux</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e be300 vmlinux</tt></b>
609        <p>        <p>
610        <li>Linux for Agenda VR3:        <li>Linux for Agenda VR3:
611          <br>Download <a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/">http://agenda-snow.sourceforge.net/kernel-old-versions/binary</a>/<a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/root1.2.6.kernel-8.00">root1.2.6.kernel-8.00</a>          <br>Download <a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/">http://agenda-snow.sourceforge.net/kernel-old-versions/binary</a>/<a href="http://agenda-snow.sourceforge.net/kernel-old-versions/binary/root1.2.6.kernel-8.00">root1.2.6.kernel-8.00</a>
612          <br>and <a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/">http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O</a>/<a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/root1.2.6.cramfs">root1.2.6.cramfs</a>.          <br>and <a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/">http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O</a>/<a href="http://vr3.uid0.sk/cd/Software/VR3_Distributions/H2O/root1.2.6.cramfs">root1.2.6.cramfs</a>.
613          <br>(or <a href="http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs">http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs</a>)          <br>(or <a href="http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs">http://www.ipsec.info/~www/agenda/dream-1-noxip.cramfs</a>)
614          <br>Try <b><tt>gxemul -b -X -E hpc -e vr3 -x 0xbf200000:root1.2.6.cramfs 0xbf000000:0:0xbf0005e0:root1.2.6.kernel-8.00</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e vr3 -x 0xbf200000:root1.2.6.cramfs 0xbf000000:0:0xbf0005e0:root1.2.6.kernel-8.00</tt></b>
615          <br>(or replace root1.2.6.cramfs with dream-1-noxip.cramfs)          <br>(or replace root1.2.6.cramfs with dream-1-noxip.cramfs)
616          <br>Remove <b><tt>-X</tt></b> to try with serial console instead of X, and          <br>Remove <b><tt>-X</tt></b> to try with serial console instead of X, and
617                  remove <b><tt>-b</tt></b> to try without (old) bintrans.                  remove <b><tt>-b</tt></b> to try without (old) bintrans.
# Line 604  probably doesn't work in GXemul. Line 623  probably doesn't work in GXemul.
623        <li>Linux for MobilePro etc.:        <li>Linux for MobilePro etc.:
624          <br><a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/</a>          <br><a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Kernels/</a>
625          <br>Uncompress the archive to get a kernel, vmlinux-800 for example.          <br>Uncompress the archive to get a kernel, vmlinux-800 for example.
626          <br>Try <b><tt>./gxemul -b -X -o 'root=/dev/hda1' -d r:disk.img -d r:disk.img -Ehpc -e mobilepro800 vmlinux-800</tt></b>          <br>Try <b><tt>./gxemul -X -o 'root=/dev/hda1' -d r:disk.img -d r:disk.img -Ehpc -e mobilepro800 vmlinux-800</tt></b>
627          <br>where disk.img is an ext2fs filesystem with contents from          <br>where disk.img is an ext2fs filesystem with contents from
628          <a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2</a>          <a href="http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2">http://pc1.peanuts.gr.jp/~kei/Hard-Float/Miniroots/miniroot-20010330.tar.bz2</a>
629          <br>(Note the double disk arguments.)          <br>(Note the double disk arguments.)
# Line 612  probably doesn't work in GXemul. Line 631  probably doesn't work in GXemul.
631        <p>        <p>
632        <li><a href="http://www.disorder.ru/openbsd/be300/">OpenBSD/be300</a>:        <li><a href="http://www.disorder.ru/openbsd/be300/">OpenBSD/be300</a>:
633          <br><a href="http://www.disorder.ru/openbsd/be300/bsd.rd">http://www.disorder.ru/openbsd/be300/bsd.rd</a>          <br><a href="http://www.disorder.ru/openbsd/be300/bsd.rd">http://www.disorder.ru/openbsd/be300/bsd.rd</a>
634          <br>Try <b><tt>gxemul -X -b -E hpc -e be300 bsd.rd</tt></b>          <br>Try <b><tt>gxemul -X -E hpc -e be300 bsd.rd</tt></b>
635          <br>Note: -b might be buggy, so you can try without that if you want to.          <br>Note: bintrans might be buggy, so you can try with -B if you want to.
636      </ul>      </ul>
637    </li>    </li>
638    
# Line 657  probably doesn't work in GXemul. Line 676  probably doesn't work in GXemul.
676      </ul>      </ul>
677    </li>    </li>
678    
679      <p>
680    
681      <li>EVBMIPS:
682        <ul>
683          <li><a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a>:
684            <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-MALTA.gz">netbsd-MALTA.gz</a>
685            <br><b><tt>gxemul -E evbmips -e malta netbsd-MALTA</tt></b>
686            <br>The default CPU is a 5Kc (MIPS64). Add
687                    <tt>-C 4Kc</tt> to use a MIPS32 CPU instead.
688            <br>(NetBSD/evbmips runs in 32-bit mode on MIPS64 anyway...)
689            <br>Read <a href="guestoses.html#netbsdevbmipsinstall">this
690            section</a> on how to install NetBSD/evbmips onto a harddisk image.
691            <br>or
692            <br><a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel</a>/<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-2.0.2/evbmips-mipseb/binary/kernel/netbsd-PB1000.gz">netbsd-PB1000.gz</a>
693            <br><b><tt>gxemul -E evbmips -e pb1000 netbsd-PB1000</tt></b>
694        </ul>
695      </li>
696    
697  </ul>  </ul>
698    
699  <p>  <p>
700  The following work even less than the ones listed above:  The following don't work at all, or just very very little.
701    
702  <p>  <p>
703  <ul>  <ul>
# Line 705  The following work even less than the on Line 742  The following work even less than the on
742      </ul>      </ul>
743    </li>    </li>
744    
745  </ul>    <p>
   
 <p>  
 The following don't work at all, actually, because the PPC and SPARC  
 modes are just skeletons so far.  
   
 <p>  
 <ul>  
746    
747    <li>Walnut (evbppc):    <li>Walnut (evbppc):
748      <ul>      <ul>

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

  ViewVC Help
Powered by ViewVC 1.1.26