534721

Version Name

Version

Description

Start Date

Finish Date

Compile platform

full

before year 2000

Forget

Forget

exception

2001

Forget

Forget

kernel

Very old and simple kernel

before 2002/04/28

Forget

Older than Red Hat 8

library

user library and put the GDT, IDT, PD, PT into the correct memory place

2002/04/28

Forget

Forget

plib

Start to build my own library (PLIB)

2002/08/04

Forget

Forget

checking

2002/10/XX

Forget

Forget

stdlib

2003/01/01

Forget

Forget

keyboard

Enter protected mode and serve IRQ 0,1 but no task switching

2005/10/8

2005/10/12

Red Hat 9, FC4

newstdlib

20050214

2005/08/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050225

2005/08/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050303

2005/08/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050304

2005/08/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050819

2005/08/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050820

2005/08/20

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050821

2005/08/21

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050822

2005/08/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050827

2005/08/27

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050901

2005/09/01

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050902

2005/09/02

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050903

2005/09/03

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050905

Finished readSector function.

2005/09/05

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20050907

2005/09/05

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051019

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051020

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051022

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051023

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051031

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051104

2005/11/13

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051119

2005/10/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051225

2005/12/24

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20051229

2006/01/25

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060202

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060203

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060207

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060208

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060209

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060210

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060211

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060218

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060224

2006/02/24

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060226

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060310

2006/03/14

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060311

2006/03/24

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060331

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060515

2006/05/15

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060516

2006/05/16

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060518

Problem found:
1) The "load plib" part in pm_setup.asm is not able to load >64k plib, because the si have an initialize value.
2) if added -g option to compile plib, the plib will become very large and pm_setup is unable to load it. So i am fixing pm_setup.asm, to let it able to load a very load plib

2006/05/18

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060519

Bug fix:
1) In header.h, the data are stored in 0x20000, but this address is too low
because the bootimage is very large when passed -g option to g++. Now, i
moved the os data area to 0x40000, so i have 0x40000-0x8000+1 size for the
bootimage
Enhancement:
1) the bootloader is loading 215 sectors to 0x8000
2) removed the folder library\standard\fs\vfs because no needed
3) VFS layer is now using virtual function, and added g++ option -fno-rtti
to make it compilable

2006/06/19

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060521

Feature enhancement:
1) finished the ls and cd command in pshell

2006/05/21

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060523

Enhancement:
1) split the bootloader into two, now, the first bootloader (the bootsector)
will load 8 sectors to 0x6000 then jump to 0x6000, and the second bootloader
(2nd sector to 9th sector, located in memory 0x6000) will load 1000 sectors
to 0x8000 and jump to 0x8000.

2006/05/23

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060523_1

Problem:
1) the page table entry will be auto be corrected, test case is : execute :
"test" then "cd /" then "test" commands in pshell

2006/05/23_1

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060524

Fixed:
1) Function "unsigned int getPage(unsigned size)" is wrong, because when it
allocated a page, it will not set the corresponding element of freePageList
to 1
2) Function "unsigned int getPage(unsigned size)" is wrong, because it
always return the same address

Fixing:
1) Function kfree() is wrong, because we should set zero to the address that
the pointer pointed to, when we free it.

2006/05/24

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060525

Fixed:
1) The concept of kmalloc() is wrong before. If user malloc 10 bytes, you
have to give him 4096. If you don't do it. the virtual address will be
wrong, because virtual address is used to control the PD and PT. Example:
If i allocate 4 bytes and kernel *JUST* give me 4 byte, and my virtual
address is 0x200000. Then i allocate 4 bytes again, and kernel give me the
virtual address 0x200004. The address 0x200000 and 0x200004 has the same PD
and PT.

Working:
1) adding a command cat to pshell
2) fixing the fread()

2006/05/25

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060602

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060606

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060608

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060609

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060612

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060613

Features:
1) VFS is finished, implemented fread, fopen, fclose. Tested to read 1MB
file, no problem.
2) Finished these commands : ls, pwd, cat, whoami, logout, china

Working:
1) More commands

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060614

Fixed:
   In the interrupt9.cpp (keyboard driver), can handle shift key now

2006/02/07

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060620

2006/06/20

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060622

working :
1) PFS_File.cpp is wrong, i forgot to handle the FIB block, now is fixing that

2006/06/22

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060626

2006/06/26

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060627

2006/06/27

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060628

2006/06/28

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060629

2006/06/29

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060630

2006/06/30

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060702

2006/07/02

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060703

Fixed:
1) ls(buffer) function in pshell.cpp
2) moved the os data area to 0x90000. The reason i do this is because the bootimage is very large now, ~610 sectors. The bootloader will load the bootimage to 0x8000, if the os data area is too low, it will have undetermine values.
 
Working:
1) program loader

2006/07/03

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15

newstdlib

20060704

2006/07/04

Debian 3.1, gcc 3.3.5, g++ 3.3.5, ld 2.15