John Hodge [Thu, 13 May 2010 15:09:57 +0000 (23:09 +0800)]
Speedup fix to PUSH_GPR and POP_GPR
John Hodge [Thu, 13 May 2010 13:51:35 +0000 (21:51 +0800)]
Fixed bugs caused by the segregation of timer code.
- Also removed MM_IsUser from x86 and replaced it with MM_GetFlags
- Added Kernel/time.c (I should have added this earlier)
John Hodge [Thu, 13 May 2010 13:36:53 +0000 (21:36 +0800)]
More work on x86_64 port, also cleaned up a little of the API.
- Fixed notices in the GenSyscalls.php script
John Hodge [Thu, 13 May 2010 04:40:09 +0000 (12:40 +0800)]
Working on separating architecture dependent and independent stuff,
Also did more work on getting the x86_64 port working.
- Related changes to VESA driver and usermode
John Hodge [Thu, 13 May 2010 04:38:00 +0000 (12:38 +0800)]
Removed the need for xRM and xRMDIR (also finished fixing core Makefile)
John Hodge [Tue, 11 May 2010 13:47:01 +0000 (21:47 +0800)]
x86_64 support, requiring a slight refactor to the build system.
- The x86_64 port does not compile yet, still working on that
- The new cross compiler I'm using for the 32-bit builds is a little
more pedantic, so it seems that the i386 doesn't build either.
John Hodge [Tue, 11 May 2010 02:18:09 +0000 (10:18 +0800)]
Merge branch 'master' of serenade.mutabah.net:acess2
John Hodge [Tue, 11 May 2010 02:16:51 +0000 (10:16 +0800)]
Cleaned up thread code, changed default compiler name (to i586 elf)
John Hodge [Tue, 11 May 2010 02:15:47 +0000 (10:15 +0800)]
Merge branch 'master' of
[email protected]:acess2
John Hodge [Tue, 11 May 2010 02:15:14 +0000 (10:15 +0800)]
Correctness in ATA driver
John Hodge [Tue, 11 May 2010 02:10:32 +0000 (10:10 +0800)]
Adding start of x86_64 port
John Hodge [Mon, 3 May 2010 14:50:02 +0000 (22:50 +0800)]
Bugfixes to usermode 64-bit division, more work on GUI (now sizes almost correctly)
John Hodge [Mon, 3 May 2010 01:03:59 +0000 (09:03 +0800)]
Work on WM's sizing code, not quite complete yet
- Slight fixes to ATA and InitRD
John Hodge [Sat, 1 May 2010 15:18:07 +0000 (23:18 +0800)]
Fixed InitRD
John Hodge [Sat, 1 May 2010 04:20:42 +0000 (12:20 +0800)]
More work on axwin, and slight changes in othe places
John Hodge [Sat, 1 May 2010 04:20:12 +0000 (12:20 +0800)]
Improved user error handling, now a user DIV0 doesn't cause a kernel
panic.
John Hodge [Sat, 1 May 2010 04:19:48 +0000 (12:19 +0800)]
Removed debug
John Hodge [Sat, 1 May 2010 04:18:42 +0000 (12:18 +0800)]
Fixes to VTerm to make vterms with resolutions lower than the current one
print to the center of the screen.
John Hodge [Fri, 30 Apr 2010 15:46:38 +0000 (23:46 +0800)]
Added strings header that was deleted in last commit (it was
actually renamed, but I forgot to add the new file)
John Hodge [Fri, 30 Apr 2010 15:43:46 +0000 (23:43 +0800)]
Many changes, bugfixes to user vsnprintf and to escape code handling
- Added coloured messages to kernel output
- Implemented arguments to staticly compiled modules
- Updated VTerm to only change video modes when needed (not fully
tested yet)
- Other misc changes to kernel
- Dramatic overhaul of AxWin, nearing completion
John Hodge [Mon, 26 Apr 2010 02:19:47 +0000 (10:19 +0800)]
Added calloc to libc
John Hodge [Mon, 26 Apr 2010 01:14:12 +0000 (09:14 +0800)]
More work on the GUI. Still useless tho
John Hodge [Sat, 24 Apr 2010 15:47:19 +0000 (23:47 +0800)]
Fixing documentation for 2D operations
John Hodge [Sat, 24 Apr 2010 15:39:26 +0000 (23:39 +0800)]
Removed debug statements that happened during VESA buffer mode changes
John Hodge [Sat, 24 Apr 2010 15:38:02 +0000 (23:38 +0800)]
Added basic 2D video accelleration
John Hodge [Sat, 24 Apr 2010 14:18:37 +0000 (22:18 +0800)]
Darn stupid bugs
John Hodge [Sat, 24 Apr 2010 14:17:02 +0000 (22:17 +0800)]
Big rewrite of AxWin to get it to compile and run
John Hodge [Sat, 24 Apr 2010 13:26:56 +0000 (21:26 +0800)]
Fixed SYS_SEEK not working due to 64-bit offset
thePowersGang [Sat, 24 Apr 2010 09:50:06 +0000 (17:50 +0800)]
Strike that, I like zlib better :D
thePowersGang [Sat, 24 Apr 2010 09:46:09 +0000 (17:46 +0800)]
added licence, 3-clause BSD
John Hodge [Sat, 24 Apr 2010 02:21:59 +0000 (10:21 +0800)]
Updates to VTerm to correctly handle framebuffer modes
- Also fixed the clipping warning generated by VESA (VTerm was not
scrolling when the cursor reaches the bottom of the screen, only
when it past the bottom)
John Hodge [Sat, 24 Apr 2010 02:21:17 +0000 (10:21 +0800)]
Fixed the EFLAGS contents to actually enable IF
John Hodge [Sat, 24 Apr 2010 02:20:35 +0000 (10:20 +0800)]
Fixed MM_UnmapHWPages overwriting the wrong area
John Hodge [Fri, 23 Apr 2010 14:05:53 +0000 (22:05 +0800)]
Halfway through deciding where to put the error handlers, I've settled on libc
- TODO: Make a clean way of getting access to ld-acess's functions/data at runtime
- Also drafting up the 2D accelerated video interface
John Hodge [Fri, 23 Apr 2010 13:24:35 +0000 (21:24 +0800)]
Fixes to error handling and User text mappings
John Hodge [Fri, 23 Apr 2010 11:53:02 +0000 (19:53 +0800)]
Fixes to VM8086 handler to remove operand size errors.
John Hodge [Fri, 23 Apr 2010 11:51:08 +0000 (19:51 +0800)]
Altered debug print function to use vsnprintf and to use Debug_Puts instead of Debug_Putchar
- Also changed when the VTerm updates the screen, now it updates on newlines and end of input
instead on every character, major speed increase.
John Hodge [Thu, 22 Apr 2010 00:18:25 +0000 (08:18 +0800)]
Fixed VESA scrolling bug
John Hodge [Wed, 21 Apr 2010 14:20:42 +0000 (22:20 +0800)]
Removed debug from VTerm
John Hodge [Wed, 21 Apr 2010 14:19:09 +0000 (22:19 +0800)]
Fixes to Vesa video driver and VTerm's mode setting
- Known Bugs: Vesa seems to not like scrolling, it may be related to the
update speed, but I doubt it, probably due to some limit in the size
of the update (when doing a whole screen update)
John Hodge [Wed, 21 Apr 2010 13:50:07 +0000 (21:50 +0800)]
Fixed case where the screen was cleared during a panic
John Hodge [Wed, 21 Apr 2010 13:46:11 +0000 (21:46 +0800)]
Made the KPanic routine switch back to 0xB8000 text mode
John Hodge [Wed, 21 Apr 2010 13:11:35 +0000 (21:11 +0800)]
Fixed VESA using LogF when not needed, changed VTerm to use VGA, added a kpanic to the keyboard magics
John Hodge [Wed, 21 Apr 2010 13:11:03 +0000 (21:11 +0800)]
Added kernel panic routines to output to the screen on kpanic
John Hodge [Wed, 21 Apr 2010 05:24:26 +0000 (13:24 +0800)]
Fixed login text-entry bug, fixes to KMS (graphics is still buggy)
John Hodge [Wed, 21 Apr 2010 04:29:04 +0000 (12:29 +0800)]
Random fixes, disabled debug in vterm, random crash disappeared, also doing fixes on TCP stack
John Hodge [Sat, 17 Apr 2010 05:29:39 +0000 (13:29 +0800)]
TCP Server now seems to work, started fixing client (also need to clean up TCP code)
John Hodge [Thu, 15 Apr 2010 02:43:37 +0000 (10:43 +0800)]
Makefile cleanup, documentation
John Hodge [Thu, 15 Apr 2010 02:42:33 +0000 (10:42 +0800)]
Added test server to git tree
- Test server opens a server on port 80 and serves a hello world page
John Hodge [Thu, 15 Apr 2010 02:11:01 +0000 (10:11 +0800)]
Added SYS_OPENCHILD system call
- SYS_OPENCHILD opens a file that is a direct child of the passed FD
(using the FD's Node)
- Used for IPStack servers to open a client connection
John Hodge [Thu, 15 Apr 2010 02:09:47 +0000 (10:09 +0800)]
Added the ADT library (not really abstract, but it's a common data type library)
- Currenly only includes Ring Buffer code
John Hodge [Thu, 15 Apr 2010 02:08:00 +0000 (10:08 +0800)]
More fixing work on TCP, now correctly accepts packets,
- but the 2nd ACK seems to still be buggy (client sends RST when Acess ACKs)
John Hodge [Wed, 14 Apr 2010 10:26:13 +0000 (18:26 +0800)]
Renamed libc filename, disabled debug and reenabled lfn in FAT
John Hodge [Wed, 14 Apr 2010 04:24:18 +0000 (12:24 +0800)]
Added debug to FAT driver, trying to fix a Real HW bug
John Hodge [Wed, 14 Apr 2010 04:23:59 +0000 (12:23 +0800)]
Fixed cursor code, added pointer to current VT
John Hodge [Wed, 14 Apr 2010 04:23:30 +0000 (12:23 +0800)]
Fixed logging to support 8-charater identifiers
John Hodge [Wed, 14 Apr 2010 04:22:27 +0000 (12:22 +0800)]
Fixing API documentation, added Disk cache spec
John Hodge [Wed, 14 Apr 2010 04:20:52 +0000 (12:20 +0800)]
Possible fix to TCP Acknowlegement Numbers
- Also changed Sequence number variables to Uint32, not int
John Hodge [Tue, 13 Apr 2010 01:35:29 +0000 (09:35 +0800)]
Merge branch 'master' of git://git.ucc.asn.au/acess2
John Hodge [Tue, 13 Apr 2010 01:35:20 +0000 (09:35 +0800)]
misc
John Hodge [Sun, 11 Apr 2010 08:28:12 +0000 (16:28 +0800)]
Disabled ATA debug, turned FAT Debug on, misc in IPStack/TCP
John Hodge [Sun, 11 Apr 2010 07:17:10 +0000 (15:17 +0800)]
Updated FAT filesystem driver to not cache the FAT if the disk is too large
John Hodge [Sun, 11 Apr 2010 07:06:01 +0000 (15:06 +0800)]
Fixed bug in keyboard driver on real hardware (aux p/s2 port code)
John Hodge [Sun, 11 Apr 2010 06:13:57 +0000 (14:13 +0800)]
Fixes for running on an InitRD, moved kernel echo switch to later
John Hodge [Sat, 10 Apr 2010 02:10:54 +0000 (10:10 +0800)]
Fixed some bugs in ARP and TCP Code
- also I need to learn not to use "git commit -a" when using git add.
- Last commit also had some huge changes to the Video architecture
> Made the video mode only describe the resolution and colour depth.
> Text/Framebuffer/3D are now controled via an IOCtl that swaps buffer modes
> An IOCtl (still to be put in) will provide feature flags for the VTerm to read
John Hodge [Sat, 10 Apr 2010 01:31:59 +0000 (09:31 +0800)]
Fixed a bug in the heap manager where if an exact match of the block is found, garbage is returned
John Hodge [Tue, 6 Apr 2010 15:42:40 +0000 (23:42 +0800)]
Cleaning up more Log( calls with Log_*(
- TODO: Move the module load messages to Log_Notice instead of Log_Log
John Hodge [Tue, 6 Apr 2010 15:31:32 +0000 (23:31 +0800)]
Fixed VM8086/Vesa memory allocation bug
John Hodge [Tue, 6 Apr 2010 15:09:12 +0000 (23:09 +0800)]
Many changes, Mostly working on improving the BootConf script engine.
- Added variable support and function returns
- Working on VESA driver, still a little buggy
- Misc changes in other places
John Hodge [Tue, 6 Apr 2010 15:08:10 +0000 (23:08 +0800)]
Improved padding code in Debug_Fmt
- Also separated 's' and the general string printing
John Hodge [Fri, 2 Apr 2010 13:31:55 +0000 (21:31 +0800)]
Fixed keyboard bug where keypresses were not being registered, working on libreadline
- Keyboard now reads from 0x60 in keyboard setup to clear keyboard IRQ buffer.
- libreadline is unstable, but supports command histories (just don't try to edit
a command in the history)
John Hodge [Fri, 2 Apr 2010 12:42:27 +0000 (20:42 +0800)]
Fixes to x86 error and interrupt handling
- Fixed double fault handler so it actually works
- I (thePowersGang/John Hodge) am an idiot, As you will see from Kernel/arch/x86/desctab.asm
I forgot to set the data segment selectors to kernel values when handling interrupts,
this caused IRQs and faults that occured in vm8086 mode to triple fault.
- Other changes to logging, moving more log/notice messages to the Log_* functions
- Untested fixes to TCP's Acknowledgement number code
> TODO Check wether to ACK a packet on arrival, or once it's added to the client buffer.
- Also fixed some bugs in the thread Sleep/Wake functions that were exposed by
the vm8086 driver.
John Hodge [Fri, 2 Apr 2010 07:57:08 +0000 (15:57 +0800)]
Updated gitignore rules
John Hodge [Fri, 2 Apr 2010 07:48:24 +0000 (15:48 +0800)]
VM8086 Support, Starting on VESA Driver
- VM8086 required some changes to CPU fault code
- Re-enabled kernel magic combos in keyboard driver
- Slight changes to Memory APIs (changed MM_MapHWPage to MM_MapHWPages)
John Hodge [Thu, 1 Apr 2010 02:18:01 +0000 (10:18 +0800)]
Misc Changes
- Moved USB core to a new folder,
- Slight changes to Ext2 driver
- Slight changes in BochsGA driver
- Added a cache field to the tVFS_Node that can be assumed to be a heap address or NULL
> Allows easier cleanup of per-fs buffers when a node is freed
- Added the start of a VM8086 driver for BIOS calls
John Hodge [Mon, 29 Mar 2010 02:35:23 +0000 (10:35 +0800)]
Disable debug in FAT
John Hodge [Mon, 29 Mar 2010 02:34:08 +0000 (10:34 +0800)]
Added mboot2 header
John Hodge [Mon, 29 Mar 2010 02:33:00 +0000 (10:33 +0800)]
Bugfixing FAT Driver, Addint Multiboot2 Support
- I've decided not to support writing to FAT filesystems
John Hodge [Sun, 28 Mar 2010 12:25:55 +0000 (20:25 +0800)]
More work on the FAT driver, more messy, but more complete
- Also did some documentation changes to the tVFS_Node structure
John Hodge [Sun, 28 Mar 2010 11:47:35 +0000 (19:47 +0800)]
Working on cleaning up the FAT driver, but atm it's more messy than ever.
<UNTESTED COMMIT>
John Hodge [Sat, 27 Mar 2010 07:57:34 +0000 (15:57 +0800)]
Cleanups in FAT driver
- Minor change to acess.h
John Hodge [Sat, 27 Mar 2010 07:43:22 +0000 (15:43 +0800)]
Updating drivers to use the Log_ functions instead of Log() and Warning()
John Hodge [Sat, 27 Mar 2010 07:17:31 +0000 (15:17 +0800)]
Fixed logging print not working, cleaned up debug
- Fixed FDD Driver always timing out on a read/write
- Added an error report to the FDD read/write method
John Hodge [Sat, 27 Mar 2010 03:11:55 +0000 (11:11 +0800)]
Fixed lack of error handling in FDD driver, also abstracted the Read/Write
operations into one common function.
John Hodge [Sat, 27 Mar 2010 01:59:42 +0000 (09:59 +0800)]
Cleanup Commit
- Adding a hell of a lot of files to the tree
> EDI Interface (Incomplete)
> AxWin Shell (Incomplete, Needs to be rewritten)
> AxWin library and headers
- Restructuring AxWin to be non-windowed
- Changes to IpStack
- Fixes to kernel logging
- Added APIDoc files
- Cleaning up ifconfig and other helpers
John Hodge [Sun, 21 Mar 2010 05:00:49 +0000 (13:00 +0800)]
Misc Changes, Added Logging Subsystem, Fixes to InitRD, Working on RTL8139 driver
John Hodge [Thu, 18 Mar 2010 03:07:51 +0000 (11:07 +0800)]
Bugfixing initrd and ld-acess
- ld-acess passed NULL to SysLoadBin if the file is not found
- InitRD ignored Offset in ReadFile
John Hodge [Wed, 17 Mar 2010 14:13:33 +0000 (22:13 +0800)]
Multiple fixes
- Fixed bug in FDD driver where motor was stopped during a read operation
- Moved PCI and DMA to be loaded like any other module/driver
- Added PCI as a dependency to BochsGA and ATA driver, Added DMA to FDD
- Fixed PCI not scanning the full length of the bus (only scanned 10, not 32 devices per bus)
John Hodge [Wed, 17 Mar 2010 06:08:43 +0000 (14:08 +0800)]
Various changes, most of them involving the FAT and Ext2 Drivers, adding write support
- FAT Now has rudimentary write support (file size still isn't updated)
- Added InitRD to the tree
- Slight changes to the Module build system
- Set modules to use -O3 and fixed the bugs that showed
John Hodge [Tue, 16 Mar 2010 02:20:34 +0000 (10:20 +0800)]
Added file extending to Ext2 Driver, also cleaned up the FS_Ext2 source
- Fixed an off-by-one error when calculating allocated blocks
- Fixed using a fixed 256 blocks per indirect block (now depends on the block size)
John Hodge [Mon, 15 Mar 2010 11:03:45 +0000 (19:03 +0800)]
Moar cleanupe
John Hodge [Mon, 15 Mar 2010 10:59:52 +0000 (18:59 +0800)]
Removed FDD_AcquireSpinlock and FDD_FreeSpinlock, replacing them with LOCK() and RELEASE()
John Hodge [Mon, 15 Mar 2010 10:50:49 +0000 (18:50 +0800)]
Cleaning up FDD driver, removed local cache in favour of iocache.h
John Hodge [Mon, 15 Mar 2010 10:50:40 +0000 (18:50 +0800)]
Misc changes
John Hodge [Mon, 15 Mar 2010 10:49:28 +0000 (18:49 +0800)]
More documentation, mostly to the PCI
John Hodge [Sun, 14 Mar 2010 03:36:03 +0000 (11:36 +0800)]
Commenting for new function
John Hodge [Sun, 14 Mar 2010 03:32:13 +0000 (11:32 +0800)]
Restructured Modules_LoadBuiltins to load modules in the order they are linked in.
- Also moved vterm.o to be linked earlier
- Removed a newline from a Log() in ne2000.c
John Hodge [Sat, 13 Mar 2010 14:56:14 +0000 (22:56 +0800)]
Work on documentation
John Hodge [Sat, 13 Mar 2010 10:27:57 +0000 (18:27 +0800)]
Changes to the module loader to handle specific errors from modules
- Changed MODULE_INIT_SUCCESS to MODULE_ERR_OK and added other MODULE_ERR_* values
John Hodge [Sat, 6 Mar 2010 14:45:11 +0000 (22:45 +0800)]
Slight Changes, mostly fixing CPU error reporting
- Also attempted to fix the Qemu kb bug
- Added a todo to the FDD driver
UCC git Repository :: git.ucc.asn.au