summaryrefslogtreecommitdiffstats
path: root/HACKING
blob: feb6e5fabd3a16ce094ae33d864de1137955dab9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
-------------------------------------------------------------------------------
HACKING
-------------------------------------------------------------------------------

Development Guidelines
----------------------

Please read http://linuxbios.org/Development_Guidelines.


Doxygen-generated Code/API Documentation
----------------------------------------

The source code of LinuxBIOS is documented using Doxygen-style code comments.
The Doxygen tool can generate HTML API documentation out of these comments.

You can generate this documentation via:

  make doxy

The documentation will be stored in the doxygen/html directory.

The generation of the documentation takes ca. 1-2 minutes, and may require
more than 30 MB of space on the hard drive, depending on the options
selected in the Doxygen config file, util/doxygen/Doxyfile.LinuxBIOS.

Required software:

  * Doxygen (tested with Doxgen 1.5.1)
    http://www.doxygen.org/
  
  * dot (>= 1.8.10)
    http://www.graphviz.org/


Third-party Code and License Overview
-------------------------------------

* util/dtc/*: GPLv2 or later
  Source: git://www.jdl.com/software/dtc.git
  Current version we use: 332c53642557a018ca9c729a4cd284c6e34b7f72 (07/2006)

* util/kconfig/*: GPLv2
  Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
  Current version we use: 15508d22d00277a1f2a1022dce38f2772c810d32 (02/2006)

* util/lar/*: GPLv2
  Independant project, but written specifically for LinuxBIOS.

* include/lar.h, util/lar/lar.h, util/lar/example.c:
  Dual-licensed (GPLv2 + revised BSD license)

* util/lzma/C/*: Dual-licensed, LGPL + Common Public License (CPL). There's
  a special exception, please see util/lzma/C/7zip/Decompress/LzmaDecode.c.
  Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/
  Current version we use: LZMA SDK 4.42 (05/2006)

* util/lzma/minilzma.cc: ?
  Source: ?
  Current version we use: ?

* util/nrv2b/nrv2b.c: ?
  Source: ?
  Current version we use: ?

* include/elf.h: LGPLv2.1 or later
  Source: The GNU C Library, http://www.gnu.org/software/libc/
  You can get the latest version of the file via CVS:
  cvs -d:pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc/elf/elf.h
  Current version we use: CVS rev. 1.156

* include/device/pci_ids.h: GPLv2
  Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
  Current version we use: e81e557a8f1e22fab1b1bdc649ac0d24017ddce2

* lib/lzmadecode.[ch]: Dual-licensed, LGPL + Common Public License (CPL).
  There's a special exception, please see lib/lzmadecode.[ch].
  Source: LZMA SDK, http://sourceforge.net/projects/sevenzip/
  Current version we use: LZMA SDK 4.40 (05/2006)

* lib/compute_ip_checksum.c, include/ip_checksum.h: GPLv2
  Source: kexec-tools, http://www.xmission.com/~ebiederm/files/kexec/
  Current version we use: kexec-tools 1.101

* lib/clog2.c: Triple-licensed, MPL 1.1/GPL 2.0/LGPL 2.1
  Source: http://lxr.mozilla.org/mozilla1.8.0/source/js/src/jscpucfg.c
  Current version we use: CVS rev. 3.25

* include/arch/x86/div64.h: GPLv2
  Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
  Current version we use: e2afe67453e5b1499459ee3596b1e7924a5208f5

* include/arch/x86/cpu.h: GPLv2
  Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
  Files: include/asm-i386/processor.h, arch/i386/kernel/cpu/mtrr/state.c
  Current version we use: ?

* include/arch/x86/swab.h: GPLv2
  Source: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
  Current version we use: ?

* arch/x86/i8259.c: GPLv2
  Source: Linux kernel, arch/i386/boot/setup.S
  Current version we use: Linux 2.2.26

* console/vsprintf.c, console/vtxprintf.c: GPLv2
  Source: Linux kernel, lib/vsprintf.c
  Current version we use: ?