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

 Advanced Operating Systems 
 COMP9242 2004/S2 

SOS Patches


This patch fixes a small bug when requesting uncached memory from sigma0. To apply use

    ~/cs9242/sos % patch -p 1 < 040730_l4e_cache.diff


This patch changes an assert check when requesting pinnable memory. It is perfectly valid to pin a region that is a pagesize. To apply use

    ~/cs9242/sos % patch -p 1 < 040811_dev.diff


This patch fixes three problems with libc. strcmp and strncmp both incorrectly checked for the end of the string and would not work if the strings were of different length. This patch also includes stdio in libc in the Makefile. To apply use

    ~/cs9242/sos % patch -p 1 < 040811_libc.diff


The serial driver initialisation code failed to set a control register. On some machines at some times this caused an excess of spurious interrupts from the serial device. This patch fixes this bug. To apply use

    ~/cs9242/sos % patch -p 1 < 040811_serial.diff


The format of L4 memory descriptors has changed since libl4e was written. The existing code still works, but can cause unaligned exceptions and other bugs. If you've not yet fixed this bug yourself, you should probably apply this patch.

    ~/cs9242/sos % patch -p 1 < 040816_findmem.diff

M5 Network Patches


The PCI bus scanning code was mistakenly omitted from this year's hardware.c file. This patch fixes PCI scanning, as well as some other minor network issues. Make sure you set the IP address correctly as per the instructions in in sos/network.c. There is a #error directive, so the code should not build until you fix this.

    ~/cs9242/sos % patch -p 1 < 040907_network.diff


To use the networking code we need to include the tulip, gt, nfs and lwip libraries in our build. This patch adds these to the Makefile. We also need to add the sos/hardware.c to the sos/

    ~/cs9242/sos % patch -p 1 < 040907_netmake.diff

NOTE: If you have modified the hardware.c or hardware.h files the patch may not apply cleanly. Rather than trying to make sense of the patch file by hand you may wish to compare the full hardware.c and hardware.h files. You will still need to apply the other parts of the patch, however.

CVS NOTE: If you are using CVS, you may encounter problems with the lib/lwip/core direcotry. By default CVS ignores files (and hence directories) named core. See this page for more information.

Last modified: 08 Sep 2004.