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
John Hodge [Sat, 24 Jul 2010 03:59:59 +0000 (11:59 +0800)]
Fixing bugs and removing debug statements
- Killing debug in timer code
- Changed the syscall method back to using int 0xAC (for now)
- Working on RTL8139 driver
- More UDI fiddling (I'm going to move to the UDIref implementation
soon, just triying to make it compile properly)
John Hodge [Thu, 22 Jul 2010 13:12:12 +0000 (21:12 +0800)]
Misc changes, working on the VTerm's VT100 support and CLIShell's input
John Hodge [Thu, 22 Jul 2010 13:11:15 +0000 (21:11 +0800)]
Changing syscall interface to jump to KUSER_CODE, allowing use
of SYSENTER/SYSCALL instead of int 0x80 to be selected at runtime
- Also moved timer start earlier in startup
John Hodge [Thu, 22 Jul 2010 13:09:17 +0000 (21:09 +0800)]
Fixed timer code bug (not ACKing after enabling)
- Also fixed bug in timekeeping constants
John Hodge [Tue, 20 Jul 2010 15:20:04 +0000 (23:20 +0800)]
Updating gitignore to ignore the linker maps generated by the usermode library makefile
John Hodge [Tue, 20 Jul 2010 15:19:33 +0000 (23:19 +0800)]
Cleaning up files
John Hodge [Tue, 20 Jul 2010 15:09:48 +0000 (23:09 +0800)]
Major revamp to FAT code, fixing LFN issues and other bugs
Notable changes:
- LFN now caches per entry (resolving multiple read issue)
- Fixed a bug in FAT12 non-cached FAT reads
- Cleaned up the code and reduced the number of memcpys in FAT_Read
John Hodge [Tue, 20 Jul 2010 13:51:45 +0000 (21:51 +0800)]
Bit of debug cleanup, fixing bugs found on GrUB2
- NOTE: Grub 2 does not pass the kernel binary path in the command line
Hence, the argc code breaks in system.c
- Starting on a RTL8139 driver
- Fixed logging/debug calls to use \r\n, fixing serial debugging
John Hodge [Sun, 18 Jul 2010 11:29:57 +0000 (19:29 +0800)]
More MP fiddling
John Hodge [Sun, 18 Jul 2010 04:19:23 +0000 (12:19 +0800)]
More MP work (now APs start and use the LAPIC timer)
John Hodge [Sat, 17 Jul 2010 13:24:04 +0000 (21:24 +0800)]
Adding support for the Local APIC Timer (requires some hacks)
John Hodge [Sat, 17 Jul 2010 10:23:04 +0000 (18:23 +0800)]
APs start nicely now.
TODO: Get APIC timers working
John Hodge [Fri, 16 Jul 2010 09:41:21 +0000 (17:41 +0800)]
Working on multiprocessing support
- Also some cleanup in other parts
John Hodge [Thu, 15 Jul 2010 16:42:43 +0000 (00:42 +0800)]
Fiddling with usermode PCI dump
John Hodge [Thu, 15 Jul 2010 15:48:16 +0000 (23:48 +0800)]
Does help if the biggest offender is actually a #if DEBUG'ed
John Hodge [Thu, 15 Jul 2010 15:46:45 +0000 (23:46 +0800)]
ATA Debug was getting annoying
John Hodge [Thu, 15 Jul 2010 15:29:50 +0000 (23:29 +0800)]
Cleaning up some old code
John Hodge [Thu, 15 Jul 2010 15:04:49 +0000 (23:04 +0800)]
Disabled ELF debugging
UCC git Repository :: git.ucc.asn.au