John Hodge [Sat, 31 Jul 2010 15:07:56 +0000 (23:07 +0800)]
Makign debug functions thread safe
John Hodge [Sat, 31 Jul 2010 15:06:33 +0000 (23:06 +0800)]
Fixes to x86_64 - Fixed MM_phys corrupting memory (forgot to initialise bitmap pointers)
- Some other changes to allow compilation against new threading code (not yet in tree)
John Hodge [Sat, 31 Jul 2010 14:43:02 +0000 (22:43 +0800)]
No more ATA debug (fixed the Qemu bug)
John Hodge [Sat, 31 Jul 2010 11:52:46 +0000 (19:52 +0800)]
Updating IPStack to have firewall hooks (well, the start of them)
John Hodge [Sat, 31 Jul 2010 11:49:24 +0000 (19:49 +0800)]
Broke out the ATA IO functions (Read/WriteDMA into their own file to improve code neatness)
John Hodge [Wed, 28 Jul 2010 14:51:38 +0000 (22:51 +0800)]
Helps if I test in BOTH builds
John Hodge [Wed, 28 Jul 2010 14:47:23 +0000 (22:47 +0800)]
Bugfixed MP scheduling code in MP build
John Hodge [Wed, 28 Jul 2010 12:48:19 +0000 (20:48 +0800)]
Fixing MultiCPU thread distribution (only tested in single-cpu)
John Hodge [Tue, 27 Jul 2010 07:41:17 +0000 (15:41 +0800)]
Working on the x86 bit port (caused some changes to try and get it
to compile on more strict warnings)
- Also working on that *#@% Qemu ATA bug
John Hodge [Sun, 25 Jul 2010 13:29:09 +0000 (21:29 +0800)]
Added -mno-red-zone
John Hodge [Sat, 24 Jul 2010 03:59:59 +0000 (11:59 +0800)]
Fixing bugs and removing debug statements
- Killing debug in timer code
- Changed the syscall method back to using int 0xAC (for now)
- Working on RTL8139 driver
- More UDI fiddling (I'm going to move to the UDIref implementation
soon, just triying to make it compile properly)
John Hodge [Thu, 22 Jul 2010 13:12:12 +0000 (21:12 +0800)]
Misc changes, working on the VTerm's VT100 support and CLIShell's input
John Hodge [Thu, 22 Jul 2010 13:11:15 +0000 (21:11 +0800)]
Changing syscall interface to jump to KUSER_CODE, allowing use
of SYSENTER/SYSCALL instead of int 0x80 to be selected at runtime
- Also moved timer start earlier in startup
John Hodge [Thu, 22 Jul 2010 13:09:17 +0000 (21:09 +0800)]
Fixed timer code bug (not ACKing after enabling)
- Also fixed bug in timekeeping constants
John Hodge [Tue, 20 Jul 2010 15:20:04 +0000 (23:20 +0800)]
Updating gitignore to ignore the linker maps generated by the usermode library makefile
John Hodge [Tue, 20 Jul 2010 15:19:33 +0000 (23:19 +0800)]
Cleaning up files
John Hodge [Tue, 20 Jul 2010 15:09:48 +0000 (23:09 +0800)]
Major revamp to FAT code, fixing LFN issues and other bugs
Notable changes:
- LFN now caches per entry (resolving multiple read issue)
- Fixed a bug in FAT12 non-cached FAT reads
- Cleaned up the code and reduced the number of memcpys in FAT_Read
John Hodge [Tue, 20 Jul 2010 13:51:45 +0000 (21:51 +0800)]
Bit of debug cleanup, fixing bugs found on GrUB2
- NOTE: Grub 2 does not pass the kernel binary path in the command line
Hence, the argc code breaks in system.c
- Starting on a RTL8139 driver
- Fixed logging/debug calls to use \r\n, fixing serial debugging
John Hodge [Sun, 18 Jul 2010 11:29:57 +0000 (19:29 +0800)]
More MP fiddling
John Hodge [Sun, 18 Jul 2010 04:19:23 +0000 (12:19 +0800)]
More MP work (now APs start and use the LAPIC timer)
John Hodge [Sat, 17 Jul 2010 13:24:04 +0000 (21:24 +0800)]
Adding support for the Local APIC Timer (requires some hacks)
John Hodge [Sat, 17 Jul 2010 10:23:04 +0000 (18:23 +0800)]
APs start nicely now.
TODO: Get APIC timers working
John Hodge [Fri, 16 Jul 2010 09:41:21 +0000 (17:41 +0800)]
Working on multiprocessing support
- Also some cleanup in other parts
John Hodge [Thu, 15 Jul 2010 16:42:43 +0000 (00:42 +0800)]
Fiddling with usermode PCI dump
John Hodge [Thu, 15 Jul 2010 15:48:16 +0000 (23:48 +0800)]
Does help if the biggest offender is actually a #if DEBUG'ed
John Hodge [Thu, 15 Jul 2010 15:46:45 +0000 (23:46 +0800)]
ATA Debug was getting annoying
John Hodge [Thu, 15 Jul 2010 15:29:50 +0000 (23:29 +0800)]
Cleaning up some old code
John Hodge [Thu, 15 Jul 2010 15:04:49 +0000 (23:04 +0800)]
Disabled ELF debugging
John Hodge [Thu, 15 Jul 2010 15:03:19 +0000 (23:03 +0800)]
Fixing binary loader bugs relating to page sizes
John Hodge [Thu, 15 Jul 2010 13:26:51 +0000 (21:26 +0800)]
ATA Fixes, Module compilation fixups
- Working on getting the InitRD working again
- Also, I shouldn't blame stable code for bugs (elf loader was blamed
for issued arising from the module compilation)
- Also been slightly fiddling with the IPStack code
John Hodge [Wed, 14 Jul 2010 08:47:09 +0000 (16:47 +0800)]
Fiddling with ATA driver to try and fix RHW issues
John Hodge [Wed, 14 Jul 2010 02:30:39 +0000 (10:30 +0800)]
Cleaning up a bit
John Hodge [Tue, 13 Jul 2010 14:38:53 +0000 (22:38 +0800)]
Cleaning up some debug, fixing cosmetic bugs in usermode apps
John Hodge [Tue, 13 Jul 2010 13:07:27 +0000 (21:07 +0800)]
And the same for udivdi3, [TPG]: you are a ning-nong
John Hodge [Tue, 13 Jul 2010 13:06:26 +0000 (21:06 +0800)]
Nice job, making umoddi3 call umoddi3 in the usermode stuff :(
John Hodge [Tue, 13 Jul 2010 12:29:34 +0000 (20:29 +0800)]
Increased user stack size, fiddling with error recovery
- Also, next time use 0x1000, not 4069 (as opposed to 4096)
John Hodge [Mon, 5 Jul 2010 16:35:49 +0000 (00:35 +0800)]
Fiddling with multiboot modules (and some bug searching in ATA code)
John Hodge [Sun, 4 Jul 2010 05:47:32 +0000 (13:47 +0800)]
Cleaning up a little, and possibly a speed increase
John Hodge [Sun, 4 Jul 2010 05:43:32 +0000 (13:43 +0800)]
Commenting is nice (also disabled debug in FDD driver)
John Hodge [Sun, 4 Jul 2010 05:41:47 +0000 (13:41 +0800)]
Fixing handling of Multiboot modules
John Hodge [Sun, 4 Jul 2010 03:31:01 +0000 (11:31 +0800)]
Enabled heaps of debug in ATA driver to try and solve Qemu issue
John Hodge [Sun, 4 Jul 2010 03:30:32 +0000 (11:30 +0800)]
Fiddling with VESA cursor, cleaning up VESA and VTerm
John Hodge [Sun, 4 Jul 2010 03:29:33 +0000 (11:29 +0800)]
Disabled KPanic mode switch, cleanup in 64-bit PMM
John Hodge [Sun, 4 Jul 2010 03:28:31 +0000 (11:28 +0800)]
Added current time syscall, commented some others
John Hodge [Sun, 4 Jul 2010 03:27:37 +0000 (11:27 +0800)]
Fiddling with default config
John Hodge [Sun, 4 Jul 2010 03:27:08 +0000 (11:27 +0800)]
Forgot common.h for NTFS
John Hodge [Sun, 4 Jul 2010 03:26:01 +0000 (11:26 +0800)]
Fixed potential coherency bug in timer code
John Hodge [Sun, 4 Jul 2010 03:24:50 +0000 (11:24 +0800)]
Working on NTFS driver more (currently debug only, and untested)
John Hodge [Sun, 4 Jul 2010 03:24:15 +0000 (11:24 +0800)]
Added a check to the FDD driver to disable it at runtime
John Hodge [Sun, 4 Jul 2010 03:23:27 +0000 (11:23 +0800)]
Attempt to fix multiboot module support
John Hodge [Fri, 2 Jul 2010 09:16:08 +0000 (17:16 +0800)]
committing partial fixup to ATA code
- Been cleaning up to try and fix read bug (only first read actually works)
John Hodge [Fri, 2 Jul 2010 07:05:28 +0000 (15:05 +0800)]
Bugfix to debug code (fixing usage of va_args)
John Hodge [Sun, 27 Jun 2010 03:01:35 +0000 (11:01 +0800)]
VESA cursor now works, TODO: Allow setting of colour
John Hodge [Sun, 27 Jun 2010 02:52:55 +0000 (10:52 +0800)]
Cleaning up timer code, implementing cursor in vesa
- fixed the usermode 64-bit div bug
John Hodge [Tue, 22 Jun 2010 00:37:39 +0000 (08:37 +0800)]
Trying to fix the string corruption bug, working on NTFS driver
John Hodge [Sun, 20 Jun 2010 13:51:38 +0000 (21:51 +0800)]
Working on a NTFS implementation (it's only going to be RO)
John Hodge [Sun, 20 Jun 2010 10:01:52 +0000 (18:01 +0800)]
Division bug hidden, now only shows when 64-bit division is needed
John Hodge [Sun, 20 Jun 2010 09:53:38 +0000 (17:53 +0800)]
Misc debug to fix a printf bug, traced the bug to 64-bit division code
John Hodge [Sun, 20 Jun 2010 09:28:50 +0000 (17:28 +0800)]
Fixing a kernel #PF caused by an unitialised VFS method
John Hodge [Sun, 20 Jun 2010 06:08:46 +0000 (14:08 +0800)]
Removed debug statement, not needed anymore
John Hodge [Sun, 20 Jun 2010 06:04:29 +0000 (14:04 +0800)]
Fixing behavior of Threads_CloneTCB
- Also removed the SMP CPU number hack in x86, now uses the TSS trick
John Hodge [Sat, 19 Jun 2010 12:56:54 +0000 (20:56 +0800)]
Cleaning up and attempting to fix these darn heisenbugs
John Hodge [Sat, 19 Jun 2010 02:57:04 +0000 (10:57 +0800)]
Fixed some edge cases in heap where the spinlock was not releases
John Hodge [Sat, 19 Jun 2010 02:55:35 +0000 (10:55 +0800)]
Slight changes to PCI driver to clean up code
John Hodge [Sat, 19 Jun 2010 02:23:50 +0000 (10:23 +0800)]
Reworked part of the PCI driver to better allow PCI bridges
John Hodge [Sat, 19 Jun 2010 02:04:10 +0000 (10:04 +0800)]
Fixed #PF in Memory Manager (mm_virt.h was using KERNEL_BASE as a prefix)
John Hodge [Fri, 18 Jun 2010 09:32:02 +0000 (17:32 +0800)]
Fixed the EnvP array passed to Proc_StartUser not being NULL terminated
John Hodge [Fri, 18 Jun 2010 08:48:14 +0000 (16:48 +0800)]
Removed debug in module loader, shortened the length of the logging timestamps
John Hodge [Fri, 18 Jun 2010 08:46:14 +0000 (16:46 +0800)]
no more debug plz
John Hodge [Fri, 18 Jun 2010 08:45:38 +0000 (16:45 +0800)]
VESA scrolling bug fixed (caused by the removal of memcpyd)
John Hodge [Fri, 18 Jun 2010 08:42:31 +0000 (16:42 +0800)]
It's been too long since I committed
- Mostly fixes to bugs exposed/caused by the 64-bit port or the new
compiler.
John Hodge [Thu, 3 Jun 2010 03:23:19 +0000 (11:23 +0800)]
Bugfixing
- Fixing bug in module loader with x86_64
- Fixed debug reusing a va_list
John Hodge [Mon, 31 May 2010 15:24:54 +0000 (23:24 +0800)]
More 32-bit int fixes
John Hodge [Mon, 31 May 2010 15:23:12 +0000 (23:23 +0800)]
Darn defaulting to 32-bit integers :(
John Hodge [Mon, 31 May 2010 15:12:33 +0000 (23:12 +0800)]
Speedups to physical memory allocation, fixed a stupid error in the
stack moving code
John Hodge [Mon, 31 May 2010 15:01:17 +0000 (23:01 +0800)]
New kernel stack, fixing pmem alloc bug, updated to maintain free page positions
- Misc changes in other places
John Hodge [Mon, 31 May 2010 14:20:40 +0000 (22:20 +0800)]
Yay! TSS issues fixed, now to work on the VMM
John Hodge [Mon, 31 May 2010 14:14:20 +0000 (22:14 +0800)]
Fixed GCC using sse instructions, fixing TSS support (and removed using
the TSS as a data segment in GetCPUNum
John Hodge [Mon, 31 May 2010 03:01:21 +0000 (11:01 +0800)]
Disabled debug in PMM, and fixed error in #UD reporting
John Hodge [Mon, 31 May 2010 02:51:14 +0000 (10:51 +0800)]
Fixed heap bug
John Hodge [Mon, 31 May 2010 02:39:18 +0000 (10:39 +0800)]
Fixed bug with physical memory allocation, update MM_Allocate to check mapping before allocating.
John Hodge [Mon, 31 May 2010 02:32:00 +0000 (10:32 +0800)]
Added page table dump and using INVPLG
John Hodge [Sun, 30 May 2010 01:23:26 +0000 (09:23 +0800)]
Cleaning up and adding page fault handler
John Hodge [Sat, 29 May 2010 06:09:53 +0000 (14:09 +0800)]
Updated mm_phys to use Debug statements instead of Log()
John Hodge [Sat, 29 May 2010 05:54:44 +0000 (13:54 +0800)]
Changed build system to not require calc
- Also made separate build counts for each arch
- changed the OBJDUMP variable to DISASM to allow better interoperability
John Hodge [Sat, 29 May 2010 05:45:38 +0000 (13:45 +0800)]
Fixed typo, cleaned up stuff
John Hodge [Sat, 29 May 2010 04:05:23 +0000 (12:05 +0800)]
Fun bugs are fun, fixed MM_AllocPhysRange, now for more fun
John Hodge [Sat, 29 May 2010 03:54:56 +0000 (11:54 +0800)]
Physical page counts are now filled
John Hodge [Sat, 29 May 2010 03:19:25 +0000 (11:19 +0800)]
Chicken and egg problem, solved
John Hodge [Sat, 29 May 2010 01:02:52 +0000 (09:02 +0800)]
Now with less fail
John Hodge [Sat, 29 May 2010 00:23:07 +0000 (08:23 +0800)]
Bitmap filling done
John Hodge [Sat, 29 May 2010 00:02:31 +0000 (08:02 +0800)]
Nearly completed physical init
John Hodge [Fri, 28 May 2010 15:32:38 +0000 (23:32 +0800)]
Untested work on physical mm setup
John Hodge [Fri, 28 May 2010 11:58:44 +0000 (19:58 +0800)]
Fixes to 64-bit port, now working on physical memory allocation
John Hodge [Fri, 28 May 2010 06:24:14 +0000 (14:24 +0800)]
More work on error and interrupt handling (almost got it working)
- Note: Need to fix gdt to fix entry 0x10
John Hodge [Thu, 27 May 2010 14:06:21 +0000 (22:06 +0800)]
More work on x86_64 build, error handling and IDT
John Hodge [Thu, 27 May 2010 13:02:51 +0000 (21:02 +0800)]
Working on 64-bit IDT
John Hodge [Thu, 27 May 2010 12:10:53 +0000 (20:10 +0800)]
x86_64 starts without erroring, reaches high mem and full 64-bit
John Hodge [Thu, 27 May 2010 11:38:59 +0000 (19:38 +0800)]
x86_64 now compiles and builds :) :)
John Hodge [Thu, 27 May 2010 05:57:40 +0000 (13:57 +0800)]
VM8086 stub for x86_64 build
UCC git Repository :: git.ucc.asn.au