Advanced Systems Teaching (ASysT) Lab
The ASysT lab is organised around 64-bit computers, the U4600, based on a
100 MHz MIPS R4700 processor. (Yes, these are a little old now,
but they still provide an excellent platform for teaching and OS
development.) The U4600 was developed by Kevin Elphinstone
Johnson. It is especially designed to allow experimentation
with operating systems code.
The Sulima simulator offers an
extremely accurate simulation of the U4600 hardware.
U4600 technical details
The U4600s are based on a locally designed and manufactured ATX
form factor motherboard. The motherboard features:
- An R4700 CPU, running at 100Mhz.
- Up to 512 MB of EDO RAM. (Most machines run with 8MB).
- 4 PCI slots running at 33 MHz.
- 2 serial ports.
- 512K ROM containing the PMON boot monitor.
- A 2K NVRAM and real time clock module.
How to use
When you compile your project it will produce a boot image
which is placed in the
/tftpboot directory of the
machine you are currently using.
To boot this image on the u4600 you will first need to start
console program which allows you to access the
serial console. Eg:
% console ttyS0
The u4600's have two serial ports, so you will probably want to
start a console for both of these (
After you have started the console program you should power on
your u4600. The boot loader should startup and print data to one
of you consoles. Eg:
PCI slot 1: DEC DECchip 21041 (class: network, subclass: ethernet)
de0: Digital DE450 DC21041 [10Mb/s] pass 2.1 Ethernet address 00:00:f8:1a:0b:aa
PMON version 3.1.757 [U4600,EB,FP,NET]
Computer Science and Engineering, UNSW. Jul 29 2003 14:01:50
This is free software, and comes with ABSOLUTELY NO WARRANTY,
you are welcome to redistribute it without restriction.
CPU type R4700. Rev 1.0. 100 MHz.
Memory size 64 MB.
Icache size 16 KB, 32/line.
Dcache size 16 KB, 32/line.
Now you can boot your image using the PMON
disy03> boot sos.benno
Loading file: 192.168.1.1:sos.benno (elf)
0x80800000/312472 + 45 syms\
Entry address is 80800790
You should obviously use replace benno with your own
username. You can now start executing your code using the
install_module: Installing root (0xffffffff808473f0, 0xffffffff8084c024)
install_module: root: (0xa9dba8, 0x58)
install_module: root: (0xa5c000, 0x1ba8)
install_module: root: (0xa42e58, 0x88)
install_module: root: (0xa00000, 0x2e58)
install_module: root: (0x9ff000, 0x58)
install_module: Skipping sigma1
install_module: Installing sigma0 (0xffffffff80832620, 0xffffffff808473ed)
install_module: sigma0: (0x100000, 0x40e0)
install_module: Installing kernel (0xffffffff80802200, 0xffffffff80832613)
install_module: kernel: (0x69000, 0xe770)
install_module: kernel: (0x50000, 0x18a90)
elf-loader: Looking for KIP at ffffffff80069000
L4Ka::Pistachio - built on Aug 10 2003 17:22:41 by benno@nofx using gcc version 3.2.2
27 Jul 2005.