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 and Dave Johnson. It is especially designed to allow experimentation with operating systems code.
The Sulima simulator offers an extremely accurate simulation of the U4600 hardware.
The U4600s are based on a locally designed and manufactured ATX form factor motherboard. The motherboard features:
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. disy03>
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 disy03>
You should obviously use replace benno with your own username. You can now start executing your code using the
disy03> g 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 ...
Last modified: 27 Jul 2005.