tpg/acess2.git
13 years agoAcessNative - Wine equivalent for Acess
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.

13 years agoCleaning up code, and separating a little to allow native code to share
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.

13 years agoAdded thread pointer to thread dump
John Hodge [Sat, 4 Dec 2010 04:29:35 +0000 (12:29 +0800)]
Added thread pointer to thread dump

13 years agoDraft Joystick spec (used for mouse driver)
thePowersGang [Thu, 2 Dec 2010 09:29:13 +0000 (17:29 +0800)]
Draft Joystick spec (used for mouse driver)

13 years agoGUI Fixes
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

13 years agoFixed GUI font rendering
John Hodge [Sun, 28 Nov 2010 01:44:12 +0000 (09:44 +0800)]
Fixed GUI font rendering

- can now print "Ace" to menu button :)

13 years agoFixed Video_DrawText passing too many arguments to _SysDebug
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)

13 years agoAdded sanity checking to kernel vnsprintf
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

13 years agoFixed compile issues in AxWin2 WM
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

13 years agoFixed false positive on VESA cursor OOB checks
John Hodge [Sat, 27 Nov 2010 06:54:26 +0000 (14:54 +0800)]
Fixed false positive on VESA cursor OOB checks

13 years agoUsermode build system overhaul
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)

13 years agoBuild fixes
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

13 years agoFixed Makefile.cfg behavior
John Hodge [Sat, 27 Nov 2010 04:16:55 +0000 (12:16 +0800)]
Fixed Makefile.cfg behavior

13 years agoCombined ld-acess and libacess
John Hodge [Thu, 25 Nov 2010 14:36:55 +0000 (22:36 +0800)]
Combined ld-acess and libacess

13 years agoSlight change to VMM defines
John Hodge [Thu, 25 Nov 2010 14:24:00 +0000 (22:24 +0800)]
Slight change to VMM defines

13 years agoFiddling with IPStack
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

13 years agoFixed need to set $(ACESSDIR)
thePowersGang [Sat, 20 Nov 2010 08:52:24 +0000 (16:52 +0800)]
Fixed need to set $(ACESSDIR)

13 years agoFixing error reporting
John Hodge [Sat, 20 Nov 2010 06:05:13 +0000 (14:05 +0800)]
Fixing error reporting

13 years agoFixing route determining
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

13 years agoFixed memcmp error (checks 1 more byte than it should)
John Hodge [Sat, 20 Nov 2010 05:52:41 +0000 (13:52 +0800)]
Fixed memcmp error (checks 1 more byte than it should)

13 years agoFixed IPv4 checksum (network byte order, dimwit)
John Hodge [Sat, 20 Nov 2010 05:00:34 +0000 (13:00 +0800)]
Fixed IPv4 checksum (network byte order, dimwit)

13 years agoGeneral fixes
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

13 years agoCleaning up pcidump / fixed compile warning in InitRD
John Hodge [Sat, 20 Nov 2010 02:20:10 +0000 (10:20 +0800)]
Cleaning up pcidump / fixed compile warning in InitRD

13 years agoifconfig - routes
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`

13 years agoMultiple IPStack Related changes (and other bugfixes)
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)

13 years agoReworked the IPStack tInterface structure
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

13 years agoFiddling with ARP to handle routing
John Hodge [Sat, 13 Nov 2010 15:35:09 +0000 (23:35 +0800)]
Fiddling with ARP to handle routing

- Added route control to ifconfig

13 years agoCompile fixes, implemented Net_GetInterface
John Hodge [Sun, 7 Nov 2010 05:18:05 +0000 (13:18 +0800)]
Compile fixes, implemented Net_GetInterface

13 years agoMore cleanup in IPStack (making routes usable)
John Hodge [Sun, 7 Nov 2010 03:57:30 +0000 (11:57 +0800)]
More cleanup in IPStack (making routes usable)

- libnet got a main :)

13 years agoRestructured interface code out to its own file, route search implemented
John Hodge [Sun, 7 Nov 2010 00:50:36 +0000 (08:50 +0800)]
Restructured interface code out to its own file, route search implemented

13 years agoFixed compilation issues in IPStack
John Hodge [Sat, 6 Nov 2010 13:23:34 +0000 (21:23 +0800)]
Fixed compilation issues in IPStack

13 years agoComposite commit (GUI / Networking)
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

13 years agoFixed kernel segfault in VTerm (referenced possible NULL value) rel0.06
John Hodge [Sun, 31 Oct 2010 12:35:05 +0000 (20:35 +0800)]
Fixed kernel segfault in VTerm (referenced possible NULL value)

13 years agoFixed scrolling bug in VTerm
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

13 years agoFiddling with x86_64 and i486 builds
John Hodge [Sun, 31 Oct 2010 04:28:59 +0000 (12:28 +0800)]
Fiddling with x86_64 and i486 builds

- Also repaired LFN ReadDir

13 years agox86_64 fixes
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

13 years agoFixing vsnprintf behavior on 64-bit systems
John Hodge [Sat, 30 Oct 2010 13:07:07 +0000 (21:07 +0800)]
Fixing vsnprintf behavior on 64-bit systems

13 years agoMisc fiddling with FAT driver (LFN and ReadDir)
John Hodge [Fri, 29 Oct 2010 08:08:28 +0000 (16:08 +0800)]
Misc fiddling with FAT driver (LFN and ReadDir)

13 years agoBug was in Heap_Realloc
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

13 years agoAttempting to fix heap corruption
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

13 years agoFixing places where malloc() (and others) is not null checked
John Hodge [Fri, 22 Oct 2010 06:29:48 +0000 (14:29 +0800)]
Fixing places where malloc() (and others) is not null checked

13 years agoCleaning up debug (and set modules to build with debug)
John Hodge [Fri, 22 Oct 2010 06:26:39 +0000 (14:26 +0800)]
Cleaning up debug (and set modules to build with debug)

13 years agoDon't ask me how, but it's booting again
John Hodge [Fri, 22 Oct 2010 06:13:56 +0000 (14:13 +0800)]
Don't ask me how, but it's booting again

13 years agoBuglocating: Some random corruption in VFS, FDD lockups
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

13 years agox86_64: Bugfixing
John Hodge [Thu, 14 Oct 2010 06:13:06 +0000 (14:13 +0800)]
x86_64: Bugfixing

13 years agox86_64 build now compiles :)
John Hodge [Tue, 12 Oct 2010 01:56:33 +0000 (09:56 +0800)]
x86_64 build now compiles :)

13 years agoFixing to get x86_64 build to compile after threading overhaul
John Hodge [Mon, 11 Oct 2010 02:19:32 +0000 (10:19 +0800)]
Fixing to get x86_64 build to compile after threading overhaul

13 years agoChanged back to lottery scheduler, disabled debug
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

13 years agoRefactored thread switching code to support compile-time swapping
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

13 years agoDebug, Debug, Debug
John Hodge [Sun, 3 Oct 2010 09:24:03 +0000 (17:24 +0800)]
Debug, Debug, Debug

13 years agoReplace rand() implementation - fixes threading lockups
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

13 years agoPlaced a comment to not the location of the blocker
John Hodge [Sat, 2 Oct 2010 13:56:44 +0000 (21:56 +0800)]
Placed a comment to not the location of the blocker

13 years agoFixed threading bug
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)

13 years agoSpinlock fixes
John Hodge [Thu, 9 Sep 2010 02:06:47 +0000 (10:06 +0800)]
Spinlock fixes

13 years agoexported spinlocks
John Hodge [Thu, 9 Sep 2010 01:57:56 +0000 (09:57 +0800)]
exported spinlocks

13 years agoMoved spinlocks out of arch.h into lib.c
John Hodge [Thu, 9 Sep 2010 01:52:54 +0000 (09:52 +0800)]
Moved spinlocks out of arch.h into lib.c

13 years agoPer-CPU task switch disable, minor spiderscript changes
John Hodge [Thu, 9 Sep 2010 01:27:15 +0000 (09:27 +0800)]
Per-CPU task switch disable, minor spiderscript changes

13 years agoSpiderScript - For loop, #if'd out experimental code
John Hodge [Tue, 7 Sep 2010 10:20:44 +0000 (18:20 +0800)]
SpiderScript - For loop, #if'd out experimental code

13 years agoCosmetic code changes
John Hodge [Tue, 7 Sep 2010 06:41:31 +0000 (14:41 +0800)]
Cosmetic code changes

13 years agoFixing up doxygen comments
John Hodge [Tue, 7 Sep 2010 01:34:25 +0000 (09:34 +0800)]
Fixing up doxygen comments

13 years agoMore thread issue fixing, still not working
John Hodge [Tue, 7 Sep 2010 01:14:35 +0000 (09:14 +0800)]
More thread issue fixing, still not working

13 years agoStill some issues, but it seems to not crash anymore
John Hodge [Sun, 5 Sep 2010 06:22:10 +0000 (14:22 +0800)]
Still some issues, but it seems to not crash anymore

13 years agoFiddling with threading code to attempt to fix this ____ bug
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

13 years agoJust a bit of commenting and cleanup (plus correctness in Threads_Wait)
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)

13 years agoFiddling with threading bugs (both Qemu and Bochs hate atm)
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?

13 years agoSpiderScript: Working on dumping the AST to disk
John Hodge [Sat, 28 Aug 2010 08:27:11 +0000 (16:27 +0800)]
SpiderScript: Working on dumping the AST to disk

13 years agoNTFS Driver work (index headers)
John Hodge [Fri, 27 Aug 2010 11:00:50 +0000 (19:00 +0800)]
NTFS Driver work (index headers)

13 years agoSpiderScript: Slight error fix
John Hodge [Fri, 27 Aug 2010 02:45:09 +0000 (10:45 +0800)]
SpiderScript: Slight error fix

13 years agoSpiderScript: Logical Functions, improved integer input
John Hodge [Thu, 26 Aug 2010 13:45:53 +0000 (21:45 +0800)]
SpiderScript: Logical Functions, improved integer input

13 years agoSpiderScript: Added line numbers to tAST_Node, cleaned up a bit
John Hodge [Thu, 26 Aug 2010 13:13:25 +0000 (21:13 +0800)]
SpiderScript: Added line numbers to tAST_Node, cleaned up a bit

13 years agoSpiderScript: String Casts, Escape Codes, Size for Opaque data types
John Hodge [Thu, 26 Aug 2010 09:21:10 +0000 (17:21 +0800)]
SpiderScript: String Casts, Escape Codes, Size for Opaque data types

13 years agoSpiderScript - Changed method of defining variant functions (now easier to do)
John Hodge [Thu, 26 Aug 2010 08:08:52 +0000 (16:08 +0800)]
SpiderScript - Changed method of defining variant functions (now easier to do)

13 years agoAdded if() statement (and internal support for for,while and do{}while())
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

13 years agoPCI device dump (lspci clone, essentially)
John Hodge [Wed, 25 Aug 2010 12:47:21 +0000 (20:47 +0800)]
PCI device dump (lspci clone, essentially)

13 years agoCleaning up some misc files
John Hodge [Wed, 25 Aug 2010 12:42:31 +0000 (20:42 +0800)]
Cleaning up some misc files

13 years agoMore work on SpiderScript
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

13 years agoFixed TID0 not being on the All Threads list
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

13 years agoTrying to reduce the ability for a fork bomb to fault the kernel
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

13 years agoFixed Proc_ReturnToUser's dependence on 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

13 years agoUnborking some threading code
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

13 years agoAnd, adding a rather important header that I fogot in the heap rewrite
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

13 years agoJust cleaning up some things that may be needed in the tree
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

13 years agoFixing commenting (always nice)
John Hodge [Sun, 22 Aug 2010 02:37:46 +0000 (10:37 +0800)]
Fixing commenting (always nice)

13 years agoChanged spinlock mechananisim
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.

13 years agoFixed heap troubles (and bugs in VFS_GetTruePath)
John Hodge [Fri, 20 Aug 2010 10:53:48 +0000 (18:53 +0800)]
Fixed heap troubles (and bugs in VFS_GetTruePath)

13 years agoImproving the debug capabilities of the heap code, changed VFS to use const char...
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

13 years agoUpdated sample scripts (and included a static version)
John Hodge [Tue, 17 Aug 2010 01:41:33 +0000 (09:41 +0800)]
Updated sample scripts (and included a static version)

13 years agoSpiderScript! (with a sample script)
John Hodge [Tue, 17 Aug 2010 01:40:31 +0000 (09:40 +0800)]
SpiderScript! (with a sample script)

13 years agoSlight commenting changes
John Hodge [Tue, 17 Aug 2010 01:38:33 +0000 (09:38 +0800)]
Slight commenting changes

13 years agoAdded strncmp
John Hodge [Tue, 17 Aug 2010 01:38:13 +0000 (09:38 +0800)]
Added strncmp

13 years agoCommenting is nice
John Hodge [Tue, 17 Aug 2010 01:37:53 +0000 (09:37 +0800)]
Commenting is nice

13 years agoMore work on IPv4/IPv6 firewalling support
John Hodge [Tue, 17 Aug 2010 01:35:04 +0000 (09:35 +0800)]
More work on IPv4/IPv6 firewalling support

13 years agoAdded timeout support to the ATA driver (timeout is 2 seconds)
John Hodge [Tue, 17 Aug 2010 01:34:22 +0000 (09:34 +0800)]
Added timeout support to the ATA driver (timeout is 2 seconds)

13 years agoFixed behavior of VTerm when driver is set at runtime
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

13 years agoFixed cursor behavior in VTerm
John Hodge [Mon, 2 Aug 2010 01:34:11 +0000 (09:34 +0800)]
Fixed cursor behavior in VTerm

13 years agoFixed mode switch behavior
John Hodge [Mon, 2 Aug 2010 01:22:13 +0000 (09:22 +0800)]
Fixed mode switch behavior

13 years agoUst cleaning up
John Hodge [Sun, 1 Aug 2010 14:11:05 +0000 (22:11 +0800)]
Ust cleaning up

13 years agoMore behavior fixes (changes to resolution only apply on a mode set)
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)

13 years agoChanging VTerm behavior (Get/Set Width/Height now returns the text/framebuffer
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)

13 years agoCleanup (NTFS fiddling and fixed debug hexdump)
John Hodge [Sun, 1 Aug 2010 11:46:43 +0000 (19:46 +0800)]
Cleanup (NTFS fiddling and fixed debug hexdump)

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