Buid 0.1.1.19

This commit is contained in:
Tiberiu Chibici 2021-09-14 18:57:06 +03:00
parent e3b3584734
commit 581c6b92fe
22 changed files with 10988 additions and 52 deletions

View File

@ -1,4 +0,0 @@
Log created: 2011-09-08T11:08:21.957118500Z
Executable: C:\PROGRA~1\oracle\Virtua~1\VirtualBox.exe
Commandline: C:\PROGRA~1\oracle\Virtua~1\\virtualbox --startvm "lux Testbed" --dbg
fatal error in recompiler cpu: triple fault

View File

@ -1,4 +0,0 @@
Log created: 2011-09-08T11:55:49.393922000Z
Executable: C:\PROGRA~1\oracle\Virtua~1\VirtualBox.exe
Commandline: C:\PROGRA~1\oracle\Virtua~1\\virtualbox --startvm "lux Testbed" --dbg
fatal error in recompiler cpu: triple fault

Binary file not shown.

View File

@ -20,10 +20,11 @@ string ConsoleCommands[] =
"reboot",
"restart",
"dir",
"cat"
"cat",
"task"
};
int32 ConsoleCommandsCount = 13;
int32 ConsoleCommandsCount = 14;
/*****************************************
* osver - get os info *
@ -335,3 +336,31 @@ void CommandCat (string argv[], int32 argc)
kfree(buffer);
VfsClose(&f);
}
#include <tasking.h>
void task()
{
Point p = {5, 1};
uint32 t = 0;
while (1)
{
ConsoleCursorGoto(p);
ConsoleWrite("Hello world! %u ", t++);
}
}
void CommandTask()
{
ConsoleClear();
TaskCreate(task);
Point p = {5, 2};
uint32 t = 0;
while (1)
{
ConsoleCursorGoto(p);
ConsoleWrite("%#Hello world! %u ", ColorLightBlue, t++);
}
}

View File

@ -76,6 +76,7 @@ loop:
case 10: SystemReboot(); break;
case 11: CommandDir(params, count); break;
case 12: CommandCat(params, count); break;
case 13: CommandTask(); break;
default: ConsoleWrite ("%#! Command %#%s%# was not implemented (yet)!\n",
Color(0,ColorLightRed), Color(0,ColorWhite), params[0], Color(0,ColorLightRed)); break;

View File

@ -6,6 +6,8 @@
volatile TimeSystem _internal_time;
uint32 _internal_frequency_hz;
extern void TaskSwitch ();
void TimeHandler(_RegsStack32* UNUSED(r))
{
if (_internal_frequency_hz == 0) return;
@ -16,4 +18,6 @@ void TimeHandler(_RegsStack32* UNUSED(r))
_internal_time.Date++;
_internal_time.Time-=MILISECONDS_IN_DAY;
}
TaskSwitch();
}

27
Kernel/include/tasking.h Normal file
View File

@ -0,0 +1,27 @@
/*
* tasking.h
*
* Created on: Sep 8, 2011
* Author: Tiberiu
*/
#ifndef TASKING_H_
#define TASKING_H_
#include <types.h>
#include <memory-add.h>
typedef struct _Task {
uint32 Pid;
uint32 Esp, Ebp; // Stack
PageDirectory* Pd;
uint32 StackLowerBase;
uint32 StackUpperBase;
struct _Task* Next;
} Task;
extern void TaskInitialize();
extern void TaskSwitch ();
extern void TaskCreate (void (*func)());
#endif /* TASKING_H_ */

View File

@ -1 +1 @@
#define OS_BUILD "0.1.0.629"
#define OS_BUILD "0.1.1.19"

View File

@ -6,6 +6,7 @@
#include <stdlib.h>
#include <memory.h>
#include <multiboot.h>
#include <tasking.h>
extern uint32 _end;
@ -29,6 +30,8 @@ void k_main(MultibootInfo* info)
MemoryTempInitialize(KernelEnd);
MemoryInitialize(info);
TaskInitialize();
HalInitialize();
luxInitrdInstall(info);

View File

@ -0,0 +1,103 @@
/*
* tasking-multi.c
*
* Created on: Sep 8, 2011
* Author: Tiberiu
*/
#include <tasking.h>
#include <memory-add.h>
Task* TaskList;
Task* CurrentTask;
uint32 NextPid = 1;
void TaskSwitch ()
{
if (!TaskList) return;
// Save context
asm volatile ("mov %%esp, %0" : "=r"(CurrentTask->Esp)); // Stack pointer
asm volatile ("mov %%ebp, %0" : "=r"(CurrentTask->Ebp)); // Base pointer
CurrentTask->Pd = CurrentDirectory;
// Next task
CurrentTask = (!CurrentTask->Next) ? TaskList : CurrentTask->Next ;
// Switch context
PagingSwitchDirectory(CurrentTask->Pd);
asm volatile ("mov %0, %%esp" : : "r"(CurrentTask->Esp)); // Stack pointer
asm volatile ("mov %0, %%ebp" : : "r"(CurrentTask->Ebp)); // Base pointer
}
// Fallback for new tasks
void TaskEnd ()
{
// Find parent of current task
if (CurrentTask->Pid == TaskList->Pid) TaskList = TaskList->Next;
else {
Task* t = TaskList;
while (t->Next && t->Next->Pid != CurrentTask->Pid) t = t->Next;
t->Next = CurrentTask->Next;
}
// Free allocated space
kfree((void*)CurrentTask->StackLowerBase);
kfree(CurrentTask);
// Wait for next task
for (;;) ;
}
void TaskCreate (void (*func)())
{
// Create a new task
Task* t = kmalloc(sizeof(Task));
// Set up data
t->StackLowerBase = (uint32) kmalloc(0x1000); // Allocate some space for new stack
t->StackUpperBase = t->StackLowerBase + 0x1000;
t->Next = NULL;
t->Pd = KernelDirectory;
t->Pid = NextPid++;
// Set up stack
*(uint32 *) (t->StackUpperBase - 0x4) = (uint32) TaskEnd; // Fallback function
t->Ebp = (uint32) t->StackUpperBase;
_RegsStack32* regs = (_RegsStack32*) (t->StackUpperBase - 0x4 - sizeof(_RegsStack32));
asm volatile ("mov %%ss, %0" : "=r" (regs->ss));
asm volatile ("mov %%cs, %0" : "=r" (regs->cs));
asm volatile ("pushf; pop %0" : "=r" (regs->eflags));
asm volatile ("mov %%esi, %0" : "=r" (regs->esi));
asm volatile ("mov %%edi, %0" : "=r" (regs->edi));
asm volatile ("mov %%gs, %0" : "=r" (regs->gs));
asm volatile ("mov %%fs, %0" : "=r" (regs->fs));
asm volatile ("mov %%es, %0" : "=r" (regs->es));
asm volatile ("mov %%ds, %0" : "=r" (regs->ds));
regs->eax = regs->ebx = regs->ecx = regs->edx = 0;
regs->eip = (uint32)func;
regs->useresp = t->StackUpperBase-0x4;
regs->esp = t->StackUpperBase - 40;
regs->ebp = t->Ebp = t->StackUpperBase;
// Add the task to the list
Task* last = TaskList;
while (last && last->Next) last = last->Next;
if (last) last->Next = t;
}
void TaskInitialize()
{
Task* t = kmalloc(sizeof(Task));
t->Pid = NextPid++;
t->Pd = KernelDirectory;
t->Esp = t->Ebp = 0;
t->Next = NULL;
TaskList = CurrentTask = t;
}

View File

@ -1,6 +1,6 @@
CREATE "filename" ; creates a new ramdisk with the filename
MKDIR "name" ; creates a new directory (in current dir)
CD "\path" ; sets current directory
CD "\path" ; sets current directory, where \ is root
ADD "filename" ; adds a file to current directory!
SETFLAGS 1A1B01 ; sets flags for next added files, number is in hex using this mask:
* bits description

View File

@ -30,13 +30,13 @@
00000000000i[ ] SB16 support: yes
00000000000i[ ] USB support: yes
00000000000i[ ] VGA extension support: vbe cirrus
00000000000i[MEM0 ] allocated memory at 028A0020. after alignment, vector=028A1000
00000000000i[MEM0 ] allocated memory at 028C0020. after alignment, vector=028C1000
00000000000i[MEM0 ] 32.00MB
00000000000i[MEM0 ] mem block size = 0x00100000, blocks=32
00000000000i[MEM0 ] rom at 0xfffe0000/131072 ('C:\Program Files\Bochs-2.4.6\BIOS-bochs-latest')
00000000000i[MEM0 ] rom at 0xc0000/40448 ('C:\Program Files\Bochs-2.4.6\VGABIOS-lgpl-latest')
00000000000i[CMOS ] Using local time for initial clock
00000000000i[CMOS ] Setting initial clock to: Thu Sep 08 15:41:40 2011 (time0=1315485700)
00000000000i[CMOS ] Setting initial clock to: Thu Sep 15 08:03:00 2011 (time0=1316062980)
00000000000i[DMA ] channel 4 used by cascade
00000000000i[DMA ] channel 2 used by Floppy Drive
00000000000i[FDD ] fd0: 'a:' ro=0, h=2,t=80,spt=18
@ -156,39 +156,142 @@
00023137418i[BIOS ] int13_harddisk: function 41, unmapped device for ELDL=80
00023142199i[BIOS ] int13_harddisk: function 08, unmapped device for ELDL=80
00023146850i[BIOS ] *** int 15h function AX=00c0, BX=0000 not yet supported!
00043965427i[KBD ] setting typematic info
00043965445i[KBD ] setting delay to 500 mS (unused)
00043965445i[KBD ] setting repeat rate to 10.9 cps (unused)
00043965488i[KBD ] Switched to scancode set 2
00043965551i[KBD ] keyboard: scan convert turned off
01748376000p[WGUI ] >>PANIC<< POWER button turned off.
01748376000i[CPU0 ] CPU is in protected mode (active)
01748376000i[CPU0 ] CS.d_b = 32 bit
01748376000i[CPU0 ] SS.d_b = 32 bit
01748376000i[CPU0 ] EFER = 0x00000000
01748376000i[CPU0 ] | RAX=00000000001108ff RBX=0000000000000066
01748376000i[CPU0 ] | RCX=00000000000003d4 RDX=0000000000000308
01748376000i[CPU0 ] | RSP=00000000001107c8 RBP=0000000000000018
01748376000i[CPU0 ] | RSI=0000000000110806 RDI=0000000000000002
01748376000i[CPU0 ] | R8=0000000000000000 R9=0000000000000000
01748376000i[CPU0 ] | R10=0000000000000000 R11=0000000000000000
01748376000i[CPU0 ] | R12=0000000000000000 R13=0000000000000000
01748376000i[CPU0 ] | R14=0000000000000000 R15=0000000000000000
01748376000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf ZF af PF cf
01748376000i[CPU0 ] | SEG selector base limit G D
01748376000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
01748376000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01748376000i[CPU0 ] | MSR_FS_BASE:0000000000000000
01748376000i[CPU0 ] | MSR_GS_BASE:0000000000000000
01748376000i[CPU0 ] | RIP=0000000000108a0a (0000000000108a0a)
01748376000i[CPU0 ] | CR0=0xe0000011 CR2=0x0000000000000000
01748376000i[CPU0 ] | CR3=0x0011a000 CR4=0x00000000
01748376000i[CPU0 ] 0x0000000000108a0a>> mov al, byte ptr ds:0x10c9dd : A0DDC91000
01748376000i[CMOS ] Last time is 1315486137 (Thu Sep 08 15:48:57 2011)
01748376000i[ ] restoring default signal behavior
01748376000i[CTRL ] quit_sim called with exit code 1
00044779044i[KBD ] setting typematic info
00044779062i[KBD ] setting delay to 500 mS (unused)
00044779062i[KBD ] setting repeat rate to 10.9 cps (unused)
00044779105i[KBD ] Switched to scancode set 2
00044779168i[KBD ] keyboard: scan convert turned off
01114335114i[CPU0 ] CPU is in protected mode (active)
01114335114i[CPU0 ] CS.d_b = 32 bit
01114335114i[CPU0 ] SS.d_b = 32 bit
01114335114i[CPU0 ] EFER = 0x00000000
01114335114i[CPU0 ] | RAX=00000000c0081b54 RBX=0000000000000064
01114335114i[CPU0 ] | RCX=0000000001be729c RDX=0000000000000000
01114335114i[CPU0 ] | RSP=000000000000000c RBP=00000000c0081b54
01114335114i[CPU0 ] | RSI=000000000000000e RDI=0000000000000005
01114335114i[CPU0 ] | R8=0000000000000000 R9=0000000000000000
01114335114i[CPU0 ] | R10=0000000000000000 R11=0000000000000000
01114335114i[CPU0 ] | R12=0000000000000000 R13=0000000000000000
01114335114i[CPU0 ] | R14=0000000000000000 R15=0000000000000000
01114335114i[CPU0 ] | IOPL=0 id vip vif ac vm RF nt of df if tf sf zf af pf cf
01114335114i[CPU0 ] | SEG selector base limit G D
01114335114i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
01114335114i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01114335114i[CPU0 ] | MSR_FS_BASE:0000000000000000
01114335114i[CPU0 ] | MSR_GS_BASE:0000000000000000
01114335114i[CPU0 ] | RIP=0000000000106882 (0000000000106882)
01114335114i[CPU0 ] | CR0=0xe0000011 CR2=0x00000000fffffffc
01114335114i[CPU0 ] | CR3=0x0011b000 CR4=0x00000000
01114335114i[CPU0 ] 0x0000000000106882>> pushad : 60
01114335114e[CPU0 ] exception(): 3rd (14) exception with no resolution, shutdown status is 00h, resetting
01114335114i[SYS ] bx_pc_system_c::Reset(HARDWARE) called
01114335114i[CPU0 ] cpu hardware reset
01114335114i[APIC0] allocate APIC id=0 (MMIO enabled) to 0x00000000fee00000
01114335114i[CPU0 ] CPUID[0x00000000]: 00000003 756e6547 6c65746e 49656e69
01114335114i[CPU0 ] CPUID[0x00000001]: 00000f23 00000800 00002000 07cbfbff
01114335114i[CPU0 ] CPUID[0x00000002]: 00410601 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x00000003]: 00000000 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x00000004]: 00000000 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x00000007]: 00000000 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x80000000]: 80000008 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x80000001]: 00000000 00000000 00000001 2a100800
01114335114i[CPU0 ] CPUID[0x80000002]: 20202020 20202020 20202020 6e492020
01114335114i[CPU0 ] CPUID[0x80000003]: 286c6574 50202952 69746e65 52286d75
01114335114i[CPU0 ] CPUID[0x80000004]: 20342029 20555043 20202020 00202020
01114335114i[CPU0 ] CPUID[0x80000006]: 00000000 42004200 02008140 00000000
01114335114i[CPU0 ] CPUID[0x80000007]: 00000000 00000000 00000000 00000000
01114335114i[CPU0 ] CPUID[0x80000008]: 00003028 00000000 00000000 00000000
01114335114i[ ] reset of 'unmapped' plugin device by virtual method
01114335114i[ ] reset of 'biosdev' plugin device by virtual method
01114335114i[ ] reset of 'speaker' plugin device by virtual method
01114335114i[ ] reset of 'extfpuirq' plugin device by virtual method
01114335114i[ ] reset of 'gameport' plugin device by virtual method
01114335114i[ ] reset of 'pci_ide' plugin device by virtual method
01114335114i[ ] reset of 'acpi' plugin device by virtual method
01114335114i[ ] reset of 'ioapic' plugin device by virtual method
01114335114i[ ] reset of 'keyboard' plugin device by virtual method
01114335114i[ ] reset of 'harddrv' plugin device by virtual method
01114335114i[ ] reset of 'serial' plugin device by virtual method
01114335114i[ ] reset of 'parallel' plugin device by virtual method
01114338420i[BIOS ] $Revision: 1.257 $ $Date: 2011/01/26 09:52:02 $
01114714063i[KBD ] reset-disable command received
01114840783i[VBIOS] VGABios $Id: vgabios.c,v 1.69 2009/04/07 18:18:20 vruppert Exp $
01114840854i[CLVGA] VBE known Display Interface b0c0
01114840886i[CLVGA] VBE known Display Interface b0c5
01114843811i[VBIOS] VBE Bios $Id: vbe.c,v 1.62 2009/01/25 15:46:25 vruppert Exp $
01115156500i[BIOS ] Starting rombios32
01115156997i[BIOS ] Shutdown flag 0
01115157678i[BIOS ] ram_size=0x02000000
01115158156i[BIOS ] ram_end=32MB
01115198776i[BIOS ] Found 1 cpu(s)
01115217763i[BIOS ] bios_table_addr: 0x000fb928 end=0x000fcc00
01115217866i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
01115545563i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
01115873491i[P2I ] PCI IRQ routing: PIRQA# set to 0x0b
01115873512i[P2I ] PCI IRQ routing: PIRQB# set to 0x09
01115873533i[P2I ] PCI IRQ routing: PIRQC# set to 0x0b
01115873554i[P2I ] PCI IRQ routing: PIRQD# set to 0x09
01115873564i[P2I ] write: ELCR2 = 0x0a
01115874449i[BIOS ] PIIX3/PIIX4 init: elcr=00 0a
01115882407i[BIOS ] PCI: bus=0 devfn=0x00: vendor_id=0x8086 device_id=0x1237 class=0x0600
01115884969i[BIOS ] PCI: bus=0 devfn=0x08: vendor_id=0x8086 device_id=0x7000 class=0x0601
01115887370i[BIOS ] PCI: bus=0 devfn=0x09: vendor_id=0x8086 device_id=0x7010 class=0x0101
01115888304i[BIOS ] region 4: 0x0000c000
01115890614i[BIOS ] PCI: bus=0 devfn=0x0b: vendor_id=0x8086 device_id=0x7113 class=0x0680
01115890852i[ACPI ] new irq line = 11
01115890866i[ACPI ] new irq line = 9
01115890938i[PCI ] setting SMRAM control register to 0x4a
01116055032i[CPU0 ] Enter to System Management Mode
01116055042i[CPU0 ] RSM: Resuming from System Management Mode
01116219062i[PCI ] setting SMRAM control register to 0x0a
01116228233i[BIOS ] MP table addr=0x000fba00 MPC table addr=0x000fb930 size=0xd0
01116230292i[BIOS ] SMBIOS table addr=0x000fba10
01116232680i[BIOS ] ACPI tables: RSDP addr=0x000fbb30 ACPI DATA addr=0x01ff0000 size=0x988
01116235918i[BIOS ] Firmware waking vector 0x1ff00cc
01116247031i[PCI ] 440FX PMC write to PAM register 59 (TLB Flush)
01116247875i[BIOS ] bios_table_cur_addr: 0x000fbb54
01128376669i[BIOS ] Booting from 0000:7c00
01137472539i[BIOS ] int13_harddisk: function 41, unmapped device for ELDL=80
01137477320i[BIOS ] int13_harddisk: function 08, unmapped device for ELDL=80
01137481971i[BIOS ] *** int 15h function AX=00c0, BX=0000 not yet supported!
01159114165i[KBD ] setting typematic info
01159114183i[KBD ] setting delay to 500 mS (unused)
01159114183i[KBD ] setting repeat rate to 10.9 cps (unused)
01159114226i[KBD ] Switched to scancode set 2
01159114289i[KBD ] keyboard: scan convert turned off
01470312000p[WGUI ] >>PANIC<< POWER button turned off.
01470312000i[CPU0 ] CPU is in protected mode (active)
01470312000i[CPU0 ] CS.d_b = 32 bit
01470312000i[CPU0 ] SS.d_b = 32 bit
01470312000i[CPU0 ] EFER = 0x00000000
01470312000i[CPU0 ] | RAX=00000000001118ff RBX=00000000001118c8
01470312000i[CPU0 ] | RCX=00000000000003d4 RDX=00000000001118c8
01470312000i[CPU0 ] | RSP=00000000001117c8 RBP=0000000000000014
01470312000i[CPU0 ] | RSI=0000000000111806 RDI=0000000000000002
01470312000i[CPU0 ] | R8=0000000000000000 R9=0000000000000000
01470312000i[CPU0 ] | R10=0000000000000000 R11=0000000000000000
01470312000i[CPU0 ] | R12=0000000000000000 R13=0000000000000000
01470312000i[CPU0 ] | R14=0000000000000000 R15=0000000000000000
01470312000i[CPU0 ] | IOPL=0 id vip vif ac vm rf nt of df IF tf sf ZF af PF cf
01470312000i[CPU0 ] | SEG selector base limit G D
01470312000i[CPU0 ] | SEG sltr(index|ti|rpl) base limit G D
01470312000i[CPU0 ] | CS:0008( 0001| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | DS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | SS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | ES:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | FS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | GS:0010( 0002| 0| 0) 00000000 ffffffff 1 1
01470312000i[CPU0 ] | MSR_FS_BASE:0000000000000000
01470312000i[CPU0 ] | MSR_GS_BASE:0000000000000000
01470312000i[CPU0 ] | RIP=0000000000108b8e (0000000000108b8e)
01470312000i[CPU0 ] | CR0=0xe0000011 CR2=0x0000000000000000
01470312000i[CPU0 ] | CR3=0x0011b000 CR4=0x00000000
01470312000i[CPU0 ] 0x0000000000108b8e>> mov al, byte ptr ds:0x10d9dd : A0DDD91000
01470312000i[CMOS ] Last time is 1316063346 (Thu Sep 15 08:09:06 2011)
01470312000i[ ] restoring default signal behavior
01470312000i[CTRL ] quit_sim called with exit code 1

10664
bochs/dump.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,7 @@
OBJ=build
COMPILER=i586-elf-gcc
LINKER=i586-elf-ld
BUILD_VER="0.1.0"
BUILD_VER="0.1.1"
BuildC()
{

Binary file not shown.

Binary file not shown.

BIN
build/tasking-multi.o Normal file

Binary file not shown.

View File

@ -3,6 +3,13 @@
Mainly changed: Tasking
+ Implemented multitasking
[GOOD] BUILD 0.1.0.629 DATE 9/08/2011 AT 5:20 PM
====================================================
Mainly changed: Memory manager
+ Rewritten virtual memory manager (easier to understand now :D)
+ Updated physical memory manager
+ Other minor bug fixes
[GOOD] BUILD 0.1.0.601 DATE 9/06/2011 AT 5:20 PM
====================================================
Mainly changed: bugfixes

View File

@ -133,3 +133,6 @@ Kernel/memory/mem-phys.c
Memory Manager :: Paging
Kernel/memory/mem-paging.c
Tasking :: Multitasking
Kernel/tasking/tasking-multi.c

Binary file not shown.

BIN
luxos.img

Binary file not shown.

View File

@ -1 +1 @@
629
19