tpg/acess2.git
13 years agoUsermode/ld-acess - x86_64 support
John Hodge [Thu, 24 Mar 2011 08:02:58 +0000 (16:02 +0800)]
Usermode/ld-acess - x86_64 support

13 years agoFixing gitigore, added a config file for the 'host' architecture
John Hodge [Thu, 24 Mar 2011 02:35:02 +0000 (10:35 +0800)]
Fixing gitigore, added a config file for the 'host' architecture

- Used for using clang's scan-build tool

13 years agoUsermode - Changed build system to separate different arch builds
John Hodge [Thu, 24 Mar 2011 02:31:13 +0000 (10:31 +0800)]
Usermode - Changed build system to separate different arch builds

- Now all object files are put in a directory for each architecture
 > e.g. 'obj-i386/main.o'
- Fixed a compile error in telnet

13 years agoUsermode/ld-acess - Reworked build structure and syscall files
John Hodge [Thu, 24 Mar 2011 02:28:28 +0000 (10:28 +0800)]
Usermode/ld-acess - Reworked build structure and syscall files

- Fixed up many places that used Uint in place of a pointer
- Converted the *.asm files into common and architecture-dependent parts
 > Some hackery with $(CPP) was used :)

13 years agoUsermode/axwin2 - Commenting
John Hodge [Wed, 23 Mar 2011 05:56:59 +0000 (13:56 +0800)]
Usermode/axwin2 - Commenting

13 years agoFiddling with build system
John Hodge [Wed, 23 Mar 2011 05:45:58 +0000 (13:45 +0800)]
Fiddling with build system

13 years agoNE2000 - Cleaning up code, moved to a semaphore
John Hodge [Wed, 23 Mar 2011 05:44:17 +0000 (13:44 +0800)]
NE2000 - Cleaning up code, moved to a semaphore

13 years agoUsermode/telnet - Moved to new routing API
John Hodge [Wed, 23 Mar 2011 05:36:08 +0000 (13:36 +0800)]
Usermode/telnet - Moved to new routing API

13 years agoUsermode/libnet - Added support for change to routing API
John Hodge [Wed, 23 Mar 2011 05:35:22 +0000 (13:35 +0800)]
Usermode/libnet - Added support for change to routing API

13 years agoIPStack - Working on removing future packet cache
John Hodge [Wed, 23 Mar 2011 05:34:28 +0000 (13:34 +0800)]
IPStack - Working on removing future packet cache

- Replacing with a ring buffer (faster to work with and more reliable)

13 years agoCleaning up mostly
John Hodge [Wed, 23 Mar 2011 05:33:04 +0000 (13:33 +0800)]
Cleaning up mostly

- Fixed makefiles to not assume that environment is correctly set (I.e. $(ARCH))
- Changed GCC to CC and NASM to AS in makefile trace output
- Cleaned up top-of-file externs
- Improved Heap_Dump output

13 years agoFiddling with the x86_64 port
John Hodge [Wed, 23 Mar 2011 05:26:28 +0000 (13:26 +0800)]
Fiddling with the x86_64 port

13 years agoIPStack - Slight header updated
John Hodge [Mon, 21 Mar 2011 08:21:01 +0000 (16:21 +0800)]
IPStack - Slight header updated

13 years agoIPStack - Added ability to use /Devices/ip/routes/* as a shortcut to the interface...
John Hodge [Mon, 21 Mar 2011 08:20:08 +0000 (16:20 +0800)]
IPStack - Added ability to use /Devices/ip/routes/* as a shortcut to the interface node

13 years agoIPStack - Working on implementing IPv6
John Hodge [Mon, 21 Mar 2011 08:19:36 +0000 (16:19 +0800)]
IPStack - Working on implementing IPv6

13 years agoIPStack - Cleanup to ARP code (slight)
John Hodge [Mon, 21 Mar 2011 08:18:55 +0000 (16:18 +0800)]
IPStack - Cleanup to ARP code (slight)

13 years agoIPStack - Cleaning IPv4 code, implemented routing
John Hodge [Mon, 21 Mar 2011 08:18:35 +0000 (16:18 +0800)]
IPStack - Cleaning IPv4 code, implemented routing

13 years agoIPStack - Fiddling with firewall
John Hodge [Mon, 21 Mar 2011 08:17:59 +0000 (16:17 +0800)]
IPStack - Fiddling with firewall

13 years agoIPStack - Cleaning up TCP code
John Hodge [Mon, 21 Mar 2011 08:17:29 +0000 (16:17 +0800)]
IPStack - Cleaning up TCP code

13 years agoIPStack - Fiddling with firewall code
John Hodge [Mon, 21 Mar 2011 08:15:32 +0000 (16:15 +0800)]
IPStack - Fiddling with firewall code

13 years agoBedtime commit, misc changes
John Hodge [Wed, 2 Mar 2011 16:08:21 +0000 (00:08 +0800)]
Bedtime commit, misc changes

- Debugging in threads
- TCP fixes
- Overhaul of IRC client
 > TODO: GUI instead of stream based (or at least implement a consistent prompt)
- Fixed type error in strchr() and friends

13 years agoOverhaul of TCP code (still messy, but now WORKS!!!!)
John Hodge [Wed, 2 Mar 2011 06:12:13 +0000 (14:12 +0800)]
Overhaul of TCP code (still messy, but now WORKS!!!!)

13 years agoIRC Client - Added Readline support, error catching
John Hodge [Wed, 2 Mar 2011 06:11:45 +0000 (14:11 +0800)]
IRC Client - Added Readline support, error catching

13 years agoAdded telnet to root Makefile
John Hodge [Wed, 2 Mar 2011 06:10:15 +0000 (14:10 +0800)]
Added telnet to root Makefile

13 years agoUpgrading telnet client to new TCP code
John Hodge [Wed, 2 Mar 2011 06:09:46 +0000 (14:09 +0800)]
Upgrading telnet client to new TCP code

13 years agoUpdated test client for Qemu user network
John Hodge [Wed, 2 Mar 2011 05:06:26 +0000 (13:06 +0800)]
Updated test client for Qemu user network

13 years agoFixed default minium size in vsnprintf being 1 (should be 0)
John Hodge [Wed, 2 Mar 2011 05:05:33 +0000 (13:05 +0800)]
Fixed default minium size in vsnprintf being 1 (should be 0)

- Fixes empty strings being inserted as one space

13 years agoAdded debug (disabled) to Semaphore_Signal
John Hodge [Wed, 2 Mar 2011 05:04:09 +0000 (13:04 +0800)]
Added debug (disabled) to Semaphore_Signal

- Used to find bugs in keyboard interrupt handler

13 years agoFixed bug in kernel script parsing (uninitialised value)
John Hodge [Wed, 2 Mar 2011 05:03:31 +0000 (13:03 +0800)]
Fixed bug in kernel script parsing (uninitialised value)

13 years agoBugfix in NE2K driver (didn't wait for the DMA to be ready)
John Hodge [Wed, 2 Mar 2011 05:02:39 +0000 (13:02 +0800)]
Bugfix in NE2K driver (didn't wait for the DMA to be ready)

13 years ago*partial commit* - Added debut name to VFS_SelectNode
John Hodge [Wed, 2 Mar 2011 05:01:47 +0000 (13:01 +0800)]
*partial commit* - Added debut name to VFS_SelectNode

13 years agoBugfix in Ring buffer (embarrasing)
John Hodge [Wed, 2 Mar 2011 05:00:44 +0000 (13:00 +0800)]
Bugfix in Ring buffer (embarrasing)

13 years agoCleaning up (committing stuff)
John Hodge [Tue, 1 Mar 2011 07:13:25 +0000 (15:13 +0800)]
Cleaning up (committing stuff)

- Stub proc.h for AcessNative
- SIF format spec

13 years agoAdded telnet client
John Hodge [Tue, 1 Mar 2011 07:02:09 +0000 (15:02 +0800)]
Added telnet client

13 years agoMade IRC use select()
John Hodge [Tue, 1 Mar 2011 06:58:09 +0000 (14:58 +0800)]
Made IRC use select()

- Also fixed filesystem xMKDIR

13 years agold-acess - Exported select()
John Hodge [Tue, 1 Mar 2011 06:57:55 +0000 (14:57 +0800)]
ld-acess - Exported select()

13 years agoUsermode implementation of select()
John Hodge [Tue, 1 Mar 2011 06:42:05 +0000 (14:42 +0800)]
Usermode implementation of select()

13 years agoFixed vsnprintf
John Hodge [Tue, 1 Mar 2011 06:40:01 +0000 (14:40 +0800)]
Fixed vsnprintf

- '-' is padding, not '+'
- Added precision

13 years agoFixing select() implementation (and usage)
John Hodge [Tue, 1 Mar 2011 06:39:34 +0000 (14:39 +0800)]
Fixing select() implementation (and usage)

13 years agoKernel - Added backtrace for user segfault
John Hodge [Tue, 1 Mar 2011 06:38:03 +0000 (14:38 +0800)]
Kernel - Added backtrace for user segfault

13 years agoMental note, adding resources is a good idea
John Hodge [Tue, 1 Mar 2011 06:35:35 +0000 (14:35 +0800)]
Mental note, adding resources is a good idea

13 years agoaxwin2 - Little cleanup
John Hodge [Tue, 1 Mar 2011 06:35:13 +0000 (14:35 +0800)]
axwin2 - Little cleanup

13 years agoAcessNative - Compile fixes after select() implementation
John Hodge [Tue, 1 Mar 2011 06:32:44 +0000 (14:32 +0800)]
AcessNative - Compile fixes after select() implementation

13 years agolibreadline - Rework of library (less sucky now!)
John Hodge [Tue, 1 Mar 2011 06:31:03 +0000 (14:31 +0800)]
libreadline - Rework of library (less sucky now!)

13 years agoKernel - Implemented select(), partially debugged
John Hodge [Mon, 28 Feb 2011 06:30:17 +0000 (14:30 +0800)]
Kernel - Implemented select(), partially debugged

- There is quite likely a couple of bugs in there

13 years agoMoved to using a perl syscall generation script
John Hodge [Mon, 28 Feb 2011 06:27:29 +0000 (14:27 +0800)]
Moved to using a perl syscall generation script

- Goodbye php

13 years agoImplementing (and using) select() at kernel level
John Hodge [Mon, 28 Feb 2011 03:17:35 +0000 (11:17 +0800)]
Implementing (and using) select() at kernel level

13 years agoKernel - Some rational comments to select
John Hodge [Sun, 27 Feb 2011 14:37:54 +0000 (22:37 +0800)]
Kernel - Some rational comments to select

13 years agoKernel - Implementing select()
John Hodge [Sun, 27 Feb 2011 13:54:09 +0000 (21:54 +0800)]
Kernel - Implementing select()

- Fully untested, but it does compile
- TODO: Complete the helpers (flag setting), and port blocking calls
  to use select() instead of using their own semaphores.
- TODO: Implement an alarm in threads (or timer) to implement the timeout
  argument to select()

13 years agoModules/FDD (minor) - Removed defunct code
John Hodge [Sun, 27 Feb 2011 11:13:45 +0000 (19:13 +0800)]
Modules/FDD (minor) - Removed defunct code

13 years agoNotes on how to implement select()
John Hodge [Sun, 27 Feb 2011 11:13:27 +0000 (19:13 +0800)]
Notes on how to implement select()

13 years agoMisc changes, fixing problems with long log strings
John Hodge [Sun, 27 Feb 2011 10:51:27 +0000 (18:51 +0800)]
Misc changes, fixing problems with long log strings

- Added a very early boot indicator (for RHW tests)
- Fixed some warning messages

13 years agoModules/FDD - Moved head settle delay to SeekTrack, speeds up reads
John Hodge [Sun, 27 Feb 2011 10:50:16 +0000 (18:50 +0800)]
Modules/FDD - Moved head settle delay to SeekTrack, speeds up reads

13 years agoModules/ATA - Debugging issue with VBox, problem still there
John Hodge [Sun, 27 Feb 2011 10:49:33 +0000 (18:49 +0800)]
Modules/ATA - Debugging issue with VBox, problem still there

13 years agolibc - Fixed an embarrasing bug in strchr :|
John Hodge [Sun, 27 Feb 2011 10:48:35 +0000 (18:48 +0800)]
libc - Fixed an embarrasing bug in strchr :|

13 years agoFixing makefiles
John Hodge [Sun, 27 Feb 2011 10:47:00 +0000 (18:47 +0800)]
Fixing makefiles

- Ignoring if $(xMKDIR) fails (darn mtools)
- Fiddling with warning flags
- Added axwin and others to /Makefile

13 years agoIPStack - Bugfixing (and testing IRC client)
John Hodge [Sun, 27 Feb 2011 10:46:15 +0000 (18:46 +0800)]
IPStack - Bugfixing (and testing IRC client)

13 years agoaxwin2 - Working on GUI, implemented image loading
John Hodge [Sun, 27 Feb 2011 10:44:54 +0000 (18:44 +0800)]
axwin2 - Working on GUI, implemented image loading

- Also fixed URI/URL handling code (needs correctness though)

13 years agoModules/Display/VESA - Fixes to mode select
John Hodge [Sun, 27 Feb 2011 10:42:34 +0000 (18:42 +0800)]
Modules/Display/VESA - Fixes to mode select

- Also cleaned up write function

13 years agoMoved to using semaphores in VTerm
John Hodge [Sun, 27 Feb 2011 10:41:38 +0000 (18:41 +0800)]
Moved to using semaphores in VTerm

13 years agoFixed `make install` issues, bugs with VESA rel0.07
John Hodge [Thu, 17 Feb 2011 13:19:33 +0000 (21:19 +0800)]
Fixed `make install` issues, bugs with VESA

13 years agoAdded some very pedantic warning flags
John Hodge [Mon, 14 Feb 2011 09:35:00 +0000 (17:35 +0800)]
Added some very pedantic warning flags

13 years agoReworked semaphores to be symetric
John Hodge [Sun, 13 Feb 2011 07:10:02 +0000 (15:10 +0800)]
Reworked semaphores to be symetric

- Can block on Signal now
- Removing busy waits

13 years agoWorking on x86_64 build
John Hodge [Sun, 13 Feb 2011 04:28:32 +0000 (12:28 +0800)]
Working on x86_64 build

13 years agoFixed a bug where stack was accessed after address space switch
John Hodge [Sun, 13 Feb 2011 04:28:04 +0000 (12:28 +0800)]
Fixed a bug where stack was accessed after address space switch

13 years agocleanup (removed debug comment)
John Hodge [Sun, 13 Feb 2011 04:27:49 +0000 (12:27 +0800)]
cleanup (removed debug comment)

13 years agoFixed crt0.o not creating its output directory
John Hodge [Sun, 13 Feb 2011 04:26:15 +0000 (12:26 +0800)]
Fixed crt0.o not creating its output directory

13 years agoCleanup (debug statements removed)
John Hodge [Sun, 13 Feb 2011 04:25:43 +0000 (12:25 +0800)]
Cleanup (debug statements removed)

13 years agoFixed gitignore to skip x86_64 objects
John Hodge [Sun, 13 Feb 2011 04:24:07 +0000 (12:24 +0800)]
Fixed gitignore to skip x86_64 objects

13 years agoChanged to a classfull sequential allocation algo
John Hodge [Sun, 13 Feb 2011 04:22:47 +0000 (12:22 +0800)]
Changed to a classfull sequential allocation algo

- Means that addresses end up being allocated sequentially (instead
  of in reverse), cleans up the memory dumps.

13 years agoTSC backed timekeeping, 64-bit integer printing
John Hodge [Sat, 12 Feb 2011 04:29:50 +0000 (12:29 +0800)]
TSC backed timekeeping, 64-bit integer printing

- Improved 64-bit division (using the FPU)

13 years agoCleaned up places where MM_Allocate was used without checks
John Hodge [Sat, 12 Feb 2011 02:25:00 +0000 (10:25 +0800)]
Cleaned up places where MM_Allocate was used without checks

13 years agoBig bugfixes from trying a Clone/fork bomb
John Hodge [Sat, 12 Feb 2011 01:28:35 +0000 (09:28 +0800)]
Big bugfixes from trying a Clone/fork bomb

- User heap bugfixes (why was I using sbrk?)
- Threads_Kill (handling non-active threads)
- Proc_Clone (Error handling from MM)
- MM_NewKStack (OOM handling)

13 years agoFixed compile errors, added Semaphore code
John Hodge [Wed, 2 Feb 2011 13:50:27 +0000 (21:50 +0800)]
Fixed compile errors, added Semaphore code

I will compile before committing
I will compile before committing
I will compile before committing

13 years agoUpdated InitRD to new usermode layout, cleanups in networking
John Hodge [Wed, 2 Feb 2011 12:33:49 +0000 (20:33 +0800)]
Updated InitRD to new usermode layout, cleanups in networking

13 years agoUsermode - Starting on a text editor
John Hodge [Sat, 29 Jan 2011 04:32:28 +0000 (12:32 +0800)]
Usermode - Starting on a text editor

13 years agoSlight bugfixes and output cleanups
John Hodge [Tue, 25 Jan 2011 14:25:50 +0000 (22:25 +0800)]
Slight bugfixes and output cleanups

13 years agoIPStack / ifconfig - Routing changes
John Hodge [Tue, 25 Jan 2011 13:41:13 +0000 (21:41 +0800)]
IPStack / ifconfig - Routing changes

- Implemented implicit routes in interface.c/routing.c
 > Implicit routes are routes that are constructed on the fly from
   an interface.
- Vastly improved the route support in ifconfig
- (Misc) Added some missing syscalls to Usermode/acess/sys.h

13 years agold-acess - Fixed bugs due to not testing from AcessNative changes
John Hodge [Tue, 25 Jan 2011 13:39:59 +0000 (21:39 +0800)]
ld-acess - Fixed bugs due to not testing from AcessNative changes

- Possibly some edge cases left in if someone tries to link against
  libld-acess.so or ld-acess.so and the name does not match the
  hard coded value.

13 years agoKernel - Fixed page fault Proc_ReturnToUser
John Hodge [Tue, 25 Jan 2011 13:38:44 +0000 (21:38 +0800)]
Kernel - Fixed page fault Proc_ReturnToUser

13 years agoIPStack - Routing improvement
John Hodge [Mon, 24 Jan 2011 15:01:35 +0000 (23:01 +0800)]
IPStack - Routing improvement

- When creating an boot config, routes are set up too
 > TODO: Implement a static route for each interface (as part of
   tInteface), removing the need to set a route when creating.
 > Problem, maintaining?
 > No real problem, just not have those in the main route list (if
   you want an interface route to be more important than another,
   just set it manually)

13 years agoIPStack - Heaps of network fixes
John Hodge [Sun, 23 Jan 2011 15:08:11 +0000 (23:08 +0800)]
IPStack - Heaps of network fixes

- Also reduced verbosity

13 years agoKernel - So... should remember to initialise structures
John Hodge [Sun, 23 Jan 2011 13:34:53 +0000 (21:34 +0800)]
Kernel - So... should remember to initialise structures

- Forgot to clear the ret->Lock in IOCache_Create
 > Caused random locks if the lock protector was not 0 when
   malloc'd
- Set up fractal mappings from boot
 > Exposed by trying to use Log_Debug before VMem was fully initialised

13 years agoAcessNative - Bugfixing
John Hodge [Sun, 23 Jan 2011 08:41:43 +0000 (16:41 +0800)]
AcessNative - Bugfixing

- Still have heaps of syscalls to implement

13 years agoAcessNative - Reworked protocol to be simpler
John Hodge [Sun, 23 Jan 2011 02:41:09 +0000 (10:41 +0800)]
AcessNative - Reworked protocol to be simpler

- Completed the interface code, not tested yet
- Switched to a single list of parameters, with flags for returned values

13 years agoAcessNative - Getting there... (Bedtime commit)
John Hodge [Sat, 22 Jan 2011 15:32:39 +0000 (23:32 +0800)]
AcessNative - Getting there... (Bedtime commit)

13 years agoLots of work on the AcessNative kernel
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

13 years agoRenamed ld-acess.so_src directory to ld-acess_src
John Hodge [Tue, 18 Jan 2011 23:48:16 +0000 (07:48 +0800)]
Renamed ld-acess.so_src directory to ld-acess_src

13 years ago- Misc changes
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)

13 years agoBig changes to AcessNative
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")

13 years agoAcessNative - Work on the ELF Loader
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

13 years agoAcessNative - Cleaned up some of acesskernel's code
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.

13 years agoAcessNative - ld-acess - Woking on ELF loading
John Hodge [Mon, 20 Dec 2010 01:54:45 +0000 (10:39 +0845)]
AcessNative - ld-acess - Woking on ELF loading

13 years agoFixed bad handling of VFS_AllocHandle_
John Hodge [Mon, 20 Dec 2010 01:52:13 +0000 (10:37 +0845)]
Fixed bad handling of VFS_AllocHandle_

13 years agoThrough many hacks, AcessNative now compiles
John Hodge [Fri, 10 Dec 2010 11:04:38 +0000 (19:04 +0800)]
Through many hacks, AcessNative now compiles

- Still doesn't do anything

13 years agoFixed places where char* was used in place of const char*
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

13 years agoMerge branch 'master' of serenade.mutabah.net:acess2
John Hodge [Fri, 10 Dec 2010 05:02:21 +0000 (13:02 +0800)]
Merge branch 'master' of serenade.mutabah.net:acess2

13 years agoAcessNative - ld-acess initial commmit (non-compile)
John Hodge [Fri, 10 Dec 2010 04:57:57 +0000 (12:57 +0800)]
AcessNative - ld-acess initial commmit (non-compile)

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.

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