Compare commits
1630 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ab8edda14a | ||
|
0209f3dd15 | ||
|
e61b4c360e | ||
|
593172c7c3 | ||
|
44b54aa947 | ||
|
53b549c43d | ||
|
2141bbbd4a | ||
|
a911216926 | ||
|
6098da9ea8 | ||
|
7fc928656e | ||
|
ceb7e68c48 | ||
|
9f19dd9f61 | ||
|
a2148377b5 | ||
|
85b41445b5 | ||
|
4100c2a6e3 | ||
|
556cc26337 | ||
|
47bf498681 | ||
|
6760e0bdcd | ||
|
1d29b7bbce | ||
|
6b7b016b60 | ||
|
25128a7997 | ||
|
cc32a69807 | ||
|
052e3ef334 | ||
|
9f2eca50ea | ||
|
e036aaede4 | ||
|
3ad93615be | ||
|
89b8c23830 | ||
|
ce20697513 | ||
|
8d6d3fa109 | ||
|
770e73d0a2 | ||
|
fa5d0f835b | ||
|
59eb2fdb6b | ||
|
360d94745f | ||
|
67d59d1756 | ||
|
2b28a16061 | ||
|
9c538348d8 | ||
|
934b8da442 | ||
|
1e245c1536 | ||
|
c63649bdbb | ||
|
2c43bf7969 | ||
|
3457df1730 | ||
|
dc2e7c6e0f | ||
|
05d7d82d37 | ||
|
e7087a19bc | ||
|
3557f12458 | ||
|
e477626d82 | ||
|
bcd1d1c32e | ||
|
e32d16f9d7 | ||
|
0f476df76b | ||
|
ba071cdbfb | ||
|
767de0aac7 | ||
|
e5ca52bbba | ||
|
46cc24d94e | ||
|
c50847e51e | ||
|
751c496c74 | ||
|
ad91b18c64 | ||
|
5e8afce88f | ||
|
7843bd560e | ||
|
c583920a74 | ||
|
e27c013f39 | ||
|
dc584c3f22 | ||
|
bf53acca5e | ||
|
dc7b2de88b | ||
|
bd3ac9c0b0 | ||
|
7dfbaab6de | ||
|
b75f504bb0 | ||
|
5d14c76f1a | ||
|
5885ffef32 | ||
|
5aa0a53e5f | ||
|
ef36cdd06d | ||
|
92fe375737 | ||
|
0a8e8e84f1 | ||
|
700c024057 | ||
|
fa85ba279f | ||
|
959eb162bb | ||
|
628beff58c | ||
|
0bb4f0c766 | ||
|
f4a304722a | ||
|
e05dc17d4b | ||
|
7ea8b8866a | ||
|
85e680a94a | ||
|
5ec8069f80 | ||
|
e4240f3e01 | ||
|
ffe4eba380 | ||
|
9fc8cf89e8 | ||
|
2332c7459e | ||
|
d3c58fdc64 | ||
|
211792feab | ||
|
dd0dc1ac92 | ||
|
d577726460 | ||
|
b134945ec1 | ||
|
b23f392766 | ||
|
50b999feb8 | ||
|
348002c305 | ||
|
a1928cfa28 | ||
|
2452afbe04 | ||
|
aa990e9289 | ||
|
399b6c11ef | ||
|
949ff57bca | ||
|
571b14ef23 | ||
|
ae695757f4 | ||
|
10c8ad8d78 | ||
|
6aa81fa55e | ||
|
32e13c0b00 | ||
|
cefe89ee79 | ||
|
6abbd5b0ac | ||
|
44da9e73c7 | ||
|
cd0b67b30a | ||
|
7630803b85 | ||
|
a7fb23081c | ||
|
a2d123ea98 | ||
|
87074f9042 | ||
|
dc972e17c7 | ||
|
b236352281 | ||
|
0d92271d2c | ||
|
ead8a07cee | ||
|
799184397a | ||
|
87c52809b2 | ||
|
c6872f5524 | ||
|
b6768370d1 | ||
|
cd3c3167df | ||
|
df9cdcfc38 | ||
|
fee2fdecc2 | ||
|
996588521a | ||
|
11a34ec4c2 | ||
|
c484da1a98 | ||
|
fecf77770b | ||
|
675cb9152e | ||
|
8088584b37 | ||
|
1b8102474e | ||
|
71a94301c0 | ||
|
8a0dccc02b | ||
|
6de0c141fd | ||
|
de6f121897 | ||
|
72f13e534b | ||
|
9764bc126e | ||
|
b7e8505d96 | ||
|
2384682565 | ||
|
187655cee0 | ||
|
77fe213b55 | ||
|
898ca04fa4 | ||
|
f76c12a3fc | ||
|
b8cd4b0049 | ||
|
46e68ac99a | ||
|
0cc619bedc | ||
|
a1c259beef | ||
|
02a4a0d471 | ||
|
9caadfe708 | ||
|
a4b7befbd5 | ||
|
4f7fe494a0 | ||
|
7c276c0dd7 | ||
|
0dc87ef90d | ||
|
6754dcda74 | ||
|
97012bd019 | ||
|
45ddb4344f | ||
|
19825e8e37 | ||
|
ca7f93d567 | ||
|
aabc215962 | ||
|
10cfd4d7cf | ||
|
e396c662c0 | ||
|
5c7b74a22b | ||
|
56aeae0400 | ||
|
b1ea53d846 | ||
|
f0564a9c44 | ||
|
e919390f47 | ||
|
93d215cb05 | ||
|
b4d960b65a | ||
|
28552095d8 | ||
|
8f22136c05 | ||
|
bc2f9a30f3 | ||
|
1b95501fad | ||
|
12440ce63e | ||
|
8256ca0e14 | ||
|
3c1e986119 | ||
|
5efee3a2c2 | ||
|
95755dd65d | ||
|
2abbe46765 | ||
|
1d4bdda47f | ||
|
23a6c79126 | ||
|
074730c14c | ||
|
1c54bc4849 | ||
|
8b7cd43d5d | ||
|
005e25de0f | ||
|
cf5af24a94 | ||
|
c4c5d85c22 | ||
|
55069d15d8 | ||
|
7f22933e98 | ||
|
21d6a27ac0 | ||
|
be5317f6d0 | ||
|
9dd1a12f9c | ||
|
7e4bfe4b91 | ||
|
b8df689a6a | ||
|
91e89c5393 | ||
|
baf6d6e203 | ||
|
930c31c63a | ||
|
f307ffbe47 | ||
|
76ffa88e1e | ||
|
254933fba7 | ||
|
056fbe49ff | ||
|
c86fc8e63d | ||
|
82c0e7e3d5 | ||
|
44f1af2996 | ||
|
c7fa911279 | ||
|
bf43f9ef13 | ||
|
ed8eaab08a | ||
|
dd227a7d97 | ||
|
07f798d74c | ||
|
4e074033de | ||
|
1b1a26acdc | ||
|
114e2e8830 | ||
|
32c8de10b0 | ||
|
3042af6256 | ||
|
881f9cb715 | ||
|
46b125ab6b | ||
|
2d90cb1547 | ||
|
585786b696 | ||
|
08aeda6c14 | ||
|
71bd7e439f | ||
|
aae81906b9 | ||
|
55f01326cc | ||
|
4e39c824e0 | ||
|
a0218958a0 | ||
|
51b1fc6e39 | ||
|
763eeecb30 | ||
|
c01d0920bb | ||
|
214661e00c | ||
|
f8251b9860 | ||
|
b4741616ea | ||
|
fb2a9d5ed8 | ||
|
6a657c2646 | ||
|
007af4251f | ||
|
ef63c32b58 | ||
|
6b5bf407de | ||
|
8fc523e313 | ||
|
1058dd84f0 | ||
|
397ce3c45f | ||
|
8119841ec0 | ||
|
ddcfcb8ebc | ||
|
15fcc86907 | ||
|
92a7599616 | ||
|
baa8c7819c | ||
|
00f0de3e14 | ||
|
385ea8219d | ||
|
092fe558ee | ||
|
fe3250dbe6 | ||
|
cc5193604f | ||
|
acc88f8e66 | ||
|
127b820d24 | ||
|
1e07d40027 | ||
|
3a28673293 | ||
|
0dd8fe7ec3 | ||
|
c4f77d943a | ||
|
facbf47224 | ||
|
2449895709 | ||
|
7736bfc443 | ||
|
e75a64f822 | ||
|
68da45479f | ||
|
1644e48985 | ||
|
4ec67fc82c | ||
|
728a06032d | ||
|
b1ef725f39 | ||
|
6f7c955464 | ||
|
20994a763b | ||
|
ce6f1a53e9 | ||
|
9c0afe6e6b | ||
|
b9b79d2589 | ||
|
cf819ea654 | ||
|
72c483a95a | ||
|
2f9a0cdfa6 | ||
|
816326576a | ||
|
ab0d687fc5 | ||
|
403b70adb9 | ||
|
4d877c8c7f | ||
|
a1b700ff74 | ||
|
879c9fc421 | ||
|
a09d33ec88 | ||
|
bc78e014c5 | ||
|
a751eec799 | ||
|
f6a8c5a493 | ||
|
228f004f76 | ||
|
6c13b0427a | ||
|
8195aa02f9 | ||
|
a0365c5809 | ||
|
6190d0bfe6 | ||
|
085ab5a347 | ||
|
ca64305152 | ||
|
41f826a498 | ||
|
334211e4a6 | ||
|
5407571168 | ||
|
3d4f51ef69 | ||
|
1845fc8947 | ||
|
e979442cd6 | ||
|
653a66fa81 | ||
|
d1fb78dbfc | ||
|
be820b3911 | ||
|
f91c0f9935 | ||
|
944fdc4771 | ||
|
adf344013d | ||
|
3cf40b68c0 | ||
|
55a2149903 | ||
|
14d59912f8 | ||
|
645f244fd0 | ||
|
319b096869 | ||
|
6c1b18090d | ||
|
522b7c0324 | ||
|
bda870242e | ||
|
5ff6a6af0e | ||
|
d05f57cfcb | ||
|
2f389f151a | ||
|
7c9a0e8a9c | ||
|
463ad5169d | ||
|
ddd6ca78a1 | ||
|
5b15e01035 | ||
|
0d6ddf8da7 | ||
|
ea2bec2c4b | ||
|
4f7568b126 | ||
|
47be2d9f70 | ||
|
d60089b7b1 | ||
|
de09679c13 | ||
|
836994e083 | ||
|
48fb573e1f | ||
|
7253e7a135 | ||
|
c5fc753b13 | ||
|
c169a4751f | ||
|
4e8db0fa32 | ||
|
2ca11a527c | ||
|
432516586e | ||
|
e1c0cb737c | ||
|
3e9061e27c | ||
|
9dfa60aaee | ||
|
b43ec47ed3 | ||
|
57248c2b8c | ||
|
7011e546e1 | ||
|
7aed33e95e | ||
|
55e5cb8d4e | ||
|
242a03365d | ||
|
5666c29df1 | ||
|
c56ca6ba17 | ||
|
29f12e4d48 | ||
|
fa2f793957 | ||
|
2715cdb3f3 | ||
|
1e8f305957 | ||
|
96ca0d93d2 | ||
|
ac4896fbcb | ||
|
eb48bb4fc8 | ||
|
340e4b8090 | ||
|
44874482fe | ||
|
f6671a89c5 | ||
|
34bc60b865 | ||
|
2e6a0f8052 | ||
|
f71bb5d174 | ||
|
011688f861 | ||
|
c7783a39f8 | ||
|
99bf4366a6 | ||
|
626a53776b | ||
|
09c3bfe826 | ||
|
2e37fdddd5 | ||
|
154024d256 | ||
|
1031aae361 | ||
|
20ce4007eb | ||
|
d9ccaefabe | ||
|
f185779a89 | ||
|
1966b5c800 | ||
|
5ce66da1b5 | ||
|
af1cbe2278 | ||
|
9a100b5c1d | ||
|
db8f9229b1 | ||
|
02d9071a0b | ||
|
7d9d63b79f | ||
|
40964fb4dd | ||
|
376357c107 | ||
|
86278a0361 | ||
|
b8bda11487 | ||
|
63998adf4a | ||
|
6c2324a8f3 | ||
|
10af2af81f | ||
|
ff744bf0ee | ||
|
5331a7cff9 | ||
|
b7cc68ae6a | ||
|
9b8d28f013 | ||
|
1f30de08f6 | ||
|
e0ad1fa7c8 | ||
|
a1dbcb9332 | ||
|
5e5fd41fcf | ||
|
4d77bf2a23 | ||
|
f1ca63ca40 | ||
|
480d927b02 | ||
|
b559432604 | ||
|
eef992deac | ||
|
776da0872e | ||
|
5f2576089f | ||
|
b7f117dd52 | ||
|
b5c345ab44 | ||
|
44b275e209 | ||
|
4223880d54 | ||
|
21961fc092 | ||
|
7f57dd4b65 | ||
|
0108c8b742 | ||
|
2e032f07df | ||
|
b8eaa6a584 | ||
|
19e353473d | ||
|
be9533aba9 | ||
|
942ad6a137 | ||
|
947916eb2d | ||
|
845652b8bb | ||
|
400f9ca261 | ||
|
34715df801 | ||
|
d8b6e671f1 | ||
|
7c24de9cb7 | ||
|
158e8d1e92 | ||
|
fc58034a11 | ||
|
11b910281e | ||
|
523ca8d9b0 | ||
|
d3856aad79 | ||
|
f7856800b4 | ||
|
d61a40e291 | ||
|
57e8909081 | ||
|
ad0f485361 | ||
|
38ddbfb325 | ||
|
e74ca4ffc2 | ||
|
bdc761e338 | ||
|
8896dc85de | ||
|
d115940d80 | ||
|
6c361d6838 | ||
|
468d02cc82 | ||
|
36fcc85be4 | ||
|
8484a12a9c | ||
|
6908dc8ea8 | ||
|
dac4497754 | ||
|
4b0598c35a | ||
|
af84368591 | ||
|
2c34892efd | ||
|
6df210b0c2 | ||
|
ede8dd0b9c | ||
|
0edf6a59f8 | ||
|
7385b656c2 | ||
|
b759a4f987 | ||
|
eafc81514a | ||
|
6a3cf1b6fc | ||
|
bc1dbb3cc3 | ||
|
40f893e9f3 | ||
|
b17f3d3d3c | ||
|
7ef19036fb | ||
|
fa62e01b90 | ||
|
0f91f79447 | ||
|
a9e07f9444 | ||
|
5e779f9a6c | ||
|
fda6cd6d28 | ||
|
0cd098e4e4 | ||
|
9be81b8d4b | ||
|
4d99cdeaf9 | ||
|
5216b72a99 | ||
|
faaea99859 | ||
|
dbed7865d3 | ||
|
cfc93cbb66 | ||
|
b2832e3586 | ||
|
8c09b82cb1 | ||
|
b0f99ad794 | ||
|
ca1187faa2 | ||
|
514ddef4e5 | ||
|
fb9f320d81 | ||
|
80212aa104 | ||
|
91c8d35be3 | ||
|
9680b84eb1 | ||
|
489c10ee54 | ||
|
6536084163 | ||
|
ddd02da1de | ||
|
5fc8805a71 | ||
|
0688bce81c | ||
|
81e3b74301 | ||
|
e4b9a1e156 | ||
|
fe3a19d3f3 | ||
|
d624e3997a | ||
|
3128f33c65 | ||
|
24cd6c897b | ||
|
ea4bda55d6 | ||
|
241f0a5593 | ||
|
f4abe51b74 | ||
|
5c18db1ca8 | ||
|
d517bff06a | ||
|
c761f28171 | ||
|
cfde82c1d7 | ||
|
fcdb03358d | ||
|
85ca1fe4e6 | ||
|
c5568a145f | ||
|
ed309e58b0 | ||
|
285975dbba | ||
|
7f1da07849 | ||
|
afd0505033 | ||
|
bc36e298f9 | ||
|
1b79b86def | ||
|
7398c95d9c | ||
|
980d704b4d | ||
|
59ba0a257a | ||
|
7bdedcdc33 | ||
|
88e9c5af57 | ||
|
62a6741bba | ||
|
750ce06cd5 | ||
|
7f2aaacd9e | ||
|
d2aa4730e3 | ||
|
42ec48032a | ||
|
b6ca93839d | ||
|
19e961e83c | ||
|
68ff7298ec | ||
|
0a793d85f1 | ||
|
0bc35af933 | ||
|
58e96705cb | ||
|
61a2d25a01 | ||
|
39bde7cacf | ||
|
ebcb0c5b88 | ||
|
b0b36f3230 | ||
|
1e155bf264 | ||
|
231c74cacf | ||
|
046382b8c5 | ||
|
ba9ec2ce24 | ||
|
db05f96e38 | ||
|
2d7aa11308 | ||
|
9af10bf90f | ||
|
395a740bbf | ||
|
f88bad8331 | ||
|
effaf8fcb8 | ||
|
cddd6008f9 | ||
|
e1b902c92c | ||
|
2f2e113f60 | ||
|
5bba746f98 | ||
|
03cfae40a6 | ||
|
71e70130a1 | ||
|
33533c0e85 | ||
|
e3aa424a4f | ||
|
3edc9e24c3 | ||
|
dd321038ac | ||
|
f89cb241ee | ||
|
24ba85002a | ||
|
bec78e32d6 | ||
|
749c395f93 | ||
|
91841af6b2 | ||
|
194422af82 | ||
|
3e42dbac30 | ||
|
46009ea4cc | ||
|
998a3cc0da | ||
|
ad4bf675ec | ||
|
e2fafc0c8c | ||
|
7783c606a4 | ||
|
511a8f5538 | ||
|
3e344cf731 | ||
|
6de151e765 | ||
|
422807387b | ||
|
fedf71c6fb | ||
|
4357a82076 | ||
|
0581bf6a75 | ||
|
7a9e894550 | ||
|
1dcc170215 | ||
|
fabc0733e9 | ||
|
e1a59dcf93 | ||
|
b5bd86296e | ||
|
04b4177e30 | ||
|
31ef56958d | ||
|
c888a7bbaa | ||
|
80df052d35 | ||
|
59e97b6378 | ||
|
9269be630b | ||
|
c0b8d0d5b5 | ||
|
0d441daef6 | ||
|
ecd36ce759 | ||
|
5f3c46579e | ||
|
39a4ac1502 | ||
|
06fd982030 | ||
|
f6dbf4a46a | ||
|
e0fd9a60e7 | ||
|
6261141579 | ||
|
2329a2537d | ||
|
6a0e5deb90 | ||
|
0e6e457702 | ||
|
96ae7a3a2d | ||
|
40377c7250 | ||
|
bf6b6afa9e | ||
|
4cb888e946 | ||
|
42cad6c1b6 | ||
|
df60e8786c | ||
|
d9c799c529 | ||
|
7ba58718de | ||
|
569887a640 | ||
|
fb57d7c549 | ||
|
5c540f5c52 | ||
|
9f96568171 | ||
|
467802b628 | ||
|
bac6946956 | ||
|
2b32cb215f | ||
|
064d6cb8a5 | ||
|
a2ea5e9f47 | ||
|
4d4ccced31 | ||
|
cea735cf12 | ||
|
107927b319 | ||
|
0d0b7a1a57 | ||
|
8d53137749 | ||
|
beeab4e6f3 | ||
|
9ff4029db9 | ||
|
489a11e865 | ||
|
e33c50d74c | ||
|
e9649218bf | ||
|
f240a3269e | ||
|
6d5fcf4fbe | ||
|
e67dce0f94 | ||
|
553e2db951 | ||
|
88ce8043c5 | ||
|
5b29f17ef0 | ||
|
31ec0c4fdc | ||
|
ffb5ea3dc4 | ||
|
7689a0f792 | ||
|
2878c0b6dc | ||
|
b572c9d5e5 | ||
|
c892db6398 | ||
|
04b5123aed | ||
|
f88c011546 | ||
|
7bb960671d | ||
|
73ffd6acdf | ||
|
469af0348e | ||
|
4a8fba9ea5 | ||
|
ee0b7ad683 | ||
|
89f5967647 | ||
|
ea98989e2c | ||
|
d28d507190 | ||
|
a06689c7e7 | ||
|
3b57a7c37b | ||
|
9a4ca626d8 | ||
|
37871c85f6 | ||
|
2c760f5b70 | ||
|
6f2de3c3f0 | ||
|
31c4c7bc0b | ||
|
dc9025c14d | ||
|
62b6a8394a | ||
|
f350768a82 | ||
|
94f249254f | ||
|
ae1e14e438 | ||
|
1425441ce4 | ||
|
d1eb34e432 | ||
|
5199e826db | ||
|
05bad430b6 | ||
|
b165c4a46f | ||
|
465dd5c524 | ||
|
29e53582cc | ||
|
9ed0df4c38 | ||
|
d3a1a4171e | ||
|
1eb0e195d6 | ||
|
457750283a | ||
|
2ea4efeefa | ||
|
2882253237 | ||
|
b9c9cd75e7 | ||
|
b33d8ce5c7 | ||
|
4fb80753f5 | ||
|
9ebf5317bc | ||
|
3e7ff29995 | ||
|
43a98b9589 | ||
|
3c8f9b8291 | ||
|
cd7adbf9c4 | ||
|
d6c8bdc664 | ||
|
484ad0f1f7 | ||
|
2437fe9dfa | ||
|
cbe5357de0 | ||
|
894240d362 | ||
|
bac8e8d8ac | ||
|
d4697a0de7 | ||
|
246334390b | ||
|
6e66d7b8eb | ||
|
edfe125bf9 | ||
|
7f9b90f0a6 | ||
|
0e5b196cb6 | ||
|
078332e4d8 | ||
|
846be446d3 | ||
|
732e215dd8 | ||
|
093d8ea323 | ||
|
3cde494000 | ||
|
a31e6e8497 | ||
|
2ef5d1af86 | ||
|
84c491a8c8 | ||
|
ae47a6f4fa | ||
|
1c3dbdbbf6 | ||
|
fa6024e15e | ||
|
9b93383f5b | ||
|
86b683a888 | ||
|
5d0942baa2 | ||
|
6c244bd4dd | ||
|
08abfa3814 | ||
|
4a0899fe52 | ||
|
fa120eb2af | ||
|
166b55ced1 | ||
|
2f8192bc6b | ||
|
51b75ae50a | ||
|
a89c82e402 | ||
|
c70af6530c | ||
|
6010eb27c9 | ||
|
2a0fbe34ba | ||
|
c1dc2d5e68 | ||
|
c71093b21a | ||
|
b7f1c2d2f1 | ||
|
dafb66142e | ||
|
2431a707d3 | ||
|
34d306ab18 | ||
|
62e79d2c1e | ||
|
4e07adbb86 | ||
|
495bb66541 | ||
|
f7ed3d4df8 | ||
|
64c14b5dcf | ||
|
11b3d2123f | ||
|
0df412d8cc | ||
|
ad1fb31318 | ||
|
6a303185ef | ||
|
f3df6fa9a7 | ||
|
2528b9b4bf | ||
|
e0f150b171 | ||
|
c73c92368f | ||
|
1609a20381 | ||
|
061b90507d | ||
|
2a468d25fc | ||
|
9f3fd694f0 | ||
|
38750f88fc | ||
|
3b452e0a79 | ||
|
cea4fd9bb0 | ||
|
896a2430d8 | ||
|
3a46e02964 | ||
|
39f8a1aaf9 | ||
|
d9ceb9deb4 | ||
|
126f9e51fb | ||
|
37e1d93ca0 | ||
|
d0310faa3b | ||
|
f266dc6174 | ||
|
28bca0546b | ||
|
6d13a0a78a | ||
|
f503b60bb9 | ||
|
e552d073b7 | ||
|
8d7a89b271 | ||
|
f9891c8b46 | ||
|
ad787e18e0 | ||
|
81ade745b1 | ||
|
d32efc9c7b | ||
|
beceea29d1 | ||
|
17e9bcb9b8 | ||
|
15062533fc | ||
|
08c76e1f7d | ||
|
f2e1d0ae9a | ||
|
496fedfa2a | ||
|
b763b37411 | ||
|
b3d597b1dd | ||
|
258f52b520 | ||
|
b71181adc3 | ||
|
9d68cb2144 | ||
|
723591376e | ||
|
8595469093 | ||
|
95636813a4 | ||
|
b4383fc759 | ||
|
33ed3ebf6a | ||
|
744c70dcc7 | ||
|
72b3c3c838 | ||
|
7c82dbcc51 | ||
|
cfe08ff197 | ||
|
8be1fdf26f | ||
|
5a2bbcaa93 | ||
|
30d3c9ed48 | ||
|
dcf86e0cff | ||
|
d8b150f0d5 | ||
|
c7ddc999fc | ||
|
006eb9d8c8 | ||
|
c49869b424 | ||
|
be81685887 | ||
|
f26a1985bf | ||
|
0b20b83b7d | ||
|
22f009901d | ||
|
4685e53fe6 | ||
|
193eefb2e8 | ||
|
d46bc60413 | ||
|
ce005dac68 | ||
|
f5fa96f9c3 | ||
|
f47c32a12d | ||
|
da33b75e7d | ||
|
85b6c66c83 | ||
|
0b4298c242 | ||
|
3d4923d85a | ||
|
86cb421df6 | ||
|
459f493486 | ||
|
d5f645c6cd | ||
|
d3d38c95b7 | ||
|
0f47ff1be5 | ||
|
cf9588040d | ||
|
4c80425f30 | ||
|
6238563b2b | ||
|
5387144a93 | ||
|
6453c9062b | ||
|
9168ab0077 | ||
|
6e079dc120 | ||
|
5adbc767f6 | ||
|
2647b6f9ba | ||
|
9137cbd5e4 | ||
|
444d2af9a9 | ||
|
df128a55b1 | ||
|
a84a7340b6 | ||
|
a0b366d550 | ||
|
50b4f78344 | ||
|
ebf201b8f5 | ||
|
ff5eb86aeb | ||
|
0e1245e3d0 | ||
|
7b2da05310 | ||
|
d2186a3b3f | ||
|
b56fcfe9b5 | ||
|
9a940bf295 | ||
|
5fb34e87eb | ||
|
5936ba43f3 | ||
|
9734af6697 | ||
|
9529530766 | ||
|
dde937cce3 | ||
|
4ab023329d | ||
|
39f3f52b3e | ||
|
cad708d210 | ||
|
2422f8c21e | ||
|
45ffee8346 | ||
|
6ba9b5a86f | ||
|
cc0dd5f8a2 | ||
|
4b5d17ebb3 | ||
|
117453e890 | ||
|
544bc2693a | ||
|
e088721f71 | ||
|
1463a2a04d | ||
|
92bb8320d6 | ||
|
01b60633a8 | ||
|
3356305ca6 | ||
|
f553ae4bf3 | ||
|
6aeed16422 | ||
|
b09d44ef2d | ||
|
23d4d9f368 | ||
|
0f639750a1 | ||
|
9d5af5b0c2 | ||
|
91f2f03759 | ||
|
32d47eb688 | ||
|
44da9e201c | ||
|
f2cc3dd8ea | ||
|
8f5138d8a5 | ||
|
a67eaec0d0 | ||
|
f485d91141 | ||
|
13ad740701 | ||
|
d7205bebd5 | ||
|
197a3c6cea | ||
|
3b8deeefa5 | ||
|
f3c485e21f | ||
|
78d6ce45d4 | ||
|
965881b7ce | ||
|
ef2e86edeb | ||
|
59de112995 | ||
|
b33a2b05af | ||
|
55ef0d25d3 | ||
|
9965553011 | ||
|
0c9d8a4ef5 | ||
|
5ebe431087 | ||
|
9e77d4d037 | ||
|
d1e18d9a44 | ||
|
7ae4a268eb | ||
|
6aea9f9923 | ||
|
0a6c62fbbe | ||
|
b68ebfa8fc | ||
|
c7d2235899 | ||
|
89c0ef7395 | ||
|
3de8f8c137 | ||
|
da33246bc5 | ||
|
4721e47064 | ||
|
266c58a20b | ||
|
d1a4a7a7fa | ||
|
d6d416cc96 | ||
|
ee8ca86dd6 | ||
|
f57b05b573 | ||
|
255748ea5d | ||
|
f35eee94bd | ||
|
e39becf521 | ||
|
c00e2fb996 | ||
|
52b1e2814a | ||
|
fe26be1181 | ||
|
be756f18df | ||
|
ad84062b0d | ||
|
431d0083a8 | ||
|
b458a4f745 | ||
|
0962b1fa5d | ||
|
b5598cee7e | ||
|
2fa4938796 | ||
|
8dc95ddbd4 | ||
|
df02f7aed8 | ||
|
9400f84d31 | ||
|
1011ed76a6 | ||
|
7596c54dba | ||
|
bd17f7b877 | ||
|
6d787c2590 | ||
|
afa6a2de48 | ||
|
8eb34dbe57 | ||
|
58d668c387 | ||
|
31f5283563 | ||
|
7f443e1e38 | ||
|
3b99d6298e | ||
|
fca9907c49 | ||
|
ca7580c064 | ||
|
0bca050f2c | ||
|
382e2167cc | ||
|
853c1afac2 | ||
|
5a7dc9eb62 | ||
|
3dd6867ea9 | ||
|
b18946a557 | ||
|
91f955e31f | ||
|
65562cd654 | ||
|
bf1712422a | ||
|
e512bce189 | ||
|
524bcbb494 | ||
|
31839f3c45 | ||
|
26e59a6280 | ||
|
c157ee97d4 | ||
|
7378015b74 | ||
|
e68da64969 | ||
|
ee9a42af8e | ||
|
145eb479a4 | ||
|
2a93d288a8 | ||
|
ffd50a6e8d | ||
|
954111695c | ||
|
7f7ab8f16c | ||
|
c0441677d1 | ||
|
ce828b6ae8 | ||
|
42b4e4e1dd | ||
|
b4eb02aa8b | ||
|
db7906a579 | ||
|
7140db4751 | ||
|
ecea91679f | ||
|
5a157176dd | ||
|
7841a7f824 | ||
|
783982751d | ||
|
e30a0e63b5 | ||
|
d59ae09832 | ||
|
39da5326f5 | ||
|
f9beb3c0a5 | ||
|
6617a77e63 | ||
|
91945fbf21 | ||
|
a2545bc011 | ||
|
e79595def5 | ||
|
0f21de8423 | ||
|
05e8dd18b1 | ||
|
86f29118d3 | ||
|
95f8359093 | ||
|
4612f5b5fd | ||
|
28cbab3956 | ||
|
0ffdeef681 | ||
|
eb5fa79723 | ||
|
ca24fe48c4 | ||
|
f704b54883 | ||
|
bfb5c807e7 | ||
|
503f9fda30 | ||
|
8b8fbafb84 | ||
|
4d990ab1bb | ||
|
99f83bbad4 | ||
|
3c599a2c08 | ||
|
de2b6b8349 | ||
|
dd12d53494 | ||
|
07734c91d5 | ||
|
d415c206b5 | ||
|
198f427907 | ||
|
416be81068 | ||
|
c773b6c896 | ||
|
2e1427b6a7 | ||
|
a1ef94e822 | ||
|
5ea2e405da | ||
|
279d8b5f3d | ||
|
49ca968b0b | ||
|
10348399a6 | ||
|
087504f142 | ||
|
1cd8703b3f | ||
|
e1f8db9adb | ||
|
deda9c0f8a | ||
|
02381a2ca0 | ||
|
4655d041cd | ||
|
1e3d16e8d1 | ||
|
409a5dc8af | ||
|
c544a85d2a | ||
|
bfb0c2d543 | ||
|
e3acc8fcf3 | ||
|
4a637802fa | ||
|
505e3f7e85 | ||
|
cf49dec4de | ||
|
2491d790d2 | ||
|
66d875a143 | ||
|
15b0ab51b9 | ||
|
afd7ce680b | ||
|
7d549f8908 | ||
|
b3f24b4884 | ||
|
8b93689a35 | ||
|
b6b13c9f29 | ||
|
b2536f418f | ||
|
b590a04f78 | ||
|
55d0ab5dc4 | ||
|
80f963ccd5 | ||
|
e9dcc7a3c5 | ||
|
fd15c99f4e | ||
|
20667c59d8 | ||
|
71dbcf127a | ||
|
2b84008ed9 | ||
|
7f50afb0c7 | ||
|
2cce24dd4b | ||
|
216db613a7 | ||
|
cfcf3c584f | ||
|
349b6a1152 | ||
|
48427512d6 | ||
|
09d50671e6 | ||
|
59674c984e | ||
|
8cced29eed | ||
|
d589c8681e | ||
|
c27014b9df | ||
|
3270ce03d6 | ||
|
680594b50c | ||
|
18a55cdd49 | ||
|
b9d075b0fc | ||
|
bc553e6a5b | ||
|
3c559e791f | ||
|
72e634fa73 | ||
|
8dda419b3c | ||
|
87bb5f5e7a | ||
|
0e3c245c6c | ||
|
3eff037f8c | ||
|
b3426c03b4 | ||
|
297e9c826f | ||
|
1d260e6573 | ||
|
8edc6dc91f | ||
|
d2496576f1 | ||
|
ded3f909cb | ||
|
3f19e1d97f | ||
|
5403a8e861 | ||
|
660ff2072d | ||
|
2cc66916e5 | ||
|
910490f3f4 | ||
|
1095bfafed | ||
|
3de9d774b1 | ||
|
3dd23a5e72 | ||
|
98e338ee86 | ||
|
8e71ca00d4 | ||
|
9890bd98b0 | ||
|
4e09ebeded | ||
|
d57ace259a | ||
|
838d8b07ab | ||
|
97ea346fdf | ||
|
65244a7f66 | ||
|
0443ac2827 | ||
|
20bbd81201 | ||
|
98189771ab | ||
|
687c419cde | ||
|
188f64172b | ||
|
632283092c | ||
|
203061c24a | ||
|
0328a723b8 | ||
|
80d0b01b38 | ||
|
ba2533f0ee | ||
|
5aacda4b98 | ||
|
6fdb223859 | ||
|
03026a2a7d | ||
|
445394e9ab | ||
|
a5208f575f | ||
|
13e902d571 | ||
|
aa8d7721d4 | ||
|
d6c2d1df2c | ||
|
59613ee270 | ||
|
50f4c5ae33 | ||
|
a433da754a | ||
|
21353baa16 | ||
|
6342c93ee7 | ||
|
a546f11c6d | ||
|
033435b75f | ||
|
c42ef561a0 | ||
|
22d66efe65 | ||
|
c9871505f1 | ||
|
c563d34fc1 | ||
|
5f1786fc9c | ||
|
7e1f1a5130 | ||
|
b90a2ff079 | ||
|
464f83454f | ||
|
a8a9fb08dd | ||
|
571d07d45b | ||
|
aa771cb19f | ||
|
c162131d00 | ||
|
6b2a54030f | ||
|
1b439d9ced | ||
|
5e2a2cd5e7 | ||
|
8bb2bace86 | ||
|
66922d05d7 | ||
|
1317689066 | ||
|
940fb57c06 | ||
|
b89ce2e1b4 | ||
|
d059bae29d | ||
|
f839052fe7 | ||
|
d5c8912f1e | ||
|
fdb9805d68 | ||
|
563b8694d2 | ||
|
28086f0d2c | ||
|
4510a8f4b3 | ||
|
292aa56ce9 | ||
|
31d04e6e0d | ||
|
fb6ea0af40 | ||
|
e78d140b11 | ||
|
bcbf2deb42 | ||
|
ec32e61bb8 | ||
|
7e220cac2d | ||
|
63f73f2a60 | ||
|
ef879a8f30 | ||
|
5dee36464e | ||
|
1a29f4aeeb | ||
|
809b7513a2 | ||
|
c54dcf499b | ||
|
3647920722 | ||
|
0a19f1df09 | ||
|
03ddd190fd | ||
|
539b97df62 | ||
|
a39cd99b26 | ||
|
4822630c0c | ||
|
00ad48554a | ||
|
5b549f3770 | ||
|
9f38be89f6 | ||
|
58e033d97d | ||
|
d9a6afe1a4 | ||
|
b5392f930d | ||
|
4d9d964276 | ||
|
eb50d9a4fe | ||
|
a96c4a1340 | ||
|
5fffb5e30d | ||
|
d947c691bc | ||
|
08aa502d79 | ||
|
fad9536edf | ||
|
a4ea8b8c18 | ||
|
314cef6600 | ||
|
ea58adddf4 | ||
|
eefb5900d0 | ||
|
7b2deddbb0 | ||
|
d2f90a0659 | ||
|
d12d25227f | ||
|
c6f2b61355 | ||
|
a0cd4b18af | ||
|
74de4b85d1 | ||
|
b685e921bb | ||
|
0a8da746c2 | ||
|
7e4d16b861 | ||
|
91bc620702 | ||
|
e0c084cab3 | ||
|
67a26c9dcd | ||
|
792098c45e | ||
|
bd0a93fa28 | ||
|
a1af2757b5 | ||
|
71f0ceb03a | ||
|
1cfba67b2c | ||
|
66e356c662 | ||
|
5cbaba48e6 | ||
|
afec0716ee | ||
|
ed4d0d78bb | ||
|
703658a7ce | ||
|
59d5731ec7 | ||
|
8f09688d23 | ||
|
540151f115 | ||
|
abddb1fff0 | ||
|
d53fd704f2 | ||
|
b371e233eb | ||
|
c48624ce1b | ||
|
3e7727908c | ||
|
81100bf7ff | ||
|
4007d7f8c7 | ||
|
3beb108a62 | ||
|
93bcebcfff | ||
|
e34c80256e | ||
|
df2bfb9a1a | ||
|
1225afe482 | ||
|
9389fdfe4d | ||
|
970f1a4101 | ||
|
640215e6f4 | ||
|
01ebc74d56 | ||
|
fdd0e9b38f | ||
|
6325ce2ddd | ||
|
cf5312b17b | ||
|
7cb4f4edbf | ||
|
65e4f7858e | ||
|
02240b7a5e | ||
|
568a42ab8c | ||
|
44449192ab | ||
|
2a3f9f543a | ||
|
eb6cac2f16 | ||
|
1799011dc6 | ||
|
da10b9224a | ||
|
1458777c3b | ||
|
3807ecdc54 | ||
|
a7d2f29823 | ||
|
8418fd418c | ||
|
a165c07ed7 | ||
|
19e1d631e3 | ||
|
eb0eeb21be | ||
|
f0a3d44458 | ||
|
101ef0b528 | ||
|
cd7a70f487 | ||
|
16248e89ec | ||
|
21160a72eb | ||
|
117cf2bdcb | ||
|
f2cc52b694 | ||
|
2f944f4da4 | ||
|
ec88c5c688 | ||
|
96c075a359 | ||
|
5bfb5cc485 | ||
|
155c8023dd | ||
|
4a9cd2e237 | ||
|
47cef8f95b | ||
|
4af1fe23f8 | ||
|
a5d9e7a628 | ||
|
06993ee729 | ||
|
b0b99058cc | ||
|
4a86b3b036 | ||
|
c99d3afe3e | ||
|
1e02d73c73 | ||
|
37ba3d1cf5 | ||
|
85bb874c9c | ||
|
8d6ea6a491 | ||
|
f6f4a8f8de | ||
|
148ca3d030 | ||
|
52009a9d16 | ||
|
38a1286111 | ||
|
eeb8e74944 | ||
|
3d0df83133 | ||
|
ab9a7c0c44 | ||
|
51d9d6712e | ||
|
652799b738 | ||
|
a23a0388e6 | ||
|
277498c283 | ||
|
182fea717e | ||
|
c788ae328e | ||
|
db7f6fb752 | ||
|
54ff1a0ad3 | ||
|
7cd2c07317 | ||
|
546a2e8468 | ||
|
a963acdcc7 | ||
|
9ede2ffee8 | ||
|
e804695c6a | ||
|
4c095fc9e9 | ||
|
c2741855af | ||
|
16562cb859 | ||
|
44348185d9 | ||
|
220ac049ba | ||
|
057d1b9d7e | ||
|
0ebf32e207 | ||
|
8981c809e8 | ||
|
cb3e16f287 | ||
|
5e59a82c27 | ||
|
4b5eefa675 | ||
|
526d840b13 | ||
|
4b3047833f | ||
|
7fc006f745 | ||
|
7e8eb6bdbe | ||
|
63c95d2e87 | ||
|
8e23bac97e | ||
|
12b121cdb4 | ||
|
544b572c07 | ||
|
f1f2367b80 | ||
|
6ae8b5034b | ||
|
6aa094e30d | ||
|
0c1cf9f5a2 | ||
|
2d9a35a8be | ||
|
f0b1c1f9c3 | ||
|
4fcf57b782 | ||
|
9cd53c56ed | ||
|
f5238b243f | ||
|
64d8b9decf | ||
|
a4542990f4 | ||
|
662c61d449 | ||
|
c43001eb14 | ||
|
1b7b7a3697 | ||
|
293e6a96a9 | ||
|
4f387e1240 | ||
|
b7908d2b08 | ||
|
9172b6920c | ||
|
5fa756cc97 | ||
|
137f41f2d4 | ||
|
8216b46d7b | ||
|
ed316bc39c | ||
|
12ef4f2d71 | ||
|
07841c2a2a | ||
|
7d640e2ac7 | ||
|
5be75d5311 | ||
|
830e0de401 | ||
|
9a016236d4 | ||
|
69e826dab2 | ||
|
50aebaf8a0 | ||
|
9ef977f595 | ||
|
e405c27294 | ||
|
85cd7c245c | ||
|
b843ee6efc | ||
|
dad1cef0c0 | ||
|
cd2aa47a34 | ||
|
216f717d31 | ||
|
8d75f6c247 | ||
|
a4e8fb2afd | ||
|
5c82c444fb | ||
|
0889e9392c | ||
|
a7cac0a681 | ||
|
2dba2949fa | ||
|
063b162008 | ||
|
b93f86601c | ||
|
9c5a9bba8e | ||
|
157b189f6b | ||
|
146c098233 | ||
|
184a1176f3 | ||
|
126d4198a9 | ||
|
f4aa501eca | ||
|
ccac15a4dd | ||
|
4055cd8b03 | ||
|
aa3c0a5fad | ||
|
8699724a07 | ||
|
0d4d09cad1 | ||
|
1dbf31014f | ||
|
047a9e4ddc | ||
|
66cabe7ba2 | ||
|
434a975b97 | ||
|
aa9aff7b81 | ||
|
460a1758aa | ||
|
8444e3c47a | ||
|
2c430c8c5b | ||
|
faf20d30a6 | ||
|
f091f4daf7 | ||
|
5ec97cea67 | ||
|
1bc6bf1152 | ||
|
621142aa60 | ||
|
07b7d8c630 | ||
|
7cdb047ce7 | ||
|
544878b563 | ||
|
5bc641afeb | ||
|
b3267e002e | ||
|
826f35421e | ||
|
89d7fd8100 | ||
|
a347630641 | ||
|
4913d8aed0 | ||
|
b1af16a424 | ||
|
6673e8ec6a | ||
|
e366ba14eb | ||
|
00e1ee9242 | ||
|
1d5fc281c8 | ||
|
bca33b43f7 | ||
|
3324e3f814 | ||
|
2c307a0bed | ||
|
32ddc0d9f7 | ||
|
75e4314675 | ||
|
3b217d5c69 | ||
|
ff0945e8ec | ||
|
4a73bf8378 | ||
|
3f85edbcc5 | ||
|
bb9506121f | ||
|
f377fafd94 | ||
|
c0193c9237 | ||
|
8ce36ac548 | ||
|
8c206c9fdd | ||
|
7439a7adaf | ||
|
670856620d | ||
|
1ef039bb49 | ||
|
c4fdb7b923 | ||
|
e31ec299de | ||
|
08456363f2 | ||
|
15063e8819 | ||
|
302dddf0f4 | ||
|
61e346624a | ||
|
c59fbf2bb8 | ||
|
b987282242 | ||
|
f4e1583376 | ||
|
8adaffcbed | ||
|
e2e1f12265 | ||
|
c74b93df9f | ||
|
0f5e01a962 | ||
|
9fc12e0d4e | ||
|
7ca7dbc0f5 | ||
|
d366f54744 | ||
|
0caf834c8f | ||
|
3a323808f6 | ||
|
d073a0b983 | ||
|
a23ff7c8ed | ||
|
5cf9ccc57d | ||
|
6b212d8fcf | ||
|
e2c24f783d | ||
|
34c30565b0 | ||
|
0bd0806d2f | ||
|
ad1fdac987 | ||
|
d881367c08 | ||
|
40bc485745 | ||
|
c17cc63e48 | ||
|
48c5d29cde | ||
|
2e0f2788a8 | ||
|
4c81167ce4 | ||
|
bd7b245ff0 | ||
|
2e3aff8d86 | ||
|
544369ebf3 | ||
|
6bbabef388 | ||
|
3e786b5546 | ||
|
2fe596e677 | ||
|
733c28fa42 | ||
|
04ce8fe6e3 | ||
|
ef19ce5346 | ||
|
84d5d65bce | ||
|
7ece24634c | ||
|
1c6e5a6e9d | ||
|
ca38fbcdbf | ||
|
dacd5b9a6a | ||
|
680027edf6 | ||
|
98f43a1f75 | ||
|
08eca5dcc3 | ||
|
c6e3708174 | ||
|
3a4511eb6c | ||
|
2a20d13c39 | ||
|
2524928f5d | ||
|
6c8a040ec5 | ||
|
41d9b65149 | ||
|
d157b3e1e0 | ||
|
14222d8678 | ||
|
9970b61ad3 | ||
|
0a4457ff44 | ||
|
cccb815c5e | ||
|
f4d2c8714f | ||
|
bab69c3fe2 | ||
|
3d41a13990 | ||
|
6276dfee51 | ||
|
2c469ad79c | ||
|
564720f2c8 | ||
|
87f265b210 | ||
|
0ecdf3e536 | ||
|
f795242f26 | ||
|
9c55ee34ac | ||
|
a3cb61a55d | ||
|
73ee930a53 | ||
|
69254494a0 | ||
|
042e46f6c8 | ||
|
cafbbf5261 | ||
|
7db852aa57 | ||
|
dc6c322fda | ||
|
b2a5f0b9c2 | ||
|
fe481eb3e5 | ||
|
e119d86ca8 | ||
|
d78866399c | ||
|
3dddf4fb41 | ||
|
e29b80429f | ||
|
f6c20681d1 | ||
|
0b7cc927b6 | ||
|
66532b0ba7 | ||
|
02547c5886 | ||
|
b8f1bd7a37 | ||
|
26e0d4c98e | ||
|
5422681942 | ||
|
0bd84ed250 | ||
|
6d2dbe11ae | ||
|
9c0fe34511 | ||
|
c4d56d668f | ||
|
be207b1098 | ||
|
09370df845 | ||
|
f6f5779072 | ||
|
e3443d87cc | ||
|
efe7947ac2 | ||
|
b9c18507ec | ||
|
141d909323 | ||
|
45ecc61c03 | ||
|
35b8ae1992 | ||
|
b92c4e3683 | ||
|
3071c8114a | ||
|
cc7495c4e0 | ||
|
c27f1c390a | ||
|
041200fae3 | ||
|
2e92adce77 | ||
|
6c5e7c70ac | ||
|
d434e8b1f1 | ||
|
17cfba6fd4 | ||
|
4183312cec | ||
|
bccd2b6c49 | ||
|
aba8fb1158 | ||
|
26a682c944 | ||
|
825646e643 | ||
|
641e0f6841 | ||
|
b9df3bc5f7 | ||
|
0baad5ad6d | ||
|
a7d55cf910 | ||
|
871d2c74a2 | ||
|
a6f9eab44a | ||
|
c989e0bd56 | ||
|
eaee392cb3 | ||
|
3f98d41b6e | ||
|
e825d3f4d6 | ||
|
b7ec252d37 | ||
|
43d07f75cf | ||
|
25f9dcb685 | ||
|
9904905b48 | ||
|
b2e75d2d1d | ||
|
30e9bc56d6 | ||
|
e5269a8fd9 | ||
|
c47c6405e8 | ||
|
06cc764483 | ||
|
ed9ea86ba3 | ||
|
d19b3ca90d | ||
|
c077b2274b | ||
|
92dc391291 | ||
|
bba18c5540 | ||
|
d93ee950b3 | ||
|
c3244ccca7 | ||
|
f98dc48386 | ||
|
7706a04c60 | ||
|
c703814e95 | ||
|
4c3da7039d | ||
|
f2ad8b3517 | ||
|
9247e86f28 | ||
|
cac5e94726 | ||
|
28883db36f | ||
|
fa781fa52c | ||
|
b11a342703 | ||
|
17674ad829 | ||
|
810527a4ea | ||
|
047cac7b42 | ||
|
b3cd762ea4 | ||
|
a0a83e1a6c | ||
|
3b34177830 | ||
|
6664dd0208 | ||
|
f3073fcff4 | ||
|
9d426f18f8 | ||
|
990a05d261 | ||
|
669e155ad2 | ||
|
d298ffe208 | ||
|
378352540d | ||
|
07be67aa4b | ||
|
bcdb893778 | ||
|
4926e989ac | ||
|
9f378d3b03 | ||
|
c1e9ba8c3d | ||
|
8a48c92338 | ||
|
c19161538c | ||
|
04f995150f | ||
|
9429b70f91 | ||
|
90cf4bb02a | ||
|
98d5a86ec0 | ||
|
931e991325 | ||
|
53b4b2850c | ||
|
767c4b2899 | ||
|
5592cfd5b3 | ||
|
135bc3652e | ||
|
693c55c545 | ||
|
321daa86ef | ||
|
336420348e | ||
|
b85ddc5d44 | ||
|
dffa781558 | ||
|
47ea45190b | ||
|
eaeb0b7892 | ||
|
1a64194307 | ||
|
bd4bcab8ad | ||
|
57e257d987 | ||
|
6a27e76696 | ||
|
b5871e5ccf | ||
|
403f433238 | ||
|
ae5b3671b3 | ||
|
150a61e103 | ||
|
ef3caf053e | ||
|
bbeed7ac72 | ||
|
83369fa6f4 | ||
|
532f205a05 | ||
|
19d04388a3 | ||
|
99f0e0c4dc | ||
|
3a0cad30f2 | ||
|
c199973f78 | ||
|
ccab651ded | ||
|
db7a3ae863 | ||
|
a31cd21c3a | ||
|
cf96c2a4f1 | ||
|
517ed8b0e4 | ||
|
d70f5fae1c | ||
|
1662c0bbfe | ||
|
43e9bd6b9c | ||
|
1e9473cc25 | ||
|
7e3eab2c13 | ||
|
31270646ba | ||
|
77f778c0c3 | ||
|
c9c80c6907 | ||
|
b28658995d | ||
|
326edeb59c | ||
|
ea24414605 | ||
|
cd92979d44 | ||
|
17b1a166a3 | ||
|
231537bb8f | ||
|
308185546b | ||
|
0f33d8c29a | ||
|
877481cda2 | ||
|
deab64d2b6 | ||
|
9777048e92 | ||
|
bd00fb1366 | ||
|
e24585c834 | ||
|
17887d08fe | ||
|
b14b55daaf | ||
|
544c124b79 | ||
|
e7c9781bdc | ||
|
7ebb0189fd | ||
|
4288cda2ed | ||
|
46445155ea | ||
|
47a7b37cbf | ||
|
17362bee85 | ||
|
868c8074b5 | ||
|
7724cebf97 | ||
|
7ae71921cf | ||
|
7b10debe2e | ||
|
452aaae601 | ||
|
52f0e84ba7 | ||
|
5f914dc4ce | ||
|
c3feebb7f5 | ||
|
768db4f5ca | ||
|
65fe2948a9 | ||
|
34b0d4804f | ||
|
64dea2ed62 | ||
|
cebf57905b | ||
|
b1a2b22d8b | ||
|
ea61c0ee98 | ||
|
640ca69c05 | ||
|
8f45905193 | ||
|
b9cc7b38f8 | ||
|
a9ee8fcbb0 | ||
|
a78146c2b9 | ||
|
71756c21af | ||
|
6046eb405a | ||
|
e1559eb84f | ||
|
3a82e9b8a3 | ||
|
b3042ed234 | ||
|
d03ae8c33a | ||
|
3820e3ceed | ||
|
f357f7e264 | ||
|
6f76d0b12f | ||
|
7f383c0b41 | ||
|
2de57585a0 | ||
|
19dca2b046 | ||
|
13e7a2fd35 | ||
|
bcbc514cfa | ||
|
498de91e45 | ||
|
917cc5cf25 | ||
|
8b199ce675 | ||
|
fd7eb20c0f | ||
|
152a5e1916 | ||
|
5f7b1164c5 |
11
.editorconfig
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# EditorConfig: https://EditorConfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = tab
|
||||||
|
tab_width = 8
|
||||||
|
charset = utf-8
|
||||||
|
insert_final_newline = true
|
||||||
|
end_of_line = lf
|
||||||
|
trim_trailing_whitespace = true
|
1
.gitignore
vendored
@@ -56,6 +56,7 @@ site-local
|
|||||||
*.\#
|
*.\#
|
||||||
*.bin
|
*.bin
|
||||||
*.debug
|
*.debug
|
||||||
|
!Kconfig.debug
|
||||||
*.elf
|
*.elf
|
||||||
*.o
|
*.o
|
||||||
*.out
|
*.out
|
||||||
|
8
.gitmodules
vendored
@@ -34,3 +34,11 @@
|
|||||||
url = ../intel-microcode.git
|
url = ../intel-microcode.git
|
||||||
update = none
|
update = none
|
||||||
ignore = dirty
|
ignore = dirty
|
||||||
|
[submodule "3rdparty/ffs"]
|
||||||
|
path = 3rdparty/ffs
|
||||||
|
url = ../ffs.git
|
||||||
|
[submodule "3rdparty/amd_blobs"]
|
||||||
|
path = 3rdparty/amd_blobs
|
||||||
|
url = ../amd_blobs
|
||||||
|
update = none
|
||||||
|
ignore = dirty
|
||||||
|
1
3rdparty/amd_blobs
vendored
Submodule
2
3rdparty/arm-trusted-firmware
vendored
2
3rdparty/blobs
vendored
2
3rdparty/chromeec
vendored
1
3rdparty/ffs
vendored
Submodule
2
3rdparty/libgfxinit
vendored
2
3rdparty/opensbi
vendored
2
3rdparty/vboot
vendored
127
AUTHORS
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
# This is the list of coreboot authors for copyright purposes.
|
||||||
|
#
|
||||||
|
# This does not necessarily list everyone who has contributed code, since in
|
||||||
|
# some cases, their employer may be the copyright holder. To see the full list
|
||||||
|
# of contributors, and their email addresses, see the revision history in source
|
||||||
|
# control.
|
||||||
|
# Run the below commands in the coreboot repo for additional information.
|
||||||
|
# To see a list of contributors: git log --pretty=format:%an | sort | uniq
|
||||||
|
# For patches adding or removing a name: git log -i -S "NAME" --source --all
|
||||||
|
|
||||||
|
9elements Agency GmbH
|
||||||
|
Advanced Micro Devices, Inc.
|
||||||
|
Alex Züpke
|
||||||
|
Alexander Couzens
|
||||||
|
Alexandru Gagniuc
|
||||||
|
Analog Devices Inc.
|
||||||
|
Andy Fleming
|
||||||
|
ARM Limited and Contributors
|
||||||
|
Arthur Heymans
|
||||||
|
ASPEED Technology Inc.
|
||||||
|
Atheros Corporation
|
||||||
|
Atmel Corporation
|
||||||
|
Carl-Daniel Hailfinger
|
||||||
|
coresystems GmbH
|
||||||
|
Damien Zammit
|
||||||
|
David Brownell
|
||||||
|
David Hendricks
|
||||||
|
David Mosberger-Tang
|
||||||
|
Denis Dowling
|
||||||
|
DENX Software Engineering
|
||||||
|
DMP Electronics Inc.
|
||||||
|
Drew Eckhardt
|
||||||
|
Egbert Eich
|
||||||
|
Eltan B.V
|
||||||
|
Eric Biederman
|
||||||
|
Eswar Nallusamy
|
||||||
|
Facebook, Inc.
|
||||||
|
Felix Held
|
||||||
|
Frederic Potter
|
||||||
|
Free Software Foundation, Inc.
|
||||||
|
Freescale Semiconductor, Inc.
|
||||||
|
Gary Jennejohn
|
||||||
|
Gerd Hoffmann
|
||||||
|
Google LLC
|
||||||
|
Greg Watson
|
||||||
|
Idwer Vollering
|
||||||
|
Imagination Technologies
|
||||||
|
Infineon Technologies
|
||||||
|
Intel Corporation
|
||||||
|
Jason Zhao
|
||||||
|
Jonathan Neuschäfer
|
||||||
|
Jordan Crouse
|
||||||
|
Joseph Smith
|
||||||
|
Keith Hui
|
||||||
|
Keith Packard
|
||||||
|
Kshitij
|
||||||
|
Kyösti Mälkki
|
||||||
|
Lei Wen
|
||||||
|
Li-Ta Lo
|
||||||
|
Libra Li
|
||||||
|
Linus Torvalds
|
||||||
|
Linux Networx, Inc.
|
||||||
|
Luc Verhaegen
|
||||||
|
Marc Jones
|
||||||
|
Marek Vasut
|
||||||
|
Marius Gröger
|
||||||
|
Martin Mares
|
||||||
|
Marvell International Ltd.
|
||||||
|
Marvell Semiconductor Inc.
|
||||||
|
MediaTek Inc.
|
||||||
|
MontaVista Software, Inc.
|
||||||
|
Myles Watson
|
||||||
|
Network Appliance Inc.
|
||||||
|
Nicholas Sielicki
|
||||||
|
Nick Barker
|
||||||
|
Nico Huber
|
||||||
|
Ollie Lo
|
||||||
|
Orion Technologies, LLC
|
||||||
|
Patrick Georgi
|
||||||
|
Patrick Rudolph
|
||||||
|
PC Engines GmbH
|
||||||
|
Per Odlund
|
||||||
|
Peter Stuge
|
||||||
|
Raptor Engineering, LLC
|
||||||
|
Red Hat Inc
|
||||||
|
Reinhard Meyer
|
||||||
|
Richard Woodruff
|
||||||
|
Ronald G. Minnich
|
||||||
|
Rudolf Marek
|
||||||
|
Russell King
|
||||||
|
Sage Electronic Engineering, LLC
|
||||||
|
Samsung Electronics
|
||||||
|
SciTech Software, Inc.
|
||||||
|
Sebastian Grzywna
|
||||||
|
secunet Security Networks AG
|
||||||
|
Siemens AG
|
||||||
|
Silicon Integrated System Corporation
|
||||||
|
Stefan Reinauer
|
||||||
|
Steve Magnani
|
||||||
|
ST Microelectronics
|
||||||
|
SUSE LINUX AG
|
||||||
|
Sven Schnelle
|
||||||
|
Syed Mohammed Khasim
|
||||||
|
Texas Instruments
|
||||||
|
The Linux Foundation
|
||||||
|
Thomas Winischhofer
|
||||||
|
Timothy Pearson
|
||||||
|
Tungsten Graphics, Inc.
|
||||||
|
Tyan Computer Corp.
|
||||||
|
ucRobotics Inc.
|
||||||
|
Uwe Hermann
|
||||||
|
VIA Technologies, Inc
|
||||||
|
Vipin Kumar
|
||||||
|
Ward Vandewege
|
||||||
|
Wolfgang Denk
|
||||||
|
Yinghai Lu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Directories transferred
|
||||||
|
src/acpi
|
||||||
|
src/arch
|
||||||
|
src/commonlib
|
||||||
|
src/console
|
||||||
|
src/cpu
|
||||||
|
src/device
|
||||||
|
src/drivers
|
@@ -148,7 +148,6 @@ mv build/coreboot.rom.new build/coreboot.rom
|
|||||||
<li>Edit the src/soc/<Vendor>/<Chip Family>/memmap.c file
|
<li>Edit the src/soc/<Vendor>/<Chip Family>/memmap.c file
|
||||||
<ol type="A">
|
<ol type="A">
|
||||||
<li>Add the fsp/memmap.h include file</li>
|
<li>Add the fsp/memmap.h include file</li>
|
||||||
<li>Add the mmap_region_granularity routine</li>
|
|
||||||
</ol>
|
</ol>
|
||||||
</li>
|
</li>
|
||||||
<li>Add the necessary .h files to define the necessary values and structures</li>
|
<li>Add the necessary .h files to define the necessary values and structures</li>
|
||||||
|
@@ -1,290 +0,0 @@
|
|||||||
New config language for LinuxBIOS
|
|
||||||
|
|
||||||
\begin{abstract}
|
|
||||||
We describe the new configuration language for LinuxBIOS.
|
|
||||||
\end{abstract}
|
|
||||||
|
|
||||||
\section{Scope}
|
|
||||||
This document defines the new configuration language for LinuxBIOS.
|
|
||||||
|
|
||||||
\section{Goals}
|
|
||||||
The goals of the new language are these:
|
|
||||||
\begin{itemize}
|
|
||||||
\item Simplified Makefiles so people can see what is set
|
|
||||||
\item Move from the regular-expression-based language to something
|
|
||||||
a bit more comprehensible and flexible
|
|
||||||
\item make the specification easier for people to use and understand
|
|
||||||
\item allow unique register-set-specifiers for each chip
|
|
||||||
\item allow generic register-set-specifiers for each chip
|
|
||||||
\item generate static initialization code, as needed, for the
|
|
||||||
specifiers.
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\section{Language}
|
|
||||||
Here is the new language. It is very similar to the old one, differing
|
|
||||||
in only a few respects. It borrows heavily from Greg Watson's suggestions.
|
|
||||||
|
|
||||||
I am presenting it in a pseudo-BNF in the hopes it will be easier. Things
|
|
||||||
in '' are keywords; things in ``'' are strings in the actual text.
|
|
||||||
\begin{verbatim}
|
|
||||||
#exprs are composed of factor or factor + factor etc.
|
|
||||||
expr ::= factor ( ``+'' factor | ``-'' factor | )*
|
|
||||||
#factors are term or term * term or term / term or ...
|
|
||||||
factor ::= term ( ``*'' term | ``/'' term | ... )*
|
|
||||||
#
|
|
||||||
unary-op ::= ``!'' ID
|
|
||||||
# term is a number, hexnumber, ID, unary-op, or a full-blown expression
|
|
||||||
term ::= NUM | XNUM | ID | unary-op | ``(`` expr ``)''
|
|
||||||
|
|
||||||
# Option command. Can be an expression or quote-string.
|
|
||||||
# Options are used in the config tool itself (in expressions and 'if')
|
|
||||||
# and are also passed to the C compiler when building linuxbios.
|
|
||||||
# It is an error to have two option commands in a file.
|
|
||||||
# It is an error to have an option command after the ID has been used
|
|
||||||
# in an expression (i.e. 'set after used' is an error)
|
|
||||||
option ::= 'option' ID '=' (``value'' | term)
|
|
||||||
|
|
||||||
# Default command. The ID is set to this value if no option command
|
|
||||||
# is scanned.
|
|
||||||
# Multiple defaults for an ID will produce warning, but not errors.
|
|
||||||
# It is OK to scan a default command after use of an ID.
|
|
||||||
# Options always over-ride defaults.
|
|
||||||
default ::= 'default' ID '=' (``value'' | term)
|
|
||||||
|
|
||||||
# the mainboard, southbridge, northbridge commands
|
|
||||||
# cause sourcing of Config.lb files as in the old config tool
|
|
||||||
# as parts are sourced, a device tree is built. The structure
|
|
||||||
# of the tree is determined by the structure of the components
|
|
||||||
# as they are specified. To attach a superio to a southbridge, for
|
|
||||||
# example, one would do this:
|
|
||||||
# southbridge acer/5432
|
|
||||||
# superio nsc/123
|
|
||||||
# end
|
|
||||||
# end
|
|
||||||
# the tool generates static initializers for this hierarchy.
|
|
||||||
|
|
||||||
# add C code to the current component (motherboard, etc. )
|
|
||||||
# to initialise the component-INDEPENDENT structure members
|
|
||||||
init ::= 'init' ``CODE''
|
|
||||||
|
|
||||||
# add C code to the current component (motherboard, etc. )
|
|
||||||
# to initialise the component-DEPENDENT structure members
|
|
||||||
register ::= 'register' ``CODE''
|
|
||||||
|
|
||||||
|
|
||||||
# mainboard command
|
|
||||||
# statements in this block will set variables controlling the mainboard,
|
|
||||||
# and will also place components (northbridge etc.) in the device tree
|
|
||||||
# under this mainboard
|
|
||||||
mainboard ::= 'mainboard' PATH (statements)* 'end'
|
|
||||||
|
|
||||||
# standard linuxbios commands
|
|
||||||
southbridge ::= 'southbridge' PATH (statemnts)* 'end'
|
|
||||||
northbridge ::= 'northbridge' PATH (statemnts)* 'end'
|
|
||||||
superio ::= 'superio PATH (statemnts)* 'end'
|
|
||||||
cpu ::= 'cpu' PATH (statemnts)* 'end'
|
|
||||||
arch ::= 'arch' PATH (statemnts)* 'end'
|
|
||||||
|
|
||||||
# files for building linuxbios
|
|
||||||
# include a file in crt0.S
|
|
||||||
mainboardinit ::= 'mainboardinit' PATH
|
|
||||||
|
|
||||||
# object file
|
|
||||||
object ::= 'object' PATH
|
|
||||||
# driver objects are just built into the image in a different way
|
|
||||||
driver ::= 'driver' PATH
|
|
||||||
|
|
||||||
# Use the Config.lb file in the PATH
|
|
||||||
dir ::= 'dir' PATH
|
|
||||||
|
|
||||||
# add a file to the set of ldscript files
|
|
||||||
ldscript ::= 'ldscript' PATH
|
|
||||||
|
|
||||||
# dependencies or actions for the makerule command
|
|
||||||
dep ::= 'dep' ``dependency-string''
|
|
||||||
act ::= 'act' ``actions''
|
|
||||||
depsacts ::= (dep | act)*
|
|
||||||
# set up a makerule
|
|
||||||
#
|
|
||||||
makerule ::= 'makerule' PATH depsacts
|
|
||||||
|
|
||||||
#defines for use in makefiles only
|
|
||||||
# note usable in the config tool, not passed to cc
|
|
||||||
makedefine ::= 'makedefine' ``RAWTEXT''
|
|
||||||
|
|
||||||
# add an action to an existing make rule
|
|
||||||
addaction ::= 'addaction' PATH ``ACTION''
|
|
||||||
|
|
||||||
# statements
|
|
||||||
statement ::=
|
|
||||||
option
|
|
||||||
| default
|
|
||||||
| cpu
|
|
||||||
| arch
|
|
||||||
| northbridge
|
|
||||||
| southbridge
|
|
||||||
| superio
|
|
||||||
| object
|
|
||||||
| driver
|
|
||||||
| mainboardinit
|
|
||||||
| makerule
|
|
||||||
| makedefine
|
|
||||||
| addaction
|
|
||||||
| init
|
|
||||||
| register
|
|
||||||
| iif
|
|
||||||
| dir
|
|
||||||
| ldscript
|
|
||||||
|
|
||||||
statements ::= (statement)*
|
|
||||||
|
|
||||||
# target directory specification
|
|
||||||
target ::= 'target' PATH
|
|
||||||
|
|
||||||
# and the whole thing
|
|
||||||
board ::= target (option)* mainboard
|
|
||||||
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
\subsubsection{Command definitions}
|
|
||||||
\subsubsubsection{option}
|
|
||||||
\subsubsubsection{default}
|
|
||||||
\subsubsubsection{cpu}
|
|
||||||
\subsubsubsection{arch}
|
|
||||||
\subsubsubsection{northbridge}
|
|
||||||
\subsubsubsection{southbridge}
|
|
||||||
\subsubsubsection{superio}
|
|
||||||
\subsubsubsection{object}
|
|
||||||
\subsubsubsection{driver}
|
|
||||||
\subsubsubsection{mainboardinit}
|
|
||||||
\subsubsubsection{makerule}
|
|
||||||
\subsubsubsection{makedefine}
|
|
||||||
\subsubsubsection{addaction}
|
|
||||||
\subsubsubsection{init}
|
|
||||||
\subsubsubsection{register}
|
|
||||||
\subsubsubsection{iif}
|
|
||||||
\subsubsubsection{dir}
|
|
||||||
\subsubsubsection{ldscript}
|
|
||||||
|
|
||||||
|
|
||||||
A sample file:
|
|
||||||
|
|
||||||
\begin{verbatim}
|
|
||||||
target x
|
|
||||||
|
|
||||||
# over-ride the default ROM size in the mainboard file
|
|
||||||
option CONFIG_ROM_SIZE=1024*1024
|
|
||||||
mainboard amd/solo
|
|
||||||
end
|
|
||||||
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
Sample mainboard file
|
|
||||||
\begin{verbatim}
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Set all of the defaults for an x86 architecture
|
|
||||||
###
|
|
||||||
arch i386 end
|
|
||||||
cpu k8 end
|
|
||||||
#
|
|
||||||
option CONFIG_DEBUG=1
|
|
||||||
default CONFIG_USE_FALLBACK_IMAGE=1
|
|
||||||
option A=(1+2)
|
|
||||||
option B=0xa
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Build our 16 bit and 32 bit linuxBIOS entry code
|
|
||||||
###
|
|
||||||
mainboardinit cpu/i386/entry16.inc
|
|
||||||
mainboardinit cpu/i386/entry32.inc
|
|
||||||
ldscript cpu/i386/entry16.lds
|
|
||||||
ldscript cpu/i386/entry32.lds
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Build our reset vector (This is where linuxBIOS is entered)
|
|
||||||
###
|
|
||||||
if CONFIG_USE_FALLBACK_IMAGE
|
|
||||||
mainboardinit cpu/i386/reset16.inc
|
|
||||||
ldscript cpu/i386/reset16.lds
|
|
||||||
else
|
|
||||||
mainboardinit cpu/i386/reset32.inc
|
|
||||||
ldscript cpu/i386/reset32.lds
|
|
||||||
end
|
|
||||||
.
|
|
||||||
.
|
|
||||||
.
|
|
||||||
if CONFIG_USE_FALLBACK_IMAGE mainboardinit arch/i386/lib/noop_failover.inc end
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Romcc output
|
|
||||||
###
|
|
||||||
#makerule ./failover.E dep "$(CONFIG_MAINBOARD)/failover.c" act "$(CPP) -I$(TOP)/src $(CPPFLAGS) $(CONFIG_MAINBOARD)/failover.c > ./failever.E"
|
|
||||||
#makerule ./failover.inc dep "./romcc ./failover.E" act "./romcc -O ./failover.E > failover.inc"
|
|
||||||
#mainboardinit ./failover.inc
|
|
||||||
makerule ./auto.E dep "$(CONFIG_MAINBOARD)/auto.c" act "$(CPP) -I$(TOP)/src -$(ROMCCPPFLAGS) $(CPPFLAGS) $(CONFIG_MAINBOARD)/auto.c > ./auto.E"
|
|
||||||
makerule ./auto.inc dep "./romcc ./auto.E" act "./romcc -O ./auto.E > auto.inc"
|
|
||||||
mainboardinit ./auto.inc
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Include the secondary Configuration files
|
|
||||||
###
|
|
||||||
northbridge amd/amdk8
|
|
||||||
end
|
|
||||||
southbridge amd/amd8111
|
|
||||||
end
|
|
||||||
#mainboardinit arch/i386/smp/secondary.inc
|
|
||||||
superio nsc/pc87360
|
|
||||||
register "com1={1} com2={0} floppy=1 lpt=1 keyboard=1"
|
|
||||||
end
|
|
||||||
dir /pc80
|
|
||||||
##dir /src/superio/winbond/w83627hf
|
|
||||||
cpu p5 end
|
|
||||||
cpu p6 end
|
|
||||||
cpu k7 end
|
|
||||||
cpu k8 end
|
|
||||||
#
|
|
||||||
###
|
|
||||||
### Build the objects we have code for in this directory.
|
|
||||||
###
|
|
||||||
##object mainboard.o
|
|
||||||
driver mainboard.o
|
|
||||||
object static_devices.o
|
|
||||||
if CONFIG_HAVE_MP_TABLE object mptable.o end
|
|
||||||
if CONFIG_HAVE_PIRQ_TABLE object irq_tables.o end
|
|
||||||
### Location of the DIMM EEPROMS on the SMBUS
|
|
||||||
### This is fixed into a narrow range by the DIMM package standard.
|
|
||||||
###
|
|
||||||
option SMBUS_MEM_DEVICE_START=(0xa << 3)
|
|
||||||
option SMBUS_MEM_DEVICE_END=(SMBUS_MEM_DEVICE_START +1)
|
|
||||||
option SMBUS_MEM_DEVICE_INC=1
|
|
||||||
#
|
|
||||||
### The linuxBIOS bootloader.
|
|
||||||
###
|
|
||||||
option CONFIG_PAYLOAD_SIZE = (CONFIG_ROM_SECTION_SIZE - CONFIG_ROM_IMAGE_SIZE)
|
|
||||||
option CONFIG_ROM_PAYLOAD_START = (0xffffffff - CONFIG_ROM_SIZE + CONFIG_ROM_SECTION_OFFSET + 1)
|
|
||||||
#
|
|
||||||
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
I've found the output of the new tool to be easier to
|
|
||||||
handle. Makefile.settings looks like this, for example:
|
|
||||||
\begin{verbatim}
|
|
||||||
TOP:=/home/rminnich/src/yapps2/freebios2
|
|
||||||
TARGET_DIR:=x
|
|
||||||
export CONFIG_MAINBOARD:=/home/rminnich/src/yapps2/freebios2/src/mainboard/amd/solo
|
|
||||||
export CONFIG_ARCH:=i386
|
|
||||||
export CONFIG_RAMBASE:=0x4000
|
|
||||||
export CONFIG_ROM_IMAGE_SIZE:=65535
|
|
||||||
export CONFIG_PAYLOAD_SIZE:=131073
|
|
||||||
export CONFIG_MAX_CPUS:=1
|
|
||||||
export CONFIG_HEAP_SIZE:=8192
|
|
||||||
export CONFIG_STACK_SIZE:=8192
|
|
||||||
export CONFIG_MEMORY_HOLE:=0
|
|
||||||
export COREBOOT_VERSION:=1.1.0
|
|
||||||
export CC:=$(CONFIG_CROSS_COMPILE)gcc
|
|
||||||
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
In other words, instead of expressions, we see the values. It's easier to
|
|
||||||
deal with.
|
|
234
Documentation/acpi/devicetree.md
Normal file
@@ -0,0 +1,234 @@
|
|||||||
|
# Adding new devices to a device tree
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
ACPI exposes a platform-independent interface for operating systems to perform
|
||||||
|
power management and other platform-level functions. Some operating systems
|
||||||
|
also use ACPI to enumerate devices that are not immediately discoverable, such
|
||||||
|
as those behind I2C or SPI busses (in contrast to PCI). This document discusses
|
||||||
|
the way that coreboot uses the concept of a "device tree" to generate ACPI
|
||||||
|
tables for usage by the operating system.
|
||||||
|
|
||||||
|
## Devicetree and overridetree (if applicable)
|
||||||
|
|
||||||
|
For mainboards that are organized around a "reference board" or "baseboard"
|
||||||
|
model (see ``src/mainboard/google/octopus`` or ``hatch`` for examples), there is
|
||||||
|
typically a devicetree.cb file that all boards share, and any differences for a
|
||||||
|
specific board ("variant") are captured in the overridetree.cb file. Any
|
||||||
|
settings changed in the overridetree take precedence over those in the main
|
||||||
|
devicetree. Note, not all mainboards will have the devicetree/overridetree
|
||||||
|
distinction, and may only have a devicetree.cb file. Or you can always just
|
||||||
|
write the ASL (ACPI Source Language) code yourself.
|
||||||
|
|
||||||
|
## Device drivers
|
||||||
|
|
||||||
|
Let's take a look at an example entry from
|
||||||
|
``src/mainboard/google/hatch/variant/hatch/overridetree.cb``:
|
||||||
|
|
||||||
|
```
|
||||||
|
device pci 15.0 on
|
||||||
|
chip drivers/i2c/generic
|
||||||
|
register "hid" = ""ELAN0000""
|
||||||
|
register "desc" = ""ELAN Touchpad""
|
||||||
|
register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_A21_IRQ)"
|
||||||
|
register "wake" = "GPE0_DW0_21"
|
||||||
|
device i2c 15 on end
|
||||||
|
end
|
||||||
|
end # I2C #0
|
||||||
|
```
|
||||||
|
|
||||||
|
When this entry is processed during ramstage, it will create a device in the
|
||||||
|
ACPI SSDT table (all devices in devicetrees end up in the SSDT table). The ACPI
|
||||||
|
generation routines in coreboot actually generate the raw bytecode that
|
||||||
|
represents the device's structure, but looking at ASL code is easier to
|
||||||
|
understand; see below for what the disassembled bytecode looks like:
|
||||||
|
|
||||||
|
```
|
||||||
|
Scope (\_SB.PCI0.I2C0)
|
||||||
|
{
|
||||||
|
Device (D015)
|
||||||
|
{
|
||||||
|
Name (_HID, "ELAN0000") // _HID: Hardware ID
|
||||||
|
Name (_UID, Zero) // _UID: Unique ID
|
||||||
|
Name (_DDN, "ELAN Touchpad") // _DDN: DOS Device Name
|
||||||
|
Method (_STA, 0, NotSerialized) // _STA: Status
|
||||||
|
{
|
||||||
|
Return (0x0F)
|
||||||
|
}
|
||||||
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
||||||
|
{
|
||||||
|
I2cSerialBusV2 (0x0015, ControllerInitiated, 400000,
|
||||||
|
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
|
||||||
|
0x00, ResourceConsumer, , Exclusive, )
|
||||||
|
Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, )
|
||||||
|
{
|
||||||
|
0x0000002D,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
|
||||||
|
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
|
||||||
|
{
|
||||||
|
0x15, // GPE #21
|
||||||
|
0x03 // Sleep state S3
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
You can see it generates _HID, _UID, _DDN, _STA, _CRS, _S0W, and _PRW
|
||||||
|
names/methods in the Device's scope.
|
||||||
|
|
||||||
|
## Utilizing a device driver
|
||||||
|
|
||||||
|
The device driver must be enabled for your build. There will be a CONFIG option
|
||||||
|
in the Kconfig file in the directory that the driver is in (e.g.,
|
||||||
|
``src/drivers/i2c/generic`` contains a Kconfig file; the option here is named
|
||||||
|
CONFIG_DRIVERS_I2C_GENERIC). The config option will need to be added to your
|
||||||
|
mainboard's Kconfig file (e.g., ``src/mainboard/google/hatch/Kconfig``) in order
|
||||||
|
to be compiled into your build.
|
||||||
|
|
||||||
|
## Diving into the above example:
|
||||||
|
|
||||||
|
Let's take a look at how the devicetree language corresponds to the generated
|
||||||
|
ASL.
|
||||||
|
|
||||||
|
First, note this:
|
||||||
|
|
||||||
|
```
|
||||||
|
chip drivers/i2c/generic
|
||||||
|
```
|
||||||
|
|
||||||
|
This means that the device driver we're using has a corresponding structure,
|
||||||
|
located at ``src/drivers/i2c/generic/chip.h``, named **struct
|
||||||
|
drivers_i2c_generic_config** and it contains many properties you can specify to
|
||||||
|
be included in the ACPI table.
|
||||||
|
|
||||||
|
### hid
|
||||||
|
|
||||||
|
```
|
||||||
|
register "hid" = ""ELAN0000""
|
||||||
|
```
|
||||||
|
|
||||||
|
This corresponds to **const char *hid** in the struct. In the ACPI ASL, it
|
||||||
|
translates to:
|
||||||
|
|
||||||
|
```
|
||||||
|
Name (_HID, "ELAN0000") // _HID: Hardware ID
|
||||||
|
```
|
||||||
|
|
||||||
|
under the device. **This property is used to match the device to its driver
|
||||||
|
during enumeration in the OS.**
|
||||||
|
|
||||||
|
### desc
|
||||||
|
|
||||||
|
```
|
||||||
|
register "desc" = ""ELAN Touchpad""
|
||||||
|
```
|
||||||
|
|
||||||
|
corresponds to **const char *desc** and in ASL:
|
||||||
|
|
||||||
|
```
|
||||||
|
Name (_DDN, "ELAN Touchpad") // _DDN: DOS Device Name
|
||||||
|
```
|
||||||
|
|
||||||
|
### irq
|
||||||
|
|
||||||
|
It also adds the interrupt,
|
||||||
|
|
||||||
|
```
|
||||||
|
Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, )
|
||||||
|
{
|
||||||
|
0x0000002D,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
which comes from:
|
||||||
|
|
||||||
|
```
|
||||||
|
register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_A21_IRQ)"
|
||||||
|
```
|
||||||
|
|
||||||
|
The GPIO pin IRQ settings control the "Edge", "ActiveLow", and
|
||||||
|
"ExclusiveAndWake" settings seen above (edge means it is an edge-triggered
|
||||||
|
interrupt as opposed to level-triggered; active low means the interrupt is
|
||||||
|
triggered on a falling edge).
|
||||||
|
|
||||||
|
Note that the ACPI_IRQ_WAKE_EDGE_LOW macro informs the platform that the GPIO
|
||||||
|
will be routed through SCI (ACPI's System Control Interrupt) for use as a wake
|
||||||
|
source. Also note that the IRQ names are SoC-specific, and you will need to
|
||||||
|
find the names in your SoC's header file. The ACPI_* macros are defined in
|
||||||
|
``src/arch/x86/include/arch/acpi_device.h``.
|
||||||
|
|
||||||
|
Using a GPIO as an IRQ requires that it is configured in coreboot correctly.
|
||||||
|
This is often done in a mainboard-specific file named ``gpio.c``.
|
||||||
|
|
||||||
|
### wake
|
||||||
|
|
||||||
|
The last register is:
|
||||||
|
|
||||||
|
```
|
||||||
|
register "wake" = "GPE0_DW0_21"
|
||||||
|
```
|
||||||
|
|
||||||
|
which indicates that the method of waking the system using the touchpad will be
|
||||||
|
through a GPE, #21 associated with DW0, which is set up in devicetree.cb from
|
||||||
|
this example. The "21" indicates GPP_X21, where GPP_X is mapped onto DW0
|
||||||
|
elsewhere in the devicetree.
|
||||||
|
|
||||||
|
The last bit of the definition of that device includes:
|
||||||
|
|
||||||
|
```
|
||||||
|
device i2c 15 on end
|
||||||
|
```
|
||||||
|
|
||||||
|
which means it's an I2C device, with 7-bit address 0x15, and the device is "on",
|
||||||
|
meaning it will be exposed in the ACPI table. The PCI device that the
|
||||||
|
controller is located in determines which I2C bus the device is expected to be
|
||||||
|
found on. In this example, this is I2C bus 0. This also determines the ACPI
|
||||||
|
"Scope" that the device names and methods will live under, in this case
|
||||||
|
"\_SB.PCI0.I2C0".
|
||||||
|
|
||||||
|
## Other auto-generated names
|
||||||
|
|
||||||
|
(see [ACPI specification
|
||||||
|
6.3](https://uefi.org/sites/default/files/resources/ACPI_6_3_final_Jan30.pdf)
|
||||||
|
for more details on ACPI methods)
|
||||||
|
|
||||||
|
### _S0W (S0 Device Wake State)
|
||||||
|
_S0W indicates the deepest S0 sleep state this device can wake itself from,
|
||||||
|
which in this case is 4, representing _D3cold_.
|
||||||
|
|
||||||
|
### _PRW (Power Resources for Wake)
|
||||||
|
_PRW indicates the power resources and events required for wake. There are no
|
||||||
|
dependent power resources, but the GPE (GPE0_DW0_21) is mentioned here (0x15),
|
||||||
|
as well as the deepest sleep state supporting waking the system (3), which is
|
||||||
|
S3.
|
||||||
|
|
||||||
|
### _STA (Status)
|
||||||
|
The _STA method is generated automatically, and its values, 0xF, indicates the
|
||||||
|
following:
|
||||||
|
|
||||||
|
Bit [0] – Set if the device is present.
|
||||||
|
Bit [1] – Set if the device is enabled and decoding its resources.
|
||||||
|
Bit [2] – Set if the device should be shown in the UI.
|
||||||
|
Bit [3] – Set if the device is functioning properly (cleared if device failed its diagnostics).
|
||||||
|
|
||||||
|
### _CRS (Current resource settings)
|
||||||
|
The _CRS method is generated automatically, as the driver knows it is an I2C
|
||||||
|
controller, and so specifies how to configure the controller for proper
|
||||||
|
operation with the touchpad.
|
||||||
|
|
||||||
|
```
|
||||||
|
Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
|
||||||
|
{
|
||||||
|
I2cSerialBusV2 (0x0015, ControllerInitiated, 400000,
|
||||||
|
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
|
||||||
|
0x00, ResourceConsumer, , Exclusive, )
|
||||||
|
```
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- **All fields that are left unspecified in the devicetree are initialized to
|
||||||
|
zero.**
|
||||||
|
- **All devices in devicetrees end up in the SSDT table, and are generated in
|
||||||
|
coreboot's ramstage**
|
@@ -19,12 +19,27 @@ On entry to a stage or payload (including SELF payloads),
|
|||||||
* all harts are running.
|
* all harts are running.
|
||||||
* A0 is the hart ID.
|
* A0 is the hart ID.
|
||||||
* A1 is the pointer to the Flattened Device Tree (FDT).
|
* A1 is the pointer to the Flattened Device Tree (FDT).
|
||||||
|
* A2 contains the additional program calling argument:
|
||||||
|
- cbmem_top for ramstage
|
||||||
|
- the address of the payload for opensbi
|
||||||
|
|
||||||
## Additional payload handoff requirements
|
## Additional payload handoff requirements
|
||||||
The location of cbmem should be placed in a node in the FDT.
|
The location of cbmem should be placed in a node in the FDT.
|
||||||
|
|
||||||
|
## OpenSBI
|
||||||
|
In case the payload doesn't install it's own SBI, like the [RISCV-PK] does,
|
||||||
|
[OpenSBI] can be used instead.
|
||||||
|
It's loaded into RAM after coreboot has finished loading the payload.
|
||||||
|
coreboot then will jump to OpenSBI providing a pointer to the real payload,
|
||||||
|
which OpenSBI will jump to once the SBI is installed.
|
||||||
|
|
||||||
|
Besides providing SBI it also sets protected memory regions and provides
|
||||||
|
a platform independent console.
|
||||||
|
|
||||||
|
The OpenSBI code is always run in M mode.
|
||||||
|
|
||||||
## Trap delegation
|
## Trap delegation
|
||||||
Traps are delegated in the ramstage.
|
Traps are delegated to the payload.
|
||||||
|
|
||||||
## SMP within a stage
|
## SMP within a stage
|
||||||
At the beginning of each stage, all harts save 0 are spinning in a loop on
|
At the beginning of each stage, all harts save 0 are spinning in a loop on
|
||||||
@@ -44,3 +59,6 @@ The hart blocks until fn is non-null, and then calls it. If fn returns, we
|
|||||||
will panic if possible, but behavior is largely undefined.
|
will panic if possible, but behavior is largely undefined.
|
||||||
|
|
||||||
Only hart 0 runs through most of the code in each stage.
|
Only hart 0 runs through most of the code in each stage.
|
||||||
|
|
||||||
|
[RISCV-PK]: https://github.com/riscv/riscv-pk
|
||||||
|
[OpenSBI]: https://github.com/riscv/opensbi
|
||||||
|
@@ -16,24 +16,36 @@ In order to add support for x86_64 the following assumptions are made:
|
|||||||
* The reference implementation is qemu
|
* The reference implementation is qemu
|
||||||
* The CPU supports 1GiB hugepages
|
* The CPU supports 1GiB hugepages
|
||||||
|
|
||||||
## Assuptions for ARCH_ROMSTAGE_X86_64 reference implementation
|
## Assuptions for all stages using the reference implementation
|
||||||
* 0-4GiB are identity mapped using 1GiB huge-pages
|
* 0-4GiB are identity mapped using 2MiB-pages as WB
|
||||||
* Memory above 4GiB isn't accessible
|
* Memory above 4GiB isn't accessible
|
||||||
* pagetables reside in _pagetables
|
* page tables reside in memory mapped ROM
|
||||||
* Romstage must install new pagetables in CBMEM after RAMINIT
|
* A stage can install new page tables in RAM
|
||||||
|
|
||||||
## Assuptions for ARCH_RAMSTAGE_X86_64 reference implementation
|
## Page tables
|
||||||
* Romstage installed pagetables according to memory layout
|
Page tables are generated by a tool in `util/pgtblgen/pgtblgen`. It writes
|
||||||
* Memory above 4GiB is accessible
|
the page tables to a file which is then included into the CBFS as file called
|
||||||
|
`pagetables`.
|
||||||
|
|
||||||
|
To generate the static page tables it must know the physical address where to
|
||||||
|
place the file.
|
||||||
|
|
||||||
|
The page tables contains the following structure:
|
||||||
|
* PML4E pointing to PDPE
|
||||||
|
* PDPE with *$n* entries each pointing to PDE
|
||||||
|
* *$n* PDEs with 512 entries each
|
||||||
|
|
||||||
|
At the moment *$n* is 4, which results in identity mapping the lower 4 GiB.
|
||||||
|
|
||||||
## Steps to add basic support for x86_64
|
## Steps to add basic support for x86_64
|
||||||
* Add x86_64 toolchain support - *DONE*
|
* Add x86_64 toolchain support - *DONE*
|
||||||
* Fix compilation errors - *DONE*
|
* Fix compilation errors - *DONE*
|
||||||
* Fix linker errors - *TODO*
|
* Fix linker errors - *TODO*
|
||||||
* Add x86_64 rmodule support - *ONGERRIT*
|
* Add x86_64 rmodule support - *DONE*
|
||||||
* Add x86_64 exception handlers - *TODO*
|
* Add x86_64 exception handlers - *TODO*
|
||||||
* Setup page tables for long mode - *TODO*
|
* Setup page tables for long mode - *DONE*
|
||||||
* Add assembly code for long mode - *TODO*
|
* Add assembly code for long mode - *DONE*
|
||||||
|
* Add assembly code for postcar stage - *TODO*
|
||||||
* Add assembly code to return to protected mode - *TODO*
|
* Add assembly code to return to protected mode - *TODO*
|
||||||
* Implement reference code for mainboard `emulation/qemu-q35` - *TODO*
|
* Implement reference code for mainboard `emulation/qemu-q35` - *TODO*
|
||||||
|
|
||||||
|
@@ -80,11 +80,11 @@ Get a decent editor and don't leave whitespace at the end of lines.
|
|||||||
Coding style is all about readability and maintainability using commonly
|
Coding style is all about readability and maintainability using commonly
|
||||||
available tools.
|
available tools.
|
||||||
|
|
||||||
The limit on the length of lines is 80 columns and this is a strongly
|
The limit on the length of lines is 96 columns and this is a strongly
|
||||||
preferred limit.
|
preferred limit.
|
||||||
|
|
||||||
Statements longer than 80 columns will be broken into sensible chunks,
|
Statements longer than 96 columns will be broken into sensible chunks,
|
||||||
unless exceeding 80 columns significantly increases readability and does
|
unless exceeding 96 columns significantly increases readability and does
|
||||||
not hide information. Descendants are always substantially shorter than
|
not hide information. Descendants are always substantially shorter than
|
||||||
the parent and are placed substantially to the right. The same applies
|
the parent and are placed substantially to the right. The same applies
|
||||||
to function headers with a long argument list. However, never break
|
to function headers with a long argument list. However, never break
|
||||||
|
45
Documentation/community/services.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Accounts on coreboot.org
|
||||||
|
|
||||||
|
There are a number of places where you can benefit from creaating an account
|
||||||
|
in our community. Since there is no single sign-on system in place (at this
|
||||||
|
time), they come with their own setup routines.
|
||||||
|
|
||||||
|
## Gerrit code review
|
||||||
|
We exchange and review patches to the code using our [Gerrit code review
|
||||||
|
system](https://review.coreboot.org).
|
||||||
|
|
||||||
|
It allows logging in with a Google or GitHub account using OAuth2 as well
|
||||||
|
as with any OpenID provider that you may already use.
|
||||||
|
|
||||||
|
On the [settings screen](https://review.coreboot.org/settings) you can register
|
||||||
|
all your email addresses you intend to use in the context of coreboot
|
||||||
|
development so that commits with your email address in them are associated with
|
||||||
|
you properly.
|
||||||
|
|
||||||
|
### https push access
|
||||||
|
When using the https URLs to git repositories, you can push with the "HTTP
|
||||||
|
Credentials" you can have Gerrit generate for you on that page. By default,
|
||||||
|
git uses `$HOME/.netrc` for http authentication data, so add a line there
|
||||||
|
stating:
|
||||||
|
|
||||||
|
machine review.coreboot.org login $your-user-name password $your-password
|
||||||
|
|
||||||
|
### Gerrit user avatar
|
||||||
|
To setup an avatar to show in Gerrit, clone the avatars repository at
|
||||||
|
https://review.coreboot.org/gerrit-avatars.git and add a file named
|
||||||
|
$your-user-ID.jpg (the user ID is a number shown on the [settings screen](https://review.coreboot.org/settings)).
|
||||||
|
The image must be provided in JPEG format, must be square and have at most 50000
|
||||||
|
bytes.
|
||||||
|
|
||||||
|
After you push for review, the system will automatically verify your change
|
||||||
|
and, if adhering to these constraints, approve it. You can then immediately
|
||||||
|
submit it.
|
||||||
|
|
||||||
|
## Issue tracker
|
||||||
|
We have an [issue tracker](https://ticket.coreboot.org) that is used for
|
||||||
|
coreboot and related code, such as libpayload, as well as for the project's
|
||||||
|
infrastructure.
|
||||||
|
|
||||||
|
It can be helpful to refer to issues we track there in commit messages:
|
||||||
|
|
||||||
|
Fixes: https://ticket.coreboot.org/issues/$id
|
@@ -58,16 +58,6 @@ fixes not found in the stock firmware, and offer much broader OS compatibility
|
|||||||
microcode, as well as firmware updates for the device's embedded controller
|
microcode, as well as firmware updates for the device's embedded controller
|
||||||
(EC). This firmware "takes the training wheels off" your ChromeOS device :)
|
(EC). This firmware "takes the training wheels off" your ChromeOS device :)
|
||||||
|
|
||||||
### John Lewis
|
|
||||||
|
|
||||||
[John Lewis](https://johnlewis.ie/custom-chromebook-firmware) also provides
|
|
||||||
replacement firmware for ChromeOS devices, for the express purpose of
|
|
||||||
running Linux on Chromebooks. John Lewis' firmware supports a much smaller
|
|
||||||
set of devices, and uses SeaBIOS as the payload to support Legacy BIOS booting.
|
|
||||||
His firmware images are significantly older, and not actively maintained or
|
|
||||||
supported, but worth a look if you need Legacy Boot support and is not
|
|
||||||
available via Mr Chromebox's firmware.
|
|
||||||
|
|
||||||
### Heads
|
### Heads
|
||||||
|
|
||||||
[Heads](http://osresearch.net) is an open source custom firmware and OS
|
[Heads](http://osresearch.net) is an open source custom firmware and OS
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
# Platform indenpendend drivers documentation
|
# Platform independent drivers documentation
|
||||||
|
|
||||||
The drivers can be found in `src/drivers`. They are intended for onboard
|
The drivers can be found in `src/drivers`. They are intended for onboard
|
||||||
and plugin devices, significantly reducing integration complexity and
|
and plugin devices, significantly reducing integration complexity and
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# coreboot architecture
|
# coreboot architecture
|
||||||
|
|
||||||
## Overwiew
|
## Overview
|
||||||
![][architecture]
|
![][architecture]
|
||||||
|
|
||||||
[architecture]: comparision_coreboot_uefi.svg
|
[architecture]: comparision_coreboot_uefi.svg
|
||||||
|
@@ -46,11 +46,11 @@ clarification, see the Developer's Certificate of Origin in the coreboot
|
|||||||
* Let non-trivial patches sit in a review state for at least 24 hours
|
* Let non-trivial patches sit in a review state for at least 24 hours
|
||||||
before submission. Remember that there are coreboot developers in timezones
|
before submission. Remember that there are coreboot developers in timezones
|
||||||
all over the world, and everyone should have a chance to contribute.
|
all over the world, and everyone should have a chance to contribute.
|
||||||
Trivial patches would be things like whitespace changes or spelling fixes.
|
Trivial patches would be things like whitespace changes or spelling fixes,
|
||||||
In general, small changes that don’t impact the final binary output. The
|
in general those that don’t impact the final binary output. The
|
||||||
24-hour period would start at submission, and would be restarted at any
|
24-hour period would start at submission, and would be restarted at any
|
||||||
update which significantly changes any part of the patch. Patches can be
|
update which significantly changes any part of the patch. Patches can be
|
||||||
'Fast-tracked' and submitted in under this 24 hour with the agreement of at
|
'Fast-tracked' and submitted in under 24 hours with the agreement of at
|
||||||
least 3 +2 votes.
|
least 3 +2 votes.
|
||||||
|
|
||||||
* Do not +2 patches that you authored or own, even for something as trivial
|
* Do not +2 patches that you authored or own, even for something as trivial
|
||||||
|
@@ -73,9 +73,6 @@ These variables are typically set in the makefiles or on the make command line.
|
|||||||
These variables were added to Kconfig specifically for coreboot and are not
|
These variables were added to Kconfig specifically for coreboot and are not
|
||||||
included in the Linux version.
|
included in the Linux version.
|
||||||
|
|
||||||
- COREBOOT_BUILD_DIR=path for temporary files. This is used by coreboot’s
|
|
||||||
abuild tool.
|
|
||||||
|
|
||||||
- KCONFIG_STRICT=value. Define to enable warnings as errors. This is enabled
|
- KCONFIG_STRICT=value. Define to enable warnings as errors. This is enabled
|
||||||
in coreboot, and should not be changed.
|
in coreboot, and should not be changed.
|
||||||
|
|
||||||
|
@@ -14,18 +14,40 @@ coreboot uses [Sphinx] documentation tool. We prefer the markdown format
|
|||||||
over reStructuredText so only embedded ReST is supported. Checkout the
|
over reStructuredText so only embedded ReST is supported. Checkout the
|
||||||
[Markdown Guide] for more information.
|
[Markdown Guide] for more information.
|
||||||
|
|
||||||
### Install Sphinx
|
### option 1: Use the docker image
|
||||||
|
|
||||||
|
The easiest way to build the documentation is using a docker image.
|
||||||
|
To build the image run the following in the base directory:
|
||||||
|
|
||||||
|
make -C util/docker/ doc.coreboot.org
|
||||||
|
|
||||||
|
Before building the documentation make sure the output directory is given
|
||||||
|
the correct permissions before running docker.
|
||||||
|
|
||||||
|
mkdir -p Documentation/_build
|
||||||
|
|
||||||
|
To build the documentation:
|
||||||
|
|
||||||
|
make -C util/docker docker-build-docs
|
||||||
|
|
||||||
|
To have the documentation build and served over a web server live run:
|
||||||
|
|
||||||
|
make -C util/docker docker-livehtml-docs
|
||||||
|
|
||||||
|
On the host machine, open a browser to the address <http://0.0.0.0:8000>.
|
||||||
|
|
||||||
|
### option 2: Install Sphinx
|
||||||
|
|
||||||
Please follow this official [guide] to install sphinx.
|
Please follow this official [guide] to install sphinx.
|
||||||
You will also need python-recommonmark for sphinx to be able to handle
|
You will also need python-recommonmark for sphinx to be able to handle
|
||||||
markdown documenation.
|
markdown documentation.
|
||||||
|
|
||||||
The recommended version is sphinx 1.7.7, sphinx_rtd_theme 0.4.1 and
|
The recommended version is sphinx 1.7.7, sphinx_rtd_theme 0.4.1 and
|
||||||
recommonmark 0.4.0.
|
recommonmark 0.4.0.
|
||||||
|
|
||||||
### Optional
|
### Optional
|
||||||
|
|
||||||
Install [shpinx-autobuild] for rebuilding markdown/rst sources on the fly!
|
Install [sphinx-autobuild] for rebuilding markdown/rst sources on the fly!
|
||||||
|
|
||||||
## Basic and simple rules
|
## Basic and simple rules
|
||||||
|
|
||||||
@@ -116,7 +138,7 @@ TOC tree.
|
|||||||
|
|
||||||
[coreboot]: https://coreboot.org
|
[coreboot]: https://coreboot.org
|
||||||
[Documentation]: https://review.coreboot.org/cgit/coreboot.git/tree/Documentation
|
[Documentation]: https://review.coreboot.org/cgit/coreboot.git/tree/Documentation
|
||||||
[shpinx-autobuild]: https://github.com/GaretJax/sphinx-autobuild
|
[sphinx-autobuild]: https://github.com/GaretJax/sphinx-autobuild
|
||||||
[guide]: http://www.sphinx-doc.org/en/stable/install.html
|
[guide]: http://www.sphinx-doc.org/en/stable/install.html
|
||||||
[Sphinx]: http://www.sphinx-doc.org/en/master/
|
[Sphinx]: http://www.sphinx-doc.org/en/master/
|
||||||
[Markdown Guide]: https://www.markdownguide.org/
|
[Markdown Guide]: https://www.markdownguide.org/
|
||||||
|
@@ -7,13 +7,14 @@ Introduction and Current State in coreboot
|
|||||||
*libgfxinit* is a library of full-featured graphics initialization
|
*libgfxinit* is a library of full-featured graphics initialization
|
||||||
(aka. modesetting) drivers. It's implemented in SPARK (a subset of
|
(aka. modesetting) drivers. It's implemented in SPARK (a subset of
|
||||||
Ada with formal verification features). While not restricted to in
|
Ada with formal verification features). While not restricted to in
|
||||||
any way, it currently only supports Intel's integrated gfx control-
|
any way, it currently only supports Intel's integrated graphics
|
||||||
lers (GMA).
|
controllers (GMA).
|
||||||
|
|
||||||
Currently, it supports the Intel Core i3/i5/i7 processor line and
|
Currently, it supports the Intel Core i3/i5/i7 processor line, HDMI
|
||||||
will support HDMI and DP on the Atom successor Apollo Lake. At the
|
and DP on the Apollo Lake processors and everything but SDVO on G45
|
||||||
time of writing, Sandy Bridge, Ivy Bridge, and Haswell are veri-
|
and GM45 chipsets. At the time of writing, G45, GM45, everything
|
||||||
fied to work within *coreboot*.
|
from Arrandale to Coffee Lake, and Apollo Lake are verified to work
|
||||||
|
within *coreboot*.
|
||||||
|
|
||||||
GMA: Framebuffer Configuration
|
GMA: Framebuffer Configuration
|
||||||
------------------------------
|
------------------------------
|
||||||
|
6
Documentation/ifdtool/index.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# ifdtool
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
* [Intel IFD Binary Extraction](binary_extraction.md)
|
||||||
|
* [IFD Layout](layout.md)
|
66
Documentation/ifdtool/layout.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# IFD Layout
|
||||||
|
|
||||||
|
A coreboot image for an Intel SoC contains two separate definitions of the
|
||||||
|
layout of the flash. The Intel Flash Descriptor (IFD) which defines offsets and
|
||||||
|
sizes of various regions of flash and the [coreboot FMAP](../lib/flashmap.md).
|
||||||
|
|
||||||
|
The FMAP should define all of the of the regions defined by the IFD to ensure
|
||||||
|
that those regions are accounted for by coreboot and will not be accidentally
|
||||||
|
modified.
|
||||||
|
|
||||||
|
## IFD mapping
|
||||||
|
|
||||||
|
The names of the IFD regions in the FMAP should follow the convention of
|
||||||
|
starting with the prefix `SI_` which stands for `silicon initialization` as a
|
||||||
|
way to categorize anything required by the SoC but not provided by coreboot.
|
||||||
|
|
||||||
|
|IFD Region index|IFD Region name|FMAP Name|Notes|
|
||||||
|
|---|---|---|---|
|
||||||
|
|0|Flash Descriptor|SI_DESC|Always the top 4KB of flash|
|
||||||
|
|1|BIOS|SI_BIOS|This is the region that contains coreboot|
|
||||||
|
|2|Intel ME|SI_ME||
|
||||||
|
|3|Gigabit Ethernet|SI_GBE||
|
||||||
|
|4|Platform Data|SI_PDR||
|
||||||
|
|8|EC Firmware|SI_EC|Most Chrome OS devices do not use this region; EC firmware is stored BIOS region of flash|
|
||||||
|
|
||||||
|
## Validation
|
||||||
|
|
||||||
|
The ifdtool can be used to manipulate a firmware image with a IFD. This tool
|
||||||
|
will not take into account the FMAP while modifying the image which can lead to
|
||||||
|
unexpected and hard to debug issues with the firmware image. For example if the
|
||||||
|
ME region is defined at 6 MB in the IFD but the FMAP only allocates 4 MB for the
|
||||||
|
ME, then when the ME is added by the ifdtool 6 MB will be written which could
|
||||||
|
overwrite 2 MB of the BIOS.
|
||||||
|
|
||||||
|
In order to validate that the FMAP and the IFD are compatible the ifdtool
|
||||||
|
provides --validate (-t) option. `ifdtool -t` will read both the IFD and the
|
||||||
|
FMAP in the image and for every non empty region in the IFD if that region is
|
||||||
|
defined in the FMAP but the offset or size is different then the tool will
|
||||||
|
return an error.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```console
|
||||||
|
foo@bar:~$ ifdtool -t bad_image.bin
|
||||||
|
Region mismatch between bios and SI_BIOS
|
||||||
|
Descriptor region bios:
|
||||||
|
offset: 0x00400000
|
||||||
|
length: 0x01c00000
|
||||||
|
FMAP area SI_BIOS:
|
||||||
|
offset: 0x00800000
|
||||||
|
length: 0x01800000
|
||||||
|
Region mismatch between me and SI_ME
|
||||||
|
Descriptor region me:
|
||||||
|
offset: 0x00103000
|
||||||
|
length: 0x002f9000
|
||||||
|
FMAP area SI_ME:
|
||||||
|
offset: 0x00103000
|
||||||
|
length: 0x006f9000
|
||||||
|
Region mismatch between pd and SI_PDR
|
||||||
|
Descriptor region pd:
|
||||||
|
offset: 0x003fc000
|
||||||
|
length: 0x00004000
|
||||||
|
FMAP area SI_PDR:
|
||||||
|
offset: 0x007fc000
|
||||||
|
length: 0x00004000
|
||||||
|
```
|
@@ -161,17 +161,18 @@ for example OpenBSD, is probably the closest cousin of our approach.
|
|||||||
Contents:
|
Contents:
|
||||||
|
|
||||||
* [Getting Started](getting_started/index.md)
|
* [Getting Started](getting_started/index.md)
|
||||||
* [Rookie Guide](lessons/index.md)
|
* [Tutorial](tutorial/index.md)
|
||||||
* [Coding Style](coding_style.md)
|
* [Coding Style](coding_style.md)
|
||||||
* [Project Ideas](contributing/project_ideas.md)
|
* [Project Ideas](contributing/project_ideas.md)
|
||||||
* [Code of Conduct](community/code_of_conduct.md)
|
* [Code of Conduct](community/code_of_conduct.md)
|
||||||
* [Community forums](community/forums.md)
|
* [Community forums](community/forums.md)
|
||||||
|
* [Project services](community/services.md)
|
||||||
* [coreboot at conferences](community/conferences.md)
|
* [coreboot at conferences](community/conferences.md)
|
||||||
* [Payloads](payloads.md)
|
* [Payloads](payloads.md)
|
||||||
* [Distributions](distributions.md)
|
* [Distributions](distributions.md)
|
||||||
* [Intel IFD Binary Extraction](Binary_Extraction.md)
|
* [Technotes](technotes/index.md)
|
||||||
* [Dealing with Untrusted Input in SMM](technotes/2017-02-dealing-with-untrusted-input-in-smm.md)
|
|
||||||
* [GPIO toggling in ACPI AML](acpi/gpio.md)
|
* [GPIO toggling in ACPI AML](acpi/gpio.md)
|
||||||
|
* [Adding devices to a device tree](acpi/devicetree.md)
|
||||||
* [Native Graphics Initialization with libgfxinit](gfx/libgfxinit.md)
|
* [Native Graphics Initialization with libgfxinit](gfx/libgfxinit.md)
|
||||||
* [Display panel-specific documentation](gfx/display-panel.md)
|
* [Display panel-specific documentation](gfx/display-panel.md)
|
||||||
* [Architecture-specific documentation](arch/index.md)
|
* [Architecture-specific documentation](arch/index.md)
|
||||||
|
@@ -1,4 +0,0 @@
|
|||||||
# Rookie Guide
|
|
||||||
|
|
||||||
* [Lesson 1: Starting from scratch](lesson1.md)
|
|
||||||
* [Lesson 2: Submitting a patch to coreboot.org](lesson2.md)
|
|
@@ -17,7 +17,7 @@ something else) should have its own Flashmap section, and everything else should
|
|||||||
normally go into CBFS.
|
normally go into CBFS.
|
||||||
|
|
||||||
The Flashmap itself starts with a header `struct fmap` and followed by a list of
|
The Flashmap itself starts with a header `struct fmap` and followed by a list of
|
||||||
section descriptions in `strcut fmap_area`.
|
section descriptions in `struct fmap_area`.
|
||||||
|
|
||||||
### Header
|
### Header
|
||||||
The header `struct fmap` has following fields:
|
The header `struct fmap` has following fields:
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
## Supported architectures
|
## Supported architectures
|
||||||
|
|
||||||
* aarch64
|
* aarch64
|
||||||
|
* riscv
|
||||||
|
|
||||||
## Supported FIT sections
|
## Supported FIT sections
|
||||||
|
|
||||||
@@ -24,6 +25,7 @@ The section must be named in order to be found by the FIT parser:
|
|||||||
## Architecture specifics
|
## Architecture specifics
|
||||||
|
|
||||||
The FIT parser needs architecure support.
|
The FIT parser needs architecure support.
|
||||||
|
|
||||||
### aarch64
|
### aarch64
|
||||||
The source code can be found in `src/arch/arm64/fit_payload.c`.
|
The source code can be found in `src/arch/arm64/fit_payload.c`.
|
||||||
|
|
||||||
@@ -31,6 +33,13 @@ On aarch64 the kernel (a section named 'kernel') must be in **Image**
|
|||||||
format and it needs a devicetree (a section named 'fdt') to boot.
|
format and it needs a devicetree (a section named 'fdt') to boot.
|
||||||
The kernel will be placed close to "*DRAMSTART*".
|
The kernel will be placed close to "*DRAMSTART*".
|
||||||
|
|
||||||
|
### RISC-V
|
||||||
|
The source code can be found in `src/arch/riscv/fit_payload.c`.
|
||||||
|
|
||||||
|
On RISC-V the kernel (a section named 'kernel') must be in **Image**
|
||||||
|
format and it needs a devicetree (a section named 'fdt') to boot.
|
||||||
|
The kernel will be placed close to "*DRAMSTART*".
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
Other architectures aren't supported.
|
Other architectures aren't supported.
|
||||||
|
|
||||||
|
BIN
Documentation/mainboard/amd/padmelon/padmelon.jpg
Normal file
After Width: | Height: | Size: 79 KiB |
80
Documentation/mainboard/amd/padmelon/padmelon.md
Normal file
@@ -0,0 +1,80 @@
|
|||||||
|
# Padmelon board
|
||||||
|
|
||||||
|
## Specs (with Merlin Falcon SOC)
|
||||||
|
|
||||||
|
* Two 260-pin DDR4 SO-DIMM slots, 1.2V DDR4-1333/1600/1866/2133 SO-DIMMs
|
||||||
|
Supports 4GB, 8GB and 16GB DDR4 unbuffered ECC (Merlin Falcon)SO-DIMMs
|
||||||
|
* Can use Prairie Falcon, Brown Falcon, Merlin Falcon, though coreboot
|
||||||
|
code is specific for Merlin Falcon SOC. Some specs will change if not
|
||||||
|
using Merlin Falcon.
|
||||||
|
* One half mini PCI-Express slot on back side of mainboard
|
||||||
|
* One PCI Express® 3.0 x8 slot
|
||||||
|
* Two SATA3 ports with 6Gb/s data transfer rate
|
||||||
|
* Two USB 2.0 ports at rear panel
|
||||||
|
* Two USB 3.0 ports at rear panel
|
||||||
|
* Dual Gigabit Ethernet from Realtek RTL8111F Gigabit controller
|
||||||
|
* 6-channel High-Definition audio from Realtek ALC662 codec
|
||||||
|
* One soldered down SPI flash with dediprog header
|
||||||
|
|
||||||
|
## Mainboard
|
||||||
|
|
||||||
|
![mainboard][padmelon]
|
||||||
|
|
||||||
|
Three items are marked in this picture
|
||||||
|
1. dediprog header
|
||||||
|
2. memory dimms, address 0xA0 and 0xA4
|
||||||
|
3. SATA cables connected to motherboard
|
||||||
|
|
||||||
|
## Back panel
|
||||||
|
|
||||||
|
![back panel][padmelon_io]
|
||||||
|
|
||||||
|
* The lower serial port is UART A (debug serial)
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Model | Macronix MX256435E |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Size | 8 MiB |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Flash programing | dediprog header |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Package | SOIC-8 |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
| Write protection | No |
|
||||||
|
+---------------------+--------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------+------------------------------+
|
||||||
|
| Fan control | Using fintek F81803A |
|
||||||
|
+---------------+------------------------------+
|
||||||
|
| CPU | Merlin Falcon (see reference)|
|
||||||
|
+---------------+------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Description of pictures within this document
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
|padmelon.jpg | Motherboard with components identified |
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
|padmelon_io.jpg | Back panel picture |
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
|
||||||
|
[Merlin Falcon BKDG][merlinfalcon]
|
||||||
|
|
||||||
|
[merlinfalcon]: ../../../soc/amd/family15h.md
|
||||||
|
[padmelon]: padmelon.jpg
|
||||||
|
[padmelon_io]: padmelon_io.jpg
|
BIN
Documentation/mainboard/amd/padmelon/padmelon_io.jpg
Normal file
After Width: | Height: | Size: 32 KiB |
@@ -70,7 +70,7 @@ facing towards the bottom of the board.
|
|||||||
- The VGA port doesn't work until the OS reinitialises the display.
|
- The VGA port doesn't work until the OS reinitialises the display.
|
||||||
|
|
||||||
- There is no automatic, OS-independent fan control. This is because
|
- There is no automatic, OS-independent fan control. This is because
|
||||||
the super I/O hardware monitor can only obtain valid CPU temperature
|
the Super I/O hardware monitor can only obtain valid CPU temperature
|
||||||
readings from the PECI agent, but the required driver doesn't exist
|
readings from the PECI agent, but the required driver doesn't exist
|
||||||
in coreboot. The `coretemp` driver can still be used for accurate CPU
|
in coreboot. The `coretemp` driver can still be used for accurate CPU
|
||||||
temperature readings from an OS.
|
temperature readings from an OS.
|
||||||
|
@@ -49,7 +49,7 @@ region is not readable even by the host.
|
|||||||
suspend.
|
suspend.
|
||||||
|
|
||||||
- There is no automatic, OS-independent fan control. This is because
|
- There is no automatic, OS-independent fan control. This is because
|
||||||
the super I/O hardware monitor can only obtain valid CPU temperature
|
the Super I/O hardware monitor can only obtain valid CPU temperature
|
||||||
readings from the PECI agent, whose complete initialisation is not
|
readings from the PECI agent, whose complete initialisation is not
|
||||||
publicly documented. The `coretemp` driver can still be used for
|
publicly documented. The `coretemp` driver can still be used for
|
||||||
accurate CPU temperature readings.
|
accurate CPU temperature readings.
|
||||||
|
@@ -46,7 +46,7 @@ region is not readable even by the host.
|
|||||||
## Known issues
|
## Known issues
|
||||||
|
|
||||||
- There is no automatic, OS-independent fan control. This is because
|
- There is no automatic, OS-independent fan control. This is because
|
||||||
the super I/O hardware monitor can only obtain valid CPU temperature
|
the Super I/O hardware monitor can only obtain valid CPU temperature
|
||||||
readings from the PECI agent, whose complete initialisation is not
|
readings from the PECI agent, whose complete initialisation is not
|
||||||
publicly documented. The `coretemp` driver can still be used for
|
publicly documented. The `coretemp` driver can still be used for
|
||||||
accurate CPU temperature readings.
|
accurate CPU temperature readings.
|
||||||
|
48
Documentation/mainboard/emulation/qemu-aarch64.md
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# QEMU AArch64 emulator
|
||||||
|
This page discribes how to build and run coreboot for QEMU/AArch64.
|
||||||
|
You can use LinuxBoot via `make menuconfig` or an arbitrary FIT image
|
||||||
|
as a payload for QEMU/AArch64.
|
||||||
|
|
||||||
|
## Running coreboot in QEMU
|
||||||
|
```bash
|
||||||
|
qemu-system-aarch64 -bios ./build/coreboot.rom \
|
||||||
|
-M virt,secure=on,virtualization=on -cpu cortex-a53 \
|
||||||
|
-nographic -m 8192M
|
||||||
|
```
|
||||||
|
|
||||||
|
- The default CPU in QEMU for AArch64 is a cortex-a15 which is 32-bit
|
||||||
|
ARM CPU. You need to specify 64-bit ARM CPU via `-cpu cortex-a53`.
|
||||||
|
- The default privilege level in QEMU for AArch64 is EL1 that we can't
|
||||||
|
have the right to access EL3/EL2 registers. You need to enable EL3/EL2
|
||||||
|
via `-machine secure=on,virtualization=on`.
|
||||||
|
- You need to specify the size of memory more than 544 MiB because 512
|
||||||
|
MiB is reserved for the kernel.
|
||||||
|
- The maximum size of memory is 255GiB (-m 261120).
|
||||||
|
|
||||||
|
## Building coreboot with an arbitrary FIT payload
|
||||||
|
There are 3 steps to make coreboot.rom for QEMU/AArch64. If you select
|
||||||
|
LinuxBoot, step 2 and 3 have done by LinuxBoot.
|
||||||
|
1. Get a DTB (Device Tree Blob)
|
||||||
|
2. Build a FIT image with a DTB
|
||||||
|
3. Add a FIT image to coreboot.rom
|
||||||
|
|
||||||
|
### 1. Get a DTB
|
||||||
|
You can get the DTB from QEMU with the following command.
|
||||||
|
```
|
||||||
|
$ qemu-system-aarch64 \
|
||||||
|
-M virt,dumpdtb=virt.dtb,secure=on,virtualization=on \
|
||||||
|
-cpu cortex-a53 -nographic -m 8192M
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Build a FIT image with a DTB
|
||||||
|
You need to write an image source file that has an `.its` extension to
|
||||||
|
configure kernels, ramdisks, and DTBs.
|
||||||
|
See [Flattened uImage Tree documentation](../../lib/payloads/fit.md) for more details.
|
||||||
|
|
||||||
|
### 3. Add a FIT image to coreboot.rom
|
||||||
|
You can use cbfstool to add the payload you created in step 2 to
|
||||||
|
the coreboot.rom.
|
||||||
|
```
|
||||||
|
$ ./build/cbfstool ./build/coreboot.rom add -f <path-to-a-payload>/uImage \
|
||||||
|
-n fallback/payload -t fit -c lzma
|
||||||
|
```
|
@@ -5,16 +5,16 @@ This page describes how to run coreboot on the Facebook FBG1701.
|
|||||||
FBG1701 are assembled with different onboard memory modules:
|
FBG1701 are assembled with different onboard memory modules:
|
||||||
Rev 1.0 Onboard Samsung K4B8G1646D-MYKO memory
|
Rev 1.0 Onboard Samsung K4B8G1646D-MYKO memory
|
||||||
Rev 1.1 and 1.2 Onboard Micron MT41K512M16HA-125A memory
|
Rev 1.1 and 1.2 Onboard Micron MT41K512M16HA-125A memory
|
||||||
|
Rev 1.3 Onboard Kingston B5116ECMDXGGB memory
|
||||||
|
|
||||||
Use make menuconfig to configure `onboard memory manufacturer` in Mainboard
|
Use make menuconfig to configure `onboard memory manufacturer Samsung` in
|
||||||
menu.
|
Mainboard menu.
|
||||||
|
|
||||||
## Required blobs
|
## Required blobs
|
||||||
|
|
||||||
This board currently requires:
|
This board currently requires:
|
||||||
fsp blob 3rdparty/fsp/BraswellFspBinPkg/FspBin/BSWFSP.fd
|
fsp blob 3rdparty/fsp/BraswellFspBinPkg/FspBin/BSWFSP.fd
|
||||||
Microcode Intel Braswell cpuid 1046C4 version 410
|
Microcode 3rdparty/intel-microcode/intel-ucode/06-4c-04
|
||||||
(Used pre-build binary retrieved from Intel site)
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ The main SPI flash can be accessed using [flashrom].
|
|||||||
### External programming
|
### External programming
|
||||||
|
|
||||||
The system has an internal flash chip which is a 8 MiB soldered SOIC-8 chip.
|
The system has an internal flash chip which is a 8 MiB soldered SOIC-8 chip.
|
||||||
This chip is located to the top middle side of the board. It's located
|
This chip is located on the top middle side of the board. It's located
|
||||||
between SoC and Q7 connector. Use clip (or solder wires) to program
|
between SoC and Q7 connector. Use clip (or solder wires) to program
|
||||||
the chip.
|
the chip.
|
||||||
Specifically, it's a Winbond W25Q64FW (1.8V), whose datasheet can be found
|
Specifically, it's a Winbond W25Q64FW (1.8V), whose datasheet can be found
|
||||||
|
@@ -2,6 +2,14 @@
|
|||||||
|
|
||||||
This section contains documentation about coreboot on specific mainboards.
|
This section contains documentation about coreboot on specific mainboards.
|
||||||
|
|
||||||
|
## AMD
|
||||||
|
- [padmelon](amd/padmelon/padmelon.md)
|
||||||
|
|
||||||
|
## ASRock
|
||||||
|
|
||||||
|
- [H81M-HDS](asrock/h81m-hds.md)
|
||||||
|
- [H110M-DVS](asrock/h110m-dvs.md)
|
||||||
|
|
||||||
## ASUS
|
## ASUS
|
||||||
|
|
||||||
- [F2A85-M](asus/f2a85-m.md)
|
- [F2A85-M](asus/f2a85-m.md)
|
||||||
@@ -9,11 +17,6 @@ This section contains documentation about coreboot on specific mainboards.
|
|||||||
- [P8H61-M Pro](asus/p8h61-m_pro.md)
|
- [P8H61-M Pro](asus/p8h61-m_pro.md)
|
||||||
- [P8Z77-M Pro](asus/p8z77-m_pro.md)
|
- [P8Z77-M Pro](asus/p8z77-m_pro.md)
|
||||||
|
|
||||||
## ASRock
|
|
||||||
|
|
||||||
- [H81M-HDS](asrock/h81m-hds.md)
|
|
||||||
- [H110M-DVS](asrock/h110m-dvs.md)
|
|
||||||
|
|
||||||
## Cavium
|
## Cavium
|
||||||
|
|
||||||
- [CN81XX EVB SFF](cavium/cn8100_sff_evb.md)
|
- [CN81XX EVB SFF](cavium/cn8100_sff_evb.md)
|
||||||
@@ -24,12 +27,7 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
|
|
||||||
- [Spike RISC-V emulator](emulation/spike-riscv.md)
|
- [Spike RISC-V emulator](emulation/spike-riscv.md)
|
||||||
- [Qemu RISC-V emulator](emulation/qemu-riscv.md)
|
- [Qemu RISC-V emulator](emulation/qemu-riscv.md)
|
||||||
|
- [Qemu AArch64 emulator](emulation/qemu-aarch64.md)
|
||||||
## Intel
|
|
||||||
|
|
||||||
- [DG43GT](intel/dg43gt.md)
|
|
||||||
- [IceLake RVP](intel/icelake_rvp.md)
|
|
||||||
- [KBLRVP11](intel/kblrvp11.md)
|
|
||||||
|
|
||||||
## Facebook
|
## Facebook
|
||||||
|
|
||||||
@@ -47,11 +45,6 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
|
|
||||||
- [Dragonegg](google/dragonegg.md)
|
- [Dragonegg](google/dragonegg.md)
|
||||||
|
|
||||||
## Open Cellular
|
|
||||||
|
|
||||||
- [Elgon](opencellular/elgon.md)
|
|
||||||
- [Rotundu](opencellular/rotundu.md)
|
|
||||||
|
|
||||||
## HP
|
## HP
|
||||||
|
|
||||||
- [Compaq 8200 Elite SFF](hp/compaq_8200_sff.md)
|
- [Compaq 8200 Elite SFF](hp/compaq_8200_sff.md)
|
||||||
@@ -62,16 +55,27 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
- [EliteBook common](hp/elitebook_series.md)
|
- [EliteBook common](hp/elitebook_series.md)
|
||||||
- [EliteBook 8760w](hp/8760w.md)
|
- [EliteBook 8760w](hp/8760w.md)
|
||||||
|
|
||||||
|
## Intel
|
||||||
|
|
||||||
|
- [DG43GT](intel/dg43gt.md)
|
||||||
|
- [IceLake RVP](intel/icelake_rvp.md)
|
||||||
|
- [KBLRVP11](intel/kblrvp11.md)
|
||||||
|
|
||||||
## Lenovo
|
## Lenovo
|
||||||
|
|
||||||
- [Mainboard codenames](lenovo/codenames.md)
|
- [Mainboard codenames](lenovo/codenames.md)
|
||||||
- [Hardware Maintenance Manual of ThinkPads](lenovo/thinkpad_hmm.md)
|
- [Hardware Maintenance Manual of ThinkPads](lenovo/thinkpad_hmm.md)
|
||||||
|
- [R60](lenovo/r60.md)
|
||||||
- [T4xx common](lenovo/t4xx_series.md)
|
- [T4xx common](lenovo/t4xx_series.md)
|
||||||
- [X2xx common](lenovo/x2xx_series.md)
|
- [X2xx common](lenovo/x2xx_series.md)
|
||||||
|
|
||||||
## Portwell
|
### Nehalem series
|
||||||
|
|
||||||
- [PQ7-M107](portwell/pq7-m107.md)
|
- [T410](lenovo/t410.md)
|
||||||
|
|
||||||
|
### GM45 series
|
||||||
|
|
||||||
|
- [X301](lenovo/x301.md)
|
||||||
|
|
||||||
### Sandy Bridge series
|
### Sandy Bridge series
|
||||||
|
|
||||||
@@ -87,21 +91,31 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
- [T430 / T530 / X230 / W530 common](lenovo/xx30_series.md)
|
- [T430 / T530 / X230 / W530 common](lenovo/xx30_series.md)
|
||||||
- [T431s](lenovo/t431s.md)
|
- [T431s](lenovo/t431s.md)
|
||||||
|
|
||||||
|
### Haswell series
|
||||||
|
|
||||||
|
- [T440p](lenovo/t440p.md)
|
||||||
|
|
||||||
## MSI
|
## MSI
|
||||||
|
|
||||||
- [MS-7707](msi/ms7707/ms7707.md)
|
- [MS-7707](msi/ms7707/ms7707.md)
|
||||||
|
|
||||||
## PC Engines
|
## Open Cellular
|
||||||
|
|
||||||
- [APU2](pcengines/apu2.md)
|
- [Elgon](opencellular/elgon.md)
|
||||||
|
- [Rotundu](opencellular/rotundu.md)
|
||||||
## Roda
|
|
||||||
|
|
||||||
- [RK9 Flash Header](roda/rk9/flash_header.md)
|
|
||||||
|
|
||||||
## PC Engines
|
## PC Engines
|
||||||
|
|
||||||
- [APU1](pcengines/apu1.md)
|
- [APU1](pcengines/apu1.md)
|
||||||
|
- [APU2](pcengines/apu2.md)
|
||||||
|
|
||||||
|
## Portwell
|
||||||
|
|
||||||
|
- [PQ7-M107](portwell/pq7-m107.md)
|
||||||
|
|
||||||
|
## Roda
|
||||||
|
|
||||||
|
- [RK9 Flash Header](roda/rk9/flash_header.md)
|
||||||
|
|
||||||
## SiFive
|
## SiFive
|
||||||
|
|
||||||
@@ -110,6 +124,7 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
## Supermicro
|
## Supermicro
|
||||||
|
|
||||||
- [X10SLM+-F](supermicro/x10slm-f.md)
|
- [X10SLM+-F](supermicro/x10slm-f.md)
|
||||||
|
- [X11 LGA1151 series](supermicro/x11-lga1151-series/x11-lga1151-series.md)
|
||||||
|
|
||||||
## UP
|
## UP
|
||||||
|
|
||||||
|
44
Documentation/mainboard/lenovo/r60.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Lenovo Thinkpad R60
|
||||||
|
|
||||||
|
Untested on boards with external Radeon graphics adapter. If you have such
|
||||||
|
board, proceed at your own risk and document if it does work.
|
||||||
|
|
||||||
|
## Flashing instructions
|
||||||
|
|
||||||
|
### External flashing
|
||||||
|
|
||||||
|
The flash IC is located at the bottom center of the mainboard. Access to
|
||||||
|
the flash chip is blocked by the magnesium frame, so you need to disassemble
|
||||||
|
the entire laptop and remove the mainboard. The flash chip is referenced as U49 in
|
||||||
|
the schematics and in the boardview.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
To disassemble the laptop, follow the [Hardware Maintenance Manual](https://thinkpads.com/support/hmm/hmm_pdf/42x3749_02.pdf).
|
||||||
|
|
||||||
|
### Internal flashing on Vendor BIOS
|
||||||
|
|
||||||
|
This [method](https://gist.github.com/ArthurHeymans/c5ef494ada01af372735f237f6c6adbe) describes a way to install coreboot with vendor firmware still
|
||||||
|
installed on the Lenovo Thinkpad X60. It is reported to also work in Thinkpad
|
||||||
|
R60, with the only difference being the board target you build coreboot for.
|
||||||
|
|
||||||
|
### Flashing on coreboot
|
||||||
|
|
||||||
|
Default configuration of coreboot doesn't feature any flash restrictions
|
||||||
|
like the vendor firmware, therefore flashrom is able to flash any rom without problems.
|
||||||
|
|
||||||
|
## Things tested and working in Linux 5.3:
|
||||||
|
|
||||||
|
- Intel WiFi card
|
||||||
|
- Suspend and resume
|
||||||
|
- Native graphics initialization. Both legacy VGA and linear framebuffer work
|
||||||
|
- GRUB2 2.04 and SeaBIOS 1.12.1 payloads
|
||||||
|
- Reflashing with flashrom (use flashrom-git as of 17.09.2019)
|
||||||
|
- 2G+1G memory configuration working
|
||||||
|
- 2504 dock USB ports if not hotplugged
|
||||||
|
|
||||||
|
## Things tested and not working:
|
||||||
|
|
||||||
|
- 2504 dock hotplugging
|
||||||
|
- Black bar at the left side of the screen. Doesn't appear in Linux. See picture at top
|
||||||
|
- Sometimes it takes several second to run coreboot. Just wait for it
|
BIN
Documentation/mainboard/lenovo/r60_chip.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
44
Documentation/mainboard/lenovo/t410.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Lenovo T410
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
* Dock has wrong ACPI ID (causes "AC adapter state cannot be read" in Linux)
|
||||||
|
* TPM not working with VBOOT and C_ENV bootblock (works without C_ENV BB)
|
||||||
|
|
||||||
|
## Flashing instructions
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+================================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Size | 8 MiB |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| In circuit flashing | Only in S3/WoL |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Package | SOIC-8 |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Write protection | No |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Dual BIOS feature | No |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
| Internal flashing | Yes |
|
||||||
|
+---------------------+--------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash IC is located at the bottom center of the mainboard. Sadly,
|
||||||
|
access to the IC is blocked by the magnesum frame, so you need to disassemble
|
||||||
|
the entire laptop and remove the mainboard.
|
||||||
|
|
||||||
|
Below is a picture of IC on the mainboard, with the pinouts labeled.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The chip will either be a Macronix MX25L6405D or a Winbond W25Q64CVSIG.
|
||||||
|
Do not rely on dots painted in the corner of the chip (such as the blue dot
|
||||||
|
pictured) to orient the pins!
|
||||||
|
|
||||||
|
[Flashing tutorial](../../flash_tutorial/no_ext_power.md)
|
||||||
|
|
||||||
|
Steps to access the flash IC are described here [T4xx series].
|
||||||
|
|
||||||
|
[T4xx series]: t4xx_series.md
|
BIN
Documentation/mainboard/lenovo/t410_chip_location.jpg
Normal file
After Width: | Height: | Size: 56 KiB |
66
Documentation/mainboard/lenovo/t440p.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# Lenovo ThinkPad T440p
|
||||||
|
|
||||||
|
This page describes how to run coreboot on [Lenovo ThinkPad T440p].
|
||||||
|
|
||||||
|
## Required proprietary blobs
|
||||||
|
|
||||||
|
Please see [mrc.bin](../../northbridge/intel/haswell/mrc.bin).
|
||||||
|
|
||||||
|
## Flashing instructions
|
||||||
|
|
||||||
|
T440p has two flash chips, an 8MB W25Q64FV and a 4MB W25Q32FV. To flash
|
||||||
|
coreboot, you just need to remove the big door according to the T440
|
||||||
|
[Hardware Maintenance Manual] and flash the 4MB chip.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
To access the 8MB chip, you need to remove the base cover.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The flash layout of the OEM firmware is as follows:
|
||||||
|
|
||||||
|
00000000:00000fff fd
|
||||||
|
00001000:00002fff gbe
|
||||||
|
00003000:004fffff me
|
||||||
|
00500000:00bfffff bios
|
||||||
|
|
||||||
|
After flashing coreboot, you may need to re-plug the AC adapter to make
|
||||||
|
the laptop able to power on.
|
||||||
|
|
||||||
|
## Known Issues
|
||||||
|
|
||||||
|
- No audio output when using a headphone
|
||||||
|
- The touchpad is misconfigured, the 3 keys on top are all identified
|
||||||
|
as left button
|
||||||
|
- Cannot get the mainboard serial number from the mainboard: the OEM
|
||||||
|
UEFI firmware gets the serial number from an "emulated EEPROM" via
|
||||||
|
I/O port 0x1630/0x1634, but it's still unknown how to make it work
|
||||||
|
|
||||||
|
## Untested
|
||||||
|
|
||||||
|
- the dGPU model
|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- boot Arch Linux with Linux 4.19.77 from SeaBIOS payload
|
||||||
|
- integrated graphics init with libgfxinit
|
||||||
|
- EHCI debug: the port is the non-charging USB2 port on the right
|
||||||
|
- video output: internal (eDP), miniDP, dock DP, dock HDMI
|
||||||
|
- ACPI support
|
||||||
|
- keyboard and trackpoint
|
||||||
|
- SATA
|
||||||
|
- M.2 SATA SSD
|
||||||
|
- USB
|
||||||
|
- Ethernet
|
||||||
|
- WLAN
|
||||||
|
- WWAN
|
||||||
|
- bluetooth
|
||||||
|
- virtualization: VT-x and VT-d
|
||||||
|
- dock
|
||||||
|
- CMOS options: wlan, trackpoint, fn_ctrl_swap
|
||||||
|
- internal flashing when IFD is unlocked
|
||||||
|
- using `me_cleaner`
|
||||||
|
|
||||||
|
[Lenovo ThinkPad T440p]: https://pcsupport.lenovo.com/us/zh/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t440p
|
||||||
|
[Hardware Maintenance Manual]: https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/t440p_hmm_en_sp40a25467_04.pdf
|
BIN
Documentation/mainboard/lenovo/t440p_all_flash_chips.jpg
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
Documentation/mainboard/lenovo/t440p_flash_chip.jpg
Normal file
After Width: | Height: | Size: 80 KiB |
44
Documentation/mainboard/lenovo/x301.md
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
# Lenovo X301
|
||||||
|
|
||||||
|
## Disassembly Instructions
|
||||||
|
|
||||||
|
You must remove the following parts to access the SPI flash:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
* Battery pack
|
||||||
|
* Keyboard
|
||||||
|
|
||||||
|
Its [Hardware Maintenance Manual](https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/43y9441.pdf) can be used as a guidance of disassembly.
|
||||||
|
|
||||||
|
The WSON-8 flash chip (surrounded with red circle in the photo above,
|
||||||
|
already replaced with a SOIC-8 one) sits under a piece of insulating
|
||||||
|
tape. If solders between the chip and soldering pads fortunately
|
||||||
|
overflows beside the chip as tiny tin balls attached to soldering pads,
|
||||||
|
it will be possible to use a pomona 5250 clip to hold the chip, with
|
||||||
|
its metal tips just attached to tin balls, thus connecting the chip to
|
||||||
|
the programmer. Otherwise, it may be recommended to replace it with a
|
||||||
|
SOIC-8 one (you might need to add the chip to the IFD VSCC list), as
|
||||||
|
what is done in the photo.
|
||||||
|
|
||||||
|
The vendor IFD VSCC list contains:
|
||||||
|
-MACRONIX_MX25L6405 (0xc2, 0x2017)
|
||||||
|
-WINBOND_NEX_W25X64 (0xef, 0x3017)
|
||||||
|
-ATMEL_AT25DF641 (0x1f, 0x4800)
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
:doc:`../../flash_tutorial/ext_power`
|
||||||
|
```
|
||||||
|
Tested:
|
||||||
|
- CPU Core 2 Duo U9400
|
||||||
|
- Slotted DIMM 4GiB*2 from samsung
|
||||||
|
- Camera
|
||||||
|
- pci-e slots
|
||||||
|
- sata and usb2
|
||||||
|
- libgfxinit-based graphic init
|
||||||
|
- NVRAM options for North and South bridges
|
||||||
|
- Sound
|
||||||
|
- Thinkpad EC
|
||||||
|
- S3
|
||||||
|
- Linux 4.19.67-2 within Debian GNU/Linux stable, loaded from
|
||||||
|
Linux payload (Heads) and Seabios.
|
BIN
Documentation/mainboard/lenovo/x301_kb_removed.jpg
Normal file
After Width: | Height: | Size: 313 KiB |
@@ -4,17 +4,17 @@ This page describes how to run coreboot on the [Portwell PQ7-M107].
|
|||||||
|
|
||||||
PQ7-M107 are assembled with different onboard memory modules:
|
PQ7-M107 are assembled with different onboard memory modules:
|
||||||
Rev 1.0 Onboard Samsung K4B8G1646D-MYKO memory
|
Rev 1.0 Onboard Samsung K4B8G1646D-MYKO memory
|
||||||
Rev 1.1 and 1.2 Onboard Micron MT41K512M16HA-125A memory
|
Rev 1.1 and 1.2 Onboard Micron MT41K512M16HA-125A memory
|
||||||
|
Rev 1.3 Onboard Kingston B5116ECMDXGGB memory
|
||||||
|
|
||||||
Use 'make menuconfig' to configure `onboard memory manufacture` in Mainboard
|
Use 'make menuconfig' to configure `onboard memory manufacturer` in Mainboard
|
||||||
menu.
|
menu.
|
||||||
|
|
||||||
## Required blobs
|
## Required blobs
|
||||||
|
|
||||||
This board currently requires:
|
This board currently requires:
|
||||||
fsp blob 3rdparty/fsp/BraswellFspBinPkg/FspBin/BSWFSP.fd
|
fsp blob 3rdparty/fsp/BraswellFspBinPkg/FspBin/BSWFSP.fd
|
||||||
Microcode Intel Braswell cpuid 1046C4 version 410
|
Microcode 3rdparty/intel-microcode/intel-ucode/06-4c-04
|
||||||
(Used pre-built binary retrieved from Intel site)
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
@@ -53,7 +53,7 @@ serial/video/pcie ports might be available.
|
|||||||
- eMMC
|
- eMMC
|
||||||
- SATA
|
- SATA
|
||||||
- serial port
|
- serial port
|
||||||
- SMbus
|
- SMBus
|
||||||
- HDA (codec on carrier)
|
- HDA (codec on carrier)
|
||||||
- initialization with FSP MR2
|
- initialization with FSP MR2
|
||||||
- SeaBIOS payload (version rel-1.11.0-44-g7961917)
|
- SeaBIOS payload (version rel-1.11.0-44-g7961917)
|
||||||
|
@@ -17,7 +17,6 @@ The following things are still missing from this coreboot port:
|
|||||||
- Provide serial number to payload (e.g. in device tree)
|
- Provide serial number to payload (e.g. in device tree)
|
||||||
- Implement instruction emulation
|
- Implement instruction emulation
|
||||||
- Support for booting Linux on RISC-V
|
- Support for booting Linux on RISC-V
|
||||||
- Add support to run OpenSBI payload in m-mode
|
|
||||||
- SMP support in trap handler
|
- SMP support in trap handler
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
@@ -12,7 +12,7 @@ Please see :doc:`../../northbridge/intel/haswell/mrc.bin`.
|
|||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
If you haven't already, build the coreboot toolchain as described in
|
If you haven't already, build the coreboot toolchain as described in
|
||||||
:doc:`../../lessons/lesson1`.
|
:doc:`../../tutorial/part1`.
|
||||||
```
|
```
|
||||||
|
|
||||||
A fully working image should be possible so long as you have the
|
A fully working image should be possible so long as you have the
|
||||||
@@ -68,7 +68,7 @@ region is not readable even by the host.
|
|||||||
The main firmware flash chip is an SOIC-8 package located near the CMOS
|
The main firmware flash chip is an SOIC-8 package located near the CMOS
|
||||||
battery and SATA ports. It should come with a sticker attached that
|
battery and SATA ports. It should come with a sticker attached that
|
||||||
states the firmware revision (e.g. "X10SLH 4.424"). The chip model is
|
states the firmware revision (e.g. "X10SLH 4.424"). The chip model is
|
||||||
an N25Q128A, and the datasheet can be found [here][N25Q128A].
|
an N25Q128A ([datasheet][N25Q128A]).
|
||||||
|
|
||||||
As with [internal programming](#internal-programming), [flashrom] works
|
As with [internal programming](#internal-programming), [flashrom] works
|
||||||
reliably:
|
reliably:
|
||||||
@@ -87,8 +87,7 @@ way without issue.
|
|||||||
|
|
||||||
This board has an ASPEED [AST2400], which has BMC functionality. The
|
This board has an ASPEED [AST2400], which has BMC functionality. The
|
||||||
BMC firmware resides in a 32 MiB SOIC-16 chip just above the [AST2400].
|
BMC firmware resides in a 32 MiB SOIC-16 chip just above the [AST2400].
|
||||||
This chip is an MX25L25635F, whose datasheet can be found
|
This chip is an MX25L25635F ([datasheet][MX25L25635F]).
|
||||||
[here][MX25L25635F].
|
|
||||||
|
|
||||||
### Removing the BMC functionality
|
### Removing the BMC functionality
|
||||||
|
|
||||||
@@ -135,7 +134,7 @@ for caveats.
|
|||||||
can't be used for temperature readings.
|
can't be used for temperature readings.
|
||||||
|
|
||||||
- There is no automatic, OS-independent fan control. This is because
|
- There is no automatic, OS-independent fan control. This is because
|
||||||
the super I/O hardware monitor can only obtain valid CPU temperature
|
the Super I/O hardware monitor can only obtain valid CPU temperature
|
||||||
readings from the PECI agent, but the required driver doesn't exist
|
readings from the PECI agent, but the required driver doesn't exist
|
||||||
in coreboot. The `coretemp` driver can still be used for accurate CPU
|
in coreboot. The `coretemp` driver can still be used for accurate CPU
|
||||||
temperature readings from an OS, and hence the OS can do fan control.
|
temperature readings from an OS, and hence the OS can do fan control.
|
||||||
@@ -168,7 +167,7 @@ Please also see :doc:`../../northbridge/intel/haswell/known-issues`.
|
|||||||
- VGA graphics
|
- VGA graphics
|
||||||
- disabling VGA graphics using the jumper
|
- disabling VGA graphics using the jumper
|
||||||
- hiding the AST2400 using the CMOS setting
|
- hiding the AST2400 using the CMOS setting
|
||||||
- super I/O hardware monitor (see [Known issues](#known-issues))
|
- Super I/O hardware monitor (see [Known issues](#known-issues))
|
||||||
- initialisation with Haswell MRC version 1.6.1 build 2
|
- initialisation with Haswell MRC version 1.6.1 build 2
|
||||||
- flashrom under coreboot
|
- flashrom under coreboot
|
||||||
- Wake-on-LAN
|
- Wake-on-LAN
|
||||||
|
@@ -0,0 +1,62 @@
|
|||||||
|
# X11 LGA1151 series
|
||||||
|
|
||||||
|
The [Supermicro X11 LGA1151 series] are mostly the same boards with some minor differences in
|
||||||
|
internal and external interfaces like available PCIe slots, NICs (1 GbE, 10 GbE), IPMI, RAID
|
||||||
|
Controller etc.
|
||||||
|
|
||||||
|
## Supported boards
|
||||||
|
|
||||||
|
- [X11SSH-TF](x11ssh-tf/x11ssh-tf.md)
|
||||||
|
- [X11SSM-F](x11ssm-f/x11ssm-f.md)
|
||||||
|
|
||||||
|
## Required proprietary blobs
|
||||||
|
|
||||||
|
- [Intel FSP2.0]
|
||||||
|
- Intel ME
|
||||||
|
|
||||||
|
## De-blobbing
|
||||||
|
|
||||||
|
- [Intel FSP2.0] can not be removed as long as there is no free replacement
|
||||||
|
- Intel ME can be cleaned using me_cleaner (~4.5 MB more free space)
|
||||||
|
- Intel Ethernet Controller Firmware can be removed when it's extended functionality is not
|
||||||
|
needed. For more details refer to the respective datasheet (e.g 333016-008 for I210).
|
||||||
|
- Boards with [AST2400] BMC/IPMI: Firmware can be replaced by [OpenBMC]
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
Look at the [flashing tutorial] and the board-specific section.
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
These issues apply to all boards. Have a look at the board-specific issues, too.
|
||||||
|
|
||||||
|
- TianoCore doesn't work with Aspeed NGI, as it's text mode only (Fix is WIP CB:35726)
|
||||||
|
- MRC caching does not work on cold boot with Intel SPS (see [Intel FSP2.0])
|
||||||
|
|
||||||
|
## ToDo
|
||||||
|
|
||||||
|
- Fix issues above
|
||||||
|
- Fix issues in board specific sections
|
||||||
|
- Fix TODOs mentioned in code
|
||||||
|
- Add more boards! :-)
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Kaby Lake |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel C232/C236 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel SPS (server version of the ME) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra links
|
||||||
|
|
||||||
|
[Supermicro X11 LGA1151 series]: https://www.supermicro.com/products/motherboard/Xeon3000/#1151
|
||||||
|
[OpenBMC]: https://www.openbmc.org/
|
||||||
|
[flashrom]: https://flashrom.org/Flashrom
|
||||||
|
[flashing tutorial]: ../../../../flash_tutorial/ext_power.md
|
||||||
|
[Intel FSP2.0]: ../../../../soc/intel/fsp/index.md
|
||||||
|
[AST2400]: https://www.aspeedtech.com/products.php?fPath=20&rId=376
|
@@ -0,0 +1,90 @@
|
|||||||
|
# Supermicro X11SSH-TF
|
||||||
|
|
||||||
|
This section details how to run coreboot on the [Supermicro X11SSH-TF].
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
The board can be flashed externally using *some* programmers. The CH341 was found working, while
|
||||||
|
Dediprog didn't detect the chip.
|
||||||
|
|
||||||
|
The flash IC can be found between the two PCIe slots near the southbridge:
|
||||||
|

|
||||||
|
|
||||||
|
## BMC (IPMI)
|
||||||
|
|
||||||
|
This board has an ASPEED [AST2400], which has BMC/[IPMI] functionality. The BMC firmware resides
|
||||||
|
in a 32 MiB SOIC-16 chip in the corner of the mainboard near the [AST2400]. This chip is an
|
||||||
|
[MX25L25635F].
|
||||||
|
|
||||||
|
## Tested and working
|
||||||
|
|
||||||
|
- USB ports
|
||||||
|
- Ethernet
|
||||||
|
- SATA ports
|
||||||
|
- RS232 external
|
||||||
|
- ECC DRAM detection
|
||||||
|
- PCIe slots
|
||||||
|
- M.2 2280 NVMe slot
|
||||||
|
- BMC (IPMI)
|
||||||
|
- VGA on Aspeed
|
||||||
|
- TPM on TPM expansion header
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
See general issue section.
|
||||||
|
|
||||||
|
## ToDo
|
||||||
|
|
||||||
|
- Fix TODOs mentioned in code
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Kaby Lake |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel C236 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel SPS (server version of the ME) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | ASPEED AST2400 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Ethernet | 2x Intel® X550 10GBase-T Ethernet |
|
||||||
|
| | 1x dedicated BMC |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCIe slots | 1x 3.0 x8 |
|
||||||
|
| | 1x 3.0 x2 (in x4) |
|
||||||
|
| | 1x 3.0 M.2 2260 x4 (Key M, with S-ATA) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| USB slots | 2x USB 2.0 (ext) |
|
||||||
|
| | 2x USB 3.0 (ext) |
|
||||||
|
| | 1x USB 3.0 (int) |
|
||||||
|
| | 1x dual USB 3.0 header |
|
||||||
|
| | 2x dual USB 2.0 header |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| SATA slots | 8x SATA III |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Other slots | 1x RS232 (ext) |
|
||||||
|
| | 1x RS232 header |
|
||||||
|
| | 1x TPM header |
|
||||||
|
| | 1x Power SMB header |
|
||||||
|
| | 6x PWM Fan connector |
|
||||||
|
| | 2x I-SGPIO |
|
||||||
|
| | 2x S-ATA DOM Power connector |
|
||||||
|
| | 1x XDP Port |
|
||||||
|
| | 1x External BMC I2C Header (for IPMI card) |
|
||||||
|
| | 1x Chassis Intrusion Header |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra links
|
||||||
|
|
||||||
|
- [Supermicro X11SSH-TF]
|
||||||
|
- [Board manual]
|
||||||
|
|
||||||
|
[Supermicro X11SSH-TF]: https://www.supermicro.com/en/products/motherboard/X11SSH-TF
|
||||||
|
[Board manual]: https://www.supermicro.com/manuals/motherboard/C236/MNL-1783.pdf
|
||||||
|
[AST2400]: https://www.aspeedtech.com/products.php?fPath=20&rId=376
|
||||||
|
[IPMI]: ../../../../drivers/ipmi_kcs.md
|
||||||
|
[MX25L25635F]: https://media.digikey.com/pdf/Data%20Sheets/Macronix/MX25L25635F.pdf
|
||||||
|
[N25Q128A]: https://www.micron.com/~/media/Documents/Products/Data%20Sheet/NOR%20Flash/Serial%20NOR/N25Q/n25q_128mb_3v_65nm.pdf
|
After Width: | Height: | Size: 135 KiB |
@@ -0,0 +1,93 @@
|
|||||||
|
# Supermicro X11SSM-F
|
||||||
|
|
||||||
|
This section details how to run coreboot on the [Supermicro X11SSM-F].
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
The board can be flashed externally. FTDI FT2232H and FT232H based programmers worked.
|
||||||
|
|
||||||
|
The flash IC [MX25L12873F] can be found near PCH PCIe Slot 4. It is socketed on retail boards.
|
||||||
|
|
||||||
|
For doing ISP (In-System-Programming) one needs to add a diode between VCC and the flash chip.
|
||||||
|
|
||||||
|
## BMC (IPMI)
|
||||||
|
|
||||||
|
This board has an ASPEED [AST2400], which has BMC/[IPMI] functionality. The BMC firmware resides in a
|
||||||
|
32 MiB SOIC-16 chip in the corner of the mainboard near the PCH PCIe Slot 4. This chip is a
|
||||||
|
[MX25L25635F].
|
||||||
|
|
||||||
|
## Tested and working
|
||||||
|
|
||||||
|
- GRUB2 payload with Debian testing and kernel 5.2
|
||||||
|
- ECC ram (Linux' ie31200 driver works)
|
||||||
|
- USB ports
|
||||||
|
- Ethernet
|
||||||
|
- SATA ports
|
||||||
|
- RS232 external
|
||||||
|
- PCIe slots
|
||||||
|
- BMC (IPMI)
|
||||||
|
- VGA on Aspeed
|
||||||
|
- TPM on TPM expansion header
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- See general issue section
|
||||||
|
- "only partially covers this bridge" info from Linux kernel (what does that mean?)
|
||||||
|
- LNXTHERM missing
|
||||||
|
- S3 resume not working
|
||||||
|
|
||||||
|
## ToDo
|
||||||
|
|
||||||
|
- Fix TODOs mentioned in code
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Kaby Lake |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel C236 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel SPS (server version of the ME) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | ASPEED AST2400 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Ethernet | 2x Intel I210-AT 1 GbE |
|
||||||
|
| | 1x dedicated BMC |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCIe slots | 1x 3.0 x8 |
|
||||||
|
| | 1x 3.0 x8 (in x16) |
|
||||||
|
| | 2x 3.0 x4 (in x8) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| USB slots | 2x USB 2.0 (ext) |
|
||||||
|
| | 2x USB 3.0 (ext) |
|
||||||
|
| | 1x USB 3.0 (int) |
|
||||||
|
| | 1x dual USB 3.0 header |
|
||||||
|
| | 2x dual USB 2.0 header |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| SATA slots | 8x S-ATA III |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Other slots | 1x RS232 (ext) |
|
||||||
|
| | 1x RS232 header |
|
||||||
|
| | 1x TPM header |
|
||||||
|
| | 1x Power SMB header |
|
||||||
|
| | 5x PWM Fan connector |
|
||||||
|
| | 2x I-SGPIO |
|
||||||
|
| | 2x S-ATA DOM Power connector |
|
||||||
|
| | 1x XDP Port |
|
||||||
|
| | 1x External BMC I2C Header (for IPMI card) |
|
||||||
|
| | 1x Chassis Intrusion Header |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra links
|
||||||
|
|
||||||
|
- [Supermicro X11SSM-F]
|
||||||
|
- [Board manual]
|
||||||
|
|
||||||
|
[Supermicro X11SSM-F]: https://www.supermicro.com/en/products/motherboard/X11SSM-F
|
||||||
|
[Board manual]: https://www.supermicro.com/manuals/motherboard/C236/MNL-1785.pdf
|
||||||
|
[AST2400]: https://www.aspeedtech.com/products.php?fPath=20&rId=376
|
||||||
|
[IPMI]: ../../../../drivers/ipmi_kcs.md
|
||||||
|
[MX25L25635F]: https://media.digikey.com/pdf/Data%20Sheets/Macronix/MX25L25635F.pdf
|
||||||
|
[MX25L12873F]: https://media.digikey.com/pdf/Data%20Sheets/Macronix/MX25L12873F.pdf
|
@@ -68,6 +68,7 @@ be more frequent than was needed, so we scaled it back to twice a year.
|
|||||||
- [ ] Announce that the release tag is done on IRC
|
- [ ] Announce that the release tag is done on IRC
|
||||||
- [ ] Update release notes with actual commit id, push to repo
|
- [ ] Update release notes with actual commit id, push to repo
|
||||||
- [ ] Upload release files to web server
|
- [ ] Upload release files to web server
|
||||||
|
- [ ] Upload crossgcc sources to web server
|
||||||
- [ ] Update download page to point to files, push to repo
|
- [ ] Update download page to point to files, push to repo
|
||||||
- [ ] Write and publish blog post with release notes.
|
- [ ] Write and publish blog post with release notes.
|
||||||
- [ ] Update the topic in the irc channel that the release is done.
|
- [ ] Update the topic in the irc channel that the release is done.
|
||||||
@@ -195,6 +196,22 @@ The downloads page is the official place to download the releases from, and it n
|
|||||||
|
|
||||||
Here is an example commit to change it: https://review.coreboot.org/#/c/19515/
|
Here is an example commit to change it: https://review.coreboot.org/#/c/19515/
|
||||||
|
|
||||||
|
## Upload crossgcc sources
|
||||||
|
Sometimes the source files for older revisions of
|
||||||
|
crossgcc disappear. To deal with that we maintain a mirror at
|
||||||
|
https://www.coreboot.org/releases/crossgcc-sources/ where we host the
|
||||||
|
sources used by the crossgcc scripts that are part of coreboot releases.
|
||||||
|
|
||||||
|
Run
|
||||||
|
|
||||||
|
````
|
||||||
|
% util/crossgcc/buildgcc -u
|
||||||
|
````
|
||||||
|
|
||||||
|
This will output the set of URLs that the script uses to download the
|
||||||
|
sources. Download them yourself and copy them into the crossgcc-sources
|
||||||
|
directory on the server.
|
||||||
|
|
||||||
## After the release is complete
|
## After the release is complete
|
||||||
Post the release notes on https://blogs.coreboot.org
|
Post the release notes on https://blogs.coreboot.org
|
||||||
|
|
||||||
|
@@ -1,18 +1,39 @@
|
|||||||
Upcoming release - coreboot 4.10
|
coreboot 4.10 release notes
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
The 4.10 release is planned for April/May 2019
|
The 4.10 release covers commit a2faaa9a2 to commit ae317695e3
|
||||||
|
There is a pgp signed 4.10 tag in the git repository, and a branch will
|
||||||
|
be created as needed.
|
||||||
|
|
||||||
Update this document with changes that should be in the release
|
In nearly 8 months since 4.9 we had 198 authors commit 2538 changes
|
||||||
notes.
|
to master. Of these, 85 authors made their first commit to coreboot:
|
||||||
* Please use Markdown.
|
Welcome!
|
||||||
* See the [4.7](coreboot-4.7-relnotes.md) and [4.9](coreboot-4.9-relnotes.md)
|
|
||||||
release notes for the general format.
|
|
||||||
* The chip and board additions and removals will be updated right
|
|
||||||
before the release, so those do not need to be added.
|
|
||||||
|
|
||||||
Significant changes
|
Between the releases the tree grew by about 11000 lines of code plus
|
||||||
-------------------
|
5000 lines of comments.
|
||||||
|
|
||||||
|
Again, a big Thank You to all contributors who helped shape the coreboot
|
||||||
|
project, community and code with their effort, no matter if through
|
||||||
|
development, review, testing, documentation or by helping people asking
|
||||||
|
questions on our venues like IRC or our mailing list.
|
||||||
|
|
||||||
|
What's New
|
||||||
|
----------
|
||||||
|
|
||||||
|
Most of the changes were to mainboards, and on the chipset side, lots
|
||||||
|
of activity concentrated on x86. However compared to previous releases
|
||||||
|
activity (and therefore interest, probably) increased in vboot and in
|
||||||
|
non-x86 architectures. However it's harder this time to give this release
|
||||||
|
a single topic like the last: This release accumulates some of everything.
|
||||||
|
|
||||||
|
Clean Up
|
||||||
|
--------
|
||||||
|
As usual, there was a lot of cleaning up going on, and there notably,
|
||||||
|
a good chunk of this year's Google Summer of Code project to clean out
|
||||||
|
the issues reported by Coverity Scan is already in.
|
||||||
|
|
||||||
|
The only larger scale change that was registered in the pre-release
|
||||||
|
notes was also about cleaning up the tree:
|
||||||
|
|
||||||
### `device_t` is no more
|
### `device_t` is no more
|
||||||
coreboot used to have a data type, `device_t` that changed shape depending on
|
coreboot used to have a data type, `device_t` that changed shape depending on
|
||||||
@@ -22,3 +43,97 @@ time when romstage wasn't operated in Cache-As-RAM mode, but compiled with
|
|||||||
our romcc compiler.
|
our romcc compiler.
|
||||||
|
|
||||||
That data type is now gone.
|
That data type is now gone.
|
||||||
|
|
||||||
|
Release Notes maintenance
|
||||||
|
-------------------------
|
||||||
|
Speaking of pre-release notes: After 4.10 we'll start a document for
|
||||||
|
4.11 in the git repository. Feel free to add notable achievements there
|
||||||
|
so we remember to give them a shout out in the next release's notes.
|
||||||
|
|
||||||
|
Known Issues
|
||||||
|
------------
|
||||||
|
Sadly, Google Cyan is broken in this release. It doesn't work with the
|
||||||
|
"C environment" bootblock (as compared to the old romcc type bootblock)
|
||||||
|
which is now the default. Sadly it doesn't help to simply revert that
|
||||||
|
change because doing so breaks other boards.
|
||||||
|
|
||||||
|
If you want to use Google Cyan with the release (or if
|
||||||
|
you're tracking the master branch), please keep an eye on
|
||||||
|
https://review.coreboot.org/c/coreboot/+/34304 where a solution for this
|
||||||
|
issue is sought.
|
||||||
|
|
||||||
|
Deprecations
|
||||||
|
------------
|
||||||
|
As announced in the 4.9 release notes, there are no deprecations after 4.10.
|
||||||
|
While 4.10 is also released late and we target a 4.11 release in October we
|
||||||
|
nonetheless want to announce deprecations this time: These are under
|
||||||
|
discussion since January, people are working on mitigations for about as long
|
||||||
|
and so it should be possible to resolve the outstanding issues by the end of
|
||||||
|
October.
|
||||||
|
|
||||||
|
Specifically, we want to require code to work with the following Kconfig
|
||||||
|
options so we can remove the options and the code they disable:
|
||||||
|
|
||||||
|
* C\_ENVIRONMENT\_BOOTBLOCK
|
||||||
|
* NO\_CAR\_GLOBAL\_MIGRATION
|
||||||
|
* RELOCATABLE\_RAMSTAGE
|
||||||
|
|
||||||
|
These only affect x86. If your platform only works without them, please
|
||||||
|
look into fixing that.
|
||||||
|
|
||||||
|
Added 28 mainboards:
|
||||||
|
--------------------
|
||||||
|
* ASROCK H110M-DVS
|
||||||
|
* ASUS H61M-CS
|
||||||
|
* ASUS P5G41T-M-LX
|
||||||
|
* ASUS P5QPL-AM
|
||||||
|
* ASUS P8Z77-M-PRO
|
||||||
|
* FACEBOOK FBG1701
|
||||||
|
* FOXCONN G41M
|
||||||
|
* GIGABYTE GA-H61MA-D3V
|
||||||
|
* GOOGLE BLOOG
|
||||||
|
* GOOGLE FLAPJACK
|
||||||
|
* GOOGLE GARG
|
||||||
|
* GOOGLE HATCH-WHL
|
||||||
|
* GOOGLE HELIOS
|
||||||
|
* GOOGLE KINDRED
|
||||||
|
* GOOGLE KODAMA
|
||||||
|
* GOOGLE KOHAKU
|
||||||
|
* GOOGLE KRANE
|
||||||
|
* GOOGLE MISTRAL
|
||||||
|
* HP COMPAQ-8200-ELITE-SFF-PC
|
||||||
|
* INTEL COMETLAKE-RVP
|
||||||
|
* INTEL KBLRVP11
|
||||||
|
* LENOVO R500
|
||||||
|
* LENOVO X1
|
||||||
|
* MSI MS7707
|
||||||
|
* PORTWELL M107
|
||||||
|
* PURISM LIBREM13-V4
|
||||||
|
* PURISM LIBREM15-V4
|
||||||
|
* SUPERMICRO X10SLM-PLUS-F
|
||||||
|
* UP SQUARED
|
||||||
|
|
||||||
|
Removed 7 mainboards:
|
||||||
|
---------------------
|
||||||
|
* GOOGLE BIP
|
||||||
|
* GOOGLE DELAN
|
||||||
|
* GOOGLE ROWAN
|
||||||
|
* PCENGINES ALIX1C
|
||||||
|
* PCENGINES ALIX2C
|
||||||
|
* PCENGINES ALIX2D
|
||||||
|
* PCENGINES ALIX6
|
||||||
|
|
||||||
|
Removed 3 processors:
|
||||||
|
---------------------
|
||||||
|
* src/cpu/amd/geode\_lx
|
||||||
|
* src/cpu/intel/model\_69x
|
||||||
|
* src/cpu/intel/model\_6dx
|
||||||
|
|
||||||
|
Added 2 socs:
|
||||||
|
-------------
|
||||||
|
* src/soc/amd/picasso
|
||||||
|
* src/soc/qualcomm/qcs405
|
||||||
|
|
||||||
|
Toolchain
|
||||||
|
---------
|
||||||
|
* Update to gcc 8.3.0, binutils 2.32, IASL 20190509, clang 8
|
||||||
|
213
Documentation/releases/coreboot-4.11-relnotes.md
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
Upcoming release - coreboot 4.11
|
||||||
|
================================
|
||||||
|
|
||||||
|
coreboot 4.11 was released on November 19th.
|
||||||
|
|
||||||
|
This release cycle was a bit shorter to get closer to our regular
|
||||||
|
schedule of releasing in spring and autumn.
|
||||||
|
|
||||||
|
Since 4.10 there were 1630 new commits by over 130 developers.
|
||||||
|
Of these, about 30 contributed to coreboot for the first time.
|
||||||
|
|
||||||
|
Thank you to all contributors who made 4.11 what it is and welcome
|
||||||
|
to the project to all new contributors!
|
||||||
|
|
||||||
|
Clean Up
|
||||||
|
--------
|
||||||
|
|
||||||
|
The past few months saw lots of cleanup across the source tree:
|
||||||
|
|
||||||
|
The included headers in source files were stripped down to avoid reading
|
||||||
|
unused headers, and unused code fragments, duplicate preprocessor symbols
|
||||||
|
and configuration options were eliminated. Even ACPI got its share
|
||||||
|
of attention, making our tables and bytecode more standards compliant
|
||||||
|
than ever.
|
||||||
|
|
||||||
|
The code across Intel's chipsets was unified some more into drivers for
|
||||||
|
common function blocks, an effort we're more confident will succeed now
|
||||||
|
that Intel itself is driving it.
|
||||||
|
|
||||||
|
Chipset work
|
||||||
|
------------
|
||||||
|
|
||||||
|
Most activity in the last couple months was on Intel support,
|
||||||
|
specifically the Kaby Lake and Cannon Lake drivers were extended
|
||||||
|
for the generations following them.
|
||||||
|
|
||||||
|
On ARM, the Mediatek 8173 chipset support saw significant work while
|
||||||
|
the AMD side worked on getting Picasso support in.
|
||||||
|
|
||||||
|
But everything else also saw some action, the relatively old
|
||||||
|
(e.g. Intel GM45, Via VX900), the tiny (RISC-V) and the obscure
|
||||||
|
(Quark).
|
||||||
|
|
||||||
|
Verified Boot
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The vboot feature that Chromebooks brought into coreboot was extended
|
||||||
|
to work on devices that weren't specially adapted for it: In addition
|
||||||
|
to its original device family it's now supported on various Lenovo
|
||||||
|
laptops, Open Compute Project systems and Siemens industrial machines.
|
||||||
|
|
||||||
|
Eltan's support for measured boot continues to be integrated with
|
||||||
|
vboot, sharing data structures and generally working together where
|
||||||
|
possible.
|
||||||
|
|
||||||
|
New devices
|
||||||
|
-----------
|
||||||
|
|
||||||
|
With 4.11 there's the beginning of support for Intel Tiger Lake and
|
||||||
|
Qualcomm's SC7180 SoCs, while we removed the unmaintained support
|
||||||
|
for Allwinner's A10 SoC.
|
||||||
|
|
||||||
|
There are also 25 new mainboards in our tree:
|
||||||
|
|
||||||
|
* AMD PADMELON
|
||||||
|
* ASUS P5QL-EM
|
||||||
|
* EMULATION QEMU-AARCH64
|
||||||
|
* GOOGLE AKEMI
|
||||||
|
* GOOGLE ARCADA CML
|
||||||
|
* GOOGLE DAMU
|
||||||
|
* GOOGLE DOOD
|
||||||
|
* GOOGLE DRALLION
|
||||||
|
* GOOGLE DRATINI
|
||||||
|
* GOOGLE JACUZZI
|
||||||
|
* GOOGLE JUNIPER
|
||||||
|
* GOOGLE KAKADU
|
||||||
|
* GOOGLE KAPPA
|
||||||
|
* GOOGLE PUFF
|
||||||
|
* GOOGLE SARIEN CML
|
||||||
|
* GOOGLE TREEYA
|
||||||
|
* GOOGLE TROGDOR
|
||||||
|
* LENOVO R60
|
||||||
|
* LENOVO T410
|
||||||
|
* LENOVO THINKPAD T440P
|
||||||
|
* LENOVO X301
|
||||||
|
* RAZER BLADE-STEALTH KBL
|
||||||
|
* SIEMENS MC-APL6
|
||||||
|
* SUPERMICRO X11SSH-TF
|
||||||
|
* SUPERMICRO X11SSM-F
|
||||||
|
|
||||||
|
In addition to the Cubieboard (which uses the A10 SoC), we also
|
||||||
|
removed Google Hatch WHL.
|
||||||
|
|
||||||
|
Deprecations
|
||||||
|
------------
|
||||||
|
|
||||||
|
Because there was only a single developer board (AMD Torpedo)
|
||||||
|
using AGESA family 12h, and because there were multiple,
|
||||||
|
unique Coverity issues with it, the associated vendorcode will
|
||||||
|
be removed shortly after this release.
|
||||||
|
|
||||||
|
Support for the MIPS architecture will also be removed shortly after
|
||||||
|
this release as the only board in the tree was a discontinued development
|
||||||
|
board and no other work has picked up MIPS support, so it's very likely
|
||||||
|
broken already.
|
||||||
|
|
||||||
|
After more than a year of planning and following the announcement in
|
||||||
|
coreboot 4.10, platforms not using relocatable ramstage, a C bootblock
|
||||||
|
and, on systems using Cache as RAM, a postcar stage, won't be supported
|
||||||
|
going forward.
|
||||||
|
|
||||||
|
Significant changes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
### `__PRE_RAM__` is deprecated
|
||||||
|
|
||||||
|
Preprocessor use of `defined(__PRE_RAM__)` have been mostly replaced with
|
||||||
|
`if (ENV_ROMSTAGE_OR_BEFORE)` or the inverse `if (ENV_RAMSTAGE)`.
|
||||||
|
|
||||||
|
The remaining cases and `-D__PRE_RAM__` are to be removed soon after release.
|
||||||
|
|
||||||
|
### `__BOOTBLOCK__` et.al. are converted
|
||||||
|
|
||||||
|
This applies to all `ENV_xxx` definitions found in `<rules.h>`.
|
||||||
|
|
||||||
|
Write code without preprocessor directives whenever possible, replacing
|
||||||
|
`#ifdef __BOOTBLOCK__` with `if (ENV_BOOTBLOCK)`
|
||||||
|
|
||||||
|
In cases where preprocessor is needed use `#if ENV_BOOTBLOCK` instead.
|
||||||
|
|
||||||
|
### `CAR_GLOBAL` is removed where possible
|
||||||
|
|
||||||
|
For all platform code with `NO_CAR_GLOBAL_MIGRATION=y`, any `CAR_GLOBAL`
|
||||||
|
attributes have been removed. Remaining cases from common code are to be
|
||||||
|
removed soon after release.
|
||||||
|
|
||||||
|
### `TSEG` and `cbmem_top()` mapping
|
||||||
|
|
||||||
|
Significant refactoring has bee done to achieve some consistency across platforms
|
||||||
|
and to reduce code duplication.
|
||||||
|
|
||||||
|
### Build system amenities ###
|
||||||
|
|
||||||
|
The build system now has an `all` class of source files to remove the need to
|
||||||
|
list source files for each and every source class (romstage, ramstage, ...)
|
||||||
|
|
||||||
|
The site-local/ mechanism became more robust.
|
||||||
|
|
||||||
|
### Stricter coding standards to improve security ###
|
||||||
|
|
||||||
|
The build now fails on variable length arrays (that make it way too easy to
|
||||||
|
smash a stack) and case statements falling through without a note that it is
|
||||||
|
intentional.
|
||||||
|
|
||||||
|
### Shorter file headers ###
|
||||||
|
|
||||||
|
This project is still under way, but we started moving author information
|
||||||
|
from individual files into the global AUTHORS file (and there's the git
|
||||||
|
history for more details).
|
||||||
|
|
||||||
|
In the future, we also want to replace the license headers (lots of lines)
|
||||||
|
in each file with spdx identifiers (one line) and so we added a LICENSES/
|
||||||
|
directory that contains the full text of all the licenses that are used
|
||||||
|
throughout our tree.
|
||||||
|
|
||||||
|
### Variant creation scripts ###
|
||||||
|
|
||||||
|
To ease the creation of variant boards, `util/mainboard/` now contains
|
||||||
|
scripts to generate a new variant to a given board. These are still
|
||||||
|
specific to google/hatch at this time, but they're written with the idea
|
||||||
|
of becoming more generally useful.
|
||||||
|
|
||||||
|
### Payloads ###
|
||||||
|
|
||||||
|
Payload integration has been updated, coreinfo learned to cope with
|
||||||
|
UPPER CASE commands and libpayload knows how to deal with USB3 hubs.
|
||||||
|
|
||||||
|
### Added VBOOT support to the following platforms:
|
||||||
|
|
||||||
|
* intel/gm45
|
||||||
|
* intel/nehalem
|
||||||
|
|
||||||
|
### Moved the following platforms to C_ENVIRONMENT_BOOTBLOCK:
|
||||||
|
|
||||||
|
* intel/i945
|
||||||
|
* intel/x4x
|
||||||
|
* intel/gm45
|
||||||
|
* intel/nehalem
|
||||||
|
* intel/sandybridge
|
||||||
|
* intel/braswell
|
||||||
|
|
||||||
|
### libgfxinit ###
|
||||||
|
|
||||||
|
Most notable, dynamic CDClk configuration was added to libgfxinit,
|
||||||
|
to support higher resolution displays without changes in the static
|
||||||
|
configuration. It also received some fixes for better DP and eDP
|
||||||
|
compatibility, better error recovery for Intel's fickle GMBus and
|
||||||
|
updated platform support:
|
||||||
|
* Correct HDMI clock limit for G45.
|
||||||
|
* DP support for Ibex Peak (Ironlake graphics).
|
||||||
|
* Fixed scaling on eDP for Broadwell.
|
||||||
|
* Support for ULX variants of Haswell and later.
|
||||||
|
* Support for Kaby, Amber, Coffee and Whiskey Lake.
|
||||||
|
|
||||||
|
### Other
|
||||||
|
* Did cleanups around TSC timer
|
||||||
|
* Improved automatic VR configuration on SKL/KBL
|
||||||
|
* Filled additional fields in SMBIOS type 4
|
||||||
|
* Removed magic value replay from Intel Nehalem/ibexpeak code base
|
||||||
|
* Added OpenSBI on RISCV platforms
|
||||||
|
* Did more preparations for Intel TXT support
|
||||||
|
* Did more preparations for x86_64 stage support
|
||||||
|
* Added SSDT generator for arbitrary SuperIO chips based on devicetree.cb
|
16
Documentation/releases/coreboot-4.12-relnotes.md
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Upcoming release - coreboot 4.12
|
||||||
|
================================
|
||||||
|
|
||||||
|
The 4.12 release is planned for April 2020
|
||||||
|
|
||||||
|
Update this document with changes that should be in the release
|
||||||
|
notes.
|
||||||
|
* Please use Markdown.
|
||||||
|
* See the past few release notes for the general format.
|
||||||
|
* The chip and board additions and removals will be updated right
|
||||||
|
before the release, so those do not need to be added.
|
||||||
|
|
||||||
|
Significant changes
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
### Add significant changes here
|
@@ -10,6 +10,8 @@ Release notes for previous releases
|
|||||||
* [4.7 - January 2018](coreboot-4.7-relnotes.md)
|
* [4.7 - January 2018](coreboot-4.7-relnotes.md)
|
||||||
* [4.8 - May 2018](coreboot-4.8.1-relnotes.md)
|
* [4.8 - May 2018](coreboot-4.8.1-relnotes.md)
|
||||||
* [4.9 - December 2018](coreboot-4.9-relnotes.md)
|
* [4.9 - December 2018](coreboot-4.9-relnotes.md)
|
||||||
|
* [4.10 - July 2019](coreboot-4.10-relnotes.md)
|
||||||
|
* [4.11 - November 2019](coreboot-4.11-relnotes.md)
|
||||||
|
|
||||||
The checklist contains instructions to ensure that a release covers all
|
The checklist contains instructions to ensure that a release covers all
|
||||||
important things and provides a reliable format for tarballs, branch
|
important things and provides a reliable format for tarballs, branch
|
||||||
@@ -21,4 +23,4 @@ Upcoming release
|
|||||||
----------------
|
----------------
|
||||||
|
|
||||||
Please add to the release notes as changes are added:
|
Please add to the release notes as changes are added:
|
||||||
* [4.10 - April 2019](coreboot-4.10-relnotes.md)
|
* [4.12 - April 2020](coreboot-4.12-relnotes.md)
|
||||||
|
@@ -90,11 +90,11 @@ correct state. If it's not the SINIT ACM will reset the platform.
|
|||||||
|
|
||||||
## For developers
|
## For developers
|
||||||
### Configuring Intel TXT in Kconfig
|
### Configuring Intel TXT in Kconfig
|
||||||
Enable ``TEE_INTEL_TXT`` and set the following:
|
Enable ``INTEL_TXT`` and set the following:
|
||||||
|
|
||||||
``TEE_INTEL_TXT_BIOSACM_FILE`` to the path of the BIOS ACM provided by Intel
|
``INTEL_TXT_BIOSACM_FILE`` to the path of the BIOS ACM provided by Intel
|
||||||
|
|
||||||
``TEE_INTEL_TXT_SINITACM_FILE`` to the path of the SINIT ACM provided by Intel
|
``INTEL_TXT_SINITACM_FILE`` to the path of the SINIT ACM provided by Intel
|
||||||
### Print TXT status as early as possible
|
### Print TXT status as early as possible
|
||||||
Add platform code to print the TXT status as early as possible, as the register
|
Add platform code to print the TXT status as early as possible, as the register
|
||||||
is cleared on cold reset.
|
is cleared on cold reset.
|
||||||
|
@@ -186,6 +186,26 @@ In addition to adding the coreboot files into the read-only region,
|
|||||||
enabling vboot causes the build script to add the read/write files into
|
enabling vboot causes the build script to add the read/write files into
|
||||||
coreboot file systems in *FW_MAIN_A* and *FW_MAIN_B*.
|
coreboot file systems in *FW_MAIN_A* and *FW_MAIN_B*.
|
||||||
|
|
||||||
|
**RO_REGION_ONLY**
|
||||||
|
|
||||||
|
The files added to this list will only be placed in the read-only region and
|
||||||
|
not into the read/write coreboot file systems in *FW_MAIN_A* and *FW_MAIN_B*.
|
||||||
|
|
||||||
|
**VBOOT_ENABLE_CBFS_FALLBACK**
|
||||||
|
|
||||||
|
Normally coreboot will use the active read/write coreboot file system for all
|
||||||
|
of it's file access when VBOOT is active and is not in recovery mode.
|
||||||
|
|
||||||
|
When the `VBOOT_ENABLE_CBFS_FALLBACK` option is enabled the cbfs file system will
|
||||||
|
first try to locate a file in the active read/write file system. If the file
|
||||||
|
doesn't exist here the file system will try to locate the file in the read-only
|
||||||
|
file system.
|
||||||
|
|
||||||
|
This option can be used to prevent duplication of static data. Files can be
|
||||||
|
removed from the read/write partitions by adding them to the `RO_REGION_ONLY`
|
||||||
|
config. If a file needs to be changed in a later stage simply remove it from
|
||||||
|
this list.
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
## Signing the coreboot Image
|
## Signing the coreboot Image
|
||||||
|
68
Documentation/soc/amd/amdblobs_license.md
Executable file
@@ -0,0 +1,68 @@
|
|||||||
|
# License Agreement for amd_blobs Repository
|
||||||
|
|
||||||
|
## Abstract
|
||||||
|
|
||||||
|
AMD has generated a simpler and more flexible license agreement for using
|
||||||
|
proprietary precompiled binary images. The new agreement is intended to cover
|
||||||
|
all blobs in the directory structure below where the license resides and
|
||||||
|
eliminates any unique agreements previously provided for individual products.
|
||||||
|
|
||||||
|
A [3rdparty/amd_blobs](https://review.coreboot.org/admin/repos/amd_blobs) repo
|
||||||
|
now exists for distributing new blobs to coreboot developers and consumers.
|
||||||
|
Images for older products will be moved to amd_blobs as time permits.
|
||||||
|
|
||||||
|
By cloning the amd_blobs repo, you will be agreeing to the license agreement
|
||||||
|
contained there.
|
||||||
|
|
||||||
|
## Text of License Agreement
|
||||||
|
|
||||||
|
The language of the agreement is duplicated below for your reference. The
|
||||||
|
official license agreement may be found inside the Git repository.
|
||||||
|
|
||||||
|
> Copyright (c) 2019 ADVANCED MICRO DEVICES, INC.
|
||||||
|
>
|
||||||
|
> READ CAREFULLY: DO NOT DOWNLOAD, COPY OR USE THE ASSOCIATED AMD SOFTWARE
|
||||||
|
> ("LICENSED SOFTWARE") UNTIL YOU HAVE CAREFULLY READ THE FOLLOWING. BY USING
|
||||||
|
> THE LICENSED SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE FOLLOWING TERMS:
|
||||||
|
>
|
||||||
|
> Redistribution and use in binary form, without modification, is permitted
|
||||||
|
> subject to the following conditions:
|
||||||
|
>
|
||||||
|
> a. Reverse engineering, disassembly, or de-compilation of the Licensed
|
||||||
|
> Software is not permitted;
|
||||||
|
>
|
||||||
|
> b. All the content of this document, including the above copyright notice and
|
||||||
|
> below disclaimer, must be included in the documentation or other materials
|
||||||
|
> provided with any distribution, and you may not alter or remove any copyright,
|
||||||
|
> trademark or patent notice(s) in the Licensed Software; and,
|
||||||
|
>
|
||||||
|
> c. The name “AMD” or “Advanced Micro Devices” may not be used to promote
|
||||||
|
> products derived from the Licensed Software.
|
||||||
|
>
|
||||||
|
> Except for the limited license expressly granted above, you have no other
|
||||||
|
> rights in the Licensed Software, whether express, implied, arising by estoppel
|
||||||
|
> or otherwise. The Licensed Software including all Intellectual Property Rights
|
||||||
|
> therein is and remains the sole and exclusive property of AMD or its
|
||||||
|
> licensors, and You shall have no right, title or interest therein except as
|
||||||
|
> expressly set forth above.
|
||||||
|
>
|
||||||
|
> Disclaimer of Warranty. THE LICENSED SOFTWARE IS PROVIDED "AS IS" WITHOUT
|
||||||
|
> WARRANTY OF ANY KIND. AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR
|
||||||
|
> STATUTORY, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
|
||||||
|
> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-
|
||||||
|
> INFRINGEMENT, THAT THE LICENSED SOFTWARE WILL RUN UNINTERRUPTED OR ERROR-FREE
|
||||||
|
> OR WARRANTIES ARISING FROM CUSTOM OF TRADE OR COURSE OF USAGE. THE ENTIRE RISK
|
||||||
|
> ASSOCIATED WITH THE USE OF THE LICENSED SOFTWARE IS ASSUMED BY YOU INCLUDING,
|
||||||
|
> WITHOUT LIMITATION, PERFORMANCE AND INTEROPERABILITY ISSUES THAT MAY ADVERSELY
|
||||||
|
> AFFECT YOUR EXPERIENCE AND THE STABILITY OF YOUR COMPUTING SYSTEM; AND
|
||||||
|
> (C) OTHER EXPERIENCES RESULTING IN ADVERSE EFFECTS, INCLUDING, BUT NOT
|
||||||
|
> LIMITED, TO DATA CORRUPTION OR LOSS. AMD WILL NOT, UNDER ANY CIRCUMSTANCES BE
|
||||||
|
> LIABLE TO YOU FOR ANY PUNITIVE, DIRECT, INCIDENTAL, INDIRECT, SPECIAL OR
|
||||||
|
> CONSEQUENTIAL DAMAGES INCLUDING LOSS OF USE, PROFITS, OR DATA ARISING FROM USE
|
||||||
|
> OF THE LICENSED SOFTWARE EVEN IF AMD AND ITS LICENSORS HAVE BEEN ADVISED OF
|
||||||
|
> THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
>
|
||||||
|
> The Licensed Software including all Intellectual Property Rights therein is
|
||||||
|
> and remains the sole and exclusive property of AMD or its licensors, and You
|
||||||
|
> shall have no right, title or interest therein except as expressly set forth
|
||||||
|
> above or as required by law.
|
49
Documentation/soc/amd/family15h.md
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
# AMD Family 15h [SOC|Processors]
|
||||||
|
|
||||||
|
## Abstract
|
||||||
|
|
||||||
|
Family 15h is a line of AMD x86 products first introduced in 2011. The initial
|
||||||
|
microarchitecture, codenamed "Bulldozer", introduced the concept of a "Compute
|
||||||
|
Unit" (CU) where some parts of the processor are shared between two cores and
|
||||||
|
some parts are unique for each core. Family 15h offerings matured into various
|
||||||
|
models with increased performance and features targeting Enterprise, Client,
|
||||||
|
and Embedded designs. Notice that a particular model can address more than one
|
||||||
|
market(see models references below).
|
||||||
|
|
||||||
|
## Introduction
|
||||||
|
|
||||||
|
The first CU designs were 2 x86 cores with separate integer processors but
|
||||||
|
sharing cache, code branch prediction engine and floating point processor. A die
|
||||||
|
can have up to 8 CU. The floating point processor is composed of two symmetrical
|
||||||
|
128-bit FMAC. Provided each x86 core is doing 128-bit floating point arithmetic,
|
||||||
|
they both do floating point simultaneously. If one is doing 256-bit floating
|
||||||
|
point, the other x86 core can't do floating point simultaneously. Later models
|
||||||
|
changed how resources were shared, and introduced other performance improvements.
|
||||||
|
|
||||||
|
Family 15h products range from SOCs to 3-chip solutions. Devices designed to
|
||||||
|
contain on-die graphics (including headless) are commonly referred to as APUs,
|
||||||
|
not CPUs.
|
||||||
|
|
||||||
|
Later SOCs include a Platform Security Processor (PSP), a small ARM processor
|
||||||
|
responsible for security related measures: For example, if secure boot is
|
||||||
|
enabled, the cores will not exit reset until the BIOS image within the SPI
|
||||||
|
flash is authenticated through its OEM signature, thus ensuring that only OEM
|
||||||
|
produced BIOS can run the platform.
|
||||||
|
|
||||||
|
Support in coreboot for modern AMD products is based on AMD’s reference code:
|
||||||
|
AMD Generic Encapsulated Software Architecture (AGESA™). AGESA contains the
|
||||||
|
code for enabling DRAM, configuring proprietary core logic, assistance with
|
||||||
|
generating ACPI tables, and other features.
|
||||||
|
|
||||||
|
While coreboot contains support for most models, some implementations use a
|
||||||
|
separate cpu/north/south bridge directory structure. Newer products for models
|
||||||
|
60h-6Fh (Merlin Falcon) and 70h-7Fh (Stoney Ridge) rely on modern SOC directory
|
||||||
|
structure.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
1. [Models 00h-0Fh BKDG](https://www.amd.com/system/files/TechDocs/42301_15h_Mod_00h-0Fh_BKDG.pdf)
|
||||||
|
2. [Models 10h-1Fh BKDG](https://www.amd.com/system/files/TechDocs/42300_15h_Mod_10h-1Fh_BKDG.pdf)
|
||||||
|
3. [Models 30h-3Fh BKDG](https://www.amd.com/system/files/TechDocs/49125_15h_Models_30h-3Fh_BKDG.pdf)
|
||||||
|
4. [Models 60h-6Fh BKDG](https://www.amd.com/system/files/TechDocs/50742_15h_Models_60h-6Fh_BKDG.pdf)
|
||||||
|
5. [Models 70h-7Fh BKDG](https://www.amd.com/system/files/TechDocs/55072_AMD_Family_15h_Models_70h-7Fh_BKDG.pdf)
|
@@ -4,5 +4,9 @@ This section contains documentation about coreboot on specific AMD SOCs.
|
|||||||
|
|
||||||
## Technology
|
## Technology
|
||||||
|
|
||||||
|
- [Family 15h](family15h.md)
|
||||||
- [Family 17h](family17h.md)
|
- [Family 17h](family17h.md)
|
||||||
|
|
||||||
|
## amd_blobs Repository License
|
||||||
|
|
||||||
|
- [amd_blobs](amdblobs_license.md)
|
||||||
|
@@ -7,3 +7,4 @@ This section contains documentation about coreboot on specific SOCs.
|
|||||||
- [AMD](amd/index.md)
|
- [AMD](amd/index.md)
|
||||||
- [Cavium](cavium/index.md)
|
- [Cavium](cavium/index.md)
|
||||||
- [Intel](intel/index.md)
|
- [Intel](intel/index.md)
|
||||||
|
- [Qualcomm](qualcomm/index.md)
|
||||||
|
@@ -21,6 +21,12 @@ those are fixed. If possible a workaround is described here as well.
|
|||||||
* Workaround: Don't disable this PCI device
|
* Workaround: Don't disable this PCI device
|
||||||
* Issue on public tracker: [Issue 13]
|
* Issue on public tracker: [Issue 13]
|
||||||
|
|
||||||
|
* FSP Notify(EnumInitPhaseAfterPciEnumeration) hangs if 00:02.03/00:02.03 are hidden
|
||||||
|
* Release MR2
|
||||||
|
* Seems to get stuck on some SKUs only if hidden after MemoryInit
|
||||||
|
* Workaround: Hide before MemoryInit
|
||||||
|
* Issue on public tracker: [Issue 35]
|
||||||
|
|
||||||
### KabylakeFsp
|
### KabylakeFsp
|
||||||
* MfgId and ModulePartNum in the DIMM_INFO struct are empty
|
* MfgId and ModulePartNum in the DIMM_INFO struct are empty
|
||||||
* Release 3.7.1
|
* Release 3.7.1
|
||||||
@@ -28,6 +34,11 @@ those are fixed. If possible a workaround is described here as well.
|
|||||||
* Workaround: none
|
* Workaround: none
|
||||||
* Issue on public tracker: [Issue 22]
|
* Issue on public tracker: [Issue 22]
|
||||||
|
|
||||||
|
* MRC forces memory re-training on cold boot on boards with Intel SPS
|
||||||
|
* Releases 3.7.1, 3.7.6
|
||||||
|
* Workaround: Flash Intel ME instead of SPS
|
||||||
|
* Issue on public tracker: [Issue 41]
|
||||||
|
|
||||||
### BraswellFsp
|
### BraswellFsp
|
||||||
* Internal UART can't be disabled using PcdEnableHsuart*
|
* Internal UART can't be disabled using PcdEnableHsuart*
|
||||||
* Release MR2
|
* Release MR2
|
||||||
@@ -45,6 +56,8 @@ those are fixed. If possible a workaround is described here as well.
|
|||||||
|
|
||||||
* [FSP Specification 2.0](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v2.pdf)
|
* [FSP Specification 2.0](https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v2.pdf)
|
||||||
|
|
||||||
|
* [FSP Specification 2.1](https://cdrdv2.intel.com/v1/dl/getContent/611786)
|
||||||
|
|
||||||
## Additional Features in FSP 2.1 specification
|
## Additional Features in FSP 2.1 specification
|
||||||
|
|
||||||
- [PPI](ppi/ppi.md)
|
- [PPI](ppi/ppi.md)
|
||||||
@@ -57,4 +70,6 @@ those are fixed. If possible a workaround is described here as well.
|
|||||||
[Issue 13]: https://github.com/IntelFsp/FSP/issues/13
|
[Issue 13]: https://github.com/IntelFsp/FSP/issues/13
|
||||||
[Issue 15]: https://github.com/IntelFsp/FSP/issues/15
|
[Issue 15]: https://github.com/IntelFsp/FSP/issues/15
|
||||||
[Issue 22]: https://github.com/IntelFsp/FSP/issues/22
|
[Issue 22]: https://github.com/IntelFsp/FSP/issues/22
|
||||||
|
[Issue 35]: https://github.com/IntelFsp/FSP/issues/35
|
||||||
|
[Issue 41]: https://github.com/IntelFsp/FSP/issues/41
|
||||||
|
|
||||||
|
7
Documentation/soc/qualcomm/index.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Qualcomm SOC-specific documentation
|
||||||
|
|
||||||
|
This section contains documentation about coreboot on specific Qualcomm SOCs.
|
||||||
|
|
||||||
|
## Platforms
|
||||||
|
|
||||||
|
- [SC7180 series](sc7180/index.md)
|
19
Documentation/soc/qualcomm/sc7180/index.md
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# Qualcomm SC7180 documentation
|
||||||
|
|
||||||
|
## SOC code
|
||||||
|
|
||||||
|
The SOC folder contains functions for:
|
||||||
|
* MMU
|
||||||
|
* CLOCK
|
||||||
|
* GPIO
|
||||||
|
* QUPv3 FW (provides a bridge to serial interfaces)
|
||||||
|
* UART
|
||||||
|
* SPI-NOR
|
||||||
|
* AOP FW
|
||||||
|
* USB
|
||||||
|
|
||||||
|
## Notes about the hardware
|
||||||
|
|
||||||
|
The timer is used from the ARMv8 architecture specific code.
|
||||||
|
|
||||||
|
|
56
Documentation/superio/common/ssdt.md
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
# SuperIO SSTD generator
|
||||||
|
|
||||||
|
This page describes the common SSDT ACPI generator for SuperIO chips that can
|
||||||
|
be found in coreboot.
|
||||||
|
|
||||||
|
## Functional description
|
||||||
|
|
||||||
|
In order to automatically generate ACPI functions you need to add
|
||||||
|
a new `chip superio/common` and `device pnp xx.0 on` to your devicetree.
|
||||||
|
|
||||||
|
The xx denotes the hexadecimal address of the SuperIO.
|
||||||
|
|
||||||
|
Place the regular LDN pnp devices behind those two entries.
|
||||||
|
|
||||||
|
The code will automatically guess the function based on the decoded
|
||||||
|
I/O range and ISA IRQ number.
|
||||||
|
|
||||||
|
## Example devicetree.cb
|
||||||
|
|
||||||
|
This example is based on AST2400.
|
||||||
|
|
||||||
|
```
|
||||||
|
# Add a "container" for proper ACPI code generation
|
||||||
|
chip superio/common
|
||||||
|
device pnp 2e.0 on # just for the base device, not for the LDNs
|
||||||
|
chip superio/aspeed/ast2400
|
||||||
|
device pnp 2e.0 off end
|
||||||
|
device pnp 2e.2 on # SUART1
|
||||||
|
io 0x60 = 0x3f8
|
||||||
|
irq 0x70 = 4
|
||||||
|
end
|
||||||
|
device pnp 2e.3 on # SUART2
|
||||||
|
io 0x60 = 0x2f8
|
||||||
|
irq 0x70 = 3
|
||||||
|
end
|
||||||
|
device pnp 2e.4 on # SWC
|
||||||
|
io 0x60 = 0xa00
|
||||||
|
io 0x62 = 0xa10
|
||||||
|
io 0x64 = 0xa20
|
||||||
|
io 0x66 = 0xa30
|
||||||
|
irq 0x70 = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
1) Add ACPI HIDs to every SuperIO driver
|
||||||
|
2) Don't guess ACPI HID of LDNs if it's known
|
||||||
|
3) Add "enter config" and "exit config" bytes
|
||||||
|
4) Generate support methods that allow
|
||||||
|
* Setting resource settings at runtime
|
||||||
|
* Getting resource settings at runtime
|
||||||
|
* Disabling LDNs at runtime
|
@@ -5,3 +5,6 @@ This section contains documentation about coreboot on specific SuperIOs.
|
|||||||
## Nuvoton
|
## Nuvoton
|
||||||
|
|
||||||
- [NPCD378](nuvoton/npcd378.md)
|
- [NPCD378](nuvoton/npcd378.md)
|
||||||
|
|
||||||
|
## Common
|
||||||
|
- [SSDT generator for generic SuperIOs](common/ssdt.md)
|
||||||
|
@@ -0,0 +1,268 @@
|
|||||||
|
Rebuilding coreboot image generation
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Current situation
|
||||||
|
-----------------
|
||||||
|
Chrome OS (CrOS) probably has the most complex image bundling process in the
|
||||||
|
coreboot ecosystem. To make CrOS features more accessible to the wider
|
||||||
|
coreboot community, we want to move these capabilities into upstream
|
||||||
|
coreboot’s build system.
|
||||||
|
|
||||||
|
Right now, the CrOS build system creates coreboot images, and various
|
||||||
|
instances of the payload (with different configuration options), plus some
|
||||||
|
more files (eg. EC firmware), then passes them to a CrOS-specific utility
|
||||||
|
(`bundle_firmware.py`) to build the final image from that.
|
||||||
|
|
||||||
|
`bundle_firmware` adds a flashmap (fmap) to the final image and creates
|
||||||
|
additional CBFS filesystems in fmap regions. It then extracts some files from
|
||||||
|
the original CBFS region (that was put in place carefully to later match to
|
||||||
|
the default fmap region) and copies some of them into the others, as well as
|
||||||
|
putting more data (eg. the bitmap data, keys) as raw data into other fmap
|
||||||
|
regions.
|
||||||
|
|
||||||
|
With the recent addition of more files to CBFS, both on the coreboot side
|
||||||
|
(dsdt, FSP, and so on) and with Chrome OS specifics (eg. more files describing
|
||||||
|
boot screens) we either need to expand the scope of bundle\_firmware or move
|
||||||
|
the capability to build complex images to upstream coreboot’s build system.
|
||||||
|
This document proposes to do the latter and outlines how this could be
|
||||||
|
achieved.
|
||||||
|
|
||||||
|
Problems with the current build system parts
|
||||||
|
--------------------------------------------
|
||||||
|
One common sentiment is that it should be possible to reuse some of the
|
||||||
|
existing mechanisms that are supposed to be supplanted by this.
|
||||||
|
The main concern during this design that precluded their use was that none of
|
||||||
|
them provides a comprehensive solution to building complex coreboot based
|
||||||
|
images:
|
||||||
|
* fmap.dts and fmd provide a flash layout, but no assignment of files of regions
|
||||||
|
* cbfs-files-y ends up as an internal make variable using
|
||||||
|
`weird|formatting|to|deal|with|make’s|limitations`
|
||||||
|
* make isn’t powerful enough to deal with ordering these entries in said
|
||||||
|
variable to guarantee success if there’s enough room for the files. While that
|
||||||
|
could be added, that becomes more make macro work indistinguishable from magic
|
||||||
|
that people fail to understand, break and with good reason complain about
|
||||||
|
to work around such issues, Chrome OS firmware uses a custom tool with even
|
||||||
|
more special cases to finally build the image it needs. If coreboot upstream
|
||||||
|
is to support vboot, it should also be powerful enough not to need magic tools
|
||||||
|
that only live within downstream projects.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
A complete Chrome OS coreboot image consists of (depending on the device)
|
||||||
|
* platform specific data in raw fmap regions (eg IFD, ME firmware),
|
||||||
|
* the bootblock (coming from the bootblock),
|
||||||
|
* three copies of coreboot, consisting of the stages (verstage, romstage,
|
||||||
|
ramstage) plus data,
|
||||||
|
* depthcharge plus data (with each of the coreboot copies),
|
||||||
|
* EC firmware files (with each of the coreboot copies),
|
||||||
|
* signatures over several parts of the image and
|
||||||
|
* some final checksumming over parts of the image to satisfy boot ROM
|
||||||
|
tests on ARM
|
||||||
|
|
||||||
|
A complete upstream coreboot image (with fallback/normal switch configuration,
|
||||||
|
using a yet to be implemented switching scheme based on fmaps) consists of
|
||||||
|
* platform specific data in raw fmap regions (eg IFD, ME firmware),
|
||||||
|
* two copies of coreboot, consisting of
|
||||||
|
* the bootblock and
|
||||||
|
* the stages (romstage, ramstage) plus data,
|
||||||
|
* payload plus data (with each of the coreboot copies),
|
||||||
|
|
||||||
|
Since a single platform is potentially built with different payload
|
||||||
|
configurations (eg. modding a Chromebook to not use the verified Chrome OS
|
||||||
|
boot scheme), some concerns need to be kept separate:
|
||||||
|
* Platform requirements that have nothing to do with the payload or boot schemes
|
||||||
|
* IFD, ME, … need to copied to the right place
|
||||||
|
* boot ROM requirements such as checksums must be honored
|
||||||
|
* Payload/boot scheme requirements
|
||||||
|
* Having one to three regions with certain files copied into them
|
||||||
|
|
||||||
|
Proposal
|
||||||
|
--------
|
||||||
|
The proposal is based on manifest files that describe certain aspects of the
|
||||||
|
final image.
|
||||||
|
The number of manifest files may change over time, but this seems to be a
|
||||||
|
reasonable approach for now. As long as coreboot uses fmap and cbfs, there
|
||||||
|
should be few need to change the language, since composition is done through
|
||||||
|
files.
|
||||||
|
|
||||||
|
The final image is generated by a utility that is handed a number of manifests
|
||||||
|
and the size of the flash (derived from `CONFIG_ROM_SIZE`). These manifest files
|
||||||
|
deal with different concerns, with the following an example that should match
|
||||||
|
current use cases:
|
||||||
|
|
||||||
|
Chipset manifest
|
||||||
|
----------------
|
||||||
|
The chipset details if there are any non-coreboot regions, and assigns them
|
||||||
|
names, locations, sizes and file contents and prepares a region for what is
|
||||||
|
“platform visible” (eg. IFD’s BIOS region) that may be of flexible size
|
||||||
|
(depending on the flash chip’s size). For the purpose of this document, that
|
||||||
|
region is called “BIOS”.
|
||||||
|
It can also specify if there’s a post processing requirement on the final
|
||||||
|
image.
|
||||||
|
|
||||||
|
coreboot manifest
|
||||||
|
-----------------
|
||||||
|
coreboot provides lists of the files it generates for each category it’s
|
||||||
|
building (eg. bootblock, verstage, romstage, ramstage). They not only contain
|
||||||
|
the stages themselves, but also additional files (eg. dsdt belongs to ramstage
|
||||||
|
since that’s where it is used)
|
||||||
|
|
||||||
|
Boot method manifest
|
||||||
|
--------------------
|
||||||
|
The boot method manifest can subdivide the BIOS region, eg. using it directly
|
||||||
|
(for coreboot’s “simple” bootblock), splitting it in two (for coreboot’s
|
||||||
|
fallback/normal) or in many parts (for Chrome OS, which requires two CBFS
|
||||||
|
regions, one for GBB, several for VPD, …).
|
||||||
|
It also specifies which of the file lists specified earlier belong in which
|
||||||
|
region (eg. with verstage verifying romstage, verstage needs to be only in
|
||||||
|
Chrome OS’ RO region, while romstage belongs in RO and both RW regions).
|
||||||
|
It can also specify a post processing step that is executed before the
|
||||||
|
chipset’s.
|
||||||
|
|
||||||
|
Payload and additional manifests
|
||||||
|
--------------------------------
|
||||||
|
External components should also provide manifests to add files to categories.
|
||||||
|
This way the payload and other components (eg. EC firmware) can be developed
|
||||||
|
without needing to touch the central boot method manifest (that likely resides
|
||||||
|
in the coreboot tree, given that coreboot needs to deal with choosing fmap
|
||||||
|
regions already).
|
||||||
|
|
||||||
|
coreboot build system
|
||||||
|
---------------------
|
||||||
|
The coreboot build system will be split more distinctly in two phases: The
|
||||||
|
first is about building the files (with results like romstage.elf), while the
|
||||||
|
second phase covers the assembly of the final image.
|
||||||
|
|
||||||
|
By having a global picture of the final image’s requirements, we can also
|
||||||
|
avoid issues where files added earlier may prevent later additions that have
|
||||||
|
stricter constraints - without resorting to hacks like
|
||||||
|
https://chromium-review.googlesource.com/289491 that reorder the file addition
|
||||||
|
manually.
|
||||||
|
|
||||||
|
Example
|
||||||
|
-------
|
||||||
|
As an example, we’ll define an Intel-based board with a postprocessing tool
|
||||||
|
(something that doesn’t exist, but isn’t hard to imagine):
|
||||||
|
|
||||||
|
It specifies an IFD region, an ME, and the BIOS region. After the image is
|
||||||
|
built, the entire image needs to be processed (although the tool likely works
|
||||||
|
only on a small part of it)
|
||||||
|
|
||||||
|
It’s built in a Chrome OS-like configuration (simplified at places to avoid
|
||||||
|
distracting from the important parts), so it has three CBFS regions, and
|
||||||
|
several data regions for its own purpose (similar to GBB, FWID, VPD, …). After
|
||||||
|
the regions are filled, one data region must be post-processed to contain
|
||||||
|
signatures to enable verifying other regions.
|
||||||
|
|
||||||
|
```
|
||||||
|
Chipset manifest
|
||||||
|
================
|
||||||
|
# A region called IFD, starting at 0, ending at 4K
|
||||||
|
region IFD: 0 4K
|
||||||
|
# Add the specified file “raw” into the region.
|
||||||
|
# If the file is smaller than the region, put it at the bottom and fill up
|
||||||
|
# with 0xff
|
||||||
|
raw IFD: build/ifd.bin align=bottom empty=0xff
|
||||||
|
# Call the postprocessor on the data that ends up in IFD (in this example it
|
||||||
|
# might lock the IFD)
|
||||||
|
postprocess IFD: util/ifdprocess -l
|
||||||
|
|
||||||
|
# a region called ME, starting at 4K, ending at 2M
|
||||||
|
region ME: 4K 2M
|
||||||
|
raw ME: 3rdparty/blobs/soc/intel/xanadu/me.bin align=bottom empty=0x00
|
||||||
|
|
||||||
|
# a region called BIOS, starting at 2M, filling up the free space
|
||||||
|
# filling up fails (build error) if two regions are requested to fill up
|
||||||
|
# against each other
|
||||||
|
region BIOS: 2M *
|
||||||
|
|
||||||
|
# This would define a region that covers the last 4K of flash.
|
||||||
|
# The BIOS region specified above will end right before it instead of
|
||||||
|
# expanding to end of flash
|
||||||
|
# region AUX: -4K -0
|
||||||
|
|
||||||
|
# specify the tool that post-processes the entire image.
|
||||||
|
postprocess image: util/intelchksum/intelchksum.sh
|
||||||
|
|
||||||
|
coreboot manifest
|
||||||
|
=================
|
||||||
|
# declare that build/verstage.elf belongs into the group ‘verstage’
|
||||||
|
# these groups are later referred to by the “cbfs” command.
|
||||||
|
group verstage: build/verstage.elf stage xip name=fallback/verstage
|
||||||
|
group romstage: build/romstage.elf stage xip name=fallback/romstage
|
||||||
|
group ramstage: build/ramstage.elf stage name=fallback/ramstage
|
||||||
|
compression=lzma
|
||||||
|
group ramstage: build/dsdt.aml compression=lzma
|
||||||
|
|
||||||
|
boot method manifest
|
||||||
|
====================
|
||||||
|
# Define RO as region inside BIOS, covering the upper half of the image.
|
||||||
|
# It’s a build error if the result crosses outside BIOS.
|
||||||
|
# math expressions are wrapped with ( ),
|
||||||
|
# and mentions of regions therein always refer to their size
|
||||||
|
subregion BIOS RO: ( image / 2 ) -0
|
||||||
|
|
||||||
|
# Define RW to cover the rest of BIOS.
|
||||||
|
# The order of RW and RO doesn’t matter except to keep comments clearer.
|
||||||
|
# Dynamic items like RW (“*”) will be sized to fill unused space after
|
||||||
|
# everything else is placed.
|
||||||
|
subregion BIOS RW: 0 *
|
||||||
|
|
||||||
|
# It may be necessary to separate the RO/RW definition into another manifest
|
||||||
|
# file
|
||||||
|
# that defines the RO configuration of the flash
|
||||||
|
|
||||||
|
# Some more subregions, with dynamically calculated sizes
|
||||||
|
subregion RW RW_A: 0 ( RW / 2 )
|
||||||
|
subregion RW RW_B: * -0
|
||||||
|
subregion RW_A FW_MAIN_A: RW_A * -0
|
||||||
|
subregion RW_A VBLOCK_A: 0 64K
|
||||||
|
# foo +bar specifies start + size, not (start, end)
|
||||||
|
# also, start is given as “the end of VBLOCK_A”
|
||||||
|
# (while using a region in the “end” field means “start of region”)
|
||||||
|
subregion RW_A FWID_A: VBLOCK_A +64
|
||||||
|
|
||||||
|
# To make the example not too verbose, RO only has the CBFS region
|
||||||
|
subregion RO BOOTSTUB: 0 *
|
||||||
|
|
||||||
|
# Postprocess the data that ends up in VBLOCK_A,
|
||||||
|
# passing the listed regions as additional arguments.
|
||||||
|
# Circular dependencies are build errors.
|
||||||
|
postprocess VBLOCK_A(FW_MAIN_A): signtool
|
||||||
|
|
||||||
|
# binding files to regions indirectly through groups
|
||||||
|
cbfs BOOTSTUB: verstage, romstage, ramstage, payload
|
||||||
|
cbfs FW_MAIN_A: romstage, ramstage, payload
|
||||||
|
|
||||||
|
# defining defaults: unless overridden, in all regions that use CBFS (“*”),
|
||||||
|
# we want all files to come with SHA256 hashes.
|
||||||
|
# Wildcard defaults have lower priority than specific defaults.
|
||||||
|
# Other conflicts lead to a build error.
|
||||||
|
cbfsdefaults *: hash=sha3
|
||||||
|
|
||||||
|
payload manifest
|
||||||
|
================
|
||||||
|
group payload: payload.elf payload
|
||||||
|
group payload: bootscreen.jpg name=splashscreen.jpg type=splashscreen
|
||||||
|
|
||||||
|
EC firmware manifest
|
||||||
|
====================
|
||||||
|
# overrides the cbfsdefault above
|
||||||
|
group payload: ecrw.bin name=ecrw hash=sha256
|
||||||
|
group payload: pdrw.bin name=pdrw hash=sha256
|
||||||
|
```
|
||||||
|
|
||||||
|
manifest parsing
|
||||||
|
----------------
|
||||||
|
The exact BNF is work in progress.
|
||||||
|
|
||||||
|
Some parser rules are
|
||||||
|
* one line per statement
|
||||||
|
* '#' introduces a command until the end of line
|
||||||
|
|
||||||
|
Some processing rules
|
||||||
|
* When there’s a conflict (eg. two statements on what to do to a region,
|
||||||
|
overlap, anything that can’t be determined), that is a build error.
|
||||||
|
* the order of statements doesn’t matter, enabling simple addition of more
|
||||||
|
manifests where the need arises.
|
||||||
|
|
4
Documentation/technotes/index.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Technotes
|
||||||
|
|
||||||
|
* [Dealing with Untrusted Input in SMM](2017-02-dealing-with-untrusted-input-in-smm.md)
|
||||||
|
* [Rebuilding coreboot image generation](2015-11-rebuilding-coreboot-image-generation.md)
|
4
Documentation/tutorial/index.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# Tutorial
|
||||||
|
|
||||||
|
* [Part 1: Starting from scratch](part1.md)
|
||||||
|
* [Part 2: Submitting a patch to coreboot.org](part2.md)
|
@@ -1,5 +1,5 @@
|
|||||||
coreboot Lesson 1: Starting from scratch
|
Tutorial, part 1: Starting from scratch
|
||||||
========================================
|
===========================================
|
||||||
|
|
||||||
From a fresh Ubuntu 16.04 or 18.04 install, here are all the steps required for
|
From a fresh Ubuntu 16.04 or 18.04 install, here are all the steps required for
|
||||||
a very basic build:
|
a very basic build:
|
@@ -1,4 +1,4 @@
|
|||||||
# coreboot Lesson 2: Submitting a patch to coreboot.org
|
# Tutorial, part 2: Submitting a patch to coreboot.org
|
||||||
|
|
||||||
## Part 1: Setting up an account at coreboot.org
|
## Part 1: Setting up an account at coreboot.org
|
||||||
|
|
@@ -1,4 +1,7 @@
|
|||||||
# Utilities
|
# Utilities
|
||||||
|
|
||||||
|
## List of utils
|
||||||
|
|
||||||
_Scripts and programs found in the `./util` directory_
|
_Scripts and programs found in the `./util` directory_
|
||||||
* __abuild__ - coreboot autobuild script builds coreboot images for all
|
* __abuild__ - coreboot autobuild script builds coreboot images for all
|
||||||
available targets. `bash`
|
available targets. `bash`
|
||||||
@@ -47,7 +50,7 @@ Controller (EC). `C`
|
|||||||
* __genprof__ - Format function tracing logs `Bash` `C`
|
* __genprof__ - Format function tracing logs `Bash` `C`
|
||||||
* __gitconfig__ - Initialize git repository submodules install git
|
* __gitconfig__ - Initialize git repository submodules install git
|
||||||
hooks `Bash`
|
hooks `Bash`
|
||||||
* __ifdtool__ - Extract and dump Intel Firmware Descriptor information
|
* [__ifdtool__](ifdtool/index.md) - Extract and dump Intel Firmware Descriptor information
|
||||||
`C`
|
`C`
|
||||||
* __intelmetool__ - Dump interesting things about Management Engine
|
* __intelmetool__ - Dump interesting things about Management Engine
|
||||||
even if hidden `C`
|
even if hidden `C`
|
||||||
@@ -131,3 +134,8 @@ CPUs. `C`
|
|||||||
* __x86__ - Generates 32-bit PAE page tables based on a CSV input file.
|
* __x86__ - Generates 32-bit PAE page tables based on a CSV input file.
|
||||||
`Go`
|
`Go`
|
||||||
* __xcompile__ - Cross compile setup `Bash`
|
* __xcompile__ - Cross compile setup `Bash`
|
||||||
|
|
||||||
|
|
||||||
|
## In depth documentation
|
||||||
|
|
||||||
|
* [ifdtool](ifdtool/index.md)
|
||||||
|
@@ -5,3 +5,4 @@ This section contains documentation about coreboot on specific vendorcode.
|
|||||||
## Vendor
|
## Vendor
|
||||||
|
|
||||||
- [Cavium](cavium/index.md)
|
- [Cavium](cavium/index.md)
|
||||||
|
- [Eltan](eltan/index.md)
|
||||||
|
208
LICENSES/Apache-2.0.txt
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
Apache License
|
||||||
|
|
||||||
|
Version 2.0, January 2004
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION,
|
||||||
|
AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction, and distribution
|
||||||
|
as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by the copyright
|
||||||
|
owner that is granting the License.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all other entities
|
||||||
|
that control, are controlled by, or are under common control with that entity.
|
||||||
|
For the purposes of this definition, "control" means (i) the power, direct
|
||||||
|
or indirect, to cause the direction or management of such entity, whether
|
||||||
|
by contract or otherwise, or (ii) ownership of fifty percent (50%) or more
|
||||||
|
of the outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity exercising permissions
|
||||||
|
granted by this License.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications, including
|
||||||
|
but not limited to software source code, documentation source, and configuration
|
||||||
|
files.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical transformation
|
||||||
|
or translation of a Source form, including but not limited to compiled object
|
||||||
|
code, generated documentation, and conversions to other media types.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or Object form,
|
||||||
|
made available under the License, as indicated by a copyright notice that
|
||||||
|
is included in or attached to the work (an example is provided in the Appendix
|
||||||
|
below).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object form,
|
||||||
|
that is based on (or derived from) the Work and for which the editorial revisions,
|
||||||
|
annotations, elaborations, or other modifications represent, as a whole, an
|
||||||
|
original work of authorship. For the purposes of this License, Derivative
|
||||||
|
Works shall not include works that remain separable from, or merely link (or
|
||||||
|
bind by name) to the interfaces of, the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including the original version
|
||||||
|
of the Work and any modifications or additions to that Work or Derivative
|
||||||
|
Works thereof, that is intentionally submitted to Licensor for inclusion in
|
||||||
|
the Work by the copyright owner or by an individual or Legal Entity authorized
|
||||||
|
to submit on behalf of the copyright owner. For the purposes of this definition,
|
||||||
|
"submitted" means any form of electronic, verbal, or written communication
|
||||||
|
sent to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems, and
|
||||||
|
issue tracking systems that are managed by, or on behalf of, the Licensor
|
||||||
|
for the purpose of discussing and improving the Work, but excluding communication
|
||||||
|
that is conspicuously marked or otherwise designated in writing by the copyright
|
||||||
|
owner as "Not a Contribution."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity on behalf
|
||||||
|
of whom a Contribution has been received by Licensor and subsequently incorporated
|
||||||
|
within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of this
|
||||||
|
License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
|
||||||
|
no-charge, royalty-free, irrevocable copyright license to reproduce, prepare
|
||||||
|
Derivative Works of, publicly display, publicly perform, sublicense, and distribute
|
||||||
|
the Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of this License,
|
||||||
|
each Contributor hereby grants to You a perpetual, worldwide, non-exclusive,
|
||||||
|
no-charge, royalty-free, irrevocable (except as stated in this section) patent
|
||||||
|
license to make, have made, use, offer to sell, sell, import, and otherwise
|
||||||
|
transfer the Work, where such license applies only to those patent claims
|
||||||
|
licensable by such Contributor that are necessarily infringed by their Contribution(s)
|
||||||
|
alone or by combination of their Contribution(s) with the Work to which such
|
||||||
|
Contribution(s) was submitted. If You institute patent litigation against
|
||||||
|
any entity (including a cross-claim or counterclaim in a lawsuit) alleging
|
||||||
|
that the Work or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses granted to You
|
||||||
|
under this License for that Work shall terminate as of the date such litigation
|
||||||
|
is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the Work or
|
||||||
|
Derivative Works thereof in any medium, with or without modifications, and
|
||||||
|
in Source or Object form, provided that You meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or Derivative Works a copy
|
||||||
|
of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices stating that
|
||||||
|
You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works that You distribute,
|
||||||
|
all copyright, patent, trademark, and attribution notices from the Source
|
||||||
|
form of the Work, excluding those notices that do not pertain to any part
|
||||||
|
of the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its distribution,
|
||||||
|
then any Derivative Works that You distribute must include a readable copy
|
||||||
|
of the attribution notices contained within such NOTICE file, excluding those
|
||||||
|
notices that do not pertain to any part of the Derivative Works, in at least
|
||||||
|
one of the following places: within a NOTICE text file distributed as part
|
||||||
|
of the Derivative Works; within the Source form or documentation, if provided
|
||||||
|
along with the Derivative Works; or, within a display generated by the Derivative
|
||||||
|
Works, if and wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and do not modify the
|
||||||
|
License. You may add Your own attribution notices within Derivative Works
|
||||||
|
that You distribute, alongside or as an addendum to the NOTICE text from the
|
||||||
|
Work, provided that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and may provide
|
||||||
|
additional or different license terms and conditions for use, reproduction,
|
||||||
|
or distribution of Your modifications, or for any such Derivative Works as
|
||||||
|
a whole, provided Your use, reproduction, and distribution of the Work otherwise
|
||||||
|
complies with the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise, any
|
||||||
|
Contribution intentionally submitted for inclusion in the Work by You to the
|
||||||
|
Licensor shall be under the terms and conditions of this License, without
|
||||||
|
any additional terms or conditions. Notwithstanding the above, nothing herein
|
||||||
|
shall supersede or modify the terms of any separate license agreement you
|
||||||
|
may have executed with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade names,
|
||||||
|
trademarks, service marks, or product names of the Licensor, except as required
|
||||||
|
for reasonable and customary use in describing the origin of the Work and
|
||||||
|
reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or agreed to
|
||||||
|
in writing, Licensor provides the Work (and each Contributor provides its
|
||||||
|
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied, including, without limitation, any warranties
|
||||||
|
or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness
|
||||||
|
of using or redistributing the Work and assume any risks associated with Your
|
||||||
|
exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory, whether
|
||||||
|
in tort (including negligence), contract, or otherwise, unless required by
|
||||||
|
applicable law (such as deliberate and grossly negligent acts) or agreed to
|
||||||
|
in writing, shall any Contributor be liable to You for damages, including
|
||||||
|
any direct, indirect, special, incidental, or consequential damages of any
|
||||||
|
character arising as a result of this License or out of the use or inability
|
||||||
|
to use the Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all other commercial
|
||||||
|
damages or losses), even if such Contributor has been advised of the possibility
|
||||||
|
of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing the Work
|
||||||
|
or Derivative Works thereof, You may choose to offer, and charge a fee for,
|
||||||
|
acceptance of support, warranty, indemnity, or other liability obligations
|
||||||
|
and/or rights consistent with this License. However, in accepting such obligations,
|
||||||
|
You may act only on Your own behalf and on Your sole responsibility, not on
|
||||||
|
behalf of any other Contributor, and only if You agree to indemnify, defend,
|
||||||
|
and hold each Contributor harmless for any liability incurred by, or claims
|
||||||
|
asserted against, such Contributor by reason of your accepting any such warranty
|
||||||
|
or additional liability. END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following boilerplate
|
||||||
|
notice, with the fields enclosed by brackets "[]" replaced with your own identifying
|
||||||
|
information. (Don't include the brackets!) The text should be enclosed in
|
||||||
|
the appropriate comment syntax for the file format. We also recommend that
|
||||||
|
a file or class name and description of purpose be included on the same "printed
|
||||||
|
page" as the copyright notice for easier identification within third-party
|
||||||
|
archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
|
||||||
|
limitations under the License.
|
26
LICENSES/BSD-3-Clause.txt
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Copyright (c) <year> <owner>. All rights reserved.
|
||||||
|
|
||||||
|
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. Neither the name of the copyright holder 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 COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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.
|
324
LICENSES/CC-BY-4.0.txt
Normal file
@@ -0,0 +1,324 @@
|
|||||||
|
Creative Commons Attribution 4.0 International Creative Commons Corporation
|
||||||
|
("Creative Commons") is not a law firm and does not provide legal services
|
||||||
|
or legal advice. Distribution of Creative Commons public licenses does not
|
||||||
|
create a lawyer-client or other relationship. Creative Commons makes its licenses
|
||||||
|
and related information available on an "as-is" basis. Creative Commons gives
|
||||||
|
no warranties regarding its licenses, any material licensed under their terms
|
||||||
|
and conditions, or any related information. Creative Commons disclaims all
|
||||||
|
liability for damages resulting from their use to the fullest extent possible.
|
||||||
|
|
||||||
|
Using Creative Commons Public Licenses
|
||||||
|
|
||||||
|
Creative Commons public licenses provide a standard set of terms and conditions
|
||||||
|
that creators and other rights holders may use to share original works of
|
||||||
|
authorship and other material subject to copyright and certain other rights
|
||||||
|
specified in the public license below. The following considerations are for
|
||||||
|
informational purposes only, are not exhaustive, and do not form part of our
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
Considerations for licensors: Our public licenses are intended for use by
|
||||||
|
those authorized to give the public permission to use material in ways otherwise
|
||||||
|
restricted by copyright and certain other rights. Our licenses are irrevocable.
|
||||||
|
Licensors should read and understand the terms and conditions of the license
|
||||||
|
they choose before applying it. Licensors should also secure all rights necessary
|
||||||
|
before applying our licenses so that the public can reuse the material as
|
||||||
|
expected. Licensors should clearly mark any material not subject to the license.
|
||||||
|
This includes other CC-licensed material, or material used under an exception
|
||||||
|
or limitation to copyright. More considerations for licensors : wiki.creativecommons.org/Considerations_for_licensors
|
||||||
|
|
||||||
|
Considerations for the public: By using one of our public licenses, a licensor
|
||||||
|
grants the public permission to use the licensed material under specified
|
||||||
|
terms and conditions. If the licensor's permission is not necessary for any
|
||||||
|
reason–for example, because of any applicable exception or limitation to copyright–then
|
||||||
|
that use is not regulated by the license. Our licenses grant only permissions
|
||||||
|
under copyright and certain other rights that a licensor has authority to
|
||||||
|
grant. Use of the licensed material may still be restricted for other reasons,
|
||||||
|
including because others have copyright or other rights in the material. A
|
||||||
|
licensor may make special requests, such as asking that all changes be marked
|
||||||
|
or described. Although not required by our licenses, you are encouraged to
|
||||||
|
respect those requests where reasonable. More considerations for the public
|
||||||
|
: wiki.creativecommons.org/Considerations_for_licensees Creative Commons Attribution
|
||||||
|
4.0 International Public License
|
||||||
|
|
||||||
|
By exercising the Licensed Rights (defined below), You accept and agree to
|
||||||
|
be bound by the terms and conditions of this Creative Commons Attribution
|
||||||
|
4.0 International Public License ("Public License"). To the extent this Public
|
||||||
|
License may be interpreted as a contract, You are granted the Licensed Rights
|
||||||
|
in consideration of Your acceptance of these terms and conditions, and the
|
||||||
|
Licensor grants You such rights in consideration of benefits the Licensor
|
||||||
|
receives from making the Licensed Material available under these terms and
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
Section 1 – Definitions.
|
||||||
|
|
||||||
|
a. Adapted Material means material subject to Copyright and Similar Rights
|
||||||
|
that is derived from or based upon the Licensed Material and in which the
|
||||||
|
Licensed Material is translated, altered, arranged, transformed, or otherwise
|
||||||
|
modified in a manner requiring permission under the Copyright and Similar
|
||||||
|
Rights held by the Licensor. For purposes of this Public License, where the
|
||||||
|
Licensed Material is a musical work, performance, or sound recording, Adapted
|
||||||
|
Material is always produced where the Licensed Material is synched in timed
|
||||||
|
relation with a moving image.
|
||||||
|
|
||||||
|
b. Adapter's License means the license You apply to Your Copyright and Similar
|
||||||
|
Rights in Your contributions to Adapted Material in accordance with the terms
|
||||||
|
and conditions of this Public License.
|
||||||
|
|
||||||
|
c. Copyright and Similar Rights means copyright and/or similar rights closely
|
||||||
|
related to copyright including, without limitation, performance, broadcast,
|
||||||
|
sound recording, and Sui Generis Database Rights, without regard to how the
|
||||||
|
rights are labeled or categorized. For purposes of this Public License, the
|
||||||
|
rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
|
||||||
|
|
||||||
|
d. Effective Technological Measures means those measures that, in the absence
|
||||||
|
of proper authority, may not be circumvented under laws fulfilling obligations
|
||||||
|
under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996,
|
||||||
|
and/or similar international agreements.
|
||||||
|
|
||||||
|
e. Exceptions and Limitations means fair use, fair dealing, and/or any other
|
||||||
|
exception or limitation to Copyright and Similar Rights that applies to Your
|
||||||
|
use of the Licensed Material.
|
||||||
|
|
||||||
|
f. Licensed Material means the artistic or literary work, database, or other
|
||||||
|
material to which the Licensor applied this Public License.
|
||||||
|
|
||||||
|
g. Licensed Rights means the rights granted to You subject to the terms and
|
||||||
|
conditions of this Public License, which are limited to all Copyright and
|
||||||
|
Similar Rights that apply to Your use of the Licensed Material and that the
|
||||||
|
Licensor has authority to license.
|
||||||
|
|
||||||
|
h. Licensor means the individual(s) or entity(ies) granting rights under this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
i. Share means to provide material to the public by any means or process that
|
||||||
|
requires permission under the Licensed Rights, such as reproduction, public
|
||||||
|
display, public performance, distribution, dissemination, communication, or
|
||||||
|
importation, and to make material available to the public including in ways
|
||||||
|
that members of the public may access the material from a place and at a time
|
||||||
|
individually chosen by them.
|
||||||
|
|
||||||
|
j. Sui Generis Database Rights means rights other than copyright resulting
|
||||||
|
from Directive 96/9/EC of the European Parliament and of the Council of 11
|
||||||
|
March 1996 on the legal protection of databases, as amended and/or succeeded,
|
||||||
|
as well as other essentially equivalent rights anywhere in the world.
|
||||||
|
|
||||||
|
k. You means the individual or entity exercising the Licensed Rights under
|
||||||
|
this Public License. Your has a corresponding meaning.
|
||||||
|
|
||||||
|
Section 2 – Scope.
|
||||||
|
|
||||||
|
a. License grant.
|
||||||
|
|
||||||
|
1. Subject to the terms and conditions of this Public License, the Licensor
|
||||||
|
hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive,
|
||||||
|
irrevocable license to exercise the Licensed Rights in the Licensed Material
|
||||||
|
to:
|
||||||
|
|
||||||
|
A. reproduce and Share the Licensed Material, in whole or in part; and
|
||||||
|
|
||||||
|
B. produce, reproduce, and Share Adapted Material.
|
||||||
|
|
||||||
|
2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions
|
||||||
|
and Limitations apply to Your use, this Public License does not apply, and
|
||||||
|
You do not need to comply with its terms and conditions.
|
||||||
|
|
||||||
|
3. Term. The term of this Public License is specified in Section 6(a).
|
||||||
|
|
||||||
|
4. Media and formats; technical modifications allowed. The Licensor authorizes
|
||||||
|
You to exercise the Licensed Rights in all media and formats whether now known
|
||||||
|
or hereafter created, and to make technical modifications necessary to do
|
||||||
|
so. The Licensor waives and/or agrees not to assert any right or authority
|
||||||
|
to forbid You from making technical modifications necessary to exercise the
|
||||||
|
Licensed Rights, including technical modifications necessary to circumvent
|
||||||
|
Effective Technological Measures. For purposes of this Public License, simply
|
||||||
|
making modifications authorized by this Section 2(a)(4) never produces Adapted
|
||||||
|
Material.
|
||||||
|
|
||||||
|
5. Downstream recipients.
|
||||||
|
|
||||||
|
A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed
|
||||||
|
Material automatically receives an offer from the Licensor to exercise the
|
||||||
|
Licensed Rights under the terms and conditions of this Public License.
|
||||||
|
|
||||||
|
B. No downstream restrictions. You may not offer or impose any additional
|
||||||
|
or different terms or conditions on, or apply any Effective Technological
|
||||||
|
Measures to, the Licensed Material if doing so restricts exercise of the Licensed
|
||||||
|
Rights by any recipient of the Licensed Material.
|
||||||
|
|
||||||
|
6. No endorsement. Nothing in this Public License constitutes or may be construed
|
||||||
|
as permission to assert or imply that You are, or that Your use of the Licensed
|
||||||
|
Material is, connected with, or sponsored, endorsed, or granted official status
|
||||||
|
by, the Licensor or others designated to receive attribution as provided in
|
||||||
|
Section 3(a)(1)(A)(i).
|
||||||
|
|
||||||
|
b. Other rights.
|
||||||
|
|
||||||
|
1. Moral rights, such as the right of integrity, are not licensed under this
|
||||||
|
Public License, nor are publicity, privacy, and/or other similar personality
|
||||||
|
rights; however, to the extent possible, the Licensor waives and/or agrees
|
||||||
|
not to assert any such rights held by the Licensor to the limited extent necessary
|
||||||
|
to allow You to exercise the Licensed Rights, but not otherwise.
|
||||||
|
|
||||||
|
2. Patent and trademark rights are not licensed under this Public License.
|
||||||
|
|
||||||
|
3. To the extent possible, the Licensor waives any right to collect royalties
|
||||||
|
from You for the exercise of the Licensed Rights, whether directly or through
|
||||||
|
a collecting society under any voluntary or waivable statutory or compulsory
|
||||||
|
licensing scheme. In all other cases the Licensor expressly reserves any right
|
||||||
|
to collect such royalties.
|
||||||
|
|
||||||
|
Section 3 – License Conditions.
|
||||||
|
|
||||||
|
Your exercise of the Licensed Rights is expressly made subject to the following
|
||||||
|
conditions.
|
||||||
|
|
||||||
|
a. Attribution.
|
||||||
|
|
||||||
|
1. If You Share the Licensed Material (including in modified form), You must:
|
||||||
|
|
||||||
|
A. retain the following if it is supplied by the Licensor with the Licensed
|
||||||
|
Material:
|
||||||
|
|
||||||
|
i. identification of the creator(s) of the Licensed Material and any others
|
||||||
|
designated to receive attribution, in any reasonable manner requested by the
|
||||||
|
Licensor (including by pseudonym if designated);
|
||||||
|
|
||||||
|
ii. a copyright notice;
|
||||||
|
|
||||||
|
iii. a notice that refers to this Public License;
|
||||||
|
|
||||||
|
iv. a notice that refers to the disclaimer of warranties;
|
||||||
|
|
||||||
|
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
|
||||||
|
|
||||||
|
B. indicate if You modified the Licensed Material and retain an indication
|
||||||
|
of any previous modifications; and
|
||||||
|
|
||||||
|
C. indicate the Licensed Material is licensed under this Public License, and
|
||||||
|
include the text of, or the URI or hyperlink to, this Public License.
|
||||||
|
|
||||||
|
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner
|
||||||
|
based on the medium, means, and context in which You Share the Licensed Material.
|
||||||
|
For example, it may be reasonable to satisfy the conditions by providing a
|
||||||
|
URI or hyperlink to a resource that includes the required information.
|
||||||
|
|
||||||
|
3. If requested by the Licensor, You must remove any of the information required
|
||||||
|
by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||||
|
|
||||||
|
4. If You Share Adapted Material You produce, the Adapter's License You apply
|
||||||
|
must not prevent recipients of the Adapted Material from complying with this
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
Section 4 – Sui Generis Database Rights.
|
||||||
|
|
||||||
|
Where the Licensed Rights include Sui Generis Database Rights that apply to
|
||||||
|
Your use of the Licensed Material:
|
||||||
|
|
||||||
|
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract,
|
||||||
|
reuse, reproduce, and Share all or a substantial portion of the contents of
|
||||||
|
the database;
|
||||||
|
|
||||||
|
b. if You include all or a substantial portion of the database contents in
|
||||||
|
a database in which You have Sui Generis Database Rights, then the database
|
||||||
|
in which You have Sui Generis Database Rights (but not its individual contents)
|
||||||
|
is Adapted Material; and
|
||||||
|
|
||||||
|
c. You must comply with the conditions in Section 3(a) if You Share all or
|
||||||
|
a substantial portion of the contents of the database.
|
||||||
|
|
||||||
|
For the avoidance of doubt, this Section 4 supplements and does not replace
|
||||||
|
Your obligations under this Public License where the Licensed Rights include
|
||||||
|
other Copyright and Similar Rights.
|
||||||
|
|
||||||
|
Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||||
|
|
||||||
|
a. Unless otherwise separately undertaken by the Licensor, to the extent possible,
|
||||||
|
the Licensor offers the Licensed Material as-is and as-available, and makes
|
||||||
|
no representations or warranties of any kind concerning the Licensed Material,
|
||||||
|
whether express, implied, statutory, or other. This includes, without limitation,
|
||||||
|
warranties of title, merchantability, fitness for a particular purpose, non-infringement,
|
||||||
|
absence of latent or other defects, accuracy, or the presence or absence of
|
||||||
|
errors, whether or not known or discoverable. Where disclaimers of warranties
|
||||||
|
are not allowed in full or in part, this disclaimer may not apply to You.
|
||||||
|
|
||||||
|
b. To the extent possible, in no event will the Licensor be liable to You
|
||||||
|
on any legal theory (including, without limitation, negligence) or otherwise
|
||||||
|
for any direct, special, indirect, incidental, consequential, punitive, exemplary,
|
||||||
|
or other losses, costs, expenses, or damages arising out of this Public License
|
||||||
|
or use of the Licensed Material, even if the Licensor has been advised of
|
||||||
|
the possibility of such losses, costs, expenses, or damages. Where a limitation
|
||||||
|
of liability is not allowed in full or in part, this limitation may not apply
|
||||||
|
to You.
|
||||||
|
|
||||||
|
c. The disclaimer of warranties and limitation of liability provided above
|
||||||
|
shall be interpreted in a manner that, to the extent possible, most closely
|
||||||
|
approximates an absolute disclaimer and waiver of all liability.
|
||||||
|
|
||||||
|
Section 6 – Term and Termination.
|
||||||
|
|
||||||
|
a. This Public License applies for the term of the Copyright and Similar Rights
|
||||||
|
licensed here. However, if You fail to comply with this Public License, then
|
||||||
|
Your rights under this Public License terminate automatically.
|
||||||
|
|
||||||
|
b. Where Your right to use the Licensed Material has terminated under Section
|
||||||
|
6(a), it reinstates:
|
||||||
|
|
||||||
|
1. automatically as of the date the violation is cured, provided it is cured
|
||||||
|
within 30 days of Your discovery of the violation; or
|
||||||
|
|
||||||
|
2. upon express reinstatement by the Licensor.
|
||||||
|
|
||||||
|
c. For the avoidance of doubt, this Section 6(b) does not affect any right
|
||||||
|
the Licensor may have to seek remedies for Your violations of this Public
|
||||||
|
License.
|
||||||
|
|
||||||
|
d. For the avoidance of doubt, the Licensor may also offer the Licensed Material
|
||||||
|
under separate terms or conditions or stop distributing the Licensed Material
|
||||||
|
at any time; however, doing so will not terminate this Public License.
|
||||||
|
|
||||||
|
e. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||||
|
|
||||||
|
Section 7 – Other Terms and Conditions.
|
||||||
|
|
||||||
|
a. The Licensor shall not be bound by any additional or different terms or
|
||||||
|
conditions communicated by You unless expressly agreed.
|
||||||
|
|
||||||
|
b. Any arrangements, understandings, or agreements regarding the Licensed
|
||||||
|
Material not stated herein are separate from and independent of the terms
|
||||||
|
and conditions of this Public License.
|
||||||
|
|
||||||
|
Section 8 – Interpretation.
|
||||||
|
|
||||||
|
a. For the avoidance of doubt, this Public License does not, and shall not
|
||||||
|
be interpreted to, reduce, limit, restrict, or impose conditions on any use
|
||||||
|
of the Licensed Material that could lawfully be made without permission under
|
||||||
|
this Public License.
|
||||||
|
|
||||||
|
b. To the extent possible, if any provision of this Public License is deemed
|
||||||
|
unenforceable, it shall be automatically reformed to the minimum extent necessary
|
||||||
|
to make it enforceable. If the provision cannot be reformed, it shall be severed
|
||||||
|
from this Public License without affecting the enforceability of the remaining
|
||||||
|
terms and conditions.
|
||||||
|
|
||||||
|
c. No term or condition of this Public License will be waived and no failure
|
||||||
|
to comply consented to unless expressly agreed to by the Licensor.
|
||||||
|
|
||||||
|
d. Nothing in this Public License constitutes or may be interpreted as a limitation
|
||||||
|
upon, or waiver of, any privileges and immunities that apply to the Licensor
|
||||||
|
or You, including from the legal processes of any jurisdiction or authority.
|
||||||
|
|
||||||
|
Creative Commons is not a party to its public licenses. Notwithstanding, Creative
|
||||||
|
Commons may elect to apply one of its public licenses to material it publishes
|
||||||
|
and in those instances will be considered the "Licensor." The text of the
|
||||||
|
Creative Commons public licenses is dedicated to the public domain under the
|
||||||
|
CC0 Public Domain Dedication. Except for the limited purpose of indicating
|
||||||
|
that material is shared under a Creative Commons public license or as otherwise
|
||||||
|
permitted by the Creative Commons policies published at creativecommons.org/policies,
|
||||||
|
Creative Commons does not authorize the use of the trademark "Creative Commons"
|
||||||
|
or any other trademark or logo of Creative Commons without its prior written
|
||||||
|
consent including, without limitation, in connection with any unauthorized
|
||||||
|
modifications to any of its public licenses or any other arrangements, understandings,
|
||||||
|
or agreements concerning use of licensed material. For the avoidance of doubt,
|
||||||
|
this paragraph does not form part of the public licenses.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at creativecommons.org.
|
343
LICENSES/CC-BY-SA-3.0.txt
Normal file
@@ -0,0 +1,343 @@
|
|||||||
|
Creative Commons Attribution-ShareAlike 3.0 Unported CREATIVE COMMONS CORPORATION
|
||||||
|
IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS
|
||||||
|
LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS
|
||||||
|
PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||||
|
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING
|
||||||
|
FROM ITS USE.
|
||||||
|
|
||||||
|
License
|
||||||
|
|
||||||
|
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS
|
||||||
|
PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR
|
||||||
|
OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS
|
||||||
|
LICENSE OR COPYRIGHT LAW IS PROHIBITED.
|
||||||
|
|
||||||
|
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO
|
||||||
|
BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED
|
||||||
|
TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION
|
||||||
|
OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
|
||||||
|
a. "Adaptation" means a work based upon the Work, or upon the Work and other
|
||||||
|
pre-existing works, such as a translation, adaptation, derivative work, arrangement
|
||||||
|
of music or other alterations of a literary or artistic work, or phonogram
|
||||||
|
or performance and includes cinematographic adaptations or any other form
|
||||||
|
in which the Work may be recast, transformed, or adapted including in any
|
||||||
|
form recognizably derived from the original, except that a work that constitutes
|
||||||
|
a Collection will not be considered an Adaptation for the purpose of this
|
||||||
|
License. For the avoidance of doubt, where the Work is a musical work, performance
|
||||||
|
or phonogram, the synchronization of the Work in timed-relation with a moving
|
||||||
|
image ("synching") will be considered an Adaptation for the purpose of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
b. "Collection" means a collection of literary or artistic works, such as
|
||||||
|
encyclopedias and anthologies, or performances, phonograms or broadcasts,
|
||||||
|
or other works or subject matter other than works listed in Section 1(f) below,
|
||||||
|
which, by reason of the selection and arrangement of their contents, constitute
|
||||||
|
intellectual creations, in which the Work is included in its entirety in unmodified
|
||||||
|
form along with one or more other contributions, each constituting separate
|
||||||
|
and independent works in themselves, which together are assembled into a collective
|
||||||
|
whole. A work that constitutes a Collection will not be considered an Adaptation
|
||||||
|
(as defined below) for the purposes of this License.
|
||||||
|
|
||||||
|
c. "Creative Commons Compatible License" means a license that is listed at
|
||||||
|
http://creativecommons.org/compatiblelicenses that has been approved by Creative
|
||||||
|
Commons as being essentially equivalent to this License, including, at a minimum,
|
||||||
|
because that license: (i) contains terms that have the same purpose, meaning
|
||||||
|
and effect as the License Elements of this License; and, (ii) explicitly permits
|
||||||
|
the relicensing of adaptations of works made available under that license
|
||||||
|
under this License or a Creative Commons jurisdiction license with the same
|
||||||
|
License Elements as this License.
|
||||||
|
|
||||||
|
d. "Distribute" means to make available to the public the original and copies
|
||||||
|
of the Work or Adaptation, as appropriate, through sale or other transfer
|
||||||
|
of ownership.
|
||||||
|
|
||||||
|
e. "License Elements" means the following high-level license attributes as
|
||||||
|
selected by Licensor and indicated in the title of this License: Attribution,
|
||||||
|
ShareAlike.
|
||||||
|
|
||||||
|
f. "Licensor" means the individual, individuals, entity or entities that offer(s)
|
||||||
|
the Work under the terms of this License.
|
||||||
|
|
||||||
|
g. "Original Author" means, in the case of a literary or artistic work, the
|
||||||
|
individual, individuals, entity or entities who created the Work or if no
|
||||||
|
individual or entity can be identified, the publisher; and in addition (i)
|
||||||
|
in the case of a performance the actors, singers, musicians, dancers, and
|
||||||
|
other persons who act, sing, deliver, declaim, play in, interpret or otherwise
|
||||||
|
perform literary or artistic works or expressions of folklore; (ii) in the
|
||||||
|
case of a phonogram the producer being the person or legal entity who first
|
||||||
|
fixes the sounds of a performance or other sounds; and, (iii) in the case
|
||||||
|
of broadcasts, the organization that transmits the broadcast.
|
||||||
|
|
||||||
|
h. "Work" means the literary and/or artistic work offered under the terms
|
||||||
|
of this License including without limitation any production in the literary,
|
||||||
|
scientific and artistic domain, whatever may be the mode or form of its expression
|
||||||
|
including digital form, such as a book, pamphlet and other writing; a lecture,
|
||||||
|
address, sermon or other work of the same nature; a dramatic or dramatico-musical
|
||||||
|
work; a choreographic work or entertainment in dumb show; a musical composition
|
||||||
|
with or without words; a cinematographic work to which are assimilated works
|
||||||
|
expressed by a process analogous to cinematography; a work of drawing, painting,
|
||||||
|
architecture, sculpture, engraving or lithography; a photographic work to
|
||||||
|
which are assimilated works expressed by a process analogous to photography;
|
||||||
|
a work of applied art; an illustration, map, plan, sketch or three-dimensional
|
||||||
|
work relative to geography, topography, architecture or science; a performance;
|
||||||
|
a broadcast; a phonogram; a compilation of data to the extent it is protected
|
||||||
|
as a copyrightable work; or a work performed by a variety or circus performer
|
||||||
|
to the extent it is not otherwise considered a literary or artistic work.
|
||||||
|
|
||||||
|
i. "You" means an individual or entity exercising rights under this License
|
||||||
|
who has not previously violated the terms of this License with respect to
|
||||||
|
the Work, or who has received express permission from the Licensor to exercise
|
||||||
|
rights under this License despite a previous violation.
|
||||||
|
|
||||||
|
j. "Publicly Perform" means to perform public recitations of the Work and
|
||||||
|
to communicate to the public those public recitations, by any means or process,
|
||||||
|
including by wire or wireless means or public digital performances; to make
|
||||||
|
available to the public Works in such a way that members of the public may
|
||||||
|
access these Works from a place and at a place individually chosen by them;
|
||||||
|
to perform the Work to the public by any means or process and the communication
|
||||||
|
to the public of the performances of the Work, including by public digital
|
||||||
|
performance; to broadcast and rebroadcast the Work by any means including
|
||||||
|
signs, sounds or images.
|
||||||
|
|
||||||
|
k. "Reproduce" means to make copies of the Work by any means including without
|
||||||
|
limitation by sound or visual recordings and the right of fixation and reproducing
|
||||||
|
fixations of the Work, including storage of a protected performance or phonogram
|
||||||
|
in digital form or other electronic medium.
|
||||||
|
|
||||||
|
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit,
|
||||||
|
or restrict any uses free from copyright or rights arising from limitations
|
||||||
|
or exceptions that are provided for in connection with the copyright protection
|
||||||
|
under copyright law or other applicable laws.
|
||||||
|
|
||||||
|
3. License Grant. Subject to the terms and conditions of this License, Licensor
|
||||||
|
hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for
|
||||||
|
the duration of the applicable copyright) license to exercise the rights in
|
||||||
|
the Work as stated below:
|
||||||
|
|
||||||
|
a. to Reproduce the Work, to incorporate the Work into one or more Collections,
|
||||||
|
and to Reproduce the Work as incorporated in the Collections;
|
||||||
|
|
||||||
|
b. to create and Reproduce Adaptations provided that any such Adaptation,
|
||||||
|
including any translation in any medium, takes reasonable steps to clearly
|
||||||
|
label, demarcate or otherwise identify that changes were made to the original
|
||||||
|
Work. For example, a translation could be marked "The original work was translated
|
||||||
|
from English to Spanish," or a modification could indicate "The original work
|
||||||
|
has been modified.";
|
||||||
|
|
||||||
|
c. to Distribute and Publicly Perform the Work including as incorporated in
|
||||||
|
Collections; and,
|
||||||
|
|
||||||
|
d. to Distribute and Publicly Perform Adaptations.
|
||||||
|
|
||||||
|
e. For the avoidance of doubt:
|
||||||
|
|
||||||
|
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which
|
||||||
|
the right to collect royalties through any statutory or compulsory licensing
|
||||||
|
scheme cannot be waived, the Licensor reserves the exclusive right to collect
|
||||||
|
such royalties for any exercise by You of the rights granted under this License;
|
||||||
|
|
||||||
|
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the
|
||||||
|
right to collect royalties through any statutory or compulsory licensing scheme
|
||||||
|
can be waived, the Licensor waives the exclusive right to collect such royalties
|
||||||
|
for any exercise by You of the rights granted under this License; and,
|
||||||
|
|
||||||
|
iii. Voluntary License Schemes. The Licensor waives the right to collect royalties,
|
||||||
|
whether individually or, in the event that the Licensor is a member of a collecting
|
||||||
|
society that administers voluntary licensing schemes, via that society, from
|
||||||
|
any exercise by You of the rights granted under this License.
|
||||||
|
|
||||||
|
The above rights may be exercised in all media and formats whether now known
|
||||||
|
or hereafter devised. The above rights include the right to make such modifications
|
||||||
|
as are technically necessary to exercise the rights in other media and formats.
|
||||||
|
Subject to Section 8(f), all rights not expressly granted by Licensor are
|
||||||
|
hereby reserved.
|
||||||
|
|
||||||
|
4. Restrictions. The license granted in Section 3 above is expressly made
|
||||||
|
subject to and limited by the following restrictions:
|
||||||
|
|
||||||
|
a. You may Distribute or Publicly Perform the Work only under the terms of
|
||||||
|
this License. You must include a copy of, or the Uniform Resource Identifier
|
||||||
|
(URI) for, this License with every copy of the Work You Distribute or Publicly
|
||||||
|
Perform. You may not offer or impose any terms on the Work that restrict the
|
||||||
|
terms of this License or the ability of the recipient of the Work to exercise
|
||||||
|
the rights granted to that recipient under the terms of the License. You may
|
||||||
|
not sublicense the Work. You must keep intact all notices that refer to this
|
||||||
|
License and to the disclaimer of warranties with every copy of the Work You
|
||||||
|
Distribute or Publicly Perform. When You Distribute or Publicly Perform the
|
||||||
|
Work, You may not impose any effective technological measures on the Work
|
||||||
|
that restrict the ability of a recipient of the Work from You to exercise
|
||||||
|
the rights granted to that recipient under the terms of the License. This
|
||||||
|
Section 4(a) applies to the Work as incorporated in a Collection, but this
|
||||||
|
does not require the Collection apart from the Work itself to be made subject
|
||||||
|
to the terms of this License. If You create a Collection, upon notice from
|
||||||
|
any Licensor You must, to the extent practicable, remove from the Collection
|
||||||
|
any credit as required by Section 4(c), as requested. If You create an Adaptation,
|
||||||
|
upon notice from any Licensor You must, to the extent practicable, remove
|
||||||
|
from the Adaptation any credit as required by Section 4(c), as requested.
|
||||||
|
|
||||||
|
b. You may Distribute or Publicly Perform an Adaptation only under the terms
|
||||||
|
of: (i) this License; (ii) a later version of this License with the same License
|
||||||
|
Elements as this License; (iii) a Creative Commons jurisdiction license (either
|
||||||
|
this or a later license version) that contains the same License Elements as
|
||||||
|
this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons
|
||||||
|
Compatible License. If you license the Adaptation under one of the licenses
|
||||||
|
mentioned in (iv), you must comply with the terms of that license. If you
|
||||||
|
license the Adaptation under the terms of any of the licenses mentioned in
|
||||||
|
(i), (ii) or (iii) (the "Applicable License"), you must comply with the terms
|
||||||
|
of the Applicable License generally and the following provisions: (I) You
|
||||||
|
must include a copy of, or the URI for, the Applicable License with every
|
||||||
|
copy of each Adaptation You Distribute or Publicly Perform; (II) You may not
|
||||||
|
offer or impose any terms on the Adaptation that restrict the terms of the
|
||||||
|
Applicable License or the ability of the recipient of the Adaptation to exercise
|
||||||
|
the rights granted to that recipient under the terms of the Applicable License;
|
||||||
|
(III) You must keep intact all notices that refer to the Applicable License
|
||||||
|
and to the disclaimer of warranties with every copy of the Work as included
|
||||||
|
in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute
|
||||||
|
or Publicly Perform the Adaptation, You may not impose any effective technological
|
||||||
|
measures on the Adaptation that restrict the ability of a recipient of the
|
||||||
|
Adaptation from You to exercise the rights granted to that recipient under
|
||||||
|
the terms of the Applicable License. This Section 4(b) applies to the Adaptation
|
||||||
|
as incorporated in a Collection, but this does not require the Collection
|
||||||
|
apart from the Adaptation itself to be made subject to the terms of the Applicable
|
||||||
|
License.
|
||||||
|
|
||||||
|
c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections,
|
||||||
|
You must, unless a request has been made pursuant to Section 4(a), keep intact
|
||||||
|
all copyright notices for the Work and provide, reasonable to the medium or
|
||||||
|
means You are utilizing: (i) the name of the Original Author (or pseudonym,
|
||||||
|
if applicable) if supplied, and/or if the Original Author and/or Licensor
|
||||||
|
designate another party or parties (e.g., a sponsor institute, publishing
|
||||||
|
entity, journal) for attribution ("Attribution Parties") in Licensor's copyright
|
||||||
|
notice, terms of service or by other reasonable means, the name of such party
|
||||||
|
or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably
|
||||||
|
practicable, the URI, if any, that Licensor specifies to be associated with
|
||||||
|
the Work, unless such URI does not refer to the copyright notice or licensing
|
||||||
|
information for the Work; and (iv), consistent with Section 3(b), in the case
|
||||||
|
of an Adaptation, a credit identifying the use of the Work in the Adaptation
|
||||||
|
(e.g., "French translation of the Work by Original Author," or "Screenplay
|
||||||
|
based on original Work by Original Author"). The credit required by this Section
|
||||||
|
4(c) may be implemented in any reasonable manner; provided, however, that
|
||||||
|
in the case of a Adaptation or Collection, at a minimum such credit will appear,
|
||||||
|
if a credit for all contributing authors of the Adaptation or Collection appears,
|
||||||
|
then as part of these credits and in a manner at least as prominent as the
|
||||||
|
credits for the other contributing authors. For the avoidance of doubt, You
|
||||||
|
may only use the credit required by this Section for the purpose of attribution
|
||||||
|
in the manner set out above and, by exercising Your rights under this License,
|
||||||
|
You may not implicitly or explicitly assert or imply any connection with,
|
||||||
|
sponsorship or endorsement by the Original Author, Licensor and/or Attribution
|
||||||
|
Parties, as appropriate, of You or Your use of the Work, without the separate,
|
||||||
|
express prior written permission of the Original Author, Licensor and/or Attribution
|
||||||
|
Parties.
|
||||||
|
|
||||||
|
d. Except as otherwise agreed in writing by the Licensor or as may be otherwise
|
||||||
|
permitted by applicable law, if You Reproduce, Distribute or Publicly Perform
|
||||||
|
the Work either by itself or as part of any Adaptations or Collections, You
|
||||||
|
must not distort, mutilate, modify or take other derogatory action in relation
|
||||||
|
to the Work which would be prejudicial to the Original Author's honor or reputation.
|
||||||
|
Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise
|
||||||
|
of the right granted in Section 3(b) of this License (the right to make Adaptations)
|
||||||
|
would be deemed to be a distortion, mutilation, modification or other derogatory
|
||||||
|
action prejudicial to the Original Author's honor and reputation, the Licensor
|
||||||
|
will waive or not assert, as appropriate, this Section, to the fullest extent
|
||||||
|
permitted by the applicable national law, to enable You to reasonably exercise
|
||||||
|
Your right under Section 3(b) of this License (right to make Adaptations)
|
||||||
|
but not otherwise.
|
||||||
|
|
||||||
|
5. Representations, Warranties and Disclaimer
|
||||||
|
|
||||||
|
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
|
||||||
|
THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING
|
||||||
|
THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION,
|
||||||
|
WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT,
|
||||||
|
OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE
|
||||||
|
OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE
|
||||||
|
EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
|
||||||
|
|
||||||
|
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW,
|
||||||
|
IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL,
|
||||||
|
INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS
|
||||||
|
LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY
|
||||||
|
OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
7. Termination
|
||||||
|
|
||||||
|
a. This License and the rights granted hereunder will terminate automatically
|
||||||
|
upon any breach by You of the terms of this License. Individuals or entities
|
||||||
|
who have received Adaptations or Collections from You under this License,
|
||||||
|
however, will not have their licenses terminated provided such individuals
|
||||||
|
or entities remain in full compliance with those licenses. Sections 1, 2,
|
||||||
|
5, 6, 7, and 8 will survive any termination of this License.
|
||||||
|
|
||||||
|
b. Subject to the above terms and conditions, the license granted here is
|
||||||
|
perpetual (for the duration of the applicable copyright in the Work). Notwithstanding
|
||||||
|
the above, Licensor reserves the right to release the Work under different
|
||||||
|
license terms or to stop distributing the Work at any time; provided, however
|
||||||
|
that any such election will not serve to withdraw this License (or any other
|
||||||
|
license that has been, or is required to be, granted under the terms of this
|
||||||
|
License), and this License will continue in full force and effect unless terminated
|
||||||
|
as stated above.
|
||||||
|
|
||||||
|
8. Miscellaneous
|
||||||
|
|
||||||
|
a. Each time You Distribute or Publicly Perform the Work or a Collection,
|
||||||
|
the Licensor offers to the recipient a license to the Work on the same terms
|
||||||
|
and conditions as the license granted to You under this License.
|
||||||
|
|
||||||
|
b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers
|
||||||
|
to the recipient a license to the original Work on the same terms and conditions
|
||||||
|
as the license granted to You under this License.
|
||||||
|
|
||||||
|
c. If any provision of this License is invalid or unenforceable under applicable
|
||||||
|
law, it shall not affect the validity or enforceability of the remainder of
|
||||||
|
the terms of this License, and without further action by the parties to this
|
||||||
|
agreement, such provision shall be reformed to the minimum extent necessary
|
||||||
|
to make such provision valid and enforceable.
|
||||||
|
|
||||||
|
d. No term or provision of this License shall be deemed waived and no breach
|
||||||
|
consented to unless such waiver or consent shall be in writing and signed
|
||||||
|
by the party to be charged with such waiver or consent.
|
||||||
|
|
||||||
|
e. This License constitutes the entire agreement between the parties with
|
||||||
|
respect to the Work licensed here. There are no understandings, agreements
|
||||||
|
or representations with respect to the Work not specified here. Licensor shall
|
||||||
|
not be bound by any additional provisions that may appear in any communication
|
||||||
|
from You. This License may not be modified without the mutual written agreement
|
||||||
|
of the Licensor and You.
|
||||||
|
|
||||||
|
f. The rights granted under, and the subject matter referenced, in this License
|
||||||
|
were drafted utilizing the terminology of the Berne Convention for the Protection
|
||||||
|
of Literary and Artistic Works (as amended on September 28, 1979), the Rome
|
||||||
|
Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances
|
||||||
|
and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised
|
||||||
|
on July 24, 1971). These rights and subject matter take effect in the relevant
|
||||||
|
jurisdiction in which the License terms are sought to be enforced according
|
||||||
|
to the corresponding provisions of the implementation of those treaty provisions
|
||||||
|
in the applicable national law. If the standard suite of rights granted under
|
||||||
|
applicable copyright law includes additional rights not granted under this
|
||||||
|
License, such additional rights are deemed to be included in the License;
|
||||||
|
this License is not intended to restrict the license of any rights under applicable
|
||||||
|
law.
|
||||||
|
|
||||||
|
Creative Commons Notice
|
||||||
|
|
||||||
|
Creative Commons is not a party to this License, and makes no warranty whatsoever
|
||||||
|
in connection with the Work. Creative Commons will not be liable to You or
|
||||||
|
any party on any legal theory for any damages whatsoever, including without
|
||||||
|
limitation any general, special, incidental or consequential damages arising
|
||||||
|
in connection to this license. Notwithstanding the foregoing two (2) sentences,
|
||||||
|
if Creative Commons has expressly identified itself as the Licensor hereunder,
|
||||||
|
it shall have all rights and obligations of Licensor.
|
||||||
|
|
||||||
|
Except for the limited purpose of indicating to the public that the Work is
|
||||||
|
licensed under the CCPL, Creative Commons does not authorize the use by either
|
||||||
|
party of the trademark "Creative Commons" or any related trademark or logo
|
||||||
|
of Creative Commons without the prior written consent of Creative Commons.
|
||||||
|
Any permitted use will be in compliance with Creative Commons' then-current
|
||||||
|
trademark usage guidelines, as may be published on its website or otherwise
|
||||||
|
made available upon request from time to time. For the avoidance of doubt,
|
||||||
|
this trademark restriction does not form part of the License.
|
||||||
|
|
||||||
|
Creative Commons may be contacted at http://creativecommons.org/.
|
319
LICENSES/GPL-2.0-only.txt
Normal file
@@ -0,0 +1,319 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your freedom to share
|
||||||
|
and change it. By contrast, the GNU General Public License is intended to
|
||||||
|
guarantee your freedom to share and change free software--to make sure the
|
||||||
|
software is free for all its users. This General Public License applies to
|
||||||
|
most of the Free Software Foundation's software and to any other program whose
|
||||||
|
authors commit to using it. (Some other Free Software Foundation software
|
||||||
|
is covered by the GNU Lesser General Public License instead.) You can apply
|
||||||
|
it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for this service if you
|
||||||
|
wish), that you receive source code or can get it if you want it, that you
|
||||||
|
can change the software or use pieces of it in new free programs; and that
|
||||||
|
you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid anyone to
|
||||||
|
deny you these rights or to ask you to surrender the rights. These restrictions
|
||||||
|
translate to certain responsibilities for you if you distribute copies of
|
||||||
|
the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must give the recipients all the rights that you have. You
|
||||||
|
must make sure that they, too, receive or can get the source code. And you
|
||||||
|
must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||||
|
offer you this license which gives you legal permission to copy, distribute
|
||||||
|
and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain that
|
||||||
|
everyone understands that there is no warranty for this free software. If
|
||||||
|
the software is modified by someone else and passed on, we want its recipients
|
||||||
|
to know that what they have is not the original, so that any problems introduced
|
||||||
|
by others will not reflect on the original authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software patents. We
|
||||||
|
wish to avoid the danger that redistributors of a free program will individually
|
||||||
|
obtain patent licenses, in effect making the program proprietary. To prevent
|
||||||
|
this, we have made it clear that any patent must be licensed for everyone's
|
||||||
|
free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains a notice
|
||||||
|
placed by the copyright holder saying it may be distributed under the terms
|
||||||
|
of this General Public License. The "Program", below, refers to any such program
|
||||||
|
or work, and a "work based on the Program" means either the Program or any
|
||||||
|
derivative work under copyright law: that is to say, a work containing the
|
||||||
|
Program or a portion of it, either verbatim or with modifications and/or translated
|
||||||
|
into another language. (Hereinafter, translation is included without limitation
|
||||||
|
in the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not covered
|
||||||
|
by this License; they are outside its scope. The act of running the Program
|
||||||
|
is not restricted, and the output from the Program is covered only if its
|
||||||
|
contents constitute a work based on the Program (independent of having been
|
||||||
|
made by running the Program). Whether that is true depends on what the Program
|
||||||
|
does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's source code
|
||||||
|
as you receive it, in any medium, provided that you conspicuously and appropriately
|
||||||
|
publish on each copy an appropriate copyright notice and disclaimer of warranty;
|
||||||
|
keep intact all the notices that refer to this License and to the absence
|
||||||
|
of any warranty; and give any other recipients of the Program a copy of this
|
||||||
|
License along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and you
|
||||||
|
may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion of it,
|
||||||
|
thus forming a work based on the Program, and copy and distribute such modifications
|
||||||
|
or work under the terms of Section 1 above, provided that you also meet all
|
||||||
|
of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices stating that
|
||||||
|
you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in whole or
|
||||||
|
in part contains or is derived from the Program or any part thereof, to be
|
||||||
|
licensed as a whole at no charge to all third parties under the terms of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively when run,
|
||||||
|
you must cause it, when started running for such interactive use in the most
|
||||||
|
ordinary way, to print or display an announcement including an appropriate
|
||||||
|
copyright notice and a notice that there is no warranty (or else, saying that
|
||||||
|
you provide a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this License.
|
||||||
|
(Exception: if the Program itself is interactive but does not normally print
|
||||||
|
such an announcement, your work based on the Program is not required to print
|
||||||
|
an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If identifiable
|
||||||
|
sections of that work are not derived from the Program, and can be reasonably
|
||||||
|
considered independent and separate works in themselves, then this License,
|
||||||
|
and its terms, do not apply to those sections when you distribute them as
|
||||||
|
separate works. But when you distribute the same sections as part of a whole
|
||||||
|
which is a work based on the Program, the distribution of the whole must be
|
||||||
|
on the terms of this License, whose permissions for other licensees extend
|
||||||
|
to the entire whole, and thus to each and every part regardless of who wrote
|
||||||
|
it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest your
|
||||||
|
rights to work written entirely by you; rather, the intent is to exercise
|
||||||
|
the right to control the distribution of derivative or collective works based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program with
|
||||||
|
the Program (or with a work based on the Program) on a volume of a storage
|
||||||
|
or distribution medium does not bring the other work under the scope of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it, under Section
|
||||||
|
2) in object code or executable form under the terms of Sections 1 and 2 above
|
||||||
|
provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable source code,
|
||||||
|
which must be distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three years, to give
|
||||||
|
any third party, for a charge no more than your cost of physically performing
|
||||||
|
source distribution, a complete machine-readable copy of the corresponding
|
||||||
|
source code, to be distributed under the terms of Sections 1 and 2 above on
|
||||||
|
a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer to distribute
|
||||||
|
corresponding source code. (This alternative is allowed only for noncommercial
|
||||||
|
distribution and only if you received the program in object code or executable
|
||||||
|
form with such an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for making
|
||||||
|
modifications to it. For an executable work, complete source code means all
|
||||||
|
the source code for all modules it contains, plus any associated interface
|
||||||
|
definition files, plus the scripts used to control compilation and installation
|
||||||
|
of the executable. However, as a special exception, the source code distributed
|
||||||
|
need not include anything that is normally distributed (in either source or
|
||||||
|
binary form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component itself
|
||||||
|
accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering access to
|
||||||
|
copy from a designated place, then offering equivalent access to copy the
|
||||||
|
source code from the same place counts as distribution of the source code,
|
||||||
|
even though third parties are not compelled to copy the source along with
|
||||||
|
the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program except
|
||||||
|
as expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||||
|
sublicense or distribute the Program is void, and will automatically terminate
|
||||||
|
your rights under this License. However, parties who have received copies,
|
||||||
|
or rights, from you under this License will not have their licenses terminated
|
||||||
|
so long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not signed
|
||||||
|
it. However, nothing else grants you permission to modify or distribute the
|
||||||
|
Program or its derivative works. These actions are prohibited by law if you
|
||||||
|
do not accept this License. Therefore, by modifying or distributing the Program
|
||||||
|
(or any work based on the Program), you indicate your acceptance of this License
|
||||||
|
to do so, and all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the Program),
|
||||||
|
the recipient automatically receives a license from the original licensor
|
||||||
|
to copy, distribute or modify the Program subject to these terms and conditions.
|
||||||
|
You may not impose any further restrictions on the recipients' exercise of
|
||||||
|
the rights granted herein. You are not responsible for enforcing compliance
|
||||||
|
by third parties to this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent infringement
|
||||||
|
or for any other reason (not limited to patent issues), conditions are imposed
|
||||||
|
on you (whether by court order, agreement or otherwise) that contradict the
|
||||||
|
conditions of this License, they do not excuse you from the conditions of
|
||||||
|
this License. If you cannot distribute so as to satisfy simultaneously your
|
||||||
|
obligations under this License and any other pertinent obligations, then as
|
||||||
|
a consequence you may not distribute the Program at all. For example, if a
|
||||||
|
patent license would not permit royalty-free redistribution of the Program
|
||||||
|
by all those who receive copies directly or indirectly through you, then the
|
||||||
|
only way you could satisfy both it and this License would be to refrain entirely
|
||||||
|
from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
|
particular circumstance, the balance of the section is intended to apply and
|
||||||
|
the section as a whole is intended to apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any patents
|
||||||
|
or other property right claims or to contest validity of any such claims;
|
||||||
|
this section has the sole purpose of protecting the integrity of the free
|
||||||
|
software distribution system, which is implemented by public license practices.
|
||||||
|
Many people have made generous contributions to the wide range of software
|
||||||
|
distributed through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing to
|
||||||
|
distribute software through any other system and a licensee cannot impose
|
||||||
|
that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to be a
|
||||||
|
consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in certain
|
||||||
|
countries either by patents or by copyrighted interfaces, the original copyright
|
||||||
|
holder who places the Program under this License may add an explicit geographical
|
||||||
|
distribution limitation excluding those countries, so that distribution is
|
||||||
|
permitted only in or among countries not thus excluded. In such case, this
|
||||||
|
License incorporates the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the General Public License from time to time. Such new versions will be similar
|
||||||
|
in spirit to the present version, but may differ in detail to address new
|
||||||
|
problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program specifies
|
||||||
|
a version number of this License which applies to it and "any later version",
|
||||||
|
you have the option of following the terms and conditions either of that version
|
||||||
|
or of any later version published by the Free Software Foundation. If the
|
||||||
|
Program does not specify a version number of this License, you may choose
|
||||||
|
any version ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free programs
|
||||||
|
whose distribution conditions are different, write to the author to ask for
|
||||||
|
permission. For software which is copyrighted by the Free Software Foundation,
|
||||||
|
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||||
|
Our decision will be guided by the two goals of preserving the free status
|
||||||
|
of all derivatives of our free software and of promoting the sharing and reuse
|
||||||
|
of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||||
|
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
|
||||||
|
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
||||||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
|
||||||
|
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
||||||
|
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
|
||||||
|
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
|
||||||
|
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
|
||||||
|
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||||
|
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively convey the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and an idea of what it does.>
|
||||||
|
|
||||||
|
Copyright (C)< yyyy> <name of author>
|
||||||
|
|
||||||
|
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 2 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, write to the Free Software Foundation, Inc., 51 Franklin
|
||||||
|
Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this when
|
||||||
|
it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||||
|
with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
|
||||||
|
and you are welcome to redistribute it under certain conditions; type `show
|
||||||
|
c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may be
|
||||||
|
called something other than `show w' and `show c'; they could even be mouse-clicks
|
||||||
|
or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||||
|
is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
|
||||||
|
(which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon >, 1 April 1989 Ty Coon, President of Vice This General
|
||||||
|
Public License does not permit incorporating your program into proprietary
|
||||||
|
programs. If your program is a subroutine library, you may consider it more
|
||||||
|
useful to permit linking proprietary applications with the library. If this
|
||||||
|
is what you want to do, use the GNU Lesser General Public License instead
|
||||||
|
of this License.
|
319
LICENSES/GPL-2.0-or-later.txt
Normal file
@@ -0,0 +1,319 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your freedom to share
|
||||||
|
and change it. By contrast, the GNU General Public License is intended to
|
||||||
|
guarantee your freedom to share and change free software--to make sure the
|
||||||
|
software is free for all its users. This General Public License applies to
|
||||||
|
most of the Free Software Foundation's software and to any other program whose
|
||||||
|
authors commit to using it. (Some other Free Software Foundation software
|
||||||
|
is covered by the GNU Lesser General Public License instead.) You can apply
|
||||||
|
it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for this service if you
|
||||||
|
wish), that you receive source code or can get it if you want it, that you
|
||||||
|
can change the software or use pieces of it in new free programs; and that
|
||||||
|
you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid anyone to
|
||||||
|
deny you these rights or to ask you to surrender the rights. These restrictions
|
||||||
|
translate to certain responsibilities for you if you distribute copies of
|
||||||
|
the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must give the recipients all the rights that you have. You
|
||||||
|
must make sure that they, too, receive or can get the source code. And you
|
||||||
|
must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and (2)
|
||||||
|
offer you this license which gives you legal permission to copy, distribute
|
||||||
|
and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain that
|
||||||
|
everyone understands that there is no warranty for this free software. If
|
||||||
|
the software is modified by someone else and passed on, we want its recipients
|
||||||
|
to know that what they have is not the original, so that any problems introduced
|
||||||
|
by others will not reflect on the original authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software patents. We
|
||||||
|
wish to avoid the danger that redistributors of a free program will individually
|
||||||
|
obtain patent licenses, in effect making the program proprietary. To prevent
|
||||||
|
this, we have made it clear that any patent must be licensed for everyone's
|
||||||
|
free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains a notice
|
||||||
|
placed by the copyright holder saying it may be distributed under the terms
|
||||||
|
of this General Public License. The "Program", below, refers to any such program
|
||||||
|
or work, and a "work based on the Program" means either the Program or any
|
||||||
|
derivative work under copyright law: that is to say, a work containing the
|
||||||
|
Program or a portion of it, either verbatim or with modifications and/or translated
|
||||||
|
into another language. (Hereinafter, translation is included without limitation
|
||||||
|
in the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not covered
|
||||||
|
by this License; they are outside its scope. The act of running the Program
|
||||||
|
is not restricted, and the output from the Program is covered only if its
|
||||||
|
contents constitute a work based on the Program (independent of having been
|
||||||
|
made by running the Program). Whether that is true depends on what the Program
|
||||||
|
does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's source code
|
||||||
|
as you receive it, in any medium, provided that you conspicuously and appropriately
|
||||||
|
publish on each copy an appropriate copyright notice and disclaimer of warranty;
|
||||||
|
keep intact all the notices that refer to this License and to the absence
|
||||||
|
of any warranty; and give any other recipients of the Program a copy of this
|
||||||
|
License along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and you
|
||||||
|
may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion of it,
|
||||||
|
thus forming a work based on the Program, and copy and distribute such modifications
|
||||||
|
or work under the terms of Section 1 above, provided that you also meet all
|
||||||
|
of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices stating that
|
||||||
|
you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in whole or
|
||||||
|
in part contains or is derived from the Program or any part thereof, to be
|
||||||
|
licensed as a whole at no charge to all third parties under the terms of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively when run,
|
||||||
|
you must cause it, when started running for such interactive use in the most
|
||||||
|
ordinary way, to print or display an announcement including an appropriate
|
||||||
|
copyright notice and a notice that there is no warranty (or else, saying that
|
||||||
|
you provide a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this License.
|
||||||
|
(Exception: if the Program itself is interactive but does not normally print
|
||||||
|
such an announcement, your work based on the Program is not required to print
|
||||||
|
an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If identifiable
|
||||||
|
sections of that work are not derived from the Program, and can be reasonably
|
||||||
|
considered independent and separate works in themselves, then this License,
|
||||||
|
and its terms, do not apply to those sections when you distribute them as
|
||||||
|
separate works. But when you distribute the same sections as part of a whole
|
||||||
|
which is a work based on the Program, the distribution of the whole must be
|
||||||
|
on the terms of this License, whose permissions for other licensees extend
|
||||||
|
to the entire whole, and thus to each and every part regardless of who wrote
|
||||||
|
it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest your
|
||||||
|
rights to work written entirely by you; rather, the intent is to exercise
|
||||||
|
the right to control the distribution of derivative or collective works based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program with
|
||||||
|
the Program (or with a work based on the Program) on a volume of a storage
|
||||||
|
or distribution medium does not bring the other work under the scope of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it, under Section
|
||||||
|
2) in object code or executable form under the terms of Sections 1 and 2 above
|
||||||
|
provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable source code,
|
||||||
|
which must be distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three years, to give
|
||||||
|
any third party, for a charge no more than your cost of physically performing
|
||||||
|
source distribution, a complete machine-readable copy of the corresponding
|
||||||
|
source code, to be distributed under the terms of Sections 1 and 2 above on
|
||||||
|
a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer to distribute
|
||||||
|
corresponding source code. (This alternative is allowed only for noncommercial
|
||||||
|
distribution and only if you received the program in object code or executable
|
||||||
|
form with such an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for making
|
||||||
|
modifications to it. For an executable work, complete source code means all
|
||||||
|
the source code for all modules it contains, plus any associated interface
|
||||||
|
definition files, plus the scripts used to control compilation and installation
|
||||||
|
of the executable. However, as a special exception, the source code distributed
|
||||||
|
need not include anything that is normally distributed (in either source or
|
||||||
|
binary form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component itself
|
||||||
|
accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering access to
|
||||||
|
copy from a designated place, then offering equivalent access to copy the
|
||||||
|
source code from the same place counts as distribution of the source code,
|
||||||
|
even though third parties are not compelled to copy the source along with
|
||||||
|
the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program except
|
||||||
|
as expressly provided under this License. Any attempt otherwise to copy, modify,
|
||||||
|
sublicense or distribute the Program is void, and will automatically terminate
|
||||||
|
your rights under this License. However, parties who have received copies,
|
||||||
|
or rights, from you under this License will not have their licenses terminated
|
||||||
|
so long as such parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not signed
|
||||||
|
it. However, nothing else grants you permission to modify or distribute the
|
||||||
|
Program or its derivative works. These actions are prohibited by law if you
|
||||||
|
do not accept this License. Therefore, by modifying or distributing the Program
|
||||||
|
(or any work based on the Program), you indicate your acceptance of this License
|
||||||
|
to do so, and all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the Program),
|
||||||
|
the recipient automatically receives a license from the original licensor
|
||||||
|
to copy, distribute or modify the Program subject to these terms and conditions.
|
||||||
|
You may not impose any further restrictions on the recipients' exercise of
|
||||||
|
the rights granted herein. You are not responsible for enforcing compliance
|
||||||
|
by third parties to this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent infringement
|
||||||
|
or for any other reason (not limited to patent issues), conditions are imposed
|
||||||
|
on you (whether by court order, agreement or otherwise) that contradict the
|
||||||
|
conditions of this License, they do not excuse you from the conditions of
|
||||||
|
this License. If you cannot distribute so as to satisfy simultaneously your
|
||||||
|
obligations under this License and any other pertinent obligations, then as
|
||||||
|
a consequence you may not distribute the Program at all. For example, if a
|
||||||
|
patent license would not permit royalty-free redistribution of the Program
|
||||||
|
by all those who receive copies directly or indirectly through you, then the
|
||||||
|
only way you could satisfy both it and this License would be to refrain entirely
|
||||||
|
from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under any
|
||||||
|
particular circumstance, the balance of the section is intended to apply and
|
||||||
|
the section as a whole is intended to apply in other circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any patents
|
||||||
|
or other property right claims or to contest validity of any such claims;
|
||||||
|
this section has the sole purpose of protecting the integrity of the free
|
||||||
|
software distribution system, which is implemented by public license practices.
|
||||||
|
Many people have made generous contributions to the wide range of software
|
||||||
|
distributed through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing to
|
||||||
|
distribute software through any other system and a licensee cannot impose
|
||||||
|
that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to be a
|
||||||
|
consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in certain
|
||||||
|
countries either by patents or by copyrighted interfaces, the original copyright
|
||||||
|
holder who places the Program under this License may add an explicit geographical
|
||||||
|
distribution limitation excluding those countries, so that distribution is
|
||||||
|
permitted only in or among countries not thus excluded. In such case, this
|
||||||
|
License incorporates the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the General Public License from time to time. Such new versions will be similar
|
||||||
|
in spirit to the present version, but may differ in detail to address new
|
||||||
|
problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program specifies
|
||||||
|
a version number of this License which applies to it and "any later version",
|
||||||
|
you have the option of following the terms and conditions either of that version
|
||||||
|
or of any later version published by the Free Software Foundation. If the
|
||||||
|
Program does not specify a version number of this License, you may choose
|
||||||
|
any version ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free programs
|
||||||
|
whose distribution conditions are different, write to the author to ask for
|
||||||
|
permission. For software which is copyrighted by the Free Software Foundation,
|
||||||
|
write to the Free Software Foundation; we sometimes make exceptions for this.
|
||||||
|
Our decision will be guided by the two goals of preserving the free status
|
||||||
|
of all derivatives of our free software and of promoting the sharing and reuse
|
||||||
|
of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
|
||||||
|
THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
|
||||||
|
STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
|
||||||
|
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
||||||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
|
||||||
|
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME
|
||||||
|
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE
|
||||||
|
OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
|
||||||
|
OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
|
||||||
|
OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
|
||||||
|
HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively convey the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and an idea of what it does.>
|
||||||
|
|
||||||
|
Copyright (C) <yyyy> <name of author>
|
||||||
|
|
||||||
|
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 2 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, write to the Free Software Foundation, Inc., 51 Franklin
|
||||||
|
Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this when
|
||||||
|
it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author Gnomovision comes
|
||||||
|
with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software,
|
||||||
|
and you are welcome to redistribute it under certain conditions; type `show
|
||||||
|
c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may be
|
||||||
|
called something other than `show w' and `show c'; they could even be mouse-clicks
|
||||||
|
or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary. Here
|
||||||
|
is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision'
|
||||||
|
(which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General
|
||||||
|
Public License does not permit incorporating your program into proprietary
|
||||||
|
programs. If your program is a subroutine library, you may consider it more
|
||||||
|
useful to permit linking proprietary applications with the library. If this
|
||||||
|
is what you want to do, use the GNU Lesser General Public License instead
|
||||||
|
of this License.
|
625
LICENSES/GPL-3.0-only.txt
Normal file
@@ -0,0 +1,625 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for software and
|
||||||
|
other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed to take
|
||||||
|
away your freedom to share and change the works. By contrast, the GNU General
|
||||||
|
Public License is intended to guarantee your freedom to share and change all
|
||||||
|
versions of a program--to make sure it remains free software for all its users.
|
||||||
|
We, the Free Software Foundation, use the GNU General Public License for most
|
||||||
|
of our software; it applies also to any other work released this way by its
|
||||||
|
authors. You can apply it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for them if you wish), that
|
||||||
|
you receive source code or can get it if you want it, that you can change
|
||||||
|
the software or use pieces of it in new free programs, and that you know you
|
||||||
|
can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you these rights
|
||||||
|
or asking you to surrender the rights. Therefore, you have certain responsibilities
|
||||||
|
if you distribute copies of the software, or if you modify it: responsibilities
|
||||||
|
to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must pass on to the recipients the same freedoms that you received.
|
||||||
|
You must make sure that they, too, receive or can get the source code. And
|
||||||
|
you must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps: (1) assert
|
||||||
|
copyright on the software, and (2) offer you this License giving you legal
|
||||||
|
permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains that
|
||||||
|
there is no warranty for this free software. For both users' and authors'
|
||||||
|
sake, the GPL requires that modified versions be marked as changed, so that
|
||||||
|
their problems will not be attributed erroneously to authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run modified
|
||||||
|
versions of the software inside them, although the manufacturer can do so.
|
||||||
|
This is fundamentally incompatible with the aim of protecting users' freedom
|
||||||
|
to change the software. The systematic pattern of such abuse occurs in the
|
||||||
|
area of products for individuals to use, which is precisely where it is most
|
||||||
|
unacceptable. Therefore, we have designed this version of the GPL to prohibit
|
||||||
|
the practice for those products. If such problems arise substantially in other
|
||||||
|
domains, we stand ready to extend this provision to those domains in future
|
||||||
|
versions of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents. States
|
||||||
|
should not allow patents to restrict development and use of software on general-purpose
|
||||||
|
computers, but in those that do, we wish to avoid the special danger that
|
||||||
|
patents applied to a free program could make it effectively proprietary. To
|
||||||
|
prevent this, the GPL assures that patents cannot be used to render the program
|
||||||
|
non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of works,
|
||||||
|
such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this License.
|
||||||
|
Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals
|
||||||
|
or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work in
|
||||||
|
a fashion requiring copyright permission, other than the making of an exact
|
||||||
|
copy. The resulting work is called a "modified version" of the earlier work
|
||||||
|
or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based on the
|
||||||
|
Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without permission,
|
||||||
|
would make you directly or secondarily liable for infringement under applicable
|
||||||
|
copyright law, except executing it on a computer or modifying a private copy.
|
||||||
|
Propagation includes copying, distribution (with or without modification),
|
||||||
|
making available to the public, and in some countries other activities as
|
||||||
|
well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other parties
|
||||||
|
to make or receive copies. Mere interaction with a user through a computer
|
||||||
|
network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices" to the
|
||||||
|
extent that it includes a convenient and prominently visible feature that
|
||||||
|
(1) displays an appropriate copyright notice, and (2) tells the user that
|
||||||
|
there is no warranty for the work (except to the extent that warranties are
|
||||||
|
provided), that licensees may convey the work under this License, and how
|
||||||
|
to view a copy of this License. If the interface presents a list of user commands
|
||||||
|
or options, such as a menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work for making
|
||||||
|
modifications to it. "Object code" means any non-source form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official standard
|
||||||
|
defined by a recognized standards body, or, in the case of interfaces specified
|
||||||
|
for a particular programming language, one that is widely used among developers
|
||||||
|
working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other than
|
||||||
|
the work as a whole, that (a) is included in the normal form of packaging
|
||||||
|
a Major Component, but which is not part of that Major Component, and (b)
|
||||||
|
serves only to enable use of the work with that Major Component, or to implement
|
||||||
|
a Standard Interface for which an implementation is available to the public
|
||||||
|
in source code form. A "Major Component", in this context, means a major essential
|
||||||
|
component (kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to produce
|
||||||
|
the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all the source
|
||||||
|
code needed to generate, install, and (for an executable work) run the object
|
||||||
|
code and to modify the work, including scripts to control those activities.
|
||||||
|
However, it does not include the work's System Libraries, or general-purpose
|
||||||
|
tools or generally available free programs which are used unmodified in performing
|
||||||
|
those activities but which are not part of the work. For example, Corresponding
|
||||||
|
Source includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically linked
|
||||||
|
subprograms that the work is specifically designed to require, such as by
|
||||||
|
intimate data communication or control flow between those subprograms and
|
||||||
|
other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users can regenerate
|
||||||
|
automatically from other parts of the Corresponding Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of copyright
|
||||||
|
on the Program, and are irrevocable provided the stated conditions are met.
|
||||||
|
This License explicitly affirms your unlimited permission to run the unmodified
|
||||||
|
Program. The output from running a covered work is covered by this License
|
||||||
|
only if the output, given its content, constitutes a covered work. This License
|
||||||
|
acknowledges your rights of fair use or other equivalent, as provided by copyright
|
||||||
|
law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not convey, without
|
||||||
|
conditions so long as your license otherwise remains in force. You may convey
|
||||||
|
covered works to others for the sole purpose of having them make modifications
|
||||||
|
exclusively for you, or provide you with facilities for running those works,
|
||||||
|
provided that you comply with the terms of this License in conveying all material
|
||||||
|
for which you do not control copyright. Those thus making or running the covered
|
||||||
|
works for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of your copyrighted
|
||||||
|
material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under the conditions
|
||||||
|
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological measure
|
||||||
|
under any applicable law fulfilling obligations under article 11 of the WIPO
|
||||||
|
copyright treaty adopted on 20 December 1996, or similar laws prohibiting
|
||||||
|
or restricting circumvention of such measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid circumvention
|
||||||
|
of technological measures to the extent such circumvention is effected by
|
||||||
|
exercising rights under this License with respect to the covered work, and
|
||||||
|
you disclaim any intention to limit operation or modification of the work
|
||||||
|
as a means of enforcing, against the work's users, your or third parties'
|
||||||
|
legal rights to forbid circumvention of technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you receive
|
||||||
|
it, in any medium, provided that you conspicuously and appropriately publish
|
||||||
|
on each copy an appropriate copyright notice; keep intact all notices stating
|
||||||
|
that this License and any non-permissive terms added in accord with section
|
||||||
|
7 apply to the code; keep intact all notices of the absence of any warranty;
|
||||||
|
and give all recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey, and you
|
||||||
|
may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to produce
|
||||||
|
it from the Program, in the form of source code under the terms of section
|
||||||
|
4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified it, and
|
||||||
|
giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is released under
|
||||||
|
this License and any conditions added under section 7. This requirement modifies
|
||||||
|
the requirement in section 4 to "keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this License to anyone
|
||||||
|
who comes into possession of a copy. This License will therefore apply, along
|
||||||
|
with any applicable section 7 additional terms, to the whole of the work,
|
||||||
|
and all its parts, regardless of how they are packaged. This License gives
|
||||||
|
no permission to license the work in any other way, but it does not invalidate
|
||||||
|
such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display Appropriate
|
||||||
|
Legal Notices; however, if the Program has interactive interfaces that do
|
||||||
|
not display Appropriate Legal Notices, your work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent works,
|
||||||
|
which are not by their nature extensions of the covered work, and which are
|
||||||
|
not combined with it such as to form a larger program, in or on a volume of
|
||||||
|
a storage or distribution medium, is called an "aggregate" if the compilation
|
||||||
|
and its resulting copyright are not used to limit the access or legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit. Inclusion
|
||||||
|
of a covered work in an aggregate does not cause this License to apply to
|
||||||
|
the other parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms of sections
|
||||||
|
4 and 5, provided that you also convey the machine-readable Corresponding
|
||||||
|
Source under the terms of this License, in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product (including
|
||||||
|
a physical distribution medium), accompanied by the Corresponding Source fixed
|
||||||
|
on a durable physical medium customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product (including
|
||||||
|
a physical distribution medium), accompanied by a written offer, valid for
|
||||||
|
at least three years and valid for as long as you offer spare parts or customer
|
||||||
|
support for that product model, to give anyone who possesses the object code
|
||||||
|
either (1) a copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical medium customarily
|
||||||
|
used for software interchange, for a price no more than your reasonable cost
|
||||||
|
of physically performing this conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the written
|
||||||
|
offer to provide the Corresponding Source. This alternative is allowed only
|
||||||
|
occasionally and noncommercially, and only if you received the object code
|
||||||
|
with such an offer, in accord with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated place (gratis
|
||||||
|
or for a charge), and offer equivalent access to the Corresponding Source
|
||||||
|
in the same way through the same place at no further charge. You need not
|
||||||
|
require recipients to copy the Corresponding Source along with the object
|
||||||
|
code. If the place to copy the object code is a network server, the Corresponding
|
||||||
|
Source may be on a different server (operated by you or a third party) that
|
||||||
|
supports equivalent copying facilities, provided you maintain clear directions
|
||||||
|
next to the object code saying where to find the Corresponding Source. Regardless
|
||||||
|
of what server hosts the Corresponding Source, you remain obligated to ensure
|
||||||
|
that it is available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided you inform
|
||||||
|
other peers where the object code and Corresponding Source of the work are
|
||||||
|
being offered to the general public at no charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded from
|
||||||
|
the Corresponding Source as a System Library, need not be included in conveying
|
||||||
|
the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any tangible
|
||||||
|
personal property which is normally used for personal, family, or household
|
||||||
|
purposes, or (2) anything designed or sold for incorporation into a dwelling.
|
||||||
|
In determining whether a product is a consumer product, doubtful cases shall
|
||||||
|
be resolved in favor of coverage. For a particular product received by a particular
|
||||||
|
user, "normally used" refers to a typical or common use of that class of product,
|
||||||
|
regardless of the status of the particular user or of the way in which the
|
||||||
|
particular user actually uses, or expects or is expected to use, the product.
|
||||||
|
A product is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent the
|
||||||
|
only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods, procedures,
|
||||||
|
authorization keys, or other information required to install and execute modified
|
||||||
|
versions of a covered work in that User Product from a modified version of
|
||||||
|
its Corresponding Source. The information must suffice to ensure that the
|
||||||
|
continued functioning of the modified object code is in no case prevented
|
||||||
|
or interfered with solely because modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or specifically
|
||||||
|
for use in, a User Product, and the conveying occurs as part of a transaction
|
||||||
|
in which the right of possession and use of the User Product is transferred
|
||||||
|
to the recipient in perpetuity or for a fixed term (regardless of how the
|
||||||
|
transaction is characterized), the Corresponding Source conveyed under this
|
||||||
|
section must be accompanied by the Installation Information. But this requirement
|
||||||
|
does not apply if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has been installed
|
||||||
|
in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a requirement
|
||||||
|
to continue to provide support service, warranty, or updates for a work that
|
||||||
|
has been modified or installed by the recipient, or for the User Product in
|
||||||
|
which it has been modified or installed. Access to a network may be denied
|
||||||
|
when the modification itself materially and adversely affects the operation
|
||||||
|
of the network or violates the rules and protocols for communication across
|
||||||
|
the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided, in accord
|
||||||
|
with this section must be in a format that is publicly documented (and with
|
||||||
|
an implementation available to the public in source code form), and must require
|
||||||
|
no special password or key for unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this License
|
||||||
|
by making exceptions from one or more of its conditions. Additional permissions
|
||||||
|
that are applicable to the entire Program shall be treated as though they
|
||||||
|
were included in this License, to the extent that they are valid under applicable
|
||||||
|
law. If additional permissions apply only to part of the Program, that part
|
||||||
|
may be used separately under those permissions, but the entire Program remains
|
||||||
|
governed by this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option remove any
|
||||||
|
additional permissions from that copy, or from any part of it. (Additional
|
||||||
|
permissions may be written to require their own removal in certain cases when
|
||||||
|
you modify the work.) You may place additional permissions on material, added
|
||||||
|
by you to a covered work, for which you have or can give appropriate copyright
|
||||||
|
permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you add
|
||||||
|
to a covered work, you may (if authorized by the copyright holders of that
|
||||||
|
material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the terms of
|
||||||
|
sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or author
|
||||||
|
attributions in that material or in the Appropriate Legal Notices displayed
|
||||||
|
by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or requiring
|
||||||
|
that modified versions of such material be marked in reasonable ways as different
|
||||||
|
from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or authors
|
||||||
|
of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some trade names,
|
||||||
|
trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that material by
|
||||||
|
anyone who conveys the material (or modified versions of it) with contractual
|
||||||
|
assumptions of liability to the recipient, for any liability that these contractual
|
||||||
|
assumptions directly impose on those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further restrictions"
|
||||||
|
within the meaning of section 10. If the Program as you received it, or any
|
||||||
|
part of it, contains a notice stating that it is governed by this License
|
||||||
|
along with a term that is a further restriction, you may remove that term.
|
||||||
|
If a license document contains a further restriction but permits relicensing
|
||||||
|
or conveying under this License, you may add to a covered work material governed
|
||||||
|
by the terms of that license document, provided that the further restriction
|
||||||
|
does not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you must place,
|
||||||
|
in the relevant source files, a statement of the additional terms that apply
|
||||||
|
to those files, or a notice indicating where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the form
|
||||||
|
of a separately written license, or stated as exceptions; the above requirements
|
||||||
|
apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly provided
|
||||||
|
under this License. Any attempt otherwise to propagate or modify it is void,
|
||||||
|
and will automatically terminate your rights under this License (including
|
||||||
|
any patent licenses granted under the third paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license from
|
||||||
|
a particular copyright holder is reinstated (a) provisionally, unless and
|
||||||
|
until the copyright holder explicitly and finally terminates your license,
|
||||||
|
and (b) permanently, if the copyright holder fails to notify you of the violation
|
||||||
|
by some reasonable means prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is reinstated permanently
|
||||||
|
if the copyright holder notifies you of the violation by some reasonable means,
|
||||||
|
this is the first time you have received notice of violation of this License
|
||||||
|
(for any work) from that copyright holder, and you cure the violation prior
|
||||||
|
to 30 days after your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the licenses
|
||||||
|
of parties who have received copies or rights from you under this License.
|
||||||
|
If your rights have been terminated and not permanently reinstated, you do
|
||||||
|
not qualify to receive new licenses for the same material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or run a copy
|
||||||
|
of the Program. Ancillary propagation of a covered work occurring solely as
|
||||||
|
a consequence of using peer-to-peer transmission to receive a copy likewise
|
||||||
|
does not require acceptance. However, nothing other than this License grants
|
||||||
|
you permission to propagate or modify any covered work. These actions infringe
|
||||||
|
copyright if you do not accept this License. Therefore, by modifying or propagating
|
||||||
|
a covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically receives
|
||||||
|
a license from the original licensors, to run, modify and propagate that work,
|
||||||
|
subject to this License. You are not responsible for enforcing compliance
|
||||||
|
by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an organization,
|
||||||
|
or substantially all assets of one, or subdividing an organization, or merging
|
||||||
|
organizations. If propagation of a covered work results from an entity transaction,
|
||||||
|
each party to that transaction who receives a copy of the work also receives
|
||||||
|
whatever licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the Corresponding
|
||||||
|
Source of the work from the predecessor in interest, if the predecessor has
|
||||||
|
it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the rights
|
||||||
|
granted or affirmed under this License. For example, you may not impose a
|
||||||
|
license fee, royalty, or other charge for exercise of rights granted under
|
||||||
|
this License, and you may not initiate litigation (including a cross-claim
|
||||||
|
or counterclaim in a lawsuit) alleging that any patent claim is infringed
|
||||||
|
by making, using, selling, offering for sale, or importing the Program or
|
||||||
|
any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this License
|
||||||
|
of the Program or a work on which the Program is based. The work thus licensed
|
||||||
|
is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims owned or controlled
|
||||||
|
by the contributor, whether already acquired or hereafter acquired, that would
|
||||||
|
be infringed by some manner, permitted by this License, of making, using,
|
||||||
|
or selling its contributor version, but do not include claims that would be
|
||||||
|
infringed only as a consequence of further modification of the contributor
|
||||||
|
version. For purposes of this definition, "control" includes the right to
|
||||||
|
grant patent sublicenses in a manner consistent with the requirements of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
|
||||||
|
license under the contributor's essential patent claims, to make, use, sell,
|
||||||
|
offer for sale, import and otherwise run, modify and propagate the contents
|
||||||
|
of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express agreement
|
||||||
|
or commitment, however denominated, not to enforce a patent (such as an express
|
||||||
|
permission to practice a patent or covenant not to sue for patent infringement).
|
||||||
|
To "grant" such a patent license to a party means to make such an agreement
|
||||||
|
or commitment not to enforce a patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license, and the
|
||||||
|
Corresponding Source of the work is not available for anyone to copy, free
|
||||||
|
of charge and under the terms of this License, through a publicly available
|
||||||
|
network server or other readily accessible means, then you must either (1)
|
||||||
|
cause the Corresponding Source to be so available, or (2) arrange to deprive
|
||||||
|
yourself of the benefit of the patent license for this particular work, or
|
||||||
|
(3) arrange, in a manner consistent with the requirements of this License,
|
||||||
|
to extend the patent license to downstream recipients. "Knowingly relying"
|
||||||
|
means you have actual knowledge that, but for the patent license, your conveying
|
||||||
|
the covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that country
|
||||||
|
that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or arrangement,
|
||||||
|
you convey, or propagate by procuring conveyance of, a covered work, and grant
|
||||||
|
a patent license to some of the parties receiving the covered work authorizing
|
||||||
|
them to use, propagate, modify or convey a specific copy of the covered work,
|
||||||
|
then the patent license you grant is automatically extended to all recipients
|
||||||
|
of the covered work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within the scope
|
||||||
|
of its coverage, prohibits the exercise of, or is conditioned on the non-exercise
|
||||||
|
of one or more of the rights that are specifically granted under this License.
|
||||||
|
You may not convey a covered work if you are a party to an arrangement with
|
||||||
|
a third party that is in the business of distributing software, under which
|
||||||
|
you make payment to the third party based on the extent of your activity of
|
||||||
|
conveying the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory patent
|
||||||
|
license (a) in connection with copies of the covered work conveyed by you
|
||||||
|
(or copies made from those copies), or (b) primarily for and in connection
|
||||||
|
with specific products or compilations that contain the covered work, unless
|
||||||
|
you entered into that arrangement, or that patent license was granted, prior
|
||||||
|
to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting any implied
|
||||||
|
license or other defenses to infringement that may otherwise be available
|
||||||
|
to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or otherwise)
|
||||||
|
that contradict the conditions of this License, they do not excuse you from
|
||||||
|
the conditions of this License. If you cannot convey a covered work so as
|
||||||
|
to satisfy simultaneously your obligations under this License and any other
|
||||||
|
pertinent obligations, then as a consequence you may not convey it at all.
|
||||||
|
For example, if you agree to terms that obligate you to collect a royalty
|
||||||
|
for further conveying from those to whom you convey the Program, the only
|
||||||
|
way you could satisfy both those terms and this License would be to refrain
|
||||||
|
entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have permission to
|
||||||
|
link or combine any covered work with a work licensed under version 3 of the
|
||||||
|
GNU Affero General Public License into a single combined work, and to convey
|
||||||
|
the resulting work. The terms of this License will continue to apply to the
|
||||||
|
part which is the covered work, but the special requirements of the GNU Affero
|
||||||
|
General Public License, section 13, concerning interaction through a network
|
||||||
|
will apply to the combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
GNU General Public License from time to time. Such new versions will be similar
|
||||||
|
in spirit to the present version, but may differ in detail to address new
|
||||||
|
problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program specifies
|
||||||
|
that a certain numbered version of the GNU General Public License "or any
|
||||||
|
later version" applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that numbered version or of any later version published
|
||||||
|
by the Free Software Foundation. If the Program does not specify a version
|
||||||
|
number of the GNU General Public License, you may choose any version ever
|
||||||
|
published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future versions of
|
||||||
|
the GNU General Public License can be used, that proxy's public statement
|
||||||
|
of acceptance of a version permanently authorizes you to choose that version
|
||||||
|
for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different permissions. However,
|
||||||
|
no additional obligations are imposed on any author or copyright holder as
|
||||||
|
a result of your choosing to follow a later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||||
|
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
|
||||||
|
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
||||||
|
CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||||
|
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM
|
||||||
|
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||||||
|
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
|
||||||
|
USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
||||||
|
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||||
|
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
||||||
|
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided above cannot
|
||||||
|
be given local legal effect according to their terms, reviewing courts shall
|
||||||
|
apply local law that most closely approximates an absolute waiver of all civil
|
||||||
|
liability in connection with the Program, unless a warranty or assumption
|
||||||
|
of liability accompanies a copy of the Program in return for a fee. END OF
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively state the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short notice like
|
||||||
|
this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
|
||||||
|
This is free software, and you are welcome to redistribute it under certain
|
||||||
|
conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands might
|
||||||
|
be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary. For
|
||||||
|
more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General Public
|
||||||
|
License instead of this License. But first, please read <https://www.gnu.org/
|
||||||
|
licenses /why-not-lgpl.html>.
|
625
LICENSES/GPL-3.0-or-later.txt
Normal file
@@ -0,0 +1,625 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this license
|
||||||
|
document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for software and
|
||||||
|
other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed to take
|
||||||
|
away your freedom to share and change the works. By contrast, the GNU General
|
||||||
|
Public License is intended to guarantee your freedom to share and change all
|
||||||
|
versions of a program--to make sure it remains free software for all its users.
|
||||||
|
We, the Free Software Foundation, use the GNU General Public License for most
|
||||||
|
of our software; it applies also to any other work released this way by its
|
||||||
|
authors. You can apply it to your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not price. Our
|
||||||
|
General Public Licenses are designed to make sure that you have the freedom
|
||||||
|
to distribute copies of free software (and charge for them if you wish), that
|
||||||
|
you receive source code or can get it if you want it, that you can change
|
||||||
|
the software or use pieces of it in new free programs, and that you know you
|
||||||
|
can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you these rights
|
||||||
|
or asking you to surrender the rights. Therefore, you have certain responsibilities
|
||||||
|
if you distribute copies of the software, or if you modify it: responsibilities
|
||||||
|
to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether gratis or
|
||||||
|
for a fee, you must pass on to the recipients the same freedoms that you received.
|
||||||
|
You must make sure that they, too, receive or can get the source code. And
|
||||||
|
you must show them these terms so they know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps: (1) assert
|
||||||
|
copyright on the software, and (2) offer you this License giving you legal
|
||||||
|
permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains that
|
||||||
|
there is no warranty for this free software. For both users' and authors'
|
||||||
|
sake, the GPL requires that modified versions be marked as changed, so that
|
||||||
|
their problems will not be attributed erroneously to authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run modified
|
||||||
|
versions of the software inside them, although the manufacturer can do so.
|
||||||
|
This is fundamentally incompatible with the aim of protecting users' freedom
|
||||||
|
to change the software. The systematic pattern of such abuse occurs in the
|
||||||
|
area of products for individuals to use, which is precisely where it is most
|
||||||
|
unacceptable. Therefore, we have designed this version of the GPL to prohibit
|
||||||
|
the practice for those products. If such problems arise substantially in other
|
||||||
|
domains, we stand ready to extend this provision to those domains in future
|
||||||
|
versions of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents. States
|
||||||
|
should not allow patents to restrict development and use of software on general-purpose
|
||||||
|
computers, but in those that do, we wish to avoid the special danger that
|
||||||
|
patents applied to a free program could make it effectively proprietary. To
|
||||||
|
prevent this, the GPL assures that patents cannot be used to render the program
|
||||||
|
non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and modification
|
||||||
|
follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of works,
|
||||||
|
such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this License.
|
||||||
|
Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals
|
||||||
|
or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work in
|
||||||
|
a fashion requiring copyright permission, other than the making of an exact
|
||||||
|
copy. The resulting work is called a "modified version" of the earlier work
|
||||||
|
or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based on the
|
||||||
|
Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without permission,
|
||||||
|
would make you directly or secondarily liable for infringement under applicable
|
||||||
|
copyright law, except executing it on a computer or modifying a private copy.
|
||||||
|
Propagation includes copying, distribution (with or without modification),
|
||||||
|
making available to the public, and in some countries other activities as
|
||||||
|
well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other parties
|
||||||
|
to make or receive copies. Mere interaction with a user through a computer
|
||||||
|
network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices" to the
|
||||||
|
extent that it includes a convenient and prominently visible feature that
|
||||||
|
(1) displays an appropriate copyright notice, and (2) tells the user that
|
||||||
|
there is no warranty for the work (except to the extent that warranties are
|
||||||
|
provided), that licensees may convey the work under this License, and how
|
||||||
|
to view a copy of this License. If the interface presents a list of user commands
|
||||||
|
or options, such as a menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work for making
|
||||||
|
modifications to it. "Object code" means any non-source form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official standard
|
||||||
|
defined by a recognized standards body, or, in the case of interfaces specified
|
||||||
|
for a particular programming language, one that is widely used among developers
|
||||||
|
working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other than
|
||||||
|
the work as a whole, that (a) is included in the normal form of packaging
|
||||||
|
a Major Component, but which is not part of that Major Component, and (b)
|
||||||
|
serves only to enable use of the work with that Major Component, or to implement
|
||||||
|
a Standard Interface for which an implementation is available to the public
|
||||||
|
in source code form. A "Major Component", in this context, means a major essential
|
||||||
|
component (kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to produce
|
||||||
|
the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all the source
|
||||||
|
code needed to generate, install, and (for an executable work) run the object
|
||||||
|
code and to modify the work, including scripts to control those activities.
|
||||||
|
However, it does not include the work's System Libraries, or general-purpose
|
||||||
|
tools or generally available free programs which are used unmodified in performing
|
||||||
|
those activities but which are not part of the work. For example, Corresponding
|
||||||
|
Source includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically linked
|
||||||
|
subprograms that the work is specifically designed to require, such as by
|
||||||
|
intimate data communication or control flow between those subprograms and
|
||||||
|
other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users can regenerate
|
||||||
|
automatically from other parts of the Corresponding Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of copyright
|
||||||
|
on the Program, and are irrevocable provided the stated conditions are met.
|
||||||
|
This License explicitly affirms your unlimited permission to run the unmodified
|
||||||
|
Program. The output from running a covered work is covered by this License
|
||||||
|
only if the output, given its content, constitutes a covered work. This License
|
||||||
|
acknowledges your rights of fair use or other equivalent, as provided by copyright
|
||||||
|
law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not convey, without
|
||||||
|
conditions so long as your license otherwise remains in force. You may convey
|
||||||
|
covered works to others for the sole purpose of having them make modifications
|
||||||
|
exclusively for you, or provide you with facilities for running those works,
|
||||||
|
provided that you comply with the terms of this License in conveying all material
|
||||||
|
for which you do not control copyright. Those thus making or running the covered
|
||||||
|
works for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of your copyrighted
|
||||||
|
material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under the conditions
|
||||||
|
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological measure
|
||||||
|
under any applicable law fulfilling obligations under article 11 of the WIPO
|
||||||
|
copyright treaty adopted on 20 December 1996, or similar laws prohibiting
|
||||||
|
or restricting circumvention of such measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid circumvention
|
||||||
|
of technological measures to the extent such circumvention is effected by
|
||||||
|
exercising rights under this License with respect to the covered work, and
|
||||||
|
you disclaim any intention to limit operation or modification of the work
|
||||||
|
as a means of enforcing, against the work's users, your or third parties'
|
||||||
|
legal rights to forbid circumvention of technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you receive
|
||||||
|
it, in any medium, provided that you conspicuously and appropriately publish
|
||||||
|
on each copy an appropriate copyright notice; keep intact all notices stating
|
||||||
|
that this License and any non-permissive terms added in accord with section
|
||||||
|
7 apply to the code; keep intact all notices of the absence of any warranty;
|
||||||
|
and give all recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey, and you
|
||||||
|
may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to produce
|
||||||
|
it from the Program, in the form of source code under the terms of section
|
||||||
|
4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified it, and
|
||||||
|
giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is released under
|
||||||
|
this License and any conditions added under section 7. This requirement modifies
|
||||||
|
the requirement in section 4 to "keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this License to anyone
|
||||||
|
who comes into possession of a copy. This License will therefore apply, along
|
||||||
|
with any applicable section 7 additional terms, to the whole of the work,
|
||||||
|
and all its parts, regardless of how they are packaged. This License gives
|
||||||
|
no permission to license the work in any other way, but it does not invalidate
|
||||||
|
such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display Appropriate
|
||||||
|
Legal Notices; however, if the Program has interactive interfaces that do
|
||||||
|
not display Appropriate Legal Notices, your work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent works,
|
||||||
|
which are not by their nature extensions of the covered work, and which are
|
||||||
|
not combined with it such as to form a larger program, in or on a volume of
|
||||||
|
a storage or distribution medium, is called an "aggregate" if the compilation
|
||||||
|
and its resulting copyright are not used to limit the access or legal rights
|
||||||
|
of the compilation's users beyond what the individual works permit. Inclusion
|
||||||
|
of a covered work in an aggregate does not cause this License to apply to
|
||||||
|
the other parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms of sections
|
||||||
|
4 and 5, provided that you also convey the machine-readable Corresponding
|
||||||
|
Source under the terms of this License, in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product (including
|
||||||
|
a physical distribution medium), accompanied by the Corresponding Source fixed
|
||||||
|
on a durable physical medium customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product (including
|
||||||
|
a physical distribution medium), accompanied by a written offer, valid for
|
||||||
|
at least three years and valid for as long as you offer spare parts or customer
|
||||||
|
support for that product model, to give anyone who possesses the object code
|
||||||
|
either (1) a copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical medium customarily
|
||||||
|
used for software interchange, for a price no more than your reasonable cost
|
||||||
|
of physically performing this conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the written
|
||||||
|
offer to provide the Corresponding Source. This alternative is allowed only
|
||||||
|
occasionally and noncommercially, and only if you received the object code
|
||||||
|
with such an offer, in accord with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated place (gratis
|
||||||
|
or for a charge), and offer equivalent access to the Corresponding Source
|
||||||
|
in the same way through the same place at no further charge. You need not
|
||||||
|
require recipients to copy the Corresponding Source along with the object
|
||||||
|
code. If the place to copy the object code is a network server, the Corresponding
|
||||||
|
Source may be on a different server (operated by you or a third party) that
|
||||||
|
supports equivalent copying facilities, provided you maintain clear directions
|
||||||
|
next to the object code saying where to find the Corresponding Source. Regardless
|
||||||
|
of what server hosts the Corresponding Source, you remain obligated to ensure
|
||||||
|
that it is available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided you inform
|
||||||
|
other peers where the object code and Corresponding Source of the work are
|
||||||
|
being offered to the general public at no charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded from
|
||||||
|
the Corresponding Source as a System Library, need not be included in conveying
|
||||||
|
the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any tangible
|
||||||
|
personal property which is normally used for personal, family, or household
|
||||||
|
purposes, or (2) anything designed or sold for incorporation into a dwelling.
|
||||||
|
In determining whether a product is a consumer product, doubtful cases shall
|
||||||
|
be resolved in favor of coverage. For a particular product received by a particular
|
||||||
|
user, "normally used" refers to a typical or common use of that class of product,
|
||||||
|
regardless of the status of the particular user or of the way in which the
|
||||||
|
particular user actually uses, or expects or is expected to use, the product.
|
||||||
|
A product is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent the
|
||||||
|
only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods, procedures,
|
||||||
|
authorization keys, or other information required to install and execute modified
|
||||||
|
versions of a covered work in that User Product from a modified version of
|
||||||
|
its Corresponding Source. The information must suffice to ensure that the
|
||||||
|
continued functioning of the modified object code is in no case prevented
|
||||||
|
or interfered with solely because modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or specifically
|
||||||
|
for use in, a User Product, and the conveying occurs as part of a transaction
|
||||||
|
in which the right of possession and use of the User Product is transferred
|
||||||
|
to the recipient in perpetuity or for a fixed term (regardless of how the
|
||||||
|
transaction is characterized), the Corresponding Source conveyed under this
|
||||||
|
section must be accompanied by the Installation Information. But this requirement
|
||||||
|
does not apply if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has been installed
|
||||||
|
in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a requirement
|
||||||
|
to continue to provide support service, warranty, or updates for a work that
|
||||||
|
has been modified or installed by the recipient, or for the User Product in
|
||||||
|
which it has been modified or installed. Access to a network may be denied
|
||||||
|
when the modification itself materially and adversely affects the operation
|
||||||
|
of the network or violates the rules and protocols for communication across
|
||||||
|
the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided, in accord
|
||||||
|
with this section must be in a format that is publicly documented (and with
|
||||||
|
an implementation available to the public in source code form), and must require
|
||||||
|
no special password or key for unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this License
|
||||||
|
by making exceptions from one or more of its conditions. Additional permissions
|
||||||
|
that are applicable to the entire Program shall be treated as though they
|
||||||
|
were included in this License, to the extent that they are valid under applicable
|
||||||
|
law. If additional permissions apply only to part of the Program, that part
|
||||||
|
may be used separately under those permissions, but the entire Program remains
|
||||||
|
governed by this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option remove any
|
||||||
|
additional permissions from that copy, or from any part of it. (Additional
|
||||||
|
permissions may be written to require their own removal in certain cases when
|
||||||
|
you modify the work.) You may place additional permissions on material, added
|
||||||
|
by you to a covered work, for which you have or can give appropriate copyright
|
||||||
|
permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you add
|
||||||
|
to a covered work, you may (if authorized by the copyright holders of that
|
||||||
|
material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the terms of
|
||||||
|
sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or author
|
||||||
|
attributions in that material or in the Appropriate Legal Notices displayed
|
||||||
|
by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or requiring
|
||||||
|
that modified versions of such material be marked in reasonable ways as different
|
||||||
|
from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or authors
|
||||||
|
of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some trade names,
|
||||||
|
trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that material by
|
||||||
|
anyone who conveys the material (or modified versions of it) with contractual
|
||||||
|
assumptions of liability to the recipient, for any liability that these contractual
|
||||||
|
assumptions directly impose on those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further restrictions"
|
||||||
|
within the meaning of section 10. If the Program as you received it, or any
|
||||||
|
part of it, contains a notice stating that it is governed by this License
|
||||||
|
along with a term that is a further restriction, you may remove that term.
|
||||||
|
If a license document contains a further restriction but permits relicensing
|
||||||
|
or conveying under this License, you may add to a covered work material governed
|
||||||
|
by the terms of that license document, provided that the further restriction
|
||||||
|
does not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you must place,
|
||||||
|
in the relevant source files, a statement of the additional terms that apply
|
||||||
|
to those files, or a notice indicating where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the form
|
||||||
|
of a separately written license, or stated as exceptions; the above requirements
|
||||||
|
apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly provided
|
||||||
|
under this License. Any attempt otherwise to propagate or modify it is void,
|
||||||
|
and will automatically terminate your rights under this License (including
|
||||||
|
any patent licenses granted under the third paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your license from
|
||||||
|
a particular copyright holder is reinstated (a) provisionally, unless and
|
||||||
|
until the copyright holder explicitly and finally terminates your license,
|
||||||
|
and (b) permanently, if the copyright holder fails to notify you of the violation
|
||||||
|
by some reasonable means prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is reinstated permanently
|
||||||
|
if the copyright holder notifies you of the violation by some reasonable means,
|
||||||
|
this is the first time you have received notice of violation of this License
|
||||||
|
(for any work) from that copyright holder, and you cure the violation prior
|
||||||
|
to 30 days after your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the licenses
|
||||||
|
of parties who have received copies or rights from you under this License.
|
||||||
|
If your rights have been terminated and not permanently reinstated, you do
|
||||||
|
not qualify to receive new licenses for the same material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or run a copy
|
||||||
|
of the Program. Ancillary propagation of a covered work occurring solely as
|
||||||
|
a consequence of using peer-to-peer transmission to receive a copy likewise
|
||||||
|
does not require acceptance. However, nothing other than this License grants
|
||||||
|
you permission to propagate or modify any covered work. These actions infringe
|
||||||
|
copyright if you do not accept this License. Therefore, by modifying or propagating
|
||||||
|
a covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically receives
|
||||||
|
a license from the original licensors, to run, modify and propagate that work,
|
||||||
|
subject to this License. You are not responsible for enforcing compliance
|
||||||
|
by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an organization,
|
||||||
|
or substantially all assets of one, or subdividing an organization, or merging
|
||||||
|
organizations. If propagation of a covered work results from an entity transaction,
|
||||||
|
each party to that transaction who receives a copy of the work also receives
|
||||||
|
whatever licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the Corresponding
|
||||||
|
Source of the work from the predecessor in interest, if the predecessor has
|
||||||
|
it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the rights
|
||||||
|
granted or affirmed under this License. For example, you may not impose a
|
||||||
|
license fee, royalty, or other charge for exercise of rights granted under
|
||||||
|
this License, and you may not initiate litigation (including a cross-claim
|
||||||
|
or counterclaim in a lawsuit) alleging that any patent claim is infringed
|
||||||
|
by making, using, selling, offering for sale, or importing the Program or
|
||||||
|
any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this License
|
||||||
|
of the Program or a work on which the Program is based. The work thus licensed
|
||||||
|
is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims owned or controlled
|
||||||
|
by the contributor, whether already acquired or hereafter acquired, that would
|
||||||
|
be infringed by some manner, permitted by this License, of making, using,
|
||||||
|
or selling its contributor version, but do not include claims that would be
|
||||||
|
infringed only as a consequence of further modification of the contributor
|
||||||
|
version. For purposes of this definition, "control" includes the right to
|
||||||
|
grant patent sublicenses in a manner consistent with the requirements of this
|
||||||
|
License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free patent
|
||||||
|
license under the contributor's essential patent claims, to make, use, sell,
|
||||||
|
offer for sale, import and otherwise run, modify and propagate the contents
|
||||||
|
of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express agreement
|
||||||
|
or commitment, however denominated, not to enforce a patent (such as an express
|
||||||
|
permission to practice a patent or covenant not to sue for patent infringement).
|
||||||
|
To "grant" such a patent license to a party means to make such an agreement
|
||||||
|
or commitment not to enforce a patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license, and the
|
||||||
|
Corresponding Source of the work is not available for anyone to copy, free
|
||||||
|
of charge and under the terms of this License, through a publicly available
|
||||||
|
network server or other readily accessible means, then you must either (1)
|
||||||
|
cause the Corresponding Source to be so available, or (2) arrange to deprive
|
||||||
|
yourself of the benefit of the patent license for this particular work, or
|
||||||
|
(3) arrange, in a manner consistent with the requirements of this License,
|
||||||
|
to extend the patent license to downstream recipients. "Knowingly relying"
|
||||||
|
means you have actual knowledge that, but for the patent license, your conveying
|
||||||
|
the covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that country
|
||||||
|
that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or arrangement,
|
||||||
|
you convey, or propagate by procuring conveyance of, a covered work, and grant
|
||||||
|
a patent license to some of the parties receiving the covered work authorizing
|
||||||
|
them to use, propagate, modify or convey a specific copy of the covered work,
|
||||||
|
then the patent license you grant is automatically extended to all recipients
|
||||||
|
of the covered work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within the scope
|
||||||
|
of its coverage, prohibits the exercise of, or is conditioned on the non-exercise
|
||||||
|
of one or more of the rights that are specifically granted under this License.
|
||||||
|
You may not convey a covered work if you are a party to an arrangement with
|
||||||
|
a third party that is in the business of distributing software, under which
|
||||||
|
you make payment to the third party based on the extent of your activity of
|
||||||
|
conveying the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory patent
|
||||||
|
license (a) in connection with copies of the covered work conveyed by you
|
||||||
|
(or copies made from those copies), or (b) primarily for and in connection
|
||||||
|
with specific products or compilations that contain the covered work, unless
|
||||||
|
you entered into that arrangement, or that patent license was granted, prior
|
||||||
|
to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting any implied
|
||||||
|
license or other defenses to infringement that may otherwise be available
|
||||||
|
to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or otherwise)
|
||||||
|
that contradict the conditions of this License, they do not excuse you from
|
||||||
|
the conditions of this License. If you cannot convey a covered work so as
|
||||||
|
to satisfy simultaneously your obligations under this License and any other
|
||||||
|
pertinent obligations, then as a consequence you may not convey it at all.
|
||||||
|
For example, if you agree to terms that obligate you to collect a royalty
|
||||||
|
for further conveying from those to whom you convey the Program, the only
|
||||||
|
way you could satisfy both those terms and this License would be to refrain
|
||||||
|
entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have permission to
|
||||||
|
link or combine any covered work with a work licensed under version 3 of the
|
||||||
|
GNU Affero General Public License into a single combined work, and to convey
|
||||||
|
the resulting work. The terms of this License will continue to apply to the
|
||||||
|
part which is the covered work, but the special requirements of the GNU Affero
|
||||||
|
General Public License, section 13, concerning interaction through a network
|
||||||
|
will apply to the combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of the
|
||||||
|
GNU General Public License from time to time. Such new versions will be similar
|
||||||
|
in spirit to the present version, but may differ in detail to address new
|
||||||
|
problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program specifies
|
||||||
|
that a certain numbered version of the GNU General Public License "or any
|
||||||
|
later version" applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that numbered version or of any later version published
|
||||||
|
by the Free Software Foundation. If the Program does not specify a version
|
||||||
|
number of the GNU General Public License, you may choose any version ever
|
||||||
|
published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future versions of
|
||||||
|
the GNU General Public License can be used, that proxy's public statement
|
||||||
|
of acceptance of a version permanently authorizes you to choose that version
|
||||||
|
for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different permissions. However,
|
||||||
|
no additional obligations are imposed on any author or copyright holder as
|
||||||
|
a result of your choosing to follow a later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
|
||||||
|
LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||||
|
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||||
|
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
|
||||||
|
PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
|
||||||
|
CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
|
||||||
|
ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM
|
||||||
|
AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
|
||||||
|
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
|
||||||
|
USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
|
||||||
|
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
|
||||||
|
PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER
|
||||||
|
PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided above cannot
|
||||||
|
be given local legal effect according to their terms, reviewing courts shall
|
||||||
|
apply local law that most closely approximates an absolute waiver of all civil
|
||||||
|
liability in connection with the Program, unless a warranty or assumption
|
||||||
|
of liability accompanies a copy of the Program in return for a fee. END OF
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest possible
|
||||||
|
use to the public, the best way to achieve this is to make it free software
|
||||||
|
which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest to attach
|
||||||
|
them to the start of each source file to most effectively state the exclusion
|
||||||
|
of warranty; and each file should have at least the "copyright" line and a
|
||||||
|
pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short notice like
|
||||||
|
this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
|
||||||
|
This is free software, and you are welcome to redistribute it under certain
|
||||||
|
conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands might
|
||||||
|
be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary. For
|
||||||
|
more information on this, and how to apply and follow the GNU GPL, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General Public
|
||||||
|
License instead of this License. But first, please read <https://www.gnu.org/
|
||||||
|
licenses /why-not-lgpl.html>.
|
14
LICENSES/ISC.txt
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
ISC License Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
|
||||||
|
|
||||||
|
Copyright (c) 1995-2003 by Internet Software Consortium
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and /or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above copyright
|
||||||
|
notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD
|
||||||
|
TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
|
||||||
|
IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||||
|
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
|
||||||
|
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
19
LICENSES/MIT.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
MIT License Copyright (c) <year> <copyright holders>
|
||||||
|
|
||||||
|
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 (including the next
|
||||||
|
paragraph) 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.
|
24
LICENSES/X11.txt
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
X11 License Copyright (C) 1996 X Consortium
|
||||||
|
|
||||||
|
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 X CONSORTIUM
|
||||||
|
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.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of the X Consortium shall not
|
||||||
|
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||||
|
in this Software without prior written authorization from the X Consortium.
|
||||||
|
|
||||||
|
X Window System is a trademark of X Consortium, Inc.
|
12
MAINTAINERS
@@ -135,7 +135,6 @@ Maintainers List (try to look for most precise areas first)
|
|||||||
|
|
||||||
RISC-V ARCHITECTURE
|
RISC-V ARCHITECTURE
|
||||||
M: Ronald Minnich <rminnich@gmail.com>
|
M: Ronald Minnich <rminnich@gmail.com>
|
||||||
M: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
|
|
||||||
R: Philipp Hug <philipp@hug.cx>
|
R: Philipp Hug <philipp@hug.cx>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: src/arch/riscv/
|
F: src/arch/riscv/
|
||||||
@@ -392,12 +391,23 @@ M: Tristan Corrick <tristan@corrick.kiwi>
|
|||||||
S: Maintained
|
S: Maintained
|
||||||
F: src/mainboard/supermicro/x10slm-f/
|
F: src/mainboard/supermicro/x10slm-f/
|
||||||
|
|
||||||
|
SUPERMICRO X11-LGA1151-SERIES
|
||||||
|
M: Michael Niewöhner <foss@mniewoehner.de>
|
||||||
|
S: Maintained
|
||||||
|
F: src/mainboard/supermicro/x11-lga1151-series
|
||||||
|
|
||||||
FACEBOOK FBG1701 MAINBOARD
|
FACEBOOK FBG1701 MAINBOARD
|
||||||
M: Frans Hendriks <fhendriks@eltan.com>
|
M: Frans Hendriks <fhendriks@eltan.com>
|
||||||
M: Wim Vervoorn <wvervoorn@eltan.com>
|
M: Wim Vervoorn <wvervoorn@eltan.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: src/mainboard/facebook/fbg1701/
|
F: src/mainboard/facebook/fbg1701/
|
||||||
|
|
||||||
|
PORTWELL PQ-M107 MAINBOARD
|
||||||
|
M: Frans Hendriks <fhendriks@eltan.com>
|
||||||
|
M: Wim Vervoorn <wvervoorn@eltan.com>
|
||||||
|
S: Maintained
|
||||||
|
F: src/mainboard/portwell/m107/
|
||||||
|
|
||||||
AMD FAMILY10H & FAMILY15H (NON-AGESA) CPUS & NORTHBRIDGE
|
AMD FAMILY10H & FAMILY15H (NON-AGESA) CPUS & NORTHBRIDGE
|
||||||
M: Timothy Pearson <tpearson@raptorengineeringinc.com>
|
M: Timothy Pearson <tpearson@raptorengineeringinc.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
|
30
Makefile
@@ -30,6 +30,9 @@
|
|||||||
## SUCH DAMAGE.
|
## SUCH DAMAGE.
|
||||||
##
|
##
|
||||||
|
|
||||||
|
ifneq ($(words $(CURDIR)),1)
|
||||||
|
$(error Error: Path to the main directory cannot contain spaces)
|
||||||
|
endif
|
||||||
top := $(CURDIR)
|
top := $(CURDIR)
|
||||||
src := src
|
src := src
|
||||||
srck := $(top)/util/kconfig
|
srck := $(top)/util/kconfig
|
||||||
@@ -42,6 +45,12 @@ absobj := $(abspath $(obj))
|
|||||||
COREBOOT_EXPORTS := COREBOOT_EXPORTS
|
COREBOOT_EXPORTS := COREBOOT_EXPORTS
|
||||||
COREBOOT_EXPORTS += top src srck obj objutil objk
|
COREBOOT_EXPORTS += top src srck obj objutil objk
|
||||||
|
|
||||||
|
# reproducible builds
|
||||||
|
LANG:=C
|
||||||
|
LC_ALL:=C
|
||||||
|
TZ:=UTC0
|
||||||
|
COREBOOT_EXPORTS += LANG LC_ALL TZ
|
||||||
|
|
||||||
DOTCONFIG ?= $(top)/.config
|
DOTCONFIG ?= $(top)/.config
|
||||||
KCONFIG_CONFIG = $(DOTCONFIG)
|
KCONFIG_CONFIG = $(DOTCONFIG)
|
||||||
KCONFIG_AUTOADS := $(obj)/cb-config.ads
|
KCONFIG_AUTOADS := $(obj)/cb-config.ads
|
||||||
@@ -124,17 +133,22 @@ ifneq ($(MAKECMDGOALS),)
|
|||||||
ifneq ($(filter %config %clean cross% clang iasl gnumake lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
|
ifneq ($(filter %config %clean cross% clang iasl gnumake lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
|
||||||
NOCOMPILE:=1
|
NOCOMPILE:=1
|
||||||
endif
|
endif
|
||||||
ifeq ($(MAKECMDGOALS), %clean)
|
ifneq ($(filter %clean lint% help% what-jenkins-does,$(MAKECMDGOALS)),)
|
||||||
NOMKDIR:=1
|
NOMKDIR:=1
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
-include $(TOPLEVEL)/site-local/Makefile.inc
|
.xcompile: util/xcompile/xcompile
|
||||||
|
rm -f $@
|
||||||
|
$< $(XGCCPATH) > $@.tmp
|
||||||
|
\mv -f $@.tmp $@ 2> /dev/null
|
||||||
|
rm -f $@.tmp
|
||||||
|
|
||||||
ifeq ($(NOCOMPILE),1)
|
ifeq ($(NOCOMPILE),1)
|
||||||
include $(TOPLEVEL)/Makefile.inc
|
include $(TOPLEVEL)/Makefile.inc
|
||||||
include $(TOPLEVEL)/payloads/Makefile.inc
|
include $(TOPLEVEL)/payloads/Makefile.inc
|
||||||
include $(TOPLEVEL)/util/testing/Makefile.inc
|
include $(TOPLEVEL)/util/testing/Makefile.inc
|
||||||
|
-include $(TOPLEVEL)/site-local/Makefile.inc
|
||||||
real-all:
|
real-all:
|
||||||
@echo "Error: Expected config file ($(DOTCONFIG)) not present." >&2
|
@echo "Error: Expected config file ($(DOTCONFIG)) not present." >&2
|
||||||
@echo "Please specify a config file or run 'make menuconfig' to" >&2
|
@echo "Please specify a config file or run 'make menuconfig' to" >&2
|
||||||
@@ -148,12 +162,6 @@ include $(DOTCONFIG)
|
|||||||
# to silence stupid warnings about a file that would be generated anyway.
|
# to silence stupid warnings about a file that would be generated anyway.
|
||||||
$(if $(wildcard .xcompile)$(NOCOMPILE),,$(eval $(shell util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))
|
$(if $(wildcard .xcompile)$(NOCOMPILE),,$(eval $(shell util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))
|
||||||
|
|
||||||
.xcompile: util/xcompile/xcompile
|
|
||||||
rm -f $@
|
|
||||||
$< $(XGCCPATH) > $@.tmp
|
|
||||||
\mv -f $@.tmp $@ 2> /dev/null
|
|
||||||
rm -f $@.tmp
|
|
||||||
|
|
||||||
-include .xcompile
|
-include .xcompile
|
||||||
|
|
||||||
ifneq ($(XCOMPILE_COMPLETE),1)
|
ifneq ($(XCOMPILE_COMPLETE),1)
|
||||||
@@ -186,7 +194,7 @@ $(KCONFIG_AUTOHEADER): $(KCONFIG_CONFIG) $(objutil)/kconfig/conf
|
|||||||
$(KCONFIG_AUTOCONFIG): $(KCONFIG_AUTOHEADER)
|
$(KCONFIG_AUTOCONFIG): $(KCONFIG_AUTOHEADER)
|
||||||
true
|
true
|
||||||
|
|
||||||
$(KCONFIG_AUTOADS): $(KCONFIG_AUTOCONFIG) $(objutil)/kconfig/toada
|
$(KCONFIG_AUTOADS): $(KCONFIG_CONFIG) $(KCONFIG_AUTOHEADER) $(objutil)/kconfig/toada
|
||||||
$(objutil)/kconfig/toada CB.Config <$< >$@
|
$(objutil)/kconfig/toada CB.Config <$< >$@
|
||||||
|
|
||||||
$(obj)/%/$(notdir $(KCONFIG_AUTOADS)): $(KCONFIG_AUTOADS)
|
$(obj)/%/$(notdir $(KCONFIG_AUTOADS)): $(KCONFIG_AUTOADS)
|
||||||
@@ -244,13 +252,13 @@ includemakefiles= \
|
|||||||
$(foreach class,classes subdirs $(classes) $(special-classes), $(eval $(class)-y:=)) \
|
$(foreach class,classes subdirs $(classes) $(special-classes), $(eval $(class)-y:=)) \
|
||||||
$(eval -include $(1)) \
|
$(eval -include $(1)) \
|
||||||
$(foreach class,$(classes-y), $(call add-class,$(class))) \
|
$(foreach class,$(classes-y), $(call add-class,$(class))) \
|
||||||
|
$(foreach special,$(special-classes), \
|
||||||
|
$(foreach item,$($(special)-y), $(call $(special)-handler,$(dir $(1)),$(item)))) \
|
||||||
$(foreach class,$(classes), \
|
$(foreach class,$(classes), \
|
||||||
$(eval $(class)-srcs+= \
|
$(eval $(class)-srcs+= \
|
||||||
$$(subst $(absobj)/,$(obj)/, \
|
$$(subst $(absobj)/,$(obj)/, \
|
||||||
$$(subst $(top)/,, \
|
$$(subst $(top)/,, \
|
||||||
$$(abspath $$(subst $(dir $(1))/,/,$$(addprefix $(dir $(1)),$$($(class)-y)))))))) \
|
$$(abspath $$(subst $(dir $(1))/,/,$$(addprefix $(dir $(1)),$$($(class)-y)))))))) \
|
||||||
$(foreach special,$(special-classes), \
|
|
||||||
$(foreach item,$($(special)-y), $(call $(special)-handler,$(dir $(1)),$(item)))) \
|
|
||||||
$(eval subdirs+=$$(subst $(CURDIR)/,,$$(wildcard $$(abspath $$(addprefix $(dir $(1)),$$(subdirs-y))))))
|
$(eval subdirs+=$$(subst $(CURDIR)/,,$$(wildcard $$(abspath $$(addprefix $(dir $(1)),$$(subdirs-y))))))
|
||||||
|
|
||||||
# For each path in $(subdirs) call includemakefiles
|
# For each path in $(subdirs) call includemakefiles
|
||||||
|
55
Makefile.inc
@@ -93,7 +93,7 @@ subdirs-y += $(wildcard src/soc/*/*) $(wildcard src/northbridge/*/*)
|
|||||||
subdirs-y += src/superio
|
subdirs-y += src/superio
|
||||||
subdirs-y += $(wildcard src/drivers/*) $(wildcard src/drivers/*/*)
|
subdirs-y += $(wildcard src/drivers/*) $(wildcard src/drivers/*/*)
|
||||||
subdirs-y += src/cpu src/vendorcode
|
subdirs-y += src/cpu src/vendorcode
|
||||||
subdirs-y += util/cbfstool util/sconfig util/nvramtool
|
subdirs-y += util/cbfstool util/sconfig util/nvramtool util/pgtblgen
|
||||||
subdirs-y += util/futility util/marvell util/bincfg
|
subdirs-y += util/futility util/marvell util/bincfg
|
||||||
subdirs-y += $(wildcard src/arch/*)
|
subdirs-y += $(wildcard src/arch/*)
|
||||||
subdirs-y += src/mainboard/$(MAINBOARDDIR)
|
subdirs-y += src/mainboard/$(MAINBOARDDIR)
|
||||||
@@ -107,6 +107,10 @@ subdirs-y += util/checklist util/testing
|
|||||||
# Add source classes and their build options
|
# Add source classes and their build options
|
||||||
classes-y := ramstage romstage bootblock decompressor postcar smm smmstub cpu_microcode verstage
|
classes-y := ramstage romstage bootblock decompressor postcar smm smmstub cpu_microcode verstage
|
||||||
|
|
||||||
|
# Add a special 'all' class to add sources to all stages
|
||||||
|
$(call add-special-class,all)
|
||||||
|
all-handler = $(foreach class,bootblock verstage romstage postcar ramstage,$(eval $(class)-y += $(2)))
|
||||||
|
|
||||||
# Add dynamic classes for rmodules
|
# Add dynamic classes for rmodules
|
||||||
$(foreach supported_arch,$(ARCH_SUPPORTED), \
|
$(foreach supported_arch,$(ARCH_SUPPORTED), \
|
||||||
$(eval $(call define_class,rmodules_$(supported_arch),$(supported_arch))))
|
$(eval $(call define_class,rmodules_$(supported_arch),$(supported_arch))))
|
||||||
@@ -193,15 +197,16 @@ ifneq ($(UPDATED_SUBMODULES),1)
|
|||||||
# try to fetch non-optional submodules if the source is under git
|
# try to fetch non-optional submodules if the source is under git
|
||||||
forgetthis:=$(if $(GIT),$(shell git submodule update --init))
|
forgetthis:=$(if $(GIT),$(shell git submodule update --init))
|
||||||
ifeq ($(CONFIG_USE_BLOBS),y)
|
ifeq ($(CONFIG_USE_BLOBS),y)
|
||||||
# this is necessary because 3rdparty/{blobs,intel-microcode} is update=none, and so is ignored
|
# These items are necessary because each has update=none in .gitmodules. They are ignored
|
||||||
# unless explicitly requested and enabled through --checkout
|
# until expressly requested and enabled with --checkout
|
||||||
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/blobs))
|
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/blobs))
|
||||||
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/intel-microcode))
|
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/intel-microcode))
|
||||||
ifeq ($(CONFIG_PLATFORM_USES_FSP1_0)$(CONFIG_PLATFORM_USES_FSP1_1)$(CONFIG_PLATFORM_USES_FSP2_0),y)
|
ifeq ($(CONFIG_PLATFORM_USES_FSP1_0)$(CONFIG_PLATFORM_USES_FSP1_1)$(CONFIG_PLATFORM_USES_FSP2_0),y)
|
||||||
# this is necessary because 3rdparty/fsp is update=none, and so is ignored
|
|
||||||
# unless explicitly requested and enabled through --checkout
|
|
||||||
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/fsp))
|
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/fsp))
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(CONFIG_USE_AMD_BLOBS),y)
|
||||||
|
forgetthis:=$(if $(GIT),$(shell git submodule update --init --checkout 3rdparty/amd_blobs))
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
UPDATED_SUBMODULES:=1
|
UPDATED_SUBMODULES:=1
|
||||||
COREBOOT_EXPORTS += UPDATED_SUBMODULES
|
COREBOOT_EXPORTS += UPDATED_SUBMODULES
|
||||||
@@ -221,7 +226,7 @@ $(foreach type,ads adb, \
|
|||||||
# Add handler to copy linker scripts
|
# Add handler to copy linker scripts
|
||||||
define generic-objs_ld_template_gen
|
define generic-objs_ld_template_gen
|
||||||
de$(EMPTY)fine $(1)-objs_ld_template
|
de$(EMPTY)fine $(1)-objs_ld_template
|
||||||
$$(call src-to-obj,$1,$$(1).ld): $$(1).ld $(obj)/config.h
|
$$(call src-to-obj,$1,$$(1).ld): $$(1).ld $(obj)/config.h $(obj)/fmap_config.h
|
||||||
@printf " CP $$$$(subst $$$$(obj)/,,$$$$(@))\n"
|
@printf " CP $$$$(subst $$$$(obj)/,,$$$$(@))\n"
|
||||||
$$(CC_$(1)) -MMD $$(CPPFLAGS_$(1)) $$($(1)-ld-ccopts) $(PREPROCESS_ONLY) -include $(obj)/config.h -MT $$$$@ -o $$$$@ $$$$<
|
$$(CC_$(1)) -MMD $$(CPPFLAGS_$(1)) $$($(1)-ld-ccopts) $(PREPROCESS_ONLY) -include $(obj)/config.h -MT $$$$@ -o $$$$@ $$$$<
|
||||||
en$(EMPTY)def
|
en$(EMPTY)def
|
||||||
@@ -253,7 +258,10 @@ endef
|
|||||||
# ResourceTemplate is the correct code.
|
# ResourceTemplate is the correct code.
|
||||||
# As it's valid ASL, disable the warning.
|
# As it's valid ASL, disable the warning.
|
||||||
EMPTY_RESOURCE_TEMPLATE_WARNING = 3150
|
EMPTY_RESOURCE_TEMPLATE_WARNING = 3150
|
||||||
IGNORED_IASL_WARNINGS = -vw $(EMPTY_RESOURCE_TEMPLATE_WARNING)
|
# Redundant offset remarks are not useful in any way and are masking useful
|
||||||
|
# ones that might indicate an issue so it is better to hide them.
|
||||||
|
REDUNDANT_OFFSET_REMARK = 2158
|
||||||
|
IGNORED_IASL_WARNINGS = -vw $(EMPTY_RESOURCE_TEMPLATE_WARNING) -vw $(REDUNDANT_OFFSET_REMARK)
|
||||||
|
|
||||||
define asl_template
|
define asl_template
|
||||||
$(CONFIG_CBFS_PREFIX)/$(1).aml-file = $(obj)/$(1).aml
|
$(CONFIG_CBFS_PREFIX)/$(1).aml-file = $(obj)/$(1).aml
|
||||||
@@ -402,7 +410,7 @@ endif
|
|||||||
CFLAGS_common += -pipe -g -nostdinc -std=gnu11
|
CFLAGS_common += -pipe -g -nostdinc -std=gnu11
|
||||||
CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
|
CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
|
||||||
CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough
|
CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs -Wimplicit-fallthrough
|
||||||
CFLAGS_common += -Wstrict-aliasing -Wshadow -Wdate-time -Wtype-limits
|
CFLAGS_common += -Wstrict-aliasing -Wshadow -Wdate-time -Wtype-limits -Wvla
|
||||||
CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
|
CFLAGS_common += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
|
||||||
CFLAGS_common += -ffunction-sections -fdata-sections -fno-pie
|
CFLAGS_common += -ffunction-sections -fdata-sections -fno-pie
|
||||||
ifeq ($(CONFIG_COMPILER_GCC),y)
|
ifeq ($(CONFIG_COMPILER_GCC),y)
|
||||||
@@ -411,6 +419,7 @@ CFLAGS_common += -fno-delete-null-pointer-checks
|
|||||||
ifeq ($(CCC_ANALYZER_OUTPUT_FORMAT),)
|
ifeq ($(CCC_ANALYZER_OUTPUT_FORMAT),)
|
||||||
CFLAGS_common += -Wno-packed-not-aligned
|
CFLAGS_common += -Wno-packed-not-aligned
|
||||||
CFLAGS_common += -fconserve-stack
|
CFLAGS_common += -fconserve-stack
|
||||||
|
CFLAGS_common += -Wnull-dereference -Wreturn-type
|
||||||
# cf. commit f69a99db (coreboot: x86: enable gc-sections)
|
# cf. commit f69a99db (coreboot: x86: enable gc-sections)
|
||||||
CFLAGS_common += -Wno-unused-but-set-variable
|
CFLAGS_common += -Wno-unused-but-set-variable
|
||||||
endif
|
endif
|
||||||
@@ -497,14 +506,14 @@ build_h_exports := BUILD_TIMELESS KERNELVERSION COREBOOT_EXTRA_VERSION
|
|||||||
# Report new `build.ht` as dependency if `build.h` differs.
|
# Report new `build.ht` as dependency if `build.h` differs.
|
||||||
build_h_check := \
|
build_h_check := \
|
||||||
export $(foreach exp,$(build_h_exports),$(exp)="$($(exp))"); \
|
export $(foreach exp,$(build_h_exports),$(exp)="$($(exp))"); \
|
||||||
util/genbuild_h/genbuild_h.sh >$(build_h)t 2>/dev/null; \
|
util/genbuild_h/genbuild_h.sh .xcompile >$(build_h)t 2>/dev/null; \
|
||||||
cmp -s $(build_h)t $(build_h) >/dev/null 2>&1 || echo $(build_h)t
|
cmp -s $(build_h)t $(build_h) >/dev/null 2>&1 || echo $(build_h)t
|
||||||
|
|
||||||
$(build_h): $$(shell $$(build_h_check))
|
$(build_h): $$(shell $$(build_h_check))
|
||||||
@printf " GEN build.h\n"
|
@printf " GEN build.h\n"
|
||||||
mv $< $@
|
mv $< $@
|
||||||
|
|
||||||
build-dirs:
|
build-dirs $(objcbfs) $(objgenerated):
|
||||||
mkdir -p $(objcbfs) $(objgenerated)
|
mkdir -p $(objcbfs) $(objgenerated)
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
@@ -591,11 +600,12 @@ OVERRIDE_DEVICETREE_FILE := $(src)/mainboard/$(MAINBOARDDIR)/$(CONFIG_OVERRIDE_D
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
DEVICETREE_STATIC_C := $(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
DEVICETREE_STATIC_C := $(obj)/mainboard/$(MAINBOARDDIR)/static.c
|
||||||
|
DEVICETREE_STATIC_H := $(obj)/static.h
|
||||||
|
|
||||||
$(DEVICETREE_STATIC_C): $(DEVICETREE_FILE) $(OVERRIDE_DEVICETREE_FILE) $(objutil)/sconfig/sconfig
|
$(DEVICETREE_STATIC_C): $(DEVICETREE_FILE) $(OVERRIDE_DEVICETREE_FILE) $(objutil)/sconfig/sconfig
|
||||||
@printf " SCONFIG $(subst $(src)/,,$(<))\n"
|
@printf " SCONFIG $(subst $(src)/,,$(<))\n"
|
||||||
mkdir -p $(dir $(DEVICETREE_STATIC_C))
|
mkdir -p $(dir $(DEVICETREE_STATIC_C))
|
||||||
$(objutil)/sconfig/sconfig $(DEVICETREE_FILE) $(DEVICETREE_STATIC_C) $(OVERRIDE_DEVICETREE_FILE)
|
$(objutil)/sconfig/sconfig $(DEVICETREE_FILE) $(DEVICETREE_STATIC_C) $(DEVICETREE_STATIC_H) $(OVERRIDE_DEVICETREE_FILE)
|
||||||
|
|
||||||
ramstage-y+=$(DEVICETREE_STATIC_C)
|
ramstage-y+=$(DEVICETREE_STATIC_C)
|
||||||
romstage-y+=$(DEVICETREE_STATIC_C)
|
romstage-y+=$(DEVICETREE_STATIC_C)
|
||||||
@@ -646,7 +656,7 @@ install-git-commit-clangfmt:
|
|||||||
include util/crossgcc/Makefile.inc
|
include util/crossgcc/Makefile.inc
|
||||||
|
|
||||||
.PHONY: tools
|
.PHONY: tools
|
||||||
tools: $(objutil)/kconfig/conf $(CBFSTOOL) $(objutil)/cbfstool/cbfs-compression-tool $(FMAPTOOL) $(RMODTOOL) $(IFWITOOL) $(objutil)/nvramtool/nvramtool $(ROMCC_BIN) $(objutil)/sconfig/sconfig $(IFDTOOL) $(CBOOTIMAGE) $(AMDFWTOOL) $(AMDCOMPRESS) $(FUTILITY) $(BINCFG) $(IFITTOOL)
|
tools: $(objutil)/kconfig/conf $(objutil)/kconfig/toada $(CBFSTOOL) $(objutil)/cbfstool/cbfs-compression-tool $(FMAPTOOL) $(RMODTOOL) $(IFWITOOL) $(objutil)/nvramtool/nvramtool $(ROMCC_BIN) $(objutil)/sconfig/sconfig $(IFDTOOL) $(CBOOTIMAGE) $(AMDFWTOOL) $(AMDCOMPRESS) $(FUTILITY) $(BINCFG) $(IFITTOOL)
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# Common recipes for all stages
|
# Common recipes for all stages
|
||||||
@@ -677,6 +687,18 @@ find-class = $(if $(filter $(1),$(basename $(1))),$(if $(CC_$(1)), $(1), $(call
|
|||||||
# the linker marked it NOBITS automatically because there are only zeroes in it.
|
# the linker marked it NOBITS automatically because there are only zeroes in it.
|
||||||
preserve-bss-flags := --set-section-flags .bss=load,alloc,data --set-section-flags .data=load,alloc,data
|
preserve-bss-flags := --set-section-flags .bss=load,alloc,data --set-section-flags .data=load,alloc,data
|
||||||
|
|
||||||
|
# For Intel TXT files in the CBFS needs to be marked as 'Initial Boot Block'.
|
||||||
|
# As CBFS attributes aren't cheap, only mark them if TXT is enabled.
|
||||||
|
ifeq ($(CONFIG_INTEL_TXT),y)
|
||||||
|
|
||||||
|
TXTIBB := --ibb
|
||||||
|
|
||||||
|
else
|
||||||
|
|
||||||
|
TXTIBB :=
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_COMPRESS_BOOTBLOCK),y)
|
ifeq ($(CONFIG_COMPRESS_BOOTBLOCK),y)
|
||||||
|
|
||||||
$(objcbfs)/bootblock.lz4: $(objcbfs)/bootblock.elf $(objutil)/cbfstool/cbfs-compression-tool
|
$(objcbfs)/bootblock.lz4: $(objcbfs)/bootblock.elf $(objutil)/cbfstool/cbfs-compression-tool
|
||||||
@@ -705,6 +727,11 @@ $(objcbfs)/bootblock.raw.bin: $(objcbfs)/bootblock.raw.elf
|
|||||||
@printf " OBJCOPY $(notdir $(@))\n"
|
@printf " OBJCOPY $(notdir $(@))\n"
|
||||||
$(OBJCOPY_bootblock) -O binary $< $@
|
$(OBJCOPY_bootblock) -O binary $< $@
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_HAVE_BOOTBLOCK),y)
|
||||||
|
$(objcbfs)/bootblock.bin: $(objcbfs)
|
||||||
|
dd if=/dev/zero of=$@ bs=64 count=1
|
||||||
|
endif
|
||||||
|
|
||||||
$(objcbfs)/%.bin: $(objcbfs)/%.raw.bin
|
$(objcbfs)/%.bin: $(objcbfs)/%.raw.bin
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
@@ -1025,6 +1052,7 @@ ifeq ($(CONFIG_ARCH_X86),y)
|
|||||||
-f $(objcbfs)/bootblock.bin \
|
-f $(objcbfs)/bootblock.bin \
|
||||||
-n bootblock \
|
-n bootblock \
|
||||||
-t bootblock \
|
-t bootblock \
|
||||||
|
$(TXTIBB) \
|
||||||
-b -$(call file-size,$(objcbfs)/bootblock.bin) $(cbfs-autogen-attributes) \
|
-b -$(call file-size,$(objcbfs)/bootblock.bin) $(cbfs-autogen-attributes) \
|
||||||
$(TS_OPTIONS)
|
$(TS_OPTIONS)
|
||||||
else # ifeq ($(CONFIG_ARCH_X86),y)
|
else # ifeq ($(CONFIG_ARCH_X86),y)
|
||||||
@@ -1162,6 +1190,9 @@ endif # CONFIG_NO_FIXED_XIP_ROM_SIZE
|
|||||||
|
|
||||||
endif # CONFIG_NO_XIP_EARLY_STAGES
|
endif # CONFIG_NO_XIP_EARLY_STAGES
|
||||||
endif # CONFIG_ARCH_ROMSTAGE_X86_32 / CONFIG_ARCH_ROMSTAGE_X86_64
|
endif # CONFIG_ARCH_ROMSTAGE_X86_32 / CONFIG_ARCH_ROMSTAGE_X86_64
|
||||||
|
ifeq ($(CONFIG_VBOOT_STARTS_IN_ROMSTAGE),y)
|
||||||
|
$(CONFIG_CBFS_PREFIX)/romstage-options += $(TXTIBB)
|
||||||
|
endif
|
||||||
|
|
||||||
cbfs-files-$(CONFIG_HAVE_RAMSTAGE) += $(CONFIG_CBFS_PREFIX)/ramstage
|
cbfs-files-$(CONFIG_HAVE_RAMSTAGE) += $(CONFIG_CBFS_PREFIX)/ramstage
|
||||||
$(CONFIG_CBFS_PREFIX)/ramstage-file := $(RAMSTAGE)
|
$(CONFIG_CBFS_PREFIX)/ramstage-file := $(RAMSTAGE)
|
||||||
|
@@ -34,7 +34,6 @@ coreboot supports a wide range of chipsets, devices, and mainboards.
|
|||||||
For details please consult:
|
For details please consult:
|
||||||
|
|
||||||
* <https://www.coreboot.org/Supported_Motherboards>
|
* <https://www.coreboot.org/Supported_Motherboards>
|
||||||
* <https://www.coreboot.org/Supported_Chipsets_and_Devices>
|
|
||||||
|
|
||||||
|
|
||||||
Build Requirements
|
Build Requirements
|
||||||
|
2
configs/config.emulation_qemu_riscv_rv64
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CONFIG_BOARD_EMULATION_QEMU_RISCV_RV64=y
|
||||||
|
CONFIG_RISCV_OPENSBI=y
|
@@ -4,7 +4,6 @@ CONFIG_FATAL_ASSERTS=y
|
|||||||
CONFIG_DEBUG_CBFS=y
|
CONFIG_DEBUG_CBFS=y
|
||||||
CONFIG_DEBUG_PIRQ=y
|
CONFIG_DEBUG_PIRQ=y
|
||||||
CONFIG_DEBUG_MALLOC=y
|
CONFIG_DEBUG_MALLOC=y
|
||||||
CONFIG_DEBUG_ACPI=y
|
|
||||||
CONFIG_TRACE=y
|
CONFIG_TRACE=y
|
||||||
CONFIG_DEBUG_BOOT_STATE=y
|
CONFIG_DEBUG_BOOT_STATE=y
|
||||||
CONFIG_DEBUG_ADA_CODE=y
|
CONFIG_DEBUG_ADA_CODE=y
|
||||||
|
@@ -4,3 +4,5 @@ CONFIG_COLLECT_TIMESTAMPS=y
|
|||||||
CONFIG_CONSOLE_POST=y
|
CONFIG_CONSOLE_POST=y
|
||||||
CONFIG_LINEAR_FRAMEBUFFER=y
|
CONFIG_LINEAR_FRAMEBUFFER=y
|
||||||
# CONFIG_CONSOLE_SERIAL is not set
|
# CONFIG_CONSOLE_SERIAL is not set
|
||||||
|
CONFIG_BOOTSPLASH=y
|
||||||
|
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||||
|
12
configs/config.facebook_fbg1701
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
CONFIG_VENDOR_FACEBOOK=y
|
||||||
|
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x6000
|
||||||
|
CONFIG_ONBOARD_SAMSUNG_MEM=y
|
||||||
|
CONFIG_CPU_MICROCODE_CBFS_LOC=0xFFF8B000
|
||||||
|
CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS=y
|
||||||
|
CONFIG_CPU_UCODE_BINARIES="3rdparty/intel-microcode/intel-ucode/06-4c-04"
|
||||||
|
CONFIG_VENDORCODE_ELTAN_MBOOT=y
|
||||||
|
CONFIG_VENDORCODE_ELTAN_VBOOT=y
|
||||||
|
CONFIG_VENDORCODE_ELTAN_VBOOT_KEY_FILE="3rdparty/vboot/tests/devkeys-acc/key_hadoken.vbpubk2"
|
||||||
|
CONFIG_RUN_FSP_GOP=y
|
||||||
|
CONFIG_DISPLAY_HOBS=y
|
||||||
|
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
|