Legal stuff

This commit is contained in:
Adrien Bourmault 2019-02-06 15:34:39 +01:00
parent fe7e82fd6f
commit 5f305161f5
16 changed files with 383 additions and 166 deletions

4
.gitignore vendored
View File

@ -11,6 +11,10 @@ test-*.c
*.elf *.elf
*.S *.S
# CNAME STUFF
*.yml
CNAME
# Linker output # Linker output
*.ilk *.ilk

View File

@ -1,13 +1,26 @@
//----------------------------------------------------------------------------// #=----------------------------------------------------------------------------=#
// GNU GPL OS/K // # GNU GPL OS/K #
// // # #
// Authors: spectral` // # Desc: Project ChangeLog #
// NeoX // # #
// // # #
// Desc: ChangeLog #1 // # Copyright © 2018-2019 The OS/K Team #
// From: 2018/12/06 // # #
// UpTo: current // # This file is part of OS/K. #
//----------------------------------------------------------------------------// # #
# OS/K is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# any later version. #
# #
# OS/K is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
2018/10/?? - Started talking about making our own OS 2018/10/?? - Started talking about making our own OS
2018/11/?? - Name decided & creation of os-k.eu 2018/11/?? - Name decided & creation of os-k.eu

View File

@ -1,107 +1,110 @@
#------------------------------------------------------------------------------# #=----------------------------------------------------------------------------=#
# GNU GPL OS/K # # GNU GPL OS/K #
# # # #
# Authors: spectral` # # Desc: Project Tree #
# NeoX #
# # # #
# Desc: Project Tree # # #
#------------------------------------------------------------------------------# # Copyright © 2018-2019 The OS/K Team #
# #
# This file is part of OS/K. #
# #
# OS/K is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# any later version. #
# #
# OS/K is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
src/
|
x COPYING .
x README.md ├── boot
x ChangeLog │   ├── loader
| │   │   ├── cpu
- Makefile │   │   │   ├── cpu.asm
- Makefile.in │   │   │   └── cpuid.asm
| │   │   ├── elf
+ boot/ │   │   │   └── elf.c
| | │   │   ├── fs
| x folder.desc │   │   │   └── fat.asm
| | │   │   ├── io
| - mbr.asm │   │   │   ├── ata.asm
| - mbr.inc │   │   │   ├── lmmem.asm
| | │   │   │   ├── lmterm.asm
| - loader.asm │   │   │   ├── rmmem.asm
| - loader16.inc │   │   │   └── rmterm.asm
| - loader64.inc │   │   └── loader.asm
| | │   ├── mbr
| 0 │   │   ├── mbr.asm
| │   │   └── mbr.inc
+ kaleid/ │   └── folder.desc
| | ├── build
| + include/ │   ├── idttool.py
| | | │   ├── kernel.ld
| | - kaleid.h │   └── preproc.h
| | - kalkern.h ├── kaleid
| | | │   ├── crtlib
| | + common/ │   │   ├── arith.c
| | | | │   │   ├── atoi.c
| | | - kaldefs.h │   │   ├── itoa.c
| | | - kaltypes.h │   │   ├── memory.c
| | | - kalerror.h │   │   ├── rand.c
| | | - kalassrt.h │   │   ├── sprintf.c
| | | - kallims.h │   │   ├── status.c
| | | - kalmask.h │   │   ├── string.c
| | | - kalcrt.h │   │   └── strtol.c
| | | | │   ├── extras
| | | 0 │   │   ├── argv.c
| | | │   │   └── prog.c
| | + kernel/ │   ├── include
| | | | │   │   ├── base
| | | - kernbase.h │   │   │   ├── assert.h
| | | - kernlocks.h │   │   │   ├── bdefs.h
| | | - kernterm.h │   │   │   ├── crtlib.h
| | | | │   │   │   ├── errno.h
| | | 0 │   │   │   ├── limits.h
| | 0 │   │   │   ├── masks.h
| | │   │   │   └── types.h
| | │   │   ├── extras
| + kernel/ │   │   │   ├── argv.h
| | | │   │   │   ├── list.h
| | + init/ │   │   │   ├── locks.h
| | | | │   │   │   ├── malloc.h
| | | - init.c │   │   │   └── prog.h
| | | | │   │   ├── kernel
| | | 0 │   │   │   ├── base.h
| | | │   │   │   ├── sched.h
| | + ke/ │   │   │   └── terminal.h
| | | | │   │   ├── kalbase.h
| | | - panic.c │   │   ├── kaleid.h
| | | - table.c │   │   ├── kalext.h
| | | - terminal.c │   │   └── kalkern.h
| | | | │   └── kernel
| | | 0 │   ├── init
| | 0 │   │   ├── init.c
| | │   │   └── table.c
| + common/ │   ├── io
| | | │   │   ├── cursor.c
| | - status.c │   │   ├── term.c
| | | │   │   └── vga.c
| | - arith.c │   ├── ke
| | - rand.c │   │   └── panic.c
| | | │   └── proc
| | - atoi.c │   ├── Makefile
| | - itoa.c │   └── sched.c
| | - strtol.c ├── AUTHORS
| | | ├── ChangeLog
| | - memory.c ├── COPYING
| | - string.c ├── Makefile
| | - sprintf.c ├── Makefile.in
| | | ├── ProjectTree
| | 0 └── Readme.md
| 0
| 20 directories, 61 files
+ build/
| |
| - preproc.h
| - iddtool.h
| |
| - kernel.ld
| |
| + bin/
| + obj/
| |
| 0
0

View File

@ -1,11 +1,26 @@
--------------------------------------------------------------------- #=----------------------------------------------------------------------------=#
GNU GPL OS/K # GNU GPL OS/K #
# #
Authors: spectral` # Desc: Folder description - "boot" #
NeoX # #
# #
Desc: Folder description - "boot" # Copyright © 2018-2019 The OS/K Team #
--------------------------------------------------------------------- # #
# This file is part of OS/K. #
# #
# OS/K is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# any later version. #
# #
# OS/K is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY# without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with OS/K. If not, see <https://www.gnu.org/licenses/>. #
#=----------------------------------------------------------------------------=#
This folder contains the source for OS/K's bootloader. This folder contains the source for OS/K's bootloader.
@ -19,5 +34,5 @@ It is divided in two parts each of exactly 512 bytes:
The MBR must be placed precisely on the first sector of the hard drive. The MBR must be placed precisely on the first sector of the hard drive.
- loader.s - loader.s
This is the Kernel Loader. XXX This is the Kernel Loader. It switches to long mode and makes stuff.

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic longmode CPU functions ; ; Desc: Basic longmode CPU functions ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 64] [BITS 64]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic realmode CPU Detection ; ; Desc: Basic realmode CPU Detection ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 16] [BITS 16]

View File

@ -1,10 +1,26 @@
//----------------------------------------------------------------------------// //=--------------------------------------------------------------------------=//
// GNU GPL OS/K // // GNU GPL OS/K //
// // // //
// Authors: spectral` //
// NeoX //
// //
// Desc: ELF64 Parser and Loader // // Desc: ELF64 Parser and Loader //
//----------------------------------------------------------------------------// // (x86_64 architecture only) //
// //
// //
// Copyright © 2018-2019 The OS/K Team //
// //
// This file is part of OS/K. //
// //
// OS/K is free software: you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation, either version 3 of the License, or //
// (at your option) any later version. //
// //
// OS/K is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY//without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with OS/K. If not, see <https://www.gnu.org/licenses/>. //
//=--------------------------------------------------------------------------=//
int stub; int stub;

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic File Allocation Table Long mode Driver ; ; Desc: Basic File Allocation Table Long mode Driver ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 64] [BITS 64]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic Read Only ATA Long mode Driver ; ; Desc: Basic Read Only ATA Long mode Driver ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 64] [BITS 64]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic Memory Long mode Functions ; ; Desc: Basic Memory Long mode Functions ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 64] [BITS 64]

View File

@ -1,13 +1,29 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic Colored VGA Terminal Long mode Driver ; ; Desc: Basic Colored VGA Terminal Long mode Driver ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
;;VIDEO ;;VIDEO
%define TRAM 0x0B8000 ; [T]ext[RAM] %define TRAM 0x0B8000 ; [T]ext[RAM]
%define VRAM 0x0A0000 ; [V]ideo[RAM] %define VRAM 0x0A0000 ; [V]ideo[RAM]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic Memory Realmode Driver ; ; Desc: Basic Memory Realmode Driver ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 16] [BITS 16]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Basic realmode terminal functions ; ; Desc: Basic realmode terminal functions ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 16] [BITS 16]

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ; ; ;
; Authors: spectral` ;
; NeoX ;
; ;
; Desc: Kernel (second stage) Loader for OS/K ; ; Desc: Kernel (second stage) Loader for OS/K ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; (at your option) any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
%define DEBUG %define DEBUG
@ -242,4 +257,3 @@ main64:
jmp Die jmp Die
times 20 db 0

View File

@ -1,11 +1,26 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ;
; Authors: spectral` ;
; NeoX ;
; ; ; ;
; Desc: Bootsector for OS/K ; ; Desc: Bootsector for OS/K ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
;; BOOT "SEGMENT" ;; BOOT "SEGMENT"

View File

@ -1,12 +1,28 @@
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
; GNU GPL OS/K ; ; GNU GPL OS/K ;
; ;
; Authors: spectral` ;
; NeoX ;
; ; ; ;
; Desc: Bootsector for OS/K INCLUDED FUNCTIONS ; ; Desc: Bootsector for OS/K INCLUDED FUNCTIONS ;
; (x86_64 architecture only) ; ; (x86_64 architecture only) ;
; ;
; ;
; Copyright © 2018-2019 The OS/K Team ;
; ;
; This file is part of OS/K. ;
; ;
; OS/K is free software: you can redistribute it and/or modify ;
; it under the terms of the GNU General Public License as published by ;
; the Free Software Foundation, either version 3 of the License, or ;
; any later version. ;
; ;
; OS/K is distributed in the hope that it will be useful, ;
; but WITHOUT ANY WARRANTY; without even the implied warranty of ;
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;
; GNU General Public License for more details. ;
; ;
; You should have received a copy of the GNU General Public License ;
; along with OS/K. If not, see <https://www.gnu.org/licenses/>. ;
;=----------------------------------------------------------------------------=; ;=----------------------------------------------------------------------------=;
[BITS 16] [BITS 16]
read_clusters: read_clusters: