Skip to content
This repository has been archived by the owner on Aug 17, 2020. It is now read-only.

Commit

Permalink
Copyright notices, licensing terms, author attributions.
Browse files Browse the repository at this point in the history
  • Loading branch information
bford committed Jun 11, 2010
1 parent c3d5cc0 commit fe3ced2
Show file tree
Hide file tree
Showing 119 changed files with 1,125 additions and 1,461 deletions.
4 changes: 4 additions & 0 deletions GNUmakefile
Expand Up @@ -5,6 +5,10 @@
# Recursive Make Considered Harmful
# http://aegis.sourceforge.net/auug97.pdf
#
# Copyright (C) 2003 Massachusetts Institute of Technology
# See section "MIT License" in the file LICENSES for licensing terms.
# Primary authors: Bryan Ford, Eddie Kohler, Austin Clemens
#
OBJDIR := obj

ifdef LAB
Expand Down
93 changes: 93 additions & 0 deletions LICENSES
@@ -0,0 +1,93 @@
PIOS is derived directly from JOS and indirectly from various open source
software, the licenses for which are included here. See the individual
source files for information about which license(s) apply to each file.


Terms of the MIT License:
/*
* Copyright (C) 1997 Massachusetts Institute of Technology
*
* This software is being provided by the copyright holders under the
* following license. By obtaining, using and/or copying this software,
* you agree that you have read, understood, and will comply with the
* following terms and conditions:
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose and without fee or royalty is
* hereby granted, provided that the full text of this NOTICE appears on
* ALL copies of the software and documentation or portions thereof,
* including modifications, that you make.
*
* THIS SOFTWARE IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE,
* BUT NOT LIMITATION, COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR
* WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR
* THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY
* THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. COPYRIGHT
* HOLDERS WILL BEAR NO LIABILITY FOR ANY USE OF THIS SOFTWARE OR
* DOCUMENTATION.
*
* The name and trademarks of copyright holders may NOT be used in
* advertising or publicity pertaining to the software without specific,
* written prior permission. Title to copyright in this software and any
* associated documentation will at all times remain with copyright
* holders. See the file AUTHORS which should have accompanied this software
* for a list of all copyright holders.
*
* This file may be derived from previously copyrighted software. This
* copyright applies only to those changes made by the copyright
* holders listed in the AUTHORS file. The rest of this file is covered by
* the copyright notices, if any, listed below.
*/


Terms of the BSD License:
/*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by the University of
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/

Terms of the RSA License:
/*
* License to copy and use this software is granted provided that it is
* identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm"
* in all material mentioning or referencing this software or this function.
*
* License is also granted to make and use derivative works provided that such
* works are identified as "derived from the RSA Data Security, Inc. MD5
* Message-Digest Algorithm" in all material mentioning or referencing the
* derived work.
*
* RSA Data Security, Inc. makes no representations concerning either the
* merchantability of this software or the suitability of this software for
* any particular purpose. It is provided "as is" without express or implied
* warranty of any kind.
*
* These notices must be retained in any copies of any part of this
* documentation and/or software.
*/
38 changes: 0 additions & 38 deletions NOTES

This file was deleted.

4 changes: 4 additions & 0 deletions boot/Makefrag
Expand Up @@ -4,6 +4,10 @@
# you must run GNU make in the top-level directory
# where the GNUmakefile is located.
#
# Copyright (C) 2003 Massachusetts Institute of Technology
# See section "MIT License" in the file LICENSES for licensing terms.
# Primary authors: Bryan Ford, Eddie Kohler
#

OBJDIRS += boot

Expand Down
8 changes: 8 additions & 0 deletions boot/boot.S
@@ -1,4 +1,12 @@
#if LAB >= 1
/*
* Boot loader entrypoint and protected mode setup.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from the MIT Exokernel and JOS.
*/
#include <inc/mmu.h>

# Start the CPU: switch to 32-bit protected mode, jump into C.
Expand Down
8 changes: 8 additions & 0 deletions boot/bootother.S
@@ -1,4 +1,12 @@
#if LAB >= 2
/*
* Boot code for Application Processors (APs) in a multiprocessor system.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from the MIT Exokernel and JOS.
*/

#include <inc/mmu.h>

Expand Down
8 changes: 8 additions & 0 deletions boot/main.c
@@ -1,4 +1,12 @@
#if LAB >= 1
/*
* Boot loader code to read the kernel image from disk and start it.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from the MIT Exokernel and JOS.
*/
#include <inc/x86.h>
#include <inc/elf.h>

Expand Down
9 changes: 9 additions & 0 deletions boot/sign.pl
@@ -1,4 +1,13 @@
#!/usr/bin/perl
#
# This script pads a boot block to the required 512 byte sector size
# and attaches the magic "signature" (0x55aa) at the end.
#
# Copyright (C) 1997 Massachusetts Institute of Technology
# See section "MIT License" in the file LICENSES for licensing terms.
#
# Derived from the MIT Exokernel and JOS.
#

open(BB, $ARGV[0]) || die "open $ARGV[0]: $!";

Expand Down
9 changes: 9 additions & 0 deletions dev/e100.c
@@ -1,3 +1,12 @@
/*
* Intel E100 network interface device driver.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Primary Author: Silas Boyd-Wickizer at MIT.
* Adapted for PIOS by Bryan Ford at Yale University.
*/
#if LAB >= 5

#include <inc/x86.h>
Expand Down
10 changes: 10 additions & 0 deletions dev/e100.h
@@ -1,4 +1,14 @@
#if LAB >= 5
/*
* Intel E100 network interface device driver definitions.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Primary Author: Silas Boyd-Wickizer at MIT.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#ifndef PIOS_KERN_E100_H
#define PIOS_KERN_E100_H

Expand Down
6 changes: 6 additions & 0 deletions dev/ide.c
Expand Up @@ -3,6 +3,12 @@
* Minimal PIO-based (non-interrupt-driven) IDE driver code.
* For information about what all this IDE/ATA magic means,
* see the materials available on the class references page.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from the MIT Exokernel and JOS.
* Primary author: Eddie Kohler
*/

#include <inc/stdio.h>
Expand Down
12 changes: 10 additions & 2 deletions dev/ide.h
@@ -1,6 +1,14 @@
#if LAB >= 99
// IDE disk device driver definitions.
// See COPYRIGHT for copyright information.
/*
* IDE disk device driver definitions.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from the MIT Exokernel and JOS.
* Primary author: Eddie Kohler
*/

#ifndef PIOS_DEV_IDE_H
#define PIOS_DEV_IDE_H
#ifndef PIOS_KERNEL
Expand Down
15 changes: 11 additions & 4 deletions dev/ioapic.c
@@ -1,8 +1,15 @@
#if LAB >= 2
// The I/O APIC manages hardware interrupts for an SMP system.
// http://www.intel.com/design/chipsets/datashts/29056601.pdf
// See also picirq.c.
// This source file adapted from xv6.
/*
* The I/O APIC manages hardware interrupts for an SMP system.
* http://www.intel.com/design/chipsets/datashts/29056601.pdf
* See also pic.c, which handles the old pre-SMP interrupt controller.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from xv6 and FreeBSD code.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#include <inc/types.h>
#include <inc/trap.h>
Expand Down
15 changes: 9 additions & 6 deletions dev/ioapic.h
@@ -1,18 +1,21 @@
#if LAB >= 2
// I/O APIC (Advanced Programmable Interrupt Controller) definitions.
// Adapted from xv6.
// See COPYRIGHT for copyright information.
/*
* I/O APIC (Advanced Programmable Interrupt Controller) definitions.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from xv6 and FreeBSD code.
* Adapted for PIOS by Bryan Ford at Yale University.
*/
#ifndef PIOS_DEV_IOAPIC_H
#define PIOS_DEV_IOAPIC_H
#ifndef PIOS_KERNEL
# error "This is a kernel header; user programs should not #include it"
#endif


void ioapic_init(void);

void ioapic_enable(int irq, int apicid);


#endif /* !PIOS_DEV_IOAPIC_H */
#endif // LAB >= 2
13 changes: 12 additions & 1 deletion dev/kbd.c
@@ -1,4 +1,15 @@
// Keyboard input code
/*
* PC keyboard input device driver.
*
* Copyright (c) 2010 Yale University.
* Copyright (c) 1993, 1994, 1995 Charles Hannum.
* Copyright (c) 1990 The Regents of the University of California.
* See section "BSD License" in the file LICENSES for licensing terms.
*
* This code is derived from the NetBSD pcons driver, and in turn derived
* from software contributed to Berkeley by William Jolitz and Don Ahn.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#include <inc/types.h>
#include <inc/stdio.h>
Expand Down
15 changes: 13 additions & 2 deletions dev/kbd.h
@@ -1,5 +1,16 @@
// PC keyboard input.
// See COPYRIGHT for copyright information.
/*
* PC keyboard input device driver.
*
* Copyright (c) 2010 Yale University.
* Copyright (c) 1993, 1994, 1995 Charles Hannum.
* Copyright (c) 1990 The Regents of the University of California.
* See section "BSD License" in the file LICENSES for licensing terms.
*
* This code is derived from the NetBSD pcons driver, and in turn derived
* from software contributed to Berkeley by William Jolitz and Don Ahn.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#ifndef PIOS_KERN_KBD_H_
#define PIOS_KERN_KBD_H_
#ifndef PIOS_KERNEL
Expand Down
13 changes: 10 additions & 3 deletions dev/lapic.c
@@ -1,7 +1,14 @@
#if LAB >= 2
// The local APIC manages internal (non-I/O) interrupts.
// See Chapter 8 & Appendix C of Intel processor manual volume 3.
// Adapted from xv6.
/*
* The local APIC manages internal (non-I/O) interrupts.
* See Chapter 8 & Appendix C of Intel processor manual volume 3.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from xv6 from MIT and Plan 9 from Bell Labs.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#include <inc/types.h>
#include <inc/trap.h>
Expand Down
13 changes: 10 additions & 3 deletions dev/lapic.h
@@ -1,7 +1,14 @@
#if LAB >= 2
// Local APIC (Advanced Programmable Interrupt Controller) definitions.
// Adapted from xv6.
// See COPYRIGHT for copyright information.
/*
* Local APIC (Advanced Programmable Interrupt Controller) definitions.
*
* Copyright (C) 1997 Massachusetts Institute of Technology
* See section "MIT License" in the file LICENSES for licensing terms.
*
* Derived from xv6 from MIT and Plan 9 from Bell Labs.
* Adapted for PIOS by Bryan Ford at Yale University.
*/

#ifndef PIOS_DEV_LAPIC_H
#define PIOS_DEV_LAPIC_H
#ifndef PIOS_KERNEL
Expand Down

0 comments on commit fe3ced2

Please sign in to comment.