/[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

Annotation of /trunk/doc/intro.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 20 - (hide annotations)
Mon Oct 8 16:19:23 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/html
File size: 17906 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.1055 2005/11/25 22:48:36 debug Exp $
20051031	Adding disassembly support for more ARM instructions (clz,
		smul* etc), and adding a hack to support "new tiny" pages
		for StrongARM.
20051101	Minor documentation updates (NetBSD 2.0.2 -> 2.1, and OpenBSD
		3.7 -> 3.8, and lots of testing).
		Changing from 1-sector PIO mode 0 transfers to 128-sector PIO
		mode 3 (in dev_wdc).
		Various minor ARM dyntrans updates (pc-relative loads from
		within the same page as the instruction are now treated as
		constant "mov").
20051102	Re-enabling instruction combinations (they were accidentally
		disabled).
		Dyntrans TLB entries are now overwritten using a round-robin
		scheme instead of randomly. This increases performance.
		Fixing a typo in file.c (thanks to Chuan-Hua Chang for
		noticing it).
		Experimenting with adding ATAPI support to dev_wdc (to make
		emulated *BSD detect cdroms as cdroms, not harddisks).
20051104	Various minor updates.
20051105	Continuing on the ATAPI emulation. Seems to work well enough
		for a NetBSD/cats installation, but not OpenBSD/cats.
		Various other updates.
20051106	Modifying the -Y command line option to allow scaleup with
		certain graphic controllers (only dev_vga so far), not just
		scaledown.
		Some minor dyntrans cleanups.
20051107	Beginning a cleanup up the PCI subsystem (removing the
		read_register hack, etc).
20051108	Continuing the cleanup; splitting up some pci devices into a
		normal autodev device and some separate pci glue code.
20051109	Continuing on the PCI bus stuff; all old pci_*.c have been
		incorporated into normal devices and/or rewritten as glue code
		only, adding a dummy Intel 82371AB PIIX4 for Malta (not really
		tested yet).
		Minor pckbc fix so that Linux doesn't complain.
		Working on the DEC 21143 NIC (ethernet mac rom stuff mostly).
		Various other minor fixes.
20051110	Some more ARM dyntrans fine-tuning (e.g. some instruction
		combinations (cmps followed by conditional branch within the
		same page) and special cases for DPIs with regform when the
		shifter isn't used).
20051111	ARM dyntrans updates: O(n)->O(1) for just-mark-as-non-
		writable in the generic pc_to_pointers function, and some other
		minor hacks.
		Merging Cobalt and evbmips (Malta) ISA interrupt handling,
		and some minor fixes to allow Linux to accept harddisk irqs.
20051112	Minor device updates (pckbc, dec21143, lpt, ...), most
		importantly fixing the ALI M1543/M5229 so that harddisk irqs
		work with Linux/CATS.
20051113	Some more generalizations of the PCI subsystem.
		Finally took the time to add a hack for SCSI CDROM TOCs; this
		enables OpenBSD to use partition 'a' (as needed by the OpenBSD
		installer), and Windows NT's installer to get a bit further.
		Also fixing dev_wdc to allow Linux to detect ATAPI CDROMs.
		Continuing on the DEC 21143.
20051114	Minor ARM dyntrans tweaks; ARM cmps+branch optimization when
		comparing with 0, and generalizing the xchg instr. comb.
		Adding disassembly of ARM mrrc/mcrr and q{,d}{add,sub}.
20051115	Continuing on various PPC things (BATs, other address trans-
		lation things, various loads/stores, BeBox emulation, etc.).
		Beginning to work on PPC interrupt/exception support.
20051116	Factoring out some code which initializes legacy ISA devices
		from those machines that use them (bus_isa).
		Continuing on PPC interrupt/exception support.
20051117	Minor Malta fixes: RTC year offset = 80, disabling a speed hack
		which caused NetBSD to detect a too fast cpu, and adding a new
		hack to make Linux detect a faster cpu.
		Continuing on the Artesyn PM/PPC emulation mode.
		Adding an Algor emulation skeleton (P4032 and P5064);
		implementing some of the basics.
		Continuing on PPC emulation in general; usage of unimplemented
		SPRs is now easier to track, continuing on memory/exception
		related issues, etc.
20051118	More work on PPC emulation (tgpr0..3, exception handling,
		memory stuff, syscalls, etc.).
20051119	Changing the ARM dyntrans code to mostly use cpu->pc, and not
		necessarily use arm reg 15. Seems to work.
		Various PPC updates; continuing on the PReP emulation mode.
20051120	Adding a workaround/hack to dev_mc146818 to allow NetBSD/prep
		to detect the clock.
20051121	More cleanup of the PCI bus (memory and I/O bases, etc).
		Continuing on various PPC things (decrementer and timebase,
		WDCs on obio (on PReP) use irq 13, not 14/15).
20051122	Continuing on the CPC700 controller (interrupts etc) for PMPPC,
		and on PPC stuff in general.
		Finally! After some bug fixes to the virtual to physical addr
		translation, NetBSD/{prep,pmppc} 2.1 reach userland and are
		stable enough to be interacted with.
		More PCI updates; reverse-endian device access for PowerPC etc.
20051123	Generalizing the IEEE floating point subsystem (moving it out
		from src/cpus/cpu_mips_coproc.c into a new src/float_emul.c).
		Input via slave xterms was sometimes not really working; fixing
		this for ns16550, and a warning message is now displayed if
		multiple non-xterm consoles are active.
		Adding some PPC floating point support, etc.
		Various interrupt related updates (dev_wdc, _ns16550, _8259,
		and the isa32 common code in machine.c).
		NetBSD/prep can now be installed! :-) (Well, with some manual
		commands necessary before running sysinst.) Updating the
		documentation and various other things to reflect this.
20051124	Various minor documentation updates.
		Continuing the work on the DEC 21143 NIC.
20051125	LOTS of work on the 21143. Both OpenBSD and NetBSD work fine
		with it now, except that OpenBSD sometimes gives a time-out
		warning.
		Minor documentation updates.

==============  RELEASE 0.3.7  ==============


1 dpavlin 12 <html><head><title>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;Introduction</title>
2     <meta name="robots" content="noarchive,nofollow,noindex"></head>
3 dpavlin 4 <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
4     <table border=0 width=100% bgcolor="#d0d0d0"><tr>
5     <td width=100% align=center valign=center><table border=0 width=100%><tr>
6     <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
7 dpavlin 12 <b>Gavare's eXperimental Emulator:&nbsp;&nbsp;&nbsp;</b></font>
8 dpavlin 4 <font color="#000000" size="6"><b>Introduction</b>
9     </font></td></tr></table></td></tr></table><p>
10 dpavlin 2
11     <!--
12    
13 dpavlin 20 $Id: intro.html,v 1.66 2005/11/23 22:03:24 debug Exp $
14 dpavlin 2
15     Copyright (C) 2003-2005 Anders Gavare. All rights reserved.
16    
17     Redistribution and use in source and binary forms, with or without
18     modification, are permitted provided that the following conditions are met:
19    
20     1. Redistributions of source code must retain the above copyright
21     notice, this list of conditions and the following disclaimer.
22     2. Redistributions in binary form must reproduce the above copyright
23     notice, this list of conditions and the following disclaimer in the
24     documentation and/or other materials provided with the distribution.
25     3. The name of the author may not be used to endorse or promote products
26     derived from this software without specific prior written permission.
27    
28     THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
29     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
30     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
31     ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
32     FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
33     DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
34     OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
35     HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
36     LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
37     OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38     SUCH DAMAGE.
39    
40     -->
41    
42     <a href="./">Back to the index</a>
43    
44     <p><br>
45     <h2>Introduction</h2>
46    
47     <p>
48     <ul>
49     <li><a href="#overview">Overview</a>
50 dpavlin 4 <li><a href="#free">Is GXemul Free software?</a>
51 dpavlin 2 <li><a href="#build">How to compile/build the emulator</a>
52 dpavlin 6 <li><a href="#run">How to run the emulator</a>
53 dpavlin 2 <li><a href="#cpus">Which CPU types does GXemul emulate?</a>
54     <li><a href="#accuracy">Emulation accuracy</a>
55     <li><a href="#emulmodes">Which machines does GXemul emulate?</a>
56 dpavlin 10 <li><a href="#guestos">Which guest OSes are possible to run in GXemul?</a>
57 dpavlin 2 </ul>
58    
59    
60    
61    
62    
63     <p><br>
64     <a name="overview"></a>
65     <h3>Overview:</h3>
66    
67 dpavlin 14 GXemul is an experimental instruction-level machine emulator. Several
68     emulation modes are available. In some modes, processors and surrounding
69     hardware components are emulated well enough to let unmodified operating
70     systems (e.g. NetBSD) run as if they were running on a real machine.
71 dpavlin 2
72 dpavlin 14 <p>The processor architecture best emulated by GXemul is MIPS, but other
73 dpavlin 20 architectures such as ARM and PowerPC are also partially emulated.
74 dpavlin 12
75 dpavlin 10 <p>Devices and CPUs are not simulated with 100% accuracy. They are only
76 dpavlin 20 ``faked'' well enough to allow guest operating systems run without
77 dpavlin 6 complaining too much. Still, the emulator could be of interest for
78     academic research and experiments, such as when learning how to write
79 dpavlin 4 operating system code.
80 dpavlin 2
81 dpavlin 20 <p>The emulator is written in C, does not depend on third-party libraries
82 dpavlin 10 (except X11, but that is optional), and should compile and run on most
83 dpavlin 20 Unix-like systems.
84 dpavlin 2
85 dpavlin 10 <p>The emulator contains code which tries to emulate the workings of CPUs
86     and surrounding hardware found in real machines, but it does not contain
87     any ROM code. You will need some form of program (in binary form) to run
88     in the emulator. For many emulation modes, PROM calls are handled by the
89 dpavlin 2 emulator itself, so you do not need to use any ROM image at all.
90    
91 dpavlin 10 <p>You can use pre-compiled kernels (for example NetBSD kernels, or
92     Linux), or other programs that are in binary format, and in some cases
93     even actual ROM images. A couple of different file formats are supported
94     (ELF, a.out, ECOFF, SREC, and raw binaries).
95 dpavlin 2
96 dpavlin 10 <p>If you do not have a kernel as a separate file, but you have a bootable
97 dpavlin 6 disk image, then it is sometimes possible to boot directly from that
98     image. (This works for example with DECstation emulation, or when booting
99     from ISO9660 CDROM images.)
100 dpavlin 2
101    
102    
103    
104 dpavlin 6
105    
106 dpavlin 10
107    
108 dpavlin 2 <p><br>
109     <a name="free"></a>
110 dpavlin 4 <h3>Is GXemul Free software?</h3>
111 dpavlin 2
112 dpavlin 6 Yes. I have released GXemul under a Free license. The code in GXemul is
113     Copyrighted software, it is <i>not</i> public domain. (If this is
114     confusing to you, you might want to read up on the definitions of the
115     four freedoms associated with Free software, <a
116     href="http://www.gnu.org/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.)
117 dpavlin 2
118 dpavlin 12 <p>The code I have written is released under a 3-clause BSD-style license
119     (or "revised BSD-style" if one wants to use <a
120     href="http://www.gnu.org/philosophy/bsd.html">GNU jargon</a>). Apart from
121     the code I have written, some files are copied from other sources such as
122     NetBSD, for example header files containing symbolic names of bitfields in
123     device registers. They are also covered by similar licenses, but with some
124     additional clauses. The main point, however, is that the licenses require
125     that the original Copyright and license terms are included when you make a
126     copy or modification.
127 dpavlin 2
128 dpavlin 12 <p>If you plan to redistribute GXemul <i>without</i> supplying the source
129     code, then you need to comply with each individual source file some other
130     way, for example by writing additional documentation containing copyright
131     notes. I have not done this, since I do not plan on making distributions
132     without source code. You need to check all individual files for details.
133     The "easiest way out" if you plan to redistribute code from GXemul is, of
134     course, to let it remain open source and simply supply the source code.
135 dpavlin 2
136 dpavlin 14 <p>(If a stable, unmodified release of GXemul is packaged into binary form,
137     and it is clear which version of GXemul was used to build the package,
138     then it can be argued that the source code is available, just not in that
139     specific package. Common sense should be used in this case, and not
140     pedanticism.)
141 dpavlin 2
142    
143    
144    
145 dpavlin 12
146    
147 dpavlin 2 <p><br>
148     <a name="build"></a>
149     <h3>How to compile/build the emulator:</h3>
150    
151     Uncompress the .tar.gz distribution file, and run
152     <pre>
153     $ <b>./configure</b>
154     $ <b>make</b>
155     </pre>
156    
157 dpavlin 12 <p>This should work on most Unix-like systems. If it doesn't, then
158 dpavlin 2 mail me a bug report.
159    
160 dpavlin 12 <p>The emulator's performance is highly dependent on both runtime settings
161 dpavlin 2 and on compiler settings, so you might want to experiment with different
162 dpavlin 20 CC and CFLAGS environment variable values. For example, on an AMD Athlon
163     host, you might want to try setting <tt>CFLAGS</tt> to <tt>-march=athlon
164     -O3</tt> before running <tt>configure</tt>.
165 dpavlin 2
166    
167 dpavlin 6
168    
169    
170    
171    
172     <p><br>
173     <a name="run"></a>
174     <h3>How to run the emulator:</h3>
175    
176     Once you have built GXemul, running it should be rather straight-forward.
177     Running <tt><b>gxemul</b></tt> without arguments (or with the
178     <b><tt>-h</tt></b> or <b><tt>-H</tt></b> command line options) will
179     display a help message.
180    
181 dpavlin 2 <p>
182 dpavlin 6 To get some ideas about what is possible to run in the emulator, please
183     read the section about <a href="guestoses.html">installing "guest"
184     operating systems</a>. If you are interested in using the emulator to
185     develop code on your own, then you should also read the section about
186     <a href="experiments.html#hello">Hello World</a>.
187    
188     <p>
189 dpavlin 2 To exit the emulator, type CTRL-C to enter the
190 dpavlin 6 single-step debugger, and then type <tt><b>quit</b></tt>.
191 dpavlin 2
192 dpavlin 4 <p>
193     If you are starting an emulation by entering settings directly on the
194 dpavlin 6 command line, and you are not using the <tt><b>-x</b></tt> option, then all
195 dpavlin 4 terminal input and output will go to the main controlling terminal.
196     CTRL-C is used to break into the debugger, so in order to send CTRL-C to
197     the running (emulated) program, you may use CTRL-B.
198 dpavlin 6 (This should be a reasonable compromise to allow the emulator to be usable
199     even on systems without X Windows.)
200 dpavlin 2
201 dpavlin 4 <p>
202 dpavlin 6 There is no way to send an actual CTRL-B to the emulated program, when
203     typing in the main controlling terminal window. The solution is to either
204     use <a href="configfiles.html">configuration files</a>, or use
205     <tt><b>-x</b></tt>. Both these solutions cause new xterms to be opened for
206     each emulated serial port that is written to. CTRL-B and CTRL-C both have
207     their original meaning in those xterm windows.
208 dpavlin 2
209    
210    
211    
212 dpavlin 4
213 dpavlin 2 <p><br>
214     <a name="cpus"></a>
215     <h3>Which CPU types does GXemul emulate?</h3>
216    
217     <h4>MIPS:</h4>
218    
219 dpavlin 6 Emulation of R4000, which is a 64-bit CPU, was my initial goal.
220     R2000/R3000-like CPUs (32-bit), R1x000, and generic MIPS32/MIPS64-style
221     CPUs are also emulated, and are hopefully almost as stable as the R4000
222 dpavlin 20 emulation. Several guest operating systems for MIPS can run inside
223     the emulator.
224 dpavlin 2
225 dpavlin 20 <p>(For MIPS emulation, I have written an experimental dynamic binary
226     translation subsystem, for Alpha and i386 hosts. This gives higher total
227     performance than interpreting one instruction at a time and executing it.
228     If you wish to disable bintrans, add <b>-B</b> to the command line.)
229 dpavlin 2
230 dpavlin 14 <h4>ARM:</h4>
231 dpavlin 2
232 dpavlin 20 ARM emulation is good enough to run NetBSD/cats 2.1 and OpenBSD/cats 3.8,
233     but it is not as tested or fine-tuned as the MIPS emulation mode.
234 dpavlin 14
235 dpavlin 20 <h4>PowerPC:</h4>
236 dpavlin 2
237 dpavlin 20 PowerPC emulation is still in its beginning stages, but good enough
238     to run NetBSD/prep 2.1.
239 dpavlin 2
240 dpavlin 20 <p>Non-MIPS emulation modes use dynamic translation, but not recompilation
241     into native code. This makes it possible to run on any host platform.
242 dpavlin 6
243 dpavlin 2
244    
245    
246    
247     <p><br>
248     <a name="accuracy"></a>
249     <h3>Emulation accuracy:</h3>
250    
251 dpavlin 6 GXemul is an instruction-level emulator; things that would happen in
252 dpavlin 2 several steps within a real CPU are not taken into account (eg. pipe-line
253 dpavlin 6 stalls or out-of-order execution). Still, instruction-level accuracy seems
254     to be enough to be able to run complete guest operating systems inside the
255 dpavlin 2 emulator.
256    
257 dpavlin 12 <p>Caches are by default not emulated. In some cases, the existance of
258     caches is "faked" to let operating systems think that they are there.
259     (There is some old code for R2000/R3000 caches, but it has probably
260     suffered from bitrot by now.)
261 dpavlin 2
262 dpavlin 12 <p>The emulator is <i>not</i> timing-accurate. It can be run in a
263     "deterministic" mode, <tt><b>-D</b></tt>. The meaning of deterministic is
264     simply that running two emulations with the same settings will result in
265     identical runs. Obviously, this requires that no user interaction is
266     taking place, and that clock speeds are fixed with the <tt><b>-I</b></tt>
267     option. (Deterministic in this case does <i>not</i> mean that the
268     emulation will be identical to some actual real-world machine.)
269 dpavlin 2
270 dpavlin 20 <p><font color="#ff0000">(Oops/TODO: User interaction means <i>both</i>
271     input to the emulated program/OS, and interacting with the emulator
272     itself. Breaking into the debugger and then continuing execution may
273     affect when/how interrupts occur.)</font>
274 dpavlin 2
275    
276 dpavlin 6
277    
278 dpavlin 20
279    
280 dpavlin 2 <p><br>
281     <a name="emulmodes"></a>
282     <h3>Which machines does GXemul emulate?</h3>
283    
284 dpavlin 4 A few different machine types are emulated. The following machine types
285     are emulated well enough to run at least one "guest OS":
286 dpavlin 2
287     <p>
288     <ul>
289 dpavlin 14 <li><b><u>MIPS</u></b>
290     <ul>
291     <li><b>DECstation 5000/200</b>&nbsp;&nbsp;("3max")
292     <p>
293     <li><b>Acer Pica-61</b>&nbsp;&nbsp;(an ARC machine)
294     <p>
295     <li><b>NEC MobilePro 770, 780, 800, and 880</b>&nbsp;&nbsp;(HPCmips machines)
296     <p>
297     <li><b>Cobalt</b>
298     <p>
299 dpavlin 20 <li><b>Malta</b> (evbmips)
300 dpavlin 14 <p>
301     <li><b>SGI O2 ("IP32")</b>
302 dpavlin 20 <br><small>(Enough for root-on-nfs, but not for disk boot.)</small>
303 dpavlin 14 </ul>
304     <p>
305     <li><b><u>ARM</u></b>
306     <ul>
307     <li><b>CATS</b>
308     </ul>
309 dpavlin 20 <p>
310     <li><b><u>PowerPC</u></b>
311     <ul>
312     <li><b>PReP (PowerPC Reference Platform)</b>
313     </ul>
314 dpavlin 2 </ul>
315    
316 dpavlin 10 <p>There is code in GXemul for emulation of many other machine types; the
317     degree to which these work range from almost being able to run a complete
318     OS, to almost completely unsupported (perhaps just enough support to
319     output a few boot messages via serial console).
320 dpavlin 2
321 dpavlin 10 <p>In addition to emulating real machines, there is also a "test-machine".
322     A test-machine consists of one or more CPUs and a few experimental devices
323     such as:
324 dpavlin 2
325     <p>
326     <ul>
327     <li>a console I/O device (putchar() and getchar()...)
328     <li>an inter-processor communication device, for SMP experiments
329     <li>a very simple linear framebuffer device (for graphics output)
330 dpavlin 12 <li>a simple SCSI disk controller
331     <li>a simple ethernet controller
332 dpavlin 2 </ul>
333    
334 dpavlin 10 <p>This mode is useful if you wish to run experimental code, but do not
335 dpavlin 2 wish to target any specific real-world machine type, for example for
336     educational purposes.
337    
338 dpavlin 10 <p>You can read more about these experimental devices <a
339     href="experiments.html#expdevices">here</a>.
340 dpavlin 2
341    
342    
343    
344    
345    
346    
347     <p><br>
348     <a name="guestos"></a>
349 dpavlin 10 <h3>Which guest OSes are possible to run in GXemul?</h3>
350 dpavlin 2
351 dpavlin 4 This table lists the guest OSes that run well enough to be considered
352 dpavlin 2 working in the emulator. They can boot from a harddisk image and be
353 dpavlin 4 interacted with similar to a real machine.
354 dpavlin 2
355 dpavlin 4 <p>
356     <center><table border="0">
357     <tr>
358     <td width="10"></td>
359 dpavlin 6 <td align="center"><a href="20050317-example.png"><img src="20050317-example_small.png"></a></td>
360 dpavlin 4 <td width="15"></td>
361     <td><a href="http://www.netbsd.org/Ports/pmax/">NetBSD/pmax</a>
362     <br>DECstation 5000/200</td>
363     <td width="30"></td>
364     <td align="center"><a href="20041024-netbsd-arc-installed.gif"><img src="20041024-netbsd-arc-installed_small.gif"></a></td>
365     <td width="15"></td>
366     <td><a href="http://www.netbsd.org/Ports/arc/">NetBSD/arc</a>
367     <br>Acer Pica-61</td>
368 dpavlin 2
369 dpavlin 4 </tr>
370 dpavlin 2
371 dpavlin 4 <tr><td height="10"></td></tr>
372 dpavlin 2
373 dpavlin 4 <tr>
374     <td></td>
375     <td align="center"><a href="openbsd-pmax-20040710.png"><img src="openbsd-pmax-20040710_small.png"></a></td>
376     <td></td>
377     <td><a href="http://www.openbsd.org/pmax.html">OpenBSD/pmax</a>
378     <br>DECstation 5000/200</td>
379     <td></td>
380     <td align="center"><a href="20041024-openbsd-arc-installed.gif"><img src="20041024-openbsd-arc-installed_small.gif"></a></td>
381     <td></td>
382     <td><a href="http://www.openbsd.org/arc.html">OpenBSD/arc</a>
383     <br>Acer Pica-61</td>
384     </tr>
385 dpavlin 2
386 dpavlin 4 <tr><td height="10"></td></tr>
387 dpavlin 2
388 dpavlin 4 <tr>
389     <td></td>
390     <td align="center"><a href="ultrix4.5-20040706.png"><img src="ultrix4.5-20040706_small.gif"></a></td>
391     <td></td>
392     <td>Ultrix/RISC<br>DECstation 5000/200</td>
393     <td></td>
394     <td align="center"><a href="20041213-debian_4.png"><img src="20041213-debian_4_small.gif"></a></td>
395     <td></td>
396     <td><a href="http://www.debian.org/">Debian&nbsp;GNU/Linux</a>&nbsp;<super>*</super>
397     <br>DECstation 5000/200</td>
398     </tr>
399 dpavlin 2
400 dpavlin 4 <tr><td height="10"></td></tr>
401 dpavlin 2
402 dpavlin 4 <tr>
403     <td></td>
404     <td align="center"><a href="sprite-20040711.png"><img src="sprite-20040711_small.png"></a></td>
405     <td></td>
406     <td><a href="http://www.cs.berkeley.edu/projects/sprite/retrospective.html">Sprite</a>
407     <br>DECstation 5000/200</td>
408     <td></td>
409     <td align="center"><a href="20041129-redhat_mips.png"><img src="20041129-redhat_mips_small.png"></a></td>
410     <td></td>
411     <td>Redhat&nbsp;Linux&nbsp;<super>*</super>
412     <br>DECstation 5000/200</td>
413     </tr>
414 dpavlin 2
415 dpavlin 4 <tr><td height="10"></td></tr>
416 dpavlin 2
417 dpavlin 4 <tr>
418     <td></td>
419     <td align="center"><a href="20050427-netbsd-hpcmips-2.png"><img src="20050427-netbsd-hpcmips-2_small.png"></a></td>
420     <td></td>
421     <td><a href="http://www.netbsd.org/Ports/hpcmips/">NetBSD/hpcmips</a>
422     <br>NEC MobilePro 770, 780, 800, 880</td>
423     <td></td>
424     <td align="center"><a href="20050413-netbsd-cobalt.png"><img src="20050413-netbsd-cobalt_small.png"></a></td>
425     <td></td>
426     <td><a href="http://www.netbsd.org/Ports/cobalt/">NetBSD/cobalt</a>
427     <br>Cobalt</td>
428     </tr>
429 dpavlin 2
430 dpavlin 10 <tr><td height="10"></td></tr>
431    
432     <tr>
433     <td></td>
434     <td align="center"><a href="20050626-netbsd-sgimips-netboot.png"><img src="20050626-netbsd-sgimips-netboot_small.png"></a></td>
435     <td></td>
436     <td><a href="http://www.netbsd.org/Ports/sgimips/">NetBSD/sgimips</a>
437     <br>SGI O2 ("IP32")</td>
438     <td></td>
439     <td align="center"><a href="20050622-netbsd-evbmips-malta.png"><img src="20050622-netbsd-evbmips-malta_small.png"></a></td>
440     <td></td>
441     <td><a href="http://www.netbsd.org/Ports/evbmips/">NetBSD/evbmips</a>
442     <br>5Kc (and 4Kc) Malta<br>evaluation boards</td>
443     <td></td>
444     </tr>
445    
446 dpavlin 14 <tr><td height="10"></td></tr>
447    
448     <tr>
449     <td></td>
450     <td align="center"><a href="20051007-netbsd-cats-installed.png"><img src="20051007-netbsd-cats-installed_small.png"></a></td>
451     <td></td>
452     <td><a href="http://www.netbsd.org/Ports/cats/">NetBSD/cats</a>
453     <br>CATS</td>
454     <td></td>
455     <td align="center"><a href="20051007-openbsd-cats-installed.png"><img src="20051007-openbsd-cats-installed_small.png"></a></td>
456     <td></td>
457     <td><a href="http://www.openbsd.org/cats.html">OpenBSD/cats</a>
458     <br>CATS</td>
459     <td></td>
460     </tr>
461    
462 dpavlin 20 <tr><td height="10"></td></tr>
463    
464     <tr>
465     <td></td>
466     <td align="center"><a href="20051123-netbsd-prep.png"><img src="20051123-netbsd-prep_small.png"></a></td>
467     <td></td>
468     <td><a href="http://www.netbsd.org/Ports/prep/">NetBSD/prep</a>
469     <br>PReP</td>
470     <td></td>
471     </tr>
472    
473 dpavlin 4 </table></center>
474 dpavlin 2
475    
476 dpavlin 4 <p><br>
477 dpavlin 2
478 dpavlin 4 <super>*</super> Although Linux runs under DECstation emulation, the
479     default 2.4.27 kernel in Debian GNU/Linux does not support keyboards on
480     the 5000/200 (the specific DECstation model being emulated), so when the
481     login prompt is reached you cannot interact with the system. Kaj-Michael
482     Lang has compiled and made available a newer kernel from the current
483     mips-linux development tree. You can find it here: <a
484     href="http://home.tal.org/~milang/o2/kernels/">http://home.tal.org/~milang/o2/kernels</a>/<a
485     href="http://home.tal.org/~milang/o2/kernels/vmlinux-2.4.29-rc2-r3k-mipsel-decstation">vmlinux-2.4.29-rc2-r3k-mipsel-decstation</a>
486     This newer kernel supports keyboard input, but it does not have Debian's
487     ethernet patches, so you will not be able to use keyboard/framebuffer
488     <i>and</i> networking at the same time.
489 dpavlin 2
490    
491     </body>
492     </html>

  ViewVC Help
Powered by ViewVC 1.1.26