John Hodge [Fri, 12 Feb 2010 09:18:51 +0000 (17:18 +0800)]
More work on TCP, still not usable
John Hodge [Thu, 11 Feb 2010 05:15:26 +0000 (13:15 +0800)]
Work on IP/TCP Stack
- TCP now registered with IPv4
- Added debug code and started on TCP server support
- Fixed bitfield error (removed the bitfields for portability)
John Hodge [Sun, 7 Feb 2010 02:32:44 +0000 (10:32 +0800)]
Helps if I add it to the main makefile
John Hodge [Sun, 7 Feb 2010 02:27:06 +0000 (10:27 +0800)]
Removed the need to alter acess.ld for each build environment
John Hodge [Fri, 5 Feb 2010 08:42:50 +0000 (16:42 +0800)]
More work on IPStack, TCP and UDP slowly moving along
John Hodge [Wed, 3 Feb 2010 06:44:45 +0000 (14:44 +0800)]
Cleanups that will hopefully allow compilation in more strict environments
John Hodge [Wed, 3 Feb 2010 03:57:48 +0000 (11:57 +0800)]
Fixed and improved Ping support
- BUG: ARP requests time out for some reason, todo check on other networks
- Also updated the readme for better support when building
John Hodge [Wed, 3 Feb 2010 02:10:45 +0000 (10:10 +0800)]
More work on the IP Stack, now responds to pings
- Also fixed bug in NE2000 driver that resent the first packet
on each subsequent send.
John Hodge [Wed, 3 Feb 2010 00:30:22 +0000 (08:30 +0800)]
Fixed IPStack's ID showing as IDENT
John Hodge [Wed, 3 Feb 2010 00:30:06 +0000 (08:30 +0800)]
More additions
John Hodge [Wed, 3 Feb 2010 00:26:42 +0000 (08:26 +0800)]
Cleaning up unadded files
John Hodge [Tue, 2 Feb 2010 12:16:35 +0000 (20:16 +0800)]
Working on GUI, side changes to the message passing
John Hodge [Tue, 2 Feb 2010 00:16:30 +0000 (08:16 +0800)]
Reorganised the modules directory, started serious work on GUI support
- Cleaning up and bugfixing VTerm graphics support
John Hodge [Sat, 23 Jan 2010 11:48:18 +0000 (19:48 +0800)]
Altered & Renamed LookupString, Added DrvUtil_SetIdent
- Both now check the user memory before using it
John Hodge [Wed, 20 Jan 2010 10:39:16 +0000 (18:39 +0800)]
I really need to learn to compile test before commiting
John Hodge [Wed, 20 Jan 2010 10:36:45 +0000 (18:36 +0800)]
Updated gitignore rules, cleaned up MBR parsing
John Hodge [Wed, 20 Jan 2010 03:10:07 +0000 (11:10 +0800)]
Started splitting ATA driver into separate files
John Hodge [Wed, 20 Jan 2010 03:01:56 +0000 (11:01 +0800)]
Renamed ATA core to main.c
John Hodge [Wed, 20 Jan 2010 02:55:45 +0000 (10:55 +0800)]
Moved ATA driver out of Kernel tree
- Also changed VER3 macro to VER2 for compatability with MODULE_DEFINE
John Hodge [Tue, 19 Jan 2010 09:30:11 +0000 (17:30 +0800)]
Bugfixes and debug cleanup
- Cleanup in threads.c
- Fixed ACL/Permissions bugs in VFS
- Also fixed instaces where tVFS_Node methods were called without NULL checking
John Hodge [Tue, 19 Jan 2010 06:36:15 +0000 (14:36 +0800)]
Multi-user testing and bugfixing
- Actually changes the UID now
- Added stub normal user 'tpg', no password
John Hodge [Tue, 19 Jan 2010 05:52:00 +0000 (13:52 +0800)]
More debug in PE loader
John Hodge [Tue, 19 Jan 2010 05:50:45 +0000 (13:50 +0800)]
Exteding Driver interface
- Changed 4-byte ID to a 31 byte string (32 with NULL terminator)
- Created a macro for the version numbers
John Hodge [Tue, 19 Jan 2010 04:12:08 +0000 (12:12 +0800)]
Comment/documentation change to the VFS
John Hodge [Mon, 18 Jan 2010 05:55:40 +0000 (13:55 +0800)]
Fixes and logging
John Hodge [Mon, 18 Jan 2010 05:21:02 +0000 (13:21 +0800)]
Changes and Features to IPStack
- Added 'ping' ioctl and required calls, currently incomplete
John Hodge [Sun, 17 Jan 2010 10:24:22 +0000 (18:24 +0800)]
Adding PE file support
- Also added binary register function (now modules can handle binary files)
John Hodge [Sun, 17 Jan 2010 06:05:38 +0000 (14:05 +0800)]
Added support for dynamic registration of module loaders
- Also updated .gitignore to exclude more object files
- UDI is now a dynamic module
John Hodge [Sat, 16 Jan 2010 14:14:28 +0000 (22:14 +0800)]
Adding `udisetup` (and required linker script)
John Hodge [Fri, 15 Jan 2010 23:34:43 +0000 (07:34 +0800)]
Slight changes to UDI structures and logging
John Hodge [Fri, 15 Jan 2010 15:41:34 +0000 (23:41 +0800)]
Fixed Double-Relocation in modules.c (edited bin/elf.c to find this)
John Hodge [Fri, 15 Jan 2010 15:37:56 +0000 (23:37 +0800)]
More work on UDI, cleanup and pseudod should now load.
- Also added a NULL check to ELF_GetSymbol
John Hodge [Fri, 15 Jan 2010 09:30:47 +0000 (17:30 +0800)]
Added cb.o to the UDI objects list
John Hodge [Fri, 15 Jan 2010 09:29:29 +0000 (17:29 +0800)]
More UDI work
- GIO Metalanguage
- CB Functions
- Also added the UNIMPLEMENTED() macro for unimplemented functions
John Hodge [Fri, 15 Jan 2010 07:49:58 +0000 (15:49 +0800)]
More work on UDI support
John Hodge [Thu, 14 Jan 2010 15:03:44 +0000 (23:03 +0800)]
More work on UDI support, still doesn't load pseudud yet
- Also fixed the FAT ReadDir bug (bad treatment of SPC==1)
John Hodge [Thu, 14 Jan 2010 05:33:53 +0000 (13:33 +0800)]
Bugfixes and UDI Updates
- Added UDI to the tree
- Bugfixing FAT filesystem (Fixed EOC handling in FindDir)
> Still a bug in ReadDir that causes garbage to be read
John Hodge [Tue, 12 Jan 2010 14:26:09 +0000 (22:26 +0800)]
Ok, this was embarrassing... Added core include file that was renamed
- include/acess.h was renamed (from include/common.h) several commits
ago and I forgot to add it.
John Hodge [Tue, 12 Jan 2010 14:25:31 +0000 (22:25 +0800)]
More work on UDI, Added more Login VTerms
John Hodge [Tue, 12 Jan 2010 13:04:59 +0000 (21:04 +0800)]
Bugfixes, Cleanup and Rewite started on UDI interface
- Fixed bug in mm_virt where the kernel (as 0-1MiB) was being marked COW
(hence triple faulting)
- Cleaned up /Makefile (now only builds kernel and modules with no target)
- Started rewriting the UDI system
John Hodge [Sat, 2 Jan 2010 05:17:30 +0000 (13:17 +0800)]
Fixed a bug that caused physical memory allocation to be one-time use
John Hodge [Fri, 1 Jan 2010 13:47:57 +0000 (21:47 +0800)]
SMP Work (APs now start, just seem to lock up on lgdt, or whatever is at that address)
- Also added support for setting the build architecture in the environment
- Included the Doxygen layout file
John Hodge [Fri, 1 Jan 2010 09:37:26 +0000 (17:37 +0800)]
More SMP Work, also changed the physical allocator to allocate downwards
John Hodge [Thu, 31 Dec 2009 03:14:38 +0000 (11:14 +0800)]
Working on Multiprocessing support
- Cleaned up SysFS debug
- Fixed ByteSum() (now returns a byte)
- Added character array functionality to %c (%Nc will print N chacters from the passed array)
John Hodge [Wed, 30 Dec 2009 13:51:58 +0000 (21:51 +0800)]
Added debug code to vterm, fixed userland _errno support
John Hodge [Wed, 30 Dec 2009 05:10:44 +0000 (13:10 +0800)]
Starting on PAE support, removed UDI from kernel
John Hodge [Wed, 30 Dec 2009 03:01:29 +0000 (11:01 +0800)]
More work on UDI, attempting to get it to load the pseudod driver
John Hodge [Tue, 29 Dec 2009 14:20:34 +0000 (22:20 +0800)]
Changed "common.h" to "acess.h" to reduce possible conflicts
John Hodge [Mon, 28 Dec 2009 15:28:08 +0000 (23:28 +0800)]
Attempting to fix an intermittent TSS bug
John Hodge [Mon, 28 Dec 2009 14:05:28 +0000 (22:05 +0800)]
Cleaned up some more debug
John Hodge [Mon, 28 Dec 2009 13:38:49 +0000 (21:38 +0800)]
Cleanup & Debug Removal
- Disabled debug in ATA driver
- Fixed the return values of module initialisation functions
- Cleaned up some newlines that were still around in Log() calls
John Hodge [Mon, 28 Dec 2009 13:29:02 +0000 (21:29 +0800)]
Added flag to enable/disable debug symbols in the kernel
- `export DEBUG_BUILD=yes` will enable a debug build, any other value
will disable DWARF debug.
John Hodge [Mon, 28 Dec 2009 13:20:37 +0000 (21:20 +0800)]
Changed the x86 architecture to have tPAddr be 64-bits always
- tPAddr being a constant size allows PAE to be selected at
runtime (when I complete it :))
- Related bugfixes (where tPAddr was assumed to be 32-bits)
- Also fixed bugs in the config file parser
- Added -g flag to the build (working on a disable switch)
John Hodge [Mon, 28 Dec 2009 11:09:54 +0000 (19:09 +0800)]
Revamped the config file parsing to be more resiliant to errors.
John Hodge [Mon, 28 Dec 2009 09:48:44 +0000 (17:48 +0800)]
Bugfixes upon chaning GCC versions
- Also updating my config to be correct for my new machine
John Hodge [Sun, 27 Dec 2009 10:54:14 +0000 (18:54 +0800)]
Working on UDI support (UDI manager module now compiles)
- DEBUG ONLY
John Hodge [Sun, 27 Dec 2009 03:43:07 +0000 (11:43 +0800)]
Fixed bug in Inode_ClearCache
John Hodge [Sun, 27 Dec 2009 02:38:40 +0000 (10:38 +0800)]
Updated build system to remove `install` from `all`
- Also created a common makefile for Usermode/Applications to reduce make bugs
- Updated Inode_ClearCache to actually delete the cache correctly (thanks SmSpilaz)
John Hodge [Sat, 26 Dec 2009 16:19:25 +0000 (00:19 +0800)]
Update to readme relating to the filesystem generation
John Hodge [Sat, 26 Dec 2009 16:18:04 +0000 (00:18 +0800)]
Added Filesystem generation and required $(x*) variables
John Hodge [Sat, 26 Dec 2009 15:57:58 +0000 (23:57 +0800)]
Updated the build files to use $(xCP), allows use of mcopy to a mtools disk
John Hodge [Sat, 26 Dec 2009 03:18:13 +0000 (11:18 +0800)]
Big Changes - See commit details
- Cleaned up and fixed kernel API Documentation
- Removed drvutil.h and moved it's definitions to tpl_drv_disk.h
- Changes to the VFS and Driver specs (only minor)
- Fixed behaviour of loader when a module doesn't initialise
- Fixed some modules returning zero when they successfully loaded
- Other changes to fix doxygen generation
John Hodge [Tue, 24 Nov 2009 13:20:19 +0000 (21:20 +0800)]
Altered keyboard driver to correctly support Unicode
- Updated Keyboard and VTerm driver to accomodate this
- Edited Modules/Makefile.tpl to allow modules to set their own CPPFLAGS
- Inconcequential changes elsewhere
John Hodge [Mon, 23 Nov 2009 09:18:49 +0000 (17:18 +0800)]
More work on IPStack (Also fixed Proc_SpawnWorker)
- Fixed structures in IPStack not being packed
- Fixed instances when byte orders were not handled
- Added stub UDP support
- Added copious ammounts of debug code to IPStack
- Added packet reception to NE2000 driver
- Changed autoconf in ifconfig to set the IP to 10.0.0.55
John Hodge [Sun, 22 Nov 2009 08:03:14 +0000 (16:03 +0800)]
Added ProcDev/SysFS + Cleanup
- Added /Devices/system (ProcDev or SysFS)
> Allows exposing of kernel buffers to usermode (readonly)
- Added use of ProcDev to VFS to expose Mounted filesystems and loaded
filesystems.
- Created tSpinlock type to make sure that spinlocks are volatile
John Hodge [Fri, 20 Nov 2009 16:06:55 +0000 (00:06 +0800)]
Cleanup and Bugfixing
- Created a _very_ basic `ifconfig` app to test the IPStack module
- Fixed a bug in MM_NewWorkerStack that caused it to always fail
- Added the LEAVE_RET macro to simplify debugging
- Moved BochsGA driver to module tree
- More work on the IPStack
- Fixed compile errors in NE2000 driver
- and did some work on the makefiles
John Hodge [Thu, 19 Nov 2009 09:24:00 +0000 (17:24 +0800)]
Cleanup and Bugfixes
- Fixed bugs with handling of SYS_READ and SYS_WRITE
- Added EXPORT definitions to functions used by the IPStack
- Updated the core Makefile to use loops to allow easier maintainence
- Fixed bug in IPStack/main.c (Null pointer dereference)
- Cleaned up some of the debug code
John Hodge [Tue, 17 Nov 2009 16:31:45 +0000 (00:31 +0800)]
Cleanups & Implementations to allow IPStack to compile
- IPStack module now compiles (still unusable)
- Added Network Device spec file (tpl_drv_network.h)
- Shuffled definitions between vfs.h and vfs_ext.h
- Added thorough sanity checking to System calls (except IOCtl as
the driver is the only code that knows what it means)
- Cleaned up makefiles to delete Dumps and Disassemblies
- Added USB core file to tree
- Implemented DRV_IOCTL_LOOKUP and NET_IOCTL_GETMAC in NE2000 driver
in prepararion for IPStack.
John Hodge [Mon, 16 Nov 2009 03:14:17 +0000 (11:14 +0800)]
Fixed implementation of ChRoot
(it could be bypassed by using ..)
John Hodge [Sun, 15 Nov 2009 15:27:28 +0000 (23:27 +0800)]
Forgot to build test :S Added defintion of CFG_VFS_CHROOT
John Hodge [Sun, 15 Nov 2009 13:03:08 +0000 (21:03 +0800)]
Added ChRoot Support (untested)
John Hodge [Fri, 13 Nov 2009 07:09:46 +0000 (15:09 +0800)]
Fixes and Cleanup
- Fixed text mode in BochsGA driver and hence set it to the VTerm default
- Moved Ext2 Filesystem driver to Modules tree (As FS_Ext2)
- Included root Makefile in git tree
- Slight changes to the in-process USB code
- Updated the README
- Inconcequential changes to other files
John Hodge [Tue, 10 Nov 2009 05:21:38 +0000 (13:21 +0800)]
Adding several modules to the Tree, plus some files that escaped earlier
- Added the in-progress IP Stack
- Added the in-progress USB Stack
- Added module's linker script
- Added tpl_drv_terminal.h (Terminal Emulator defintions)
- Added libreadline (my own version)
- Added Usermode/stddef.h
John Hodge [Tue, 10 Nov 2009 05:14:31 +0000 (13:14 +0800)]
General Cleanup, Implemented DMA Allocation
- Cleaned up debugging and added notice of loading a module
- Added doxygen comments to common.h
- Fixed the dynamic modules not loading due to a buggy linker script
- Added MM_AllocDMA to allow memory of a specific bit depth to be allocated
- Various bugfixes and export adds
John Hodge [Fri, 6 Nov 2009 10:35:29 +0000 (18:35 +0800)]
Added Doxygen files
John Hodge [Fri, 6 Nov 2009 10:29:56 +0000 (18:29 +0800)]
Added IO Cache Library, Moved FDD Driver to Modules Tree, Fixed Doxygen commenting
John Hodge [Tue, 27 Oct 2009 05:00:05 +0000 (13:00 +0800)]
Implemented Dependency resolving for compile-time modules and Updated the README
- Added more early debug code (See arch/.../errors.c)
- Added dependencies to drivers
- Implemented dependcy resolving in modules.c
- Disabled FAT chaching and fixed bugs that showed
- Updated README to show how to configure and build
John Hodge [Mon, 26 Oct 2009 14:16:41 +0000 (22:16 +0800)]
Improved VTerm support
- Fixed VTerm changing (Ctrl-Alt-F[1-12] sets the Vterm to 0-11)
- Made the kernel output to VTerm 7 after loading drivers
- Added 'calloc' to clean up VTerm code
John Hodge [Mon, 26 Oct 2009 04:54:31 +0000 (12:54 +0800)]
Fixes to Libc, Doxygen Comments and VTerm layout
- Fixed Libc so that zlib could compile against it (still some bugs to get rid of)
- Fixed doxygen commenting
- Fixed a bug in the Makefile (used %* instead of $*)
- Changed the structure of the VTerm driver to facilitate kernel modesetting properly
John Hodge [Sun, 18 Oct 2009 12:25:46 +0000 (20:25 +0800)]
Adding module tree to git, added SYS_LOADMOD to allow usermode module loading
John Hodge [Sun, 18 Oct 2009 11:19:57 +0000 (19:19 +0800)]
Multiple changes (Module Interopability, Timers, FDD Driver, VFS Bugs)
- Changed kernel to be compiled withough -fleading-underscore to allow
modules to be statically linked with the kernel successfully.
- Moved the BochsVBE driver to the Modules tree
- Cleaned up and disabled debug in the FDD driver
- Fixed bugs in VFS_MkNod that caused an infinite loop
- Cleanup in FAT and EXT2 Drivers
John Hodge [Thu, 15 Oct 2009 13:33:58 +0000 (21:33 +0800)]
Added the gitignore file to stop object and dependency files showing up
John Hodge [Thu, 15 Oct 2009 13:30:48 +0000 (21:30 +0800)]
Various Changes
- Double fault protection
- Optomised Memory Functions (also added memcmp)
- Added worker threads
- Fixes to the timer code (stop the RTC firing at 1024 Hz)
- Re-included the FDD driver
- Moved the NE2000 driver to /Modules
- Inconcequential changes to system.c
- Added block allocation to fs/ext2
- Changed the makefiles to support static linking of modules
John Hodge [Sun, 11 Oct 2009 07:55:04 +0000 (15:55 +0800)]
Fixed network triple fault, packets now send successfully.
Changed RTC to fire at 4 Hz, instead of 1024Hz
Slight changes to EXT2, library functions and IRQ handling
John Hodge [Sun, 11 Oct 2009 01:54:05 +0000 (09:54 +0800)]
Implemented basic disk write support in EXT2.
Fixed Debug_HexDump bug.
Made changes to NE2000 driver (now triplefaults on write, instead of doing nothing
John Hodge [Sat, 10 Oct 2009 04:42:44 +0000 (12:42 +0800)]
Fixed the RTC only firing once.
Also added the <acess/devices.h> usermode header that will be used by the GUI
John Hodge [Sat, 10 Oct 2009 04:10:40 +0000 (12:10 +0800)]
Added Driver Utils to git tree
John Hodge [Sat, 10 Oct 2009 04:09:37 +0000 (12:09 +0800)]
Cleaned up ATA driver (not only 3 functions in the Read chain, instead of 4)
John Hodge [Sat, 10 Oct 2009 01:53:33 +0000 (09:53 +0800)]
Fixed Infinite reading in ext2 driver, removed debug from DrvUitl
John Hodge [Sat, 10 Oct 2009 01:06:00 +0000 (09:06 +0800)]
Fixed Triple Fault in EXT2 driver/hdd driver
John Hodge [Sat, 10 Oct 2009 00:33:55 +0000 (08:33 +0800)]
Various Changes
- Fixes to network driver (still doesn't work)
- Added EXT2 Driver (required changes to HDD driver and VFS Driver interface)
> Seems to cause a Triple Fault
- Features and bugfixes for libc
- Implemented alternative directories for libraries in ld-acess
- Implemented usermode mount support (no unmount yet)
John Hodge [Sat, 3 Oct 2009 04:22:11 +0000 (12:22 +0800)]
Enabled WP flag in CR0 to allow COW to work if the kernel writes to the page
Fixed handling of . and ..
John Hodge [Sat, 3 Oct 2009 03:37:01 +0000 (11:37 +0800)]
Fixed correctness in stdio, minor changes in ls to handle dirs with negative sizes
John Hodge [Fri, 2 Oct 2009 15:45:43 +0000 (23:45 +0800)]
Fixed bug where system would lock if a user task segfaulted (forgot to sti)
Cosmetic fix to login shell
Ignored tabs in CLI Shell
John Hodge [Fri, 2 Oct 2009 15:22:01 +0000 (23:22 +0800)]
Fixed bug with handling of . and .. that was trashing the heap. Fixed soname of libgcc to libgcc.so instead of libgcc.acess.so
John Hodge [Fri, 2 Oct 2009 13:00:47 +0000 (21:00 +0800)]
Cleanup
- Unified the build systems for user and kernel space code
- Fixed bug in VFS when VFS_Open is called by user when the current working directory is NULL
- Added testing EXT2 and NE2000 drivers
- Added files forgotten in the FDD commit
John Hodge [Fri, 2 Oct 2009 04:17:29 +0000 (12:17 +0800)]
Added sanity checking to VFS_OPEN
John Hodge [Fri, 2 Oct 2009 03:22:43 +0000 (11:22 +0800)]
Removed Page directory dump, added a mention of the fault details before the table dump. Added qsort function to libc
John Hodge [Thu, 1 Oct 2009 08:07:46 +0000 (16:07 +0800)]
Disabled the FDD driver
John Hodge [Thu, 1 Oct 2009 08:06:53 +0000 (16:06 +0800)]
Actually initialised the DMA
UCC git Repository :: git.ucc.asn.au