Screen Version
School of Computer Science & Engineering
University of New South Wales

 Advanced Operating Systems 
 COMP9242 2003/S2 

Advanced Systems Teach (ASysT) Lab


The ASysT lab is located on the ground floor of the Computer Science & Engineering Building (K17).

It 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.

U4600 technical details

The U4600s are based on a locally designed and manufactured ATX form factor motherboard. The motherboard features:

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 the 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 (ttyS0 and ttyS1).

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 boot command:

disy03> boot sos.benno
Loading file:  (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 g command:

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: 09 Sep 2003.