Browse Source

Add licensing details.

Giovanni Mascellani 5 years ago
parent
commit
116c0a6d2c

+ 8 - 0
COPYING

@@ -0,0 +1,8 @@
+Most of the files inside this repository are copyrighted by Giovanni
+Mascellani <gio@debian.org> and distributed under the terms of the GNU
+General Public License, version 3 or later.
+
+The file asmg/simple_malloc.g is distributed under the terms of the
+MIT software license.
+
+Look at individual file headers for the details.

+ 16 - 0
asmasm/asmasm.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   OP_PUSH equ 0
   OP_POP equ 1

+ 16 - 0
asmasm/asmasm_linux.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   extern platform_panic
   extern platform_exit

+ 16 - 0
asmasm/atapio_test.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 atapio_test:
   ;; Allocate the read buffer

+ 16 - 0
asmasm/kernel-asmasm.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 str_platform_assemble:
   db 'platform_assemble'

+ 16 - 0
asmasm/main.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 str_helloasm:
   db 'Hello, ASM!'

+ 16 - 0
asmg/asm_compile.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 fun asmctx_parse_number 2 {
   $ctx

+ 17 - 1
asmg/asm_opcodes.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 $_opcode_map
 
@@ -2246,4 +2262,4 @@ fun get_opcode_map 0 {
     build_opcode_map ;
   }
   _opcode_map ret ;
-}
+}

+ 16 - 0
asmg/asm_preproc.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const ASMCTX_FDIN 0
 const ASMCTX_READ_CHAR 4

+ 16 - 0
asmg/asm_regs.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 fun parse_register 1 {
   $reg

+ 16 - 0
asmg/asmg.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   WRITE_LABEL_BUF_LEN equ 128
   STACK_VARS_LEN equ 1024

+ 16 - 0
asmg/c_ast.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const AST_TYPE 0             # 0 for operand, 1 for operator
 const AST_NAME 4             # char*

+ 16 - 0
asmg/c_compile.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 ifun cctx_emit 2
 

+ 16 - 0
asmg/c_preproc.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 $fd_in
 $read_char

+ 16 - 0
asmg/check_malloc.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const MALLOC_MAX_NUM 10000
 const MALLOC_GUARD_SIZE 32

+ 16 - 0
asmg/kernel-asmg.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 str_platform_g_compile:
   db 'platform_g_compile'

+ 16 - 0
asmg/main.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const COMPILE_ASM 0
 const COMPILE_C 1

+ 16 - 0
asmg/malloc_utils.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 fun realloc 2 {
   $ptr

+ 16 - 0
asmg/map.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const MAP_ELEM_KEY 0
 const MAP_ELEM_VALUE 4

+ 28 - 3
asmg/simple_malloc.g

@@ -1,7 +1,32 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
 
-# Malloc
-# Based on https://github.com/andrestc/linux-prog/blob/master/ch7/malloc.c
-# A few bugs were fixed
+# It is based on
+# https://github.com/andrestc/linux-prog/blob/master/ch7/malloc.c,
+# translated from C to G by Giovanni Mascellani. A few bugs were also
+# fixed and some other changes introduced. It retains the original MIT
+# License.
+
+# Copyright (c) 2017 André Carvalho
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
 
 $head
 

+ 16 - 0
asmg/test.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 # Comments
 # Other comments

+ 16 - 0
asmg/triv_malloc.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 fun malloc 1 {
   $size

+ 16 - 0
asmg/utils.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 $assert_pos
 

+ 16 - 0
asmg/utils2.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 fun append_to_str 2 {
   $s1

+ 16 - 0
asmg/vector.g

@@ -1,3 +1,19 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 const VECTOR_DATA 0
 const VECTOR_SIZE 4

+ 16 - 0
attic/gstaging.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 #include <stdio.h>
 

+ 16 - 0
attic/gstub.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   extern platform_panic
   extern platform_exit

+ 16 - 0
attic/platform_asm.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 global do_syscall
 do_syscall:

+ 16 - 0
attic/staging.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 #include "platform.h"
 

+ 16 - 0
attic/stub.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   extern platform_panic
   extern platform_exit

+ 23 - 0
boot/bootloader.asm

@@ -1,3 +1,24 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
+
+  ;; This file includes snippets taken from http://wiki.osdev.org; by
+  ;; https://wiki.osdev.org/OSDev_Wiki:Copyrights they are to be
+  ;; considered in the public domain, or that the CC0 license applies, so
+  ;; their inclusion in a GPL-3+ should be ok.
 
   bits 16
   org 0x7c00
@@ -267,6 +288,8 @@ or al, 1
 mov cr0, eax
 jmp 0x8:enter_protected
 
+  ;; The following snippet is taken from https://wiki.osdev.org/A20
+
 ; Function: check_a20
 ;
 ; Purpose: to check the status of the a20 line in a completely self-contained state-preserving way.

+ 17 - 0
boot/grub.cfg

@@ -1,3 +1,20 @@
+# This file is part of asmc, a bootstrapping OS with minimal seed
+# Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+# https://gitlab.com/giomasce/asmc
+
+# This program 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.
+
+# This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
+
 menuentry "asmg" {
 	multiboot /boot/asmg.x86
 }

+ 16 - 0
cc/cc.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 #include <stdio.h>
 #include <stdlib.h>

+ 16 - 0
cc/cc2.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 #include <stdio.h>
 #include <stdlib.h>

+ 16 - 0
lib/ar.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   SLASH equ 0x2f
 

+ 16 - 0
lib/atapio.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   ;; Driver written following https://wiki.osdev.org/ATA_PIO_Mode (but
   ;; all code is original)

+ 16 - 0
lib/kernel.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   bits 32
   org 0x100000

+ 16 - 0
lib/library.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   NEWLINE equ 0xa
   SPACE equ 0x20

+ 16 - 0
lib/platform.h

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 __attribute__((noreturn)) void platform_panic();
 __attribute__((noreturn)) void platform_exit();

+ 16 - 0
lib/platform_linux.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 #include <stdlib.h>
 #include <fcntl.h>

+ 16 - 0
lib/top.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
   align 2
 

+ 16 - 0
test/first.h

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 test(x) {
   int y;

+ 16 - 0
test/other.h

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 hello(bye) {
   bye = 10 + 20 + 30;

+ 16 - 0
test/test.asm

@@ -1,3 +1,19 @@
+;; This file is part of asmc, a bootstrapping OS with minimal seed
+;; Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+;; https://gitlab.com/giomasce/asmc
+
+;; This program 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.
+
+;; This program 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 this program.  If not, see <https://www.gnu.org/licenses/>.
 
 first:
   add eax, ebx                  ; Test line

+ 16 - 0
test/test.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 /*#if a * (b + c)
 #if a + (b(c,d,e))

+ 16 - 0
test/test2.c

@@ -1,3 +1,19 @@
+/* This file is part of asmc, a bootstrapping OS with minimal seed
+   Copyright (C) 2018 Giovanni Mascellani <gio@debian.org>
+   https://gitlab.com/giomasce/asmc
+
+   This program 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.
+
+   This program 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 this program.  If not, see <https://www.gnu.org/licenses/>. */
 
 int do_sum(int x, char y) {
   return x+y;