[CSE]  Advanced Operating Systems 
 COMP9242 2004/S2 

PRINTER Printer-Friendly Version
- Notices
- Course Intro
- Consultations
- Survey Results
- Lectures
- Selected Papers
- Project Spec
- Project FAQ
- Exam
- Project Resources
- ASysT Lab
- Using Sulima
- L4 Debugging Guide
- L4Ka::Pistachio FAQ
- L4 source browser
- SOS source browser
- L4 reference manual
- Sulima ISA Simulator
R4x00 ISA Summary 
MIPS R4700 ReferenceMIPS R4000 User Manual 
- GT64111

Related Info
- Aurema OS Prize
- OS Hall of Fame
- 2003
- 2002
- 2000
- 1999
- 1998
- Gernot Heiser (LiC)
- Kevin Elphinstone
- Guest Lecturers (TBA)
- Student Reps

Valid HTML 4.0!

Advanced Systems Teaching (ASysT) Lab


The ASysT lab is located on the third floor of the Electrical Engineering Building.

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.

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 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 Aug 2004.