John Hodge [Sat, 20 Nov 2010 03:50:39 +0000 (11:50 +0800)]
General fixes
- Fixed recursion in ARP_Resolve when there is not a direct route
to the destinaton
> ARP now does not use routes if the destination address is on the
current subnet.
- Added debug to routing code, debug to IRC client too
John Hodge [Sat, 20 Nov 2010 02:20:10 +0000 (10:20 +0800)]
Cleaning up pcidump / fixed compile warning in InitRD
John Hodge [Sat, 20 Nov 2010 02:09:03 +0000 (10:09 +0800)]
ifconfig - routes
- Slight change to route ioctl API (added get_type)
- Added IP->Text to libnet
- Added route listing to ifconfig
- Added libnet to `make all`
John Hodge [Fri, 19 Nov 2010 15:48:01 +0000 (23:48 +0800)]
Multiple IPStack Related changes (and other bugfixes)
- Added route determining to arp.c
- Changed route source API to take an interface pointer
- Fixed loopback device behavior ('LOOPBACK' is a special adapter path)
- Required fixing the fifo driver
> Size on /Defices/fifo directory should be 1, not 0
> Set default fifo to be blocking
- Slight change to ifconfig to ignore iterfaces that return a -1 type,
or do not conform to the spec.
- Fixed triple fault when a kernel thread is spawned before init is started
(caused by a kernel stack being marked as COW, causing an uncatched double
fault)
John Hodge [Sun, 14 Nov 2010 10:27:23 +0000 (18:27 +0800)]
Reworked the IPStack tInterface structure
- Now no longer explicitly mentions IPv4/IPv6
- Also allowed the cleaning up of a nice chunk of the interface code
John Hodge [Sat, 13 Nov 2010 15:35:09 +0000 (23:35 +0800)]
Fiddling with ARP to handle routing
- Added route control to ifconfig
John Hodge [Sun, 7 Nov 2010 05:18:05 +0000 (13:18 +0800)]
Compile fixes, implemented Net_GetInterface
John Hodge [Sun, 7 Nov 2010 03:57:30 +0000 (11:57 +0800)]
More cleanup in IPStack (making routes usable)
- libnet got a main :)
John Hodge [Sun, 7 Nov 2010 00:50:36 +0000 (08:50 +0800)]
Restructured interface code out to its own file, route search implemented
John Hodge [Sat, 6 Nov 2010 13:23:34 +0000 (21:23 +0800)]
Fixed compilation issues in IPStack
John Hodge [Sat, 6 Nov 2010 11:14:50 +0000 (19:14 +0800)]
Composite commit (GUI / Networking)
- GUI Work, just fiddling with getting images supported
- Networking:
> libnet being built for networking helpers
> IPStack is being partially reworked to support routes and more versatile
naming of interfaces (with the ultimate goal of removing integer names)
> Basic IRC client in the works (testing the networking stack with it)
- Other Changes:
> Cleanups to library code (implemented snprintf in libc)
> Improved debugging and thread status naming in threads.c
John Hodge [Sun, 31 Oct 2010 12:35:05 +0000 (20:35 +0800)]
Fixed kernel segfault in VTerm (referenced possible NULL value)
John Hodge [Sun, 31 Oct 2010 12:29:36 +0000 (20:29 +0800)]
Fixed scrolling bug in VTerm
- VT_int_ClearLine was rejecting valid line numbers
John Hodge [Sun, 31 Oct 2010 04:28:59 +0000 (12:28 +0800)]
Fiddling with x86_64 and i486 builds
- Also repaired LFN ReadDir
John Hodge [Sat, 30 Oct 2010 13:22:18 +0000 (21:22 +0800)]
x86_64 fixes
- Changed register output to %llx instead of %x
- Changed SPINLOCK technique
- Fiddling with scheduling
John Hodge [Sat, 30 Oct 2010 13:07:07 +0000 (21:07 +0800)]
Fixing vsnprintf behavior on 64-bit systems
John Hodge [Fri, 29 Oct 2010 08:08:28 +0000 (16:08 +0800)]
Misc fiddling with FAT driver (LFN and ReadDir)
John Hodge [Fri, 29 Oct 2010 07:47:48 +0000 (15:47 +0800)]
Bug was in Heap_Realloc
- Assumed sizeof(tHeapHead) == 8
- Removed debugging info
John Hodge [Fri, 29 Oct 2010 07:14:19 +0000 (15:14 +0800)]
Attempting to fix heap corruption
- Added lock field to tVFS_Node
- Fixed module makefile
John Hodge [Fri, 22 Oct 2010 06:29:48 +0000 (14:29 +0800)]
Fixing places where malloc() (and others) is not null checked
John Hodge [Fri, 22 Oct 2010 06:26:39 +0000 (14:26 +0800)]
Cleaning up debug (and set modules to build with debug)
John Hodge [Fri, 22 Oct 2010 06:13:56 +0000 (14:13 +0800)]
Don't ask me how, but it's booting again
John Hodge [Tue, 19 Oct 2010 07:21:05 +0000 (15:21 +0800)]
Buglocating: Some random corruption in VFS, FDD lockups
- FDD driver likes to lock
- Also working on a kernel-level debugger
John Hodge [Thu, 14 Oct 2010 06:13:06 +0000 (14:13 +0800)]
x86_64: Bugfixing
John Hodge [Tue, 12 Oct 2010 01:56:33 +0000 (09:56 +0800)]
x86_64 build now compiles :)
John Hodge [Mon, 11 Oct 2010 02:19:32 +0000 (10:19 +0800)]
Fixing to get x86_64 build to compile after threading overhaul
John Hodge [Tue, 5 Oct 2010 07:06:47 +0000 (15:06 +0800)]
Changed back to lottery scheduler, disabled debug
- Fixed behavior in Unix to ACL code
John Hodge [Sun, 3 Oct 2010 10:21:01 +0000 (18:21 +0800)]
Refactored thread switching code to support compile-time swapping
of scheduling methods.
Supported methods:
- Lottery (the old one)
- Priority Based Round-Robin
- Singe Queue Round-Robin
John Hodge [Sun, 3 Oct 2010 09:24:03 +0000 (17:24 +0800)]
Debug, Debug, Debug
John Hodge [Sun, 3 Oct 2010 01:28:52 +0000 (09:28 +0800)]
Replace rand() implementation - fixes threading lockups
- Large ammounts of debug enabled to trace #PF in FAT driver
- Added TID to Debug logging
- Enabled locking on debug prints
John Hodge [Sat, 2 Oct 2010 13:56:44 +0000 (21:56 +0800)]
Placed a comment to not the location of the blocker
John Hodge [Sat, 2 Oct 2010 13:43:51 +0000 (21:43 +0800)]
Fixed threading bug
- Mutex->LastWaiting was never reset to NULL, hence could point to
a thread on the active queue, causing corruption.
HEADDESK, HEADDESK, HEADDESK
- Also, fixed lack of LEAVE macros in some parts of binary.c
- Fixed a typo in EXT2 directory handling (write)
John Hodge [Thu, 9 Sep 2010 02:06:47 +0000 (10:06 +0800)]
Spinlock fixes
John Hodge [Thu, 9 Sep 2010 01:57:56 +0000 (09:57 +0800)]
exported spinlocks
John Hodge [Thu, 9 Sep 2010 01:52:54 +0000 (09:52 +0800)]
Moved spinlocks out of arch.h into lib.c
John Hodge [Thu, 9 Sep 2010 01:27:15 +0000 (09:27 +0800)]
Per-CPU task switch disable, minor spiderscript changes
John Hodge [Tue, 7 Sep 2010 10:20:44 +0000 (18:20 +0800)]
SpiderScript - For loop, #if'd out experimental code
John Hodge [Tue, 7 Sep 2010 06:41:31 +0000 (14:41 +0800)]
Cosmetic code changes
John Hodge [Tue, 7 Sep 2010 01:34:25 +0000 (09:34 +0800)]
Fixing up doxygen comments
John Hodge [Tue, 7 Sep 2010 01:14:35 +0000 (09:14 +0800)]
More thread issue fixing, still not working
John Hodge [Sun, 5 Sep 2010 06:22:10 +0000 (14:22 +0800)]
Still some issues, but it seems to not crash anymore
John Hodge [Sat, 4 Sep 2010 14:21:39 +0000 (22:21 +0800)]
Fiddling with threading code to attempt to fix this ____ bug
- Added nestable SHORTLOCK using CMPXCHG
John Hodge [Sat, 4 Sep 2010 09:19:55 +0000 (17:19 +0800)]
Just a bit of commenting and cleanup (plus correctness in Threads_Wait)
John Hodge [Tue, 31 Aug 2010 02:59:41 +0000 (10:59 +0800)]
Fiddling with threading bugs (both Qemu and Bochs hate atm)
- How the **** did I stuff up those header guards?
John Hodge [Sat, 28 Aug 2010 08:27:11 +0000 (16:27 +0800)]
SpiderScript: Working on dumping the AST to disk
John Hodge [Fri, 27 Aug 2010 11:00:50 +0000 (19:00 +0800)]
NTFS Driver work (index headers)
John Hodge [Fri, 27 Aug 2010 02:45:09 +0000 (10:45 +0800)]
SpiderScript: Slight error fix
John Hodge [Thu, 26 Aug 2010 13:45:53 +0000 (21:45 +0800)]
SpiderScript: Logical Functions, improved integer input
John Hodge [Thu, 26 Aug 2010 13:13:25 +0000 (21:13 +0800)]
SpiderScript: Added line numbers to tAST_Node, cleaned up a bit
John Hodge [Thu, 26 Aug 2010 09:21:10 +0000 (17:21 +0800)]
SpiderScript: String Casts, Escape Codes, Size for Opaque data types
John Hodge [Thu, 26 Aug 2010 08:08:52 +0000 (16:08 +0800)]
SpiderScript - Changed method of defining variant functions (now easier to do)
John Hodge [Thu, 26 Aug 2010 03:56:21 +0000 (11:56 +0800)]
Added if() statement (and internal support for for,while and do{}while())
- Also improved return behavior
John Hodge [Wed, 25 Aug 2010 12:47:21 +0000 (20:47 +0800)]
PCI device dump (lspci clone, essentially)
John Hodge [Wed, 25 Aug 2010 12:42:31 +0000 (20:42 +0800)]
Cleaning up some misc files
John Hodge [Wed, 25 Aug 2010 05:11:02 +0000 (13:11 +0800)]
More work on SpiderScript
- Opaque Data Structures and Objects
- Started on control structures
Also fixing some more Yield() calls
John Hodge [Tue, 24 Aug 2010 02:36:49 +0000 (10:36 +0800)]
Fixed TID0 not being on the All Threads list
- Also stopped VM8086 from busy polling
John Hodge [Tue, 24 Aug 2010 02:24:47 +0000 (10:24 +0800)]
Trying to reduce the ability for a fork bomb to fault the kernel
- Darn, there's still a requirement for proc.asm to know the structure
of tThread
John Hodge [Tue, 24 Aug 2010 01:18:25 +0000 (09:18 +0800)]
Fixed Proc_ReturnToUser's dependence on the structure of tThread
John Hodge [Mon, 23 Aug 2010 15:40:09 +0000 (23:40 +0800)]
Unborking some threading code
- As a side effect, There are FAR less calls to Threads_Yield around,
most have been replaced with Threads_Sleep and a wake on message.
- Also fixed a minor logging bug in PCI
John Hodge [Sun, 22 Aug 2010 02:41:29 +0000 (10:41 +0800)]
And, adding a rather important header that I fogot in the heap rewrite
John Hodge [Sun, 22 Aug 2010 02:41:05 +0000 (10:41 +0800)]
Just cleaning up some things that may be needed in the tree
John Hodge [Sun, 22 Aug 2010 02:37:46 +0000 (10:37 +0800)]
Fixing commenting (always nice)
John Hodge [Sun, 22 Aug 2010 02:25:26 +0000 (10:25 +0800)]
Changed spinlock mechananisim
- LOCK, TIGHTLOCK and VTIGHTLOCK have been removed
- Replaced by SHORTLOCK and Mutex_Acquire
> SHORTLOCK disables interrupts and busy polls the lock waiting for other CPUs
> Mutex_Acquire puts the thread to sleep if the lock is in use, and is given the
lock when woken.
John Hodge [Fri, 20 Aug 2010 10:53:48 +0000 (18:53 +0800)]
Fixed heap troubles (and bugs in VFS_GetTruePath)
John Hodge [Fri, 20 Aug 2010 01:49:49 +0000 (09:49 +0800)]
Improving the debug capabilities of the heap code, changed VFS to use const char* instead of char*
- Also, misc work on SpiderScript
John Hodge [Tue, 17 Aug 2010 01:41:33 +0000 (09:41 +0800)]
Updated sample scripts (and included a static version)
John Hodge [Tue, 17 Aug 2010 01:40:31 +0000 (09:40 +0800)]
SpiderScript! (with a sample script)
John Hodge [Tue, 17 Aug 2010 01:38:33 +0000 (09:38 +0800)]
Slight commenting changes
John Hodge [Tue, 17 Aug 2010 01:38:13 +0000 (09:38 +0800)]
Added strncmp
John Hodge [Tue, 17 Aug 2010 01:37:53 +0000 (09:37 +0800)]
Commenting is nice
John Hodge [Tue, 17 Aug 2010 01:35:04 +0000 (09:35 +0800)]
More work on IPv4/IPv6 firewalling support
John Hodge [Tue, 17 Aug 2010 01:34:22 +0000 (09:34 +0800)]
Added timeout support to the ATA driver (timeout is 2 seconds)
John Hodge [Sat, 7 Aug 2010 00:45:12 +0000 (08:45 +0800)]
Fixed behavior of VTerm when driver is set at runtime
Writing a script parser for use with init (SpiderScript)
NOTE: Init does not compile atm, please go to an old commit or remove
the references to spiderscript in it to compile
John Hodge [Mon, 2 Aug 2010 01:34:11 +0000 (09:34 +0800)]
Fixed cursor behavior in VTerm
John Hodge [Mon, 2 Aug 2010 01:22:13 +0000 (09:22 +0800)]
Fixed mode switch behavior
John Hodge [Sun, 1 Aug 2010 14:11:05 +0000 (22:11 +0800)]
Ust cleaning up
John Hodge [Sun, 1 Aug 2010 13:08:07 +0000 (21:08 +0800)]
More behavior fixes (changes to resolution only apply on a mode set)
John Hodge [Sun, 1 Aug 2010 12:49:49 +0000 (20:49 +0800)]
Changing VTerm behavior (Get/Set Width/Height now returns the text/framebuffer
dimensions depending on the curren buffer mode)
John Hodge [Sun, 1 Aug 2010 11:46:43 +0000 (19:46 +0800)]
Cleanup (NTFS fiddling and fixed debug hexdump)
John Hodge [Sun, 1 Aug 2010 05:17:22 +0000 (13:17 +0800)]
Working on NTFS driver
John Hodge [Sun, 1 Aug 2010 05:05:11 +0000 (13:05 +0800)]
Removed debug from ATA_ReadFS (that bug is fixed)
John Hodge [Sun, 1 Aug 2010 05:04:13 +0000 (13:04 +0800)]
No more VFS debug please
John Hodge [Sun, 1 Aug 2010 03:15:10 +0000 (11:15 +0800)]
Linking and MM Fiddling (mm now handles large pages - well, partially)
John Hodge [Sun, 1 Aug 2010 01:39:09 +0000 (09:39 +0800)]
Bugfixing the x86_64 port
John Hodge [Sat, 31 Jul 2010 15:48:08 +0000 (23:48 +0800)]
Debugging GPF in VFS (non-canoical addr) - Added catch for root mount failure
John Hodge [Sat, 31 Jul 2010 15:17:00 +0000 (23:17 +0800)]
Slight doxygen fix
John Hodge [Sat, 31 Jul 2010 15:10:04 +0000 (23:10 +0800)]
Working on MP build (now can run, just crashes due to CPUs treading on each other's toes)
John Hodge [Sat, 31 Jul 2010 15:09:35 +0000 (23:09 +0800)]
Removed old debug from init
- Just cleaning up my tree :)
John Hodge [Sat, 31 Jul 2010 15:08:45 +0000 (23:08 +0800)]
MP Scheduling work (slightly buggy, but no impact on SP builds)
John Hodge [Sat, 31 Jul 2010 15:08:10 +0000 (23:08 +0800)]
Removed debug
John Hodge [Sat, 31 Jul 2010 15:07:56 +0000 (23:07 +0800)]
Makign debug functions thread safe
John Hodge [Sat, 31 Jul 2010 15:06:33 +0000 (23:06 +0800)]
Fixes to x86_64 - Fixed MM_phys corrupting memory (forgot to initialise bitmap pointers)
- Some other changes to allow compilation against new threading code (not yet in tree)
John Hodge [Sat, 31 Jul 2010 14:43:02 +0000 (22:43 +0800)]
No more ATA debug (fixed the Qemu bug)
John Hodge [Sat, 31 Jul 2010 11:52:46 +0000 (19:52 +0800)]
Updating IPStack to have firewall hooks (well, the start of them)
John Hodge [Sat, 31 Jul 2010 11:49:24 +0000 (19:49 +0800)]
Broke out the ATA IO functions (Read/WriteDMA into their own file to improve code neatness)
John Hodge [Wed, 28 Jul 2010 14:51:38 +0000 (22:51 +0800)]
Helps if I test in BOTH builds
John Hodge [Wed, 28 Jul 2010 14:47:23 +0000 (22:47 +0800)]
Bugfixed MP scheduling code in MP build
John Hodge [Wed, 28 Jul 2010 12:48:19 +0000 (20:48 +0800)]
Fixing MultiCPU thread distribution (only tested in single-cpu)
John Hodge [Tue, 27 Jul 2010 07:41:17 +0000 (15:41 +0800)]
Working on the x86 bit port (caused some changes to try and get it
to compile on more strict warnings)
- Also working on that *#@% Qemu ATA bug
John Hodge [Sun, 25 Jul 2010 13:29:09 +0000 (21:29 +0800)]
Added -mno-red-zone
UCC git Repository :: git.ucc.asn.au