John Hodge [Sat, 22 Jan 2011 15:32:39 +0000 (23:32 +0800)]
AcessNative - Getting there... (Bedtime commit)
John Hodge [Sat, 22 Jan 2011 12:59:13 +0000 (20:59 +0800)]
Lots of work on the AcessNative kernel
- Fixed some bugs (and possibly introduced some) in the main kernel
- Cleaned up a heap of other stuff in AcessNative/ld-acess
- Fixed a bug in the TCP code that could cause a deadlock
John Hodge [Tue, 18 Jan 2011 23:48:16 +0000 (07:48 +0800)]
Renamed ld-acess.so_src directory to ld-acess_src
John Hodge [Tue, 18 Jan 2011 23:44:34 +0000 (07:44 +0800)]
- Misc changes
- Tracing case where interrupts are disabled
> In the x86 build, somewhere (in some cases) IF is cleared when it should
not be, causing a system lock up.
- Sped up Heap_Allocate with __Bytes == 0 (returns an non-null invalid pointer)
John Hodge [Tue, 18 Jan 2011 12:47:12 +0000 (20:47 +0800)]
Big changes to AcessNative
- ld-acess can now execute an application
> the syscall interface is not yet completed, so nothing happens
- Getting ld-acess working required some changes to the Usermode build
system, specifically making ld-acess.so actually a shared library.
> It was being linked statically, causing the AcessNative versions of
syscalls to not be used (and causing segfaults on "int 0xAC")
John Hodge [Thu, 30 Dec 2010 10:12:55 +0000 (21:12 +1100)]
AcessNative - Work on the ELF Loader
- Still not working, but does load now
- Updated gitignore to ignore vim swap files
John Hodge [Mon, 20 Dec 2010 01:55:59 +0000 (10:40 +0845)]
AcessNative - Cleaned up some of acesskernel's code
- Moved logging etc out to a helper function to keep main.c clean
- Added a common syscalls header to aid maintaining the syscall
interface.
John Hodge [Mon, 20 Dec 2010 01:54:45 +0000 (10:39 +0845)]
AcessNative - ld-acess - Woking on ELF loading
John Hodge [Mon, 20 Dec 2010 01:52:13 +0000 (10:37 +0845)]
Fixed bad handling of VFS_AllocHandle_
John Hodge [Fri, 10 Dec 2010 11:04:38 +0000 (19:04 +0800)]
Through many hacks, AcessNative now compiles
- Still doesn't do anything
John Hodge [Fri, 10 Dec 2010 09:00:37 +0000 (17:00 +0800)]
Fixed places where char* was used in place of const char*
> Still need to update filesystem Write functions to take const void*
> Also started on AcessNative threads.c clone
John Hodge [Fri, 10 Dec 2010 05:02:21 +0000 (13:02 +0800)]
Merge branch 'master' of serenade.mutabah.net:acess2
John Hodge [Fri, 10 Dec 2010 04:57:57 +0000 (12:57 +0800)]
AcessNative - ld-acess initial commmit (non-compile)
John Hodge [Fri, 10 Dec 2010 04:52:02 +0000 (12:52 +0800)]
AcessNative - Wine equivalent for Acess
- Allows native Acess applications to be run on Windows/Linux
- Uses large parts of the main kernel, reducing code duplication
- Still incomplete, will use SDL for video, and a UDP server for
User->Kernel requests.
John Hodge [Fri, 10 Dec 2010 04:47:46 +0000 (12:47 +0800)]
Cleaning up code, and separating a little to allow native code to share
> Split vfs/open.c into handle.c, allowing the handle code to be
replaced in the native emulation code.
> Changed a few referenes to Uint to tVAddr
These changes were made to allow the kernel to be compiled as a
user mode executable for windows/linux, to improve turnover speed
for user applications.
thePowersGang [Thu, 9 Dec 2010 06:27:46 +0000 (14:27 +0800)]
Near-Complete Joystick spec
- NOTE: The joystick spec will be used for mouse drivers too (meaning
the programs that use a mouse can be easily changed to use a
joystick instead)
John Hodge [Sat, 4 Dec 2010 04:29:35 +0000 (12:29 +0800)]
Added thread pointer to thread dump
thePowersGang [Thu, 2 Dec 2010 09:29:13 +0000 (17:29 +0800)]
Draft Joystick spec (used for mouse driver)
John Hodge [Sun, 28 Nov 2010 07:41:54 +0000 (15:41 +0800)]
GUI Fixes
- bugfixing behavior of size/position determining code
- Improved layout of interface
John Hodge [Sun, 28 Nov 2010 01:44:12 +0000 (09:44 +0800)]
Fixed GUI font rendering
- can now print "Ace" to menu button :)
John Hodge [Sat, 27 Nov 2010 14:34:19 +0000 (22:34 +0800)]
Fixed Video_DrawText passing too many arguments to _SysDebug
- _SysDebug has a maximum of 5 parameters (not including the format)
John Hodge [Sat, 27 Nov 2010 14:31:22 +0000 (22:31 +0800)]
Added sanity checking to kernel vnsprintf
- Also added debug to Video_DrawText in AxWin2
John Hodge [Sat, 27 Nov 2010 14:15:22 +0000 (22:15 +0800)]
Fixed compile issues in AxWin2 WM
- #if'ed out image code
- Added text rendering :)
- Fixed issue with `make install` for Applications
John Hodge [Sat, 27 Nov 2010 06:54:26 +0000 (14:54 +0800)]
Fixed false positive on VESA cursor OOB checks
John Hodge [Sat, 27 Nov 2010 05:29:36 +0000 (13:29 +0800)]
Usermode build system overhaul
- All usermode binaries now go to Usermode/Output/<arch>/[Libs,Bin,SBin]
- Moved almost all individual Makefiles over to using ../Makefile.tpl
- Fixed compile warnings
- Deleted un-needed libacess.so and old ld-acess.so sources (they're in
git if I need them)
John Hodge [Sat, 27 Nov 2010 04:23:08 +0000 (12:23 +0800)]
Build fixes
- reworked usermode builds to merge libacess.so and ld-acess.so
- Also fixed some compile errors/warnings in x86 MM
John Hodge [Sat, 27 Nov 2010 04:16:55 +0000 (12:16 +0800)]
Fixed Makefile.cfg behavior
John Hodge [Thu, 25 Nov 2010 14:36:55 +0000 (22:36 +0800)]
Combined ld-acess and libacess
John Hodge [Thu, 25 Nov 2010 14:24:00 +0000 (22:24 +0800)]
Slight change to VMM defines
John Hodge [Sun, 21 Nov 2010 07:50:50 +0000 (15:50 +0800)]
Fiddling with IPStack
- Added support for setting interfaces from the kernel boot line
thePowersGang [Sat, 20 Nov 2010 08:52:24 +0000 (16:52 +0800)]
Fixed need to set $(ACESSDIR)
John Hodge [Sat, 20 Nov 2010 06:05:13 +0000 (14:05 +0800)]
Fixing error reporting
John Hodge [Sat, 20 Nov 2010 05:59:37 +0000 (13:59 +0800)]
Fixing route determining
- Infinite loop due to bad memcmp implementation
- Updating ping to support the new route code
John Hodge [Sat, 20 Nov 2010 05:52:41 +0000 (13:52 +0800)]
Fixed memcmp error (checks 1 more byte than it should)
John Hodge [Sat, 20 Nov 2010 05:00:34 +0000 (13:00 +0800)]
Fixed IPv4 checksum (network byte order, dimwit)
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
UCC git Repository :: git.ucc.asn.au