tpg/acess2.git
12 years agoKernel - Cleaning up messages rel0.10
John Hodge [Sun, 7 Aug 2011 04:08:23 +0000 (12:08 +0800)]
Kernel - Cleaning up messages

12 years agoKernel - Removed #include <adt.h> from acess.h, reduce global deps
John Hodge [Sun, 7 Aug 2011 03:54:26 +0000 (11:54 +0800)]
Kernel - Removed #include <adt.h> from acess.h, reduce global deps

12 years agoKernel - Planning for IOCache to use pages for cache instead of heap
John Hodge [Sun, 7 Aug 2011 03:53:49 +0000 (11:53 +0800)]
Kernel - Planning for IOCache to use pages for cache instead of heap

12 years agoKernel - Updated logging to not cache messages (for a speedup)
John Hodge [Sun, 7 Aug 2011 03:53:04 +0000 (11:53 +0800)]
Kernel - Updated logging to not cache messages (for a speedup)

- Can be re-enabled with a #define

12 years agoKernel - Fixed RootFS mknod bugs
John Hodge [Sun, 7 Aug 2011 03:47:52 +0000 (11:47 +0800)]
Kernel - Fixed RootFS mknod bugs

12 years agoIPStack - Fixed TCP locking up when the receive buffer is full
John Hodge [Sun, 7 Aug 2011 03:46:54 +0000 (11:46 +0800)]
IPStack - Fixed TCP locking up when the receive buffer is full

- Forgot to release a mutex

12 years agoKernel - Updated thread code to add new active tasks to the end of the queue
John Hodge [Sun, 7 Aug 2011 03:44:53 +0000 (11:44 +0800)]
Kernel - Updated thread code to add new active tasks to the end of the queue

- Also halved the default quantum - To improve responsiveness

12 years agoKernel - Fixed concurrency in the RingBuffer type
John Hodge [Sun, 7 Aug 2011 03:44:24 +0000 (11:44 +0800)]
Kernel - Fixed concurrency in the RingBuffer type

12 years agoKernel - Cleaning up unneeded malloc() calls
John Hodge [Sat, 6 Aug 2011 00:37:58 +0000 (08:37 +0800)]
Kernel - Cleaning up unneeded malloc() calls

- Also debug cleanups
- Constness fix in RingBuffer

12 years agoUsermode/telnet - Added default port number
John Hodge [Sat, 6 Aug 2011 00:37:14 +0000 (08:37 +0800)]
Usermode/telnet - Added default port number

12 years agoFAT - Removed unneeded malloc() calls
John Hodge [Sat, 6 Aug 2011 00:37:00 +0000 (08:37 +0800)]
FAT - Removed unneeded malloc() calls

12 years agoIPStack - Cleaned up unneeded malloc() calls
John Hodge [Sat, 6 Aug 2011 00:36:00 +0000 (08:36 +0800)]
IPStack - Cleaned up unneeded malloc() calls

- Also added IPv6 support to TCP
- Changed IPv4 checksum back to being byte-based

12 years agoUsermode/irc - Fixes to long line rendering, misc other changes
John Hodge [Thu, 4 Aug 2011 09:03:21 +0000 (17:03 +0800)]
Usermode/irc - Fixes to long line rendering, misc other changes

12 years agoIPStack - Changed IPv4_Checksum to use a word count
John Hodge [Thu, 4 Aug 2011 09:02:43 +0000 (17:02 +0800)]
IPStack - Changed IPv4_Checksum to use a word count

12 years agoRTL8139 - Fixed Rx wrap bugs
John Hodge [Thu, 4 Aug 2011 08:41:47 +0000 (16:41 +0800)]
RTL8139 - Fixed Rx wrap bugs

12 years agoUsermode/irc - Fixes
John Hodge [Thu, 4 Aug 2011 00:16:59 +0000 (08:16 +0800)]
Usermode/irc - Fixes

- Added full screen redraw on window change
- Fixed SetCursorPosision to get the _old_ position, not new

12 years agoUsermode/axwin2 - Commenting changes
John Hodge [Thu, 4 Aug 2011 00:16:15 +0000 (08:16 +0800)]
Usermode/axwin2 - Commenting changes

12 years agoKernel - Added %P to vsnprintf, print physical address
John Hodge [Thu, 4 Aug 2011 00:14:28 +0000 (08:14 +0800)]
Kernel - Added %P to vsnprintf, print physical address

- Also added some commenting

12 years agoChanged Video device spec to implement cursors
John Hodge [Thu, 4 Aug 2011 00:13:26 +0000 (08:13 +0800)]
Changed Video device spec to implement cursors

12 years agoKernel/arm7 - Still working on it
John Hodge [Thu, 4 Aug 2011 00:12:48 +0000 (08:12 +0800)]
Kernel/arm7 - Still working on it

12 years agoIPStack - Fixed TCP checksuming
John Hodge [Thu, 4 Aug 2011 00:09:38 +0000 (08:09 +0800)]
IPStack - Fixed TCP checksuming

- Padded with zero, instead of Undefined
- Fixed ping to return the ping time, instead of the timestamp

12 years agoRT8139 - Fixed to use Mutexes to control access to TXDescs
John Hodge [Thu, 4 Aug 2011 00:06:08 +0000 (08:06 +0800)]
RT8139 - Fixed to use Mutexes to control access to TXDescs

- Mutex protected current TX descriptor to stop two threads getting
  the same TX.
- Changed in use bitfield to a mutex to stop collisions
- Also fixed a spelling error

12 years agoUsermode/libc - Fixed implementation of atexit and printf
John Hodge [Thu, 4 Aug 2011 00:03:03 +0000 (08:03 +0800)]
Usermode/libc - Fixed implementation of atexit and printf

- *printf now supports string precision and padding
- atexit implemented fully, but may not actually work

12 years agoRTL8139 - Fixed not clearing IO bit in BAR
John Hodge [Tue, 2 Aug 2011 23:57:49 +0000 (07:57 +0800)]
RTL8139 - Fixed not clearing IO bit in BAR

12 years agoKernel - Bugfixing x86_64 port
John Hodge [Sat, 30 Jul 2011 08:31:35 +0000 (16:31 +0800)]
Kernel - Bugfixing x86_64 port

- Switched to using the PIT for timekeeping
- Fixed multiple IRQ errors

12 years agoKernel - Misc cleanup in PCI
John Hodge [Thu, 28 Jul 2011 13:12:21 +0000 (21:12 +0800)]
Kernel - Misc cleanup in PCI

- Oops, forgot the modules header

12 years agoKernel/x86_64 - Implemented UserRIP/CS
John Hodge [Thu, 28 Jul 2011 13:11:36 +0000 (21:11 +0800)]
Kernel/x86_64 - Implemented UserRIP/CS

12 years agoKernel - Implemented fallback to VGA when VESA is unavaliable
John Hodge [Thu, 28 Jul 2011 13:10:40 +0000 (21:10 +0800)]
Kernel - Implemented fallback to VGA when VESA is unavaliable

- Reworked parts of VTerm for it.
- Also fixed bugs in drvutil

12 years agoModules/VGA - Implemented 2DOPS and fixed implementation
John Hodge [Thu, 28 Jul 2011 13:09:40 +0000 (21:09 +0800)]
Modules/VGA - Implemented 2DOPS and fixed implementation

- Just a hack driver really, used as a fallback when no VESA is avaliable

12 years agoKernel - Cleaning up
John Hodge [Wed, 27 Jul 2011 10:04:19 +0000 (18:04 +0800)]
Kernel - Cleaning up

- Decided against PAE support for the 32-bit x86 code
- Some debug in System_*
- Still designing parts of mmap

12 years agoKernel - Cleaning up a little
John Hodge [Wed, 27 Jul 2011 10:04:04 +0000 (18:04 +0800)]
Kernel - Cleaning up a little

12 years agoKernel - Fixed a bug in VFS_ParsePath that cause symlinks to break
John Hodge [Wed, 27 Jul 2011 09:47:17 +0000 (17:47 +0800)]
Kernel - Fixed a bug in VFS_ParsePath that cause symlinks to break

12 years agoKernel - Oops, forgot to change the export definitions
John Hodge [Tue, 19 Jul 2011 10:31:37 +0000 (18:31 +0800)]
Kernel - Oops, forgot to change the export definitions

12 years agoKernel - Added an errno macro (implemented with TLS)
John Hodge [Mon, 18 Jul 2011 13:39:38 +0000 (21:39 +0800)]
Kernel - Added an errno macro (implemented with TLS)

12 years agoKernel - Reworked x86 physical memory allocation
John Hodge [Mon, 18 Jul 2011 04:15:31 +0000 (12:15 +0800)]
Kernel - Reworked x86 physical memory allocation

- Turned reference count array into a page info array
- Allocated when needed as opposed to at boot
- TODO: Split it up into two arrays instead, to save space
 > Could also have a MM_AllocPhys variant that picks pages from allocated
   info blocks instead of just the first avaliable

12 years agoKernel - Fiddling with MMap
John Hodge [Mon, 18 Jul 2011 02:11:42 +0000 (10:11 +0800)]
Kernel - Fiddling with MMap

12 years agoKernel - Fixed a possible infinite loop in VFS_ParsePath
John Hodge [Mon, 18 Jul 2011 02:10:22 +0000 (10:10 +0800)]
Kernel - Fixed a possible infinite loop in VFS_ParsePath

- Restricted paths from symlinks to MAX_PATH_LEN characters (255 atm)

12 years agoKernel - Implemented strcat/strncat
John Hodge [Mon, 18 Jul 2011 02:10:04 +0000 (10:10 +0800)]
Kernel - Implemented strcat/strncat

12 years agoFixing compile errors
John Hodge [Sun, 17 Jul 2011 15:43:45 +0000 (23:43 +0800)]
Fixing compile errors

12 years agoKernel - Adding support for MMap (untested)
John Hodge [Sun, 17 Jul 2011 15:23:35 +0000 (23:23 +0800)]
Kernel - Adding support for MMap (untested)

12 years agoKernel - VFS mmap spec (Node level)
John Hodge [Mon, 11 Jul 2011 13:29:57 +0000 (21:29 +0800)]
Kernel - VFS mmap spec (Node level)

12 years agoUsermode Build - Updated makefiles to compile needed libraries if not avaliable
John Hodge [Wed, 6 Jul 2011 15:10:06 +0000 (23:10 +0800)]
Usermode Build - Updated makefiles to compile needed libraries if not avaliable

12 years agoAxWin2 - Added mouse support (well, it now reads the mouse state)
John Hodge [Wed, 6 Jul 2011 15:09:25 +0000 (23:09 +0800)]
AxWin2 - Added mouse support (well, it now reads the mouse state)

- TODO: Implement the cursor (probably as a HW cursor in the video driver)

12 years agoPS2Mouse - Reworked driver to conform with Joystick spec
John Hodge [Wed, 6 Jul 2011 15:08:46 +0000 (23:08 +0800)]
PS2Mouse - Reworked driver to conform with Joystick spec

- Also slightly updated spec to confirm how Axis callbacks happen

12 years agoModules/x86 - Needs a makefile :)
John Hodge [Wed, 6 Jul 2011 08:35:04 +0000 (16:35 +0800)]
Modules/x86 - Needs a makefile :)

12 years agoRemoving old attempt at UDI interface
John Hodge [Wed, 6 Jul 2011 08:32:20 +0000 (16:32 +0800)]
Removing old attempt at UDI interface

12 years agoKernel - Reworked PCI API to be cleaner
John Hodge [Wed, 6 Jul 2011 08:30:04 +0000 (16:30 +0800)]
Kernel - Reworked PCI API to be cleaner

- Part of some mods to get UDIref ported (not in git)

12 years agoMisc changes
John Hodge [Tue, 5 Jul 2011 06:29:21 +0000 (14:29 +0800)]
Misc changes

- Code cleanup
- Preparing for ^C/etc in VTerm
- Better commenting

12 years agoFDD Driver - Fixing bugs exposed in x86_64 testing
John Hodge [Tue, 5 Jul 2011 06:18:42 +0000 (14:18 +0800)]
FDD Driver - Fixing bugs exposed in x86_64 testing

12 years agoKernel - Absently cleaning up (minor presentation changes)
John Hodge [Sun, 3 Jul 2011 03:21:01 +0000 (11:21 +0800)]
Kernel - Absently cleaning up (minor presentation changes)

12 years agoIRC - Set server to Qemu host address (better for debugging)
John Hodge [Sun, 3 Jul 2011 03:20:36 +0000 (11:20 +0800)]
IRC - Set server to Qemu host address (better for debugging)

12 years agoIPStack - Fixed invalid window size in outgoing TCP packets
John Hodge [Sun, 3 Jul 2011 03:18:26 +0000 (11:18 +0800)]
IPStack - Fixed invalid window size in outgoing TCP packets

12 years agoKernel - Fixed VTerm tab behavior when width is not a multiple of 8
John Hodge [Sun, 3 Jul 2011 03:11:02 +0000 (11:11 +0800)]
Kernel - Fixed VTerm tab behavior when width is not a multiple of 8

12 years agoKernel - Changed VFS_SelectNode to be able to watch multiple attribs
John Hodge [Sat, 2 Jul 2011 10:00:20 +0000 (18:00 +0800)]
Kernel - Changed VFS_SelectNode to be able to watch multiple attribs

12 years agoBugfixing a hidden bug in vm8086 (to help trace a tcp bug)
John Hodge [Sat, 2 Jul 2011 08:51:57 +0000 (16:51 +0800)]
Bugfixing a hidden bug in vm8086 (to help trace a tcp bug)

12 years agoKernel/x86_64 - Cleaning up unused symbols in linker script
John Hodge [Sat, 2 Jul 2011 04:38:19 +0000 (12:38 +0800)]
Kernel/x86_64 - Cleaning up unused symbols in linker script

12 years agoUsermode/testclient - Fixes for debugging
John Hodge [Sat, 2 Jul 2011 04:38:01 +0000 (12:38 +0800)]
Usermode/testclient - Fixes for debugging

12 years agoKernel - Fixed up a lack of const-ness
John Hodge [Sat, 2 Jul 2011 04:37:09 +0000 (12:37 +0800)]
Kernel - Fixed up a lack of const-ness

12 years agoAcessNative - Debugging and implementing, getting there now
John Hodge [Sat, 2 Jul 2011 04:36:09 +0000 (12:36 +0800)]
AcessNative - Debugging and implementing, getting there now

12 years agoIPStack - Fixing bugs in TCP close
John Hodge [Sat, 2 Jul 2011 04:35:42 +0000 (12:35 +0800)]
IPStack - Fixing bugs in TCP close

12 years agoOops, no makefile for input :)
John Hodge [Wed, 29 Jun 2011 05:00:36 +0000 (13:00 +0800)]
Oops, no makefile for input :)

12 years agoAcessNative - Fixing Fixing Fixing
John Hodge [Wed, 22 Jun 2011 09:36:42 +0000 (17:36 +0800)]
AcessNative - Fixing Fixing Fixing

- Now can do stuff at the CLIShell prompt
- Fixed some loading issues
- Fixed debug in Kernel/VFS/io.c

12 years agoKernel - Implemented waking from semaphores
John Hodge [Thu, 16 Jun 2011 11:01:51 +0000 (19:01 +0800)]
Kernel - Implemented waking from semaphores

- Threads waiting on semaphores can now be woken by other threads
- Changed ping to not base its timestamp on after the packet is sent
 > Fixes extra-long timeouts

12 years agoAxWin2 - Debugging and misc
John Hodge [Thu, 16 Jun 2011 11:00:11 +0000 (19:00 +0800)]
AxWin2 - Debugging and misc

- Added DWARF support to the linker script
- Fixed 100% CPU usage due to not reading from terminal

12 years agoUsermode - IRC Client
John Hodge [Thu, 16 Jun 2011 10:58:10 +0000 (18:58 +0800)]
Usermode - IRC Client

- Changed Readline behavior to not print a newline when recieving one
- Cleaning up and fixing display bugs
- Implemented atexit() in libc

12 years agoKernel/x86_64 - Working out bugs and unimplementeds
John Hodge [Thu, 16 Jun 2011 10:56:57 +0000 (18:56 +0800)]
Kernel/x86_64 - Working out bugs and unimplementeds

12 years agoKernel/x86_64 - Bugfixing
John Hodge [Sun, 12 Jun 2011 02:24:15 +0000 (10:24 +0800)]
Kernel/x86_64 - Bugfixing

- Changed page dump to be more readable
- Fixed display issues in page dump
- Fixed a broken CallWithArgArray implementation

12 years agoKernel/x86_64 - Bugfixing
John Hodge [Sat, 11 Jun 2011 16:06:07 +0000 (00:06 +0800)]
Kernel/x86_64 - Bugfixing

12 years agoMisc - x86_64 port related changes
John Hodge [Sat, 11 Jun 2011 13:39:36 +0000 (21:39 +0800)]
Misc - x86_64 port related changes

- Made Log_KernelPanic actually panic
- Allowe BochsGA driver to supprt 0xB0C0
- x86_64 module configuration

12 years agoKernel/x86 - Emarrasing, stray " at the start of the file
John Hodge [Sat, 11 Jun 2011 13:39:01 +0000 (21:39 +0800)]
Kernel/x86 - Emarrasing, stray " at the start of the file

12 years agoKernel - x86 Fixed a couple of bugs
John Hodge [Sat, 11 Jun 2011 13:37:10 +0000 (21:37 +0800)]
Kernel - x86 Fixed a couple of bugs

- Page fault handler used a spinlock, needed interupts enabled
- Added a check for HLT() IF=0
- Added a backtrace to kernel panic code
- Random bugcatching in mm_phys

12 years agoKernel - x86_64 mm_virt rework
John Hodge [Sat, 11 Jun 2011 13:34:29 +0000 (21:34 +0800)]
Kernel - x86_64 mm_virt rework

- Moved most of the page table addressing into a helper
- Implementing Hardware mappings and worker threads

12 years agoVTerm - Bugfixing mostly
John Hodge [Wed, 8 Jun 2011 04:00:25 +0000 (12:00 +0800)]
VTerm - Bugfixing mostly

- Fixed compile errors in AxWin2
- Implementing a fixed input bar in IRC client
- Fixed scrolling issues in VTerm

12 years agoNetworking - Heaps of changes
John Hodge [Tue, 7 Jun 2011 17:24:19 +0000 (01:24 +0800)]
Networking - Heaps of changes

Working on IRC Client
- Fixed various networking bugs (firewall failure, etc)
- Updating VTerm implementation to support alternate buffers and
  scroll regions.
 > Scroll is currently broken, doesn't clear the last line.
- Implemented atexit() in libc

12 years agoNetworking - Bugfixing in IPStack/RTL8139 driver
John Hodge [Tue, 7 Jun 2011 08:57:17 +0000 (16:57 +0800)]
Networking - Bugfixing in IPStack/RTL8139 driver

- PCI: Cleaned up (don't need to allocate ports, PCI bios does that for us)
- Fixed Endian flipping issues
- Added some debugging and catches to IPStack
- Fixed IPv4 dropping all packets (due to firewall returning -1)
 > Need to create stub rules for INPUT/OUTPUT/FORWARD
- Huge changes in RTL8136 driver
 > Now tested, but not fully

12 years agoRTL8136 - Implementing
John Hodge [Mon, 6 Jun 2011 14:11:02 +0000 (22:11 +0800)]
RTL8136 - Implementing

- Implemented (untested) a RTL8139 driver
- Debugging in IPv4/NE2000, trying to trace lack of ARP replies

12 years agoAxWin2 - More fiddling, working in windows
John Hodge [Mon, 6 Jun 2011 06:03:09 +0000 (14:03 +0800)]
AxWin2 - More fiddling, working in windows

12 years agoAxWin2 - Minor commenting change
John Hodge [Sun, 5 Jun 2011 16:20:54 +0000 (00:20 +0800)]
AxWin2 - Minor commenting change

12 years agoKernel - Fixed heap debug issue with valid side not being set
John Hodge [Sun, 5 Jun 2011 16:20:33 +0000 (00:20 +0800)]
Kernel - Fixed heap debug issue with valid side not being set

12 years agoAxWin2 - More fiddling, almost ready now :)
John Hodge [Sun, 5 Jun 2011 13:44:09 +0000 (21:44 +0800)]
AxWin2 - More fiddling, almost ready now :)

12 years agoAxWin2 - Cleaned out messy code
John Hodge [Sun, 5 Jun 2011 11:24:57 +0000 (19:24 +0800)]
AxWin2 - Cleaned out messy code

- Changed to tIPC_Type instead of passing function pointers around

12 years agoAxWin2 - More fiddling
John Hodge [Sun, 5 Jun 2011 09:30:37 +0000 (17:30 +0800)]
AxWin2 - More fiddling

- Moved the layout functions out of wm.c

12 years agoAxWin2 - Fiddling, almost ready for testing :)
John Hodge [Sat, 4 Jun 2011 14:10:31 +0000 (22:10 +0800)]
AxWin2 - Fiddling, almost ready for testing :)

12 years agoAdded gitignore rules
John Hodge [Fri, 3 Jun 2011 07:49:49 +0000 (15:49 +0800)]
Added gitignore rules

12 years agoDeleted axwin0 (now backed up)
John Hodge [Fri, 3 Jun 2011 07:45:46 +0000 (15:45 +0800)]
Deleted axwin0 (now backed up)

12 years agoBackup - Adding design for AxWin3 to git
John Hodge [Fri, 3 Jun 2011 07:45:24 +0000 (15:45 +0800)]
Backup - Adding design for AxWin3 to git

12 years agoBackup - Adding AxWin0 to git, just so it's backed up
John Hodge [Fri, 3 Jun 2011 07:44:19 +0000 (15:44 +0800)]
Backup - Adding AxWin0 to git, just so it's backed up

12 years agoMisc changes
John Hodge [Fri, 3 Jun 2011 07:41:11 +0000 (15:41 +0800)]
Misc changes

- Moved IPStack to end of module list (ensures network drivers are inited earlier)
- Debugging in IPStack (ARP)
- Fixing little bugs exposed by verbose errors

12 years agoAxWin2 - Huge changes, getting to the working point
John Hodge [Fri, 3 Jun 2011 07:36:51 +0000 (15:36 +0800)]
AxWin2 - Huge changes, getting to the working point

- Improved messaging, cleaner non-polling API

12 years agoAxWin - Re-added Proc message support
John Hodge [Mon, 30 May 2011 14:18:07 +0000 (22:18 +0800)]
AxWin - Re-added Proc message support

12 years agoAxWin - General cleaning
John Hodge [Mon, 30 May 2011 13:33:08 +0000 (21:33 +0800)]
AxWin - General cleaning

12 years agoAxWin - Re-structured to share headers between clients and server
John Hodge [Mon, 30 May 2011 12:51:52 +0000 (20:51 +0800)]
AxWin - Re-structured to share headers between clients and server

12 years agoAxWin - axwin2 headers
John Hodge [Mon, 30 May 2011 12:29:02 +0000 (20:29 +0800)]
AxWin - axwin2 headers

12 years agoWorking on AxWin2
John Hodge [Mon, 30 May 2011 12:27:27 +0000 (20:27 +0800)]
Working on AxWin2

- Implementing mouse movement
 > Changed the naming of the joystick fields to be less confusing
- Working on the shell, moving to new structure
 > Required fixes to libaxwin2

12 years agoIPStack - Misc logging changes
John Hodge [Mon, 30 May 2011 12:26:43 +0000 (20:26 +0800)]
IPStack - Misc logging changes

12 years agoAxWin2 - Working in UDP based IPC, select() for input
John Hodge [Sun, 29 May 2011 09:48:55 +0000 (17:48 +0800)]
AxWin2 - Working in UDP based IPC, select() for input

12 years agoIPStack - Removed client/server structure from UDP (now just one file)
John Hodge [Sun, 29 May 2011 09:47:33 +0000 (17:47 +0800)]
IPStack - Removed client/server structure from UDP (now just one file)

- Ends up being far simpler too
- Untester, but should work

12 years agoMoved to BASE_IOCTLS() macro for keyboard driver
John Hodge [Sun, 29 May 2011 09:46:56 +0000 (17:46 +0800)]
Moved to BASE_IOCTLS() macro for keyboard driver

12 years agoMouse driver and AxWin
John Hodge [Sat, 28 May 2011 13:10:31 +0000 (21:10 +0800)]
Mouse driver and AxWin

- Mouse driver implemented, only had very basic testing
- Decided to use select() and sockets for the AxWin IPC framework
 > Allows the use of select() on the keyboard and mouse for input

12 years agoKernel - Finally fixed that corruption bug (description follows)
John Hodge [Sat, 28 May 2011 09:05:35 +0000 (17:05 +0800)]
Kernel - Finally fixed that corruption bug (description follows)

- Also fixed some logging bugs (Heap dump and VFS)
- Fixed a bug in the AxWin2 shell include statement

Bug Description:
The last non-idle thread to be put to sleep didn't get the ->CurCPU field
reset to -1. This probably caused the scheduler to think that the process
was still in use, and hence it never got re-scheduled. The other VTs did
not suffer this problem because they were not the last to sleep.

UCC git Repository :: git.ucc.asn.au