10 |
|
|
11 |
<!-- |
<!-- |
12 |
|
|
13 |
$Id: intro.html,v 1.100 2006/11/04 06:40:20 debug Exp $ |
$Id: intro.html,v 1.107 2007/03/08 19:04:09 debug Exp $ |
14 |
|
|
15 |
Copyright (C) 2003-2006 Anders Gavare. All rights reserved. |
Copyright (C) 2003-2007 Anders Gavare. All rights reserved. |
16 |
|
|
17 |
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
18 |
modification, are permitted provided that the following conditions are met: |
modification, are permitted provided that the following conditions are met: |
95 |
|
|
96 |
<p>If you do not have a kernel as a separate file, but you have a bootable |
<p>If you do not have a kernel as a separate file, but you have a bootable |
97 |
disk image, then it is sometimes possible to boot directly from that |
disk image, then it is sometimes possible to boot directly from that |
98 |
image. (This works for example with DECstation emulation, or when booting |
image. (This works for example with DECstation emulation, Dreamcast |
99 |
from ISO9660 CDROM images.) |
emulation, or when booting from generic ISO9660 CDROM images if the |
100 |
|
kernel is included in the image as a plain file.) |
101 |
|
|
102 |
<p>Thanks to (in no specific order) Joachim Buss, Olivier Houchard, Juli |
<p>Thanks to (in no specific order) Joachim Buss, Olivier Houchard, Juli |
103 |
Mallett, Juan Romero Pardines, Alec Voropay, Göran Weinholt, Alexander |
Mallett, Juan Romero Pardines, Alec Voropay, Göran Weinholt, Alexander |
220 |
guest operating system run (per architecture) are ARM, MIPS, PowerPC, |
guest operating system run (per architecture) are ARM, MIPS, PowerPC, |
221 |
and SuperH. |
and SuperH. |
222 |
|
|
223 |
|
<p>Please read the page about <a href="guestoses.html">guest operating |
224 |
|
systems</a> for more information about the machines and operating systems |
225 |
|
that can be considered "working" in the emulator. |
226 |
|
|
227 |
|
|
228 |
|
|
229 |
|
|
236 |
GXemul should compile and run on any modern host architecture (64-bit or |
GXemul should compile and run on any modern host architecture (64-bit or |
237 |
32-bit word-length). |
32-bit word-length). |
238 |
|
|
239 |
<p>(The dynamic translation engine translates into an intermediate |
<p>Note: The dynamic translation engine does <i>not</i> require backends |
240 |
representation, but not currently into native code. This means that there |
for native code generation to be written for each individual host |
241 |
is no need for per-host architecture backend code.) |
architecture; the "intermediate representation" that the dyntrans system |
242 |
|
uses can be executed on any host architecture. |
243 |
|
|
244 |
|
|
245 |
|
|
430 |
translations are invalidated, and replaced by normal instruction calls |
translations are invalidated, and replaced by normal instruction calls |
431 |
(one per emulated instruction). |
(one per emulated instruction). |
432 |
|
|
433 |
<p><b>Native Code Back-ends: (not in this release)</b> |
<p><b>Native Code Back-ends:</b> |
434 |
|
|
435 |
<p>In theory, it will be possible to implement native code generation |
<p>In theory, it will be possible to implement native code generation, |
436 |
(similar to what is used in high-performance emulators such as QEMU), |
similar to what is used in high-performance emulators such as QEMU, |
437 |
as long as that generated code abides to the C ABI on the host, but |
as long as that generated code abides to the C ABI on the host. |
438 |
for now I wanted to make sure that GXemul works without such native |
|
439 |
code back-ends. For this reason, since release 0.4.0, GXemul is |
<p>However, since I wanted to make sure that GXemul works without such |
440 |
completely free of native code back-ends. |
native code back-ends, there are no implemented backends in this release. |
441 |
|
|
442 |
|
<p>(There is a place-holder in the source code for native code generation, |
443 |
|
which can be used for experiments, but it does not contain any working |
444 |
|
code at the moment.) |
445 |
|
|
446 |
|
|
447 |
|
|
505 |
<li><b>Acer Pica-61</b> (<a href="guestoses.html#netbsdarcinstall">NetBSD/arc</a>) |
<li><b>Acer Pica-61</b> (<a href="guestoses.html#netbsdarcinstall">NetBSD/arc</a>) |
506 |
<li><b>NEC MobilePro 770, 780, 800, 880</b> (<a href="guestoses.html#netbsdhpcmipsinstall">NetBSD/hpcmips</a>) |
<li><b>NEC MobilePro 770, 780, 800, 880</b> (<a href="guestoses.html#netbsdhpcmipsinstall">NetBSD/hpcmips</a>) |
507 |
<li><b>Cobalt</b> (<a href="guestoses.html#netbsdcobaltinstall">NetBSD/cobalt</a>) |
<li><b>Cobalt</b> (<a href="guestoses.html#netbsdcobaltinstall">NetBSD/cobalt</a>) |
508 |
<li><b>Malta</b> (<a href="guestoses.html#netbsdevbmipsinstall">NetBSD/evbmips</a>) |
<li><b>Malta</b> (<a href="guestoses.html#netbsdevbmipsinstall">NetBSD/evbmips</a>, Linux/Malta <font color="#0000e0">(<super>*1</super>)</font>) |
509 |
<li><b>Algorithmics P5064</b> (<a href="guestoses.html#netbsdalgorinstall">NetBSD/algor</a>) |
<li><b>Algorithmics P5064</b> (<a href="guestoses.html#netbsdalgorinstall">NetBSD/algor</a>) |
510 |
<li><b>SGI O2 (aka IP32)</b> <font color="#0000e0">(<super>*1</super>)</font> |
<li><b>SGI O2 (aka IP32)</b> <font color="#0000e0">(<super>*2</super>)</font> |
511 |
(<a href="guestoses.html#netbsdsgimips">NetBSD/sgi</a>) |
(<a href="guestoses.html#netbsdsgimips">NetBSD/sgi</a>) |
512 |
</ul> |
</ul> |
513 |
<p> |
<p> |
514 |
<li><b><u>PowerPC</u></b> |
<li><b><u>PowerPC</u></b> |
515 |
<ul> |
<ul> |
516 |
<li><b>IBM 6050/6070 (PReP, PowerPC Reference Platform)</b> (<a href="guestoses.html#netbsdprepinstall">NetBSD/prep</a>) |
<li><b>IBM 6050/6070 (PReP, PowerPC Reference Platform)</b> (<a href="guestoses.html#netbsdprepinstall">NetBSD/prep</a>) |
517 |
|
<li><b>MacPPC (generic "G4" Macintosh)</b> (<a href="guestoses.html#netbsdmacppcinstall">NetBSD/macppc</a>) |
518 |
</ul> |
</ul> |
519 |
<p> |
<p> |
520 |
<li><b><u>SuperH</u></b> |
<li><b><u>SuperH</u></b> |
521 |
<ul> |
<ul> |
522 |
<li><b>Sega Dreamcast</b> |
<li><b>Sega Dreamcast</b> (<a href="dreamcast.html#netbsd_generic_md">NetBSD/dreamcast</a>, <a href="dreamcast.html#linux_live_cd">Linux/dreamcast</a>) |
|
<font color="#0000e0">(<super>*2</super>)</font> |
|
|
(<a href="guestoses.html#netbsddreamcast">NetBSD/dreamcast</a>) |
|
523 |
</ul> |
</ul> |
524 |
</ul> |
</ul> |
525 |
|
|
526 |
<p> |
<p> |
527 |
<small><font color="#0000e0">(<super>*1</super>)</font> = |
<small><font color="#0000e0">(<super>*1</super>)</font> = |
528 |
Enough for root-on-nfs, but not for disk boot.</small> |
Linux/Malta may be run as a guest OS, however I have not yet found any stable |
529 |
|
URL to pre-compiled Linux/Malta kernels. Thus, Linux/Malta emulation is not |
530 |
|
tested for every release of the emulator; sometimes it works, sometimes |
531 |
|
it doesn't.</small> |
532 |
|
|
533 |
<br><small><font color="#0000e0">(<super>*2</super>)</font> = |
<br><small><font color="#0000e0">(<super>*2</super>)</font> = |
534 |
Only enough to reach ramdisk userland; no root-on-nfs yet.</small> |
SGI O2 emulation is enough for root-on-nfs, but not for disk boot.</small> |
535 |
|
|
536 |
|
|
537 |
<p>There is code in GXemul for emulation of many other machine types; the |
<p>There is code in GXemul for emulation of many other machine types; the |
538 |
degree to which these work range from almost being able to run a complete |
degree to which these work range from almost being able to run a complete |