Compare commits
4283 Commits
Author | SHA1 | Date | |
---|---|---|---|
465fbbe93e | |||
cbbdaf4524 | |||
a5353a9408 | |||
f61b12d853 | |||
4afa8defc9 | |||
b2f2b53fb2 | |||
d1c61a8e70 | |||
0e1f08d1fb | |||
6f6353d570 | |||
d5c1e13304 | |||
946d17a2a5 | |||
b233bd70c2 | |||
f5fe5878ad | |||
5c1c7b6904 | |||
096e04c935 | |||
ece06dc2d1 | |||
ab368d96d7 | |||
23d4614d8a | |||
909829e304 | |||
3707400f80 | |||
21af6b4431 | |||
b8a0e64d78 | |||
56a3442dd8 | |||
525154d16e | |||
a4eba7f09f | |||
8203752e89 | |||
2323282778 | |||
625066e4f4 | |||
f0a8b042c9 | |||
3d19aa9ce8 | |||
39a98260ff | |||
bba14fe497 | |||
1443137d5c | |||
9781411719 | |||
a66b469107 | |||
8d7eff32af | |||
3c2fa3519c | |||
e9d9c1e898 | |||
94efac50ef | |||
cef0e0ad6f | |||
4ffce7e8ac | |||
bd429063d9 | |||
a9737abf78 | |||
7d6362d56b | |||
c391bff443 | |||
0a2c9d7913 | |||
7fd71e6fc4 | |||
851236704e | |||
ed59e972f0 | |||
eabae5a681 | |||
830be4d3ea | |||
73e6318ec7 | |||
e0b1406276 | |||
b3907c74d5 | |||
bdec0ea2cf | |||
b757a67ae1 | |||
a4298bc3f8 | |||
b775d9e4b8 | |||
e9f4e56435 | |||
bc602b856d | |||
b327425420 | |||
b20f8bd747 | |||
316e2f469a | |||
25afb94b6b | |||
6695be65f3 | |||
5a82f0d3a9 | |||
5d71a5aabb | |||
3b56cffa8a | |||
8bf53c0162 | |||
8cc0faaf64 | |||
9366f6f0f2 | |||
739f935592 | |||
8c53e6a053 | |||
f3027b809c | |||
3e304e5257 | |||
7ad8b0987a | |||
08706a3ad0 | |||
79dbc9eefc | |||
b045135524 | |||
a44affd550 | |||
88ade91073 | |||
8d1051f4aa | |||
b07209ff88 | |||
31e0aeb747 | |||
d4a7dceaa5 | |||
85556ac1dc | |||
5cd548b773 | |||
4e5779e124 | |||
5b686d1035 | |||
396201c1ef | |||
15e7499cdd | |||
20d658e53c | |||
383c4e7530 | |||
c3ca8ed092 | |||
83faa5d804 | |||
923b8ec180 | |||
0be8ac547c | |||
e599d43633 | |||
e361864e9f | |||
9641c0e102 | |||
effc28f23e | |||
3f5d81783a | |||
0b37036155 | |||
78f8343c70 | |||
e12b313844 | |||
d6e0a90aa0 | |||
a23ec07967 | |||
f7bc25f1bc | |||
2d4112f76b | |||
98bb790286 | |||
dc4989351f | |||
4a44f6a6b2 | |||
c20afb801a | |||
33c666587a | |||
6711731818 | |||
af879f2d34 | |||
467c88b3a9 | |||
e59f18bf29 | |||
995772f0c3 | |||
ee92e525e6 | |||
0d928832e7 | |||
c6a9f506b7 | |||
dbfb6b9265 | |||
deebd9466f | |||
497fea7d67 | |||
4aa8593ecc | |||
7fddb6b996 | |||
8647153222 | |||
47af801133 | |||
129e45eb99 | |||
792ce81973 | |||
199728b4d2 | |||
b4a47a26b9 | |||
13eb237b45 | |||
1a3e6381d3 | |||
1db8c57470 | |||
b78e462037 | |||
f574c3305a | |||
3321bb3eb3 | |||
27900ea9f8 | |||
03bf97ad16 | |||
3cb09273c1 | |||
2606acfd4b | |||
1800ad5498 | |||
9e2b29d87d | |||
51d8b25984 | |||
1d8763806c | |||
8e883c11b4 | |||
3f3dc504e9 | |||
35470e1604 | |||
1591f8437c | |||
b70b980dda | |||
cc991c58cf | |||
543bba8f8f | |||
6a41b99a4a | |||
bd9db8d9e4 | |||
4d70daf305 | |||
19d1c16c32 | |||
026caf5def | |||
662d7af70b | |||
22b226724e | |||
50931f8ea0 | |||
0d1734eea4 | |||
10e928319d | |||
3a4ac3a85e | |||
ab05964b91 | |||
5f662e9f75 | |||
d095fd8cf1 | |||
8d3ca33d15 | |||
7803190d9e | |||
ea2a38be32 | |||
9718e2616a | |||
14e80fd9c5 | |||
a38e2484ac | |||
b8fd41b441 | |||
def14b60f1 | |||
65b64b3f03 | |||
25d100243c | |||
da7d00ef21 | |||
72e63d5e9c | |||
167ccc7e65 | |||
96581b3217 | |||
03220d6023 | |||
7e6f323d98 | |||
71fee41ef5 | |||
3d85d6b292 | |||
c259d71928 | |||
afb926ab0a | |||
042ac352ea | |||
f127becbf1 | |||
572004879f | |||
2bc4a62965 | |||
b1c1996b1c | |||
0eb5974def | |||
cd48c7ece3 | |||
5fc0afbc17 | |||
d1211cb3de | |||
39c279acf8 | |||
337f38ae09 | |||
02a1901091 | |||
240baa31e8 | |||
097f540460 | |||
932cd22487 | |||
0de53be394 | |||
4c98dfb4e3 | |||
c45cfadf36 | |||
7e300f51ac | |||
820a2e175c | |||
a194e6252f | |||
bf0b87d813 | |||
edda0f94e5 | |||
8ba2ecf2b4 | |||
26a9555073 | |||
533f1e78d6 | |||
d69ccaf027 | |||
5a802b32ea | |||
2c895aaac3 | |||
1f58b6a2a5 | |||
544e2aa215 | |||
f927026536 | |||
78790c872c | |||
c2059fa72a | |||
31e5133b63 | |||
b3076e5566 | |||
0f8c03b593 | |||
7915884a2f | |||
d0b13a4d96 | |||
121d3d57ad | |||
7186e28001 | |||
7971e7940c | |||
8120cb4166 | |||
6b6872bdd5 | |||
09eab1f1a4 | |||
2ee716227e | |||
627f4c5deb | |||
b1e1b2ce08 | |||
26c571cff9 | |||
cbc5d3f34b | |||
1dc55aa35e | |||
f63c7222be | |||
fd7f51546e | |||
0f1826e251 | |||
462ccbaac2 | |||
3362773a5b | |||
1dff52556e | |||
e5eb75b9c0 | |||
26ad425728 | |||
ae5852bd7b | |||
87389bcb5e | |||
854bd492fc | |||
d45402a55a | |||
3454367d64 | |||
8eac12fa7d | |||
304f8387fe | |||
1f9e24052a | |||
ac61a65fef | |||
6437409b76 | |||
81dc352032 | |||
7f8e2a6a4a | |||
10bdee1327 | |||
e742b68f1a | |||
ae1b2d49cf | |||
ddc37d69cb | |||
d48982acac | |||
9368cf9025 | |||
323a0ae2b1 | |||
a87da91719 | |||
fa41fef557 | |||
98d7157a6d | |||
0197ddf20a | |||
fa945c8b1d | |||
ec8f010a62 | |||
905768b8e2 | |||
2c4a4d2cb4 | |||
d40cecd00d | |||
8f3f0cb0e7 | |||
137742225d | |||
5a24d6491e | |||
7277b26f05 | |||
77b590eed1 | |||
27af3e6b11 | |||
8c4a56a295 | |||
d9d45be0e3 | |||
faa9fb6f7f | |||
d1128878e9 | |||
e279fe7070 | |||
aad8824741 | |||
1c25808f0b | |||
dbf132cc1e | |||
3810705ef0 | |||
870eca2052 | |||
7765b1019a | |||
a9dd3c3fae | |||
5cabc29013 | |||
e8a21e7a62 | |||
b5d8cf8d1c | |||
7c302cf208 | |||
044fc9f671 | |||
2e8df3784c | |||
9bb2690609 | |||
3879334ca0 | |||
534cc06d60 | |||
e24d9d6b45 | |||
917261d11c | |||
0d504c8c0f | |||
43c730f986 | |||
60703a81e2 | |||
daeb781884 | |||
fe0f8165c7 | |||
f8311775e6 | |||
13bbb04acd | |||
b1b7c532b0 | |||
fc313d655f | |||
4b94f1dc87 | |||
f88d9d9049 | |||
fa7e6b8c03 | |||
fb74b3e037 | |||
40c5f74ae9 | |||
69ababcbf6 | |||
cc827d9aab | |||
c9ce5f6ec8 | |||
0cca0176d5 | |||
5ff0118a58 | |||
db7b35a9c9 | |||
b2f5a22c4a | |||
bbd701803e | |||
8cdfd4cb24 | |||
5927873b92 | |||
392cf2f8f8 | |||
09906111aa | |||
88c94fead3 | |||
91c8c39eb8 | |||
b3eb2e4f6e | |||
e345378354 | |||
fb532c711e | |||
5e9afe7272 | |||
df2edde891 | |||
1236b333b4 | |||
79b8649583 | |||
9ff9797ad7 | |||
67c48a3677 | |||
88fefd4feb | |||
1347e2e50f | |||
67528fb584 | |||
af3992e28e | |||
8fbdefc37f | |||
ad42d9c22b | |||
65b54c4f9a | |||
4f02875e01 | |||
6e2c28fb89 | |||
aec49aed3c | |||
2dcb2e28b6 | |||
6bb11a3e6c | |||
2980e317e3 | |||
648ff9268f | |||
5f0cda7e91 | |||
aa8c6a22e5 | |||
67bc6ab1e9 | |||
c706880bfe | |||
03ff5db8b8 | |||
3c8a8c2eb0 | |||
fb5d1573c3 | |||
e4fd7dc9ff | |||
ea68fa0b23 | |||
15ad4b008a | |||
df029ede73 | |||
1d41f909f3 | |||
bf66d66593 | |||
03232e93d3 | |||
28eaa4a340 | |||
60b22c4c57 | |||
b68817d196 | |||
d2a22e5fc0 | |||
935c8ea952 | |||
e0e963e140 | |||
dc2285bc05 | |||
d521b967c4 | |||
15dd44eedd | |||
7fd0c59969 | |||
2cf25eb74b | |||
e30d204d38 | |||
cd3545556e | |||
7f66adbc71 | |||
8e6fec441d | |||
dc08548ea8 | |||
ce68d68e00 | |||
ab496bf177 | |||
71fd3becf0 | |||
69a13964ea | |||
0854f67cae | |||
e39a3e3920 | |||
9ac50e1575 | |||
d33cbf1803 | |||
8f57fa5091 | |||
ae0c84f987 | |||
0db0d20c00 | |||
f9d72e3745 | |||
4eba95d1b3 | |||
de7e014067 | |||
36e6f9bc04 | |||
4e498e169e | |||
f43132e20c | |||
199ccf81dd | |||
8e6146049f | |||
c77b607138 | |||
8547429d39 | |||
b885be4d2a | |||
b3e35262d9 | |||
ef9c2922d2 | |||
d1534e41e4 | |||
8f86fa0da1 | |||
d76beb8129 | |||
f963febd29 | |||
5ae99f8aa9 | |||
a0353b573d | |||
4877c1c068 | |||
bb7c38a478 | |||
f7b23c80e4 | |||
64e540a7d8 | |||
78cc76d204 | |||
02b39efca4 | |||
75a9121578 | |||
ad0258940f | |||
f4dff389ee | |||
6f1b7d79b3 | |||
514930c2af | |||
31f502a6be | |||
bb1e2f67f7 | |||
046a155352 | |||
915c387804 | |||
4d8a352c5a | |||
cec22f1e93 | |||
1f41e8c6fc | |||
51850b0255 | |||
ba3522e42f | |||
ae0aeb339d | |||
ea4d4c9c33 | |||
46a972022b | |||
7c6b0e9862 | |||
f14dbdc519 | |||
a231e71cf1 | |||
076f86125f | |||
7c722ce179 | |||
76c27c8032 | |||
8118647b2a | |||
8e02644c90 | |||
b27495d0fa | |||
9a2d0e6bc2 | |||
99330648cc | |||
2f7fa55433 | |||
0c06dbb1a4 | |||
7e07ab95c7 | |||
1ce9075f8c | |||
8fc20c4961 | |||
ae4b184ee0 | |||
4d3a0266ce | |||
aaab6566c0 | |||
134566395f | |||
a456458db0 | |||
3f34879e28 | |||
2e9f0d3b6a | |||
9ac1fb729f | |||
899c713e3e | |||
56621e1e57 | |||
16c7626077 | |||
ffc4b8fda4 | |||
6e4102bc9d | |||
d708884d50 | |||
daf834a705 | |||
1b767725a5 | |||
e84b095d3a | |||
8b8400a889 | |||
d9b938b0cf | |||
166387f790 | |||
fa38535a20 | |||
cc4ca5ec94 | |||
589f6b9c04 | |||
c484c1a9f6 | |||
9629f94c4e | |||
cda48b297c | |||
e46dbf771b | |||
f2e8865d76 | |||
0d5b0248eb | |||
50143cfb22 | |||
b4bf865359 | |||
08da6eff8a | |||
a358f2b4f7 | |||
183d90e847 | |||
e22ab053d3 | |||
4129c2614c | |||
7143e96f65 | |||
132a3ab1a7 | |||
b7089e98e7 | |||
61aac5b73f | |||
b75c92fa26 | |||
9fbdb2b192 | |||
47a9797100 | |||
4c4e9fc62e | |||
3834275eb8 | |||
7af504b03f | |||
22046dd229 | |||
8d23d46eb7 | |||
a859057db8 | |||
af93336da3 | |||
c46242f904 | |||
e1a6ea6c48 | |||
fd4e676bb3 | |||
7301cfac60 | |||
c49efa365e | |||
1d79188dc5 | |||
74b4bd0e92 | |||
1d13fba3c3 | |||
ad6073c8b0 | |||
d8fc4fa4e6 | |||
6e911eebc5 | |||
fa85b0f37c | |||
39b7665abe | |||
f5ae1dd1be | |||
b9caac74a3 | |||
177e135136 | |||
ddf48eb7c7 | |||
a804f9195e | |||
71bc9f0eba | |||
21ca7753bf | |||
95f84c3aae | |||
5196aacb98 | |||
e714fc00f3 | |||
82d814a71a | |||
f63cdcffbf | |||
ccbe9a5435 | |||
ae90fc0bb6 | |||
32d5d5b757 | |||
294a2fd57a | |||
6e6832d898 | |||
ca344f2199 | |||
69564f3de5 | |||
6d2d8ea80a | |||
9c3407b99d | |||
9e45e32420 | |||
417fc15d8a | |||
78d0e807a9 | |||
2439b2e8ba | |||
549528d4a2 | |||
c84c12d51c | |||
d801d00f23 | |||
f008e0af16 | |||
0d20e3c720 | |||
da260752ab | |||
0579c609fb | |||
5103b87a4d | |||
db8ef01e30 | |||
7d6ae2b72c | |||
991e96083f | |||
30c9a10c21 | |||
dbe393978c | |||
2453e3b1da | |||
34c37bb1c5 | |||
28ac0fd2f0 | |||
94050499ca | |||
fb1b192cf1 | |||
5f7c9b6800 | |||
4d66ab5e34 | |||
1ab8ad66d4 | |||
389e73a97b | |||
2014cad94c | |||
46cd1b5dc9 | |||
3881b10c0e | |||
b99cd85f74 | |||
0973c32c5d | |||
537213a40e | |||
8605cf5fe9 | |||
3a5507fd31 | |||
dea2c477f4 | |||
f8ac3dda02 | |||
450699d1c8 | |||
d0d7f47104 | |||
725f2c8a81 | |||
f7f7b3bbf6 | |||
3453c313ac | |||
0686c69802 | |||
6696b27d45 | |||
1767cd2a69 | |||
8c75d4bd4c | |||
3924e1891d | |||
0fb774024d | |||
d80e6f2eca | |||
4f9753e480 | |||
6ee454a031 | |||
c5c6372395 | |||
2afac1956f | |||
1786601b52 | |||
26d54b70e2 | |||
45b9509476 | |||
11f2f88a27 | |||
e7a1204f26 | |||
e467a44551 | |||
d98b24d390 | |||
5938809ac8 | |||
6cb9993798 | |||
17cb21bf63 | |||
8f5295c6af | |||
44c1b5e117 | |||
1b04e811fb | |||
924aff9e22 | |||
d8707e7e0f | |||
b607c6d584 | |||
d1c51f0557 | |||
db5181e330 | |||
1aa094a9af | |||
883a4c2b22 | |||
ddf8d19fc2 | |||
d4c5fc0e8e | |||
603dd56618 | |||
61decb0dbf | |||
f78e1a7f98 | |||
d07668d61b | |||
e22d740971 | |||
fc709fee09 | |||
7d8c832d1f | |||
23cae54e5d | |||
78cbcefb76 | |||
2323acab6a | |||
52742b6dbd | |||
e91392a5fe | |||
3ee7453e0e | |||
60df7ca07b | |||
56f1221f2f | |||
4057ab4f31 | |||
ad52185c2d | |||
96fd62f239 | |||
a63f859553 | |||
c08d804f01 | |||
77c5d898ae | |||
f83b282856 | |||
8f2953b279 | |||
b7da7d5263 | |||
252e7c5d71 | |||
9d1c2d025a | |||
fc87d0183f | |||
b1cb895c27 | |||
b8f1103a32 | |||
0a71e09cf9 | |||
f5f756d507 | |||
b0ddae6a5b | |||
b12075876e | |||
d81d4af8c9 | |||
e30532d0f4 | |||
1d66ad1cbd | |||
0b03c08223 | |||
ffc5a1ce30 | |||
60c6a5a6fe | |||
89b4f69746 | |||
347596ae6e | |||
a3391e5f7a | |||
bbf0a418c4 | |||
69bcf763ab | |||
70ba567117 | |||
00d496f92f | |||
509321f5a8 | |||
292e673276 | |||
b6436600ca | |||
25b5982d10 | |||
ca8a8de999 | |||
2c9de49a97 | |||
23a398e001 | |||
fd5d26522c | |||
3b5d9ee516 | |||
13ed70f10b | |||
c826c11b50 | |||
ac69ce9122 | |||
6cbd9cfbcb | |||
52be7f6b10 | |||
75e720bf02 | |||
36ca7b3104 | |||
532e8c059e | |||
5c1964058f | |||
ab84353356 | |||
1653b6f2a2 | |||
1f1ae8ef05 | |||
797894d0cc | |||
3f2844fb1e | |||
6a6d524b0a | |||
ff23f455c4 | |||
56c1c4dff9 | |||
964079f77c | |||
3ba1621dab | |||
8dd34bd674 | |||
e3ebc4fe31 | |||
c25d5935d3 | |||
f080cd5463 | |||
94927888c7 | |||
6ba67ab2db | |||
5630506fc9 | |||
0b192d3238 | |||
23725958b4 | |||
56d2a97665 | |||
a25117d83f | |||
f0b6255446 | |||
586b1c8da0 | |||
08135332dd | |||
518bba8409 | |||
c756be2b2b | |||
29491496d8 | |||
081a433a37 | |||
57ddd682ce | |||
c5d6af43fb | |||
0e1be046ac | |||
e32565cd2d | |||
14701a4df3 | |||
496e4e95c4 | |||
30a011417f | |||
3f57a783c0 | |||
90549f9783 | |||
ff4a3a62c2 | |||
a0833959aa | |||
7f5a52cc63 | |||
0c9fcf6010 | |||
c77c7f0a7d | |||
81943646e3 | |||
907b6f54ef | |||
a5bd580b5f | |||
09d2c93c72 | |||
a0b199c6b4 | |||
d5bd8d54a3 | |||
65b7219bd3 | |||
3b3012fa7d | |||
a5abcf2be3 | |||
84a4c76294 | |||
2cd0e20929 | |||
06562ea5e9 | |||
7561360e72 | |||
08391d2f5f | |||
6b7b400193 | |||
94ab3a8631 | |||
452c41b601 | |||
ed029a9c6c | |||
8eacc74973 | |||
c109e4ba18 | |||
6bbf16d5d2 | |||
c5c7fa494b | |||
0f0b619953 | |||
4f13239318 | |||
b8fc81d858 | |||
fb4fdac64c | |||
fd4f8911c1 | |||
1af4b289f0 | |||
4f37cf0735 | |||
80bfddb85f | |||
da02a82f22 | |||
659e154d68 | |||
2b824fd28f | |||
4cf786db56 | |||
13dcdff7c7 | |||
247dd0e131 | |||
60875b4718 | |||
665c58b77a | |||
fc484bf2ae | |||
84fe84da84 | |||
3ed903fda9 | |||
15fc45982b | |||
ecb4a24eaa | |||
7877ceda9e | |||
58efd60175 | |||
97117dbace | |||
b77ea4c54a | |||
b94cc7d367 | |||
41ed2cb20e | |||
0e2fc554a7 | |||
d054bbd4f1 | |||
d0d34f136c | |||
c7fee24887 | |||
a49945e4b7 | |||
5f05ee2a0a | |||
e6225874eb | |||
9a035ede17 | |||
0533867a08 | |||
b3468db467 | |||
0225e80061 | |||
de2e716856 | |||
36318e116f | |||
b2cade4f7a | |||
c7728521d6 | |||
b5fd92a14e | |||
3e7008df95 | |||
68af77ea7d | |||
a7731cc0c9 | |||
17551ae865 | |||
7391722c40 | |||
c9d743ca04 | |||
7c1c0b33a5 | |||
074d096ffe | |||
8b34c4135e | |||
2e1624fb69 | |||
0f4b2b6439 | |||
0acf59d10c | |||
44217215e7 | |||
d729df03ed | |||
6bb6ed9467 | |||
a18b8b44d7 | |||
8d88561235 | |||
225b4b3279 | |||
742b65bdf6 | |||
41546a5240 | |||
4c5b3f1ce7 | |||
8615245349 | |||
0e5f51e186 | |||
527dd21e00 | |||
964d99ef88 | |||
d2aacc8cd1 | |||
18d7f9dc53 | |||
23c77ef0c3 | |||
48286abfc1 | |||
e5fa3b1680 | |||
01209524f4 | |||
dbfbfaf608 | |||
725dd39f5b | |||
bc8bbeed3b | |||
182cf7f120 | |||
d8df2b7773 | |||
2f6f487c3c | |||
a83a4cb90c | |||
9b9d267f5a | |||
2921a22613 | |||
3134a81525 | |||
4bad919ce4 | |||
638eca3a94 | |||
d8358ee292 | |||
6e04d8570f | |||
318ddb8aab | |||
c1cc7eb869 | |||
1ddb40f491 | |||
cabf6eaac3 | |||
65c4b8652d | |||
2c98218985 | |||
7be147dfaa | |||
559f9ed583 | |||
994ff52464 | |||
4b6aa195b4 | |||
fe2f50f496 | |||
ab4ace2b8c | |||
06a4cb437c | |||
b78c09ee7d | |||
ae3fa40b2e | |||
2d696516fd | |||
0e3d18b130 | |||
39cae56c41 | |||
9bb62cb364 | |||
6bd9d959dd | |||
c9bf43f4d6 | |||
6b6b8f86df | |||
599052942c | |||
337deb6408 | |||
649426539b | |||
bd9dd420d7 | |||
665d870244 | |||
ca520a726a | |||
2285b72d06 | |||
132fb3cc52 | |||
42f0396a10 | |||
dd40122fd6 | |||
6998ee069a | |||
3db7b46804 | |||
6f8f482066 | |||
3b28aefa1d | |||
88fb0a1cb5 | |||
6cf287efa3 | |||
ab0e680c8e | |||
d471201010 | |||
5b2d6735ff | |||
6337180ba9 | |||
dcd7ec25cd | |||
e7be79c610 | |||
bfc9ca7f55 | |||
fe514552dd | |||
8fd957b4b8 | |||
75191be8d4 | |||
b06414685c | |||
623cbe552b | |||
8cbd216836 | |||
07a56e02bf | |||
bd6deb9f73 | |||
1011cf2375 | |||
d91625da60 | |||
b47be02179 | |||
78633e3d81 | |||
9f5b2f75ad | |||
04c3b3234e | |||
e4fc7b0ba6 | |||
e266dacaa1 | |||
a4284b0bd4 | |||
4892d737e3 | |||
84fb9eac96 | |||
35cdffd6ea | |||
b2ae6a5a3a | |||
2f6b7d557d | |||
1a591d0c44 | |||
21a5ecd5d5 | |||
8ec90ac3ca | |||
e23c42577e | |||
ceafcae078 | |||
9bb6646a57 | |||
c44c977e09 | |||
d3b077e2b6 | |||
e930360bbe | |||
66c1d0dd32 | |||
5f03f53abc | |||
77e3647fd8 | |||
a8051511ac | |||
ea643a81a1 | |||
35860ffabe | |||
57f1162363 | |||
eb7b589f8f | |||
5dbd3df03c | |||
c0c62ebbae | |||
f0c1c9791b | |||
059370898c | |||
6538464e2f | |||
1912a86d1d | |||
5627ba15cf | |||
6da86da59a | |||
9277c5be62 | |||
cbe55a1728 | |||
c8755141c0 | |||
f773e12795 | |||
949bce5adf | |||
4b679b0648 | |||
cc34162734 | |||
e859d15d34 | |||
5d9a7cc138 | |||
65c456227e | |||
d875daad2e | |||
f339d5e1e2 | |||
b0054a114a | |||
eeb5491b12 | |||
abe3c16df2 | |||
bc1fde310e | |||
c7b16bebbc | |||
325db346c2 | |||
219cb952f8 | |||
ac8c378777 | |||
f1a4cffc88 | |||
b3a7c64532 | |||
22f8689393 | |||
79375d09e0 | |||
29863f6cf2 | |||
2809507ca7 | |||
50aa3d9921 | |||
12bfe6bc95 | |||
683de12e53 | |||
018c1686b9 | |||
8509c25eec | |||
d7a476ccbf | |||
a5517786c2 | |||
40e1cce7e1 | |||
53db677586 | |||
4191dbf0c9 | |||
1f81af52a4 | |||
d5d56b3d42 | |||
e0c96dacce | |||
9a911cef88 | |||
3fc6ac7ccd | |||
dc7cc5bc6e | |||
76835cc678 | |||
87d97ffe16 | |||
a3b29d7bd0 | |||
70089e9814 | |||
e111de0752 | |||
555ceca38a | |||
cd25ca09f0 | |||
69ea83c3c5 | |||
0b101fc338 | |||
7c5625b5c8 | |||
64871adae0 | |||
e67f7be664 | |||
b63b6c5ff5 | |||
ba8c80cb56 | |||
7f1f8302fd | |||
481bfe6a8b | |||
33ef5c4e3a | |||
e27f6543b6 | |||
8555cc47a5 | |||
eede5a2495 | |||
9edaccd922 | |||
fd8664e178 | |||
c83c958775 | |||
2118b20575 | |||
3627ad70ba | |||
c467995bc2 | |||
5f5d50d2c4 | |||
a637873162 | |||
acb58d7f88 | |||
8c05464a71 | |||
ac04c2180c | |||
c0221aa980 | |||
7bfc256eeb | |||
fd4ad29f18 | |||
fd51af6286 | |||
c91867af13 | |||
6095cd1501 | |||
0a466040e0 | |||
54c80e1df1 | |||
b6b5af1171 | |||
1818ebd627 | |||
1a148753ef | |||
c0ae0ba4cc | |||
3c74a5107d | |||
a77bb32573 | |||
6457ba17b2 | |||
f0400e7d3f | |||
9770df1e9d | |||
da43c41f98 | |||
222903e57a | |||
b40b2b1933 | |||
63c1f7b187 | |||
5811616d58 | |||
9e24f7509a | |||
7659a9cd79 | |||
15024e06e8 | |||
b9a6223453 | |||
674b07247e | |||
7c5ad88887 | |||
9ec60411ac | |||
01816e6a4f | |||
bd86b0c2f7 | |||
3267687978 | |||
19e35f947f | |||
51b3a67e55 | |||
cab6060ed1 | |||
d712c628e7 | |||
2c6c353b5b | |||
3a5d1953b0 | |||
15373758df | |||
997ead6d11 | |||
e299d04cd9 | |||
16e210863f | |||
22abb3ec33 | |||
e10d8a0d52 | |||
e784c1e66a | |||
a247319ebe | |||
c38f76410b | |||
c26108f603 | |||
747fe6c172 | |||
1720ba5e6b | |||
a0473c3be6 | |||
c44f0b3fea | |||
3053a021b6 | |||
1ebf341b17 | |||
71e752b934 | |||
9072333883 | |||
930fded5b7 | |||
9a5b743e56 | |||
b17f9e6882 | |||
f9919574f4 | |||
ef2e4fcb70 | |||
d723a7bdc5 | |||
7e3961643a | |||
73fcbf1309 | |||
d1fb655d0d | |||
65a444572e | |||
3271ea513d | |||
8618bc6c9f | |||
8c1075a592 | |||
ecfdb43afa | |||
2e495b09d5 | |||
23ef60de98 | |||
c071652a4e | |||
52e5756ea8 | |||
a417bcb8c3 | |||
5d4cee75e5 | |||
272c9c07bd | |||
829e8e65b9 | |||
6b2b8355b3 | |||
9298ba3889 | |||
c98c81524c | |||
5e6ff46745 | |||
19248226f5 | |||
68107ddcbc | |||
9ac47c871f | |||
fb660c35b5 | |||
ed2b6a5a17 | |||
8b4154c1d2 | |||
2e6fa8206e | |||
4843ded47c | |||
de74711dc8 | |||
73e9ac66ad | |||
4c7b965c6c | |||
5f9dafe5ff | |||
03fbf06ffd | |||
4bdea41713 | |||
c36b70caa7 | |||
6bfca1b689 | |||
dbb97c3243 | |||
1854500940 | |||
b64fdcc0fa | |||
17d9d897f0 | |||
1548032c98 | |||
05d6f5a488 | |||
1000b0f088 | |||
309d5a5373 | |||
c3d5d20664 | |||
edb36a1fd1 | |||
4a74a5ffd7 | |||
ef886c4ede | |||
71b4e29566 | |||
5eeee01c84 | |||
84ceee96fe | |||
5331462e9e | |||
b06ba874fb | |||
39efcd1ba6 | |||
3a54f4a7f1 | |||
e03d312a2c | |||
b2a76312a5 | |||
f14a337f19 | |||
5d9612af2e | |||
d0e2155a59 | |||
59f8a50686 | |||
2a68cc08d9 | |||
eb83fed09f | |||
8487be9c1a | |||
36847977cb | |||
6ef36dbffb | |||
2ed4b0bd7c | |||
655f7362e1 | |||
01acc036ae | |||
ede68ac6b9 | |||
43277976ed | |||
21fbf84d21 | |||
e70bc423f9 | |||
8b223d43ce | |||
eac71c0bcf | |||
718a7ae62d | |||
c013fa6234 | |||
28daa6b9ae | |||
3f9613bf6d | |||
3d91563c98 | |||
e68ddc71ef | |||
30abfe5f02 | |||
ff01442fc3 | |||
d47a104a2d | |||
1fcd7f066d | |||
0dab798786 | |||
2cd8fa7a0f | |||
38954e2461 | |||
23942e221d | |||
bd6b81dcad | |||
70409217e7 | |||
458f1720f1 | |||
aa5e362537 | |||
0539962835 | |||
3c31173c1c | |||
5e9e7bff4b | |||
db0946239f | |||
9fb89e33bc | |||
be0590c3e1 | |||
45df1066ef | |||
57987b6e19 | |||
107e7aa0f5 | |||
e822fb3587 | |||
ab0a19c9e6 | |||
23b7948355 | |||
53ee1bba72 | |||
135ac25faf | |||
c6b406e8c6 | |||
65654339f9 | |||
47f84d3a24 | |||
e31c0f00fa | |||
60f367a473 | |||
09718f3cf3 | |||
a63fac3c58 | |||
e814b265ea | |||
87577169e3 | |||
2072296330 | |||
944aff2635 | |||
df6bc335f5 | |||
f8665f08fa | |||
c9dff8b0c2 | |||
4bfb36ed68 | |||
af69de494e | |||
728cf8a830 | |||
7404d21cf8 | |||
b7f032d3c9 | |||
88e5d18589 | |||
e145c2fbe2 | |||
487cd399df | |||
f57eb1a640 | |||
cad99d8c17 | |||
bcb67ed3c5 | |||
1fbc1123d7 | |||
9ce755d05e | |||
e47d9fd3b6 | |||
552d287cc9 | |||
fd8854ec0f | |||
72c38c9b1d | |||
1a4440cba8 | |||
0e0f9e51c4 | |||
3eb17b91da | |||
f99b4f33b4 | |||
d103a31b4d | |||
6c11676dc6 | |||
6a1af48c58 | |||
4064677fde | |||
0ef9d890fa | |||
62ab9a777b | |||
c59efc10fc | |||
238ae94e2f | |||
9690ad873d | |||
50bdc61cff | |||
a21df14924 | |||
a63ea89c04 | |||
9874b1a7de | |||
4e00f15592 | |||
21975e4a49 | |||
010cc99896 | |||
c188936dfe | |||
757cdba619 | |||
f28f27bc54 | |||
178cf35098 | |||
383a06ef8d | |||
f5a1ad1450 | |||
e10ff6d05b | |||
a2e0c3d209 | |||
94f90c5aea | |||
a6f0193f22 | |||
58c00a04d4 | |||
c7a1084b99 | |||
9ceac74a51 | |||
e5e8286262 | |||
6e0c78b87f | |||
ebe7f7cee0 | |||
e00705e0a0 | |||
f9eeded219 | |||
84aa9a74e8 | |||
47afbbc062 | |||
bb18968968 | |||
2e82fcf209 | |||
b575397c7f | |||
554c13dc2c | |||
4bf6f49d12 | |||
bcc9879151 | |||
8a1de83016 | |||
b3034ebae2 | |||
c48631ab68 | |||
871b47afa5 | |||
72de822ddc | |||
434d7d4582 | |||
05df1084ed | |||
f411db3561 | |||
ced021a057 | |||
12931febfd | |||
c4f3a33e49 | |||
1e78165cdc | |||
24f3dc8a17 | |||
9a5a9635b7 | |||
6015c6d7f2 | |||
4a749d5874 | |||
7bbe138848 | |||
29063fbd7d | |||
3d7623ffc9 | |||
4e8fb3503c | |||
3b3bb7cd62 | |||
3c90559d74 | |||
9bd974135b | |||
a02176debb | |||
d7b7460d6e | |||
84bb5f4e19 | |||
5aaf8df4fd | |||
d8a85e3d99 | |||
d8353e7143 | |||
4bd03da498 | |||
10d4753f40 | |||
4a7af6e148 | |||
d4658ebcdf | |||
26d7303f01 | |||
74793855dd | |||
9df32cc206 | |||
d6e04aa00b | |||
e0e6bccd44 | |||
6bd733b7d4 | |||
024ffe3fdd | |||
0363561a30 | |||
6e7645e4fe | |||
663efbb0f7 | |||
978b47463e | |||
8488b5948d | |||
8c692d7dfa | |||
3ecf377e30 | |||
8f705b9fad | |||
b6969db5c2 | |||
e1a84db3e0 | |||
558952ae7c | |||
e40cbcf036 | |||
012701970f | |||
bf5f821431 | |||
45d51a92ee | |||
6f375320c3 | |||
180e414a80 | |||
9700fe2f10 | |||
a5aee116c3 | |||
5700149dbf | |||
286c00347d | |||
a5d7f1603a | |||
309043e336 | |||
4e812bd297 | |||
cf9b06971f | |||
6a6ac1e0b9 | |||
2fe5d3e5a5 | |||
6b5b7e0654 | |||
699f0d48ad | |||
965a45f486 | |||
5bdedae900 | |||
4e4dde484a | |||
d4be5aacf4 | |||
b307ed66b0 | |||
7c7294fa27 | |||
02dcf97dd4 | |||
1dc1d98467 | |||
168798a53e | |||
2904aeabad | |||
5897382269 | |||
4aa7d2d5ac | |||
b2d5e466d5 | |||
5e7dc21c91 | |||
5aed1a0d72 | |||
1b74898395 | |||
12ec7901b7 | |||
fc84a555da | |||
55d0af4618 | |||
9c8249195d | |||
0095fce186 | |||
77128a8dcd | |||
0d34a50a36 | |||
a891f71ad5 | |||
453805ceb9 | |||
05ca3d18a8 | |||
9e61ca5674 | |||
1a832d0c06 | |||
893c3ae892 | |||
db4b71ff10 | |||
0cbc3528e5 | |||
0602936c0b | |||
4044e85938 | |||
ba74a036d0 | |||
e8dfb330eb | |||
b01f74ae3e | |||
8b42a24d03 | |||
c5d71dc7ff | |||
f56b645f1f | |||
584d5e1cba | |||
20d25779c8 | |||
306bd40939 | |||
9c471e7def | |||
7b8cbdd76b | |||
01c8c59364 | |||
6d301c8724 | |||
1d7fa216ba | |||
7db7642a85 | |||
cd792cd4a3 | |||
92b60d1036 | |||
f700ddffb1 | |||
f4ac5ea179 | |||
0dbc9174ca | |||
ced8fe0cb6 | |||
4bd2325802 | |||
c489a405d1 | |||
0cf73ab9fd | |||
a35b9282cf | |||
bee5c6084c | |||
8e1bb93fb8 | |||
8dd962b97d | |||
4456e8a2b6 | |||
7bfd1105be | |||
5167c45d05 | |||
7c66d39a0b | |||
10c43a2c2e | |||
440c823675 | |||
c46c15b592 | |||
9f5a5eefc3 | |||
bc3261f828 | |||
b5df65a9aa | |||
9ce7935b49 | |||
897d63a840 | |||
a138ef7ad7 | |||
1cf56d9049 | |||
85ee1fd571 | |||
48f0b1142b | |||
ab7b892ad1 | |||
64e2ecb36f | |||
a10a86d2bc | |||
8327a7e7b4 | |||
c9f7e115fd | |||
cfd6f9c7f1 | |||
8c127ecc3c | |||
abce429dac | |||
547cef0201 | |||
c8e0f1631f | |||
eed31cbc93 | |||
5044dc48f3 | |||
0b40ea2f6e | |||
9722f5ff59 | |||
3dba47a53c | |||
671cd1d16b | |||
f564c8b34a | |||
32d2d5c776 | |||
daf970eb70 | |||
341d1bb724 | |||
cc132038e2 | |||
ef5ebdb5bb | |||
1920900baa | |||
09b136cfe8 | |||
be25f96c2d | |||
16598745b8 | |||
794137e2a8 | |||
b184e6e0a1 | |||
2ff381d0d6 | |||
b9b4bb4bdd | |||
0d30a86aaa | |||
67efe443b1 | |||
c08bacab05 | |||
2c736bd24e | |||
ce79ae00fb | |||
bc7239424c | |||
985acc218b | |||
3fe067f650 | |||
6572e536df | |||
6453cffd21 | |||
0bff4b05b8 | |||
7c558d0cfa | |||
6fd406b4a1 | |||
b63eb4d172 | |||
1170940082 | |||
e2cbeebe9f | |||
3bce5643ca | |||
7cba1c486b | |||
ddcb7f1cc4 | |||
f678ecf369 | |||
7c26960cbd | |||
c3fec864b6 | |||
281be57a55 | |||
32bba1877b | |||
501f2f9cbc | |||
2a72e5d269 | |||
a7b922fd74 | |||
9f3c6ad66f | |||
0ad4003cab | |||
5e5c1daae9 | |||
6c88e6ee55 | |||
15d5183e4a | |||
e6cd4d242b | |||
dbbcc578c3 | |||
2c1511a461 | |||
d15a9f9b34 | |||
8d50e42a51 | |||
69b8194946 | |||
9aebc19182 | |||
0b31428de0 | |||
486240fc7d | |||
f58abca47a | |||
6ac0a46bbf | |||
69cd729c0c | |||
0a97e46616 | |||
8894a55fc8 | |||
807f6decf4 | |||
55129b3d97 | |||
45032383e6 | |||
6041699ab3 | |||
9355bc0919 | |||
55bc2d3e14 | |||
7a7cdf8efb | |||
5edb51855c | |||
b57b12f729 | |||
2fc2758e51 | |||
05be8c626c | |||
7ac1a03173 | |||
dd4c5421d1 | |||
6e8c509d7d | |||
b45502cd64 | |||
daa17107cb | |||
0b6954b8d5 | |||
79312afdde | |||
b6730e03e2 | |||
b6f031cf9b | |||
188ce0ae11 | |||
e608308ade | |||
5f4f1b8558 | |||
567c6be77a | |||
36f8b03a92 | |||
863717e349 | |||
a2a7fecabf | |||
b628beca34 | |||
e02e918eba | |||
966d670749 | |||
db97c6926f | |||
87b5fa7c9d | |||
d131183200 | |||
c9847884ff | |||
0c314f9c7e | |||
df4fa45ce4 | |||
7b49c37112 | |||
4b8ffaee30 | |||
a0ce36eafa | |||
f6c0e1ae91 | |||
546e093543 | |||
92c920b730 | |||
2b03894e15 | |||
5a0c10c38c | |||
50c56fbaad | |||
16f5b54c80 | |||
a14901804b | |||
95747bd24d | |||
d244790e3b | |||
df74d9b568 | |||
2ccbcc560f | |||
1364ac3478 | |||
b53e27bc24 | |||
76d49a7c45 | |||
ba7c2be10a | |||
6f37788ba5 | |||
cbca81c594 | |||
289f9a5566 | |||
7d68353d15 | |||
08b5200db7 | |||
e3884a1c8f | |||
e3adefedca | |||
141a1772ca | |||
0f9508638d | |||
6d5d59648a | |||
d83cd8bd85 | |||
9561cec241 | |||
e5d7c3dba7 | |||
0d1c448609 | |||
738e0b7af3 | |||
337f8a1733 | |||
80b1fa3332 | |||
8190840fdf | |||
99945dcb8c | |||
3d426f38c5 | |||
de6f198619 | |||
8eba6625ce | |||
295f417a96 | |||
72f0501881 | |||
0c45df8ddb | |||
831d686e6b | |||
decbf7b4d9 | |||
adb52533fc | |||
5e2d9c0979 | |||
4a5f2e9e96 | |||
a98d7a9ed1 | |||
84d812cafe | |||
6d03f8986d | |||
256918bd6d | |||
9d67142ccb | |||
105d3091f9 | |||
5a5852f7ab | |||
48fa6dd8f9 | |||
91a48367a4 | |||
cdede5dbaf | |||
09b8babefe | |||
894079ece8 | |||
89faeca93d | |||
b81ad9c6b1 | |||
a16da93680 | |||
0e9dbf0843 | |||
b85fd1e84f | |||
d7130cb1cf | |||
3b74bad537 | |||
7fd67947a3 | |||
98391baf3b | |||
b2394e853b | |||
703778cb83 | |||
18d8fe27b2 | |||
6ea58346c6 | |||
d6244534de | |||
c5625c53c4 | |||
eb8ee59f87 | |||
244a3655e1 | |||
1a0a280cff | |||
0dc1a005d8 | |||
39108a73cd | |||
c9f8380638 | |||
2a959be092 | |||
9abc411c89 | |||
e988cc20b6 | |||
b10a4bf002 | |||
1eb4425203 | |||
febcc020fd | |||
56e448b8d5 | |||
56d8313925 | |||
ad6e3c847f | |||
89a269af9d | |||
16d6d66094 | |||
e88bf30d12 | |||
fcff39f0ea | |||
610be7018b | |||
21a7b6c279 | |||
411b4fc9f2 | |||
9a8e119110 | |||
2b01e97c6f | |||
ec8eb4947f | |||
5c56b16533 | |||
4235fb6015 | |||
192945e61c | |||
19f4c39cfe | |||
68143e88a8 | |||
8f1e004107 | |||
f03706a2ba | |||
ea0c91fdc9 | |||
ffa5ff8470 | |||
a5a357ca10 | |||
ecf7db873c | |||
55546699f1 | |||
b03d6f15b4 | |||
6d64155cc8 | |||
a464af451e | |||
58cc96f0ca | |||
ba09eb71c8 | |||
4da8830c3d | |||
770a46c6d7 | |||
6fecff20c1 | |||
3e866812e9 | |||
8a2c904616 | |||
5e2602ae48 | |||
8f2e5c90e4 | |||
d4cc902c57 | |||
55812d6430 | |||
b486fe95bf | |||
3f5985972d | |||
c29340df3c | |||
7d1995cc68 | |||
f288a7ed82 | |||
24769421cd | |||
4d661eebe9 | |||
23ce296c68 | |||
38483e5e94 | |||
8c41000862 | |||
c2ed1e9ba0 | |||
c5f16c9f0d | |||
0e945a3426 | |||
419cf93502 | |||
8ef2f7c77c | |||
6e902bcfcb | |||
dd7a04e7d7 | |||
7fd39ffbdd | |||
a231d2c13e | |||
8e4500aa57 | |||
ef1297689d | |||
e5f627ab85 | |||
8420ccc6e9 | |||
683e43dbc6 | |||
a1f499f4d1 | |||
4eba742ee6 | |||
429df8adbe | |||
a4f85470f7 | |||
7726a31830 | |||
13aef57841 | |||
cf440b6530 | |||
ce7b252c4f | |||
4902e9b35f | |||
2e6c55946c | |||
dd7d51d12f | |||
ad6d3128f8 | |||
2fed41d462 | |||
d0d33d40ce | |||
83ac83015a | |||
e8d4baca77 | |||
75a073d5ff | |||
7137562135 | |||
65d822e680 | |||
7a2c1c7b11 | |||
cdc6e82bbc | |||
43529966a0 | |||
4a973324da | |||
e18d45cdf7 | |||
eb59493a06 | |||
010c408044 | |||
1cb930b5d1 | |||
9ed576fbcd | |||
419a2a75df | |||
5316abe56c | |||
4d616e372f | |||
15790c842c | |||
d7c8d7d7c5 | |||
e51f96f741 | |||
1d380128aa | |||
9f87ad2c2f | |||
61ef0e4aa5 | |||
8f9c1535a4 | |||
4b6e8ca3a1 | |||
a088887acf | |||
41c7e31b0a | |||
16f55f237c | |||
330a7b5c2c | |||
672788d26b | |||
b931ca89a3 | |||
65335ffa48 | |||
8168e285bc | |||
0ae7a8b765 | |||
3ca8477901 | |||
1f9080a7c5 | |||
977c807418 | |||
03a27b89ee | |||
44a7045481 | |||
c9cd886a4b | |||
8b93a173fb | |||
8afb45e0a6 | |||
2626b3eab4 | |||
20646cdbe8 | |||
ba2cef5b54 | |||
1f4d7c772e | |||
a439406bdc | |||
9df11973ca | |||
4475263bdf | |||
47f154c8e5 | |||
ca025203a8 | |||
2f46a1780b | |||
adbdc5c1bd | |||
7df8a69b26 | |||
bd8112ae2b | |||
59a1a30ae1 | |||
3b3f94757c | |||
f3a672908f | |||
8c3fa461f3 | |||
c807d55798 | |||
26203e7292 | |||
2710df765b | |||
16a444c501 | |||
817c6a7a4c | |||
1fd7d9dc90 | |||
f488a40120 | |||
651e3e06a5 | |||
da538cb38f | |||
b911c4896d | |||
765e5df0dd | |||
ea2dbdba2e | |||
d027dcef03 | |||
6ffbae39b5 | |||
4954a0f611 | |||
8b32e404e1 | |||
72fb5a915a | |||
2475e022e2 | |||
64c0df58e2 | |||
a0da5063ca | |||
c262b44d7c | |||
12367e0db1 | |||
21c3c44ef5 | |||
e7bdc5fb8f | |||
98ecaa4a55 | |||
d9c82695f5 | |||
166c75c778 | |||
268a18d58c | |||
da3812208e | |||
b3ebf5ba0b | |||
eab108f68b | |||
3b23fa6092 | |||
ce6cdb3608 | |||
921bb34c91 | |||
fc84ae7aa3 | |||
c3cef7e7b0 | |||
7ab6ee6e71 | |||
3d5475d66c | |||
af6029ba1a | |||
3cd06cc427 | |||
6de377ef78 | |||
bf299f0d67 | |||
b77f9a3d84 | |||
92982b669c | |||
45174112b6 | |||
890117b880 | |||
d7fc0688e5 | |||
b5445ade38 | |||
ef485f66ff | |||
34d2600592 | |||
87a63fab53 | |||
205437b759 | |||
c8b840ffba | |||
ad87a82ca7 | |||
93f12985e6 | |||
d15bda4fab | |||
a07fca1eeb | |||
d5d6ecf63a | |||
c28382eda2 | |||
bd26394496 | |||
6a2495d8d9 | |||
d292c4f0ea | |||
6b1e7dd061 | |||
43b0ed7089 | |||
aa990125b8 | |||
060df17f1d | |||
ae5bc43d3b | |||
ae5ba37a55 | |||
bf3f94dbb2 | |||
cba09c8f13 | |||
03511b4770 | |||
40729a58ea | |||
c08585674a | |||
df89c7d79d | |||
1a81e0a147 | |||
e31c7e38c0 | |||
a883c95bd8 | |||
84c3b5e051 | |||
114f87bf2e | |||
19c35f1a8f | |||
c07f165b08 | |||
fbd13a84cf | |||
4c3014feb2 | |||
63fcc4acc2 | |||
dd63dc1dc5 | |||
ed2494e545 | |||
9f90964415 | |||
cca3c90ed9 | |||
780f99b61c | |||
423b812e48 | |||
9965c8b5b4 | |||
91fe94ac9f | |||
166c30309e | |||
17c847b5ea | |||
2819edb497 | |||
692fc58a6f | |||
adec2e6c45 | |||
81016b5c24 | |||
7c92712cf0 | |||
06545e0744 | |||
314ace1604 | |||
ae0a4f609c | |||
43b7e60e3e | |||
e45f70423e | |||
96d9b75669 | |||
9395cf9a2f | |||
f82e68c900 | |||
af6cd3f0b4 | |||
d2ebc4d39f | |||
5a04746714 | |||
0461005908 | |||
1868991a36 | |||
ad12b4f440 | |||
e66fcb87fe | |||
ca07e1cff9 | |||
cdf7ec6faa | |||
6f5be8ff30 | |||
a2a9e8ea8f | |||
08e8067a58 | |||
644b0f5f45 | |||
7f5adef634 | |||
1162f7a1fe | |||
b3a28c3a66 | |||
82fe13eef8 | |||
dba65d24b9 | |||
553335fbe2 | |||
7cfedc8b1b | |||
e20165d7bb | |||
93572c573a | |||
cecf5f01ea | |||
6a4c517850 | |||
80bf8efeaa | |||
dde3278708 | |||
631d77eca9 | |||
17a07b38a1 | |||
bfcea14a16 | |||
01c190e382 | |||
2bc46c9601 | |||
d38baae038 | |||
3e3b78a391 | |||
e51978f26f | |||
9693bcb4c4 | |||
411aba22bf | |||
00562ebcde | |||
8112c95a06 | |||
d9b646d96a | |||
64b341e722 | |||
5f012d0778 | |||
f0de94d436 | |||
fcdb03d079 | |||
7fb5bf8893 | |||
ec0a85b580 | |||
2bd18edc84 | |||
5cbf45e1e8 | |||
872079656b | |||
d910fec9a6 | |||
a1b9f0588b | |||
a256bd6fe5 | |||
bd91aa7609 | |||
b052683d46 | |||
9df60d36b2 | |||
42efd7f593 | |||
fa06bcba06 | |||
7b8ac0030c | |||
dfbb634ae1 | |||
ca4b587f95 | |||
b4767ce169 | |||
3a60e5c827 | |||
11e1950d26 | |||
1e9344481a | |||
8171364d06 | |||
eaa31d95c2 | |||
c87c1abffb | |||
25b717ad84 | |||
cfdd488440 | |||
e007893a8e | |||
2369818c3d | |||
9ede493c73 | |||
f451bfb1a5 | |||
ffc0d2455c | |||
14a0876de8 | |||
d4f2d14d52 | |||
2179c7fdb7 | |||
9523e3b790 | |||
70191da272 | |||
265dc1d793 | |||
92d49da163 | |||
387ec919d9 | |||
2a12b6a9a4 | |||
7866193eee | |||
cedd4d14f4 | |||
716c8f0711 | |||
ecb4e31531 | |||
7c55aab199 | |||
9a97df3010 | |||
beb2826ffd | |||
3c53300002 | |||
bffa9066fa | |||
51f1822421 | |||
8cb2f185d1 | |||
9f2faca246 | |||
4ee03170e0 | |||
025d20eaeb | |||
86425c81af | |||
1c2f5cea7e | |||
74edda99dd | |||
9d40a0be2f | |||
a1a3be1df8 | |||
4d75dbd1c1 | |||
96b49b5acb | |||
ef72defdce | |||
52c553e838 | |||
42f704a967 | |||
e9ac9f97e8 | |||
af20628a48 | |||
63d26b82a3 | |||
aa9bb44504 | |||
d252776668 | |||
35e65a8bc3 | |||
86bc2e708d | |||
372573eaff | |||
3c9291b335 | |||
034920c1d4 | |||
100f92c54f | |||
4c61294498 | |||
3d352a7218 | |||
7f2c0bf838 | |||
c5ec497bbc | |||
251d443e8b | |||
4534ed7a62 | |||
525c61f74e | |||
c0edb925e6 | |||
63cde524b7 | |||
2328144577 | |||
74efac1a3f | |||
823a329bb8 | |||
a17864c2c9 | |||
8264122122 | |||
197cfe03d5 | |||
de19bc372b | |||
759aa17e79 | |||
a49cd32da0 | |||
6a803bfae6 | |||
f75172fdcc | |||
2793716910 | |||
f39e105deb | |||
148207a8b7 | |||
61c2446142 | |||
2f5aec4b50 | |||
e9f0ed5960 | |||
ba9f0c3817 | |||
a0e32aafee | |||
48894ea620 | |||
beb58a93cf | |||
40c8cc9cde | |||
0d54a65819 | |||
0bffd0a1ae | |||
7ed6130428 | |||
7413815a01 | |||
1263622106 | |||
8ab5e15aca | |||
13c44457f1 | |||
cfad59a516 | |||
36b6b055bd | |||
9f47f958b3 | |||
eacd74f223 | |||
fb2ebbced7 | |||
39ede0af15 | |||
174d2635fd | |||
9a9b2778a1 | |||
ad6c407927 | |||
2585a999bb | |||
4225a796fa | |||
dd4acf643f | |||
fbdccebb66 | |||
fd8c596c40 | |||
e4aee2b178 | |||
4b0c8ccb14 | |||
80ed5012ef | |||
113d937c80 | |||
9ea73d1999 | |||
193f39bfd5 | |||
78b29f4567 | |||
d7326282f9 | |||
9a1d01f48e | |||
16c2ea3bcb | |||
ed0e2bd5ee | |||
a86af49b9d | |||
0d76a30767 | |||
a012136fc8 | |||
d13a57915d | |||
4af3df35e5 | |||
907a81e2a7 | |||
df853501f8 | |||
d43154486d | |||
86f845ad0d | |||
bf3c648fa7 | |||
ca342e1082 | |||
343644006f | |||
12b2a3a477 | |||
37cb922374 | |||
0c3806db69 | |||
dc8074560c | |||
34ffa64ba8 | |||
53bf72b131 | |||
0822ce8b08 | |||
7b49d1b198 | |||
a0ff874489 | |||
500da54891 | |||
1e638ba27c | |||
1542d16173 | |||
380411422e | |||
9ac0984c5a | |||
134d740168 | |||
161d090d22 | |||
57789db4d2 | |||
0dd4494063 | |||
a36f4f5fc6 | |||
17a9849010 | |||
63444c7739 | |||
071d7f3cef | |||
1201fb9a91 | |||
d96aaa6634 | |||
527fc8515f | |||
60a2faf4a0 | |||
e1e0b5cbaa | |||
274fa64e3d | |||
251d86bad1 | |||
f3649f03f3 | |||
848c37da42 | |||
f251a6a439 | |||
b9d53a0c8c | |||
836881935f | |||
6dc05a369e | |||
f8fdd7a8de | |||
3a59fef511 | |||
f99f308826 | |||
3b32af950d | |||
50139d00bd | |||
fa83887e48 | |||
e6b96dceab | |||
a3e68c9f95 | |||
5b89bf4666 | |||
f49fcc6bf5 | |||
a1a8f58a07 | |||
a2035cc4d0 | |||
5e78090306 | |||
f7bb72333a | |||
e8bef613df | |||
d190e0fa96 | |||
ab0686109e | |||
3088e43a5a | |||
e744ba643d | |||
69a6dd6aae | |||
964a60360a | |||
3228b266b2 | |||
e56a812a6a | |||
d14461f403 | |||
719f7bebb0 | |||
816919b3c8 | |||
fd618f3325 | |||
b2db3659a9 | |||
1c3da3f236 | |||
c57a0663ab | |||
3cbae049dc | |||
ca432d1fd9 | |||
b12caef23b | |||
f45c7671d9 | |||
2834d98f52 | |||
1c9a8d8083 | |||
49509189dc | |||
9c8c858e68 | |||
70c6185476 | |||
322b1c3d90 | |||
567ece44ea | |||
b739fd287d | |||
0cb7e614d0 | |||
93197d20b6 | |||
26a8dea551 | |||
f57155bca4 | |||
de4727aecc | |||
76364fb66b | |||
d832bda32b | |||
f3c107eb01 | |||
f2dcd9dd81 | |||
d901077335 | |||
ca261091eb | |||
08529918fc | |||
bc6a305f82 | |||
4c9440c673 | |||
d27cd2a328 | |||
3a4e201a21 | |||
315d3264b6 | |||
8d728c2090 | |||
5dfec71829 | |||
0f15030700 | |||
dee52d962d | |||
45d818b4ab | |||
4f29739be3 | |||
8c46232005 | |||
447f5777aa | |||
2cf2bd8197 | |||
4a0e5e4741 | |||
267edecccb | |||
8f95f74eb2 | |||
c4f5241e66 | |||
993092039b | |||
687ec6bd72 | |||
84429e092f | |||
4f2b5a5dbd | |||
db65dd60fb | |||
3c8a3d1295 | |||
f9ee35ea34 | |||
e64b8ac1e7 | |||
d34364bdea | |||
ba6e66328b | |||
43004211e2 | |||
8e158597f9 | |||
b5fc0c4088 | |||
6ed431589b | |||
10929ef008 | |||
b25aeb5937 | |||
95fc5d776a | |||
decb9717ce | |||
988d3eefa6 | |||
0f0a43c9b1 | |||
fa0709663b | |||
84e6123d7e | |||
3dc4d84586 | |||
8cc2962b12 | |||
476fe6ae7e | |||
3e90ce547c | |||
1151088c02 | |||
a006259e6f | |||
1bb621c002 | |||
a61e6546f6 | |||
69b48d8231 | |||
c64c9cd5fa | |||
4da79a7f25 | |||
612801d0f8 | |||
ff6b3af113 | |||
f45a6c2a50 | |||
2f308d4957 | |||
b26e255877 | |||
facf7d077c | |||
18af706d50 | |||
52f46525b4 | |||
0e9cc44d1b | |||
ae7d8379a5 | |||
a6514e2b1f | |||
8ff8937843 | |||
3de39fa36f | |||
2557d02eee | |||
acf96dfcdc | |||
3cd89a003b | |||
4ae5873e7f | |||
6419fbf193 | |||
0423bce8e8 | |||
1cd409f3a8 | |||
b9a59f74f0 | |||
97a45e6a2a | |||
982bf99c89 | |||
8139fc4be5 | |||
0110e1abe0 | |||
4e37a8dad2 | |||
12149ec0a3 | |||
167b7fcdd9 | |||
878a99f554 | |||
bc849b5459 | |||
f12c2b0837 | |||
b988f8aac5 | |||
347b471901 | |||
50f651baea | |||
b433470b02 | |||
eb99f62456 | |||
447c399d35 | |||
4bbd807c01 | |||
bf1de40853 | |||
fe33b4cb7c | |||
e4c30044f2 | |||
9a37ae6ef6 | |||
5c8a94ae9e | |||
8f75d79e74 | |||
49384da933 | |||
01a06b203e | |||
096158d6e0 | |||
2ed8992d73 | |||
b6cbda2717 | |||
edec4d9b9a | |||
26c7672591 | |||
31c099a7b8 | |||
c1913705ac | |||
fef71fcebe | |||
b8762ae2dc | |||
43b5730962 | |||
5cbf2be43a | |||
d056d87806 | |||
89734cec05 | |||
8f53e20955 | |||
9d1c9ee212 | |||
b3261661c7 | |||
d3690ee19c | |||
355471aa74 | |||
4c3749884d | |||
f945118f54 | |||
7d94b2b489 | |||
c07ccd9aac | |||
49465167a0 | |||
80f38227cf | |||
694ef4431b | |||
d1237da6cc | |||
e0f08727e1 | |||
f339b63b02 | |||
16ba8e12fa | |||
997e9f74a1 | |||
710a38a26e | |||
9fdd557f56 | |||
f7571c43f8 | |||
58d2947855 | |||
c5d0c94868 | |||
7e11dcb510 | |||
5aabdf6e12 | |||
891e6c37a0 | |||
843699e3cf | |||
3d1b2db1af | |||
200f8f7ec8 | |||
427ec78932 | |||
1d49d3e40b | |||
122e1dfe5d | |||
5a724a1adc | |||
bd9ab06808 | |||
4f30539b47 | |||
bf62e977c0 | |||
56395f4883 | |||
f8fbf0917c | |||
0029840db9 | |||
6e23da2983 | |||
2db459edb0 | |||
4faa72f39a | |||
593ac8d749 | |||
ff433b7176 | |||
49204e30f3 | |||
650de58220 | |||
9a59858888 | |||
e2828c0a20 | |||
5778e06771 | |||
e7c1f7da25 | |||
1f5154ee8c | |||
c0f4b1258d | |||
64dd9d000e | |||
3eac04982a | |||
cb3291965d | |||
8823ba1673 | |||
8d1ef734a2 | |||
fa0bf5c2a4 | |||
0a7a2694f9 | |||
793403c740 | |||
ca20fc3c6d | |||
60803c12fc | |||
456482c8ca | |||
ed8bdefcdf | |||
c03cdc143a | |||
ba3b2f8fd8 | |||
c8acbdc60c | |||
1d99076c7d | |||
478da724be | |||
28188e3e8b | |||
68bbbf8db2 | |||
fa93c5bd01 | |||
4f3251ed16 | |||
00b8cbd128 | |||
c25f61f9c7 | |||
5d5f6822f9 | |||
1a397369ff | |||
9d2902f750 | |||
1fc12db95f | |||
24858b0ba0 | |||
e0d497a3b6 | |||
951fb00d4e | |||
1400875123 | |||
3cc20202de | |||
d41f69ccce | |||
894f19bdf6 | |||
3460aa3a42 | |||
ee2f0b499b | |||
2cc2bd2d2f | |||
e1f6db512f | |||
7969a5c1b4 | |||
cc846838b6 | |||
fd39a8ef1f | |||
429b19962a | |||
5d5efaa97c | |||
0a817eb6e2 | |||
6e7e8bffba | |||
2a2488fa67 | |||
85e619c514 | |||
0fbbdfe60e | |||
d90154c8de | |||
f1e78a1349 | |||
b2a6151299 | |||
4862d53ff2 | |||
96fa6a24d8 | |||
521e0460e4 | |||
2c3ebd8b9d | |||
3c528f2830 | |||
791f7a4f63 | |||
dbbbb8f5c1 | |||
a0720431b4 | |||
7a9bd2b2e4 | |||
4924e42275 | |||
d5c5b5233d | |||
2b48258865 | |||
7b5a93153a | |||
c4fbeacd01 | |||
af776d8b66 | |||
067642d939 | |||
a361d35b8d | |||
9a83eae71e | |||
a2389ef316 | |||
421f1ee294 | |||
4b7d4054d9 | |||
285bf097ab | |||
f68bd1273b | |||
5d029bbb90 | |||
bc8f859b2d | |||
8a3e2b8364 | |||
8a979d92c9 | |||
f90ceb4c3c | |||
a3204f7278 | |||
33e9e44a17 | |||
f38992e608 | |||
9c4ae9131c | |||
34a7e66faa | |||
ee4646e70e | |||
a5e04af484 | |||
a6f6e6a592 | |||
69a8a53005 | |||
0a89d5237e | |||
2393ad0bfb | |||
9fc96407e2 | |||
5161b2ffa7 | |||
8a79a89ec4 | |||
def3c5ccab | |||
a3311b9f0f | |||
64bfc675a5 | |||
868c8873ef | |||
65bcb57eea | |||
9b592f70d6 | |||
7543627f1b | |||
06cd7dbe4c | |||
7bde4e80be | |||
9180bae9b2 | |||
0405dbed77 | |||
3b45454329 | |||
a874830dcc | |||
35693c5028 | |||
bb4c9ca2d6 | |||
b1e7adeca1 | |||
f9679c4287 | |||
31ba9356b8 | |||
803029685f | |||
98c92570d9 | |||
6f573217a0 | |||
759448893c | |||
e29dcdcdd8 | |||
cd6a45029e | |||
8ca7d26626 | |||
db59e48870 | |||
e233fc7ac1 | |||
dddaeed4c1 | |||
8e3787eaf0 | |||
def33cc5bb | |||
13e151f31c | |||
50a3265017 | |||
e98dd0aad8 | |||
998fdc06cb | |||
08596f50b7 | |||
96c605f39a | |||
a521d66116 | |||
5a845ee894 | |||
dc3beea75d | |||
87a98b55b2 | |||
976050113e | |||
fa2c118af4 | |||
5b7b04c938 | |||
1ef3779516 | |||
3d4b1710eb | |||
a6dedb8c22 | |||
52941673b1 | |||
b955304869 | |||
adbef6d2b3 | |||
17a3da8b99 | |||
5214c4091f | |||
bed82b0c40 | |||
52191f2123 | |||
f8157af3aa | |||
3e7438b001 | |||
7b1e7c30a7 | |||
cab2c53e3c | |||
69cab3a044 | |||
9eab93168d | |||
a7f669049d | |||
d27fff5923 | |||
3e6abc98d5 | |||
7c9753c8ce | |||
67dbbeaa30 | |||
366b205f2d | |||
23d224069f | |||
d672b5fdd8 | |||
faa0d638dc | |||
1eecb8c814 | |||
22d6ee8d9c | |||
2fb6f68ef0 | |||
ea6a3b488c | |||
cdb26fd011 | |||
d52bfbb6aa | |||
634d88c413 | |||
d7d8e0dd5b | |||
49838af623 | |||
cd4e3d52ee | |||
474da028ab | |||
98d0574746 | |||
33e0df19d9 | |||
c16bd3cc9c | |||
4403c56ea2 | |||
b24f48db7d | |||
fa2feae3d6 | |||
c83a17841c | |||
8d9cce1e09 | |||
54a6b1f281 | |||
fade723b25 | |||
691d58f999 | |||
6cecb0d963 | |||
e8f86bc503 | |||
ddfbeda3bb | |||
d892a336bb | |||
f2b9852a8e | |||
8b8ada6fdb | |||
cc22607dbf | |||
aab91213b2 | |||
39f5042d9e | |||
4c2c2c43d0 | |||
8c56ad116d | |||
d7eacd75ae | |||
0b20a174db | |||
ddc52a6481 | |||
3fd1174e76 | |||
72bc673c43 | |||
5bd21db8eb | |||
1c727fd784 | |||
bc76109df2 | |||
60a422736b | |||
99166482fe | |||
ac23f9da75 | |||
28c6df7323 | |||
307320c23f | |||
e8a3af1069 | |||
560c3f5ccf | |||
0c745347d0 | |||
07adfa6bf5 | |||
f38f30a3de | |||
5b92aa9c64 | |||
f123ffe78c | |||
21e0da3128 | |||
d6152ea1af | |||
060492ecd2 | |||
9018dee685 | |||
5aa98964fb | |||
fb970a43bd | |||
a3c0ba12eb | |||
da527ec12b | |||
11433c8e98 | |||
e12f3bf6e2 | |||
b961910192 | |||
c6e6d0d522 | |||
68fb5437f9 | |||
3627f2903c | |||
a5fa534705 | |||
dd96ab6987 | |||
c87814d750 | |||
66b5e1b32d | |||
da1a58a503 | |||
c45c2fb1f6 | |||
feed8e4bd9 | |||
314f280aac | |||
a45ed44724 | |||
bbc8d912e8 | |||
8aebfd34d9 | |||
b357e53bff | |||
705ebbea04 | |||
c9cb8ff8fb | |||
71e40782b8 | |||
8180427a16 | |||
5e3798ca48 | |||
a9921bcadb | |||
98b696703e | |||
fb43107e62 | |||
d27b2e818b | |||
36d81dfbdb | |||
9f0e21a4da | |||
0f633f7f7f | |||
16dd1c31c2 | |||
e19f403770 | |||
155cf5cd2e | |||
969531b6d8 | |||
1a97c89d7b | |||
49ec39fa7f | |||
d4ab2ee38f | |||
c16a7fc717 | |||
67f63e768d | |||
66e44e3252 | |||
77c4d6165d | |||
461f2a9ba0 | |||
d81103c58e | |||
fc0e5a73e8 | |||
d999a25212 | |||
2c351d8f34 | |||
75873dbf27 | |||
3b89c95906 | |||
170bc7a0fe | |||
e1ee23f29d | |||
977673894f | |||
334772008c | |||
9a41333c6b | |||
6a22c5f8ee | |||
8c974509ea | |||
d05ea79e40 | |||
c87ab01c2d | |||
4911942e94 | |||
7d8f7fb85f | |||
010ef428b4 | |||
3141fbade8 | |||
995dfefdf0 | |||
2ba796eb23 | |||
3a9980767e | |||
ab6d94430e | |||
a51d9b00f0 | |||
41865cc5b4 | |||
4d4193dcef | |||
816dbbc1b8 | |||
723b896330 | |||
d369c66256 | |||
1ef547eec7 | |||
385939f7cf | |||
4d685d433a | |||
b538d71e32 | |||
f903ef1d5f | |||
1b75e25b0f | |||
b09517b2fb | |||
aec294a71a | |||
adaab4a97e | |||
74a4dca481 | |||
2332d29ba9 | |||
6202fbbe90 | |||
b5e9946227 | |||
676e0acb07 | |||
7df45bbc0c | |||
36dcabac05 | |||
b399f103a1 | |||
dfafe798a6 | |||
b3f60a53da | |||
2852cd2b22 | |||
4763a5a470 | |||
9aea4ec9a5 | |||
b04eda2ca1 | |||
24ca80aab6 | |||
1840f935d6 | |||
e5ca71db06 | |||
88019ddbdf | |||
e5b8a04f84 | |||
1864f12fda | |||
3dcafa8774 | |||
b7f92a0b6a | |||
bfdb489032 | |||
97afddf36a | |||
97fe17ff59 | |||
1d903a24dc | |||
7e0b925162 | |||
2b9ee5d79e | |||
4875a1f054 | |||
4e71517e37 | |||
decd67efad | |||
89ea31248e | |||
20c64a1210 | |||
b699d61b99 | |||
4924cdb9ac | |||
be585d2ece | |||
6f8fd5d397 | |||
1560648197 | |||
b1bcd5bb8c | |||
799c321914 | |||
9cbbba68b6 | |||
159e64ca25 | |||
f6307ca9c2 | |||
b5af064f54 | |||
ce4dc66319 | |||
1c6b02a8b6 | |||
d7328abc95 | |||
457f77be37 | |||
35e09ec8ae | |||
2e65e9cb69 | |||
87d4f114a2 | |||
148fd99365 | |||
d57b82111a | |||
0f5b87cf95 | |||
6be82a4cd8 | |||
6943fc769c | |||
e10bf582aa | |||
c129254655 | |||
7c6dd796f2 | |||
ac435b4b91 | |||
8d14633dfb | |||
0427788e24 | |||
3e8f8c162d | |||
51c311827e | |||
bd5471a048 | |||
336a06f2d1 | |||
c5b8f8ec50 | |||
185b16d946 | |||
a3d3bc5640 | |||
a31ef8c242 | |||
bedc9b75a7 | |||
08c77dadf3 | |||
fda7d07b7b | |||
2e9849aa02 | |||
8e679f72e9 | |||
806b2cd42b | |||
95932ba9b7 | |||
2e19aa153a | |||
20861b5ad3 | |||
9f5fea993a | |||
992883ad0c | |||
6d4641d704 | |||
32a3d93659 | |||
0c923732dd | |||
026f86ba3b | |||
c89de227eb | |||
0ddeaedbe8 | |||
a9a97da9e2 | |||
2dceb126d5 | |||
1e0f132ff4 | |||
24fb14a643 | |||
35bd7afafe | |||
6c78b9115d | |||
bbba201165 | |||
2d4c2b9850 | |||
676284f311 | |||
6cf181a49b | |||
50c0a6d675 | |||
c420d538ee | |||
f48faa06c9 | |||
42c6025247 | |||
2b2df3a180 | |||
6da5e0bf37 | |||
f9c075d36d | |||
770e8e3546 | |||
afda49b7ba | |||
df09680626 | |||
c429ee1d97 | |||
150b809edf | |||
3c148f7e61 | |||
046e295b2b | |||
2c6bba3fe1 | |||
c7ec8f1d3c | |||
b2a9209f65 | |||
8ea8eba930 | |||
93d759f0be | |||
974f7b23cb | |||
5013f7d152 | |||
cf92ecf6f1 | |||
c5b32ee8d8 | |||
89321cfff0 | |||
d704c76b9f | |||
9a1da4bd07 | |||
7e247a3fa8 | |||
33005df7bc | |||
f2e2dc80fa | |||
f337537a03 | |||
0f864f6ef9 | |||
8f692f41bf | |||
574b8b6fd2 | |||
17e68572ca | |||
62eb94c9d3 | |||
e2949b7c9c | |||
2516947fd9 | |||
2e81436be8 | |||
79db98764e | |||
fa775b7651 | |||
e095c462dc | |||
6e85740236 | |||
32882c97f9 | |||
987f46c276 | |||
ca5a793ec3 | |||
9202cab661 | |||
e975e1bc6c | |||
efdd3e8c7b | |||
804c370d74 | |||
bfad0b0651 | |||
c3583173ec | |||
16fd5843a2 | |||
3d2a6f4956 | |||
27c94b586c | |||
e13b263ef3 | |||
8855db9542 | |||
852ab75005 | |||
9df0fee8fa | |||
bf89aaecfa | |||
7221a6cfc5 | |||
3ff77016da | |||
5ca1343b5f | |||
06eb6946d0 | |||
ea7c727a94 | |||
93001ef9b7 | |||
6f1a7b6720 | |||
5d16f8d5b9 | |||
603de3f763 | |||
675de7524c | |||
0bab8ed085 | |||
60293e9b1f | |||
9a8667a841 | |||
898176a24c | |||
7d67a19cfa | |||
b291dc8776 | |||
e55aa0bc8f | |||
d4dfc21f70 | |||
407e00dca0 | |||
0c9fa6f2ce | |||
4c4bd3cd97 | |||
bd72bfece2 | |||
8e275af3ee | |||
02d4116fd6 | |||
357c229173 | |||
3504918b43 | |||
dc3e7def5f | |||
d6ac7a9a3a | |||
e1e65cb0f1 | |||
064c6ced40 | |||
9405dd066e | |||
dafc6194a0 | |||
88cf831ed1 | |||
81827aad3c | |||
458751c2d5 | |||
a83c502d5a | |||
1f05c8044e | |||
e440403683 | |||
d5d9b280de | |||
aba1c945cd | |||
1d3c2e6572 | |||
71c6487cf1 | |||
d165357ec3 | |||
c0457358f6 | |||
0ea8f89e40 | |||
c7da027e75 | |||
014901bd9b | |||
323e5a84eb | |||
3709186b2b | |||
38ea9e3ef4 | |||
76d2b6699d | |||
c989d3cd10 | |||
fdfd63be3a | |||
369dee5938 | |||
ad00d847f2 | |||
8d4cb09048 | |||
961e09c631 | |||
1b2c03b9d8 | |||
f3e4cec919 | |||
21552aee3f | |||
2320c03087 | |||
b456a96361 | |||
a3148ca504 | |||
2204cee6e9 | |||
21f52c8af8 | |||
f346a17ce3 | |||
970e33a168 | |||
48f9b8b773 | |||
bbf6aef4e9 | |||
815c3634e3 | |||
f158c9c961 | |||
a23aa1ca90 | |||
4428195692 | |||
065c5870e4 | |||
7b73e85283 | |||
c8a20b9d3b | |||
753827ef33 | |||
d92bb3c3f1 | |||
600fa266bd | |||
58955be0aa | |||
e0fc3da747 | |||
2a86ef5bb8 | |||
2dc59e6e08 | |||
f874fc2717 | |||
cc7634fd69 | |||
eda13db4e9 | |||
14612f698c | |||
6b4a1ab82a | |||
8ec4024ab8 | |||
5717ce6e99 | |||
d08deaabe1 | |||
20265b09dc | |||
b4d71e1ab2 | |||
425413c35f | |||
5c1dcd57ee | |||
830fec3fbb | |||
967a76bd81 | |||
fe17a7d4d4 | |||
a2503fa2e9 | |||
37ccb2ce82 | |||
605f793af8 | |||
699b833bd7 | |||
8fe9e541ad | |||
ad65e8c041 | |||
df1aea1f2a | |||
feab4a4dff | |||
c8b9608154 | |||
c3d5b9d74f | |||
4a7a0e9979 | |||
f5ead3f029 | |||
9429844f81 | |||
4d23b9f18b | |||
d92745bb98 | |||
67ce1f251a | |||
9620ddc8f2 | |||
06d5b8b7fe | |||
4f9853a9a5 | |||
2f548e597b | |||
0e7a52a138 | |||
11be5562b2 | |||
778c7af37a | |||
640b040f6f | |||
7d6bf83afc | |||
4081d6c053 | |||
16ab8d591d | |||
35354583cd | |||
b42ca4d0b2 | |||
e477b0e8de | |||
75d67a42c7 | |||
c848ff6eb7 | |||
65a0e5a92d | |||
d55ed57c36 | |||
00f227a216 | |||
36695f278f | |||
f4c11dcb53 | |||
66b2888b77 | |||
e2d291b5ae | |||
03a6ccd20d | |||
1a010236cf | |||
81a4fefce2 | |||
0f12381083 | |||
7036ded25d | |||
49af4f7f91 | |||
5d15212228 | |||
9a458e4e58 | |||
713e3c087b | |||
dbdf170dcd | |||
eb76a455cd | |||
6baee3d287 | |||
f9decbb0c7 | |||
e56f0c7cab | |||
5e8e911b7c | |||
502dc54ffc | |||
ca971d1325 | |||
624bf72709 | |||
6ec48057d0 | |||
27802bb7b2 | |||
6b8c06dc39 | |||
624aa04ed6 | |||
cf886b54ef | |||
44bf309309 | |||
ae129fc6d6 | |||
b02a5014ea | |||
aab7f04904 | |||
1a9ac34721 | |||
63c5a0d516 | |||
f72c090b7f | |||
2890841e6f | |||
437d011621 | |||
42cdd22597 | |||
a923a431c6 | |||
8c740b08a3 | |||
9948c521a6 | |||
5c38b234ef | |||
55d11577db | |||
e141f358eb | |||
c8f25e0c05 | |||
0925bdaeb2 | |||
2c984883ec | |||
ffc79fbe27 | |||
def74aaced | |||
059902882c | |||
3bc9fbb496 | |||
491f66ee59 | |||
5ab991d0ab | |||
78b7fb2c17 | |||
0feb5ce0c8 | |||
90e4f3dd4c | |||
12459160d1 | |||
f2798f752e | |||
c19a2f09e1 | |||
fa5a475206 | |||
1bd23e3922 | |||
d1bf9bfe06 | |||
d222d1add8 | |||
bcb610a559 | |||
b6877e401a | |||
f2503fce3f | |||
649c8cb81c | |||
9ee9cd30a2 | |||
49af63b8a1 | |||
e845753ce4 | |||
a666af7b01 | |||
8cfd3f88d3 | |||
b95d427f7a | |||
d1862b4e88 | |||
1bb9786da3 | |||
506014f624 | |||
89a987899e | |||
cdac3aeb11 | |||
a9b09547d8 | |||
f5df69d1ae | |||
31e6298429 | |||
3d0303a57c | |||
5318d9c9d1 | |||
f743e0c0e4 | |||
35c3ae3bf4 | |||
109bd3b796 | |||
6dc65d9047 | |||
01590227f2 | |||
29bc20f996 | |||
c6529c7c0a | |||
8541325f38 | |||
4b1945ce58 | |||
96edc100c0 | |||
2494e9361d | |||
6397687940 | |||
5faaca09b8 | |||
22683fabf0 | |||
b4e94c8b01 | |||
bb4b793f4a | |||
8924280eb1 | |||
c32d7b42bc | |||
8dafcc6079 | |||
53cfdc8660 | |||
83e9456676 | |||
3fa42ac553 | |||
8998ab8b02 | |||
0ca534e059 | |||
a972e238dd | |||
060dc7b26d | |||
b621d9bef3 | |||
df8677c992 | |||
9c2d8135fe | |||
1a52a4fe51 | |||
512b1a7724 | |||
001b059322 | |||
80a3b96593 | |||
b5d402e388 | |||
2dfa65368e | |||
9f9bfdd5a1 | |||
cb3eaf680a | |||
9231f0b92a | |||
f90ff456fc | |||
aa8796d3fd | |||
1215cc7632 | |||
5526be21ea | |||
7eb03cb657 | |||
4c9b9e9709 | |||
14cedd97a5 | |||
b10578a404 | |||
dddc808069 | |||
009f7f1b2a | |||
d691bf2d5f | |||
a523f1d66f | |||
222f1272ba | |||
7bcfa920c1 | |||
396fb3db74 | |||
a6e60f043b | |||
7c09e546af | |||
833bb448c5 | |||
4ed30cae08 | |||
14dad2670e | |||
bf2f6e2729 | |||
1799290ea2 | |||
0923c62448 | |||
86284c231f | |||
9b6018c4a6 | |||
530b111c42 | |||
300338fccf | |||
7e3c1ced40 | |||
f7a09278b6 | |||
6e86f77cda | |||
48c825ebd1 | |||
49d014f7a0 | |||
f684530a7f | |||
f78e844b55 | |||
d6317e738e | |||
1733983d55 | |||
15ad9dd1b7 | |||
8eb7b35010 | |||
8bed7ff2d9 | |||
d825e479bd | |||
3a15fd1621 | |||
6552b99fc9 | |||
75a4a6a40e | |||
64b502fab5 | |||
8f585cef9b | |||
e63049fc15 | |||
1be4bbc57a | |||
acd3788bb8 | |||
1bb4f84202 | |||
3b1eac5c04 | |||
b9a9dcd8d6 | |||
6526e78967 | |||
2f5025efed | |||
1ed0908282 | |||
40d3409dab | |||
7ec4671f81 | |||
9e4488ab06 | |||
a00db94270 | |||
bd12700be8 | |||
df14a021d5 | |||
166932c5c0 | |||
ec69bdcd2f | |||
3ad216be1d | |||
067f703329 | |||
ce934056df | |||
711c0e5a54 | |||
b3b27f7dea | |||
956432cbb7 | |||
5a040d6662 | |||
bf26485d36 | |||
886c1ffc65 | |||
a7b86c3362 | |||
c672a72135 | |||
26aa7503a7 | |||
69451f17a1 | |||
04c3b5a016 | |||
45d3205ba5 | |||
deb5645644 | |||
6a9ae29c05 | |||
ae1ca82e87 | |||
d1130b7ec0 | |||
0a0e7514bb | |||
e30e4f5450 | |||
8d66fb1a70 | |||
da5d0251f5 | |||
ab82a9f9b4 | |||
f19e461f4f | |||
7835861f9d | |||
8b86f21f45 | |||
0b6e63220f | |||
45257abb79 | |||
852c5dc101 | |||
e33377250c | |||
ea1e36694d | |||
7203aa5c2d | |||
401fd381bb | |||
ea708cd617 | |||
912a262b7b | |||
f95a11eff5 | |||
0a5da517c4 | |||
749daf360b | |||
6990cb29ab | |||
771806da49 | |||
f6fea4fd07 | |||
8ed5835a14 | |||
cbbbb6c79d | |||
d7d551523d | |||
e27e1c1c63 | |||
5e5335da68 | |||
a52d26f2e5 | |||
cd906960df | |||
f61070e87c | |||
d03e896b57 | |||
7fd9b86eae | |||
c1345d6d70 | |||
f09872c5bd | |||
8a604bdbae | |||
4ac8598f4b | |||
511884e7e8 | |||
d641addf38 | |||
319fce53c8 | |||
193e86b814 | |||
2a09a84f15 | |||
34362d0c0f | |||
fed17f968d | |||
53e3c2414d | |||
e249b1a313 | |||
1347571f9b | |||
b205c5d8c1 | |||
94008a81e5 | |||
1e336dd91e | |||
08e7df9d5d | |||
c6d7fca0cc | |||
44cc1b9cac | |||
3d2df35c6e | |||
c9043411b3 | |||
7bbc9a512a | |||
27c8bf0cc9 | |||
c37fd87d85 | |||
9c2f3cc9d9 | |||
6537216b7a | |||
516eff01e6 | |||
436f1c471a | |||
036b16b884 | |||
901566597e | |||
d9dade3cb9 | |||
5bbdb0c948 | |||
26fc2a40ae | |||
f690c93f25 | |||
81b5631258 | |||
ec929142c6 | |||
73fec24319 | |||
f0f73bdb1d | |||
16ae1cf233 | |||
b56a8d0272 | |||
460ea9d5d2 | |||
1cffc55d35 | |||
3adfeec58f | |||
669a767635 | |||
66f1a98e7f | |||
88058a26f0 | |||
d0a5688a93 | |||
a6cd1bd6a8 | |||
08248c0ce8 | |||
122b45be6e | |||
28dceaec71 | |||
1543252e5f | |||
6d449e005c | |||
6ad80f1b81 | |||
e8df32775d | |||
000490a221 | |||
d91f73b1d3 | |||
0d98cc4844 | |||
164b93bd9c | |||
29f1580086 | |||
4c0299fbc8 | |||
6f9786bbcc | |||
6c8826de8f | |||
95b5b025a0 | |||
60bdb327c6 | |||
52163149b4 | |||
e1b3864f0e | |||
d282ae3889 | |||
72c2e11beb | |||
568670f94d | |||
9c64c08b18 | |||
1a847a11be | |||
4944609bd0 | |||
411023af72 | |||
3d242755ef | |||
6a342360da | |||
e5f6ff88c4 | |||
97e612586a | |||
8ebdbbc3cb | |||
ba35f3582e | |||
880364040a | |||
957e232277 | |||
ceab0fbc59 | |||
9fde88973a | |||
6101dcf670 | |||
f1a03b1d6d | |||
c6e4cc8873 | |||
acd98d8772 | |||
d2ebe16cb4 | |||
fb8c78b2ec | |||
f3976b67e0 | |||
d85f25fbb9 | |||
6c6c35f20c | |||
1b07797a7b | |||
d164feb726 | |||
6d87ac57e2 | |||
a6065ec328 | |||
afd2f6ed62 | |||
4dba71fd25 | |||
58a38af117 | |||
690705529d | |||
5962b8a91b | |||
1e56b0fe6f | |||
4afd0915a6 | |||
aeb8b3d4d6 | |||
f5575315fd | |||
bf71c7292a | |||
e146fbd60c | |||
9efb0c0825 | |||
1915ec1fe7 | |||
2e438c9a6b | |||
29ad9f7640 | |||
45ad511a8a | |||
1b302934a9 | |||
adf21da264 | |||
6b650811e5 | |||
897f72a111 | |||
6fb95d8558 | |||
55d47bd1bf | |||
164c5eda27 | |||
13831223be | |||
f2b36036c7 | |||
4ee037e8f0 | |||
630fb54886 | |||
10817c7d5a | |||
ad60b7fb56 | |||
856a3f4a3c | |||
c586e9a0a3 | |||
3a1333da36 | |||
a2efadd1b4 | |||
6cb30195ad | |||
961f94d84e | |||
a8c10c8298 | |||
ccbb98880b | |||
d0b2aa1c5d | |||
6fa6e11d78 | |||
42bb7df28c | |||
854c897eb8 | |||
de10d5bf4d | |||
f73a3a5e08 | |||
9efe34a396 | |||
bc4b85f371 | |||
666f886ce7 | |||
c35f281934 | |||
f4c97ea131 | |||
b6777d8235 | |||
f9c606901e | |||
d8e35808ed | |||
bed947368c | |||
d9ef02ce1d | |||
4b966b57ed | |||
96fa2377e2 | |||
769b6579da | |||
f0d62cefe8 | |||
68eb439d80 | |||
7f7b01d467 | |||
b3dcb96dc5 | |||
c6f029cbcc | |||
fd2bb9b6bc | |||
65d73cc457 | |||
5e2f1b1e64 | |||
fec16a3574 | |||
4e85ec705e | |||
9fb58575d6 | |||
2caa2fc56e | |||
a9e595770f | |||
55a1ba3043 | |||
f32d1e3acb | |||
bd3d197723 | |||
ef9cde146b | |||
ff207d7874 | |||
677d4ebdd2 | |||
9ace946c23 | |||
30e8fc1f4e | |||
eb35327681 | |||
e109a6a47f | |||
2595946bcd | |||
26651c85a0 | |||
a11b472fd3 | |||
97a86734d2 | |||
8d70cf71a4 | |||
6dbded495e | |||
2c341c1fea | |||
f19677aee8 | |||
61b50a64bf | |||
4c1a389828 | |||
a5f11ebdd7 | |||
b68e22409d | |||
b16a87d16a | |||
6e94623a24 | |||
f2812dfe53 | |||
30b3660956 | |||
39f2aa0904 | |||
796a8f3dd3 | |||
b171f76812 | |||
987ec8837a | |||
6e1fb6ae9f | |||
6a5d770536 | |||
b65f609bfd | |||
826955d365 | |||
7f3807728b | |||
bd15ece78a | |||
d6b6b22616 | |||
5f69b867f0 | |||
ffa79073d3 | |||
9049dfdb68 | |||
a261502de5 | |||
b9dd2561f8 | |||
73d7f3e837 | |||
e14e66bc0c | |||
fa963fd203 | |||
fc2dc0b117 | |||
57b8fe14a2 | |||
e0adb0bd80 | |||
bf541422e9 | |||
cdc156ebd1 | |||
549c2cd24f | |||
60d9b891f6 | |||
6ae4d2e0a6 | |||
d91f3a4eaf | |||
dc522d2202 | |||
25cd8e5f95 | |||
655f2e0bdc | |||
ba67276177 | |||
c60f3b2ced | |||
987f1f439b | |||
85f87e823f | |||
c929f0933f | |||
baec560c7a | |||
501b71e7bb | |||
7008085fd1 | |||
a6e0538270 | |||
84dbace1ea | |||
d8fd2deda1 | |||
803241c03e | |||
8917ab4346 | |||
b18fec54ec | |||
b33ee1da7d | |||
c28302fdda | |||
ad11533458 | |||
8fdfa30255 | |||
e086d149ce | |||
148f075264 | |||
558eafd5b0 | |||
60fb9350be | |||
ee0f5d794d | |||
aafbe136a9 | |||
ac08e8fa8c | |||
160e5a963d | |||
716bd48a53 | |||
461c33b226 | |||
21dc639f99 | |||
a3bd8e9618 | |||
0c14c0c585 | |||
91fb8ca7e7 | |||
e8bb6d2b16 | |||
89d6d2b82c | |||
7e9801171e | |||
3c963d9e88 | |||
f225d761ba | |||
1a3de8e5bc | |||
134908381f | |||
a46fd86910 | |||
3c16616725 | |||
743c1c0894 | |||
c468641917 | |||
79e8cd9809 | |||
d171e7f12b | |||
373517cdeb | |||
c960564811 | |||
f007ab7b43 | |||
aa4cd73409 | |||
d750875cde | |||
0d6dc48f01 | |||
87bbeac2eb | |||
8834040069 | |||
c9205c57ea | |||
7202365160 | |||
91564fc370 | |||
325afdaf9f | |||
8956b1af59 | |||
b9af5133dd | |||
a39a812e40 | |||
3c3516b874 | |||
c436541c3d | |||
0eb165adf7 | |||
d78722f2f8 | |||
c8c64c12a5 | |||
fb9110b9e4 | |||
f7e52a7aa4 | |||
11bf65caef | |||
f9fea868ba | |||
1e54a1861c | |||
660d1eea14 | |||
9159e1c527 | |||
aea60bcd43 | |||
93781523a5 | |||
61ed4ef5d5 | |||
d835da9155 | |||
4fce79f69c | |||
153e526f77 | |||
4531edf083 | |||
e8930e560f | |||
0e8e7467a4 | |||
0fed078cec | |||
291758ddba | |||
e72ff319fd | |||
ed6cbe5aca | |||
cb4d464633 | |||
a0f3b86e13 | |||
8de7c01e8b | |||
47ee85f4d5 | |||
976ca5e477 | |||
33e2b923e9 | |||
b6ad6b66a8 | |||
f360006454 | |||
d8cd835c4a | |||
1dc827a1d9 | |||
072c99a0df | |||
89d9bf900f | |||
ddd43de586 | |||
606f4f6c2d | |||
07ad894195 | |||
7132b62413 | |||
4114fdc9a8 | |||
ecb5e2db52 | |||
9fd53fdb04 | |||
7b7b8e48d8 | |||
7df5c68689 | |||
419c5785c5 | |||
9483001e72 | |||
89822add55 | |||
a1f245ca53 | |||
6f0531cc3a | |||
f0b28d8d89 | |||
afc5f9b8b2 | |||
69c02b0cd8 | |||
0932435a02 | |||
4b5ba94363 | |||
9baffae485 | |||
1538d15e5c | |||
d8994f8d2a | |||
0c84a9982b | |||
01ab9b11d8 | |||
f0d5188cf5 | |||
d02bb67dd6 | |||
598c0dda15 | |||
d49c3f278e | |||
49332fe856 | |||
c6ee1509da | |||
c86c9266f0 | |||
b80535a135 | |||
22baa3352c | |||
5fb435a691 | |||
6e44364908 | |||
5b84dfd1c1 | |||
bb31562e9e | |||
3c164e13e7 | |||
236245ec7d | |||
520c8c070b | |||
7458ade42e | |||
7af2b65e67 | |||
801f4cd951 | |||
5b4a914fdf | |||
ef7dd5d54d | |||
36d7f82d98 | |||
cdf99a9b3e | |||
fb0a751c76 | |||
7d030c7772 | |||
c9cacc0565 | |||
53ead5514f | |||
7fd9fed908 | |||
6cd5595bba | |||
d81debd946 | |||
7726a7f272 | |||
3c35a5b7ec | |||
3dfb485334 | |||
542ac2f3f8 | |||
2ddcf409c3 | |||
1ec8f97782 | |||
7c3e48c573 | |||
2e785705f2 | |||
b7a4a430c0 | |||
51f60578bb | |||
6f9e817bbf | |||
25866fe893 | |||
f69cb29c20 | |||
78ba98a797 | |||
73a0d0af64 | |||
d9cb72559f | |||
a88d5e3bca | |||
662bbcfe72 | |||
fcfa4addd1 | |||
283e5876b5 | |||
e779523193 | |||
7ac796c7b2 | |||
de6ecd0101 | |||
45aae7f10f | |||
c5573d62b7 | |||
712c70b357 | |||
3cd00dbb3e | |||
0d3e3f54c5 | |||
cfec5ddc16 | |||
4236e2a23a | |||
b82486496d | |||
68eef53ead | |||
84656e15c9 | |||
bdef1cdebd | |||
5899b0d2b9 | |||
e30695dbe1 | |||
738a385b66 | |||
52a22fa7e6 | |||
bbf2706fb4 | |||
209efccba6 | |||
9bf8f6bd90 | |||
c6df44b959 | |||
acc91c335b | |||
6b8728f3ad | |||
2f4b31f5a0 | |||
4a16be91dd | |||
fdcf698a89 | |||
e6d6d3620e | |||
ff69f5cb3f | |||
0208b51215 | |||
72bae5b9bd | |||
25cc4a210d | |||
e7b54bfc36 | |||
849d57a8e6 | |||
eb1725971a | |||
ff7ac271c0 | |||
9122d67a24 | |||
4e04776a1b | |||
a0405b84ca | |||
9b2d1d8f61 | |||
ee63b44c47 | |||
1df1cf994a | |||
1f5c5da812 | |||
3c705fa35d | |||
70daaf4be0 | |||
35aa4355c4 | |||
aae7d4d5c8 | |||
8993fc82ff | |||
07192dc7f5 | |||
8e013cd8c8 | |||
626abf0758 | |||
1bff742c12 | |||
9a3e9a495c | |||
026f00476e | |||
80503e3c54 | |||
a2cb3400a6 | |||
6f95cb50c5 | |||
0eba73228f | |||
45b1da33c8 | |||
826b45b69b | |||
777099046f | |||
3083f359c8 | |||
9c7c6baeb7 | |||
669184434a | |||
514277f746 | |||
a19ff6dea3 | |||
d9251165cf | |||
5ae84037fc | |||
3c43301185 | |||
914f50552f | |||
ed0c7f53eb | |||
a8172c329f | |||
93e8f80434 | |||
88a496a9c8 | |||
a0e36d8cba | |||
b525ea726b | |||
19491c526d | |||
f37146de32 | |||
e36205daf8 | |||
a657b1f7ce | |||
92d3899790 | |||
c9933b2c27 | |||
69b00c6f1b | |||
25f6db4d2d | |||
15d03094cb | |||
517c5a8c54 | |||
7125318ac4 | |||
61e5816b26 | |||
d4eb998fc1 | |||
082d822861 | |||
84d0fe5113 | |||
1caa279325 | |||
0d3606b2df | |||
23b68fe78d | |||
e247435c6b | |||
6317aff5b3 | |||
b6cce33b18 | |||
9f44a8cc39 | |||
7ef5376123 | |||
d669562663 | |||
1075fef445 | |||
d8210d6ee1 | |||
7a6451bd3e | |||
1cf0acdc1c | |||
11ca995500 | |||
cf9e0a08f5 | |||
b06873f77c | |||
a90aebbf2a | |||
2d9e96a5ab | |||
e8097f7a28 | |||
dbe4fe2c88 | |||
57ed348b20 | |||
c8870b1334 | |||
035e9f9f0c | |||
0811a6492d | |||
f0d5f67e46 | |||
2c38933a0e | |||
f634aed758 | |||
f571ce5c67 | |||
67300f88cd | |||
c5d0761dea | |||
9601b1e273 | |||
3541c31add | |||
a3c287d7a3 | |||
b8e5baf2f2 | |||
5d8fe86db2 | |||
4d9748f87c | |||
82a9f865fd | |||
90a439384b | |||
6580674b34 | |||
a3acac15ee | |||
00b682e6a4 | |||
fa317d574e | |||
53ba14de1e | |||
9eac097205 | |||
54ce4aa98c | |||
56776a1ab3 | |||
576861994e | |||
c0fc38eed8 | |||
f1ba7d6c8f | |||
3de1253318 | |||
6a8029c2c9 | |||
aebccac7e1 | |||
a6b41f2fd0 | |||
e1465e2157 | |||
2c021383c0 | |||
3ed3138eeb | |||
9b3112c875 | |||
44e4bf26a1 | |||
4371bb96d4 | |||
275a9a3d7e | |||
badea79500 | |||
e74da16741 | |||
3ee2420514 | |||
43ed5d2534 | |||
e48dcb708c | |||
44807acaef | |||
62cd5e8603 | |||
41a8043bdf | |||
40a38cc8f0 | |||
c3e36ea20b | |||
8de4d27810 | |||
c3aa659286 | |||
23f272994f | |||
0f1fb8a868 | |||
5e6b0f0cac | |||
1fac2e20b8 | |||
f189249eb6 | |||
c7b549ec99 | |||
5f9395cbc1 | |||
d9b1dfe968 | |||
d522f38c7b | |||
51249d6bed | |||
715c17a750 | |||
64c77dc299 | |||
4257e8c132 | |||
78c4d0f6a6 | |||
e5c547c2d7 | |||
20e1dc27e9 | |||
8fb4c9d956 | |||
9b9a763ca9 | |||
787b46673b | |||
d0033e363f | |||
c705ecd2eb | |||
fec9abc697 | |||
bec412156a | |||
ef79e77c58 | |||
b366bcbd29 | |||
f25c11236a | |||
b40e185b9c | |||
7322384ca5 | |||
b3bb646b7b | |||
1335f4bb81 | |||
caefe5c366 | |||
dceb2ff95e | |||
9a657e2b9d | |||
53529b2698 | |||
f3f56a2567 | |||
135ab119a2 | |||
726bf18065 | |||
2cd41c6371 | |||
d0827aace3 | |||
e378cdbb61 | |||
593b0f1f23 | |||
5004e93053 | |||
b4b85ebf60 | |||
c8a86954f3 | |||
46ffccd753 | |||
f4a8a92cc2 | |||
7f287d23bc | |||
d6ac209c74 | |||
63aca9233b | |||
7bc8fd58a3 | |||
cf46099979 | |||
ff7725e742 | |||
042ba16ef8 | |||
9244358536 | |||
14bed61ba1 | |||
53105a5226 | |||
56c0f80244 | |||
2bce51ea2a | |||
8b518776da | |||
f5afc1a5a2 | |||
a3ad319fbf | |||
e2542a1af1 | |||
90072900b3 | |||
2b523ce631 | |||
0f08d37d20 | |||
dfe2ef082f | |||
6435576c46 | |||
e125bea5a0 | |||
2b1fdb034a | |||
23a6d6c7e7 | |||
a292f41fae | |||
ad0288a843 | |||
323bddb1bd | |||
8754965db1 | |||
fa03a9f059 | |||
2cf52d80a6 | |||
003fe294fe | |||
d75deb1d22 | |||
55fe9ee03c | |||
8c24006711 | |||
4cc8a6ccce | |||
7afa1bae2b | |||
ed688abe51 | |||
384dfacbca | |||
66757b121a | |||
d29b4aef1c | |||
f251660a0e | |||
e7bdc1b9e0 | |||
e078b058e3 | |||
d579d80d75 | |||
a16ed34638 | |||
6e007516ab | |||
b6a0b26e88 | |||
8baa3712c5 | |||
7329653512 | |||
e3012ace10 | |||
38bbff47a7 | |||
8b570bd2a1 | |||
6ac0534bbe | |||
2a099f160d | |||
ff968239df | |||
c762e231da | |||
9f1588c26d | |||
336fdfb65d | |||
ea225cc40f | |||
4d51071c04 | |||
d518c6593c | |||
5fb66adc32 | |||
2c789782ad | |||
bc18fb3e1a | |||
a01f8bc450 | |||
70f30afa89 | |||
60ef19bcf3 | |||
fc71ea82f9 | |||
0d42db666b | |||
f6ba75c736 | |||
cd9110b6d2 | |||
9228f9e49a | |||
7a9716bb45 | |||
c547996c7c | |||
8dfb0f9111 | |||
a53772c5d6 | |||
fb2bf88a84 | |||
21ddf55a43 | |||
8a3f5a1d0b | |||
38aafa329f | |||
8409f156d5 | |||
bb20e42f7b | |||
218fac1108 | |||
0dd3cf4534 | |||
7dd42da9a0 | |||
672bd9bee5 | |||
e95da5fdc0 | |||
d12e4f5088 | |||
30b50adef0 | |||
117e436115 | |||
577c6b9225 | |||
526c64249a | |||
38688519cf | |||
25d16291d4 | |||
63f72f0cd0 | |||
74a00b9cec | |||
8b45c1244e | |||
8ea8d856f3 | |||
39914a50ae | |||
d96ca24652 | |||
b45b48de73 | |||
8076647864 | |||
16528cd26f | |||
fbde1a5880 | |||
25d01be47d | |||
dee0d45ab4 | |||
596aed268e | |||
e5db74070b | |||
3cff98a0e2 | |||
e47bff86ca | |||
cb28d649ea | |||
412222ae75 | |||
234c42f7ed | |||
461d1c8268 | |||
f2a9a3fb41 | |||
bbec7129d4 | |||
306550dac9 | |||
4dfcd7acdc | |||
afa72ee684 | |||
c64f37db92 | |||
2873fd2770 | |||
9e86b71e79 | |||
95ed81e4ba | |||
c23235e7dd | |||
9d638a9516 | |||
dcdbda5c93 | |||
c0797f50e1 | |||
297b634062 | |||
40adaf6e7c | |||
ed9f562ca8 | |||
af4bad167d | |||
df0396149a | |||
cd37368c6c | |||
8665d88561 | |||
ec7b31353f | |||
4060860942 | |||
5072ed2bb2 | |||
8f2a647ec7 | |||
ac9f36e71e | |||
d0777c976a | |||
7b42153e58 | |||
a057d2cfd1 | |||
f298a6bb20 | |||
8392a299ff | |||
9ebfb8d413 | |||
89845064ba | |||
2a13527d77 | |||
8a7940ad4a | |||
20f092d339 | |||
df23c33a54 | |||
da70cb50c2 | |||
b72c1103aa | |||
360d31fc9a | |||
c88f2b5be7 | |||
e01e9b83f9 | |||
2dd74906e4 | |||
c39598c975 | |||
3f6de867e8 | |||
5502ad1011 | |||
49fc4e3e43 | |||
39564922a5 | |||
feab41b030 | |||
acbdc4d72e | |||
3729b1c2a8 | |||
b1c3b9963b | |||
f83b7d494e | |||
2515c5e313 | |||
0c4a39651d | |||
bcaa87d603 | |||
22ce1e80af | |||
a0eb855ef4 | |||
47fee08fc3 | |||
c0e3004af0 | |||
3741e99bd6 | |||
14fa11f9b9 | |||
5684941f8b | |||
7c0a1fbe30 | |||
24a05478aa | |||
1afa771201 | |||
875f7315f3 | |||
f26d7ea2e9 | |||
c6e26fbf85 | |||
eb5c3adcde | |||
9a321f31c8 | |||
1233c43a98 | |||
5436548993 | |||
be738e5d24 | |||
54a03e43af | |||
6f7875fb56 | |||
199b10fc21 | |||
b22bac893b | |||
7703b19530 | |||
90eca85596 | |||
a35c0e81b6 | |||
8680882762 | |||
35842669da | |||
2c822ab513 | |||
17144bc521 | |||
b4a5ef4ffe | |||
32bb6b6500 | |||
bb9d106eab | |||
65fe21f1c9 | |||
c4d77128c5 | |||
724c0cd5b4 | |||
147c9578a1 | |||
bcfd757961 | |||
efade6dd33 | |||
39cb97d64d | |||
ec11a6e5b1 | |||
932783daf8 | |||
a1cc78096f | |||
a434f6155c | |||
30d8e724e7 | |||
403d22076c | |||
766bd0040f | |||
184ac20fdc | |||
3befdf1161 | |||
9b0f169d25 | |||
b6c32d7fe4 | |||
4b8092aebb | |||
34aa639a26 | |||
0805c7010a | |||
d77525b5bd | |||
93447c42a8 | |||
4ed0a830b1 | |||
a0be874637 | |||
ccf8134b5e | |||
6afd7273e6 | |||
bbe0a99d66 | |||
069b6d0479 | |||
66cd18462c | |||
88ffed3df8 | |||
1d7a9debf2 | |||
1e71fe107a | |||
28f1729f15 | |||
6aec7c57b2 | |||
814dded4cd | |||
29a92e87ca | |||
086a91c05c | |||
248708533b | |||
6eda41743e | |||
50b45d35f0 | |||
d6bf000a0e | |||
0225591a2e | |||
77963b9d81 | |||
bbd07043ff | |||
f06ec60b48 | |||
cee3abdbaf | |||
6cc6f42673 | |||
2badaa5b6a | |||
02b61ae9c0 | |||
f7d86f21e1 | |||
e943e9fc24 | |||
a0b92b019f | |||
a21a738cce | |||
6f138873fc | |||
ce0315c180 | |||
10b93311ed | |||
c2240f1245 | |||
2bc54e7c00 | |||
8b8e9bc84d | |||
11f6177ebb | |||
3a5217a77b | |||
34c8a19f92 | |||
b312f196c9 | |||
eed8079ea0 | |||
82f0a68a98 | |||
e0ddb37ae8 | |||
bcc3059d83 | |||
c1de4b456b | |||
d5568f46e8 | |||
a872b9a3bb | |||
61b90b173d | |||
665476df2b | |||
1a8eb6c021 | |||
c6d6f60bc4 | |||
054620dcdc | |||
9c63fd5ad2 | |||
d4f135d31b | |||
c826ba419f | |||
03f6820194 | |||
b660f4ee47 | |||
acb4d72fff | |||
d53c4784de | |||
a4d3dbc1f4 | |||
62d42c3266 | |||
9022344cde | |||
c760e41a41 | |||
957fde633b | |||
6dac0c54cd | |||
3893c8409d | |||
38155a1549 | |||
e4a7ae5358 | |||
201928b9eb | |||
478c71e25b | |||
35835de942 | |||
d540d7c19d | |||
5f7cfb388e | |||
077dc2eca2 | |||
b511804169 | |||
bba97354b0 | |||
9099feaa94 | |||
5ffc2c8a3f | |||
d5ab24cd48 | |||
75547dbc53 | |||
9c4514ba14 | |||
f43e0e7247 | |||
e173f2bd54 | |||
fad1cb062e | |||
a3214c6d76 | |||
692db41b7d | |||
fe4200ac13 | |||
74633b5580 | |||
57acfad0bc | |||
b9c7334d8e | |||
621aff9c02 | |||
c05691af93 | |||
5a9b7aa8e3 | |||
4b864e5c30 | |||
ebc36c1b48 | |||
d1a42b6fa9 | |||
f8a187fcd5 | |||
8db77d71bb | |||
b02cc14367 | |||
2e8e0601fd | |||
492ce25475 | |||
1e811069b3 | |||
6b81bcdb6b | |||
f48f1fdc84 | |||
9e111f2853 | |||
1527a12e00 | |||
865c97c304 | |||
4a8cb30222 | |||
ae626d3035 | |||
29e71b1291 | |||
2a90e396fc | |||
333751b22e | |||
eb80d8da88 | |||
b65845cb2b | |||
5e0cd9fd4b | |||
cf4722d317 | |||
f6bb293f1c | |||
b11f9f7e16 | |||
175445b4bb | |||
c3d2e9c593 | |||
d6cea76dfa | |||
4dff4fe14e | |||
1dcc669aca | |||
577766efd5 | |||
54688b48d2 | |||
6908e31ce6 | |||
caa5f59279 | |||
cb09b85799 | |||
41714ed541 | |||
d914292142 | |||
0640c281c3 | |||
85894aa5bc | |||
f26d76b062 | |||
ca22e6c389 | |||
38c99b5659 | |||
8f7f4bf87a | |||
6cf0e4a353 | |||
99a9928447 | |||
5ef258b3f6 | |||
ad6b27e9ef | |||
8610dd5022 | |||
a4795c01ed | |||
ec37ef2bae | |||
667d0f8966 | |||
a0bc90e4ab | |||
eb80b1efa3 | |||
8d37fbdcf9 | |||
0e7cf3d81d | |||
a8cf2f2d73 | |||
da10c48eb7 | |||
8915abe115 | |||
c86c0cdb11 | |||
05208b50c5 | |||
a920772d29 | |||
52398d6474 | |||
50c73b5d46 | |||
5be9959e73 | |||
c15281f91d | |||
a88848907f | |||
91bd6e19c9 | |||
9969f4b609 | |||
4f73242052 | |||
251e26683e | |||
fb8876d356 | |||
f18034c1b3 | |||
eaa21ae171 | |||
f7319225e9 | |||
c0f85e7a18 | |||
9f6e25d6b0 | |||
7a0eff6b8e | |||
7ef330304b | |||
f4040e63c8 | |||
f67a1aa76a | |||
afa3e5aa49 | |||
34f0f05158 | |||
30edb46e8c | |||
74bce48f1d | |||
423bc1a379 | |||
c8ffc82734 | |||
298b00776a | |||
a31b7ea7f7 | |||
e5af14ace6 | |||
5e80bcfaea | |||
26d7d737c1 | |||
84fef892dd | |||
336e25a3b7 | |||
cdaefbbdd9 | |||
156aa9b4c7 | |||
ebd5be3f66 | |||
a7a40a5b10 | |||
0700940bb7 | |||
385e43274e | |||
02f2b19384 | |||
7f96c05280 | |||
b2af2e35f4 | |||
8b1c6c6cb3 | |||
1c718519f4 | |||
513d359dad | |||
a43380e3d5 | |||
debb8085c6 | |||
df864709a5 | |||
66d090b664 | |||
f85e3cd269 | |||
fd1a53f5c1 | |||
1750877ffd | |||
abbfa555b0 | |||
d454f86ed8 | |||
151dcf49a6 | |||
3a53da1632 | |||
15b439e264 | |||
1adba03884 | |||
648c28f5a0 | |||
300f7ea18d | |||
9a7670f1a3 | |||
5ec1c14058 | |||
aa41563483 | |||
77b2d45c9e | |||
cfb90fd204 | |||
ee443c8d3e | |||
51a35764b3 | |||
245fe4bd29 | |||
07c91d55db | |||
f9009dde54 | |||
d9e568a046 | |||
433810a577 | |||
4c7ee50072 | |||
ef29befb09 | |||
ec1afc58af | |||
bbd72d22a0 | |||
c856313f08 | |||
5f9849ebd5 | |||
f3e5f9966f | |||
d307d0d2fb | |||
3046948867 | |||
4ce67c02b2 | |||
4e93e94c7c | |||
7528311929 | |||
65377eba7f | |||
be5dc3daa0 | |||
b85997df25 | |||
71a488d428 | |||
57fecef66f | |||
1250820916 | |||
4c24606637 | |||
b739d80197 | |||
60ac26521e | |||
1bc4bb75fb | |||
8b468400f1 | |||
2d20b68b6e | |||
8c2cef02ac | |||
fdb0758256 | |||
0b4f49c792 | |||
84753144d0 | |||
7a0440afc6 | |||
857d3781e2 | |||
16611f31eb | |||
78298f5c8f | |||
a47a490635 | |||
239b5df268 | |||
6e3d40f2d1 | |||
63696fcf90 | |||
51f914d4a4 | |||
24b7307d9d | |||
b66675d433 | |||
37bf8c6dd5 | |||
38a682fe92 | |||
c5055883eb | |||
85c9a7320f | |||
4e43abf9c1 | |||
a955efc190 | |||
190afda543 | |||
ae157d38e3 | |||
a44620dea9 | |||
311981ef48 | |||
b4a7f74436 | |||
7ee6b5a3a5 | |||
50002b7fac | |||
8072b420a6 | |||
828243ebca | |||
5c83d5efb7 | |||
0d13e80852 | |||
00324b20e1 | |||
d699de071f | |||
86dde5fe72 | |||
11089e2fcd | |||
9f81a8fc08 | |||
feb573e395 | |||
a8c9674c42 | |||
8a039031dd | |||
ff424fbe6b | |||
e5a9cdc615 | |||
e59c5f8f06 | |||
82043f5a36 | |||
a01b62a573 | |||
4b9508b64c | |||
5754eade4a | |||
59b9d96d62 | |||
38777e5cc2 | |||
f333a442a3 | |||
644e59b7ba | |||
a41716fadc | |||
561f7df3bd | |||
f84f3e7451 | |||
5625dace84 | |||
460fea6523 | |||
86b517f88e | |||
17d71937a1 | |||
1523742d4c | |||
d6b763ca63 | |||
05f0e3fe86 | |||
ec61d7a776 | |||
c23ff72cd7 | |||
9473154497 | |||
5219ee160e | |||
dca8583f17 | |||
cd6a2ad1b2 | |||
117770d324 | |||
ccbf27cbe7 | |||
47eb1321c8 | |||
646802c598 | |||
a459d360e4 | |||
2ba4bfef7e | |||
4a12f54654 | |||
c14bbbc47b | |||
6388a5b892 | |||
ce6f63a898 | |||
7b087c0594 | |||
a9bdb4c15e | |||
153f976fff | |||
b5ff9b9f3f | |||
573fa36c3a | |||
c1b01ea9f5 | |||
93928194c4 | |||
238c199c79 | |||
9a69002311 | |||
845222f739 | |||
f92ea61e84 | |||
7127013f7c | |||
3b9d6a41b3 | |||
7b7250dfae | |||
df721bd0c3 | |||
234e37099a | |||
1411ecf6f0 | |||
202f60b960 | |||
0c7a0f9638 | |||
108e537928 | |||
b1c9f7fd12 | |||
15faf7ea6a | |||
8795c42d29 | |||
bae1de1ac0 | |||
5f40fc61c6 | |||
fb28799ed5 | |||
4b31af493d | |||
222852a264 | |||
471e24e987 | |||
653e157eea | |||
c5f7055746 | |||
b5bdd70758 | |||
104b7db894 |
@ -4,6 +4,7 @@
|
|||||||
# Ignore aspects we don't follow here.
|
# Ignore aspects we don't follow here.
|
||||||
--ignore C99_COMMENTS
|
--ignore C99_COMMENTS
|
||||||
--ignore GLOBAL_INITIALISERS
|
--ignore GLOBAL_INITIALISERS
|
||||||
|
--ignore COMPARISON_TO_NULL
|
||||||
--ignore INITIALISED_STATIC
|
--ignore INITIALISED_STATIC
|
||||||
--ignore LINE_SPACING
|
--ignore LINE_SPACING
|
||||||
--ignore NEW_TYPEDEFS
|
--ignore NEW_TYPEDEFS
|
||||||
|
1
.gitignore
vendored
@ -33,6 +33,7 @@ tags
|
|||||||
.clang_complete
|
.clang_complete
|
||||||
.cache
|
.cache
|
||||||
compile_commands.json
|
compile_commands.json
|
||||||
|
.vscode/
|
||||||
|
|
||||||
# Cross-compile toolkits
|
# Cross-compile toolkits
|
||||||
xgcc/
|
xgcc/
|
||||||
|
4
.gitmodules
vendored
@ -61,3 +61,7 @@
|
|||||||
path = 3rdparty/stm
|
path = 3rdparty/stm
|
||||||
url = ../STM
|
url = ../STM
|
||||||
branch = stmpe
|
branch = stmpe
|
||||||
|
[submodule "util/goswid"]
|
||||||
|
path = util/goswid
|
||||||
|
url = ../goswid
|
||||||
|
branch = trunk
|
||||||
|
2
3rdparty/amd_blobs
vendored
2
3rdparty/arm-trusted-firmware
vendored
2
3rdparty/blobs
vendored
2
3rdparty/fsp
vendored
2
3rdparty/intel-microcode
vendored
2
3rdparty/libgfxinit
vendored
2
3rdparty/libhwbase
vendored
2
3rdparty/opensbi
vendored
2
3rdparty/qc_blobs
vendored
2
3rdparty/vboot
vendored
1
AUTHORS
@ -108,6 +108,7 @@ Jonas 'Sortie' Termansen
|
|||||||
Jonathan A. Kollasch
|
Jonathan A. Kollasch
|
||||||
Jonathan Neuschäfer
|
Jonathan Neuschäfer
|
||||||
Jordan Crouse
|
Jordan Crouse
|
||||||
|
Jörg Mische
|
||||||
Joseph Smith
|
Joseph Smith
|
||||||
Keith Hui
|
Keith Hui
|
||||||
Keith Packard
|
Keith Packard
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
## SPDX-License-Identifier: GPL-2.0-only
|
||||||
#
|
#
|
||||||
# Makefile for coreboot paper.
|
# Makefile for coreboot paper.
|
||||||
# hacked together by Stefan Reinauer <stepan@openbios.org>
|
# hacked together by Stefan Reinauer <stepan@openbios.org>
|
||||||
@ -9,9 +10,9 @@ FIGS=codeflow.pdf hypertransport.pdf
|
|||||||
|
|
||||||
all: corebootPortingGuide.pdf
|
all: corebootPortingGuide.pdf
|
||||||
|
|
||||||
SVG2PDF=$(shell which svg2pdf)
|
SVG2PDF=$(shell command -v svg2pdf)
|
||||||
INKSCAPE=$(shell which inkscape)
|
INKSCAPE=$(shell command -v inkscape)
|
||||||
CONVERT=$(shell which convert)
|
CONVERT=$(shell command -v convert)
|
||||||
|
|
||||||
codeflow.pdf: codeflow.svg
|
codeflow.pdf: codeflow.svg
|
||||||
ifneq ($(strip $(SVG2PDF)),)
|
ifneq ($(strip $(SVG2PDF)),)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
## SPDX-License-Identifier: GPL-2.0-only
|
||||||
# Makefile for Sphinx documentation
|
# Makefile for Sphinx documentation
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -1,290 +0,0 @@
|
|||||||
# 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 buses (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.
|
|
||||||
|
|
||||||
### Naming and referencing devices
|
|
||||||
|
|
||||||
When declaring a device, it can optionally be given an alias that can be
|
|
||||||
referred to elsewhere. This is particularly useful to declare a device in one
|
|
||||||
device tree while allowing its configuration to be more easily changed in an
|
|
||||||
overlay. For instance, the AMD Picasso SoC definition
|
|
||||||
(`soc/amd/picasso/chipset.cb`) declares an IOMMU on a PCI bus that is disabled
|
|
||||||
by default:
|
|
||||||
|
|
||||||
```
|
|
||||||
chip soc/amd/picasso
|
|
||||||
device domain 0 on
|
|
||||||
...
|
|
||||||
device pci 00.2 alias iommu off end
|
|
||||||
...
|
|
||||||
end
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
A device based on this SoC can override the configuration for the IOMMU without
|
|
||||||
duplicating addresses, as in
|
|
||||||
`mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb`:
|
|
||||||
|
|
||||||
```
|
|
||||||
chip soc/amd/picasso
|
|
||||||
device domain 0
|
|
||||||
...
|
|
||||||
device ref iommu on end
|
|
||||||
...
|
|
||||||
end
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
In this example the override simply enables the IOMMU, but it could also
|
|
||||||
set additional properties (or even add child devices) inside the IOMMU `device`
|
|
||||||
block.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
It is important to note that devices that use `device ref` syntax to override
|
|
||||||
previous definitions of a device by alias must be placed at **exactly the same
|
|
||||||
location in the device tree** as the original declaration. If not, this will
|
|
||||||
actually create another device rather than overriding the properties of the
|
|
||||||
existing one. For instance, if the above snippet from `devicetree_trembyle.cb`
|
|
||||||
were written as follows:
|
|
||||||
|
|
||||||
```
|
|
||||||
chip soc/amd/picasso
|
|
||||||
# NOTE: not inside domain 0!
|
|
||||||
device ref iommu on end
|
|
||||||
end
|
|
||||||
```
|
|
||||||
|
|
||||||
Then this would leave the SoC's IOMMU disabled, and instead create a new device
|
|
||||||
with no properties as a direct child of the SoC.
|
|
||||||
|
|
||||||
## Device drivers
|
|
||||||
|
|
||||||
Let's take a look at an example entry from
|
|
||||||
``src/mainboard/google/hatch/variants/hatch/overridetree.cb``:
|
|
||||||
|
|
||||||
```
|
|
||||||
device pci 15.0 on
|
|
||||||
chip drivers/i2c/generic
|
|
||||||
register "hid" = ""ELAN0000""
|
|
||||||
register "desc" = ""ELAN Touchpad""
|
|
||||||
register "irq" = "ACPI_IRQ_WAKE_LEVEL_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, Level, ActiveLow, ExclusiveAndWake, ,, )
|
|
||||||
{
|
|
||||||
0x0000002D,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
Name (_S0W, ACPI_DEVICE_SLEEP_D3_HOT) // _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, Level, ActiveLow, ExclusiveAndWake, ,, )
|
|
||||||
{
|
|
||||||
0x0000002D,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
which comes from:
|
|
||||||
|
|
||||||
```
|
|
||||||
register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A21_IRQ)"
|
|
||||||
```
|
|
||||||
|
|
||||||
The GPIO pin IRQ settings control the "Level", "ActiveLow", and
|
|
||||||
"ExclusiveAndWake" settings seen above (level means it is a level-triggered
|
|
||||||
interrupt as opposed to edge-triggered; active low means the interrupt is
|
|
||||||
triggered when the signal is low).
|
|
||||||
|
|
||||||
Note that the ACPI_IRQ_WAKE_LEVEL_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/acpi/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 ACPI_DEVICE_SLEEP_D3_HOT, representing _D3hot_.
|
|
||||||
|
|
||||||
### _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**
|
|
@ -11,6 +11,9 @@ upwards.
|
|||||||
|
|
||||||
- [GPIO toggling in ACPI AML](gpio.md)
|
- [GPIO toggling in ACPI AML](gpio.md)
|
||||||
|
|
||||||
## devicetree
|
|
||||||
|
|
||||||
- [Adding devices to a device tree](devicetree.md)
|
## ACPI specification - Useful links
|
||||||
|
|
||||||
|
- [ACPI Specification 6.5](https://uefi.org/specs/ACPI/6.5/index.html)
|
||||||
|
- [ASL 2.0 Syntax](https://uefi.org/specs/ACPI/6.5/19_ASL_Reference.html#asl-2-0-symbolic-operators-and-expressions)
|
||||||
|
- [Predefined ACPI Names](https://uefi.org/specs/ACPI/6.5/05_ACPI_Software_Programming_Model.html#predefined-acpi-names)
|
||||||
|
@ -11,6 +11,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
`acpihelp _XXX`
|
`acpihelp _XXX`
|
||||||
* 2FA - [**Two-factor Authentication**](https://en.wikipedia.org/wiki/Multi-factor_authentication)
|
* 2FA - [**Two-factor Authentication**](https://en.wikipedia.org/wiki/Multi-factor_authentication)
|
||||||
* 4G - In coreboot, this typically refers to the 4 gibibyte boundary of 32-bit addressable memory space.
|
* 4G - In coreboot, this typically refers to the 4 gibibyte boundary of 32-bit addressable memory space.
|
||||||
|
Better abbreviated as 4GiB
|
||||||
* 5G - Telecommunication: [**Fifth-Generation Cellular Network**](https://en.wikipedia.org/wiki/5G)
|
* 5G - Telecommunication: [**Fifth-Generation Cellular Network**](https://en.wikipedia.org/wiki/5G)
|
||||||
|
|
||||||
## A
|
## A
|
||||||
@ -45,6 +46,10 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* ALIB - AMD: ACPI-ASL Library
|
* ALIB - AMD: ACPI-ASL Library
|
||||||
* ALS - [**Ambient Light Sensor**](https://en.wikipedia.org/wiki/Ambient_light_sensor)
|
* ALS - [**Ambient Light Sensor**](https://en.wikipedia.org/wiki/Ambient_light_sensor)
|
||||||
* ALU - [**Arithmetic Logic Unit**](https://en.wikipedia.org/wiki/Arithmetic_logic_unit)
|
* ALU - [**Arithmetic Logic Unit**](https://en.wikipedia.org/wiki/Arithmetic_logic_unit)
|
||||||
|
* AMBA - ARM: [**Advanced Microcontroller Bus
|
||||||
|
Architecture**](https://en.wikipedia.org/wiki/Advanced_Microcontroller_Bus_Architecture):
|
||||||
|
An open standard to connect and manage functional blocks in an SoC
|
||||||
|
(System on a Chip)
|
||||||
* AMD64 - Another name for [**x86-64**](https://en.wikipedia.org/wiki/X86-64)
|
* AMD64 - Another name for [**x86-64**](https://en.wikipedia.org/wiki/X86-64)
|
||||||
* AMPL - AMD: [**Advanced Platform Management Link**](https://web.archive.org/web/20220509053546/https://developer.amd.com/wordpress/media/2012/10/419181.pdf) - Also referred to as
|
* AMPL - AMD: [**Advanced Platform Management Link**](https://web.archive.org/web/20220509053546/https://developer.amd.com/wordpress/media/2012/10/419181.pdf) - Also referred to as
|
||||||
SBI: Sideband Interface
|
SBI: Sideband Interface
|
||||||
@ -53,8 +58,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* AOAC - AMD: Always On, Always Connected
|
* AOAC - AMD: Always On, Always Connected
|
||||||
* AP - Application processor - The main processor on the board (as
|
* AP - Application processor - The main processor on the board (as
|
||||||
opposed to the embedded controller or other processors that may be on
|
opposed to the embedded controller or other processors that may be on
|
||||||
the system), any cores in processor chip that isn’t the BSP - Boot
|
the system), any cores in the processor chip that aren't the BSP (Boot
|
||||||
Strap Processor.
|
Strap Processor).
|
||||||
* APCB - AMD: AMD PSP Customization Block
|
* APCB - AMD: AMD PSP Customization Block
|
||||||
* API - [**Application Programming Interface**](https://en.wikipedia.org/wiki/API)
|
* API - [**Application Programming Interface**](https://en.wikipedia.org/wiki/API)
|
||||||
* APIC - [**Advanced Programmable Interrupt
|
* APIC - [**Advanced Programmable Interrupt
|
||||||
@ -85,6 +90,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* ASPM - PCI: [**Active State Power
|
* ASPM - PCI: [**Active State Power
|
||||||
Management**](https://en.wikipedia.org/wiki/Active_State_Power_Management)
|
Management**](https://en.wikipedia.org/wiki/Active_State_Power_Management)
|
||||||
* ATA - [**Advanced Technology Attachment**](https://en.wikipedia.org/wiki/Parallel_ATA)
|
* ATA - [**Advanced Technology Attachment**](https://en.wikipedia.org/wiki/Parallel_ATA)
|
||||||
|
* ATS - PCIe: Address Translation Services
|
||||||
* ATAPI - [**ATA Packet Interface**](https://en.wikipedia.org/wiki/Parallel_ATA#ATAPI)
|
* ATAPI - [**ATA Packet Interface**](https://en.wikipedia.org/wiki/Parallel_ATA#ATAPI)
|
||||||
* ATX - [**Advanced Technology eXtended**](https://en.wikipedia.org/wiki/ATX)
|
* ATX - [**Advanced Technology eXtended**](https://en.wikipedia.org/wiki/ATX)
|
||||||
* AVX - [**Advanced Vector Extensions**](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)
|
* AVX - [**Advanced Vector Extensions**](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)
|
||||||
@ -123,6 +129,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
stored as a single object, this was co-opted by the open source
|
stored as a single object, this was co-opted by the open source
|
||||||
communities to mean any proprietary binary file that is not available
|
communities to mean any proprietary binary file that is not available
|
||||||
as source code.
|
as source code.
|
||||||
|
* BM - [**Bus Master**](https://en.wikipedia.org/wiki/Bus_mastering)
|
||||||
* BMC - [**Baseboard Management Controller**](https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface#Baseboard_management_controller)
|
* BMC - [**Baseboard Management Controller**](https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface#Baseboard_management_controller)
|
||||||
* BMP - [**Bitmap**](https://en.wikipedia.org/wiki/BMP_file_format)
|
* BMP - [**Bitmap**](https://en.wikipedia.org/wiki/BMP_file_format)
|
||||||
* BOM - [**Bill of Materials**](https://en.wikipedia.org/wiki/Bill_of_materials)
|
* BOM - [**Bill of Materials**](https://en.wikipedia.org/wiki/Bill_of_materials)
|
||||||
@ -165,7 +172,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* CID - [**Coverity ID**](https://en.wikipedia.org/wiki/Coverity)
|
* CID - [**Coverity ID**](https://en.wikipedia.org/wiki/Coverity)
|
||||||
* CIM - [**Common Information Model**](https://www.dmtf.org/standards/cim)
|
* CIM - [**Common Information Model**](https://www.dmtf.org/standards/cim)
|
||||||
* CISC - [**Complex Instruction Set Computer**](https://en.wikipedia.org/wiki/Complex_instruction_set_computer)
|
* CISC - [**Complex Instruction Set Computer**](https://en.wikipedia.org/wiki/Complex_instruction_set_computer)
|
||||||
* CL - Change List - A git patch in gerrit
|
* CL - ChangeList - Another name for a patch or commit. This seems to be
|
||||||
|
Perforce notation.
|
||||||
* CLK - Clock - Used when there isn't enough room for 2 additional
|
* CLK - Clock - Used when there isn't enough room for 2 additional
|
||||||
characters - similar to RST, for people who hate vowels.
|
characters - similar to RST, for people who hate vowels.
|
||||||
* CML - Intel: [**Comet Lake**](https://en.wikichip.org/wiki/intel/microarchitectures/comet_lake)
|
* CML - Intel: [**Comet Lake**](https://en.wikichip.org/wiki/intel/microarchitectures/comet_lake)
|
||||||
@ -180,6 +188,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* CNVi - Intel: [**Connectivity Integration**](https://en.wikipedia.org/wiki/CNVi)
|
* CNVi - Intel: [**Connectivity Integration**](https://en.wikipedia.org/wiki/CNVi)
|
||||||
* CPL - x86: Current Privilege Level - Privilege levels range from 0-3; lower numbers are more privileged.
|
* CPL - x86: Current Privilege Level - Privilege levels range from 0-3; lower numbers are more privileged.
|
||||||
* CPLD - [**Complex Programmable Logic Device**](https://en.wikipedia.org/wiki/Complex_programmable_logic_device)
|
* CPLD - [**Complex Programmable Logic Device**](https://en.wikipedia.org/wiki/Complex_programmable_logic_device)
|
||||||
|
* CPPC - AMD: Collaborative Processor Performance Controls
|
||||||
* CPS - Characters Per Second
|
* CPS - Characters Per Second
|
||||||
* CPU - [**Central Processing
|
* CPU - [**Central Processing
|
||||||
Unit**](http://en.wikipedia.org/wiki/Central_processing_unit)
|
Unit**](http://en.wikipedia.org/wiki/Central_processing_unit)
|
||||||
@ -196,12 +205,14 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* CSI - MIPI: [**Camera Serial
|
* CSI - MIPI: [**Camera Serial
|
||||||
Interface**](https://en.wikipedia.org/wiki/Camera_Serial_Interface)
|
Interface**](https://en.wikipedia.org/wiki/Camera_Serial_Interface)
|
||||||
* CSME - Intel: Converged Security and Management Engine
|
* CSME - Intel: Converged Security and Management Engine
|
||||||
|
* CTLE - Intel: Continuous Time Linear Equalization
|
||||||
* CVE - [**Common Vulnerabilities and Exposures**](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)
|
* CVE - [**Common Vulnerabilities and Exposures**](https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures)
|
||||||
* CZN - AMD: Cezanne - CPU Family 19h, Model 50h
|
* CZN - AMD: [**Cezanne**](https://en.wikichip.org/wiki/amd/cores/cezanne) - CPU Family 19h, Model 50h
|
||||||
|
|
||||||
|
|
||||||
## D
|
## D
|
||||||
|
|
||||||
|
* D$ - Data Cache
|
||||||
* D-States - [**ACPI Device power
|
* D-States - [**ACPI Device power
|
||||||
states**](https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Device_states)
|
states**](https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Device_states)
|
||||||
D0-D3 - These are device specific power states, with each higher
|
D0-D3 - These are device specific power states, with each higher
|
||||||
@ -223,6 +234,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* DDC - [**Display Data Channel**](https://en.wikipedia.org/wiki/Display_Data_Channel)
|
* DDC - [**Display Data Channel**](https://en.wikipedia.org/wiki/Display_Data_Channel)
|
||||||
* DDI - Intel: Digital Display Interface
|
* DDI - Intel: Digital Display Interface
|
||||||
* DDR - [**Double Data Rate**](https://en.wikipedia.org/wiki/Double_data_rate)
|
* DDR - [**Double Data Rate**](https://en.wikipedia.org/wiki/Double_data_rate)
|
||||||
|
* DEVAPC - Mediatek: Device Access Permission Control
|
||||||
|
* DF - Data Fabric
|
||||||
|
* DFP - USB: Downstream Facing port
|
||||||
* DHCP - [**Dynamic Host Configuration Protocol**](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol)
|
* DHCP - [**Dynamic Host Configuration Protocol**](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol)
|
||||||
* DID - Device Identifier
|
* DID - Device Identifier
|
||||||
* DIMM - [**Dual Inline Memory Module**](https://en.wikipedia.org/wiki/DIMM)
|
* DIMM - [**Dual Inline Memory Module**](https://en.wikipedia.org/wiki/DIMM)
|
||||||
@ -235,6 +249,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
Graphics Card, Sound Card. DMA is an essential feature of all modern
|
Graphics Card, Sound Card. DMA is an essential feature of all modern
|
||||||
computers, as it allows devices of different speeds to communicate
|
computers, as it allows devices of different speeds to communicate
|
||||||
without subjecting the CPU to a massive interrupt load.
|
without subjecting the CPU to a massive interrupt load.
|
||||||
|
* DMI - Direct Media Interface is a link/bus between CPU and PCH.
|
||||||
* DMI - [**Desktop Management Interface**](Desktop_Management_Interface)
|
* DMI - [**Desktop Management Interface**](Desktop_Management_Interface)
|
||||||
* DMIC - Digital Microphone
|
* DMIC - Digital Microphone
|
||||||
* DMTF - [**Distributed Management Task Force**](https://en.wikipedia.org/wiki/Distributed_Management_Task_Force)
|
* DMTF - [**Distributed Management Task Force**](https://en.wikipedia.org/wiki/Distributed_Management_Task_Force)
|
||||||
@ -243,6 +258,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* DNV - Intel: [**Denverton**](https://en.wikichip.org/wiki/intel/cores/denverton)
|
* DNV - Intel: [**Denverton**](https://en.wikichip.org/wiki/intel/cores/denverton)
|
||||||
* DOS - Disk Operating System
|
* DOS - Disk Operating System
|
||||||
* DP - DisplayPort
|
* DP - DisplayPort
|
||||||
|
* DPM - Mediatek: DRAM Power Manager
|
||||||
* DPTF - Intel: Dynamic Power and Thermal Framework
|
* DPTF - Intel: Dynamic Power and Thermal Framework
|
||||||
* DRAM - Memory: [**Dynamic Random Access Memory**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory)
|
* DRAM - Memory: [**Dynamic Random Access Memory**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory)
|
||||||
* DRTM - Dynamic Root of Trust for Measurement
|
* DRTM - Dynamic Root of Trust for Measurement
|
||||||
@ -250,7 +266,10 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
data-in pin is generally referred to as D, and the data-out pin is Q,
|
data-in pin is generally referred to as D, and the data-out pin is Q,
|
||||||
thus the IO Data signal lines are referred to as DQ lines.
|
thus the IO Data signal lines are referred to as DQ lines.
|
||||||
* DQS - Memory: Data Q Strobe - Data valid signal for DDR memory.
|
* DQS - Memory: Data Q Strobe - Data valid signal for DDR memory.
|
||||||
* DRM - [**Digital Rights Management**](https://en.wikipedia.org/wiki/Digital_rights_management)
|
* DRM - [**Digital Rights
|
||||||
|
Management**](https://en.wikipedia.org/wiki/Digital_rights_management)
|
||||||
|
* DRP - USB: Port than can be switched between either a Downstream facing (DFP) or
|
||||||
|
an Upstream Facing (UFP).
|
||||||
* DRQ - DMA Request
|
* DRQ - DMA Request
|
||||||
* DRTU - Intel: Diagnostics and Regulatory Testing Utility
|
* DRTU - Intel: Diagnostics and Regulatory Testing Utility
|
||||||
* DSDT - The [**Differentiated System Descriptor
|
* DSDT - The [**Differentiated System Descriptor
|
||||||
@ -262,12 +281,16 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* DSL - [**Digital subscriber line**](https://en.wikipedia.org/wiki/Digital_subscriber_line)
|
* DSL - [**Digital subscriber line**](https://en.wikipedia.org/wiki/Digital_subscriber_line)
|
||||||
* DSP - [**Digital Signal Processor**](https://en.wikipedia.org/wiki/Digital_signal_processor)
|
* DSP - [**Digital Signal Processor**](https://en.wikipedia.org/wiki/Digital_signal_processor)
|
||||||
* DTB - U-Boot: Device Tree Binary
|
* DTB - U-Boot: Device Tree Binary
|
||||||
* dTPM - Discrete Trusted Platform Module
|
* dTPM - Discrete TPM (Trusted Platform Module) - A separate TPM chip,
|
||||||
|
vs Integrated TPMs or fTPMs (Firmware TPMs).
|
||||||
* DTS - U-Boot: Device Tree Source
|
* DTS - U-Boot: Device Tree Source
|
||||||
|
* DUT - Device Under Test
|
||||||
* DVFS - ARM: Dynamic Voltage and Frequency Scaling
|
* DVFS - ARM: Dynamic Voltage and Frequency Scaling
|
||||||
* DVI - [**Digital Video Interface**](https://en.wikipedia.org/wiki/Digital_Visual_Interface)
|
* DVI - [**Digital Video Interface**](https://en.wikipedia.org/wiki/Digital_Visual_Interface)
|
||||||
* DVT - Production Timeline: Design Validation Test
|
* DVT - Production Timeline: Design Validation Test
|
||||||
* DW - DesignWare
|
* DW - DesignWare: A portfolio of silicon IP blocks for sale by the
|
||||||
|
Synopsys company. Includes blocks like USB, MIPI, PCIe, HDMI, SATA,
|
||||||
|
I2c, memory controllers and more.
|
||||||
* DXE - UEFI: [**Driver Execution Environment**](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#DXE_%E2%80%93_Driver_Execution_Environment_)
|
* DXE - UEFI: [**Driver Execution Environment**](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#DXE_%E2%80%93_Driver_Execution_Environment_)
|
||||||
* DXIO - AMD: Distributed CrossBar I/O
|
* DXIO - AMD: Distributed CrossBar I/O
|
||||||
|
|
||||||
@ -275,19 +298,21 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
## E
|
## E
|
||||||
|
|
||||||
* EBDA - Extended BIOS Data Area
|
* EBDA - Extended BIOS Data Area
|
||||||
|
* EBG - Intel: Emmitsburg PCH
|
||||||
* ECC - [**Error Correction Code**](https://en.wikipedia.org/wiki/Error_correction_code) - Typically used to refer to a type of
|
* ECC - [**Error Correction Code**](https://en.wikipedia.org/wiki/Error_correction_code) - Typically used to refer to a type of
|
||||||
memory that can detect and correct memory errors.
|
memory that can detect and correct memory errors.
|
||||||
* EDID - [**Extended Display Identification Data**](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)
|
* EDID - [**Extended Display Identification Data**](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)
|
||||||
* EDK2 - EFI Development Kit 2
|
* edk2 - EFI Development Kit 2
|
||||||
* EDO - Memory: [**Extended Data
|
* EDO - Memory: [**Extended Data
|
||||||
Out**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory#Extended_data_out_DRAM)
|
Out**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory#Extended_data_out_DRAM)
|
||||||
- A DRAM standard introduced in 1994 that improved upon, but was
|
- A DRAM standard introduced in 1994 that improved upon, but was
|
||||||
backwards compatible with FPM (Fast Page Mode) memory.
|
backwards compatible with FPM (Fast Page Mode) memory.
|
||||||
* EDP - [**Embedded DisplayPort**](DisplayPort)
|
* eDP - [**Embedded DisplayPort**](https://en.wikipedia.org/wiki/DisplayPort#eDP)
|
||||||
* EDS - Intel: External Design Specification
|
* EDS - Intel: External Design Specification
|
||||||
* EEPROM - [**Electrically Erasable Programmable ROM**](https://en.wikipedia.org/wiki/EEPROM) (common mistake:
|
* EEPROM - [**Electrically Erasable Programmable ROM**](https://en.wikipedia.org/wiki/EEPROM) (common mistake:
|
||||||
electrical erasable programmable ROM).
|
electrical erasable programmable ROM).
|
||||||
* EFI - [**Extensible Firmware Interface**](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface)
|
* EFI - [**Extensible Firmware Interface**](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface)
|
||||||
|
* EFS - AMD: Embedded Firmware Structure: The data structure that AMD processors look for first in the boot ROM to start the boot process.
|
||||||
* EHCI - [**Enhanced Host Controller Interface**](https://en.wikipedia.org/wiki/Host_controller_interface_%28USB%2C_Firewire%29#EHCI) - USB 2.0
|
* EHCI - [**Enhanced Host Controller Interface**](https://en.wikipedia.org/wiki/Host_controller_interface_%28USB%2C_Firewire%29#EHCI) - USB 2.0
|
||||||
* EHL - Intel: [**Elkhart Lake**](https://en.wikichip.org/wiki/intel/cores/elkhart_lake)
|
* EHL - Intel: [**Elkhart Lake**](https://en.wikichip.org/wiki/intel/cores/elkhart_lake)
|
||||||
* EIDE - Enhanced Integrated Drive Electronics
|
* EIDE - Enhanced Integrated Drive Electronics
|
||||||
@ -339,8 +364,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* FPU - [**Floating-Point Unit**](https://en.wikipedia.org/wiki/Floating-point_unit)
|
* FPU - [**Floating-Point Unit**](https://en.wikipedia.org/wiki/Floating-point_unit)
|
||||||
* FSB - [**Front-Side Bus**](https://en.wikipedia.org/wiki/Front-side_bus)
|
* FSB - [**Front-Side Bus**](https://en.wikipedia.org/wiki/Front-side_bus)
|
||||||
* FSP - Intel: Firmware Support Package
|
* FSP - Intel: Firmware Support Package
|
||||||
|
* FSR - Intel: Firmware Status Register
|
||||||
* FTP - Network Protocol: [**File Transfer Protocol**](https://en.wikipedia.org/wiki/File_Transfer_Protocol)
|
* FTP - Network Protocol: [**File Transfer Protocol**](https://en.wikipedia.org/wiki/File_Transfer_Protocol)
|
||||||
* FTPM - Firmware TPM
|
* fTPM - Firmware TPM (Trusted Platform Module). This is a TPM that is
|
||||||
|
based in firmware instead of actual hardware. It typically runs in
|
||||||
|
some sort of TEE (Trusted Execution Environment).
|
||||||
|
|
||||||
|
|
||||||
## G
|
## G
|
||||||
@ -356,12 +384,14 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
Real Time Clock, and maybe a few other registers running.
|
Real Time Clock, and maybe a few other registers running.
|
||||||
* GART - AMD: [**Graphics Address Remapping Table**](https://en.wikipedia.org/wiki/Graphics_address_remapping_table)
|
* GART - AMD: [**Graphics Address Remapping Table**](https://en.wikipedia.org/wiki/Graphics_address_remapping_table)
|
||||||
* GATT - Graphics Aperture Translation Table
|
* GATT - Graphics Aperture Translation Table
|
||||||
|
* GDT - [Global Descriptor Table](https://wiki.osdev.org/Global_Descriptor_Table)
|
||||||
* GLK - Intel: [**Gemini Lake**](https://en.wikichip.org/wiki/intel/cores/gemini_lake)
|
* GLK - Intel: [**Gemini Lake**](https://en.wikichip.org/wiki/intel/cores/gemini_lake)
|
||||||
* GMA - Intel: [**Graphics Media
|
* GMA - Intel: [**Graphics Media
|
||||||
Accelerator**](https://en.wikipedia.org/wiki/Intel_GMA)
|
Accelerator**](https://en.wikipedia.org/wiki/Intel_GMA)
|
||||||
* GNB - Graphics NorthBridge
|
* GNB - Graphics NorthBridge
|
||||||
* GNVS - Global Non-Volatile Storage
|
* GNVS - Global Non-Volatile Storage
|
||||||
* GPD - PCH GPIO in Deep Sleep well (D5 power)
|
* GPD - PCH GPIO in Deep Sleep well (D5 power)
|
||||||
|
* GPE - ACPI: General Purpose Event
|
||||||
* GPI - GPIOs: GPIO Input
|
* GPI - GPIOs: GPIO Input
|
||||||
* GPIO - [**General Purpose Input/Output**](https://en.wikipedia.org/wiki/General-purpose_Input/Output) (Pin)
|
* GPIO - [**General Purpose Input/Output**](https://en.wikipedia.org/wiki/General-purpose_Input/Output) (Pin)
|
||||||
* GPMR - Intel: General Purpose Memory Range
|
* GPMR - Intel: General Purpose Memory Range
|
||||||
@ -373,6 +403,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* GPU - [**Graphics Processing Unit**](https://en.wikipedia.org/wiki/Graphics_processing_unit)
|
* GPU - [**Graphics Processing Unit**](https://en.wikipedia.org/wiki/Graphics_processing_unit)
|
||||||
* GSoC - [**Google Summer of Code**](https://en.wikipedia.org/wiki/Google_Summer_of_Code)
|
* GSoC - [**Google Summer of Code**](https://en.wikipedia.org/wiki/Google_Summer_of_Code)
|
||||||
* GSC - Google Security Chip - Typically Cr50/Ti50, though could also refer to the titan chips
|
* GSC - Google Security Chip - Typically Cr50/Ti50, though could also refer to the titan chips
|
||||||
|
* GSPI - Generic SPI - These are SPI controllers available for general
|
||||||
|
use, not dedicated to flash, for example.
|
||||||
* GUID - UEFI: [**Globally Unique IDentifier**](https://en.wikipedia.org/wiki/Universally_unique_identifier)
|
* GUID - UEFI: [**Globally Unique IDentifier**](https://en.wikipedia.org/wiki/Universally_unique_identifier)
|
||||||
|
|
||||||
|
|
||||||
@ -387,7 +419,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* HID - [**Human Interface
|
* HID - [**Human Interface
|
||||||
Device**](https://en.wikipedia.org/wiki/Human_interface_device)
|
Device**](https://en.wikipedia.org/wiki/Human_interface_device)
|
||||||
* HOB - UEFI: Hand-Off Block
|
* HOB - UEFI: Hand-Off Block
|
||||||
|
* HPD - Hot-Plug Detect
|
||||||
* HPET - [**High Precision Event Timer**](https://en.wikipedia.org/wiki/High_Precision_Event_Timer)
|
* HPET - [**High Precision Event Timer**](https://en.wikipedia.org/wiki/High_Precision_Event_Timer)
|
||||||
|
* HSP - AMD: Hardware Security Processor
|
||||||
* HSTI - Hardware Security Test Interface
|
* HSTI - Hardware Security Test Interface
|
||||||
* HSW - Intel: Haswell
|
* HSW - Intel: Haswell
|
||||||
* Hybrid S3 - System Power State: This is where the operating system
|
* Hybrid S3 - System Power State: This is where the operating system
|
||||||
@ -407,6 +441,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
|
|
||||||
## I
|
## I
|
||||||
|
|
||||||
|
* I$ - Instruction Cache
|
||||||
* I2C - **Inter-Integrated Circuit** is a bidirectional 2-wire bus for
|
* I2C - **Inter-Integrated Circuit** is a bidirectional 2-wire bus for
|
||||||
communication generally between different ICs on a circuit board.
|
communication generally between different ICs on a circuit board.
|
||||||
* [https://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/i2c-bus.html](https://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/i2c-bus.html)
|
* [https://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/i2c-bus.html](https://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/i2c-bus.html)
|
||||||
@ -428,9 +463,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* IDSEL/AD - Initialization Device SELect/Address and Data. Each PCI
|
* IDSEL/AD - Initialization Device SELect/Address and Data. Each PCI
|
||||||
slot has a signal called IDSEL. It is used to differentiate between
|
slot has a signal called IDSEL. It is used to differentiate between
|
||||||
the different slots.
|
the different slots.
|
||||||
|
* IDT - [Interrupt Descriptor Table](https://en.wikipedia.org/wiki/Interrupt_descriptor_table)
|
||||||
* IF - AMD: [**Infinity
|
* IF - AMD: [**Infinity
|
||||||
Fabric**](https://en.wikipedia.org/wiki/HyperTransport#Infinity_Fabric)
|
Fabric**](https://en.wikipedia.org/wiki/HyperTransport#Infinity_Fabric)
|
||||||
is a superset of AMD's earlier Hypertransport interconnect.
|
is a superset of AMD's earlier Hypertransport interconnect.
|
||||||
|
* IFD - Intel: Intel Flash Descriptor
|
||||||
* IMC - AMD: Integrated micro-controller - An 8051 microcontroller built
|
* IMC - AMD: Integrated micro-controller - An 8051 microcontroller built
|
||||||
into some AMD FCHs (Fusion Controller Hubs) and Southbridge chips.
|
into some AMD FCHs (Fusion Controller Hubs) and Southbridge chips.
|
||||||
This never worked well for anything beyond fan control and caused
|
This never worked well for anything beyond fan control and caused
|
||||||
@ -464,6 +501,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* IVHD - ACPI: I/O Virtualization Hardware Definition
|
* IVHD - ACPI: I/O Virtualization Hardware Definition
|
||||||
* IVMD - ACPI: I/O Virtualization Memory Definition
|
* IVMD - ACPI: I/O Virtualization Memory Definition
|
||||||
* IVRS - I/O Virtualization Reporting Structure
|
* IVRS - I/O Virtualization Reporting Structure
|
||||||
|
* IWYU - Include What you Use - A tool to help with include file use
|
||||||
|
|
||||||
|
|
||||||
## J
|
## J
|
||||||
@ -504,7 +542,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* LAPIC - Local APIC
|
* LAPIC - Local APIC
|
||||||
* LBA - Logical Block Address
|
* LBA - Logical Block Address
|
||||||
* LCD - Liquid Crystal Display
|
* LCD - Liquid Crystal Display
|
||||||
* LCAP - PCIe:Link Capabilities
|
* LCAP - PCIe: Link Capabilities
|
||||||
* LED - Light Emitting Diode
|
* LED - Light Emitting Diode
|
||||||
* LF - Line Feed - The standard Unix EOL (End-of-Line) marker.
|
* LF - Line Feed - The standard Unix EOL (End-of-Line) marker.
|
||||||
* LGTM - Looks Good To Me
|
* LGTM - Looks Good To Me
|
||||||
@ -517,6 +555,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
count**](http://www.intel.com/design/chipsets/industry/lpc.htm) bus
|
count**](http://www.intel.com/design/chipsets/industry/lpc.htm) bus
|
||||||
was a replacement for the ISA bus, created by serializing a number of
|
was a replacement for the ISA bus, created by serializing a number of
|
||||||
parallel signals to get rid of those connections.
|
parallel signals to get rid of those connections.
|
||||||
|
* LPM - USB: Link Power Management
|
||||||
* LPT - Line Print Terminal, Local Print Terminal, or Line Printer. -
|
* LPT - Line Print Terminal, Local Print Terminal, or Line Printer. -
|
||||||
The Parallel Port
|
The Parallel Port
|
||||||
* LRU - Least Recently Used - a rule used in operating systems that
|
* LRU - Least Recently Used - a rule used in operating systems that
|
||||||
@ -533,13 +572,19 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
|
|
||||||
* M.2 - An interface specification for small peripheral cards.
|
* M.2 - An interface specification for small peripheral cards.
|
||||||
* MAC Address - Media Access Control Address
|
* MAC Address - Media Access Control Address
|
||||||
|
* MAFS - (eSPI) Master Attached Flash Sharing: Flash components are
|
||||||
|
attached to the controller device and may be accessed by by the
|
||||||
|
peripheral devices through the eSPI flash access channel.
|
||||||
|
* MBP - Intel UEFI: ME-to-BIOS Payload
|
||||||
* MBR - Master Boot Record
|
* MBR - Master Boot Record
|
||||||
* MCA - [**Machine Check Architecture**](https://en.wikipedia.org/wiki/Machine_Check_Architecture)
|
* MCA - [**Machine Check Architecture**](https://en.wikipedia.org/wiki/Machine_Check_Architecture)
|
||||||
* MCR - Machine Check Registers
|
* MCR - Machine Check Registers
|
||||||
* MCU - Memory Control Unit
|
* MCU - Memory Control Unit
|
||||||
* MCU - [**MicroController
|
* MCU - [**MicroController
|
||||||
Unit**](https://en.wikipedia.org/wiki/Microcontroller)
|
Unit**](https://en.wikipedia.org/wiki/Microcontroller)
|
||||||
|
* MCTP - [**Management Component Transport Protocol**](https://en.wikipedia.org/wiki/Management_Component_Transport_Protocol)
|
||||||
* MDFIO - Intel: Multi-Die Fabric IO
|
* MDFIO - Intel: Multi-Die Fabric IO
|
||||||
|
* MDN - AMD: Mendocino
|
||||||
* ME - Intel: Management Engine
|
* ME - Intel: Management Engine
|
||||||
* MEI - Intel: ME Interface (Previously known as HECI)
|
* MEI - Intel: ME Interface (Previously known as HECI)
|
||||||
* Memory training - the process of finding the best speeds, voltages,
|
* Memory training - the process of finding the best speeds, voltages,
|
||||||
@ -578,9 +623,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
OS software writers to produce SMP-capable machines and OSes in a
|
OS software writers to produce SMP-capable machines and OSes in a
|
||||||
vendor-independent manner. Version 1.1 of the spec was released in
|
vendor-independent manner. Version 1.1 of the spec was released in
|
||||||
1994, and the 1.4 version was released in 1995. This has been
|
1994, and the 1.4 version was released in 1995. This has been
|
||||||
generally been
|
generally superseded by the ACPI tables.
|
||||||
https://en.wikipedia.org/wiki/MultiProcessor_Specification by the ACPI
|
|
||||||
tables.
|
|
||||||
* MRC - Intel: Memory Reference Code
|
* MRC - Intel: Memory Reference Code
|
||||||
* MSB - Most Significant Bit
|
* MSB - Most Significant Bit
|
||||||
* MSI - Message Signaled Interrupt
|
* MSI - Message Signaled Interrupt
|
||||||
@ -588,13 +631,19 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* MT/s - MegaTransfers per second
|
* MT/s - MegaTransfers per second
|
||||||
* MTL - Intel: Meteor Lake
|
* MTL - Intel: Meteor Lake
|
||||||
* MTL - ARM: MHU Transport Layer
|
* MTL - ARM: MHU Transport Layer
|
||||||
* MTRR - [**Memory Type and Range
|
* MTRR - [**Memory Type and Range Register**](http://en.wikipedia.org/wiki/MTRR)
|
||||||
Register**](http://en.wikipedia.org/wiki/MTRR)
|
allows to set the cache behaviour on memory access in x86. Basically,
|
||||||
|
it tells the CPU how to cache certain ranges of memory
|
||||||
|
(e.g. write-through, write-combining, write-back...). Memory ranges
|
||||||
|
are specified over physical address ranges. In Linux, they are visible
|
||||||
|
over `/proc/mtrr` and they can be modified there. For further
|
||||||
|
information, see the [**Linux documentation**](https://www.kernel.org/doc/html/v5.19/x86/pat.html).
|
||||||
|
|
||||||
|
|
||||||
## N
|
## N
|
||||||
|
|
||||||
* Nack - Negative Acknowledgement
|
* Nack - Negative Acknowledgement
|
||||||
|
* NB - North Bridge
|
||||||
* NBCI - Nvidia: NoteBook Common Interface
|
* NBCI - Nvidia: NoteBook Common Interface
|
||||||
* NC - GPIOs: No Connect
|
* NC - GPIOs: No Connect
|
||||||
* NDA - Non-Disclosure Agreement.
|
* NDA - Non-Disclosure Agreement.
|
||||||
@ -621,8 +670,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
|
|
||||||
* ODH - GPIOs: Open Drain High - High is driven to the reference voltage, low is a high-impedance state
|
* ODH - GPIOs: Open Drain High - High is driven to the reference voltage, low is a high-impedance state
|
||||||
* ODL - GPIOs: Open Drain Low - Low is driven to ground, High is a high-impedance state.
|
* ODL - GPIOs: Open Drain Low - Low is driven to ground, High is a high-impedance state.
|
||||||
* ODM - Original Design Manufacturer
|
* ODM - [**Original Design Manufacturer**](https://en.wikipedia.org/wiki/Original_design_manufacturer)
|
||||||
* OEM - Original Equipment Manufacturer
|
* OEM - [**Original Equipment Manufacturer**](https://en.wikipedia.org/wiki/Original_equipment_manufacturer)
|
||||||
* OHCI - [**Open Host Controller
|
* OHCI - [**Open Host Controller
|
||||||
Interface**](https://en.wikipedia.org/wiki/Host_Controller_Interface_%28USB%29)
|
Interface**](https://en.wikipedia.org/wiki/Host_Controller_Interface_%28USB%29)
|
||||||
- non-proprietary USB Host controller for USB 1.1 (May also refer to
|
- non-proprietary USB Host controller for USB 1.1 (May also refer to
|
||||||
@ -643,7 +692,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* PAT - [**Page Attribute
|
* PAT - [**Page Attribute
|
||||||
Table**](https://en.wikipedia.org/wiki/Page_attribute_table) This can
|
Table**](https://en.wikipedia.org/wiki/Page_attribute_table) This can
|
||||||
be used independently or in combination with MTRR to setup memory type
|
be used independently or in combination with MTRR to setup memory type
|
||||||
access ranges. Allows more finely-grained control than MTRR.
|
access ranges. Allows more finely-grained control than MTRR. Compared to MTRR,
|
||||||
|
which sets memory types by physical address ranges, PAT sets them at Page
|
||||||
|
level.
|
||||||
* PAT - Intel: [**Performance Acceleration
|
* PAT - Intel: [**Performance Acceleration
|
||||||
Technology**](https://en.wikipedia.org/wiki/Performance_acceleration_technology)
|
Technology**](https://en.wikipedia.org/wiki/Performance_acceleration_technology)
|
||||||
* PATA - Parallel Advanced Technology Attachment - A renaming of ATA
|
* PATA - Parallel Advanced Technology Attachment - A renaming of ATA
|
||||||
@ -669,9 +720,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
function's configuration space from 256 bytes to 4K.
|
function's configuration space from 256 bytes to 4K.
|
||||||
* PCIe - [**PCI Express**](http://en.wikipedia.org/wiki/Pci_express)
|
* PCIe - [**PCI Express**](http://en.wikipedia.org/wiki/Pci_express)
|
||||||
* PCMCIA: Personal Computer Memory Card International Association
|
* PCMCIA: Personal Computer Memory Card International Association
|
||||||
* PCO - AMD: Picasso
|
* PCO - AMD: [**Picasso**](https://en.wikichip.org/wiki/amd/cores/picasso)
|
||||||
* PCR: TPM: Platform Configuration Register
|
* PCR: TPM: Platform Configuration Register
|
||||||
* PD - GPIOs: Pull-Down - Setting the pin high drives it to the reference voltage. Setting it low drives it to ground through a resistor.
|
* PD - GPIOs: Pull-Down - Drives the pin to ground through a resistor.
|
||||||
|
The resistor allows the pin to be set to the reference voltage as
|
||||||
|
needed.
|
||||||
* PD - Power Delivery - This is a specification for communicating power
|
* PD - Power Delivery - This is a specification for communicating power
|
||||||
needs and availability between two devices, typically over USB type C.
|
needs and availability between two devices, typically over USB type C.
|
||||||
* PEG - PCIe Graphics - A (typically) x16 PCIe slot connected to the CPU
|
* PEG - PCIe Graphics - A (typically) x16 PCIe slot connected to the CPU
|
||||||
@ -679,6 +732,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* PEI - UEFI: Pre-EFI Initialization
|
* PEI - UEFI: Pre-EFI Initialization
|
||||||
* PEIM - UEFI: PEI Module
|
* PEIM - UEFI: PEI Module
|
||||||
* PEP - Intel: Power Engine Plug-in
|
* PEP - Intel: Power Engine Plug-in
|
||||||
|
* PHX - AMD: Phoenix SoC
|
||||||
* PHY - [**PHYsical layer**](http://en.wikipedia.org/wiki/PHY) - The
|
* PHY - [**PHYsical layer**](http://en.wikipedia.org/wiki/PHY) - The
|
||||||
hardware that implements the send/receive functionality of a
|
hardware that implements the send/receive functionality of a
|
||||||
communication protocol.
|
communication protocol.
|
||||||
@ -720,15 +774,19 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* POTS - [**Plain Old Telephone
|
* POTS - [**Plain Old Telephone
|
||||||
Service**](https://en.wikipedia.org/wiki/Plain_old_telephone_service)
|
Service**](https://en.wikipedia.org/wiki/Plain_old_telephone_service)
|
||||||
* PPI - UEFI: PEIM-to-PEIM Interface
|
* PPI - UEFI: PEIM-to-PEIM Interface
|
||||||
* PPR: Processor Programming Reference
|
* PPR - Processor Programming Reference
|
||||||
* PPT - AMD: Package Power Tracking
|
* PPT - AMD: Package Power Tracking
|
||||||
* PROM: Programmable Read Only Memory
|
* PROM - Programmable Read Only Memory
|
||||||
* Proto - Production Timeline: The first initial production to test key
|
* Proto - Production Timeline: The first initial production to test key
|
||||||
concepts.
|
concepts.
|
||||||
* PSE - Page Size Extention
|
* PSE - Page Size Extention
|
||||||
|
* PSF - Intel: Primary Sideband Fabric
|
||||||
* PSP - AMD: Platform Security Processor
|
* PSP - AMD: Platform Security Processor
|
||||||
* PSPP - AMD: PCIE Speed Power Policy
|
* PSPP - AMD: PCIE Speed Power Policy
|
||||||
* PU - GPIOs: Pull-Up - Setting the pin low drives it to ground. Setting it high drives it to the reference voltage through a resistor.
|
* PTT - Intel: Platform Trust Technology - Intel's firmware based TPM.
|
||||||
|
* PU - GPIOs: Pull-Up - Drives the pin to reference voltage through a
|
||||||
|
resistor. The resistor allows the signal to still be set to ground
|
||||||
|
when needed.
|
||||||
* PVT - Production Timeline: (Production Validation Test
|
* PVT - Production Timeline: (Production Validation Test
|
||||||
* PWM - Pulse Width Modulation
|
* PWM - Pulse Width Modulation
|
||||||
* PXE - Pre-boot Execution Environment
|
* PXE - Pre-boot Execution Environment
|
||||||
@ -774,6 +832,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* RRG - AMD (ATI): Register Reference Guide
|
* RRG - AMD (ATI): Register Reference Guide
|
||||||
* RSDP - Root System Description Pointer
|
* RSDP - Root System Description Pointer
|
||||||
* RTC - Real Time Clock
|
* RTC - Real Time Clock
|
||||||
|
* RTD3 - Power State: Runtime D3
|
||||||
* RTFM - Read the Fucking Manual
|
* RTFM - Read the Fucking Manual
|
||||||
* RTOS - Real-Time Operating System
|
* RTOS - Real-Time Operating System
|
||||||
* RVP - Intel: Reference Validation Platform
|
* RVP - Intel: Reference Validation Platform
|
||||||
@ -809,6 +868,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
contents of memory. Any critical processor state is restored.
|
contents of memory. Any critical processor state is restored.
|
||||||
* S5 - ACPI System Power State: System is “completely powered off”, but
|
* S5 - ACPI System Power State: System is “completely powered off”, but
|
||||||
still has power going to the board.
|
still has power going to the board.
|
||||||
|
* SAFS - (eSPI) Slave Attached Flash Sharing: Flash is attached to the
|
||||||
|
peripheral device. Only valid for server platforms.
|
||||||
|
* SAGV - Intel: System Agent Geyserville. The original internal name
|
||||||
|
for the feature eventually released as Speedstep which controls the
|
||||||
|
processor voltage and frequencies.
|
||||||
* SAR - The [**Specific Absorption
|
* SAR - The [**Specific Absorption
|
||||||
Rate**](https://en.wikipedia.org/wiki/Specific_absorption_rate) is the
|
Rate**](https://en.wikipedia.org/wiki/Specific_absorption_rate) is the
|
||||||
measurement for the amount of Radio Frequency (RF) energy absorbed by
|
measurement for the amount of Radio Frequency (RF) energy absorbed by
|
||||||
@ -832,11 +896,13 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
SAS (Serial Attached SCSI). The initial version is now often referred
|
SAS (Serial Attached SCSI). The initial version is now often referred
|
||||||
to as Parallel SCSI.
|
to as Parallel SCSI.
|
||||||
* SD - [**Secure Digital**](https://en.wikipedia.org/wiki/SD_card) card
|
* SD - [**Secure Digital**](https://en.wikipedia.org/wiki/SD_card) card
|
||||||
|
* SDHCI - SD Host Controller Interface
|
||||||
* SDRAM - Synchronous DRAM
|
* SDRAM - Synchronous DRAM
|
||||||
* SDLE: AMD: Stardust Dynamic Load Emulator
|
* SDLE: AMD: Stardust Dynamic Load Emulator
|
||||||
* SEEP - Serial EEPROM (Electrically Erasable Programmable Read-Only
|
* SEEP - Serial EEPROM (Electrically Erasable Programmable Read-Only
|
||||||
Memory)
|
Memory)
|
||||||
* SEV - AMD: Secure Encrypted Virtualization
|
* SEV - AMD: Secure Encrypted Virtualization
|
||||||
|
* SF - Snoop Filter
|
||||||
* Shadow RAM - RAM which content is copied from ROM residing at the same
|
* Shadow RAM - RAM which content is copied from ROM residing at the same
|
||||||
address for speedup purposes.
|
address for speedup purposes.
|
||||||
* Shim - A small piece of code whose only purpose is to act as an
|
* Shim - A small piece of code whose only purpose is to act as an
|
||||||
@ -873,7 +939,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* SPI - [**Serial Peripheral
|
* SPI - [**Serial Peripheral
|
||||||
Interface**](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface)
|
Interface**](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface)
|
||||||
* SPL - AMD: Security Patch Level
|
* SPL - AMD: Security Patch Level
|
||||||
|
* SPM - Mediatek: System Power Manager
|
||||||
* SPMI - MIPI: System Power Management Interface
|
* SPMI - MIPI: System Power Management Interface
|
||||||
|
* SPR - Sapphire Rapids
|
||||||
* SRAM - Static Random Access Memory
|
* SRAM - Static Random Access Memory
|
||||||
* SSD - Solid State Drive
|
* SSD - Solid State Drive
|
||||||
* SSDT - Secondary System Descriptor Table - ACPI table
|
* SSDT - Secondary System Descriptor Table - ACPI table
|
||||||
@ -889,7 +957,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
||||||
* SSI-TEB - Physical board format: [**SSI Thin Electronics
|
* SSI-TEB - Physical board format: [**SSI Thin Electronics
|
||||||
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
||||||
|
* SSP - [**Speech Signal Processor**](https://en.wikipedia.org/wiki/Speech_processing)
|
||||||
* STAPM - AMD: Skin Temperature Aware Power Management
|
* STAPM - AMD: Skin Temperature Aware Power Management
|
||||||
|
* STB - AMD: Smart Trace Buffer
|
||||||
* SuperIO - The [**Super I/O**](https://en.wikipedia.org/wiki/Super_I/O)
|
* SuperIO - The [**Super I/O**](https://en.wikipedia.org/wiki/Super_I/O)
|
||||||
(SIO) device provides a system with any of a number of different
|
(SIO) device provides a system with any of a number of different
|
||||||
peripherals. Most common are: A PS/2 Keyboard and mouse port, LPT
|
peripherals. Most common are: A PS/2 Keyboard and mouse port, LPT
|
||||||
@ -909,7 +979,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* TDMA - Time-Division Multiple Access
|
* TDMA - Time-Division Multiple Access
|
||||||
* TDP - [**Thermal Design
|
* TDP - [**Thermal Design
|
||||||
Power**](https://en.wikipedia.org/wiki/Thermal_design_power)
|
Power**](https://en.wikipedia.org/wiki/Thermal_design_power)
|
||||||
* TEE - Trusted Execution Environment
|
* TEE - [**Trusted Execution
|
||||||
|
Environment**](https://en.wikipedia.org/wiki/Trusted_execution_environment)
|
||||||
* TFTP - Network Protocol: Trivial File Transfer Protocol
|
* TFTP - Network Protocol: Trivial File Transfer Protocol
|
||||||
* TGL - Intel: Tigerlake
|
* TGL - Intel: Tigerlake
|
||||||
* THC - Touch Host Controller
|
* THC - Touch Host Controller
|
||||||
@ -919,14 +990,17 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* TLA - Three Letter Acronym
|
* TLA - Three Letter Acronym
|
||||||
* TLB - [**Translation Lookside
|
* TLB - [**Translation Lookside
|
||||||
Buffer**](https://en.wikipedia.org/wiki/Translation_lookaside_buffer)
|
Buffer**](https://en.wikipedia.org/wiki/Translation_lookaside_buffer)
|
||||||
|
* TME - Intel: Total Memory Encryption
|
||||||
* TOCTOU - Time-Of-Check to Time-Of-Use
|
* TOCTOU - Time-Of-Check to Time-Of-Use
|
||||||
* TOLUM - Top of Low Usable Memory
|
* TOLUM - Top of Low Usable Memory
|
||||||
* ToM - Top of Memory
|
* ToM - Top of Memory
|
||||||
* TPM - Trusted Platform Module
|
* TPM - Trusted Platform Module
|
||||||
* TS - TimeStamp -
|
* TS - TimeStamp
|
||||||
|
* TSN - Time-Sensitive Networking
|
||||||
* TSC - [**Time Stamp
|
* TSC - [**Time Stamp
|
||||||
Counter**](https://en.wikipedia.org/wiki/Time_Stamp_Counter)
|
Counter**](https://en.wikipedia.org/wiki/Time_Stamp_Counter)
|
||||||
* TSEG - TOM (Top of Memory) Segment
|
* TSEG - TOM (Top of Memory) Segment
|
||||||
|
* TSR - Temperature Sensor
|
||||||
* TWAIN - Technology without an interesting name.
|
* TWAIN - Technology without an interesting name.
|
||||||
* TX - Transmit
|
* TX - Transmit
|
||||||
* TXE - Intel: Trusted eXecution Engine
|
* TXE - Intel: Trusted eXecution Engine
|
||||||
@ -940,6 +1014,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* UDK - UEFI: UEFI Development Kit
|
* UDK - UEFI: UEFI Development Kit
|
||||||
* UDP - User Datagram Protocol
|
* UDP - User Datagram Protocol
|
||||||
* UEFI - Unified Extensible Firmware Interface
|
* UEFI - Unified Extensible Firmware Interface
|
||||||
|
* UFC - User Facing Camera
|
||||||
|
* UFP - USB: Upstream Facing Port
|
||||||
* UFS - Universal Flash storage
|
* UFS - Universal Flash storage
|
||||||
* UHCI - USB: [**Universal Host Controller
|
* UHCI - USB: [**Universal Host Controller
|
||||||
Interface**](https://en.wikipedia.org/wiki/Host_controller_interface_%28USB%2C_Firewire%29%23UHCI)
|
Interface**](https://en.wikipedia.org/wiki/Host_controller_interface_%28USB%2C_Firewire%29%23UHCI)
|
||||||
@ -961,7 +1037,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
* VBIOS - Video BIOS
|
* VBIOS - Video BIOS
|
||||||
* VBNV - Vboot Non-Volatile storage
|
* VBNV - Vboot Non-Volatile storage
|
||||||
* VBT - [**Video BIOS
|
* VBT - [**Video BIOS
|
||||||
Table**](https://01.org/linuxgraphics/gfx-docs/drm/ch04s02.html#id-1.4.3.4.16)
|
Table**](https://www.kernel.org/doc/html/latest/gpu/i915.html#video-bios-table-vbt)
|
||||||
* VESA - Video Electronics Standards Association
|
* VESA - Video Electronics Standards Association
|
||||||
* VGA: Video Graphics Array
|
* VGA: Video Graphics Array
|
||||||
* VID: Vendor Identifier
|
* VID: Vendor Identifier
|
||||||
@ -988,7 +1064,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
|||||||
devices that open 360 degrees, or on the outside of the cover. For
|
devices that open 360 degrees, or on the outside of the cover. For
|
||||||
tablets, it's on the the side away from the screen.
|
tablets, it's on the the side away from the screen.
|
||||||
* WDT - [**WatchDog Timer**](https://en.wikipedia.org/wiki/Watchdog_timer)
|
* WDT - [**WatchDog Timer**](https://en.wikipedia.org/wiki/Watchdog_timer)
|
||||||
|
* WFC - World Facing Camera
|
||||||
* WLAN - Wireless LAN (Local Area Network)
|
* WLAN - Wireless LAN (Local Area Network)
|
||||||
|
* WWAN - Telecommunication: Wireless WAN (Wide Area Network)
|
||||||
* WP - Cache policy: [**Write-Protected**](https://en.wikipedia.org/wiki/Cache_%28computing%29)
|
* WP - Cache policy: [**Write-Protected**](https://en.wikipedia.org/wiki/Cache_%28computing%29)
|
||||||
* WO - Write-only
|
* WO - Write-only
|
||||||
* WOL - [**Wake-on-LAN**](https://en.wikipedia.org/wiki/Wake-on-LAN)
|
* WOL - [**Wake-on-LAN**](https://en.wikipedia.org/wiki/Wake-on-LAN)
|
||||||
|
@ -31,7 +31,7 @@ topics, including community and technical matters that benefit from
|
|||||||
an official decision.
|
an official decision.
|
||||||
|
|
||||||
We tried a whole lot of different tools, but so far the meetings worked
|
We tried a whole lot of different tools, but so far the meetings worked
|
||||||
best with [Google Meet](https://meet.google.com/syn-toap-agu),
|
best with [Google Meet](https://meet.google.com/pyt-newq-rbb),
|
||||||
using [Google Docs](https://docs.google.com/document/d/1NRXqXcLBp5pFkHiJbrLdv3Spqh1Hu086HYkKrgKjeDQ/edit)
|
using [Google Docs](https://docs.google.com/document/d/1NRXqXcLBp5pFkHiJbrLdv3Spqh1Hu086HYkKrgKjeDQ/edit)
|
||||||
for the agenda and meeting minutes. Neither the video conference nor
|
for the agenda and meeting minutes. Neither the video conference nor
|
||||||
the document require a Google account to participate, although editing
|
the document require a Google account to participate, although editing
|
||||||
|
@ -66,7 +66,7 @@ case 'm':
|
|||||||
case 'K':
|
case 'K':
|
||||||
case 'k':
|
case 'k':
|
||||||
mem <<= 10;
|
mem <<= 10;
|
||||||
/* fall through */
|
__fallthrough;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -818,9 +818,9 @@ Function return values and names
|
|||||||
|
|
||||||
Functions can return values of many different kinds, and one of the most
|
Functions can return values of many different kinds, and one of the most
|
||||||
common is a value indicating whether the function succeeded or failed.
|
common is a value indicating whether the function succeeded or failed.
|
||||||
Such a value can be represented as an error-code integer (-Exxx =
|
Such a value can be represented as an error-code integer (`CB_ERR_xxx`
|
||||||
failure, 0 = success) or a "succeeded" boolean (0 = failure, non-zero
|
(negative number) = failure, `CB_SUCCESS` (0) = success) or a "succeeded"
|
||||||
= success).
|
boolean (0 = failure, non-zero = success).
|
||||||
|
|
||||||
Mixing up these two sorts of representations is a fertile source of
|
Mixing up these two sorts of representations is a fertile source of
|
||||||
difficult-to-find bugs. If the C language included a strong distinction
|
difficult-to-find bugs. If the C language included a strong distinction
|
||||||
@ -832,21 +832,84 @@ If the name of a function is an action or an imperative command,
|
|||||||
the function should return an error-code integer. If the name
|
the function should return an error-code integer. If the name
|
||||||
is a predicate, the function should return a "succeeded" boolean.
|
is a predicate, the function should return a "succeeded" boolean.
|
||||||
|
|
||||||
For example, "add work" is a command, and the add_work() function
|
For example, "add work" is a command, and the `add_work()` function
|
||||||
returns 0 for success or -EBUSY for failure. In the same way, "PCI
|
returns 0 for success or `CB_ERR` for failure. In the same way, "PCI
|
||||||
device present" is a predicate, and the pci_dev_present() function
|
device present" is a predicate, and the `pci_dev_present()` function
|
||||||
returns 1 if it succeeds in finding a matching device or 0 if it
|
returns 1 if it succeeds in finding a matching device or 0 if it
|
||||||
doesn't.
|
doesn't.
|
||||||
|
|
||||||
All EXPORTed functions must respect this convention, and so should all
|
|
||||||
public functions. Private (static) functions need not, but it is
|
|
||||||
recommended that they do.
|
|
||||||
|
|
||||||
Functions whose return value is the actual result of a computation,
|
Functions whose return value is the actual result of a computation,
|
||||||
rather than an indication of whether the computation succeeded, are not
|
rather than an indication of whether the computation succeeded, are not
|
||||||
subject to this rule. Generally they indicate failure by returning some
|
subject to this rule. Generally they indicate failure by returning some
|
||||||
out-of-range result. Typical examples would be functions that return
|
out-of-range result. Typical examples would be functions that return
|
||||||
pointers; they use NULL or the ERR_PTR mechanism to report failure.
|
pointers; they use NULL to report failure.
|
||||||
|
|
||||||
|
Error handling, assertions and die()
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
As firmware, coreboot has no means to let the user interactively fix things when
|
||||||
|
something goes wrong. We either succeed to boot or the device becomes a brick
|
||||||
|
that must be recovered through complicated external means (e.g. a flash
|
||||||
|
programmer). Therefore, coreboot code should strive to continue booting
|
||||||
|
wherever possible.
|
||||||
|
|
||||||
|
In most cases, errors should be handled by logging a message of at least
|
||||||
|
`BIOS_ERR` level, returning out of the function stack for the failed feature,
|
||||||
|
and then continuing execution. For example, if a function reading the EDID of an
|
||||||
|
eDP display panel encounters an I2C error, it should print a "cannot read EDID"
|
||||||
|
message and return an error code. The calling display initialization function
|
||||||
|
knows that without the EDID there is no way to initialize the display correctly,
|
||||||
|
so it will also immediately return with an error code without running its
|
||||||
|
remaining code that would initialize the SoC's display controller. Exeuction
|
||||||
|
returns further up the function stack to the mainboard initialization code
|
||||||
|
which continues booting despite the failed display initialization, since
|
||||||
|
display functionality is non-essential to the system. (Code is encouraged but
|
||||||
|
not required to use `enum cb_err` error codes to return these errors.)
|
||||||
|
|
||||||
|
coreboot also has the `die()` function that completely halts execution. `die()`
|
||||||
|
should only be used as a last resort, since it results in the worst user
|
||||||
|
experience (bricked system). It is generally preferrable to continue executing
|
||||||
|
even after a problem was encountered that might be fatal (e.g. SPI clock
|
||||||
|
couldn't be configured correctly), because a slight chance of successfully
|
||||||
|
booting is still better than not booting at all. The only cases where `die()`
|
||||||
|
should be used are:
|
||||||
|
|
||||||
|
1. There is no (simple) way to continue executing. For example, when loading the
|
||||||
|
next stage from SPI flash fails, we don't have any more code to execute. When
|
||||||
|
memory initialization fails, we have no space to load the ramstage into.
|
||||||
|
|
||||||
|
2. Continuing execution would pose a security risk. All security features in
|
||||||
|
coreboot are optional, but when they are configured in the user must be able
|
||||||
|
to rely on them. For example, if CBFS verification is enabled and the file
|
||||||
|
hash when loading the romstage doesn't match what it should be, it is better
|
||||||
|
to stop execution than to jump to potentially malicious code.
|
||||||
|
|
||||||
|
In addition to normal error logging with `printk()`, coreboot also offers the
|
||||||
|
`assert()` macro. `assert()` should be used judiciously to confirm that
|
||||||
|
conditions are true which the programmer _knows_ to be true, in order to catch
|
||||||
|
programming errors and incorrect assumptions. It is therefore different from a
|
||||||
|
normal `if ()`-check that is used to actually test for things which may turn
|
||||||
|
out to be true or false based on external conditions. For example, anything
|
||||||
|
that involves communicating with hardware, such as whether an attempt to read
|
||||||
|
from SPI flash succeeded, should _not_ use `assert()` and should instead just
|
||||||
|
be checked with a normal `if ()` and subsequent manual error handling. Hardware
|
||||||
|
can always fail for various reasons and the programmer can never 100% assume in
|
||||||
|
advance that it will work as expected. On the other hand, if a function takes a
|
||||||
|
pointer parameter `ctx` and the contract for that function (as documented in a
|
||||||
|
comment above its declaration) specifies that this parameter should point to a
|
||||||
|
valid context structure, then adding an `assert(ctx)` line to that function may
|
||||||
|
be a good idea. The programmer knows that this function should never be called
|
||||||
|
with a NULL pointer (because that's how it is specified), and if it was actually
|
||||||
|
called with a NULL pointer that would indicate a programming error on account of
|
||||||
|
the caller.
|
||||||
|
|
||||||
|
`assert()` can be configured to either just print an error message and continue
|
||||||
|
execution (default), or call `die()` (when `CONFIG_FATAL_ASSERTS` is set).
|
||||||
|
Developers are encouraged to always test their code with this option enabled to
|
||||||
|
make assertion errors (and therefore bugs) more easy to notice. Since assertions
|
||||||
|
thus do not always stop execution, they should never be relied upon to be the
|
||||||
|
sole guard against conditions that really _need_ to stop execution (e.g.
|
||||||
|
security guarantees should never be enforced only by `assert()`).
|
||||||
|
|
||||||
Headers and includes
|
Headers and includes
|
||||||
---------------
|
---------------
|
||||||
@ -1002,7 +1065,7 @@ The C Programming Language, Second Edition by Brian W. Kernighan and
|
|||||||
Dennis M. Ritchie. Prentice Hall, Inc., 1988. ISBN 0-13-110362-8
|
Dennis M. Ritchie. Prentice Hall, Inc., 1988. ISBN 0-13-110362-8
|
||||||
(paperback), 0-13-110370-9 (hardback). URL:
|
(paperback), 0-13-110370-9 (hardback). URL:
|
||||||
<https://duckduckgo.com/?q=isbn+0-13-110362-8> or
|
<https://duckduckgo.com/?q=isbn+0-13-110362-8> or
|
||||||
<https://www.google.com/search?q=isbn+0-13-110362-8.
|
<https://www.google.com/search?q=isbn+0-13-110362-8>
|
||||||
|
|
||||||
|
|
||||||
The Practice of Programming by Brian W. Kernighan and Rob Pike.
|
The Practice of Programming by Brian W. Kernighan and Rob Pike.
|
||||||
|
@ -41,7 +41,7 @@ project you're submitting the changes to. If you’re submitting code that
|
|||||||
you wrote that might be owned by your employer, make sure that your
|
you wrote that might be owned by your employer, make sure that your
|
||||||
employer is aware and you are authorized to submit the code. For
|
employer is aware and you are authorized to submit the code. For
|
||||||
clarification, see the Developer's Certificate of Origin in the coreboot
|
clarification, see the Developer's Certificate of Origin in the coreboot
|
||||||
[Signed-off-by policy](https://www.coreboot.org/Development_Guidelines#Sign-off_Procedure).
|
[Signed-off-by policy](#sign-off-procedure).
|
||||||
|
|
||||||
* In general, patches should remain open for review for at least 24 hours
|
* In general, patches should remain open for review for at least 24 hours
|
||||||
since the last significant modification to the change. The purpose is to
|
since the last significant modification to the change. The purpose is to
|
||||||
@ -127,6 +127,54 @@ those platforms. While it would be nice to update any other platforms, you
|
|||||||
must at least provide a path that will allow other platforms to continue
|
must at least provide a path that will allow other platforms to continue
|
||||||
working.
|
working.
|
||||||
|
|
||||||
|
Sign-off Procedure
|
||||||
|
------------------
|
||||||
|
The coreboot project employs a sign-off procedure similar to what is
|
||||||
|
used by the Linux kernel. Each gerrit commit requires a sign-off line
|
||||||
|
saying that the contributed code abides by the Developer's certificate
|
||||||
|
of origin, below.
|
||||||
|
```text
|
||||||
|
Signed-off-by: Random J Developer <random@developer.example.org>
|
||||||
|
```
|
||||||
|
|
||||||
|
Using '-s' with 'git commit' will automatically add a Signed-off-by line
|
||||||
|
to your commit message. Patches without a Signed-off-by should not be
|
||||||
|
pushed to gerrit, and will be rejected by coreboot's CI system.
|
||||||
|
|
||||||
|
You must use a known identity in the Signed-off-by line. Anonymous
|
||||||
|
contributions cannot be committed! This can be anything sufficient to
|
||||||
|
identify and contact the source of a contribution, such as your name or
|
||||||
|
an established alias/nickname. Refer to [this LKML thread] and the
|
||||||
|
[SCO-Linux disputes] for the rationale behind the DCO.
|
||||||
|
|
||||||
|
Developer's Certificate of Origin 1.1
|
||||||
|
|
||||||
|
> By making a contribution to this project, I certify that:
|
||||||
|
>
|
||||||
|
> (a) The contribution was created in whole or in part by me and I have
|
||||||
|
> the right to submit it under the open source license indicated in the
|
||||||
|
> file; or
|
||||||
|
>
|
||||||
|
> (b) The contribution is based upon previous work that, to the best of
|
||||||
|
> my knowledge, is covered under an appropriate open source license and
|
||||||
|
> I have the right under that license to submit that work with
|
||||||
|
> modifications, whether created in whole or in part by me, under the
|
||||||
|
> same open source license (unless I am permitted to submit under a
|
||||||
|
> different license), as indicated in the file; or
|
||||||
|
>
|
||||||
|
> (c) The contribution was provided directly to me by some other person
|
||||||
|
> who certified (a), (b) or (c) and I have not modified it; and
|
||||||
|
>
|
||||||
|
> (d) In the case of each of (a), (b), or (c), I understand and agree
|
||||||
|
> that this project and the contribution are public and that a record of
|
||||||
|
> the contribution (including all personal information I submit with it,
|
||||||
|
> including my sign-off) is maintained indefinitely and may be
|
||||||
|
> redistributed consistent with this project or the open source license
|
||||||
|
> indicated in the file.
|
||||||
|
|
||||||
|
Note: The [Developer's Certificate of Origin 1.1] is licensed under the
|
||||||
|
terms of the [Creative Commons Attribution-ShareAlike 2.5 License].
|
||||||
|
|
||||||
|
|
||||||
Recommendations for gerrit activity
|
Recommendations for gerrit activity
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@ -173,7 +221,10 @@ This helps verify that the patch train won’t tie up the jenkins builders
|
|||||||
for no reason if there are failing patches in the train. For running
|
for no reason if there are failing patches in the train. For running
|
||||||
parallel builds, you can specify the number of cores to use by setting the
|
parallel builds, you can specify the number of cores to use by setting the
|
||||||
the CPUS environment variable. Example:
|
the CPUS environment variable. Example:
|
||||||
make what-jenkins-does CPUS=8
|
|
||||||
|
```Bash
|
||||||
|
make what-jenkins-does CPUS=8
|
||||||
|
```
|
||||||
|
|
||||||
* Use a topic when pushing a train of patches. This groups the commits
|
* Use a topic when pushing a train of patches. This groups the commits
|
||||||
together so people can easily see the connection at the top level of
|
together so people can easily see the connection at the top level of
|
||||||
@ -181,7 +232,10 @@ gerrit. Topics can be set for individual patches in gerrit by going into
|
|||||||
the patch and clicking on the icon next to the topic line. Topics can also
|
the patch and clicking on the icon next to the topic line. Topics can also
|
||||||
be set when you push the patches into gerrit. For example, to push a set of
|
be set when you push the patches into gerrit. For example, to push a set of
|
||||||
commits with the i915-kernel-x60 set, use the command:
|
commits with the i915-kernel-x60 set, use the command:
|
||||||
git push origin HEAD:refs/for/master%topic=i915-kernel-x60
|
|
||||||
|
```Bash
|
||||||
|
git push origin HEAD:refs/for/master%topic=i915-kernel-x60
|
||||||
|
```
|
||||||
|
|
||||||
* If one of your patches isn't ready to be merged, make sure it's obvious
|
* If one of your patches isn't ready to be merged, make sure it's obvious
|
||||||
that you don't feel it's ready for merge yet. The preferred way to show
|
that you don't feel it's ready for merge yet. The preferred way to show
|
||||||
@ -191,7 +245,10 @@ Examples of this are "WIP: title" or "[NEEDS_TEST]: title". Another way to
|
|||||||
mark the patch as not ready would be to give it a -1 or -2 review, but
|
mark the patch as not ready would be to give it a -1 or -2 review, but
|
||||||
isn't as obvious as the commit message. These patches can also be pushed with
|
isn't as obvious as the commit message. These patches can also be pushed with
|
||||||
the wip flag:
|
the wip flag:
|
||||||
git push origin HEAD:refs/for/master%wip
|
|
||||||
|
```Bash
|
||||||
|
git push origin HEAD:refs/for/master%wip
|
||||||
|
```
|
||||||
|
|
||||||
* When pushing patches that are not for submission, these should be marked
|
* When pushing patches that are not for submission, these should be marked
|
||||||
as such. This can be done in the title ‘[DONOTSUBMIT]’, or can be pushed as
|
as such. This can be done in the title ‘[DONOTSUBMIT]’, or can be pushed as
|
||||||
@ -200,10 +257,16 @@ sorts of patches are frequently posted as ideas or RFCs for the community to
|
|||||||
look at. Note that private changes can still be fetched from Gerrit by anybody
|
look at. Note that private changes can still be fetched from Gerrit by anybody
|
||||||
who knows their commit ID, so don't use this for sensitive changes. To push
|
who knows their commit ID, so don't use this for sensitive changes. To push
|
||||||
a private change, use the command:
|
a private change, use the command:
|
||||||
git push origin HEAD:refs/for/master%private
|
|
||||||
|
```Bash
|
||||||
|
git push origin HEAD:refs/for/master%private
|
||||||
|
```
|
||||||
|
|
||||||
* Multiple push options can be combined:
|
* Multiple push options can be combined:
|
||||||
git push origin HEAD:refs/for/master%private,wip,topic=experiment
|
|
||||||
|
```Bash
|
||||||
|
git push origin HEAD:refs/for/master%private,wip,topic=experiment
|
||||||
|
```
|
||||||
|
|
||||||
* Respond to anyone who has taken the time to review your patches, even if
|
* Respond to anyone who has taken the time to review your patches, even if
|
||||||
it's just to say that you disagree. While it may seem annoying to address a
|
it's just to say that you disagree. While it may seem annoying to address a
|
||||||
@ -277,13 +340,15 @@ git/gerrit tags by prepending the lines with 'Original-'. Marking
|
|||||||
the original text this way makes it much easier to tell what changes
|
the original text this way makes it much easier to tell what changes
|
||||||
happened in which repository. This applies to these lines, not the actual
|
happened in which repository. This applies to these lines, not the actual
|
||||||
commit message itself:
|
commit message itself:
|
||||||
Commit-Id:
|
|
||||||
Change-Id:
|
* Commit-Id:
|
||||||
Signed-off-by:
|
* Change-Id:
|
||||||
Reviewed-on:
|
* Signed-off-by:
|
||||||
Tested-by:
|
* Reviewed-on:
|
||||||
Reviewed-by:
|
* Tested-by:
|
||||||
The script 'util/gitconfig/rebase.sh' can be used to help automate this.
|
* Reviewed-by:
|
||||||
|
|
||||||
|
The script `util/gitconfig/rebase.sh` can be used to help automate this.
|
||||||
Other tags such as 'Commit-Queue' can simply be removed.
|
Other tags such as 'Commit-Queue' can simply be removed.
|
||||||
|
|
||||||
* Check if there's documentation that needs to be updated to remain current
|
* Check if there's documentation that needs to be updated to remain current
|
||||||
@ -369,3 +434,7 @@ Requests for clarification and suggestions for updates to these guidelines
|
|||||||
should be sent to the coreboot mailing list at <coreboot@coreboot.org>.
|
should be sent to the coreboot mailing list at <coreboot@coreboot.org>.
|
||||||
|
|
||||||
[ready changes]: https://review.coreboot.org/q/age:1d+project:coreboot+status:open+is:mergeable+label:All-Comments-Resolved%253Dok+label:Code-Review%253D2+-label:Code-Review%253C0+label:Verified%253D1+-label:Verified-1
|
[ready changes]: https://review.coreboot.org/q/age:1d+project:coreboot+status:open+is:mergeable+label:All-Comments-Resolved%253Dok+label:Code-Review%253D2+-label:Code-Review%253C0+label:Verified%253D1+-label:Verified-1
|
||||||
|
[Developer's Certificate of Origin 1.1]: https://developercertificate.org/
|
||||||
|
[Creative Commons Attribution-ShareAlike 2.5 License]: https://creativecommons.org/licenses/by-sa/2.5/
|
||||||
|
[this LKML thread]: https://lkml.org/lkml/2004/5/23/10
|
||||||
|
[SCO-Linux disputes]: https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_disputes
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
# Google Summer of Code
|
# Google Summer of Code
|
||||||
|
|
||||||
|
## Organization admins
|
||||||
|
|
||||||
|
The *organization admins* are managing the GSoC program for the coreboot
|
||||||
|
organization.
|
||||||
|
|
||||||
|
The organization admins are:
|
||||||
|
|
||||||
|
* Felix Singer (primary)
|
||||||
|
* Martin Roth
|
||||||
|
* David Hendricks
|
||||||
|
|
||||||
|
|
||||||
## Contacts
|
## Contacts
|
||||||
|
|
||||||
@ -8,9 +19,6 @@ please have a look at our [community forums] and reach out to us. Working closel
|
|||||||
with the community is highly encouraged, as we've seen that our most successful
|
with the community is highly encouraged, as we've seen that our most successful
|
||||||
contributors are generally very involved.
|
contributors are generally very involved.
|
||||||
|
|
||||||
Felix Singer, David Hendricks and Martin Roth are the coreboot GSoC admins for
|
|
||||||
2022. Please feel free to reach out to them directly if you have any questions.
|
|
||||||
|
|
||||||
|
|
||||||
## Why work on coreboot for GSoC?
|
## Why work on coreboot for GSoC?
|
||||||
|
|
||||||
@ -51,6 +59,8 @@ Felix Singer, David Hendricks and Martin Roth are the coreboot GSoC admins for
|
|||||||
|
|
||||||
* [Glossary][GSoC Glossary]
|
* [Glossary][GSoC Glossary]
|
||||||
|
|
||||||
|
* [Organization Admin Tips][GSoC Organization Admin Tips]
|
||||||
|
|
||||||
|
|
||||||
## Contributor requirements & commitments
|
## Contributor requirements & commitments
|
||||||
|
|
||||||
@ -91,7 +101,7 @@ amount of spare time. If this is not the case, then you should not apply.
|
|||||||
process and common issues.
|
process and common issues.
|
||||||
|
|
||||||
* Get signed up for Gerrit and push at least one patch to Gerrit for review.
|
* Get signed up for Gerrit and push at least one patch to Gerrit for review.
|
||||||
Check the [easy project list][Project ideas] or ask for simple tasks on
|
Check the [small project list][Project ideas] or ask for simple tasks on
|
||||||
the [mailing list] or on our other [community forums] if you need ideas.
|
the [mailing list] or on our other [community forums] if you need ideas.
|
||||||
|
|
||||||
|
|
||||||
@ -273,3 +283,4 @@ questions.
|
|||||||
[GSoC FAQ]: https://developers.google.com/open-source/gsoc/faq
|
[GSoC FAQ]: https://developers.google.com/open-source/gsoc/faq
|
||||||
[GSoC Rules]: https://summerofcode.withgoogle.com/rules
|
[GSoC Rules]: https://summerofcode.withgoogle.com/rules
|
||||||
[GSoC Glossary]: https://developers.google.com/open-source/gsoc/resources/glossary
|
[GSoC Glossary]: https://developers.google.com/open-source/gsoc/resources/glossary
|
||||||
|
[GSoC Organization Admin Tips]: https://developers.google.com/open-source/gsoc/help/oa-tips
|
||||||
|
@ -20,12 +20,12 @@ doubt if you can bring yourself up to speed in a required time frame
|
|||||||
with the projects. We can then try together to figure out if you're a
|
with the projects. We can then try together to figure out if you're a
|
||||||
good match for a project, even when requirements might not all be met.
|
good match for a project, even when requirements might not all be met.
|
||||||
|
|
||||||
## Easy projects
|
## Small projects
|
||||||
|
|
||||||
This is a collection of tasks which don't require deep knowledge on
|
This is a collection of tasks which don't require deep knowledge on
|
||||||
coreboot itself. If you are a beginner and want to get familiar with the
|
coreboot itself. If you are a beginner and want to get familiar with the
|
||||||
the project and the code base, or if you just want to get your hands
|
the project and the code base, or if you just want to get your hands
|
||||||
dirty with some easy tasks, then these are for you.
|
dirty with some small tasks, then these are for you.
|
||||||
|
|
||||||
* Resolve static analysis issues reported by [scan-build] and
|
* Resolve static analysis issues reported by [scan-build] and
|
||||||
[Coverity scan]. More details on the page for
|
[Coverity scan]. More details on the page for
|
||||||
@ -36,7 +36,7 @@ dirty with some easy tasks, then these are for you.
|
|||||||
[scan-build]: https://coreboot.org/scan-build/
|
[scan-build]: https://coreboot.org/scan-build/
|
||||||
[Coverity scan]: https://scan.coverity.com/projects/coreboot
|
[Coverity scan]: https://scan.coverity.com/projects/coreboot
|
||||||
[Coverity scan integration]: ../infrastructure/coverity.md
|
[Coverity scan integration]: ../infrastructure/coverity.md
|
||||||
[Linter issues]: https://qa.coreboot.org/job/untested-coreboot-files/lastSuccessfulBuild/artifact/lint.txt
|
[Linter issues]: https://qa.coreboot.org/job/coreboot-untested-files/lastSuccessfulBuild/artifact/lint.txt
|
||||||
|
|
||||||
## Provide toolchain binaries
|
## Provide toolchain binaries
|
||||||
Our crossgcc subproject provides a uniform compiler environment for
|
Our crossgcc subproject provides a uniform compiler environment for
|
||||||
@ -63,7 +63,6 @@ non-Linux builds or Docker for different Linux distributions.
|
|||||||
* hardware requirements: Nothing special
|
* hardware requirements: Nothing special
|
||||||
|
|
||||||
### Mentors
|
### Mentors
|
||||||
* Patrick Georgi <patrick@georgi.software>
|
|
||||||
|
|
||||||
## Support Power9/Power8 in coreboot
|
## Support Power9/Power8 in coreboot
|
||||||
There are some basic PPC64 stubs in coreboot, and there's open hardware
|
There are some basic PPC64 stubs in coreboot, and there's open hardware
|
||||||
@ -87,8 +86,8 @@ across architectures.
|
|||||||
## Port payloads to ARM, AArch64 or RISC-V
|
## Port payloads to ARM, AArch64 or RISC-V
|
||||||
While we have a rather big set of payloads for x86 based platforms, all other
|
While we have a rather big set of payloads for x86 based platforms, all other
|
||||||
architectures are rather limited. Improve the situation by porting a payload
|
architectures are rather limited. Improve the situation by porting a payload
|
||||||
to one of the platforms, for example GRUB2, U-Boot (the UI part), Tianocore,
|
to one of the platforms, for example GRUB2, U-Boot (the UI part), edk2,
|
||||||
yabits, FILO, or Linux-as-Payload.
|
FILO, or Linux-as-Payload.
|
||||||
|
|
||||||
Since this is a bit of a catch-all idea, an application to GSoC should pick a
|
Since this is a bit of a catch-all idea, an application to GSoC should pick a
|
||||||
combination of payload and architecture to support.
|
combination of payload and architecture to support.
|
||||||
@ -130,7 +129,6 @@ their bug reports.
|
|||||||
going on from the resulting logs.
|
going on from the resulting logs.
|
||||||
|
|
||||||
### Mentors
|
### Mentors
|
||||||
* Patrick Georgi <patrick@georgi.software>
|
|
||||||
|
|
||||||
## Extend Ghidra to support analysis of firmware images
|
## Extend Ghidra to support analysis of firmware images
|
||||||
[Ghidra](https://ghidra-sre.org) is a recently released cross-platform
|
[Ghidra](https://ghidra-sre.org) is a recently released cross-platform
|
||||||
|
BIN
Documentation/coreboot_logo.bmp
Normal file
After Width: | Height: | Size: 195 KiB |
@ -37,15 +37,15 @@ firmware binaries on [GitHub](https://pcengines.github.io).
|
|||||||
|
|
||||||
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and
|
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and
|
||||||
built specifically for Linux that are available with coreboot firmware. They
|
built specifically for Linux that are available with coreboot firmware. They
|
||||||
use Tianocore as the payload and include an NVRAM option to disable the
|
use edk2 as the payload and include an NVRAM option to disable the Intel
|
||||||
Intel Management Engine.
|
Management Engine.
|
||||||
|
|
||||||
### System76
|
### System76
|
||||||
|
|
||||||
[System76](https://system76.com/) manufactures Linux laptops, desktops, and
|
[System76](https://system76.com/) manufactures Linux laptops, desktops, and
|
||||||
servers. Some models are sold with [System76 Open
|
servers. Some models are sold with [System76 Open
|
||||||
Firmware](https://github.com/system76/firmware-open), an open source
|
Firmware](https://github.com/system76/firmware-open), an open source
|
||||||
distribution of coreboot, EDK2, and System76 firmware applications.
|
distribution of coreboot, edk2, and System76 firmware applications.
|
||||||
|
|
||||||
### Purism
|
### Purism
|
||||||
|
|
||||||
@ -71,12 +71,14 @@ focusing on clean and simple code, long-term maintenance, transparent
|
|||||||
validation, privacy-respecting implementation, liberty for the owners, and
|
validation, privacy-respecting implementation, liberty for the owners, and
|
||||||
trustworthiness for all.
|
trustworthiness for all.
|
||||||
|
|
||||||
|
Contributions are welcome,
|
||||||
|
[this document](https://docs.dasharo.com/ways-you-can-help-us/).
|
||||||
|
|
||||||
### MrChromebox
|
### MrChromebox
|
||||||
|
|
||||||
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
|
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
|
||||||
images for the vast majority of x86-based Chromebooks and Chromeboxes, using
|
images for the vast majority of x86-based Chromebooks and Chromeboxes, using
|
||||||
Tianocore as the payload to provide a modern UEFI bootloader. Why replace
|
edk2 as the payload to provide a modern UEFI bootloader. Why replace
|
||||||
coreboot with coreboot? Mr Chromebox's images are built using upstream
|
coreboot with coreboot? Mr Chromebox's images are built using upstream
|
||||||
coreboot (vs Google's older, static tree/branch), include many features and
|
coreboot (vs Google's older, static tree/branch), include many features and
|
||||||
fixes not found in the stock firmware, and offer much broader OS compatibility
|
fixes not found in the stock firmware, and offer much broader OS compatibility
|
||||||
|
143
Documentation/drivers/cbfs_smbios.md
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
# CBFS SMBIOS hooks
|
||||||
|
|
||||||
|
The document describes the coreboot options how to make CBFS files populate
|
||||||
|
platform-unique SMBIOS data.
|
||||||
|
|
||||||
|
## SMBIOS Serial Number
|
||||||
|
|
||||||
|
The [DMTF SMBIOS specification] defines a field in the type 1 System
|
||||||
|
Information and type 2 Baseboard Information called Serial Number. It
|
||||||
|
is a null-terminated string field assumed to be unique per platform. Certain
|
||||||
|
mainboard ports have SMBIOS hooks to generate the Serial Numbers from external
|
||||||
|
data, e.g. Lenovo Thinkpads (see DRIVER_LENOVO_SERIALS). This driver aims to
|
||||||
|
provide an option to populate the Serial Numbers from CBFS for boards that
|
||||||
|
can't generate the it from any source.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
In the coreboot configuration menu (`make menuconfig`) go to `Generic Drivers`
|
||||||
|
and select an option `Serial number in CBFS`. The Kconfig system will enable
|
||||||
|
`DRIVERS_GENERIC_CBFS_SERIAL` and the relevant code parts will be compiled into
|
||||||
|
coreboot image.
|
||||||
|
|
||||||
|
After the coreboot build for your board completes, use the cbfstool to include
|
||||||
|
the file containing the serial number:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./build/cbfstool build/coreboot.rom add -n serial_number -t raw -f /path/to/serial_file.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `serial_file.txt` is the unterminated string representation of the SMBIOS
|
||||||
|
type 1 or type 2 Serial Number, e.g. `5Q4Q7Y1`. If you use vboot with 1 or 2 RW
|
||||||
|
partitions you will have to specify the RW regions where the file is going to
|
||||||
|
be added too. By default the RW CBFS partitions are truncated, so the files
|
||||||
|
would probably not fit, one needs to expand them first.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./build/cbfstool build/coreboot.rom expand -r FW_MAIN_A
|
||||||
|
./build/cbfstool build/coreboot.rom add -n serial_number -t raw \
|
||||||
|
-f /path/to/serial_file.txt -r FW_MAIN_A
|
||||||
|
./build/cbfstool build/coreboot.rom truncate -r FW_MAIN_A
|
||||||
|
|
||||||
|
./build/cbfstool build/coreboot.rom expand -r FW_MAIN_B
|
||||||
|
./build/cbfstool build/coreboot.rom add -n serial_number -t raw \
|
||||||
|
-f /path/to/serial_file.txt -r FW_MAIN_B
|
||||||
|
./build/cbfstool build/coreboot.rom truncate -r FW_MAIN_B
|
||||||
|
```
|
||||||
|
|
||||||
|
By default cbfstool adds files to COREBOOT region only, so when vboot is
|
||||||
|
enabled and the platform is booting from RW partition, the file would not be
|
||||||
|
picked up by the driver.
|
||||||
|
|
||||||
|
One may retrieve the Serial Number from running system (if it exists) using one
|
||||||
|
of the following commands:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# Type 1
|
||||||
|
echo -n `sudo dmidecode -s system-serial-number` > serial_file.txt
|
||||||
|
# OR Type 2
|
||||||
|
echo -n `sudo dmidecode -s baseboard-serial-number` > serial_file.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Ensure the file does not end with whitespaces like LF and/or CR. The above
|
||||||
|
commands will not add any whitespaces. The driver automatically terminates the
|
||||||
|
Serial Number with the NULL character. If the CBFS file is not present, the
|
||||||
|
driver will fall back to the string defined in `MAINBOARD_SERIAL_NUMBER` build
|
||||||
|
option.
|
||||||
|
|
||||||
|
Please note that this driver provides `smbios_mainboard_serial_number` hook
|
||||||
|
overriding the default implementation which returns `MAINBOARD_SERIAL_NUMBER`
|
||||||
|
build option. If you wish to populate only type 2 Serial Number field your
|
||||||
|
board code needs to implement `smbios_system_serial_number`, otherwise the weak
|
||||||
|
implementation of `smbios_system_serial_number` will call
|
||||||
|
`smbios_mainboard_serial_number` from the `DRIVERS_GENERIC_CBFS_SERIAL`
|
||||||
|
implementation overriding it. So selecting the `DRIVERS_GENERIC_CBFS_SERIAL`
|
||||||
|
has a side-effect of populating both SMBIOS type 1 and type 2 Serial Numbers
|
||||||
|
if the board does not implement its own `smbios_system_serial_number`.
|
||||||
|
|
||||||
|
There is also SMBIOS type 3 Chassis Information Serial Number, but it is not
|
||||||
|
populated by `DRIVERS_GENERIC_CBFS_SERIAL` nor by the default weak
|
||||||
|
implementation (returns empty string). If you wish to populate type 3 Serial
|
||||||
|
Number, your board code should override the default
|
||||||
|
`smbios_chassis_serial_number` weak implementation.
|
||||||
|
|
||||||
|
## SMBIOS System UUID
|
||||||
|
|
||||||
|
The [DMTF SMBIOS specification] defines a field in the type 1 System
|
||||||
|
Information Structure called System UUID. It is a 16 bytes value compliant with
|
||||||
|
[RFC4122] and assumed to be unique per platform. Certain mainboard ports have
|
||||||
|
SMBIOS hooks to generate the UUID from external data, e.g. Lenovo Thinkpads
|
||||||
|
(see DRIVER_LENOVO_SERIALS). This driver aims to provide an option to populate
|
||||||
|
the UUID from CBFS for boards that can't generate the UUID from any source.
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
In the coreboot configuration menu (`make menuconfig`) go to `Generic Drivers`
|
||||||
|
and select an option `System UUID in CBFS`. The Kconfig system will enable
|
||||||
|
`DRIVERS_GENERIC_CBFS_UUID` and the relevant code parts will be compiled into
|
||||||
|
coreboot image.
|
||||||
|
|
||||||
|
After the coreboot build for your board completes, use the cbfstool to include
|
||||||
|
the file containing the UUID:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./build/cbfstool build/coreboot.rom add -n system_uuid -t raw -f /path/to/uuid_file.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
Where `uuid_file.txt` is the unterminated string representation of the SMBIOS
|
||||||
|
type 1 UUID, e.g. `4c4c4544-0051-3410-8051-b5c04f375931`. If you use vboot with
|
||||||
|
1 or 2 RW partitions you will have to specify the RW regions where the file is
|
||||||
|
going to be added too. By default the RW CBFS partitions are truncated, so the
|
||||||
|
files would probably not fit, one needs to expand them first.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./build/cbfstool build/coreboot.rom expand -r FW_MAIN_A
|
||||||
|
./build/cbfstool build/coreboot.rom add -n system_uuid -t raw \
|
||||||
|
-f /path/to/uuid_file.txt -r FW_MAIN_A
|
||||||
|
./build/cbfstool build/coreboot.rom truncate -r FW_MAIN_A
|
||||||
|
|
||||||
|
./build/cbfstool build/coreboot.rom expand -r FW_MAIN_B
|
||||||
|
./build/cbfstool build/coreboot.rom add -n system_uuid -t raw \
|
||||||
|
-f /path/to/uuid_file.txt -r FW_MAIN_B
|
||||||
|
./build/cbfstool build/coreboot.rom truncate -r FW_MAIN_B
|
||||||
|
```
|
||||||
|
|
||||||
|
By default cbfstool adds files to COREBOOT region only, so when vboot is
|
||||||
|
enabled and the platform is booting from RW partition, the file would not be
|
||||||
|
picked up by the driver.
|
||||||
|
|
||||||
|
One may retrieve the UUID from running system (if it exists) using the
|
||||||
|
following command:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
echo -n `sudo dmidecode -s system-uuid` > uuid_file.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
The above command ensures the file does not end with whitespaces like LF and/or
|
||||||
|
CR. The above command will not add any whitespaces. But the driver will handle
|
||||||
|
situations where up to 2 additional bytes like CR and LF will be included in
|
||||||
|
the file. Any more than that will make the driver fail to populate UUID in
|
||||||
|
SMBIOS.
|
||||||
|
|
||||||
|
[DMTF SMBIOS specification]: https://www.dmtf.org/standards/smbios
|
||||||
|
[RFC4122]: https://www.ietf.org/rfc/rfc4122.txt
|
@ -43,7 +43,7 @@ This policy monitors the temperature of participants and controls fans to spin
|
|||||||
at varying speeds. These speeds are defined by the platform, and will be enabled
|
at varying speeds. These speeds are defined by the platform, and will be enabled
|
||||||
depending on the various temperatures reported by participants.
|
depending on the various temperatures reported by participants.
|
||||||
|
|
||||||
# Note about units
|
## Note about units
|
||||||
|
|
||||||
ACPI uses unusual units for specifying various physical measurements. For
|
ACPI uses unusual units for specifying various physical measurements. For
|
||||||
example, temperatures are specified in 10ths of a degree K, and time is measured
|
example, temperatures are specified in 10ths of a degree K, and time is measured
|
||||||
@ -69,7 +69,7 @@ data was a 0). The following Methods were removed:
|
|||||||
2) There is no more implicit inclusion of _ACn methods for TCPU (these must be
|
2) There is no more implicit inclusion of _ACn methods for TCPU (these must be
|
||||||
specified in the devicetree entries or by calling the DPTF acpigen API).
|
specified in the devicetree entries or by calling the DPTF acpigen API).
|
||||||
|
|
||||||
# ACPI Tables
|
## ACPI Tables
|
||||||
|
|
||||||
DPTF relies on an assortment of ACPI tables to provide parameters to the DPTF
|
DPTF relies on an assortment of ACPI tables to provide parameters to the DPTF
|
||||||
application. We will discuss the more important ones here.
|
application. We will discuss the more important ones here.
|
||||||
@ -108,7 +108,7 @@ various informational properties.
|
|||||||
This table describes performance states supported by a participant (typically
|
This table describes performance states supported by a participant (typically
|
||||||
the battery charger).
|
the battery charger).
|
||||||
|
|
||||||
# ACPI Methods
|
## ACPI Methods
|
||||||
|
|
||||||
The Active and Passive policies also provide for short Methods to define
|
The Active and Passive policies also provide for short Methods to define
|
||||||
different kinds of temperature thresholds.
|
different kinds of temperature thresholds.
|
||||||
@ -141,7 +141,7 @@ a "graceful shutdown".
|
|||||||
|
|
||||||
These are optional, and are enabled by selecting the Critical Policy.
|
These are optional, and are enabled by selecting the Critical Policy.
|
||||||
|
|
||||||
# How to use the devicetree entries
|
## How to use the devicetree entries
|
||||||
|
|
||||||
The `drivers/intel/dptf` chip driver is organized into several sections:
|
The `drivers/intel/dptf` chip driver is organized into several sections:
|
||||||
- Policies
|
- Policies
|
||||||
@ -151,7 +151,7 @@ The `drivers/intel/dptf` chip driver is organized into several sections:
|
|||||||
The Policies section (`policies.active`, `policies.passive`, and
|
The Policies section (`policies.active`, `policies.passive`, and
|
||||||
`policies.critical`) is where the components of each policy are defined.
|
`policies.critical`) is where the components of each policy are defined.
|
||||||
|
|
||||||
## Active Policy
|
### Active Policy
|
||||||
|
|
||||||
Each Active Policy is defined in terms of 4 parts:
|
Each Active Policy is defined in terms of 4 parts:
|
||||||
1) A Source (this is implicitly defined as TFN1, the system fan)
|
1) A Source (this is implicitly defined as TFN1, the system fan)
|
||||||
@ -182,7 +182,7 @@ the CPU's active cooling capability). When the CPU temperature first crosses
|
|||||||
rest of the table (note that it *must* be defined from highest temperature/
|
rest of the table (note that it *must* be defined from highest temperature/
|
||||||
percentage on down to the lowest).
|
percentage on down to the lowest).
|
||||||
|
|
||||||
## Passive Policy
|
### Passive Policy
|
||||||
|
|
||||||
Each Passive Policy is defined in terms of 5 parts:
|
Each Passive Policy is defined in terms of 5 parts:
|
||||||
1) Source - The device that can be throttled
|
1) Source - The device that can be throttled
|
||||||
@ -201,7 +201,7 @@ This example sets up a policy to begin throttling the charger performance when
|
|||||||
temperature sensor 1 reaches 65C. The sampling period here is 60000 ms (60 s).
|
temperature sensor 1 reaches 65C. The sampling period here is 60000 ms (60 s).
|
||||||
The Priority is defaulted to 100 in this case.
|
The Priority is defaulted to 100 in this case.
|
||||||
|
|
||||||
## Critical Policy
|
### Critical Policy
|
||||||
|
|
||||||
Each Critical Policy is defined in terms of 3 parts:
|
Each Critical Policy is defined in terms of 3 parts:
|
||||||
1) Source - A device that can trigger a critical event
|
1) Source - A device that can trigger a critical event
|
||||||
@ -218,7 +218,7 @@ register "policies.critical[1]" = "DPTF_CRITICAL(CPU, 75, SHUTDOWN)"
|
|||||||
This example sets up a policy wherein ACPI will cause the system to shutdown
|
This example sets up a policy wherein ACPI will cause the system to shutdown
|
||||||
(in a "graceful" manner) when the CPU temperature reaches 75C.
|
(in a "graceful" manner) when the CPU temperature reaches 75C.
|
||||||
|
|
||||||
## Power Limits
|
### Power Limits
|
||||||
|
|
||||||
Control over the SoC's Running Average Power Limits (RAPL) is one of the tools
|
Control over the SoC's Running Average Power Limits (RAPL) is one of the tools
|
||||||
that DPTF uses to enact Passive policies. DPTF can control both PL1 and PL2, if
|
that DPTF uses to enact Passive policies. DPTF can control both PL1 and PL2, if
|
||||||
@ -244,7 +244,7 @@ This example allow DPTF to control the SoC's PL1 level to between 3W and 15W,
|
|||||||
over a time interval ranging from 28 to 32 seconds, and it can move PL1 in
|
over a time interval ranging from 28 to 32 seconds, and it can move PL1 in
|
||||||
increments of 200 mW.
|
increments of 200 mW.
|
||||||
|
|
||||||
## Charger Performance
|
### Charger Performance
|
||||||
|
|
||||||
The battery charger can be a large contributor of unwanted heat in a system that
|
The battery charger can be a large contributor of unwanted heat in a system that
|
||||||
has one. Controlling the rate of charging is another tool that DPTF uses to enact
|
has one. Controlling the rate of charging is another tool that DPTF uses to enact
|
||||||
@ -266,7 +266,7 @@ register "controls.charger_perf[3]" = "{ 8, 500 }"
|
|||||||
In this example, when DPTF decides to throttle the charger, it has four different
|
In this example, when DPTF decides to throttle the charger, it has four different
|
||||||
performance states to choose from.
|
performance states to choose from.
|
||||||
|
|
||||||
## Fan Performance
|
### Fan Performance
|
||||||
|
|
||||||
When using DPTF, the system fan (`TFN1`) is the device responsible for actively
|
When using DPTF, the system fan (`TFN1`) is the device responsible for actively
|
||||||
cooling the other temperature sensors on the mainboard. A fan speed table can be
|
cooling the other temperature sensors on the mainboard. A fan speed table can be
|
||||||
@ -298,21 +298,21 @@ increment of 10 percentage points. This is common when specifying fine-grained
|
|||||||
control of the fan, wherein DPTF will interpolate between the percentages in the
|
control of the fan, wherein DPTF will interpolate between the percentages in the
|
||||||
table for a given temperature threshold.
|
table for a given temperature threshold.
|
||||||
|
|
||||||
## Options
|
### Options
|
||||||
|
|
||||||
### Fan
|
#### Fan
|
||||||
1) Fine-grained control - a boolean (see Fan Performance section above)
|
1) Fine-grained control - a boolean (see Fan Performance section above)
|
||||||
2) Step-size - Recommended minimum step size (in percentage points) to adjust
|
2) Step-size - Recommended minimum step size (in percentage points) to adjust
|
||||||
the fan speed when using fine-grained control (ranges from 1 - 9).
|
the fan speed when using fine-grained control (ranges from 1 - 9).
|
||||||
3) Low-speed notify - If true, the platform will issue a `Notify (0x80)` to the
|
3) Low-speed notify - If true, the platform will issue a `Notify (0x80)` to the
|
||||||
fan device if a low fan speed is detected.
|
fan device if a low fan speed is detected.
|
||||||
|
|
||||||
### Temperature sensors
|
#### Temperature sensors
|
||||||
1) Hysteresis - The amount of hysteresis implemented in either circuitry or
|
1) Hysteresis - The amount of hysteresis implemented in either circuitry or
|
||||||
the firmware that reads the temperature sensor (in degrees C).
|
the firmware that reads the temperature sensor (in degrees C).
|
||||||
2) Name - This name is applied to the _STR property of the sensor
|
2) Name - This name is applied to the _STR property of the sensor
|
||||||
|
|
||||||
## OEM Variables
|
### OEM Variables
|
||||||
Platform vendors can define an array of OEM-specific values as OEM variables
|
Platform vendors can define an array of OEM-specific values as OEM variables
|
||||||
to be used under DPTF policy. There are total six OEM variables available.
|
to be used under DPTF policy. There are total six OEM variables available.
|
||||||
These can be used in AP policy for more specific actions. These OEM variables
|
These can be used in AP policy for more specific actions. These OEM variables
|
||||||
|
309
Documentation/drivers/dt_entries.md
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
# Driver Devicetree Entries
|
||||||
|
|
||||||
|
Let's take a look at an example entry from
|
||||||
|
``src/mainboard/google/hatch/variants/hatch/overridetree.cb``:
|
||||||
|
|
||||||
|
```
|
||||||
|
device pci 15.0 on
|
||||||
|
chip drivers/i2c/generic
|
||||||
|
register "hid" = ""ELAN0000""
|
||||||
|
register "desc" = ""ELAN Touchpad""
|
||||||
|
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A21_IRQ)"
|
||||||
|
register "detect" = "1"
|
||||||
|
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, Level, ActiveLow, Exclusive, ,, )
|
||||||
|
{
|
||||||
|
0x0000002D,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
Name (_S0W, ACPI_DEVICE_SLEEP_D3_HOT) // _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, Level, ActiveLow, Exclusive, ,, )
|
||||||
|
{
|
||||||
|
0x0000002D,
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
which comes from:
|
||||||
|
|
||||||
|
```
|
||||||
|
register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_A21_IRQ)"
|
||||||
|
```
|
||||||
|
|
||||||
|
The IRQ settings control the "Trigger" and "Polarity" settings seen above (level
|
||||||
|
means it is a level-triggered interrupt as opposed to
|
||||||
|
edge-triggered; active low means the interrupt is triggered when the signal is
|
||||||
|
low).
|
||||||
|
|
||||||
|
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/acpi/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``.
|
||||||
|
|
||||||
|
AMD platforms don't have the ability to route GPIOs to the IO-APIC. Instead the
|
||||||
|
GPIO controller needs to be used directly. You can do this by setting the
|
||||||
|
`irq_gpio` register and using the `ACPI_GPIO_IRQ_X_X` macros.
|
||||||
|
|
||||||
|
i.e.,
|
||||||
|
```
|
||||||
|
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_LOW(GPIO_40)"
|
||||||
|
```
|
||||||
|
|
||||||
|
### detect
|
||||||
|
|
||||||
|
The next register is:
|
||||||
|
|
||||||
|
```
|
||||||
|
register "detect" = "1"
|
||||||
|
```
|
||||||
|
|
||||||
|
This flag tells the I2C driver that it should attempt to detect the presence of
|
||||||
|
the device (using an I2C zero-byte write), and only generate a SSDT entry if the
|
||||||
|
device is actually present. This alleviates the OS from having to determine if
|
||||||
|
a device is present or not (ChromeOS/Linux) and prevents resource conflict/
|
||||||
|
driver issues (Windows).
|
||||||
|
|
||||||
|
Currently, the detect feature works and is hooked up for all I2C touchpads,
|
||||||
|
and should be used any time a board has multiple touchpad options.
|
||||||
|
I2C audio devices should also work without issue.
|
||||||
|
|
||||||
|
Touchscreens can use this feature as well, but special care is needed to
|
||||||
|
implement the proper power sequencing for the device to be detected. Generally,
|
||||||
|
this means driving the enable GPIO high and holding the reset GPIO low in early
|
||||||
|
GPIO init (bootblock/romstage), then releasing reset in ramstage. The first
|
||||||
|
mainboards in the tree to implement this are google/skyrim and google/guybrush.
|
||||||
|
This feature has also been used in downstream forks without issue for some time
|
||||||
|
now on several other boards.
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
### device
|
||||||
|
|
||||||
|
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".
|
||||||
|
|
||||||
|
## Wake sources
|
||||||
|
|
||||||
|
The ACPI spec defines two methods to describe how a device can wake the system.
|
||||||
|
Only one of these methods should be used, otherwise duplicate wake events will
|
||||||
|
be generated.
|
||||||
|
|
||||||
|
### Using GPEs as a wake source
|
||||||
|
|
||||||
|
The `wake` property specified above is used to tell the ACPI subsystem that the
|
||||||
|
device can use a GPE to wake the system. The OS can control whether to enable
|
||||||
|
or disable the wake source by unmasking/masking off the GPE.
|
||||||
|
|
||||||
|
The `GPIO` -> `GPE` mapping must be configured in firmware. On AMD platforms this is
|
||||||
|
generally done by a mainboard specific `gpio.c` file that defines the GPIO
|
||||||
|
using `PAD_SCI`. The `GPIO` -> `GPE` mapping is returned by the
|
||||||
|
`soc_get_gpio_event_table` method that is defined in the SoC specific `gpio.c`
|
||||||
|
file. On Intel platforms, you fill in the `pmc_gpe0_dw0`, `pmc_gpe0_dw1`, and
|
||||||
|
`pmc_gpe0_dw2` fields in the devicetree to map 3 GPIO communities to `tier-1`
|
||||||
|
GPEs (the rest are available as `tier-2` GPEs).
|
||||||
|
|
||||||
|
Windows has a large caveat when using this method. If you use the `gpio_irq`
|
||||||
|
property to define a `GpioInt` in the `_CRS`, and then use the `wake` property
|
||||||
|
to define a `GPE`, Windows will
|
||||||
|
[BSOD](https://github.com/MicrosoftDocs/windows-driver-docs/blob/staging/windows-driver-docs-pr/debugger/bug-check-0xa5--acpi-bios-error.md)
|
||||||
|
complaining about an invalid ACPI configuration.
|
||||||
|
> 0x1000D - A device used both GPE and GPIO interrupts, which is not supported.
|
||||||
|
|
||||||
|
In order to avoid this error, you should use the `irq` property instead. AMD
|
||||||
|
platforms don't support routing GPIOs to the IO-APIC, so this workaround isn't
|
||||||
|
feasible. The other option is to use a wake capable GPIO as described below.
|
||||||
|
|
||||||
|
### Using GPIO interrupts as a wake source
|
||||||
|
|
||||||
|
The `ACPI_IRQ_WAKE_{EDGE,LEVEL}_{LOW,HIGH}` macros can be used when setting the
|
||||||
|
`irq` or `gpio_irq` properties. This ends up setting `ExclusiveAndWake` or
|
||||||
|
`SharedAndWake` on the `Interrupt` or `GpioInt` ACPI resource.
|
||||||
|
|
||||||
|
This method has a few caveats:
|
||||||
|
* On Intel and AMD platforms the IO-APIC can't wake the system. This means using
|
||||||
|
the `ACPI_IRQ_WAKE_*` macros with the `irq` property won't actually wake the
|
||||||
|
system. Instead you need to use the `gpio_irq` property, or a `GPE` as
|
||||||
|
described above.
|
||||||
|
* The OS needs to know how to enable the `wake` bit on the GPIO. For linux this
|
||||||
|
means the platform specific GPIO controller driver must implement the
|
||||||
|
`irq_set_wake` callback. For AMD systems this wasn't
|
||||||
|
[implemented](https://github.com/torvalds/linux/commit/d62bd5ce12d79bcd6a6c3e4381daa7375dc21158)
|
||||||
|
until linux v5.15. If the controller doesn't define this callback, it's
|
||||||
|
possible for the firmware to manually set the `wake` bit on the GPIO. This is
|
||||||
|
often done in a mainboard-specific file named `gpio.c`. This is not
|
||||||
|
recommended because then it's not possible for the OS to disable the wake
|
||||||
|
source.
|
||||||
|
* As of
|
||||||
|
[linux v6.0-rc5](https://github.com/torvalds/linux/releases/tag/v6.0-rc5),
|
||||||
|
the ACPI subsystem doesn't take the interrupt `wake` bit into account when
|
||||||
|
deciding on which power state to put the device in before suspending the
|
||||||
|
system. This means that if you define a power resource for a device via
|
||||||
|
`has_power_resource`, `enable_gpio`, etc, then the linux kernel will place the
|
||||||
|
device into D3Cold. i.e., power off the device.
|
||||||
|
|
||||||
|
## 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 `ACPI_DEVICE_SLEEP_D3_HOT`, representing _D3hot_.
|
||||||
|
D3Hot means the `PR3` power resources are still on and the device is still
|
||||||
|
responsive on the bus. For i2c devices this is generally the same state as `D0`.
|
||||||
|
|
||||||
|
### \_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 device driver entries in devicetrees end up in the SSDT table, and are
|
||||||
|
generated in coreboot's ramstage**
|
||||||
|
(The lone exception to this rule is i2c touchpads with the 'detect' flag set;
|
||||||
|
in this case, devices not present will not be added to the SSDT)
|
@ -4,9 +4,14 @@ 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
|
||||||
they allow to easily reuse existing code across platforms.
|
they allow to easily reuse existing code across platforms.
|
||||||
|
|
||||||
|
For details on how to connect device drivers to a mainboard, see [Driver Devicetree Entries](dt_entries.md).
|
||||||
|
|
||||||
|
Some of the drivers currently available include:
|
||||||
|
|
||||||
* [Intel DPTF](dptf.md)
|
* [Intel DPTF](dptf.md)
|
||||||
* [IPMI KCS](ipmi_kcs.md)
|
* [IPMI KCS](ipmi_kcs.md)
|
||||||
* [SMMSTORE](smmstore.md)
|
* [SMMSTORE](smmstore.md)
|
||||||
* [SoundWire](soundwire.md)
|
|
||||||
* [SMMSTOREv2](smmstorev2.md)
|
* [SMMSTOREv2](smmstorev2.md)
|
||||||
|
* [SoundWire](soundwire.md)
|
||||||
* [USB4 Retimer](retimer.md)
|
* [USB4 Retimer](retimer.md)
|
||||||
|
* [CBFS SMBIOS hooks](cbfs_smbios.md)
|
||||||
|
@ -42,6 +42,15 @@ The following registers can be set:
|
|||||||
* `gpe_interrupt`
|
* `gpe_interrupt`
|
||||||
* Integer
|
* Integer
|
||||||
* The bit in GPE (SCI) used to notify about a change on the KCS.
|
* The bit in GPE (SCI) used to notify about a change on the KCS.
|
||||||
|
* `wait_for_bmc`
|
||||||
|
* Boolean
|
||||||
|
* Wait for BMC to boot. This can be used if the BMC takes a long time to boot
|
||||||
|
after PoR:
|
||||||
|
- AST2400 on Supermicro X11SSH: 34 s
|
||||||
|
* `bmc_boot_timeout`
|
||||||
|
* Integer
|
||||||
|
* The timeout in seconds to wait for the IPMI service to be loaded.
|
||||||
|
Will be used if wait_for_bmc is true.
|
||||||
|
|
||||||
|
|
||||||
[IPMI]: https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf
|
[IPMI]: https://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/ipmi-second-gen-interface-spec-v2-rev1-1.pdf
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# USB4 Retimers
|
# USB4 Retimers
|
||||||
|
|
||||||
# Introduction
|
## Introduction
|
||||||
As USB speeds continue to increase (up to 5G, 10G, and even 20G or higher in
|
As USB speeds continue to increase (up to 5G, 10G, and even 20G or higher in
|
||||||
newer revisions of the spec), it becomes more difficult to maintain signal
|
newer revisions of the spec), it becomes more difficult to maintain signal
|
||||||
integrity for longer traces. Devices such as retimers and redrivers can be used
|
integrity for longer traces. Devices such as retimers and redrivers can be used
|
||||||
@ -17,7 +17,7 @@ by doing CDR and retransmitting the data (i.e., it is protocol-aware). Since
|
|||||||
this is a digital component, it may have firmware.
|
this is a digital component, it may have firmware.
|
||||||
|
|
||||||
|
|
||||||
# Driver Usage
|
## Driver Usage
|
||||||
|
|
||||||
Some operating systems may have the ability to update firmware on USB4 retimers,
|
Some operating systems may have the ability to update firmware on USB4 retimers,
|
||||||
and ultimately will need some way to power the device on and off so that its new
|
and ultimately will need some way to power the device on and off so that its new
|
||||||
|
@ -21,7 +21,7 @@ operations is desired, as it reduces complexity and potential for bugs.
|
|||||||
|
|
||||||
This can be used by a FTW (FaultTolerantWrite) implementation that uses
|
This can be used by a FTW (FaultTolerantWrite) implementation that uses
|
||||||
at least two regions in an A/B update scheme. The FTW implementation in
|
at least two regions in an A/B update scheme. The FTW implementation in
|
||||||
EDK2 uses three different regions in the store:
|
edk2 uses three different regions in the store:
|
||||||
|
|
||||||
- The variable store
|
- The variable store
|
||||||
- The FTW spare block
|
- The FTW spare block
|
||||||
@ -35,7 +35,7 @@ With 64 KiB as block size, the minimum size of the FTW-enabled store is:
|
|||||||
- The FTW spare block: 2 blocks = 2 * 64 KiB
|
- The FTW spare block: 2 blocks = 2 * 64 KiB
|
||||||
- The FTW working block: 1 block = 64 KiB
|
- The FTW working block: 1 block = 64 KiB
|
||||||
|
|
||||||
Therefore, the minimum size for EDK2 FTW is 4 blocks, or 256 KiB.
|
Therefore, the minimum size for edk2 FTW is 4 blocks, or 256 KiB.
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
|
136
Documentation/external_docs.md
Normal file
@ -0,0 +1,136 @@
|
|||||||
|
# External Resources
|
||||||
|
|
||||||
|
This is a list of resources that could be useful to coreboot developers.
|
||||||
|
These are not endorsed or officially recommended by the coreboot project,
|
||||||
|
but simply listed here in the hopes that someone will find something
|
||||||
|
useful.
|
||||||
|
|
||||||
|
Please add any helpful or informational links and sections as you see fit.
|
||||||
|
|
||||||
|
## Articles
|
||||||
|
|
||||||
|
* External Interrupts in the x86 system.
|
||||||
|
* [Part 1: Interrupt controller evolution](https://habr.com/en/post/446312/)
|
||||||
|
* [Part 2: Linux kernel boot options](https://habr.com/en/post/501660/)
|
||||||
|
* [Part 3: Interrupt routing setup in a chipset](https://habr.com/en/post/501912/)
|
||||||
|
* System address map initialization in x86/x64 architecture.
|
||||||
|
* [Part 1: PCI-based systems](https://resources.infosecinstitute.com/topic/system-address-map-initialization-in-x86x64-architecture-part-1-pci-based-systems/)
|
||||||
|
* [Part 2: PCI express-based systems](https://resources.infosecinstitute.com/topic/system-address-map-initialization-x86x64-architecture-part-2-pci-express-based-systems/)
|
||||||
|
* [PCIe elastic buffer](https://www.mindshare.com/files/resources/mindshare_pcie_elastic_buffer.pdf)
|
||||||
|
* [Boot Guard and PSB have user-hostile defaults](https://mjg59.dreamwidth.org/58424.html)
|
||||||
|
|
||||||
|
|
||||||
|
## General Information
|
||||||
|
|
||||||
|
* [OS Dev](https://wiki.osdev.org/Categorized_Main_Page)
|
||||||
|
* [Interface BUS](http://www.interfacebus.com/)
|
||||||
|
|
||||||
|
## OpenSecurityTraining2
|
||||||
|
|
||||||
|
OpenSecurityTraining2 is dedicated to sharing training material for any topic
|
||||||
|
related to computer security, including coreboot.
|
||||||
|
|
||||||
|
There are various ways to learn firmware, some are more efficient than others,
|
||||||
|
depending on the people. Before going straight to practice and experimenting
|
||||||
|
with hardware, it can be beneficial to learn the basics of computing. OST2
|
||||||
|
focuses on conveying computer architecture and security information in the form
|
||||||
|
of structured instructor-led classes, available to everyone for free.
|
||||||
|
|
||||||
|
All material is licensed [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/),
|
||||||
|
allowing anyone to use the material however they see fit, so long as they share
|
||||||
|
modified works back to the community.
|
||||||
|
|
||||||
|
Below is a list of currently available courses that can help understand the
|
||||||
|
inner workings of coreboot and other firmware-related topics:
|
||||||
|
|
||||||
|
* [coreboot design principles and boot process](https://ost2.fyi/Arch4031)
|
||||||
|
* [x86-64 Assembly](https://ost2.fyi/Arch1001)
|
||||||
|
* [x86-64 OS Internals](https://ost2.fyi/Arch2001)
|
||||||
|
* [x86-64 Intel Firmware Attack & Defense](https://ost2.fyi/Arch4001)
|
||||||
|
|
||||||
|
There are [additional security courses](https://p.ost2.fyi/courses) at the site
|
||||||
|
as well (such as
|
||||||
|
[how to avoid writing exploitable code in C/C++](https://ost2.fyi/Vulns1001).)
|
||||||
|
|
||||||
|
## Firmware Specifications & Information
|
||||||
|
|
||||||
|
* [System Management BIOS - SMBIOS](https://www.dmtf.org/standards/smbios)
|
||||||
|
* [Desktop and Mobile Architecture for System Hardware - DASH](https://www.dmtf.org/standards/dash)
|
||||||
|
* [PNP BIOS](https://www.intel.com/content/dam/support/us/en/documents/motherboards/desktop/sb/pnpbiosspecificationv10a.pdf)
|
||||||
|
|
||||||
|
|
||||||
|
### ACPI
|
||||||
|
|
||||||
|
* [ACPI Specs](https://uefi.org/acpi/specs)
|
||||||
|
* [ACPI in Linux](https://www.kernel.org/doc/ols/2005/ols2005v1-pages-59-76.pdf)
|
||||||
|
* [ACPI 5 Linux](https://blog.linuxplumbersconf.org/2012/wp-content/uploads/2012/09/LPC2012-ACPI5.pdf)
|
||||||
|
* [ACPI 6 Linux](https://events.static.linuxfound.org/sites/events/files/slides/ACPI_6_and_Linux_0.pdf)
|
||||||
|
|
||||||
|
|
||||||
|
### Security
|
||||||
|
|
||||||
|
* [Intel Boot Guard](https://edk2-docs.gitbook.io/understanding-the-uefi-secure-boot-chain/secure_boot_chain_in_uefi/intel_boot_guard)
|
||||||
|
|
||||||
|
|
||||||
|
## Hardware information
|
||||||
|
|
||||||
|
* [WikiChip](https://en.wikichip.org/wiki/WikiChip)
|
||||||
|
* [Sandpile](https://www.sandpile.org/)
|
||||||
|
* [CPU-World](https://www.cpu-world.com/index.html)
|
||||||
|
* [CPU-Upgrade](https://www.cpu-upgrade.com/index.html)
|
||||||
|
|
||||||
|
|
||||||
|
### Hardware Specifications & Standards
|
||||||
|
|
||||||
|
* [Bluetooth](https://www.bluetooth.com/specifications/specs/) - Bluetooth SIG
|
||||||
|
* [eMMC](https://www.jedec.org/) - JEDEC - (LOGIN REQUIRED)
|
||||||
|
* [eSPI](https://cdrdv2.intel.com/v1/dl/getContent/645987) - Intel
|
||||||
|
* [I2c Spec](https://web.archive.org/web/20170704151406/https://www.nxp.com/docs/en/user-guide/UM10204.pdf),
|
||||||
|
[Appnote](https://www.nxp.com/docs/en/application-note/AN10216.pdf) - NXP
|
||||||
|
* [I2S](https://www.nxp.com/docs/en/user-manual/UM11732.pdf) - NXP
|
||||||
|
* [I3C](https://www.mipi.org/specifications/i3c-sensor-specification) - MIPI Alliance (LOGIN REQUIRED)
|
||||||
|
* [Memory](https://www.jedec.org/) - JEDEC - (LOGIN REQUIRED)
|
||||||
|
* [NVMe](https://nvmexpress.org/developers/) - NVMe Specifications
|
||||||
|
* [LPC](https://www.intel.com/content/dam/www/program/design/us/en/documents/low-pin-count-interface-specification.pdf) - Intel
|
||||||
|
* [PCI / PCIe / M.2](https://pcisig.com/specifications) - PCI-SIG - (LOGIN REQUIRED)
|
||||||
|
* [Power Delivery](https://www.usb.org/documents) - USB Implementers Forum
|
||||||
|
* [SATA](https://sata-io.org/developers/purchase-specification) - SATA-IO (LOGIN REQUIRED)
|
||||||
|
* [SMBus](http://www.smbus.org/specs/) - System Management Interface Forum
|
||||||
|
* [Smart Battery](http://smartbattery.org/specs/) - Smart Battery System Implementers Forum
|
||||||
|
* [USB](https://www.usb.org/documents) - USB Implementers Forum
|
||||||
|
* [WI-FI](https://www.wi-fi.org/discover-wi-fi/specifications) - Wi-Fi Alliance
|
||||||
|
|
||||||
|
|
||||||
|
### Chip Vendor Documentation
|
||||||
|
|
||||||
|
* AMD
|
||||||
|
* [Developer Guides, Manuals & ISA Documents](https://developer.amd.com/resources/developer-guides-manuals/)
|
||||||
|
* [AMD Tech Docs - Official Documentation Page](https://www.amd.com/en/support/tech-docs)
|
||||||
|
* ARM
|
||||||
|
* [Tools and Software - Specifications](https://developer.arm.com/tools-and-software/software-development-tools/specifications)
|
||||||
|
* Intel
|
||||||
|
* [Developer Zone](https://www.intel.com/content/www/us/en/developer/overview.html)
|
||||||
|
* [Resource & Documentation Center](https://www.intel.com/content/www/us/en/resources-documentation/developer.html)
|
||||||
|
* [Architecture Software Developer Manuals](https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
|
||||||
|
* [Intel specific ACPI](https://www.intel.com/content/www/us/en/standards/processor-vendor-specific-acpi-specification.html)
|
||||||
|
|
||||||
|
* Rockchip
|
||||||
|
* [Open Source Wiki](https://opensource.rock-chips.com/wiki_Main_Page)
|
||||||
|
|
||||||
|
|
||||||
|
## Software
|
||||||
|
|
||||||
|
* [Fiedka](https://github.com/fiedka/fiedka) - A graphical Firmware Editor
|
||||||
|
* [IOTools](https://github.com/adurbin/iotools) - Command line tools to access hardware registers
|
||||||
|
* [UEFITool](https://github.com/LongSoft/UEFITool) - Editor for UEFI PI compliant firmware images
|
||||||
|
* [CHIPSEC](https://chipsec.github.io) - Framework for analyzing platform level security & configuration
|
||||||
|
* [SPDEditor](https://github.com/integralfx/SPDEditor) - GUI to edit DDR3 SPD files
|
||||||
|
* [DDR4XMPEditor](https://github.com/integralfx/DDR4XMPEditor) - Editor for DDR4 SPD and XMP
|
||||||
|
* [overclockSPD](https://github.com/baboomerang/overclockSPD) - Fast and easy way to read and write data to RAM SPDs.
|
||||||
|
* [VBiosFinder](https://github.com/coderobe/VBiosFinder) - This tool attempts to extract a VBIOS from a BIOS update.
|
||||||
|
|
||||||
|
|
||||||
|
## Infrastructure software
|
||||||
|
|
||||||
|
* [Kconfig](https://www.kernel.org/doc/html/latest/kbuild/kconfig-language.html)
|
||||||
|
* [GNU Make](https://www.gnu.org/software/make/manual/)
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
87
Documentation/getting_started/devicetree.md
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# 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 buses (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.
|
||||||
|
|
||||||
|
### Naming and referencing devices
|
||||||
|
|
||||||
|
When declaring a device, it can optionally be given an alias that can be
|
||||||
|
referred to elsewhere. This is particularly useful to declare a device in one
|
||||||
|
device tree while allowing its configuration to be more easily changed in an
|
||||||
|
overlay. For instance, the AMD Picasso SoC definition
|
||||||
|
(`soc/amd/picasso/chipset.cb`) declares an IOMMU on a PCI bus that is disabled
|
||||||
|
by default:
|
||||||
|
|
||||||
|
```
|
||||||
|
chip soc/amd/picasso
|
||||||
|
device domain 0 on
|
||||||
|
...
|
||||||
|
device pci 00.2 alias iommu off end
|
||||||
|
...
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
A device based on this SoC can override the configuration for the IOMMU without
|
||||||
|
duplicating addresses, as in
|
||||||
|
`mainboard/google/zork/variants/baseboard/devicetree_trembyle.cb`:
|
||||||
|
|
||||||
|
```
|
||||||
|
chip soc/amd/picasso
|
||||||
|
device domain 0
|
||||||
|
...
|
||||||
|
device ref iommu on end
|
||||||
|
...
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
In this example the override simply enables the IOMMU, but it could also
|
||||||
|
set additional properties (or even add child devices) inside the IOMMU `device`
|
||||||
|
block.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
It is important to note that devices that use `device ref` syntax to override
|
||||||
|
previous definitions of a device by alias must be placed at **exactly the same
|
||||||
|
location in the device tree** as the original declaration. If not, this will
|
||||||
|
actually create another device rather than overriding the properties of the
|
||||||
|
existing one. For instance, if the above snippet from `devicetree_trembyle.cb`
|
||||||
|
were written as follows:
|
||||||
|
|
||||||
|
```
|
||||||
|
chip soc/amd/picasso
|
||||||
|
# NOTE: not inside domain 0!
|
||||||
|
device ref iommu on end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
|
Then this would leave the SoC's IOMMU disabled, and instead create a new device
|
||||||
|
with no properties as a direct child of the SoC.
|
||||||
|
|
||||||
|
## Device drivers
|
||||||
|
|
||||||
|
Platform independent device drivers are hooked up via entries in a devicetree.
|
||||||
|
See [Driver Devicetree Entries](drivers/dt_entries.md) for more info.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- **All fields that are left unspecified in the devicetree are initialized to
|
||||||
|
zero.**
|
@ -6,3 +6,4 @@
|
|||||||
* [Kconfig](kconfig.md)
|
* [Kconfig](kconfig.md)
|
||||||
* [Writing Documentation](writing_documentation.md)
|
* [Writing Documentation](writing_documentation.md)
|
||||||
* [Setting up GPIOs](gpio.md)
|
* [Setting up GPIOs](gpio.md)
|
||||||
|
* [Adding devices to a device tree](devicetree.md)
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
# Welcome to the coreboot documentation
|
# Welcome to the coreboot documentation
|
||||||
|
|
||||||
This is the developer documentation for [coreboot](https://coreboot.org).
|
This is the developer documentation for [coreboot](https://coreboot.org).
|
||||||
It is built from Markdown files in the
|
It is built from Markdown files in the [Documentation] directory in the
|
||||||
[Documentation](https://review.coreboot.org/cgit/coreboot.git/tree/Documentation)
|
source code.
|
||||||
directory in the source code.
|
|
||||||
|
|
||||||
## Spelling of coreboot
|
## Spelling of coreboot
|
||||||
|
|
||||||
@ -26,7 +25,7 @@ initialization routines across many different use cases, no matter if
|
|||||||
they provide standard interfaces or entirely custom boot flows.
|
they provide standard interfaces or entirely custom boot flows.
|
||||||
|
|
||||||
Popular [payloads](payloads.md) in use with coreboot are SeaBIOS,
|
Popular [payloads](payloads.md) in use with coreboot are SeaBIOS,
|
||||||
which provides PCBIOS services, Tianocore, which provides UEFI services,
|
which provides PCBIOS services, edk2, which provides UEFI services,
|
||||||
GRUB2, the bootloader used by many Linux distributions, or depthcharge,
|
GRUB2, the bootloader used by many Linux distributions, or depthcharge,
|
||||||
a custom boot loader used on Chromebooks.
|
a custom boot loader used on Chromebooks.
|
||||||
|
|
||||||
@ -143,7 +142,7 @@ say hello!
|
|||||||
## Getting the source code
|
## Getting the source code
|
||||||
|
|
||||||
coreboot is primarily developed in the
|
coreboot is primarily developed in the
|
||||||
[git](https://review.coreboot.org/cgit/coreboot.git) version control
|
[git](https://review.coreboot.org/plugins/gitiles/coreboot) version control
|
||||||
system, using [Gerrit](https://review.coreboot.org) to manage
|
system, using [Gerrit](https://review.coreboot.org) to manage
|
||||||
contributions and code review.
|
contributions and code review.
|
||||||
|
|
||||||
@ -193,8 +192,12 @@ Contents:
|
|||||||
* [SuperIO](superio/index.md)
|
* [SuperIO](superio/index.md)
|
||||||
* [Vendorcode](vendorcode/index.md)
|
* [Vendorcode](vendorcode/index.md)
|
||||||
* [Utilities](util.md)
|
* [Utilities](util.md)
|
||||||
|
* [Software Bill of Materials](sbom/sbom.md)
|
||||||
* [Project infrastructure & services](infrastructure/index.md)
|
* [Project infrastructure & services](infrastructure/index.md)
|
||||||
* [Boards supported in each release directory](releases/boards_supported_on_branches.md)
|
* [Boards supported in each release directory](releases/boards_supported_on_branches.md)
|
||||||
* [Release notes](releases/index.md)
|
* [Release notes](releases/index.md)
|
||||||
* [Acronyms & Definitions](acronyms.md)
|
* [Acronyms & Definitions](acronyms.md)
|
||||||
|
* [External Resources](external_docs.md)
|
||||||
* [Documentation License](documentation_license.md)
|
* [Documentation License](documentation_license.md)
|
||||||
|
|
||||||
|
[Documentation]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/Documentation/
|
||||||
|
@ -383,7 +383,7 @@ training. This example expects that the default value of this `register` is set
|
|||||||
|
|
||||||
void mainboard_memory_init_params(FSPM_UPD *mupd)
|
void mainboard_memory_init_params(FSPM_UPD *mupd)
|
||||||
{
|
{
|
||||||
if (fw_config_probe_one(FW_CONFIG(FEATURE, DISABLED))
|
if (fw_config_probe(FW_CONFIG(FEATURE, DISABLED))
|
||||||
mupd->ExampleFeature = false;
|
mupd->ExampleFeature = false;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
80
Documentation/mainboard/amd/pademelon/pademelon.md
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Pademelon 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][pademelon]
|
||||||
|
|
||||||
|
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][pademelon_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 programming | 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
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
|pademelon.jpg | Motherboard with components identified |
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
|pademelon_io.jpg | Back panel picture |
|
||||||
|
+----------------------------+----------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Reference
|
||||||
|
|
||||||
|
[Merlin Falcon BKDG][merlinfalcon]
|
||||||
|
|
||||||
|
[merlinfalcon]: ../../../soc/amd/family15h.md
|
||||||
|
[pademelon]: pademelon.jpg
|
||||||
|
[pademelon_io]: pademelon_io.jpg
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@ -1,80 +0,0 @@
|
|||||||
# 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 programming | 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
|
|
@ -45,7 +45,9 @@ Tests were done with SeaBIOS 1.14.0 and slackware64-live from 2019-07-12
|
|||||||
- Rear eSATA connector (multiplexed with one ASM1061 port)
|
- Rear eSATA connector (multiplexed with one ASM1061 port)
|
||||||
- Gigabit Ethernet
|
- Gigabit Ethernet
|
||||||
- Console output on the serial port
|
- Console output on the serial port
|
||||||
- SeaBIOS 1.14.0 and 1.15.0 to boot Windows 10 (needs VGA BIOS) and Linux via
|
- EDK II (MrChromebox's fork, at origin/uefipayload_202207) to boot
|
||||||
|
Windows 10 (22H2) and Linux (5.19.17) via GRUB 2
|
||||||
|
- SeaBIOS 1.16.1 to boot Windows 10 (needs VGA BIOS) and Linux via
|
||||||
extlinux
|
extlinux
|
||||||
- Internal flashing with flashrom-1.2, see
|
- Internal flashing with flashrom-1.2, see
|
||||||
[Internal Programming](#internal-programming)
|
[Internal Programming](#internal-programming)
|
||||||
|
108
Documentation/mainboard/asus/p2b-ls.md
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
# ASUS P2B-LS
|
||||||
|
|
||||||
|
This page describes how to run coreboot on the ASUS P2B-LS mainboard.
|
||||||
|
|
||||||
|
## Variants
|
||||||
|
|
||||||
|
- P2B-LS
|
||||||
|
- P2B-L (Same circuit board with SCSI components omitted)
|
||||||
|
- P2B-S (Same circuit board with ethernet components omitted)
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+===========================+
|
||||||
|
| Model | SST 39SF020A (or similar) |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Protocol | Parallel |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Size | 256 KiB |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Package | DIP-32 |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Socketed | yes |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Write protection | no |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Dual BIOS feature | no |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
[flashrom] works out of the box since 0.9.2.
|
||||||
|
Because of deficiency in vendor firmware, user needs to override the laptop
|
||||||
|
warning as prompted. Once coreboot is in place there will be no further issue.
|
||||||
|
|
||||||
|
### CPU microcode considerations
|
||||||
|
|
||||||
|
By default, this board includes microcode updates for 5 families of Intel CPUs
|
||||||
|
because of the wide variety of CPUs the board supports, directly or with an
|
||||||
|
adapter. These take up a third of the total flash space leaving only 20kB free
|
||||||
|
in the final cbfs image. It may be necessary to build a custom microcode update
|
||||||
|
file by manually concatenating files in 3rdparty/intel-microcode/intel-ucode
|
||||||
|
for only CPU models that the board will actually be run with.
|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- Slot 1 and Socket 370 CPUs and their L1/L2 caches
|
||||||
|
- PS/2 keyboard with SeaBIOS (See [Known issues])
|
||||||
|
- IDE hard drives
|
||||||
|
- Ethernet (-LS, -L; Intel 82558)
|
||||||
|
- SCSI (-LS, -S; Adaptec AIC7890)
|
||||||
|
- USB
|
||||||
|
- ISA add-on cards
|
||||||
|
- PCI add-on cards
|
||||||
|
- AGP graphics card
|
||||||
|
- Floppy
|
||||||
|
- Serial ports 1 and 2
|
||||||
|
- Reboot
|
||||||
|
- Soft off
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- PS/2 keyboard may not be usable until Linux has completely booted.
|
||||||
|
With SeaBIOS as payload, setting keyboard initialization timeout to
|
||||||
|
500ms may fix the issue.
|
||||||
|
|
||||||
|
- i440BX does not support 256Mbit RAM modules. If installed, coreboot
|
||||||
|
will attempt to initialize them at half their capacity anyway
|
||||||
|
whereas vendor firmware will not boot at all.
|
||||||
|
|
||||||
|
- ECC memory can be used, but ECC support is still pending.
|
||||||
|
|
||||||
|
- Termination is enabled for all SCSI ports (if equipped). Support to
|
||||||
|
disable termination is pending. Note that the SCSI-68 port is
|
||||||
|
always terminated, even with vendor firmware.
|
||||||
|
|
||||||
|
## Untested
|
||||||
|
|
||||||
|
- Parallel port
|
||||||
|
- EDO memory
|
||||||
|
- Infrared
|
||||||
|
- PC speaker
|
||||||
|
|
||||||
|
## Not working
|
||||||
|
|
||||||
|
- S3 suspend to RAM
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Northbridge | :doc:`../../northbridge/intel/i440bx/index` |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Southbridge | i82371eb |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | P6 family for Slot 1 and Socket 370 |
|
||||||
|
| | (all models from model_63x to model_6bx) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | winbond/w83977tf |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra resources
|
||||||
|
|
||||||
|
[flashrom]: https://flashrom.org/Flashrom
|
106
Documentation/mainboard/asus/p3b-f.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# ASUS P3B-F
|
||||||
|
|
||||||
|
This page describes how to run coreboot on the ASUS P3B-F mainboard.
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+===========================+
|
||||||
|
| Model | SST 39SF020A (or similar) |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Protocol | Parallel |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Size | 256 KiB |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Package | DIP-32 |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Socketed | yes |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Write protection | See below |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
flashrom supports this mainboard since commit c7e9a6e15153684672bbadd1fc6baed8247ba0f6.
|
||||||
|
If you are using older versions of flashrom, below has to be done (with ACPI disabled!)
|
||||||
|
before flashrom can detect the flash chip:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# rmmod w83781d
|
||||||
|
# modprobe i2c-dev
|
||||||
|
# i2cset 0 0x48 0x80 0x80
|
||||||
|
```
|
||||||
|
|
||||||
|
Upon power up, flash chip is inaccessible until flashrom has been run once.
|
||||||
|
Since flashrom does not support reversing board enabling steps,
|
||||||
|
once it detects the flash chip, there will be no write protection until
|
||||||
|
the next power cycle.
|
||||||
|
|
||||||
|
### CPU microcode considerations
|
||||||
|
|
||||||
|
By default, this board includes microcode updates for 5 families of Intel CPUs
|
||||||
|
because of the wide variety of CPUs the board supports, directly or with an
|
||||||
|
adapter. These take up a third of the total flash space leaving only 20kB free
|
||||||
|
in the final cbfs image. It may be necessary to build a custom microcode update
|
||||||
|
file by manually concatenating files in 3rdparty/intel-microcode/intel-ucode
|
||||||
|
for only CPU models that the board will actually be run with.
|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- Slot 1 and Socket 370 CPUs and their L1/L2 caches
|
||||||
|
- PS/2 keyboard with SeaBIOS (See [Known issues])
|
||||||
|
- IDE hard drives
|
||||||
|
- USB
|
||||||
|
- PCI add-on cards
|
||||||
|
- AGP graphics cards
|
||||||
|
- Serial ports 1 and 2
|
||||||
|
- Reboot
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- PS/2 keyboard may not be usable until Linux has completely booted. With SeaBIOS
|
||||||
|
as payload, setting keyboard initialization timeout to 2500ms may help.
|
||||||
|
|
||||||
|
- The coreboot+SeaBIOS combination boots so quickly some IDE hard drives are not
|
||||||
|
yet ready by the time SeaBIOS attempts to boot from them.
|
||||||
|
|
||||||
|
- i440BX does not support 256Mbit RAM modules. If installed, coreboot
|
||||||
|
will attempt to initialize them at half their capacity anyway
|
||||||
|
whereas vendor firmware will not boot at all.
|
||||||
|
|
||||||
|
- ECC memory can be used, but ECC support is still pending.
|
||||||
|
|
||||||
|
## Untested
|
||||||
|
|
||||||
|
- Floppy
|
||||||
|
- Parallel port
|
||||||
|
- EDO memory
|
||||||
|
- ECC memory
|
||||||
|
- Infrared
|
||||||
|
- PC speaker
|
||||||
|
|
||||||
|
## Not working
|
||||||
|
|
||||||
|
- ACPI (Support is currently [under gerrit review](https://review.coreboot.org/c/coreboot/+/41098))
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Northbridge | :doc:`../../northbridge/intel/i440bx/index` |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Southbridge | i82371eb |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | P6 family for Slot 1 and Socket 370 |
|
||||||
|
| | (all models from model_63x to model_6bx) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | winbond/w83977tf |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra resources
|
||||||
|
|
||||||
|
[flashrom]: https://flashrom.org/Flashrom
|
137
Documentation/mainboard/asus/p8z77-m.md
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
# ASUS P8Z77-M
|
||||||
|
|
||||||
|
This page describes how to run coreboot on the [ASUS P8Z77-M].
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+================+
|
||||||
|
| Model | W25Q64FVA1Q |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Size | 8 MiB |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Package | DIP-8 |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Socketed | yes |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Write protection | yes |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Dual BIOS feature | no |
|
||||||
|
+---------------------+----------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+----------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip is located between the blue SATA ports.
|
||||||
|
|
||||||
|
The main SPI flash cannot be written internally because Asus disables BIOSWE and
|
||||||
|
enables ``BLE/SMM_BWP`` flags in ``BIOS_CNTL`` for their latest bioses.
|
||||||
|
To install coreboot for the first time, the flash chip must be removed and
|
||||||
|
flashed with an external programmer; flashing in-circuit doesn't work.
|
||||||
|
The flash chip is socketed, so it's easy to remove and reflash.
|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- All USB2 ports (mouse, keyboard and thumb drive)
|
||||||
|
- USB3 ports on rear (Boots SystemRescue 6.0.3 off a Kingston DataTraveler G4 8GB)
|
||||||
|
- Gigabit Ethernet (RTL8111F)
|
||||||
|
- SATA3, SATA2 (all ports, hot-swap not tested)
|
||||||
|
(Blue SATA2) (Blue SATA2) (White SATA3)
|
||||||
|
port 5 port 3 port 1
|
||||||
|
port 6 port 4 port 2
|
||||||
|
|
||||||
|
- CPU Temp sensors and hardware monitor (some values don't make sense)
|
||||||
|
- Native and MRC memory initialization
|
||||||
|
(please see [Native raminit compatibility] and [MRC memory compatibility])
|
||||||
|
|
||||||
|
- Integrated graphics with both libgfxinit and the Intel Video BIOS OpROM
|
||||||
|
(VGA/DVI-D/HDMI tested and working)
|
||||||
|
- 16x PCIe GPU in PCIe-16x/4x slots (tested using nVidia Quadro 600 under SystemRescue 6.0.3
|
||||||
|
(Arch based))
|
||||||
|
- Serial port
|
||||||
|
- PCI slot
|
||||||
|
Rockwell HSF 56k PCI modem, Sound Blaster Live! CT4780 (cards detected, not function tested)
|
||||||
|
Promise SATA150 TX2plus (R/W OK to connected IDE hard drive, OpRom loaded, cannot boot from
|
||||||
|
SeaBIOS)
|
||||||
|
- S3 suspend from Linux
|
||||||
|
- 2-channel analog audio (WAV playback by mplayer via back panel line out port)
|
||||||
|
- Windows 10 with libgfxinit high resolution framebuffer and VBT
|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- If you use MRC raminit, the NVRAM variable gfx_uma_size may be ignored as IGP's UMA could
|
||||||
|
be reconfigured by the blob.
|
||||||
|
|
||||||
|
- If SeaBIOS is used for payload with libgfxinit, it must be brought in via coreboot's config.
|
||||||
|
Otherwise integrated graphics would fail with a black screen.
|
||||||
|
|
||||||
|
- PCI POST card is not functional because the PCI bridge early init is not yet done.
|
||||||
|
|
||||||
|
- The black PCIEX16_2 slot, although can physically fit an x16, only has physical contacts for
|
||||||
|
an x8, and is electrically an x4 only.
|
||||||
|
|
||||||
|
## Untested
|
||||||
|
|
||||||
|
- Wake-on-LAN
|
||||||
|
- USB3 on header
|
||||||
|
- TPM header
|
||||||
|
- EHCI debugging (Debug port is on the 5-pin side of USB2_910 header)
|
||||||
|
- HDMI and S/PDIF audio out
|
||||||
|
|
||||||
|
## Not working
|
||||||
|
|
||||||
|
- PS/2 keyboard or mouse
|
||||||
|
- 4 and 6 channel analog audio out: Rear left and right audio is a muted
|
||||||
|
copy of front left and right audio, and the other two channels are silent.
|
||||||
|
|
||||||
|
## Native (and MRC) raminit compatibility
|
||||||
|
|
||||||
|
- OCZ OCZ3G1600LVAM 2x2GB kit works at DDR3-1066 instead of DDR3-1600.
|
||||||
|
|
||||||
|
- GSkill F3-1600C9D-16GRSL 2x8GB SODIMM kit on adapter boots, but is highly unstable
|
||||||
|
with obvious pattern of bit errors during memtest86+ runs.
|
||||||
|
|
||||||
|
- Samsung PC3-10600U 2x2GB kit works at full rated speed.
|
||||||
|
|
||||||
|
- Kingston KTH9600B-4G 2x4GB kit works at full rated speed.
|
||||||
|
|
||||||
|
## Extra onboard buttons
|
||||||
|
|
||||||
|
The board has two onboard buttons, and each has a related LED nearby.
|
||||||
|
What controls the LEDs and what the buttons control are unknown,
|
||||||
|
therefore they currently do nothing under coreboot.
|
||||||
|
|
||||||
|
- BIOS_FLBK
|
||||||
|
OEM firmware uses this button to facilitate a simple update mechanism
|
||||||
|
via a USB drive plugged into the bottom USB port of the USB/LAN stack.
|
||||||
|
|
||||||
|
- MemOK!
|
||||||
|
OEM firmware uses this button for memory tuning related to overclocking.
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Northbridge | :doc:`../../northbridge/intel/sandybridge/index` |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Southbridge | bd82x6x |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | model_206ax |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | Nuvoton NCT6779D |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| EC | None |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Extra resources
|
||||||
|
|
||||||
|
- [Flash chip datasheet][W25Q64FVA1Q]
|
||||||
|
|
||||||
|
[ASUS P8Z77-M]: https://www.asus.com/Motherboards/P8Z77M/
|
||||||
|
[W25Q64FVA1Q]: https://www.winbond.com/resource-files/w25q64fv%20revs%2007182017.pdf
|
||||||
|
[flashrom]: https://flashrom.org/Flashrom
|
@ -37,7 +37,7 @@ easy to remove and reflash.
|
|||||||
|
|
||||||
## Working
|
## Working
|
||||||
|
|
||||||
- PS/2 keyboard with SeaBIOS & Tianocore (in Mint 18.3/19.1)
|
- PS/2 keyboard with SeaBIOS & edk2 (in Mint 18.3/19.1)
|
||||||
|
|
||||||
- Rear/front headphones connector audio & mic
|
- Rear/front headphones connector audio & mic
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ easy to remove and reflash.
|
|||||||
port 3 port 5 port 1 port 8
|
port 3 port 5 port 1 port 8
|
||||||
port 4 port 6 port 2 port 7
|
port 4 port 6 port 2 port 7
|
||||||
|
|
||||||
- NVME SSD boot on PCIe-x16/x8/4x slot using Tianocore
|
- NVME SSD boot on PCIe-x16/x8/4x slot using edk2
|
||||||
(tested with M.2-to-PCIe adapter and a M.2 Samsung EVO 970 SSD)
|
(tested with M.2-to-PCIe adapter and a M.2 Samsung EVO 970 SSD)
|
||||||
|
|
||||||
- CPU Temp sensors (tested PSensor on linux + HWINFO64 on Win10)
|
- CPU Temp sensors (tested PSensor on linux + HWINFO64 on Win10)
|
||||||
@ -89,7 +89,7 @@ easy to remove and reflash.
|
|||||||
- If you use the MRC.bin, the NVRAM variable gfx_uma_size may be ignored
|
- If you use the MRC.bin, the NVRAM variable gfx_uma_size may be ignored
|
||||||
as IGP's UMA could be reconfigured by the blob
|
as IGP's UMA could be reconfigured by the blob
|
||||||
|
|
||||||
- Using TianoCore + a PCIe GPU under Windows crashes with an
|
- Using edk2 + a PCIe GPU under Windows crashes with an
|
||||||
ACPI_BIOS_ERROR fatal code, not sure why. Using just the IGP
|
ACPI_BIOS_ERROR fatal code, not sure why. Using just the IGP
|
||||||
works perfectly
|
works perfectly
|
||||||
|
|
||||||
@ -105,9 +105,9 @@ easy to remove and reflash.
|
|||||||
|
|
||||||
## Not working
|
## Not working
|
||||||
|
|
||||||
- PS/2 keyboard in Win10 using Tianocore (please see [Known issues])
|
- PS/2 keyboard in Win10 using edk2 (please see [Known issues])
|
||||||
- PS/2 mouse using Tianocore
|
- PS/2 mouse using edk2
|
||||||
- PCIe graphics card on Windows and Tianocore (throws critical ACPI_BIOS_ERROR)
|
- PCIe graphics card on Windows and edk2 (throws critical ACPI_BIOS_ERROR)
|
||||||
|
|
||||||
## Native raminit compatibility
|
## Native raminit compatibility
|
||||||
|
|
||||||
|
@ -104,11 +104,11 @@ solution. Wires need to be connected to be able to flash using an external progr
|
|||||||
- SMBus
|
- SMBus
|
||||||
- Initialization with FSP
|
- Initialization with FSP
|
||||||
- SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4)
|
- SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4)
|
||||||
- TianoCore payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
- edk2 payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
||||||
- LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7)
|
- LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7)
|
||||||
- eMMC
|
- eMMC
|
||||||
|
|
||||||
All of the above has been briefly tested by booting Linux from eMMC using the TianoCore payload
|
All of the above has been briefly tested by booting Linux from eMMC using the edk2 payload
|
||||||
and LinuxBoot.
|
and LinuxBoot.
|
||||||
|
|
||||||
SeaBios has been checked to the extend that it runs to the boot selection and provides display
|
SeaBios has been checked to the extend that it runs to the boot selection and provides display
|
||||||
|
91
Documentation/mainboard/hp/2170p.md
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
# HP EliteBook 2170p
|
||||||
|
|
||||||
|
This page is about the notebook [HP EliteBook 2170p].
|
||||||
|
|
||||||
|
## Release status
|
||||||
|
|
||||||
|
HP EliteBook 2170p was released in 2012 and is now end of life.
|
||||||
|
It can be bought from a secondhand market like Taobao or eBay.
|
||||||
|
|
||||||
|
## Required proprietary blobs
|
||||||
|
|
||||||
|
The following blobs are required to operate the hardware:
|
||||||
|
1. EC firmware
|
||||||
|
2. Intel ME firmware
|
||||||
|
|
||||||
|
EC firmware can be retrieved from the HP firmware update image, or the firmware
|
||||||
|
backup of the laptop. EC Firmware is part of the coreboot build process.
|
||||||
|
The guide on extracting EC firmware and using it to build coreboot is in
|
||||||
|
document [HP Laptops with KBC1126 Embedded Controller](hp_kbc1126_laptops).
|
||||||
|
|
||||||
|
Intel ME firmware is in the flash chip. It is not needed when building coreboot.
|
||||||
|
|
||||||
|
## Programming
|
||||||
|
|
||||||
|
The flash chip is located between the memory slots, WWAN card and CPU,
|
||||||
|
covered by the base enclosure, which needs to be removed according to
|
||||||
|
the [Maintenance and Service Guide] to access the flash chip. Unlike
|
||||||
|
other variants, the flash chip on 2170p is socketed, so it can be taken
|
||||||
|
off and operated with an external programmer.
|
||||||
|
|
||||||
|
Pin 1 of the flash chip is at the side near the CPU.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
For more details have a look at the general [flashing tutorial].
|
||||||
|
|
||||||
|
## Debugging
|
||||||
|
|
||||||
|
The board can be debugged with serial port on the dock or EHCI debug.
|
||||||
|
The EHCI debug port is the left USB3 port.
|
||||||
|
|
||||||
|
## Test status
|
||||||
|
|
||||||
|
### Known issues
|
||||||
|
|
||||||
|
- GRUB payload freezes if at_keyboard module is in the GRUB image
|
||||||
|
([bug #141])
|
||||||
|
|
||||||
|
### Untested
|
||||||
|
|
||||||
|
- Fingerprint Reader
|
||||||
|
- Dock: Parallel port, PS/2 mouse, S-Video port
|
||||||
|
|
||||||
|
### Working
|
||||||
|
|
||||||
|
- Integrated graphics init with libgfxinit
|
||||||
|
- SATA
|
||||||
|
- Audio: speaker and microphone
|
||||||
|
- Ethernet
|
||||||
|
- WLAN
|
||||||
|
- WWAN
|
||||||
|
- Bluetooth
|
||||||
|
- SD Card Reader
|
||||||
|
- SmartCard Reader
|
||||||
|
- USB
|
||||||
|
- DisplayPort
|
||||||
|
- Keyboard, touchpad and trackpoint
|
||||||
|
- EC ACPI support and thermal control
|
||||||
|
- Dock: all USB ports, DVI-D, Serial debug, PS/2 keyboard
|
||||||
|
- TPM
|
||||||
|
- Internal flashing when IFD is unlocked
|
||||||
|
- Using `me_cleaner`
|
||||||
|
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Sandy/Ivy Bridge (FCPGA988) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel Panther Point QM77 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| EC | SMSC KBC1126 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
[HP EliteBook 2170p]: https://support.hp.com/us-en/product/hp-elitebook-2170p-notebook-pc/5245427
|
||||||
|
[Maintenance and Service Guide]: http://h10032.www1.hp.com/ctg/Manual/c03387961.pdf
|
||||||
|
[flashing tutorial]: ../../tutorial/flashing_firmware/ext_power.md
|
BIN
Documentation/mainboard/hp/2170p_flash.jpg
Normal file
After Width: | Height: | Size: 50 KiB |
@ -14,30 +14,99 @@ The following things are still missing from this coreboot port:
|
|||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
```eval_rst
|
```eval_rst
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Type | Value |
|
| Type | Value |
|
||||||
+=====================+============+
|
+=====================+=========================+
|
||||||
| Socketed flash | no |
|
| Socketed flash | no |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Model | MX25L6406E |
|
| Model | MX25L6406E/MX25L6408E |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Size | 8 MiB |
|
| Size | 8 MiB |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| In circuit flashing | yes |
|
| In circuit flashing | yes |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Package | SOIC-8 |
|
| Package | SOIC-8 |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Write protection | No |
|
| Write protection | bios region |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Dual BIOS feature | No |
|
| Dual BIOS feature | No |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
| Internal flashing | yes |
|
| Internal flashing | yes |
|
||||||
+---------------------+------------+
|
+---------------------+-------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
### Flash layout
|
||||||
|
The original layout of the flash should look like this:
|
||||||
|
```
|
||||||
|
00000000:00000fff fd
|
||||||
|
00510000:007fffff bios
|
||||||
|
00003000:0050ffff me
|
||||||
|
00001000:00002fff gbe
|
||||||
```
|
```
|
||||||
|
|
||||||
### Internal programming
|
### Internal programming
|
||||||
|
|
||||||
The SPI flash can be accessed using [flashrom].
|
The SPI flash can be accessed using [flashrom].
|
||||||
|
```console
|
||||||
|
$ flashrom -p internal -c MX25L6406E/MX25L6408E -w coreboot.rom
|
||||||
|
```
|
||||||
|
|
||||||
|
After shorting the FDO jumper you gain access to the full flash, but you
|
||||||
|
still cannot write in the bios region due to SPI protected ranges.
|
||||||
|
|
||||||
|
**Position of FDO jumper close to the IO and second fan connector**
|
||||||
|
![][compaq_8200_jumper]
|
||||||
|
|
||||||
|
[compaq_8200_jumper]: compaq_8200_sff_jumper.jpg
|
||||||
|
|
||||||
|
To write to the bios region you can use an [IFD Hack] originally developed
|
||||||
|
for MacBooks, but with modified values described in this guide.
|
||||||
|
You should read both guides before attempting the procedure.
|
||||||
|
|
||||||
|
Since you can still write in the flash descriptor, you can shrink
|
||||||
|
the ME and then move the bios region into where the ME originally was.
|
||||||
|
coreboot does not by default restrict writing to any part of the flash, so
|
||||||
|
you will first flash a small coreboot build and after it boots, flash
|
||||||
|
the full one.
|
||||||
|
|
||||||
|
The temporary flash layout with the neutered ME firmware should look like this:
|
||||||
|
```
|
||||||
|
00000000:00000fff fd
|
||||||
|
00023000:001fffff bios
|
||||||
|
00003000:00022fff me
|
||||||
|
00001000:00002fff gbe
|
||||||
|
00200000:007fffff pd
|
||||||
|
```
|
||||||
|
|
||||||
|
It is very important to use these exact numbers or you will need to fix it
|
||||||
|
using external flashing, but you should already be familiar with the risks
|
||||||
|
if you got this far.
|
||||||
|
|
||||||
|
The temporary ROM chip size to set in menuconfig is 2 MB but the default
|
||||||
|
CBFS size is too large for that, you can use up to about 0x1D0000.
|
||||||
|
|
||||||
|
When building both the temporary and the permanent installation, don't forget
|
||||||
|
to also add the gigabit ethernet configuration when adding the flash descriptor
|
||||||
|
and ME firmware.
|
||||||
|
|
||||||
|
You can pad the ROM to the required 8MB with zeros using:
|
||||||
|
```console
|
||||||
|
$ dd if=/dev/zero of=6M.bin bs=1024 count=6144
|
||||||
|
$ cat coreboot.rom 6M.bin > coreboot8.rom
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to continue using the neutered ME firmware use this flash layout
|
||||||
|
for stage 2:
|
||||||
|
```
|
||||||
|
00000000:00000fff fd
|
||||||
|
00023000:007fffff bios
|
||||||
|
00003000:00022fff me
|
||||||
|
00001000:00002fff gbe
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to use the original ME firmware use the original flash layout.
|
||||||
|
|
||||||
|
More about flashing internally and getting the flash layout [here](../../tutorial/flashing_firmware/index.md).
|
||||||
|
|
||||||
### External programming
|
### External programming
|
||||||
|
|
||||||
@ -74,7 +143,7 @@ as otherwise there's not enough space near the flash.
|
|||||||
| Coprocessor | Intel ME |
|
| Coprocessor | Intel ME |
|
||||||
+------------------+--------------------------------------------------+
|
+------------------+--------------------------------------------------+
|
||||||
```
|
```
|
||||||
|
[IFD Hack]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/changes/70/38770/4/Documentation/flash_tutorial/int_macbook.md/
|
||||||
[Compaq 8200 Elite SFF]: https://support.hp.com/us-en/document/c03414707
|
[Compaq 8200 Elite SFF]: https://support.hp.com/us-en/document/c03414707
|
||||||
[HP]: https://www.hp.com/
|
[HP]: https://www.hp.com/
|
||||||
[flashrom]: https://flashrom.org/Flashrom
|
[flashrom]: https://flashrom.org/Flashrom
|
||||||
|
BIN
Documentation/mainboard/hp/compaq_8200_sff_jumper.jpg
Normal file
After Width: | Height: | Size: 144 KiB |
@ -130,7 +130,7 @@ The board can be debugged with EHCI debug. The EHCI debug port is the USB port o
|
|||||||
- Arch Linux with Linux 5.8.9
|
- Arch Linux with Linux 5.8.9
|
||||||
- Memory initialization with mrc.bin version 1.6.1 Build 2
|
- Memory initialization with mrc.bin version 1.6.1 Build 2
|
||||||
- Graphics initialization with libgfxinit
|
- Graphics initialization with libgfxinit
|
||||||
- Payload: SeaBIOS, Tianocore
|
- Payload: SeaBIOS, edk2
|
||||||
- EC firmware
|
- EC firmware
|
||||||
- KBC Revision 92.15 from OEM firmware version 01.33
|
- KBC Revision 92.15 from OEM firmware version 01.33
|
||||||
- KBC Revision 92.17 from OEM firmware version 01.50
|
- KBC Revision 92.17 from OEM firmware version 01.50
|
||||||
|
@ -44,8 +44,17 @@ The SPI flash can be accessed using [flashrom].
|
|||||||
External programming with an SPI adapter and [flashrom] does work, but it powers the
|
External programming with an SPI adapter and [flashrom] does work, but it powers the
|
||||||
whole southbridge complex. You need to supply enough current through the programming adapter.
|
whole southbridge complex. You need to supply enough current through the programming adapter.
|
||||||
|
|
||||||
If you want to use a SOIC pomona test clip, you have to cut the 2nd DRAM DIMM holder,
|
If you want to use a SOIC pomona test clip, you have to cut the 2nd DRAM DIMM holder, as
|
||||||
as otherwise there's not enough space near the flash.
|
otherwise there's not enough space near the flash.
|
||||||
|
|
||||||
|
In both case, if ME has not been completely disabled, ME/AMT Flash Override jumper had better
|
||||||
|
be temporary closed for flashing to disable the locking of regions, and prevent ME to run and
|
||||||
|
interfere.
|
||||||
|
|
||||||
|
## Side note
|
||||||
|
The mainboard of [HP Compaq Elite 8300 SFF] is very similar to the one of Z220 SFF, except
|
||||||
|
that Compaq Elite 8300 uses Q77 instead of C216 for its PCH, and their boot firmwares are
|
||||||
|
even interchangeable, so should do coreboot images built for them.
|
||||||
|
|
||||||
## Technology
|
## Technology
|
||||||
|
|
||||||
@ -66,5 +75,6 @@ as otherwise there's not enough space near the flash.
|
|||||||
```
|
```
|
||||||
|
|
||||||
[HP Z220 SFF Workstation]: https://support.hp.com/za-en/document/c03386950
|
[HP Z220 SFF Workstation]: https://support.hp.com/za-en/document/c03386950
|
||||||
|
[HP Compaq Elite 8300 SFF]: https://support.hp.com/us-en/document/c03345460
|
||||||
[HP]: https://www.hp.com/
|
[HP]: https://www.hp.com/
|
||||||
[flashrom]: https://flashrom.org/Flashrom
|
[flashrom]: https://flashrom.org/Flashrom
|
||||||
|
@ -11,7 +11,7 @@ This section contains documentation about coreboot on specific mainboards.
|
|||||||
- [G43T-AM3](acer/g43t-am3.md)
|
- [G43T-AM3](acer/g43t-am3.md)
|
||||||
|
|
||||||
## AMD
|
## AMD
|
||||||
- [padmelon](amd/padmelon/padmelon.md)
|
- [pademelon](amd/pademelon/pademelon.md)
|
||||||
|
|
||||||
## ASRock
|
## ASRock
|
||||||
|
|
||||||
@ -23,11 +23,14 @@ This section contains documentation about coreboot on specific mainboards.
|
|||||||
|
|
||||||
- [A88XM-E](asus/a88xm-e.md)
|
- [A88XM-E](asus/a88xm-e.md)
|
||||||
- [F2A85-M](asus/f2a85-m.md)
|
- [F2A85-M](asus/f2a85-m.md)
|
||||||
|
- [P2B-LS](asus/p2b-ls.md)
|
||||||
|
- [P3B-F](asus/p3b-f.md)
|
||||||
- [P5Q](asus/p5q.md)
|
- [P5Q](asus/p5q.md)
|
||||||
- [P8C WS](asus/p8c_ws.md)
|
- [P8C WS](asus/p8c_ws.md)
|
||||||
- [P8H61-M LX](asus/p8h61-m_lx.md)
|
- [P8H61-M LX](asus/p8h61-m_lx.md)
|
||||||
- [P8H61-M Pro](asus/p8h61-m_pro.md)
|
- [P8H61-M Pro](asus/p8h61-m_pro.md)
|
||||||
- [P8H77-V](asus/p8h77-v.md)
|
- [P8H77-V](asus/p8h77-v.md)
|
||||||
|
- [P8Z77-M](asus/p8z77-m.md)
|
||||||
- [P8Z77-M Pro](asus/p8z77-m_pro.md)
|
- [P8Z77-M Pro](asus/p8z77-m_pro.md)
|
||||||
- [P8Z77-V](asus/p8z77-v.md)
|
- [P8Z77-V](asus/p8z77-v.md)
|
||||||
- [wifigo_v1](asus/wifigo_v1.md)
|
- [wifigo_v1](asus/wifigo_v1.md)
|
||||||
@ -78,6 +81,7 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
|
|
||||||
- [HP Laptops with KBC1126 EC](hp/hp_kbc1126_laptops.md)
|
- [HP Laptops with KBC1126 EC](hp/hp_kbc1126_laptops.md)
|
||||||
- [HP Sure Start](hp/hp_sure_start.md)
|
- [HP Sure Start](hp/hp_sure_start.md)
|
||||||
|
- [EliteBook 2170p](hp/2170p.md)
|
||||||
- [EliteBook 2560p](hp/2560p.md)
|
- [EliteBook 2560p](hp/2560p.md)
|
||||||
- [EliteBook 8760w](hp/8760w.md)
|
- [EliteBook 8760w](hp/8760w.md)
|
||||||
- [EliteBook Folio 9480m](hp/folio_9480m.md)
|
- [EliteBook Folio 9480m](hp/folio_9480m.md)
|
||||||
@ -85,7 +89,7 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
## Intel
|
## Intel
|
||||||
|
|
||||||
- [DG43GT](intel/dg43gt.md)
|
- [DG43GT](intel/dg43gt.md)
|
||||||
- [IceLake RVP](intel/icelake_rvp.md)
|
- [DQ67SW](intel/dq67sw.md)
|
||||||
- [KBLRVP11](intel/kblrvp11.md)
|
- [KBLRVP11](intel/kblrvp11.md)
|
||||||
|
|
||||||
## Kontron
|
## Kontron
|
||||||
@ -146,7 +150,6 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
## Open Cellular
|
## Open Cellular
|
||||||
|
|
||||||
- [Elgon](opencellular/elgon.md)
|
- [Elgon](opencellular/elgon.md)
|
||||||
- [Rotundu](opencellular/rotundu.md)
|
|
||||||
|
|
||||||
## PC Engines
|
## PC Engines
|
||||||
|
|
||||||
@ -170,6 +173,8 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
|
|
||||||
- [FW2B / FW4B](protectli/fw2b_fw4b.md)
|
- [FW2B / FW4B](protectli/fw2b_fw4b.md)
|
||||||
- [FW6A / FW6B / FW6C](protectli/fw6.md)
|
- [FW6A / FW6B / FW6C](protectli/fw6.md)
|
||||||
|
- [VP2420](protectli/vp2420.md)
|
||||||
|
- [VP4630 / VP4650 / VP4670](protectli/vp46xx.md)
|
||||||
|
|
||||||
## Roda
|
## Roda
|
||||||
|
|
||||||
@ -186,6 +191,7 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
- [StarLite Mk III](starlabs/lite_glk.md)
|
- [StarLite Mk III](starlabs/lite_glk.md)
|
||||||
- [StarLite Mk IV](starlabs/lite_glkr.md)
|
- [StarLite Mk IV](starlabs/lite_glkr.md)
|
||||||
- [StarBook Mk V](starlabs/starbook_tgl.md)
|
- [StarBook Mk V](starlabs/starbook_tgl.md)
|
||||||
|
- [StarBook Mk VI](starlabs/starbook_adl.md)
|
||||||
- [Flashing devices](starlabs/common/flashing.md)
|
- [Flashing devices](starlabs/common/flashing.md)
|
||||||
|
|
||||||
## Supermicro
|
## Supermicro
|
||||||
@ -202,16 +208,21 @@ The boards in this section are not real mainboards, but emulators.
|
|||||||
- [Bonobo Workstation 14](system76/bonw14.md)
|
- [Bonobo Workstation 14](system76/bonw14.md)
|
||||||
- [Darter Pro 6](system76/darp6.md)
|
- [Darter Pro 6](system76/darp6.md)
|
||||||
- [Darter Pro 7](system76/darp7.md)
|
- [Darter Pro 7](system76/darp7.md)
|
||||||
|
- [Darter Pro 8](system76/darp8.md)
|
||||||
- [Galago Pro 4](system76/galp4.md)
|
- [Galago Pro 4](system76/galp4.md)
|
||||||
- [Galago Pro 5](system76/galp5.md)
|
- [Galago Pro 5](system76/galp5.md)
|
||||||
|
- [Galago Pro 6](system76/galp6.md)
|
||||||
- [Gazelle 15](system76/gaze15.md)
|
- [Gazelle 15](system76/gaze15.md)
|
||||||
- [Gazelle 16](system76/gaze16.md)
|
- [Gazelle 16](system76/gaze16.md)
|
||||||
- [Lemur Pro 9](system76/lemp9.md)
|
- [Lemur Pro 9](system76/lemp9.md)
|
||||||
- [Lemur Pro 10](system76/lemp10.md)
|
- [Lemur Pro 10](system76/lemp10.md)
|
||||||
|
- [Lemur Pro 11](system76/lemp11.md)
|
||||||
- [Oryx Pro 5](system76/oryp5.md)
|
- [Oryx Pro 5](system76/oryp5.md)
|
||||||
- [Oryx Pro 6](system76/oryp6.md)
|
- [Oryx Pro 6](system76/oryp6.md)
|
||||||
- [Oryx Pro 7](system76/oryp7.md)
|
- [Oryx Pro 7](system76/oryp7.md)
|
||||||
- [Oryx Pro 8](system76/oryp8.md)
|
- [Oryx Pro 8](system76/oryp8.md)
|
||||||
|
- [Oryx Pro 9](system76/oryp9.md)
|
||||||
|
- [Oryx Pro 10](system76/oryp10.md)
|
||||||
|
|
||||||
## Texas Instruments
|
## Texas Instruments
|
||||||
|
|
||||||
|
170
Documentation/mainboard/intel/dq67sw.md
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
# Intel DQ67SW
|
||||||
|
|
||||||
|
The Intel DQ67SW is a microATX-sized desktop board for Intel Sandy Bridge CPUs.
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Northbridge | :doc:`../../northbridge/intel/sandybridge/index` |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Southbridge | Intel Q67 (bd82x6x) |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU socket | LGA 1155 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| RAM | 4 x DDR3-1333 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O | Nuvoton/Winbond W83677HG-i |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Audio | Realtek ALC888S |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Network | Intel 82579LM Gigabit Ethernet |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Serial | Internal header |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
### Working
|
||||||
|
|
||||||
|
- Sandy Bridge and Ivy Bridge CPUs (tested: i5-2500, Pentium G2120)
|
||||||
|
- Native RAM initialization with four DIMMs
|
||||||
|
- Integrated GPU with libgfxinit
|
||||||
|
- PCIe graphics in the PEG slot
|
||||||
|
- Additional PCIe slots
|
||||||
|
- PCI slot
|
||||||
|
- All rear (4x) and internal (8x) USB2 ports
|
||||||
|
- Rear USB3 ports (2x)
|
||||||
|
- All four internal SATA ports (two 6 Gb/s, two 3 Gb/s)
|
||||||
|
- Two rear eSATA connectors (3 Gb/s)
|
||||||
|
- SATA at 6 Gb/s
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- SeaBIOS 1.16.1 + libgfxinit (legacy VGA) to boot slackware64 (Linux 5.15)
|
||||||
|
- SeaBIOS 1.16.1 + extracted VGA BIOS to boot Windows 10 (21H2)
|
||||||
|
- edk2 UefiPayload (uefipayload_202207) + libgfxinit (high-res) to boot:
|
||||||
|
- slackware64 (Linux 5.15)
|
||||||
|
- Windows 10 (22H2)
|
||||||
|
- External in-circuit flashing with flashrom-1.2 and a Raspberry Pi 1
|
||||||
|
- Poweroff
|
||||||
|
- Resume from S3
|
||||||
|
- Console output on the serial port
|
||||||
|
|
||||||
|
### Not working
|
||||||
|
|
||||||
|
- Automatic fan control. One can still use OS-based fan control programs,
|
||||||
|
such as fancontrol on Linux or SpeedFan on Windows.
|
||||||
|
- Windows 10 booted from SeaBIOS + libgfxinit (high-res). The installation
|
||||||
|
works, but once Windows Update installs drivers, it crashes and enters a
|
||||||
|
bootloop.
|
||||||
|
|
||||||
|
### Untested
|
||||||
|
|
||||||
|
- Firewire (LSI L-FW3227-100)
|
||||||
|
- EHCI debug
|
||||||
|
- S/PDIF audio
|
||||||
|
- Audio jacks other than the green one
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+============+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Model | W25Q64.V |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Size | 8 MiB |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Package | SOIC-8 |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Write protection | yes |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Dual BIOS feature | no |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Internal flashing | see below |
|
||||||
|
+---------------------+------------+
|
||||||
|
| In circuit flashing | see below |
|
||||||
|
+---------------------+------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash is divided into the following regions, as obtained with
|
||||||
|
`ifdtool -f rom.layout backup.rom`:
|
||||||
|
|
||||||
|
00000000:00000fff fd
|
||||||
|
00580000:007fffff bios
|
||||||
|
00003000:0057ffff me
|
||||||
|
00001000:00002fff gbe
|
||||||
|
|
||||||
|
Unfortunately the SPI interface to the chip is locked down by the vendor
|
||||||
|
firmware. The BIOS Lock Enable (BLE) bit of the `BIOS_CNTL` register, part of
|
||||||
|
the PCI configuration space of the LPC Interface Bridge, is set.
|
||||||
|
|
||||||
|
It is possible to program the chip is to attach an external programmer
|
||||||
|
with an SOIC-8 clip.
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
Another way is to boot the vendor firmware in UEFI mode and exploit the
|
||||||
|
unpatched S3 Boot Script vulnerability. See this page for a similar procedure:
|
||||||
|
:doc:`../lenovo/ivb_internal_flashing`.
|
||||||
|
```
|
||||||
|
|
||||||
|
On this specific board it is possible to prevent the BLE bit from being set
|
||||||
|
when it resumes from S3. One entry in the S3 Boot Script must be modified,
|
||||||
|
e.g. with a patched version of [CHIPSEC](https://github.com/chipsec/chipsec)
|
||||||
|
that supports this specific type of S3 Boot Script, for example from strobo5:
|
||||||
|
|
||||||
|
$ git clone -b headerless https://github.com/strobo5/chipsec.git
|
||||||
|
$ cd chipsec
|
||||||
|
$ python setup.py build_ext -i
|
||||||
|
$ sudo python chipsec_main.py -m tools.uefi.s3script_modify -a replace_op,mmio_wr,0xe00f80dc,0x00,1
|
||||||
|
|
||||||
|
The boot script contains an entry that writes 0x02 to memory at address
|
||||||
|
0xe00f80dc. This address points at the PCIe configuration register at offset
|
||||||
|
0xdc for the PCIe device 0:1f.0, which is the BIOS Control Register of the LPC
|
||||||
|
Interface Bridge [0][1]. The value 0x02 sets the BLE bit, and the modification
|
||||||
|
prevents this by making it write a 0 instead.
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
After suspending and resuming the board, the BIOS region can be flashed with
|
||||||
|
a coreboot image, e.g. using flashrom. Note that the ME region is not readable,
|
||||||
|
so the `--noverify-all` flag is necessary. Please refer to the
|
||||||
|
:doc:`../../tutorial/flashing_firmware/index`.
|
||||||
|
```
|
||||||
|
|
||||||
|
## Hardware monitoring and fan control
|
||||||
|
|
||||||
|
Currently there is no automatic, OS-independent fan control.
|
||||||
|
|
||||||
|
## Serial port header
|
||||||
|
|
||||||
|
Serial port 1, provided by the Super I/O, is exposed on a pin header. The
|
||||||
|
RS-232 signals are assigned to the header so that its pin numbers map directly
|
||||||
|
to the pin numbers of a DE-9 connector. If your serial port doesn't seem to
|
||||||
|
work, check if your bracket expects a different assignment.
|
||||||
|
|
||||||
|
Here is a top view of the serial port header found on this board:
|
||||||
|
|
||||||
|
+---+---+
|
||||||
|
N/C | | 9 | RI -> pin 9
|
||||||
|
+---+---+
|
||||||
|
Pin 8 <- CTS | 8 | 7 | RTS -> pin 7
|
||||||
|
+---+---+
|
||||||
|
Pin 6 <- DSR | 6 | 5 | GND -> pin 5
|
||||||
|
+---+---+
|
||||||
|
Pin 4 <- DTR | 4 | 3 | TxD -> pin 3
|
||||||
|
+---+---+
|
||||||
|
Pin 2 <- RxD | 2 | 1 | DCD -> pin 1
|
||||||
|
+---+---+
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
[0]: Intel 6 Series Chipset and Intel C200 Series Chipset Datasheet,
|
||||||
|
May 2011,
|
||||||
|
Document number 324645-006
|
||||||
|
|
||||||
|
[1]: Accessing PCI Express Configuration Registers Using Intel Chipsets,
|
||||||
|
December 2008,
|
||||||
|
Document number 321090
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
# Intel Ice Lake RVP (Reference Validation Platform)
|
|
||||||
|
|
||||||
This page describes how to run coreboot on the Intel icelake_rvp board.
|
|
||||||
|
|
||||||
Ice Lake RVP is based on Intel Ice Lake platform, please refer to below link to get more details
|
|
||||||
```eval_rst
|
|
||||||
:doc:`../../soc/intel/icelake/iceLake_coreboot_development`
|
|
||||||
```
|
|
||||||
|
|
||||||
## Building coreboot
|
|
||||||
|
|
||||||
* Follow build instructions mentioned in Ice Lake document
|
|
||||||
```eval_rst
|
|
||||||
:doc:`../../soc/intel/icelake/iceLake_coreboot_development`
|
|
||||||
```
|
|
||||||
|
|
||||||
* The default options for this board should result in a fully working image:
|
|
||||||
```bash
|
|
||||||
# echo "CONFIG_VENDOR_INTEL=y" > .config
|
|
||||||
# echo "CONFIG_BOARD_INTEL_ICELAKE_RVPU=y" >> .config
|
|
||||||
# make olddefconfig && make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
|
||||||
|
|
||||||
```eval_rst
|
|
||||||
+---------------------+------------+
|
|
||||||
| Type | Value |
|
|
||||||
+=====================+============+
|
|
||||||
| Socketed flash | no |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Vendor | Winbond |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Size | 32 MiB |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Internal flashing | yes |
|
|
||||||
+---------------------+------------+
|
|
||||||
| External flashing | yes |
|
|
||||||
+---------------------+------------+
|
|
||||||
```
|
|
@ -45,7 +45,7 @@ make
|
|||||||
```
|
```
|
||||||
## Payloads
|
## Payloads
|
||||||
- SeaBIOS
|
- SeaBIOS
|
||||||
- Tianocore
|
- edk2
|
||||||
- Linux as payload
|
- Linux as payload
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
@ -26,12 +26,12 @@ host up to 4 Delta Lake servers (blades) in one sled.
|
|||||||
|
|
||||||
The Yosemite-V3 system is in mass production. Meta, Intel and partners
|
The Yosemite-V3 system is in mass production. Meta, Intel and partners
|
||||||
jointly develop Open System Firmware (OSF) solution on Delta Lake as an alternative
|
jointly develop Open System Firmware (OSF) solution on Delta Lake as an alternative
|
||||||
solution. The OSF solution is based on FSP/coreboot/LinuxBoot stack. The
|
solution. The OSF solution reached production quality for some use cases
|
||||||
OSF solution reached production quality for some use cases in July, 2021.
|
in July, 2021.
|
||||||
|
|
||||||
## How to build
|
## How to build
|
||||||
|
|
||||||
OSF code base is public at
|
OSF code base is publicly available at
|
||||||
https://github.com/opencomputeproject/OpenSystemFirmware
|
https://github.com/opencomputeproject/OpenSystemFirmware
|
||||||
|
|
||||||
Run following commands to build Delta Lake OSF image from scratch:
|
Run following commands to build Delta Lake OSF image from scratch:
|
||||||
@ -42,19 +42,21 @@ The Delta Lake OSF code base leverages [osf-builder] to sync down coreboot,
|
|||||||
Linux kernel and u-root code from their upstream repo, and sync down needed
|
Linux kernel and u-root code from their upstream repo, and sync down needed
|
||||||
binary blobs. [osf-builder] also provides the top level build system.
|
binary blobs. [osf-builder] also provides the top level build system.
|
||||||
|
|
||||||
Delta Lake server OSF solution requires following binary blobs:
|
Besides coreboot, the Delta Lake OSF solution includes following components:
|
||||||
- FSP blob: The blob (Intel Cooper Lake Scalable Processor Firmware Support Package)
|
- FSP blob: The blobs (Intel Cooper Lake Scalable Processor Firmware Support Package)
|
||||||
can be downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg.
|
is downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg.
|
||||||
- Microcode: Available through github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.
|
- Microcode: downloaded from github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.
|
||||||
coreboot.org mirrors this repo and by default the correct binary is included.
|
- ME ignition binary: downloaded from
|
||||||
- ME binary: Ignition binary can be downloaded from
|
|
||||||
https://github.com/tianocore/edk2-non-osi/tree/master/Silicon/Intel/PurleySiliconBinPkg/MeFirmware
|
https://github.com/tianocore/edk2-non-osi/tree/master/Silicon/Intel/PurleySiliconBinPkg/MeFirmware
|
||||||
- ACM binaries: only required for CBnT enablement. Available under NDA with Intel.
|
- ACM binaries: only required for CBnT enablement. Available under NDA with Intel.
|
||||||
- Payload: LinuxBoot is necessary when LinuxBoot is used as the coreboot payload.
|
- Payload: LinuxBoot is necessary when LinuxBoot is used as the coreboot payload.
|
||||||
U-root as initramfs, is used in the joint development. It can be built
|
U-root as initramfs, is used in the joint development. It is built
|
||||||
following [All about u-root].
|
following [All about u-root].
|
||||||
|
|
||||||
## Flashing coreboot
|
The Delta Lake OSF solution is updated periodically to newer versions of
|
||||||
|
upstream coreboot code base and other components.
|
||||||
|
|
||||||
|
## How to verify Delta Lake OSF image
|
||||||
|
|
||||||
To do in-band FW image update, use [flashrom]:
|
To do in-band FW image update, use [flashrom]:
|
||||||
flashrom -p internal:ich_spi_mode=hwseq -c "Opaque flash chip" --ifd \
|
flashrom -p internal:ich_spi_mode=hwseq -c "Opaque flash chip" --ifd \
|
||||||
@ -70,6 +72,21 @@ To power off/on the host:
|
|||||||
To connect to console through SOL (Serial Over Lan):
|
To connect to console through SOL (Serial Over Lan):
|
||||||
sol-util slotx
|
sol-util slotx
|
||||||
|
|
||||||
|
## How to work on coreboot for Delta Lake
|
||||||
|
After the OSF image for Delta Lake is built and verified, under
|
||||||
|
OpenSystemFirmware/Wiwynn/deltalake directory:
|
||||||
|
cd src/osf-builder/projects/craterlake/coreboot
|
||||||
|
|
||||||
|
Run "git remote -v" to confirm the origin is from coreboot upstream repo.
|
||||||
|
|
||||||
|
Run "git branch -v" to know the confirmed working coreboot commit ID for the
|
||||||
|
Delta Lake OSF solution.
|
||||||
|
|
||||||
|
Fetch down the tip of coreboot upstream repo, run "make" to build a new OSF
|
||||||
|
image for Delta Lake, verify that it works.
|
||||||
|
|
||||||
|
Now you are in a familiar coreboot environment, happy coding!
|
||||||
|
|
||||||
## Firmware configurations
|
## Firmware configurations
|
||||||
[ChromeOS VPD] is used to store most of the firmware configurations.
|
[ChromeOS VPD] is used to store most of the firmware configurations.
|
||||||
RO_VPD region holds default values, while RW_VPD region holds customized
|
RO_VPD region holds default values, while RW_VPD region holds customized
|
||||||
|
@ -1,76 +0,0 @@
|
|||||||
# Rutundu
|
|
||||||
|
|
||||||
This page describes how to run coreboot on the [Rotundu] compute board
|
|
||||||
from [OpenCellular].
|
|
||||||
|
|
||||||
## TODO
|
|
||||||
|
|
||||||
* Configure UART
|
|
||||||
* EC interface
|
|
||||||
|
|
||||||
## Flashing coreboot
|
|
||||||
|
|
||||||
```eval_rst
|
|
||||||
+---------------------+------------+
|
|
||||||
| Type | Value |
|
|
||||||
+=====================+============+
|
|
||||||
| Socketed flash | no |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Model | W25Q128 |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Size | 16 MiB |
|
|
||||||
+---------------------+------------+
|
|
||||||
| In circuit flashing | yes |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Package | SOIC-8 |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Write protection | No |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Dual BIOS feature | No |
|
|
||||||
+---------------------+------------+
|
|
||||||
| Internal flashing | yes |
|
|
||||||
+---------------------+------------+
|
|
||||||
```
|
|
||||||
|
|
||||||
### Internal programming
|
|
||||||
|
|
||||||
The SPI flash can be accessed using [flashrom].
|
|
||||||
|
|
||||||
### External programming
|
|
||||||
|
|
||||||
The GBCv1 board does have a pinheader to flash the SOIC-8 in circuit.
|
|
||||||
Directly connecting a Pomona test-clip on the flash is also possible.
|
|
||||||
|
|
||||||
**Closeup view of SOIC-8 flash IC**
|
|
||||||
|
|
||||||
![][rotundu_flash]
|
|
||||||
|
|
||||||
[rotundu_flash]: rotundu_flash.jpg
|
|
||||||
|
|
||||||
**SPI header**
|
|
||||||
|
|
||||||
![][rotundu_header2]
|
|
||||||
|
|
||||||
[rotundu_header2]: rotundu_header2.jpg
|
|
||||||
|
|
||||||
**SPI header pinout**
|
|
||||||
|
|
||||||
Dediprog compatible pinout.
|
|
||||||
|
|
||||||
![][rotundu_j16]
|
|
||||||
|
|
||||||
[rotundu_j16]: rotundu_j16.png
|
|
||||||
|
|
||||||
## Technology
|
|
||||||
|
|
||||||
```eval_rst
|
|
||||||
+------------------+--------------------------------------------------+
|
|
||||||
| SoC | Intel Baytrail |
|
|
||||||
+------------------+--------------------------------------------------+
|
|
||||||
| Coprocessor | Intel ME |
|
|
||||||
+------------------+--------------------------------------------------+
|
|
||||||
```
|
|
||||||
|
|
||||||
[Rotundu]: https://github.com/Telecominfraproject/OpenCellular
|
|
||||||
[OpenCellular]: https://code.fb.com/connectivity/introducing-opencellular-an-open-source-wireless-access-platform/
|
|
||||||
[flashrom]: https://flashrom.org/Flashrom
|
|
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 20 KiB |
BIN
Documentation/mainboard/protectli/VP2420_back.jpg
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
Documentation/mainboard/protectli/VP2420_front.jpg
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
Documentation/mainboard/protectli/VP2420_internal.jpg
Normal file
After Width: | Height: | Size: 74 KiB |
87
Documentation/mainboard/protectli/vp2420.md
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# Protectli Vault VP2420
|
||||||
|
|
||||||
|
This page describes how to run coreboot on the [Protectli VP2420].
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Required proprietary blobs
|
||||||
|
|
||||||
|
To build a minimal working coreboot image some blobs are required (assuming
|
||||||
|
only the BIOS region is being modified).
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
| Binary file | Apply | Required / Optional |
|
||||||
|
+=================+=================================+=====================+
|
||||||
|
| FSP-M, FSP-S | Intel Firmware Support Package | Required |
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
| microcode | CPU microcode | Required |
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
FSP-M and FSP-S are obtained after splitting the Elkhart Lake FSP binary (done
|
||||||
|
automatically by the coreboot build system and included into the image) from
|
||||||
|
the `3rdparty/fsp` submodule.
|
||||||
|
|
||||||
|
Microcode updates are automatically included into the coreboot image by build
|
||||||
|
system from the `3rdparty/intel-microcode` submodule.
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
### Internal programming
|
||||||
|
|
||||||
|
The main SPI flash can be accessed using [flashrom]. Firmware can be easily
|
||||||
|
flashed with internal programmer (either BIOS region or full image).
|
||||||
|
|
||||||
|
### External programming
|
||||||
|
|
||||||
|
The system has an internal flash chip which is a 16 MiB soldered SOIC-8 chip.
|
||||||
|
This chip is located on the top side of the case (the lid side). One has to
|
||||||
|
remove 4 top cover screws and lift up the lid. The flash chip is soldered in
|
||||||
|
under RAM, easily accessed after taking out the memory. Specifically, it's a
|
||||||
|
KH25L12835F (3.3V) which is a clone of Macronix
|
||||||
|
MX25L12835F - [datasheet][MX25L12835F].
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- USB 3.0 front ports (SeaBIOS, Tianocore UEFIPayload and Linux)
|
||||||
|
- 4 Ethernet ports
|
||||||
|
- HDMI, DisplayPort
|
||||||
|
- flashrom
|
||||||
|
- M.2 WiFi
|
||||||
|
- M.2 4G LTE
|
||||||
|
- M.2 SATA and NVMe
|
||||||
|
- 2.5'' SATA SSD
|
||||||
|
- eMMC
|
||||||
|
- Super I/O serial port 0 via front microUSB connector
|
||||||
|
- SMBus (reading SPD from DIMMs)
|
||||||
|
- Initialization with Elkhart Lake FSP 2.0
|
||||||
|
- SeaBIOS payload (version rel-1.16.0)
|
||||||
|
- TianoCore UEFIPayload
|
||||||
|
- Reset switch
|
||||||
|
- Booting Debian, Ubuntu, FreeBSD
|
||||||
|
|
||||||
|
## Technology
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Celeron J6412 |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel Elkhart Lake |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O, EC | ITE IT8613E |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Useful links
|
||||||
|
|
||||||
|
- [VP2420 Hardware Overview](https://protectli.com/kb/vp2400-series-hardware-overview/)
|
||||||
|
- [VP2420 Product Page](https://protectli.com/product/vp2420/)
|
||||||
|
- [Protectli TPM module](https://protectli.com/product/tpm-module/)
|
||||||
|
- [MX25L12835F](https://www.mxic.com.tw/Lists/Datasheet/Attachments/8653/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf)
|
||||||
|
- [flashrom](https://flashrom.org/Flashrom)
|
135
Documentation/mainboard/protectli/vp46xx.md
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# Protectli Vault VP46xx series
|
||||||
|
|
||||||
|
This page describes how to run coreboot on the [Protectli VP46xx].
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Required proprietary blobs
|
||||||
|
|
||||||
|
To build a minimal working coreboot image some blobs are required (assuming
|
||||||
|
only the BIOS region is being modified).
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
| Binary file | Apply | Required / Optional |
|
||||||
|
+=================+=================================+=====================+
|
||||||
|
| FSP-M, FSP-S | Intel Firmware Support Package | Required |
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
| microcode | CPU microcode | Required |
|
||||||
|
+-----------------+---------------------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
FSP-M and FSP-S are obtained after splitting the Comet Lake FSP binary (done
|
||||||
|
automatically by the coreboot build system and included into the image) from
|
||||||
|
the `3rdparty/fsp` submodule. VP4630 and VP4650 use CometLake2 FSP and VP4670
|
||||||
|
use CometLake1 FSP (see [variants](#variants) section), so be sure to select
|
||||||
|
the correct board in the coreboot's menuconfig, otherwise the platform will not
|
||||||
|
succeed on memory initialization.
|
||||||
|
|
||||||
|
Microcode updates are automatically included into the coreboot image by build
|
||||||
|
system from the `3rdparty/intel-microcode` submodule.
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
### Internal programming
|
||||||
|
|
||||||
|
The main SPI flash can be accessed using [flashrom]. The first version
|
||||||
|
supporting the chipset is flashrom v1.2. Firmware an be easily flashed
|
||||||
|
with internal programmer (either BIOS region or full image).
|
||||||
|
|
||||||
|
### External programming
|
||||||
|
|
||||||
|
The system has an internal flash chip which is a 16 MiB socketed SOIC-8 chip.
|
||||||
|
This chip is located on the top side of the case (the lid side). One has to
|
||||||
|
remove 4 top cover screws and lift up the lid. The flash chip is near the M.2
|
||||||
|
WiFi slot connector. Remove the chip from socket and use a clip to program the
|
||||||
|
chip. Specifically, it's a KH25L12835F (3.3V) which is a clone of Macronix
|
||||||
|
MX25L12835F - [datasheet][MX25L12835F].
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Known issues
|
||||||
|
|
||||||
|
- After flashing with external programmer it is always required to reset RTC
|
||||||
|
with a jumper or disconnect the coin cell temporarily. Only then the platform
|
||||||
|
will boot after flashing.
|
||||||
|
|
||||||
|
## Working
|
||||||
|
|
||||||
|
- USB 3.0 front ports (SeaBIOS, Tianocore UEFIPayload and Linux)
|
||||||
|
- 6 Ethernet ports
|
||||||
|
- HDMI, DisplayPort and USB-C Display Port with libgfxinit and FSP GOP
|
||||||
|
- flashrom
|
||||||
|
- M.2 WiFi
|
||||||
|
- M.2 4G LTE
|
||||||
|
- M.2 SATA and NVMe
|
||||||
|
- 2.5'' SATA SSD
|
||||||
|
- eMMC
|
||||||
|
- Super I/O serial port 0 via front microUSB connector (Fintek F81232 USB to
|
||||||
|
UART adapter present on board)
|
||||||
|
- SMBus (reading SPD from DIMMs)
|
||||||
|
- Initialization with CometLake FSP 2.0
|
||||||
|
- SeaBIOS payload (version rel-1.16.0)
|
||||||
|
- TianoCore UEFIPayload
|
||||||
|
- LPC TPM module (using Protectli custom-designed module with Infineon SLB9660)
|
||||||
|
- Reset switch
|
||||||
|
- Booting Debian, Ubuntu, FreeBSD
|
||||||
|
|
||||||
|
## Variants
|
||||||
|
|
||||||
|
There are 3 variants of VP46xx boards: VP4630, VP4650 and VP4670. They differ
|
||||||
|
only in used SoC and some units may come with different Super I/O chips, either
|
||||||
|
ITE IT8786E or IT8784E, but the configuration is the same on this platform.
|
||||||
|
|
||||||
|
- VP4630:
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Core i3-10110U |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel Comet Lake U Premium |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O, EC | ITE IT8786E/IT8784E |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
- VP4650:
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Core i5-10210U |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel Comet Lake U Premium |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O, EC | ITE IT8786E/IT8784E |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
- VP4670:
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| CPU | Intel Core i7-10810U |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| PCH | Intel Comet Lake U Premium |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Super I/O, EC | ITE IT8786E/IT8784E |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
| Coprocessor | Intel Management Engine |
|
||||||
|
+------------------+--------------------------------------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## Useful links
|
||||||
|
|
||||||
|
- [VP4600 Hardware Overview](https://protectli.com/kb/vp4600-hardware-overview/)
|
||||||
|
- [VP4630 Product Page](https://protectli.com/product/vp4630/)
|
||||||
|
- [Protectli TPM module](https://protectli.com/product/tpm-module/)
|
||||||
|
|
||||||
|
[Protectli VP46xx]: https://protectli.com/vault-6-port/
|
||||||
|
[MX25L12835F]: https://www.mxic.com.tw/Lists/Datasheet/Attachments/8653/MX25L12835F,%203V,%20128Mb,%20v1.6.pdf
|
||||||
|
[flashrom]: https://flashrom.org/Flashrom
|
BIN
Documentation/mainboard/protectli/vp46xx_back.jpg
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
Documentation/mainboard/protectli/vp46xx_flash.jpg
Executable file
After Width: | Height: | Size: 48 KiB |
BIN
Documentation/mainboard/protectli/vp46xx_front.jpg
Normal file
After Width: | Height: | Size: 35 KiB |
@ -92,7 +92,7 @@ located underneath the Wi-Fi module, below the left cooling fan.
|
|||||||
|
|
||||||
* Internal display with libgfxinit, VGA option ROM, or FSP/GOP init
|
* Internal display with libgfxinit, VGA option ROM, or FSP/GOP init
|
||||||
* External displays via HDMI, USB-C Alt-Mode
|
* External displays via HDMI, USB-C Alt-Mode
|
||||||
* SeaBIOS (1.14), Tianocore (CorebootPayloadPkg), and Heads payloads
|
* SeaBIOS (1.14), edk2 (CorebootPayloadPkg), and Heads payloads
|
||||||
* Ethernet, m.2 2230 Wi-Fi
|
* Ethernet, m.2 2230 Wi-Fi
|
||||||
* System firmware updates via flashrom
|
* System firmware updates via flashrom
|
||||||
* M.2 storage (NVMe, SATA III)
|
* M.2 storage (NVMe, SATA III)
|
||||||
|
@ -107,7 +107,7 @@ desoldering it from the mainboard.
|
|||||||
|
|
||||||
* External displays via HDMI/DisplayPort with VGA option ROM or FSP/GOP init
|
* External displays via HDMI/DisplayPort with VGA option ROM or FSP/GOP init
|
||||||
(no libgfxinit support yet)
|
(no libgfxinit support yet)
|
||||||
* SeaBIOS (1.14), Tianocore (CorebootPayloadPkg), Heads (Purism downstream) payloads
|
* SeaBIOS (1.14), edk2 (CorebootPayloadPkg), Heads (Purism downstream) payloads
|
||||||
* Ethernet, m.2 2230 Wi-Fi
|
* Ethernet, m.2 2230 Wi-Fi
|
||||||
* System firmware updates via flashrom
|
* System firmware updates via flashrom
|
||||||
* PCIe NVMe
|
* PCIe NVMe
|
||||||
|
30
Documentation/mainboard/starlabs/common/building.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
## Building coreboot
|
||||||
|
|
||||||
|
### Preliminaries
|
||||||
|
|
||||||
|
Prior to building coreboot the following files are required:
|
||||||
|
|
||||||
|
#### StarBook series:
|
||||||
|
* Intel Flash Descriptor file (descriptor.bin)
|
||||||
|
* Intel Management Engine firmware (me.bin)
|
||||||
|
* ITE Embedded Controller firmware (ec.bin)
|
||||||
|
|
||||||
|
#### StarLite series:
|
||||||
|
* Intel Flash Descriptor file (descriptor.bin)
|
||||||
|
* IFWI Image (ifwi.rom)
|
||||||
|
|
||||||
|
The files listed below are optional:
|
||||||
|
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
||||||
|
|
||||||
|
These files exist in the correct location in the [StarLabsLtd/blobs](https://github.com/StarLabsLtd/blobs) repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
The following commands will build a working image, where the last two words represent the
|
||||||
|
series and processor i.e. `lite_glkr`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make distclean
|
||||||
|
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_starbook_adl
|
||||||
|
make
|
||||||
|
```
|
@ -41,27 +41,7 @@
|
|||||||
|
|
||||||
## Building coreboot
|
## Building coreboot
|
||||||
|
|
||||||
### Preliminaries
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_labtop_cml` as config file.
|
||||||
|
|
||||||
Prior to building coreboot the following files are required:
|
|
||||||
* Intel Flash Descriptor file (descriptor.bin)
|
|
||||||
* Intel Management Engine firmware (me.bin)
|
|
||||||
* ITE Embedded Controller firmware (ec.bin)
|
|
||||||
|
|
||||||
The files listed below are optional:
|
|
||||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
|
||||||
|
|
||||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
The following commands will build a working image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make distclean
|
|
||||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_labtop_cml
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
|
@ -38,26 +38,7 @@
|
|||||||
|
|
||||||
## Building coreboot
|
## Building coreboot
|
||||||
|
|
||||||
### Preliminaries
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_labtop_kbl` as config file.
|
||||||
|
|
||||||
Prior to building coreboot the following files are required:
|
|
||||||
* Intel Flash Descriptor file (descriptor.bin)
|
|
||||||
* Intel Management Engine firmware (me.bin)
|
|
||||||
|
|
||||||
The below are optional:
|
|
||||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
|
||||||
|
|
||||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
The following commands will build a working image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make distclean
|
|
||||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_labtop_kbl
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
|
@ -37,27 +37,7 @@
|
|||||||
|
|
||||||
## Building coreboot
|
## Building coreboot
|
||||||
|
|
||||||
### Preliminaries
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_lite_glk` as config file.
|
||||||
|
|
||||||
Prior to building coreboot the following files are required:
|
|
||||||
* Intel Flash Descriptor file (descriptor.bin)
|
|
||||||
* Intel Management Engine firmware (me.bin)
|
|
||||||
* ITE Embedded Controller firmware (ec.bin)
|
|
||||||
|
|
||||||
The files listed below are optional:
|
|
||||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
|
||||||
|
|
||||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
The following commands will build a working image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make distclean
|
|
||||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_lite_glk
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
|
@ -37,26 +37,7 @@
|
|||||||
|
|
||||||
## Building coreboot
|
## Building coreboot
|
||||||
|
|
||||||
### Preliminaries
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_lite_glkr` as config file.
|
||||||
|
|
||||||
Prior to building coreboot the following files are required:
|
|
||||||
* Intel Flash Descriptor file (descriptor.bin)
|
|
||||||
* IFWI Image (ifwi.rom)
|
|
||||||
|
|
||||||
The files listed below are optional:
|
|
||||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
|
||||||
|
|
||||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
The following commands will build a working image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make distclean
|
|
||||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_lite_glkr
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
|
88
Documentation/mainboard/starlabs/starbook_adl.md
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# StarBook Mk V
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU (full processor specs available at https://ark.intel.com)
|
||||||
|
- Intel i7-1260P (Alder Lake)
|
||||||
|
- Intel i3-1220P (Alder Lake)
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E
|
||||||
|
- Backlit keyboard, with standard PS/2 keycodes and SCI hotkeys
|
||||||
|
- Battery
|
||||||
|
- Charger, using AC adapter or USB-C PD
|
||||||
|
- Suspend / resume
|
||||||
|
- GPU
|
||||||
|
- Intel® Iris® Xe Graphics
|
||||||
|
- GOP driver is recommended, VBT is provided
|
||||||
|
- eDP 14-inch 1920x1080 LCD
|
||||||
|
- HDMI video
|
||||||
|
- USB-C DisplayPort video
|
||||||
|
- Memory
|
||||||
|
- 2 x DDR4 SODIMM
|
||||||
|
- Networking
|
||||||
|
- AX210 2230 WiFi / Bluetooth
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC269-VB6
|
||||||
|
- Internal speakers
|
||||||
|
- Internal microphone
|
||||||
|
- Combined headphone / microphone 3.5-mm jack
|
||||||
|
- HDMI audio
|
||||||
|
- USB-C DisplayPort audio
|
||||||
|
- Storage
|
||||||
|
- M.2 PCIe SSD
|
||||||
|
- RTS5129 MicroSD card reader
|
||||||
|
- USB
|
||||||
|
- 1920x1080 CCD camera
|
||||||
|
- USB 3.1 Gen 2 (left)
|
||||||
|
- USB 3.1 Gen 2 Type-A (left)
|
||||||
|
- USB 3.1 Gen 1 Type-A (right)
|
||||||
|
- USB 2.0 Type-A (right)
|
||||||
|
|
||||||
|
## Building coreboot
|
||||||
|
|
||||||
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_starbook_adl` as config file.
|
||||||
|
|
||||||
|
### Preliminaries
|
||||||
|
|
||||||
|
Prior to building coreboot the following files are required:
|
||||||
|
* Intel Flash Descriptor file (descriptor.bin)
|
||||||
|
* Intel Management Engine firmware (me.bin)
|
||||||
|
* ITE Embedded Controller firmware (ec.bin)
|
||||||
|
|
||||||
|
The files listed below are optional:
|
||||||
|
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
||||||
|
|
||||||
|
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
The following commands will build a working image:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make distclean
|
||||||
|
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_starbook_adl
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+============+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Vendor | Winbond |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Model | W25Q256.V |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Package | SOIC-8 |
|
||||||
|
+---------------------+------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+------------+
|
||||||
|
|
||||||
|
Please see [here](../common/flashing.md) for instructions on how to flash with fwupd.
|
@ -40,27 +40,7 @@
|
|||||||
|
|
||||||
## Building coreboot
|
## Building coreboot
|
||||||
|
|
||||||
### Preliminaries
|
Please follow the [Star Labs build instructions](../common/building.md) to build coreboot, using `config.starlabs_starbook_tgl` as config file.
|
||||||
|
|
||||||
Prior to building coreboot the following files are required:
|
|
||||||
* Intel Flash Descriptor file (descriptor.bin)
|
|
||||||
* Intel Management Engine firmware (me.bin)
|
|
||||||
* ITE Embedded Controller firmware (ec.bin)
|
|
||||||
|
|
||||||
The files listed below are optional:
|
|
||||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
|
||||||
|
|
||||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
The following commands will build a working image:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
make distclean
|
|
||||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_starbook_tgl
|
|
||||||
make
|
|
||||||
```
|
|
||||||
|
|
||||||
## Flashing coreboot
|
## Flashing coreboot
|
||||||
|
|
||||||
|
82
Documentation/mainboard/system76/darp8.md
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
# Syste76 Darter Pro 8 (darp8)
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU
|
||||||
|
- Intel Core i5-1240P
|
||||||
|
- Intel Core i7-1260P
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E running [System76 EC](https://github.com/system76/ec)
|
||||||
|
- Graphics
|
||||||
|
- Intel Iris Xe Graphics
|
||||||
|
- eDP 15.6" 1920x1080@60Hz LCD
|
||||||
|
- 1x HDMI
|
||||||
|
- 1x DisplayPort 1.4 over USB-C
|
||||||
|
- Memory
|
||||||
|
- Up to 64GB (2x32GB) dual-channel DDR4 SO-DIMMs @ 3200 MHz
|
||||||
|
- Networking
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- M.2 NVMe/CNVi WiFi/Bluetooth (Intel Wi-Fi 6 AX200/201)
|
||||||
|
- Power
|
||||||
|
- 90W (19V, 4.74A) AC barrel adapter (Chicony A16-090P1A)
|
||||||
|
- USB-C charging, compatible with 65W+ chargers
|
||||||
|
- 73Wh 4-cell Lithium-ion battery (L140BAT-4)
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC256 codec
|
||||||
|
- Internal speakers and microphone
|
||||||
|
- Combined 3.5mm headphone/microphone jack
|
||||||
|
- HDMI, USB-C DisplayPort audio
|
||||||
|
- Storage
|
||||||
|
- M.2 PCIe NVMe Gen 4 SSD
|
||||||
|
- M.2 PCIe NVMe Gen 3 or SATA 3 SSD
|
||||||
|
- MicroSD card reader (OZ711LV2)
|
||||||
|
- USB
|
||||||
|
- 1x USB-C Type-C with Thunderbolt 4
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-C
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-A
|
||||||
|
- 1x USB 2.0 Type-A
|
||||||
|
- Dimensions
|
||||||
|
- 35.7cm x 22.05cm x 1.99cm, 1.74kg
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | GigaDevice |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | GD25B256E |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | Winbond |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | W25Q256.V |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip (U19) is above the left DIMM slot.
|
61
Documentation/mainboard/system76/galp6.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# System76 Galago Pro 6 (galp6)
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU
|
||||||
|
- Intel Core i5-1240P
|
||||||
|
- Intel Core i7-1260P
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E running [System76 EC](https://github.com/system76/ec)
|
||||||
|
- Graphics
|
||||||
|
- Intel Iris Xe Graphics
|
||||||
|
- eDP 14.1" 1920x1080@60Hz LCD (Panda LM140LF2L02)
|
||||||
|
- 1x HDMI 2.1
|
||||||
|
- 1x DisplayPort 1.4 over USB-C
|
||||||
|
- Memory
|
||||||
|
- Up to 64GB (2x32GB) dual-channel DDR4 SO-DIMMs @ 3200 MHz
|
||||||
|
- Networking
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- M.2 NVMe/CNVi WiFi/Bluetooth (Intel Wi-Fi 6 AX200/201)
|
||||||
|
- Power
|
||||||
|
- 90W (19V, 4.74A) AC barrel adapter (Chicony A16-090P1A)
|
||||||
|
- USB-C charging, compatible with 90W+ chargers
|
||||||
|
- 53.35Wh 4-cell Lithium-ion battery (NV40BAT-4-53)
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC256 codec
|
||||||
|
- Internal speakers and microphone
|
||||||
|
- Combined 3.5mm headphone/microphone jack
|
||||||
|
- HDMI, USB-C DisplayPort audio
|
||||||
|
- Storage
|
||||||
|
- M.2 PCIe NVMe Gen 4 SSD
|
||||||
|
- MicroSD card reader (OZ711LV2)
|
||||||
|
- USB
|
||||||
|
- 1x USB-C Type-C with Thunderbolt 4
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-C
|
||||||
|
- 2x USB 3.2 (Gen 1) Type-A
|
||||||
|
- Dimensions
|
||||||
|
- 32.49cm x 22.5cm x 1.82cm, 1.45kg
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | Macronix |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | MX25L25673G |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip (U43) is left of the wireless card.
|
62
Documentation/mainboard/system76/lemp11.md
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# System76 Lemur Pro 11 (lemp11)
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU
|
||||||
|
- Intel Core i5-1235U
|
||||||
|
- Intel Core i7-1255U
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E running [System76 EC](https://github.com/system76/ec)
|
||||||
|
- Graphics
|
||||||
|
- Intel Iris Xe Graphics
|
||||||
|
- eDP 14.0" 1920x1080@60Hz LCD
|
||||||
|
- 1x HDMI 2.1
|
||||||
|
- 1x DisplayPort 1.4 over USB-C
|
||||||
|
- Memory
|
||||||
|
- Channel 0: 8-GB on-board DDR4 (Samsung K4AAG165WA-BCWE)
|
||||||
|
- Channel 1: 8-GB/16-GB/32-GB DDR4 SO-DIMM @ 3200 MHz
|
||||||
|
- Networking
|
||||||
|
- M.2 NVMe/CNVi WiFi/Bluetooth (Intel Wi-Fi 6 AX200/201)
|
||||||
|
- Power
|
||||||
|
- 65W (19V, 3.42A) AC barrel adapter (AcBel ADA012)
|
||||||
|
- USB-C charging, compatible with 65W+ chargers
|
||||||
|
- 73Wh 4-cell Lithium-ion battery (L140BAT-4)
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC256 codec
|
||||||
|
- Internal speakers and microphone
|
||||||
|
- Combined 3.5 mm headphone/microphone jack
|
||||||
|
- HDMI, USB-C DisplayPort audio
|
||||||
|
- Storage
|
||||||
|
- M.2 PCIe NVMe Gen 4 SSD
|
||||||
|
- M.2 PCIe NVMe Gen 3 or SATA 3 SSD
|
||||||
|
- MicroSD card reader (RTS5227S)
|
||||||
|
- USB
|
||||||
|
- 1x USB Type-C with Thunderbolt 4
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-A
|
||||||
|
- 1x USB 3.2 (Gen 1) Type-A
|
||||||
|
- Dimensions
|
||||||
|
- 1.65cm x 32.2cm x 21.68cm, 1.15kg
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | Macronix |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | MX25L25673G |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip (U41) is left of the DIMM slot.
|
69
Documentation/mainboard/system76/oryp10.md
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# System76 Oryx Pro 10 (oryp10)
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU
|
||||||
|
- Intel Core i7-12700H
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E running [System76 EC](https://github.com/system76/ec)
|
||||||
|
- Graphics
|
||||||
|
- dGPU options:
|
||||||
|
- NVIDIA GeForce RTX 3070 Ti (Max-Q)
|
||||||
|
- NVIDIA GeForce RTX 3080 Ti (Max-Q)
|
||||||
|
- eDP options:
|
||||||
|
- 15.6" 3840x2160@60Hz OLED (Samsung ATNA56WR14-0)
|
||||||
|
- 15.6" 1920x1080@144Hz LCD (BOE NV156FHM-NY5)
|
||||||
|
- 17.3" 1920x1080@144Hz LCD (BOE NV173FHM-NY1)
|
||||||
|
- 1x HDMI 2.1
|
||||||
|
- 1x Mini DisplayPort 1.4
|
||||||
|
- 1x DisplayPort 1.4 over USB-C
|
||||||
|
- Memory
|
||||||
|
- Up to 64GB (2x32GB) dual-channel DDR5 SO-DIMMs @ 4800 MHz
|
||||||
|
- Networking
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- M.2 NVMe/CNVi WiFi/Bluetooth (Intel Wi-Fi 6 AX200/201)
|
||||||
|
- Power
|
||||||
|
- 230W (20V, 11.5A) AC barrel adapter (Lite-On PA-1231-26)
|
||||||
|
- 80Wh 6-cell Lithium-ion battery
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC1220 codec
|
||||||
|
- Realtek ALC1306 smart amp
|
||||||
|
- Internal speakers and microphone
|
||||||
|
- Combined 3.5mm headphone & microphone jack
|
||||||
|
- Combined 3.5mm microphone & S/PDIF jack
|
||||||
|
- HDMI, mDP, USB-C DP audio
|
||||||
|
- Storage
|
||||||
|
- 2x M.2 PCIe NVMe Gen 4 SSD
|
||||||
|
- MicroSD card reader (RTS5227S)
|
||||||
|
- USB
|
||||||
|
- 1x USB Type-C with Thunderbolt 4
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-C
|
||||||
|
- 2x USB 3.2 (Gen 1) Type-A
|
||||||
|
- Dimensions
|
||||||
|
- 15": 35.814cm x 24.003cm x 2.489cm, 2.4kg
|
||||||
|
- 17": 39.599cm x 26.213cm x 2.489cm, 2.8kg
|
||||||
|
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | Macronix |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | MX25L25673G |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip (U61) is left of the DIMM slots.
|
67
Documentation/mainboard/system76/oryp9.md
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
# System76 Oryx Pro 9 (oryp9)
|
||||||
|
|
||||||
|
## Specs
|
||||||
|
|
||||||
|
- CPU
|
||||||
|
- Intel Core i7-12700H
|
||||||
|
- EC
|
||||||
|
- ITE IT5570E running [System76 EC](https://github.com/system76/ec)
|
||||||
|
- Graphics
|
||||||
|
- dGPU options:
|
||||||
|
- NVIDIA GeForce RTX 3070 Ti (Max-Q)
|
||||||
|
- NVIDIA GeForce RTX 3080 Ti (Max-Q)
|
||||||
|
- eDP options:
|
||||||
|
- 15.6" 1920x1080@144Hz LCD (BOE NV156FHM-NY5)
|
||||||
|
- 17.3" 1920x1080@144Hz LCD (BOE NV173FHM-NY1)
|
||||||
|
- 1x HDMI 2.1
|
||||||
|
- 1x Mini DisplayPort 1.4
|
||||||
|
- 1x DisplayPort 1.4 over USB-C
|
||||||
|
- Memory
|
||||||
|
- Up to 64GB (2x32GB) dual-channel DDR4 SO-DIMMs @ 3200 MHz
|
||||||
|
- Networking
|
||||||
|
- Gigabit Ethernet
|
||||||
|
- M.2 NVMe/CNVi WiFi/Bluetooth (Intel Wi-Fi 6 AX200/201)
|
||||||
|
- Power
|
||||||
|
- 230W (20V, 11.5A) AC barrel adapter (Lite-On PA-1231-26)
|
||||||
|
- 80Wh 6-cell Lithium-ion battery
|
||||||
|
- Sound
|
||||||
|
- Realtek ALC1220 codec
|
||||||
|
- TI TAS5825M smart amp
|
||||||
|
- Internal speakers and microphone
|
||||||
|
- Combined 3.5mm headphone & microphone jack
|
||||||
|
- Combined 3.5mm microphone & S/PDIF jack
|
||||||
|
- HDMI, mDP, USB-C DP audio
|
||||||
|
- Storage
|
||||||
|
- 2x M.2 PCIe NVMe Gen 4 SSD
|
||||||
|
- MicroSD card reader (RTS5227S)
|
||||||
|
- USB
|
||||||
|
- 1x USB Type-C with Thunderbolt 4
|
||||||
|
- 1x USB 3.2 (Gen 2) Type-C
|
||||||
|
- 2x USB 3.2 (Gen 1) Type-A
|
||||||
|
- Dimensions
|
||||||
|
- 15": 35.814cm x 24.003cm x 2.489cm, 1.99kg
|
||||||
|
- 17": 39.599cm x 26.213cm x 2.489cm, 2.3kg
|
||||||
|
|
||||||
|
## Flashing coreboot
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Type | Value |
|
||||||
|
+=====================+=====================+
|
||||||
|
| Socketed flash | no |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Vendor | Macronix |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Model | MX25L25673G |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Size | 32 MiB |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Package | WSON-8 |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| Internal flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
| External flashing | yes |
|
||||||
|
+---------------------+---------------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
The flash chip (U61) is left of the DIMM slots.
|
@ -23,13 +23,11 @@ When chainloaded from GRUB2, the following menuentry could be used:
|
|||||||
module /vgaroms/seavgabios.bin
|
module /vgaroms/seavgabios.bin
|
||||||
}
|
}
|
||||||
|
|
||||||
## Tianocore
|
## edk2
|
||||||
|
|
||||||
[Tianocore](https://www.tianocore.org) is the open source reference
|
[edk2](https://github.com/tianocore/tianocore.github.io/wiki/Getting-Started-with-EDK-II) is an open-source modern, feature-rich,
|
||||||
implementation of the UEFI Specifications that modern firmware for PCs is
|
cross-platform firmware development environment for the UEFI and UEFI
|
||||||
based on. There were various projects in the past to make it suitable as a
|
Platform Initialization (PI) specifications.
|
||||||
coreboot payload, but these days this function is available directly in the
|
|
||||||
UefiPayloadPkg part of its source tree.
|
|
||||||
|
|
||||||
## GRUB2
|
## GRUB2
|
||||||
|
|
||||||
|
@ -12,16 +12,94 @@ desired.
|
|||||||
|
|
||||||
Currently, [jenkins](https://qa.coreboot.org), our continuous
|
Currently, [jenkins](https://qa.coreboot.org), our continuous
|
||||||
integration system is configured to build the 4.11, 4.12, 4.14, 4.15,
|
integration system is configured to build the 4.11, 4.12, 4.14, 4.15,
|
||||||
and 4.16 branches. Builders for other branches can be created on
|
4.16, 4.18, and 4.19 branches. Builders for other branches can be
|
||||||
request. Likewise, some releases are only marked with tags, and
|
added upon request. Likewise, some releases are only marked with tags,
|
||||||
branches would need to be created to push new code to. These branches
|
and branches would need to be created to push new code. These branches
|
||||||
can also be created on request.
|
can also be created on request.
|
||||||
|
|
||||||
Patches can be backported from the master branch to any of these other
|
Patches can be backported from the master branch to any of these other
|
||||||
branches as needed. The coreboot project will take care of backporting
|
branches as needed. The coreboot project may take care of backporting
|
||||||
critical security fixes, but other patches will need to handled by
|
critical security fixes, but other patches will need to handled by
|
||||||
anyone using that release.
|
anyone using that release.
|
||||||
|
|
||||||
|
|
||||||
|
## [4.19 Release](coreboot-4.19-relnotes.md)
|
||||||
|
Branch created, builder configured
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|
+===============================+========================+============+===========+
|
||||||
|
| intel/icelake_rvp | INTEL_ICELAKE | 2018-10-26 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
## [4.18 Release](coreboot-4.18-relnotes.md)
|
||||||
|
Branch created, builder configured
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|
+===============================+========================+============+===========+
|
||||||
|
| amd/inagua | AMD_FAMILY14 | 2011-02-14 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/olivehill | AMD_FAMILY16_KB | 2013-08-05 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/parmer | AMD_FAMILY15_TN | 2012-07-22 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/persimmon | AMD_FAMILY14 | 2011-02-14 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/south_station | AMD_FAMILY14 | 2011-11-18 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/thatcher | AMD_FAMILY15_TN | 2012-08-02 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| amd/union_station | AMD_FAMILY14 | 2011-11-18 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| asrock/e350m1 | AMD_FAMILY14 | 2011-02-24 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| asrock/imb-a180 | AMD_FAMILY16_KB | 2013-08-27 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| asus/a88xm-e | AMD_FAMILY15_TN | 2020-08-13 | desktop |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| asus/am1i-a | AMD_FAMILY16_KB | 2018-01-14 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| asus/f2a85-m | AMD_FAMILY15_TN | 2013-03-22 | desktop |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| bap/ode_e20XX | AMD_FAMILY16_KB | 2015-05-27 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| biostar/a68n_5200 | AMD_FAMILY16_KB | 2017-10-14 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| biostar/am1ml | AMD_FAMILY16_KB | 2015-04-10 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| elmex/pcm205400 | AMD_FAMILY14 | 2016-09-29 | sbc |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| gizmosphere/gizmo2 | AMD_FAMILY16_KB | 2014-12-09 | eval |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| gizmosphere/gizmo | AMD_FAMILY14 | 2014-01-03 | half |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| hp/abm | AMD_FAMILY16_KB | 2015-01-05 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| hp/pavilion_m6_1035dx | AMD_FAMILY15_TN | 2014-03-28 | laptop |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| jetway/nf81-t56n-lf | AMD_FAMILY14 | 2014-02-16 | mini |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| lenovo/g505s | AMD_FAMILY15_TN | 2014-11-27 | laptop |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| lippert/frontrunner-af | AMD_FAMILY14 | 2013-03-02 | half |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| msi/ms7721 | AMD_FAMILY15_TN | 2016-11-22 | desktop |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
| pcengines/apu1 | AMD_FAMILY14 | 2015-02-23 | half |
|
||||||
|
+-------------------------------+------------------------+------------+-----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## [4.17 Release](coreboot-4.17-relnotes.md)
|
||||||
|
No Branch or builder
|
||||||
|
|
||||||
|
* No platforms maintained on this release
|
||||||
|
|
||||||
|
|
||||||
## [4.16 Release](coreboot-4.16-relnotes.md)
|
## [4.16 Release](coreboot-4.16-relnotes.md)
|
||||||
Branch created, builder configured
|
Branch created, builder configured
|
||||||
|
|
||||||
@ -42,249 +120,449 @@ Branch created, builder configured
|
|||||||
|
|
||||||
## [4.13 Release](coreboot-4.13-relnotes.md)
|
## [4.13 Release](coreboot-4.13-relnotes.md)
|
||||||
Tag only
|
Tag only
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| intel/cannonlake_rvp | INTEL_CANNONLAKE | 2017-07-19 | eval |
|
| intel/cannonlake_rvp | INTEL_CANNONLAKE | 2017-07-19 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
## [4.12 Release](coreboot-4.12-relnotes.md)
|
## [4.12 Release](coreboot-4.12-relnotes.md)
|
||||||
|
|
||||||
Branch created, builder configured
|
Branch created, builder configured
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| bap/ode_e21XX | AMD_PI_00730F01 | 2016-07-30 | eval |
|
| bap/ode_e21XX | AMD_PI_00730F01 | 2016-07-30 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/toucan-af | AMD_FAMILY14 | 2013-03-02 | half |
|
| lippert/toucan-af | AMD_FAMILY14 | 2013-03-02 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ocp/sonorapass | INTEL_COOPERLAKE_SP | 2020-05-01 | server |
|
| ocp/sonorapass | INTEL_COOPERLAKE_SP | 2020-05-01 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
## [4.11 Release](coreboot-4.11-relnotes.md)
|
## [4.11 Release](coreboot-4.11-relnotes.md)
|
||||||
|
|
||||||
Branch created, builder configured
|
Branch created, builder configured
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| adi/rcc-dff | INTEL_FSP_RANGELEY | 2016-06-08 | eval |
|
| adi/rcc-dff | INTEL_FSP_RANGELEY | 2016-06-08 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| advansus/a785e-i | AMD_AMDFAM10 | 2011-05-07 | mini |
|
| advansus/a785e-i | AMD_AMDFAM10 | 2011-05-07 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/bettong | AMD_PI_00660F01 | 2015-06-23 | eval |
|
| amd/bettong | AMD_PI_00660F01 | 2015-06-23 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/bimini_fam10 | AMD_AMDFAM10 | 2011-01-01 | eval |
|
| amd/bimini_fam10 | AMD_AMDFAM10 | 2011-01-01 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/db-ft3b-lc | AMD_PI_00730F01 | 2016-07-20 | eval |
|
| amd/db-ft3b-lc | AMD_PI_00730F01 | 2016-07-20 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/gardenia | AMD_STONEYRIDGE_FP4 | 2016-12-16 | eval |
|
| amd/gardenia | AMD_STONEYRIDGE_FP4 | 2016-12-16 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/lamar | AMD_PI_00630F01 | 2015-04-23 | eval |
|
| amd/lamar | AMD_PI_00630F01 | 2015-04-23 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/mahogany_fam10 | AMD_AMDFAM10 | 2010-03-16 | eval |
|
| amd/mahogany_fam10 | AMD_AMDFAM10 | 2010-03-16 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/olivehillplus | AMD_PI_00730F01 | 2014-09-04 | eval |
|
| amd/olivehillplus | AMD_PI_00730F01 | 2014-09-04 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/serengeti_cheetah_fam10 | AMD_AMDFAM10 | 2009-10-09 | server |
|
| amd/serengeti_cheetah_fam10 | AMD_AMDFAM10 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/tilapia_fam10 | AMD_AMDFAM10 | 2010-04-23 | eval |
|
| amd/tilapia_fam10 | AMD_AMDFAM10 | 2010-04-23 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/torpedo | AMD_FAMILY12 | 2011-06-28 | eval |
|
| amd/torpedo | AMD_FAMILY12 | 2011-06-28 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/kcma-d8 | AMD_AMDFAM10 | 2016-02-05 | server |
|
| asus/kcma-d8 | AMD_AMDFAM10 | 2016-02-05 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/kfsn4-dre | AMD_AMDFAM10 | 2015-01-28 | server |
|
| asus/kfsn4-dre | AMD_AMDFAM10 | 2015-01-28 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/kgpe-d16 | AMD_AMDFAM10 | 2015-10-28 | server |
|
| asus/kgpe-d16 | AMD_AMDFAM10 | 2015-10-28 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m4a785-m | AMD_AMDFAM10 | 2010-09-13 | desktop |
|
| asus/m4a785-m | AMD_AMDFAM10 | 2010-09-13 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m4a785t-m | AMD_AMDFAM10 | 2011-12-02 | desktop |
|
| asus/m4a785t-m | AMD_AMDFAM10 | 2011-12-02 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m4a78-em | AMD_AMDFAM10 | 2010-12-06 | desktop |
|
| asus/m4a78-em | AMD_AMDFAM10 | 2010-12-06 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m5a88-v | AMD_AMDFAM10 | 2011-10-28 | desktop |
|
| asus/m5a88-v | AMD_AMDFAM10 | 2011-10-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| avalue/eax-785e | AMD_AMDFAM10 | 2011-09-14 | desktop |
|
| avalue/eax-785e | AMD_AMDFAM10 | 2011-09-14 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| esd/atom15 | INTEL_FSP_BAYTRAIL | 2015-12-04 | sbc |
|
| esd/atom15 | INTEL_FSP_BAYTRAIL | 2015-12-04 | sbc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| facebook/watson | INTEL_FSP_BROADWELL_DE | 2018-06-26 | server |
|
| facebook/watson | INTEL_FSP_BROADWELL_DE | 2018-06-26 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ma785gm | AMD_AMDFAM10 | 2012-04-23 | desktop |
|
| gigabyte/ma785gm | AMD_AMDFAM10 | 2012-04-23 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ma785gmt | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
| gigabyte/ma785gmt | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ma78gm | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
| gigabyte/ma78gm | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/urara | IMGTEC_PISTACHIO | 2015-03-27 | eval |
|
| google/urara | IMGTEC_PISTACHIO | 2015-03-27 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| hp/dl165_g6_fam10 | AMD_AMDFAM10 | 2010-09-24 | server |
|
| hp/dl165_g6_fam10 | AMD_AMDFAM10 | 2010-09-24 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iei/kino-780am2-fam10 | AMD_AMDFAM10 | 2010-09-13 | half |
|
| iei/kino-780am2-fam10 | AMD_AMDFAM10 | 2010-09-13 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/bayleybay_fsp | INTEL_FSP_BAYTRAIL | 2014-05-30 | eval |
|
| intel/bayleybay_fsp | INTEL_FSP_BAYTRAIL | 2014-05-30 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/camelbackmountain_fsp | INTEL_FSP_BROADWELL_DE | 2016-04-15 | eval |
|
| intel/camelbackmountain_fsp | INTEL_FSP_BROADWELL_DE | 2016-04-15 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/littleplains | INTEL_FSP_RANGELEY | 2015-11-30 | eval |
|
| intel/littleplains | INTEL_FSP_RANGELEY | 2015-11-30 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/minnowmax | INTEL_FSP_BAYTRAIL | 2014-08-11 | sbc |
|
| intel/minnowmax | INTEL_FSP_BAYTRAIL | 2014-08-11 | sbc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/mohonpeak | INTEL_FSP_RANGELEY | 2014-07-30 | eval |
|
| intel/mohonpeak | INTEL_FSP_RANGELEY | 2014-07-30 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| jetway/pa78vm5 | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
| jetway/pa78vm5 | AMD_AMDFAM10 | 2010-08-17 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms9652_fam10 | AMD_AMDFAM10 | 2010-03-01 | desktop |
|
| msi/ms9652_fam10 | AMD_AMDFAM10 | 2010-03-01 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ocp/monolake | INTEL_FSP_BROADWELL_DE | 2018-05-05 | server |
|
| ocp/monolake | INTEL_FSP_BROADWELL_DE | 2018-05-05 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ocp/wedge100s | INTEL_FSP_BROADWELL_DE | 2018-05-05 | server |
|
| ocp/wedge100s | INTEL_FSP_BROADWELL_DE | 2018-05-05 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| opencellular/rotundu | INTEL_FSP_BAYTRAIL | 2018-06-26 | sbc |
|
| opencellular/rotundu | INTEL_FSP_BAYTRAIL | 2018-06-26 | sbc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| siemens/mc_bdx1 | INTEL_FSP_BROADWELL_DE | 2016-04-29 | misc |
|
| siemens/mc_bdx1 | INTEL_FSP_BROADWELL_DE | 2016-04-29 | misc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| siemens/mc_tcu3 | INTEL_FSP_BAYTRAIL | 2015-03-05 | misc |
|
| siemens/mc_tcu3 | INTEL_FSP_BAYTRAIL | 2015-03-05 | misc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| siemens/mc_tcu3 | INTEL_FSP_BAYTRAIL_MD | 2015-03-05 | misc |
|
| siemens/mc_tcu3 | INTEL_FSP_BAYTRAIL_MD | 2015-03-05 | misc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8dmr_fam10 | AMD_AMDFAM10 | 2009-10-09 | server |
|
| supermicro/h8dmr_fam10 | AMD_AMDFAM10 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8qme_fam10 | AMD_AMDFAM10 | 2010-02-03 | server |
|
| supermicro/h8qme_fam10 | AMD_AMDFAM10 | 2010-02-03 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8scm_fam10 | AMD_AMDFAM10 | 2011-03-28 | server |
|
| supermicro/h8scm_fam10 | AMD_AMDFAM10 | 2011-03-28 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2912_fam10 | AMD_AMDFAM10 | 2009-10-08 | server |
|
| tyan/s2912_fam10 | AMD_AMDFAM10 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/epia-m850 | VIA_NANO | 2013-06-10 | mini |
|
| via/epia-m850 | VIA_NANO | 2013-06-10 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/epia-m850 | VIA_VX900 | 2013-06-10 | mini |
|
| via/epia-m850 | VIA_VX900 | 2013-06-10 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.10 Release](coreboot-4.10-relnotes.md)
|
## [4.10 Release](coreboot-4.10-relnotes.md)
|
||||||
Branch created
|
Branch created
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| cubietech/cubieboard | ALLWINNER_A10 | 2014-01-08 | sbc |
|
| cubietech/cubieboard | ALLWINNER_A10 | 2014-01-08 | sbc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.9 Release](coreboot-4.9-relnotes.md)
|
## [4.9 Release](coreboot-4.9-relnotes.md)
|
||||||
Tag only
|
Tag only
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| pcengines/alix1c | AMD_GEODE_LX | 2009-10-08 | half |
|
| pcengines/alix1c | AMD_GEODE_LX | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| pcengines/alix1c | AMD_LX | 2009-10-08 | half |
|
| pcengines/alix1c | AMD_LX | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| pcengines/alix2d | AMD_GEODE_LX | 2010-08-31 | half |
|
| pcengines/alix2d | AMD_GEODE_LX | 2010-08-31 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| pcengines/alix2d | AMD_LX | 2010-08-31 | half |
|
| pcengines/alix2d | AMD_LX | 2010-08-31 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.8.1 Release](coreboot-4.8.1-relnotes.md)
|
## [4.8.1 Release](coreboot-4.8.1-relnotes.md)
|
||||||
Branch created
|
Branch created
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| aaeon/pfm-540i_revb | AMD_GEODE_LX | 2011-06-29 | half |
|
| aaeon/pfm-540i_revb | AMD_GEODE_LX | 2011-06-29 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/db800 | AMD_GEODE_LX | 2009-10-09 | eval |
|
| amd/db800 | AMD_GEODE_LX | 2009-10-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/dbm690t | AMD_AMDK8 | 2009-10-09 | eval |
|
| amd/dbm690t | AMD_AMDK8 | 2009-10-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/f2950 | AMD_GEODE_LX | 2016-07-17 | mini |
|
| amd/f2950 | AMD_GEODE_LX | 2016-07-17 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/mahogany | AMD_AMDK8 | 2010-03-16 | eval |
|
| amd/mahogany | AMD_AMDK8 | 2010-03-16 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/norwich | AMD_GEODE_LX | 2009-10-09 | eval |
|
| amd/norwich | AMD_GEODE_LX | 2009-10-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/pistachio | AMD_AMDK8 | 2009-10-09 | eval |
|
| amd/pistachio | AMD_AMDK8 | 2009-10-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/serengeti_cheetah | AMD_AMDK8 | 2009-08-12 | server |
|
| amd/serengeti_cheetah | AMD_AMDK8 | 2009-08-12 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| artecgroup/dbe61 | AMD_GEODE_LX | 2009-10-08 | settop |
|
| artecgroup/dbe61 | AMD_GEODE_LX | 2009-10-08 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asrock/939a785gmh | AMD_AMDK8 | 2010-04-05 | desktop |
|
| asrock/939a785gmh | AMD_AMDK8 | 2010-04-05 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/a8n_e | AMD_AMDK8 | 2009-10-09 | desktop |
|
| asus/a8n_e | AMD_AMDK8 | 2009-10-09 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/a8v-e_deluxe | AMD_AMDK8 | 2010-11-14 | desktop |
|
| asus/a8v-e_deluxe | AMD_AMDK8 | 2010-11-14 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/a8v-e_se | AMD_AMDK8 | 2009-10-09 | desktop |
|
| asus/a8v-e_se | AMD_AMDK8 | 2009-10-09 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/k8v-x | AMD_AMDK8 | 2011-12-02 | desktop |
|
| asus/k8v-x | AMD_AMDK8 | 2011-12-02 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/kfsn4-dre_k8 | AMD_AMDK8 | 2015-10-30 | server |
|
| asus/kfsn4-dre_k8 | AMD_AMDK8 | 2015-10-30 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m2n-e | AMD_AMDK8 | 2010-12-13 | desktop |
|
| asus/m2n-e | AMD_AMDK8 | 2010-12-13 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m2v | AMD_AMDK8 | 2010-11-07 | desktop |
|
| asus/m2v | AMD_AMDK8 | 2010-11-07 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/m2v-mx_se | AMD_AMDK8 | 2009-08-26 | desktop |
|
| asus/m2v-mx_se | AMD_AMDK8 | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| bachmann/ot200 | AMD_GEODE_LX | 2012-07-13 | settop |
|
| bachmann/ot200 | AMD_GEODE_LX | 2012-07-13 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| bcom/winnetp680 | VIA_C7 | 2009-10-07 | settop |
|
| bcom/winnetp680 | VIA_C7 | 2009-10-07 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| broadcom/blast | AMD_AMDK8 | 2009-10-09 | eval |
|
| broadcom/blast | AMD_AMDK8 | 2009-10-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| digitallogic/msm800sev | AMD_GEODE_LX | 2009-10-09 | half |
|
| digitallogic/msm800sev | AMD_GEODE_LX | 2009-10-09 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ga_2761gxdk | AMD_AMDK8 | 2009-10-07 | desktop |
|
| gigabyte/ga_2761gxdk | AMD_AMDK8 | 2009-10-07 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/m57sli | AMD_AMDK8 | 2009-10-03 | desktop |
|
| gigabyte/m57sli | AMD_AMDK8 | 2009-10-03 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/purin | BROADCOM_CYGNUS | 2015-04-17 | eval |
|
| google/purin | BROADCOM_CYGNUS | 2015-04-17 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/rotor | MARVELL_MVMAP2315 | 2016-09-13 | laptop |
|
| google/rotor | MARVELL_MVMAP2315 | 2016-09-13 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/zoombini | INTEL_CANNONLAKE | 2017-09-28 | laptop |
|
| google/zoombini | INTEL_CANNONLAKE | 2017-09-28 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| hp/dl145_g1 | AMD_AMDK8 | 2010-08-20 | server |
|
| hp/dl145_g1 | AMD_AMDK8 | 2010-08-20 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| hp/dl145_g3 | AMD_AMDK8 | 2009-10-09 | server |
|
| hp/dl145_g3 | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iei/pcisa-lx-800-r10 | AMD_GEODE_LX | 2009-10-08 | half |
|
| iei/pcisa-lx-800-r10 | AMD_GEODE_LX | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iei/pm-lx2-800-r10 | AMD_GEODE_LX | 2012-10-28 | half |
|
| iei/pm-lx2-800-r10 | AMD_GEODE_LX | 2012-10-28 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iei/pm-lx-800-r11 | AMD_GEODE_LX | 2012-07-06 | half |
|
| iei/pm-lx-800-r11 | AMD_GEODE_LX | 2012-07-06 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/cougar_canyon2 | INTEL_FSP_IVYBRIDGE | 2013-12-04 | eval |
|
| intel/cougar_canyon2 | INTEL_FSP_IVYBRIDGE | 2013-12-04 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/stargo2 | INTEL_FSP_IVYBRIDGE | 2015-11-10 | eval |
|
| intel/stargo2 | INTEL_FSP_IVYBRIDGE | 2015-11-10 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iwill/dk8_htx | AMD_AMDK8 | 2009-10-09 | server |
|
| iwill/dk8_htx | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| jetway/j7f2 | VIA_C7 | 2014-01-19 | mini |
|
| jetway/j7f2 | VIA_C7 | 2014-01-19 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| kontron/kt690 | AMD_AMDK8 | 2009-10-15 | mini |
|
| kontron/kt690 | AMD_AMDK8 | 2009-10-15 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/hurricane-lx | AMD_GEODE_LX | 2010-09-10 | half |
|
| lippert/hurricane-lx | AMD_GEODE_LX | 2010-09-10 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/literunner-lx | AMD_GEODE_LX | 2010-09-07 | half |
|
| lippert/literunner-lx | AMD_GEODE_LX | 2010-09-07 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/roadrunner-lx | AMD_GEODE_LX | 2009-10-08 | half |
|
| lippert/roadrunner-lx | AMD_GEODE_LX | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/spacerunner-lx | AMD_GEODE_LX | 2009-10-08 | half |
|
| lippert/spacerunner-lx | AMD_GEODE_LX | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lowrisc/nexys4ddr | LOWRISC_LOWRISC | 2016-10-28 | eval |
|
| lowrisc/nexys4ddr | LOWRISC_LOWRISC | 2016-10-28 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms7135 | AMD_AMDK8 | 2009-10-07 | desktop |
|
| msi/ms7135 | AMD_AMDK8 | 2009-10-07 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms7260 | AMD_AMDK8 | 2009-10-07 | desktop |
|
| msi/ms7260 | AMD_AMDK8 | 2009-10-07 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms9185 | AMD_AMDK8 | 2009-10-07 | server |
|
| msi/ms9185 | AMD_AMDK8 | 2009-10-07 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms9282 | AMD_AMDK8 | 2009-10-07 | server |
|
| msi/ms9282 | AMD_AMDK8 | 2009-10-07 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| nvidia/l1_2pvv | AMD_AMDK8 | 2009-10-07 | eval |
|
| nvidia/l1_2pvv | AMD_AMDK8 | 2009-10-07 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| siemens/sitemp_g1p1 | AMD_AMDK8 | 2011-05-11 | half |
|
| siemens/sitemp_g1p1 | AMD_AMDK8 | 2011-05-11 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| sunw/ultra40 | AMD_AMDK8 | 2009-09-25 | desktop |
|
| sunw/ultra40 | AMD_AMDK8 | 2009-09-25 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| sunw/ultra40m2 | AMD_AMDK8 | 2015-11-10 | desktop |
|
| sunw/ultra40m2 | AMD_AMDK8 | 2015-11-10 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8dme | AMD_AMDK8 | 2009-09-25 | server |
|
| supermicro/h8dme | AMD_AMDK8 | 2009-09-25 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8dmr | AMD_AMDK8 | 2009-10-09 | server |
|
| supermicro/h8dmr | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| technexion/tim5690 | AMD_AMDK8 | 2009-10-13 | half |
|
| technexion/tim5690 | AMD_AMDK8 | 2009-10-13 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| technexion/tim8690 | AMD_AMDK8 | 2009-10-08 | half |
|
| technexion/tim8690 | AMD_AMDK8 | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| traverse/geos | AMD_GEODE_LX | 2010-05-20 | half |
|
| traverse/geos | AMD_GEODE_LX | 2010-05-20 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2912 | AMD_AMDK8 | 2009-10-08 | server |
|
| tyan/s2912 | AMD_AMDK8 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/epia-cn | VIA_C7 | 2009-09-25 | mini |
|
| via/epia-cn | VIA_C7 | 2009-09-25 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/epia-m700 | VIA_C7 | 2009-09-25 | mini |
|
| via/epia-m700 | VIA_C7 | 2009-09-25 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/pc2500e | VIA_C7 | 2009-09-25 | mini |
|
| via/pc2500e | VIA_C7 | 2009-09-25 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| via/vt8454c | VIA_C7 | 2009-08-20 | eval |
|
| via/vt8454c | VIA_C7 | 2009-08-20 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| winent/mb6047 | AMD_AMDK8 | 2013-10-19 | half |
|
| winent/mb6047 | AMD_AMDK8 | 2013-10-19 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| winent/pl6064 | AMD_GEODE_LX | 2010-02-24 | desktop |
|
| winent/pl6064 | AMD_GEODE_LX | 2010-02-24 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| winnet/g170 | VIA_C7 | 2017-08-28 | mini |
|
| winnet/g170 | VIA_C7 | 2017-08-28 | mini |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.7 Release](coreboot-4.7-relnotes.md)
|
## [4.7 Release](coreboot-4.7-relnotes.md)
|
||||||
Tag only
|
Tag only
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| abit/be6-ii_v2_0 | INTEL_I440BX | 2009-08-26 | desktop |
|
| abit/be6-ii_v2_0 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/dinar | AMD_FAMILY15 | 2012-02-17 | eval |
|
| amd/dinar | AMD_FAMILY15 | 2012-02-17 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| amd/rumba | AMD_GEODE_GX2 | 2009-08-29 | half |
|
| amd/rumba | AMD_GEODE_GX2 | 2009-08-29 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/dsbf | INTEL_I5000 | 2012-07-14 | server |
|
| asus/dsbf | INTEL_I5000 | 2012-07-14 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/mew-am | INTEL_I82810 | 2009-08-28 | desktop |
|
| asus/mew-am | INTEL_I82810 | 2009-08-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| asus/mew-vm | INTEL_I82810 | 2009-08-28 | desktop |
|
| asus/mew-vm | INTEL_I82810 | 2009-08-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| a-trend/atc-6220 | INTEL_I440BX | 2009-08-26 | desktop |
|
| a-trend/atc-6220 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| a-trend/atc-6240 | INTEL_I440BX | 2009-08-26 | desktop |
|
| a-trend/atc-6240 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| azza/pt-6ibd | INTEL_I440BX | 2009-08-26 | desktop |
|
| azza/pt-6ibd | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| biostar/m6tba | INTEL_I440BX | 2009-08-26 | desktop |
|
| biostar/m6tba | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| compaq/deskpro_en_sff_p600 | INTEL_I440BX | 2009-08-26 | desktop |
|
| compaq/deskpro_en_sff_p600 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| dmp/vortex86ex | DMP_VORTEX86EX | 2013-07-05 | sbc |
|
| dmp/vortex86ex | DMP_VORTEX86EX | 2013-07-05 | sbc |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ecs/p6iwp-fe | INTEL_I82810 | 2010-06-09 | desktop |
|
| ecs/p6iwp-fe | INTEL_I82810 | 2010-06-09 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ga-6bxc | INTEL_I440BX | 2009-08-26 | desktop |
|
| gigabyte/ga-6bxc | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| gigabyte/ga-6bxe | INTEL_I440BX | 2010-05-14 | desktop |
|
| gigabyte/ga-6bxe | INTEL_I440BX | 2010-05-14 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| hp/e_vectra_p2706t | INTEL_I82810 | 2009-10-20 | desktop |
|
| hp/e_vectra_p2706t | INTEL_I82810 | 2009-10-20 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/d810e2cb | INTEL_I82810 | 2010-06-21 | desktop |
|
| intel/d810e2cb | INTEL_I82810 | 2010-06-21 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/eagleheights | INTEL_I3100 | 2009-09-25 | eval |
|
| intel/eagleheights | INTEL_I3100 | 2009-09-25 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/mtarvon | INTEL_I3100 | 2009-09-25 | eval |
|
| intel/mtarvon | INTEL_I3100 | 2009-09-25 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/truxton | INTEL_I3100 | 2009-09-25 | eval |
|
| intel/truxton | INTEL_I3100 | 2009-09-25 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iwave/iWRainbowG6 | INTEL_SCH | 2010-12-18 | half |
|
| iwave/iWRainbowG6 | INTEL_SCH | 2010-12-18 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lanner/em8510 | INTEL_I855 | 2010-08-30 | desktop |
|
| lanner/em8510 | INTEL_I855 | 2010-08-30 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| lippert/frontrunner | AMD_GEODE_GX2 | 2009-10-08 | half |
|
| lippert/frontrunner | AMD_GEODE_GX2 | 2009-10-08 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| mitac/6513wu | INTEL_I82810 | 2009-08-28 | desktop |
|
| mitac/6513wu | INTEL_I82810 | 2009-08-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms6119 | INTEL_I440BX | 2009-08-26 | desktop |
|
| msi/ms6119 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms6147 | INTEL_I440BX | 2009-08-26 | desktop |
|
| msi/ms6147 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms6156 | INTEL_I440BX | 2009-10-13 | desktop |
|
| msi/ms6156 | INTEL_I440BX | 2009-10-13 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| msi/ms6178 | INTEL_I82810 | 2009-08-28 | desktop |
|
| msi/ms6178 | INTEL_I82810 | 2009-08-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| nec/powermate2000 | INTEL_I82810 | 2009-08-28 | desktop |
|
| nec/powermate2000 | INTEL_I82810 | 2009-08-28 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| nokia/ip530 | INTEL_I440BX | 2010-04-19 | server |
|
| nokia/ip530 | INTEL_I440BX | 2010-04-19 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| rca/rm4100 | INTEL_I82830 | 2009-10-07 | settop |
|
| rca/rm4100 | INTEL_I82830 | 2009-10-07 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| soyo/sy-6ba-plus-iii | INTEL_I440BX | 2009-08-26 | desktop |
|
| soyo/sy-6ba-plus-iii | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8qgi | AMD_FAMILY15 | 2011-07-22 | server |
|
| supermicro/h8qgi | AMD_FAMILY15 | 2011-07-22 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/h8scm | AMD_FAMILY15 | 2012-11-30 | server |
|
| supermicro/h8scm | AMD_FAMILY15 | 2012-11-30 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| supermicro/x7db8 | INTEL_I5000 | 2012-06-23 | server |
|
| supermicro/x7db8 | INTEL_I5000 | 2012-06-23 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| thomson/ip1000 | INTEL_I82830 | 2009-10-08 | settop |
|
| thomson/ip1000 | INTEL_I82830 | 2009-10-08 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s1846 | INTEL_I440BX | 2009-08-26 | desktop |
|
| tyan/s1846 | INTEL_I440BX | 2009-08-26 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s8226 | AMD_FAMILY15 | 2012-10-04 | server |
|
| tyan/s8226 | AMD_FAMILY15 | 2012-10-04 | server |
|
||||||
| wyse/s50 | AMD_GEODE_GX2 | 2010-05-08 | settop |
|
| wyse/s50 | AMD_GEODE_GX2 | 2010-05-08 | settop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.6](coreboot-4.6-relnotes.md)
|
## [4.6](coreboot-4.6-relnotes.md)
|
||||||
Tag only
|
Tag only
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| bifferos/bifferboard | RDC_R8610 | 2012-03-27 | half |
|
| bifferos/bifferboard | RDC_R8610 | 2012-03-27 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/cosmos | MARVELL_BG4CD | 2015-04-09 | eval |
|
| google/cosmos | MARVELL_BG4CD | 2015-04-09 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/bakersport_fsp | INTEL_FSP_BAYTRAIL | 2014-08-11 | eval |
|
| intel/bakersport_fsp | INTEL_FSP_BAYTRAIL | 2014-08-11 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.5](coreboot-4.5-relnotes.md)
|
## [4.5](coreboot-4.5-relnotes.md)
|
||||||
Tag only
|
Tag only
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| google/enguarde | INTEL_BAYTRAIL | 2016-09-21 | laptop |
|
| google/enguarde | INTEL_BAYTRAIL | 2016-09-21 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/falco | INTEL_HASWELL | 2013-11-25 | laptop |
|
| google/falco | INTEL_HASWELL | 2013-11-25 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/guado | INTEL_BROADWELL | 2016-01-12 | half |
|
| google/guado | INTEL_BROADWELL | 2016-01-12 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/ninja | INTEL_BAYTRAIL | 2016-05-31 | half |
|
| google/ninja | INTEL_BAYTRAIL | 2016-05-31 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/panther | INTEL_HASWELL | 2014-07-12 | half |
|
| google/panther | INTEL_HASWELL | 2014-07-12 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/peppy | INTEL_HASWELL | 2013-11-25 | laptop |
|
| google/peppy | INTEL_HASWELL | 2013-11-25 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/rikku | INTEL_BROADWELL | 2016-06-16 | half |
|
| google/rikku | INTEL_BROADWELL | 2016-06-16 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/samus | INTEL_BROADWELL | 2014-08-29 | laptop |
|
| google/samus | INTEL_BROADWELL | 2014-08-29 | laptop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/tidus | INTEL_BROADWELL | 2016-01-21 | half |
|
| google/tidus | INTEL_BROADWELL | 2016-01-21 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.4](coreboot-4.4-relnotes.md)
|
## [4.4](coreboot-4.4-relnotes.md)
|
||||||
Branch created
|
Branch created
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| google/bolt | INTEL_HASWELL | 2013-12-12 | eval |
|
| google/bolt | INTEL_HASWELL | 2013-12-12 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/rush | NVIDIA_TEGRA132 | 2015-01-26 | eval |
|
| google/rush | NVIDIA_TEGRA132 | 2015-01-26 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/rush_ryu | NVIDIA_TEGRA132 | 2015-03-05 | eval |
|
| google/rush_ryu | NVIDIA_TEGRA132 | 2015-03-05 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| google/slippy | INTEL_HASWELL | 2013-11-24 | eval |
|
| google/slippy | INTEL_HASWELL | 2013-11-24 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/amenia | INTEL_APOLLOLAKE | 2016-04-20 | eval |
|
| intel/amenia | INTEL_APOLLOLAKE | 2016-04-20 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.3](coreboot-4.3-relnotes.md)
|
## [4.3](coreboot-4.3-relnotes.md)
|
||||||
@ -296,28 +574,51 @@ Branch created
|
|||||||
## [4.2](coreboot-4.2-relnotes.md)
|
## [4.2](coreboot-4.2-relnotes.md)
|
||||||
Branch created
|
Branch created
|
||||||
|
|
||||||
|
```eval_rst
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| Vendor/Board | Processor | Date added | Brd type |
|
| Vendor/Board | Processor | Date added | Brd type |
|
||||||
|-----------------------------|------------------------|------------|----------|
|
+=============================+========================+============+==========+
|
||||||
| arima/hdama | AMD_AMDK8 | 2009-10-09 | server |
|
| arima/hdama | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| digitallogic/adl855pc | INTEL_I855 | 2009-10-09 | half |
|
| digitallogic/adl855pc | INTEL_I855 | 2009-10-09 | half |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ibm/e325 | AMD_AMDK8 | 2009-10-09 | server |
|
| ibm/e325 | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| ibm/e326 | AMD_AMDK8 | 2009-10-09 | server |
|
| ibm/e326 | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| intel/sklrvp | INTEL_SKYLAKE | 2015-07-17 | eval |
|
| intel/sklrvp | INTEL_SKYLAKE | 2015-07-17 | eval |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iwill/dk8s2 | AMD_AMDK8 | 2009-10-09 | server |
|
| iwill/dk8s2 | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| iwill/dk8x | AMD_AMDK8 | 2009-10-09 | server |
|
| iwill/dk8x | AMD_AMDK8 | 2009-10-09 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| newisys/khepri | AMD_AMDK8 | 2009-10-07 | server |
|
| newisys/khepri | AMD_AMDK8 | 2009-10-07 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2735 | INTEL_E7501 | 2009-10-08 | server |
|
| tyan/s2735 | INTEL_E7501 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2850 | AMD_AMDK8 | 2009-09-25 | server |
|
| tyan/s2850 | AMD_AMDK8 | 2009-09-25 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2875 | AMD_AMDK8 | 2009-09-25 | desktop |
|
| tyan/s2875 | AMD_AMDK8 | 2009-09-25 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2880 | AMD_AMDK8 | 2009-10-08 | server |
|
| tyan/s2880 | AMD_AMDK8 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2881 | AMD_AMDK8 | 2009-09-23 | server |
|
| tyan/s2881 | AMD_AMDK8 | 2009-09-23 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2882 | AMD_AMDK8 | 2009-10-08 | server |
|
| tyan/s2882 | AMD_AMDK8 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2885 | AMD_AMDK8 | 2009-10-08 | desktop |
|
| tyan/s2885 | AMD_AMDK8 | 2009-10-08 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2891 | AMD_AMDK8 | 2009-09-22 | server |
|
| tyan/s2891 | AMD_AMDK8 | 2009-09-22 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2892 | AMD_AMDK8 | 2009-09-22 | server |
|
| tyan/s2892 | AMD_AMDK8 | 2009-09-22 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s2895 | AMD_AMDK8 | 2009-09-22 | desktop |
|
| tyan/s2895 | AMD_AMDK8 | 2009-09-22 | desktop |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s4880 | AMD_AMDK8 | 2009-10-08 | server |
|
| tyan/s4880 | AMD_AMDK8 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
| tyan/s4882 | AMD_AMDK8 | 2009-10-08 | server |
|
| tyan/s4882 | AMD_AMDK8 | 2009-10-08 | server |
|
||||||
|
+-----------------------------+------------------------+------------+----------+
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## [4.1](coreboot-4.1-relnotes.md)
|
## [4.1](coreboot-4.1-relnotes.md)
|
||||||
|
@ -4,56 +4,73 @@
|
|||||||
|
|
||||||
# coreboot Release Process
|
# coreboot Release Process
|
||||||
|
|
||||||
This document describes our release process and all prerequisites to implement
|
This document describes our release process and all prerequisites to
|
||||||
it successfully.
|
implement it successfully.
|
||||||
|
|
||||||
|
|
||||||
## Purpose of coreboot releases
|
## Purpose of coreboot releases
|
||||||
Our releases aren't primarily a vehicle for code that is stable across all
|
Our releases aren't primarily a vehicle for code that is stable across
|
||||||
boards: The logistics of testing the more than 100 boards that are spread out
|
all boards: The logistics of testing the more than 100 boards that are
|
||||||
all continents (except Antarctica, probably) on a given tree state are
|
spread out all continents (except Antarctica, probably) on a given tree
|
||||||
prohibitive for project of our size.
|
state are prohibitive for project of our size.
|
||||||
|
|
||||||
Instead, the releases are regular breakpoints that serve multiple purposes:
|
Instead, the releases are regular breakpoints that serve multiple
|
||||||
They support cooperation between multiple groups (corporations or otherwise)
|
purposes: They support cooperation between multiple groups (corporations
|
||||||
in that it's easier to keep source trees synchronized based on a limited set
|
or otherwise) in that it's easier to keep source trees synchronized
|
||||||
of commits. They allow a quick assessment of the age of any given build or
|
based on a limited set of commits. They allow a quick assessment of the
|
||||||
source tree based on its git version (4.8-1234 was merged into master a few
|
age of any given build or source tree based on its git version (4.8-1234
|
||||||
months after 4.8, which came out in April 2018. 4.0-21718's age is harder to
|
was merged into master a few months after 4.8, which came out in April
|
||||||
guess).
|
of 2018. 4.0-21718's age is harder to guess).
|
||||||
|
|
||||||
And finally we use releases to as points in time where we remove old code:
|
And finally we use releases to as points in time where we remove old
|
||||||
Once we decide that a certain part of coreboot gets in the way of future
|
code: Once we decide that a certain part of coreboot gets in the way of
|
||||||
development, we announce on the next release that we intend to remove that
|
future development, we announce on the next release that we intend to
|
||||||
part - and everything that depends on it - after the following release.
|
remove that part - and everything that depends on it - after the
|
||||||
So removing feature FOO will be announced in release X for release
|
following release. So removing feature FOO will be announced in release
|
||||||
X+1. The first commit after X+1 is fair game for such removal.
|
X for release X+1. The first commit after X+1 is fair game for such
|
||||||
|
removal.
|
||||||
|
|
||||||
Together with our 6 months release horizon, this provides time to plan
|
Together with our 3 months release horizon, this provides time to plan
|
||||||
any migrations necessary to keep older boards in the tree by bringing
|
any migrations necessary to keep older boards in the tree by bringing
|
||||||
them up to current standards.
|
them up to current standards.
|
||||||
|
|
||||||
|
## coreboot release team
|
||||||
|
To avoid issues of blocking the release on a single person, a release
|
||||||
|
team has been formed. Please see the `COREBOOT RELEASES` section of the
|
||||||
|
MAINTAINERS file for the current members.
|
||||||
|
|
||||||
|
These individuals work together to make sure releases are done on time,
|
||||||
|
follow the steps of this document, and update the release processes and
|
||||||
|
scripts.
|
||||||
|
|
||||||
|
|
||||||
## Needed credentials & authorizations
|
## Needed credentials & authorizations
|
||||||
|
|
||||||
|
### coreboot admins only
|
||||||
* Website access is required to post the release files to the website.
|
* Website access is required to post the release files to the website.
|
||||||
* IRC admin access is required to update the topic.
|
|
||||||
|
### All release team members
|
||||||
|
* IRC topic access is required to update the topic.
|
||||||
* Git access rights are needed to post the tag.
|
* Git access rights are needed to post the tag.
|
||||||
* Blog post access is needed to do the blog post.
|
* Blog post access is needed to do the blog post.
|
||||||
* A PGP key is required to sign the release tarballs and git tag.
|
* A PGP key is required to sign the release tarballs and git tag.
|
||||||
|
|
||||||
This set of required credentials implies that releases can only be done
|
Most of the steps in the release process can be done by anyone on the
|
||||||
by a coreboot admin.
|
release team. Only adding the files to the website needs to be done
|
||||||
|
by a coreboot administrator.
|
||||||
|
|
||||||
## When to release
|
## When to release
|
||||||
Releases are done roughly on a 6-month schedule, ideally around end
|
Releases are done roughly on a 3-month schedule. If a release is
|
||||||
of April and end of October (can be a bit earlier or delay into May
|
delayed, the next release will still be 3 months after the last release.
|
||||||
or November).
|
|
||||||
|
|
||||||
We initially followed a 3 month release schedule, but we found that to
|
|
||||||
be more frequent than was needed, so we scaled it back to twice a year.
|
|
||||||
|
|
||||||
## Checklist
|
## Checklist
|
||||||
|
|
||||||
### ~2 weeks prior to release
|
### ~2 weeks prior to release
|
||||||
- [ ] Announce upcoming release to mailing list, ask people to test and
|
- [ ] Announce upcoming release to mailing list, ask people to test and
|
||||||
to update release notes.
|
to update release notes.
|
||||||
|
- [ ] Start marking patches that should to go into the release with a
|
||||||
|
tag "coreboot_release_X.yy"
|
||||||
|
|
||||||
### ~1 week prior to release
|
### ~1 week prior to release
|
||||||
- [ ] Send reminder email to mailing list, ask for people to test,
|
- [ ] Send reminder email to mailing list, ask for people to test,
|
||||||
@ -66,28 +83,53 @@ be more frequent than was needed, so we scaled it back to twice a year.
|
|||||||
- [ ] Finalize release notes as much as possible
|
- [ ] Finalize release notes as much as possible
|
||||||
- [ ] Prepare release notes template for following release
|
- [ ] Prepare release notes template for following release
|
||||||
- [ ] Update `Documentation/releases/index.md`
|
- [ ] Update `Documentation/releases/index.md`
|
||||||
|
- [ ] Check which branches need to be released. Any branch with changes
|
||||||
|
should get a new release. Announce these branch releases and
|
||||||
|
prepare release notes.
|
||||||
|
|
||||||
|
### Day before release
|
||||||
|
- [ ] Make sure patches with tags for the release are merged.
|
||||||
|
- [ ] Announce to IRC that the release will be tomorrow and ask for
|
||||||
|
testing.
|
||||||
- [ ] Run `util/vboot_list/vboot_list.sh` script to update the list of
|
- [ ] Run `util/vboot_list/vboot_list.sh` script to update the list of
|
||||||
boards supported by vboot.
|
boards supported by vboot.
|
||||||
|
|
||||||
### Day of release
|
### Day of release
|
||||||
- [ ] Select a commit ID to base the release upon, announce to IRC,
|
- [ ] Review the full documentation about doing the release below.
|
||||||
ask for testing.
|
- [ ] Select a commit ID to base the release upon.
|
||||||
- [ ] Test the commit selected for release.
|
- [ ] Test the commit selected for release.
|
||||||
- [ ] Submit release notes
|
- [ ] Submit last pre-release release notes.
|
||||||
- [ ] Create new release notes doc template for the next version.
|
- [ ] Run the release script.
|
||||||
- [ ] Fill in the release date, remove "Upcoming release" and other filler
|
|
||||||
from the current release notes.
|
|
||||||
- [ ] Run release script.
|
|
||||||
- [ ] Test the release from the actual release tarballs.
|
- [ ] Test the release from the actual release tarballs.
|
||||||
- [ ] Push signed Tag to repo.
|
- [ ] Push signed Tag to repo. *This is the actual release step.*
|
||||||
|
Once this patch is pushed, the release itself has been done.
|
||||||
|
everything after this step is packaging and delivering the
|
||||||
|
release.
|
||||||
|
|
||||||
- [ ] Announce that the release tag is done on IRC.
|
- [ ] Announce that the release tag is done on IRC.
|
||||||
- [ ] Upload release files to web server.
|
|
||||||
- [ ] Also extract the release notes and place them on the web server.
|
|
||||||
- [ ] Upload crossgcc sources to web server.
|
|
||||||
- [ ] Update download page to point to files, push to repo.
|
|
||||||
- [ ] 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.
|
||||||
- [ ] Announce the release to the mailing list.
|
|
||||||
|
- [ ] Do the final release notes - Fill in the release date, remove
|
||||||
|
"Upcoming release" and other filler from the current release
|
||||||
|
notes.
|
||||||
|
- [ ] ADMIN: Upload release files to web server.
|
||||||
|
- [ ] ADMIN: Upload the final release notes to the web server.
|
||||||
|
- [ ] ADMIN: Upload crossgcc sources to web server.
|
||||||
|
- [ ] Create coreboot-sdk and coreboot-jenkins-node docker images
|
||||||
|
based on the release ID and push them to dockerhub. These
|
||||||
|
can be used as release builders.
|
||||||
|
|
||||||
|
### Week following the release
|
||||||
|
- [ ] Update download page to point to files, push to repo.
|
||||||
|
- [ ] Write and publish blog post with release final notes. Branch
|
||||||
|
releases notes should be included in the same post.
|
||||||
|
- [ ] Remove code that was announced it was going to be removed.
|
||||||
|
- [ ] Update `Documentation/releases/boards_supported_on_branches.md`
|
||||||
|
|
||||||
|
### Creating a branch
|
||||||
|
- [ ] Branches are named 4.xx_branch to differentiate from the tags.
|
||||||
|
Instructions on creating branches are listed below.
|
||||||
|
|
||||||
|
|
||||||
## Pre-Release tasks
|
## Pre-Release tasks
|
||||||
Announce the upcoming release to the mailing list release 2 weeks ahead
|
Announce the upcoming release to the mailing list release 2 weeks ahead
|
||||||
@ -102,29 +144,30 @@ People should be encouraged to provide additions to the release notes.
|
|||||||
|
|
||||||
The final release notes will reside in coreboot's Documentation/releases
|
The final release notes will reside in coreboot's Documentation/releases
|
||||||
directory, so asking for additions to that through the regular Gerrit
|
directory, so asking for additions to that through the regular Gerrit
|
||||||
process works as well. Note that git requires lots of conflict resolution
|
process works as well. Note that git requires lots of conflict
|
||||||
on heavily edited text files though.
|
resolution on heavily edited text files though.
|
||||||
|
|
||||||
Frequently, we will want to wait until particular things are in the
|
Frequently, we will want to wait until particular things are in the
|
||||||
release. Once those are in, you can select the commit ID that you want
|
release. Once those are in, you can select the commit ID that you want
|
||||||
to use for your release. For the 4.6 release, we waited until we had
|
to use for your release. For the 4.6 release, we waited until we had
|
||||||
time to do the release, then pulled in a few patches that we wanted
|
time to do the release, then pulled in a few patches that we wanted
|
||||||
to have in the release. The release was based on the final of those
|
to have in the release. The release was based on the final of those
|
||||||
patches to be pulled in.
|
patches to be pulled in.
|
||||||
|
|
||||||
When a release candidate has been selected, announce the commit ID to
|
When a release candidate has been selected, announce the commit ID to
|
||||||
the #coreboot IRC channel, and request that it get some testing, just
|
the #coreboot IRC channel, and request that it get some testing, just
|
||||||
to make sure that everything is sane.
|
to make sure that everything is sane.
|
||||||
|
|
||||||
|
|
||||||
## Generate the release
|
## Generate the release
|
||||||
After the commit for the release has been selected and verified, run the
|
After the commit for the release has been selected and verified, run the
|
||||||
release script - util/release/build-release. This will download a new
|
release script - util/release/build-release. This will download a new
|
||||||
tree, checkout the commit that you specified, download the submodules,
|
tree, checkout the commit that you specified, download the submodules,
|
||||||
create a tag, then generate and sign the tarballs.
|
create a tag, then generate and sign the tarballs.
|
||||||
|
|
||||||
Be prepared to type in your PGP key’s passphrase.
|
**Be prepared to type in your PGP key’s passphrase.**
|
||||||
|
|
||||||
````
|
```text
|
||||||
usage: util/release/build-release <version> [commit id] [username] [gpg key id]
|
usage: util/release/build-release <version> [commit id] [username] [gpg key id]
|
||||||
Tags a new coreboot version and creates a tar archive
|
Tags a new coreboot version and creates a tar archive
|
||||||
|
|
||||||
@ -132,37 +175,41 @@ version: New version name to tag the tree with
|
|||||||
commit id: check out this commit-id after cloning the coreboot tree
|
commit id: check out this commit-id after cloning the coreboot tree
|
||||||
username: clone the tree using ssh://USERNAME - defaults to https://
|
username: clone the tree using ssh://USERNAME - defaults to https://
|
||||||
gpg key id: used to tag the version, and generate a gpg signature
|
gpg key id: used to tag the version, and generate a gpg signature
|
||||||
````
|
```
|
||||||
|
|
||||||
After running the script, you should have a new directory for the release,
|
After running the script, you should have a new directory for the
|
||||||
along with 4 files - 2 tarballs, and 2 signature files.
|
release, along with 4 files: 2 tarballs, and 2 signature files.
|
||||||
|
|
||||||
````
|
```text
|
||||||
drwxr-xr-x 9 martin martin 4096 Apr 30 19:57 coreboot-4.6
|
drwxr-xr-x 9 martin martin 4096 Apr 30 19:57 coreboot-4.6
|
||||||
-rw-r--r-- 1 martin martin 29156788 Apr 30 19:58 coreboot-4.6.tar.xz
|
-rw-r--r-- 1 martin martin 29156788 Apr 30 19:58 coreboot-4.6.tar.xz
|
||||||
-rw-r--r-- 1 martin martin 836 Apr 30 19:58 coreboot-4.6.tar.xz.sig
|
-rw-r--r-- 1 martin martin 836 Apr 30 19:58 coreboot-4.6.tar.xz.sig
|
||||||
-rw-r--r-- 1 martin martin 5902076 Apr 30 19:58 coreboot-blobs-4.6.tar.xz
|
-rw-r--r-- 1 martin martin 5902076 Apr 30 19:58 coreboot-blobs-4.6.tar.xz
|
||||||
-rw-r--r-- 1 martin martin 836 Apr 30 19:58 coreboot-blobs-4.6.tar.xz.sig
|
-rw-r--r-- 1 martin martin 836 Apr 30 19:58 coreboot-blobs-4.6.tar.xz.sig
|
||||||
````
|
```
|
||||||
|
|
||||||
Here’s the command that was used to generate the 4.6 release:
|
Here’s the command that was used to generate the 4.6 release:
|
||||||
````
|
```bash
|
||||||
% util/release/build-release 4.6 db508565 Gaumless 3E4F7DF7
|
util/release/build-release 4.6 db508565 Gaumless 3E4F7DF7
|
||||||
````
|
```
|
||||||
|
|
||||||
|
|
||||||
## Test the release from the tarballs
|
## Test the release from the tarballs
|
||||||
* Run “make what-jenkins-does” and verify that everything is building.
|
* Run “make what-jenkins-does” and verify that everything is building.
|
||||||
* Build and test qemu
|
* Build and test qemu
|
||||||
````
|
```bash
|
||||||
cp configs/config.emulation_qemu_x86_i440fx .config; make olddefconfig; make
|
cp configs/config.emulation_qemu_x86_i440fx .config
|
||||||
qemu-system-x86_64 -bios build/coreboot.rom -serial stdio
|
make olddefconfig
|
||||||
````
|
make
|
||||||
|
qemu-system-x86_64 -bios build/coreboot.rom -serial stdio
|
||||||
|
```
|
||||||
* Build and test any other platforms you can.
|
* Build and test any other platforms you can.
|
||||||
* Compare the directory from the tarballs to the coreboot repo to make sure nothing went wrong.
|
* Compare the directory from the tarballs to the coreboot repo to make
|
||||||
|
sure nothing went wrong.
|
||||||
* Push the tag to git
|
* Push the tag to git
|
||||||
|
|
||||||
A good tag will look like this:
|
A good tag will look like this:
|
||||||
````
|
````text
|
||||||
% git show 4.6
|
% git show 4.6
|
||||||
tag 4.6
|
tag 4.6
|
||||||
Tagger: Martin Roth <martinroth@google.com>
|
Tagger: Martin Roth <martinroth@google.com>
|
||||||
@ -183,33 +230,44 @@ commit db508565d2483394b709654c57533e55eebace51 (HEAD, tag: 4.6, origin/master,
|
|||||||
...
|
...
|
||||||
````
|
````
|
||||||
|
|
||||||
When you used the script to generate the release, a signed tag was generated in the
|
When you used the script to generate the release, a signed tag was
|
||||||
tree that was downloaded. From the coreboot-X.Y tree, just run: `git push origin X.Y`.
|
generated in the tree that was downloaded. From the coreboot-X.Y tree,
|
||||||
In case you pushed the wrong tag already, you have to force push the new one.
|
just run: `git push origin X.Y`. In case you pushed the wrong tag
|
||||||
|
already, you have to force push the new one.
|
||||||
|
|
||||||
You will need write access for tags to the coreboot git repo to do this.
|
You will need write access for tags to the coreboot git repo to do this.
|
||||||
|
|
||||||
|
|
||||||
## After the release is tagged in git
|
## After the release is tagged in git
|
||||||
Announce that the release has been tagged - this lets people know that
|
Announce that the release has been tagged - this lets people know that
|
||||||
they should update their trees to grab the new tag. Until they do this,
|
they should update their trees to grab the new tag. Until they do this,
|
||||||
the version number in build.h will still be based on the previous tag.
|
the version number in build.h will still be based on the previous tag.
|
||||||
|
|
||||||
Copy the tarballs and .sig files generated by the script to
|
Copy the tarballs and .sig files generated by the script to
|
||||||
the coreboot server, and put them in the release directory at
|
the coreboot server, and put them in the release directory at
|
||||||
`/srv/docker/www.coreboot.org-staticfiles/releases/`
|
`/srv/docker/www.coreboot.org-staticfiles/releases/`
|
||||||
|
|
||||||
````
|
````bash
|
||||||
% sha256sum -b coreboot-*.tar.xz > sha256suma.txt # Update the sha256sum file
|
# Update the sha256sum file
|
||||||
% diff sha256sum.txt sha256suma.txt # make sure that the two new files are present (and that nothing else has changed)
|
sha256sum -b coreboot-*.tar.xz > sha256suma.txt
|
||||||
% mv sha256suma.txt sha256sum.txt
|
|
||||||
|
# make sure the two new files are present (and nothing else has changed)
|
||||||
|
diff sha256sum.txt sha256suma.txt
|
||||||
|
|
||||||
|
mv sha256suma.txt sha256sum.txt
|
||||||
````
|
````
|
||||||
|
|
||||||
People can now see the release tarballs on the website at
|
People can now see the release tarballs on the website at
|
||||||
<https://www.coreboot.org/releases/>
|
<https://www.coreboot.org/releases/>
|
||||||
|
|
||||||
The downloads page is the official place to download the releases from, and it needs to be updated with links to the new release tarballs and .sig files. It can be found at <https://review.coreboot.org/cgit/homepage.git/tree/downloads.html>
|
The downloads page is the official place to download the releases from,
|
||||||
|
and it needs to be updated with links to the new release tarballs and
|
||||||
|
.sig files. It can be found at:
|
||||||
|
<https://review.coreboot.org/cgit/homepage.git/tree/downloads.html>
|
||||||
|
|
||||||
|
Here is an example commit to change it:
|
||||||
|
<https://review.coreboot.org/c/homepage/+/19515>
|
||||||
|
|
||||||
Here is an example commit to change it: <https://review.coreboot.org/c/homepage/+/19515>
|
|
||||||
|
|
||||||
## Upload crossgcc sources
|
## Upload crossgcc sources
|
||||||
Sometimes the source files for older revisions of
|
Sometimes the source files for older revisions of
|
||||||
@ -219,24 +277,32 @@ sources used by the crossgcc scripts that are part of coreboot releases.
|
|||||||
|
|
||||||
Run
|
Run
|
||||||
|
|
||||||
````
|
````bash
|
||||||
% util/crossgcc/buildgcc -u
|
util/crossgcc/buildgcc -u
|
||||||
````
|
````
|
||||||
|
|
||||||
This will output the set of URLs that the script uses to download the
|
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
|
sources. Download them yourself and copy them into the crossgcc-sources
|
||||||
directory on the server.
|
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 final release notes on <https://blogs.coreboot.org>
|
||||||
|
|
||||||
|
|
||||||
## Making a branch
|
## Making a branch
|
||||||
At times we will need to create a branch, generally for patch fixes.
|
At times we will need to create a branch, generally for patch fixes.
|
||||||
When making a branch, do NOT name it the same as the release tag: X.Y - this creates trouble when trying to check it out, as git can’t tell whether you want the tag or the branch.
|
When making a branch, do NOT name it the same as the release tag: X.Y -
|
||||||
Instead, name it X.Y\_branch: `git checkout 4.8; git checkout -b 4.8_branch; git push origin 4.8_branch`
|
this creates trouble when trying to check it out, as git can’t tell
|
||||||
|
whether you want the tag or the branch. Instead, name it X.Y\_branch:
|
||||||
|
```bash
|
||||||
|
git checkout 4.8
|
||||||
|
git checkout -b 4.8_branch
|
||||||
|
git push origin 4.8_branch
|
||||||
|
```
|
||||||
|
|
||||||
You can then cherry-pick changes and push them up to the branch:
|
You can then cherry-pick changes and push them up to the branch:
|
||||||
````
|
````bash
|
||||||
git cherry-pick c6d134988c856d0025153fb885045d995bc8c397
|
git cherry-pick c6d134988c856d0025153fb885045d995bc8c397
|
||||||
git push origin HEAD:refs/for/4.8_branch
|
git push origin HEAD:refs/for/4.8_branch
|
||||||
````
|
````
|
||||||
|
@ -52,9 +52,9 @@ Deprecations and incompatible changes
|
|||||||
|
|
||||||
Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's
|
Drop the deprecated COREBOOTPAYLOAD option, and replace it with MrChromebox's
|
||||||
updated UefiPayloadPkg option. Simplify the Kconfig options to make it easier
|
updated UefiPayloadPkg option. Simplify the Kconfig options to make it easier
|
||||||
to build from upstream edk2 master. Drop the TIANOCORE_USE_8254_TIMER Kconfig
|
to build from upstream edk2 master. Drop the EDK2_USE_8254_TIMER Kconfig
|
||||||
option since it applies only to CorebootPayloadPkg. Clean up the Makefile now
|
option since it applies only to CorebootPayloadPkg. Clean up the Makefile now
|
||||||
that we're only building from a single Tianocore package/target.
|
that we're only building from a single edk2 package/target.
|
||||||
|
|
||||||
### Remove old lp4x and ddr4 versions of spd_tools
|
### Remove old lp4x and ddr4 versions of spd_tools
|
||||||
|
|
||||||
|
@ -296,6 +296,36 @@ noting, but not needing a full description.
|
|||||||
* sandybridge & gm45: Support setting PCI bars above 4G
|
* sandybridge & gm45: Support setting PCI bars above 4G
|
||||||
|
|
||||||
|
|
||||||
|
Plans to move platform support to a branch:
|
||||||
|
-------------------------------------------
|
||||||
|
After the 4.18 release in November 2022, we plan to move support for any
|
||||||
|
boards still requiring RESOURCE_ALLOCATOR_V3 to the 4.18 branch. V4 was
|
||||||
|
introduced more than a year ago and with minor changes most platforms
|
||||||
|
were able to work just fine with it. A major difference is that V3 uses
|
||||||
|
just one continuous region below 4G to allocate all PCI memory BAR's. V4
|
||||||
|
uses all available space below 4G and if asked to, also above 4G too.
|
||||||
|
This makes it important that SoC code properly reports all fixed
|
||||||
|
resources.
|
||||||
|
|
||||||
|
Currently only AGESA platforms have issues with it. On Gerrit both
|
||||||
|
attempts to fix AMD AGESA codebases to use V4 and compatibility modes
|
||||||
|
inside the V4 allocator have been proposed, but both efforts seem
|
||||||
|
stalled. See the (not yet merged) documentation
|
||||||
|
[CR:43603](https://review.coreboot.org/c/coreboot/+/43603) on it's
|
||||||
|
details. It looks like properly reporting all fixed resources is the
|
||||||
|
issue.
|
||||||
|
|
||||||
|
At this point, we are not specifying which platforms this will include
|
||||||
|
as there are a number of patches to fix these issues in flight.
|
||||||
|
Hopefully, all platforms will end up being migrated to the V4 resource
|
||||||
|
allocator so that none of the platforms need to be supported on the
|
||||||
|
branch.
|
||||||
|
|
||||||
|
Additionally, even if the support for the platform is moved to a branch,
|
||||||
|
it can be brought back to ToT if they're fixed to support the V4
|
||||||
|
allocator.
|
||||||
|
|
||||||
|
|
||||||
Plans for Code Deprecation
|
Plans for Code Deprecation
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
@ -1,51 +1,190 @@
|
|||||||
Upcoming release - coreboot 4.18
|
coreboot 4.18 release
|
||||||
================================
|
========================================================================
|
||||||
|
|
||||||
The 4.18 release is planned for August 2022.
|
The 4.18 release was quite late, but was completed on October 16, 2022.
|
||||||
|
|
||||||
Update this document with changes that should be in the release notes.
|
In the 4 months since the 4.17 release, the coreboot project has merged
|
||||||
|
more than 1800 commits from over 200 different authors. Over 50 of those
|
||||||
|
authors submitted their first patches.
|
||||||
|
|
||||||
* Please use Markdown.
|
Welcome and thank you to all of our new contributors, and of course the
|
||||||
* See the past few release notes for the general format.
|
work of all of the seasoned contributors is greatly appreciated.
|
||||||
* 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
|
|
||||||
|
|
||||||
|
|
||||||
|
Significant or interesting changes
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
### sconfig: Allow to specify device operations
|
||||||
|
|
||||||
|
Currently we only have runtime mechanisms to assign device operations to
|
||||||
|
a node in our devicetree (with one exception: the root device). The most
|
||||||
|
common method is to map PCI IDs to the device operations with a `struct
|
||||||
|
pci_driver`. Another accustomed way is to let a chip driver assign them.
|
||||||
|
|
||||||
|
For very common drivers, e.g. those in soc/intel/common/blocks/, the PCI
|
||||||
|
ID lists grew very large and are incredibly error-prone. Often, IDs are
|
||||||
|
missing and sometimes IDs are added almost mechanically without checking
|
||||||
|
the code for compatibility. Maintaining these lists in a central place
|
||||||
|
also reduces flexibility.
|
||||||
|
|
||||||
|
Now, for onboard devices it is actually unnecessary to assign the device
|
||||||
|
operations at runtime. We already know exactly what operations should be
|
||||||
|
assigned. And since we are using chipset devicetrees, we have a perfect
|
||||||
|
place to put that information.
|
||||||
|
|
||||||
|
This patch adds a simple mechanism to `sconfig`. It allows us to speci-
|
||||||
|
fy operations per device, e.g.
|
||||||
|
|
||||||
|
device pci 00.0 alias system_agent on
|
||||||
|
ops system_agent_ops
|
||||||
|
end
|
||||||
|
|
||||||
|
The operations are given as a C identifier. In this example, we simply
|
||||||
|
assume that a global `struct device_operations system_agent_ops` exists.
|
||||||
|
|
||||||
|
|
||||||
|
### Set touchpads to use detect (vs probed) flag
|
||||||
|
|
||||||
|
Historically, ChromeOS devices have worked around the problem of OEMs
|
||||||
|
using several different parts for touchpads/touchscreens by using a
|
||||||
|
ChromeOS kernel-specific 'probed' flag (rejected by the upstream kernel)
|
||||||
|
to indicate that the device may or may not be present, and that the
|
||||||
|
driver should probe to confirm device presence.
|
||||||
|
|
||||||
|
Since release 4.18, coreboot supports detection for i2c devices at
|
||||||
|
runtime when creating the device entries for the ACPI/SSDT tables,
|
||||||
|
rendering the 'probed' flag obsolete for touchpads. Switch all touchpads
|
||||||
|
in the tree from using the 'probed' flag to the 'detect' flag.
|
||||||
|
|
||||||
|
Touchscreens require more involved power sequencing, which will be done
|
||||||
|
at some future time, after which they will switch over as well.
|
||||||
|
|
||||||
|
|
||||||
|
### Add SBOM (Software Bill of Materials) Generation
|
||||||
|
|
||||||
|
Firmware is typically delivered as one large binary image that gets
|
||||||
|
flashed. Since this final image consists of binaries and data from a
|
||||||
|
vast number of different people and companies, it's hard to determine
|
||||||
|
what all the small parts included in it are. The goal of the software
|
||||||
|
bill of materials (SBOM) is to take a firmware image and make it easy to
|
||||||
|
find out what it consists of and where those pieces came from.
|
||||||
|
|
||||||
|
Basically, this answers the question, who supplied the code that's
|
||||||
|
running on my system right now? For example, buyers of a system can use
|
||||||
|
an SBOM to perform an automated vulnerability check or license analysis,
|
||||||
|
both of which can be used to evaluate risk in a product. Furthermore,
|
||||||
|
one can quickly check to see if the firmware is subject to a new
|
||||||
|
vulnerability included in one of the software parts (with the specified
|
||||||
|
version) of the firmware.
|
||||||
|
|
||||||
|
Further reference:
|
||||||
|
https://web.archive.org/web/20220310104905/https://blogs.gnome.org/hughsie/2022/03/10/firmware-software-bill-of-materials/
|
||||||
|
|
||||||
|
- Add Makefile.inc to generate and build coswid tags
|
||||||
|
- Add templates for most payloads, coreboot, intel-microcode,
|
||||||
|
amd-microcode. intel FSP-S/M/T, EC, BIOS_ACM, SINIT_ACM,
|
||||||
|
intel ME and compiler (gcc,clang,other)
|
||||||
|
- Add Kconfig entries to optionally supply a path to CoSWID tags
|
||||||
|
instead of using the default CoSWID tags
|
||||||
|
- Add CBFS entry called SBOM to each build via Makefile.inc
|
||||||
|
- Add goswid utility tool to generate SBOM data
|
||||||
|
|
||||||
|
|
||||||
|
Additional coreboot changes
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The following are changes across a number of patches, or changes worth
|
||||||
|
noting, but not needing a full description.
|
||||||
|
|
||||||
|
* Allocator v4 is not yet ready, but received significant work.
|
||||||
|
* Console: create an [smbus console driver](https://doc.coreboot.org/technotes/console.html)
|
||||||
|
* pciexp_device: Numerous updates and fixes
|
||||||
|
* Update checkpatch to match Linux v5.19
|
||||||
|
* Continue updating ACPI to ASL 2.0 syntax
|
||||||
|
* arch/x86: Add a common romstage entry point
|
||||||
|
* Documentation: Add a list of [acronyms](https://doc.coreboot.org/acronyms.html)
|
||||||
|
* Start hooking up ops in devicetree
|
||||||
|
* Large amounts of general code cleanup and improvement, as always
|
||||||
|
* Work to make sure all files have licenses
|
||||||
|
|
||||||
|
|
||||||
|
Payloads
|
||||||
|
--------
|
||||||
|
|
||||||
|
### EDK II (TianoCore)
|
||||||
|
|
||||||
|
coreboot uses TianoCore interchangeably with EDK II, and whilst the
|
||||||
|
meaning is generally clear, it's not the payload it uses.
|
||||||
|
Consequentially, TianoCore has been renamed to EDK II (2).
|
||||||
|
|
||||||
|
The option to use the already deprecated CorebootPayloadPkg has been
|
||||||
|
removed.
|
||||||
|
|
||||||
|
Recent changes to both coreboot and EDK means that UefiPayloadPkg seems
|
||||||
|
to work on all hardware. It has been tested on:
|
||||||
|
|
||||||
|
* Intel Core 2nd, 3rd, 4th, 5th, 6th, 7th, 8th, 8th, 9th, 10th,
|
||||||
|
11th and 12th generation processors
|
||||||
|
* Intel Small Core BYT, BSW, APL, GLK and GLK-R processors
|
||||||
|
* AMD Stoney Ridge and Picasso
|
||||||
|
|
||||||
|
CorebootPayloadPkg can still be found [here](https://github.com/MrChromebox/edk2/tree/coreboot_fb).
|
||||||
|
|
||||||
|
The recommended option to use is `EDK2_UEFIPAYLOAD_MRCHROMEBOX` as
|
||||||
|
`EDK2_UEFIPAYLOAD_OFFICIAL` will no longer work on any SoC.
|
||||||
|
|
||||||
|
|
||||||
|
New Mainboards
|
||||||
|
--------------
|
||||||
|
|
||||||
|
* AMD Birman
|
||||||
|
* AMD Pademelon renamed from Padmelon
|
||||||
|
* Google Evoker
|
||||||
|
* Google Frostflow
|
||||||
|
* Google Gaelin4ADL
|
||||||
|
* Google Geralt
|
||||||
|
* Google Joxer
|
||||||
|
* Google Lisbon
|
||||||
|
* Google Magikarp
|
||||||
|
* Google Morthal
|
||||||
|
* Google Pujjo
|
||||||
|
* Google Rex 0
|
||||||
|
* Google Shotzo
|
||||||
|
* Google Skolas
|
||||||
|
* Google Tentacruel
|
||||||
|
* Google Winterhold
|
||||||
|
* Google Xivu
|
||||||
|
* Google Yaviks
|
||||||
|
* Google Zoglin
|
||||||
|
* Google Zombie
|
||||||
|
* Google Zydron
|
||||||
|
* MSI PRO Z690-A WIFI DDR4
|
||||||
|
* Siemens MC APL7
|
||||||
|
|
||||||
|
|
||||||
|
Removed Mainboards
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* Google Brya4ES
|
||||||
|
|
||||||
|
|
||||||
|
Updated SoCs
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Added Intel Meteor Lake
|
||||||
|
* Added Mediatek Mt8188
|
||||||
|
* Renamed AMD Sabrina to Mendocino
|
||||||
|
* Added AMD Morgana
|
||||||
|
|
||||||
|
|
||||||
Plans for Code Deprecation
|
Plans for Code Deprecation
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
|
|
||||||
### Intel Icelake
|
|
||||||
|
|
||||||
Intel Icelake code will be removed following the 4.19 release, planned
|
|
||||||
for November 2022. This consists of the Intel Icelake SOC and Intel
|
|
||||||
Icelake RVP mainboard
|
|
||||||
|
|
||||||
Intel Icelake is unmaintained. Also, the only user of this platform ever
|
|
||||||
was the CRB board. From the looks of it the code never was ready for
|
|
||||||
production as only engineering sample CPUIDs are supported. This reduces
|
|
||||||
the maintanence overhead for the coreboot project.
|
|
||||||
|
|
||||||
|
|
||||||
### LEGACY_SMP_INIT
|
### LEGACY_SMP_INIT
|
||||||
|
|
||||||
Legacy SMP init will be removed from the coreboot master branch
|
Legacy SMP init will be removed from the coreboot master branch
|
||||||
immediately following this release. Anyone looking for the latest
|
immediately following this release. Anyone looking for the latest
|
||||||
version of the code should find it on the 4.18 branch.
|
version of the code should find it on the 4.18 branch or tag.
|
||||||
|
|
||||||
This also includes the codepath for SMM_ASEG. This code is used to start
|
This also includes the codepath for SMM_ASEG. This code is used to start
|
||||||
APs and do some feature programming on each AP, but also set up SMM.
|
APs and do some feature programming on each AP, but also set up SMM.
|
||||||
@ -54,3 +193,96 @@ cover all use cases of LEGACY_SMP_INIT, with little code changes. The
|
|||||||
reason for deprecation is that having 2 codepaths to do the virtually
|
reason for deprecation is that having 2 codepaths to do the virtually
|
||||||
the same increases maintenance burden on the community a lot, while also
|
the same increases maintenance burden on the community a lot, while also
|
||||||
being rather confusing.
|
being rather confusing.
|
||||||
|
|
||||||
|
|
||||||
|
Plans to move platform support to a branch:
|
||||||
|
-------------------------------------------
|
||||||
|
After the 4.18 release in November 2022, we plan to move support for any
|
||||||
|
boards still requiring RESOURCE_ALLOCATOR_V3 to the 4.18 branch. V4 was
|
||||||
|
introduced more than a year ago and with minor changes most platforms
|
||||||
|
were able to work just fine with it. A major difference is that V3 uses
|
||||||
|
just one continuous region below 4G to allocate all PCI memory BAR's. V4
|
||||||
|
uses all available space below 4G and if asked to, also above 4G too.
|
||||||
|
This makes it important that SoC code properly reports all fixed
|
||||||
|
resources.
|
||||||
|
|
||||||
|
Currently only AGESA platforms have issues with it. On Gerrit both
|
||||||
|
attempts to fix AMD AGESA codebases to use V4 and compatibility modes
|
||||||
|
inside the V4 allocator have been proposed, but both efforts seem
|
||||||
|
stalled. See the (not yet merged) documentation
|
||||||
|
[CR:43603](https://review.coreboot.org/c/coreboot/+/43603) on it's
|
||||||
|
details. It looks like properly reporting all fixed resources is the
|
||||||
|
issue.
|
||||||
|
|
||||||
|
At this point, we are not specifying which platforms this will include
|
||||||
|
as there are a number of patches to fix these issues in flight.
|
||||||
|
Hopefully, all platforms will end up being migrated to the v4 resource
|
||||||
|
allocator so that none of the platforms need to be supported on the
|
||||||
|
branch.
|
||||||
|
|
||||||
|
Additionally, even if the support for the platform is moved to a branch,
|
||||||
|
it can be brought back to ToT if they're fixed to support the v4
|
||||||
|
allocator.
|
||||||
|
|
||||||
|
|
||||||
|
### Intel Icelake SoC & Icelake RVP mainboard
|
||||||
|
|
||||||
|
Intel Icelake is unmaintained. Also, the only user of this platform ever
|
||||||
|
was the Intel CRB (Customer Reference Board). From the looks of it the
|
||||||
|
code was never ready for production as only engineering sample CPUIDs
|
||||||
|
are supported. This reduces the maintanence overhead for the coreboot
|
||||||
|
project.
|
||||||
|
|
||||||
|
Intel Icelake code will be removed with release 4.19 and any maintenence
|
||||||
|
will be done on the 4.19 branch. This consists of the Intel Icelake SoC
|
||||||
|
and Intel Icelake RVP mainboard.
|
||||||
|
|
||||||
|
|
||||||
|
### Intel Quark SoC & Galileo mainboard
|
||||||
|
|
||||||
|
The SoC Intel Quark is unmaintained and different efforts to revive it
|
||||||
|
failed. Also, the only user of this platform ever was the Galileo
|
||||||
|
board.
|
||||||
|
|
||||||
|
Thus, to reduce the maintanence overhead for the community, support for
|
||||||
|
the following components will be removed from the master branch and will
|
||||||
|
be maintained on the release 4.20 branch.
|
||||||
|
|
||||||
|
* Intel Quark SoC
|
||||||
|
* Intel Galileo mainboard
|
||||||
|
|
||||||
|
|
||||||
|
Statistics from commit d2d9021543 to f4c97ea131
|
||||||
|
-----------------------------------------------
|
||||||
|
|
||||||
|
- Total Commits: 1822
|
||||||
|
- Average Commits per day: 13.38
|
||||||
|
- Total lines added: 150578
|
||||||
|
- Average lines added per commit: 82.64
|
||||||
|
- Number of patches adding more than 100 lines: 128
|
||||||
|
- Average lines added per small commit: 38.44
|
||||||
|
- Total lines removed: 33849
|
||||||
|
- Average lines removed per commit: 18.58
|
||||||
|
- Total difference between added and removed: 116729
|
||||||
|
- Total authors: 202
|
||||||
|
- New authors: 52
|
||||||
|
|
||||||
|
|
||||||
|
Known Issues
|
||||||
|
------------
|
||||||
|
|
||||||
|
A couple of issues were discovered immediately following the release
|
||||||
|
that will be fixed in a follow-on point release in the upcoming weeks.
|
||||||
|
|
||||||
|
A pair of changes ([CB:67754](https://review.coreboot.org/67754) and
|
||||||
|
[CB:67662](https://review.coreboot.org/67662)) which merged shortly
|
||||||
|
before the 4.18 release have created an issue on Intel Apollo Lake
|
||||||
|
platform boards which prevents SMM/SMI from functioning; this affects
|
||||||
|
only Apollo Lake (but not Gemini Lake) devices.
|
||||||
|
See [CB:68599](https://review.coreboot.org/68599) for the fix.
|
||||||
|
|
||||||
|
Another issue applies to all Intel-based boards with onboard I2C TPMs
|
||||||
|
when verified boot is not enabled. The I2C buses don’t get initialized
|
||||||
|
until after the TPM, causing timeouts, TPM initialization failures, and
|
||||||
|
long boot times. See [CB:68550](https://review.coreboot.org/68550) for
|
||||||
|
the fix.
|
||||||
|
246
Documentation/releases/coreboot-4.19-relnotes.md
Normal file
@ -0,0 +1,246 @@
|
|||||||
|
coreboot 4.19 release
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
The 4.19 release was completed on the 16th of January 2023.
|
||||||
|
|
||||||
|
Since the last release, the coreboot project has merged over 1600
|
||||||
|
commits from over 150 authors. Of those authors, around 25 were
|
||||||
|
first-time committers to the coreboot project.
|
||||||
|
|
||||||
|
As always, we are very grateful to all of the contributors for helping
|
||||||
|
to keep the project going. The coreboot project is different from many
|
||||||
|
open source projects in that we need to keep constantly updating the
|
||||||
|
codebase to stay relevant with the latest processors and technologies.
|
||||||
|
It takes constant effort to just stay afloat, let alone improve the
|
||||||
|
codebase. Thank you very much to everyone who has contributed, both in
|
||||||
|
this release and in previous times.
|
||||||
|
|
||||||
|
The 4.20 release is planned for the 20th of April, 2023.
|
||||||
|
|
||||||
|
|
||||||
|
Significant or interesting changes
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### Show all Kconfig options in saved config file; compress same
|
||||||
|
|
||||||
|
The coreboot build system automatically adds a 'config' file to CBFS
|
||||||
|
that lists the exact Kconfig configuration that the image was built
|
||||||
|
with. This is useful to reproduce a build after the fact or to check
|
||||||
|
whether support for a specific feature is enabled in the image.
|
||||||
|
|
||||||
|
This file has been generated using the 'savedefconfig' Kconfig command,
|
||||||
|
which generates the minimal .config file that is needed to produce the
|
||||||
|
required config in a coreboot build. This is fine for reproduction, but
|
||||||
|
bad when you want to check if a certain config was enabled, since many
|
||||||
|
options get enabled by default or pulled in through another option's
|
||||||
|
'select' statement and thus don't show up in the defconfig.
|
||||||
|
|
||||||
|
Instead coreboot now includes a larger .config instead. In order to save
|
||||||
|
some space, all of the comments disabling options are removed from the
|
||||||
|
file, except for those included in the defconfig.
|
||||||
|
|
||||||
|
We can also LZMA compress the file since it is never read by firmware
|
||||||
|
itself and only intended for later re-extraction via cbfstool, which
|
||||||
|
always has LZMA support included.
|
||||||
|
|
||||||
|
|
||||||
|
### Toolchain updates
|
||||||
|
|
||||||
|
* Upgrade LLVM from 15.0.0 to 15.0.6
|
||||||
|
* Upgrade CMake from 3.24.2 to 3.25.0
|
||||||
|
* Upgrade IASL from 20220331 to 20221020
|
||||||
|
* Upgrade MPFR from 4.1.0 to 4.1.1
|
||||||
|
|
||||||
|
|
||||||
|
### Finished the conversion to ASL 2.0 syntax
|
||||||
|
|
||||||
|
Until recently, coreboot still contained lots of code using the legacy
|
||||||
|
ASL syntax. However, all ASL code was ported over to make use of the ASL
|
||||||
|
2.0 syntax and from this point on new ASL code should make use of it.
|
||||||
|
|
||||||
|
|
||||||
|
Additional coreboot changes
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
* Significant work was done to enable and build-test clang builds.
|
||||||
|
* Added touchscreen power sequencing and runtime detection.
|
||||||
|
* A number of patches were added to clean up and improve SMBIOS.
|
||||||
|
* Work is in progress to unify and extend coreboot post codes.
|
||||||
|
* Clean up for header includes is in progress with help from IWYU.
|
||||||
|
* IOAPIC code has been reworked.
|
||||||
|
* Support was added to superiotool for the NCT6687D-W chip.
|
||||||
|
* Work is progressing to switch return values to enum cb_err instead of
|
||||||
|
bool or other pass/fail indicators.
|
||||||
|
* Clang builds are now working for most boards and are being
|
||||||
|
build-tested.
|
||||||
|
* 64-bit coreboot support is in progress and is working on a number of
|
||||||
|
platforms.
|
||||||
|
* A driver for EC used on various Clevo laptops was added.
|
||||||
|
* Native Intel Lynxpoint code was added to replace the MRC.bin.
|
||||||
|
* Work continued for the process of adding ops structures to the
|
||||||
|
devicetree.
|
||||||
|
* The crossgcc tool can now download the source packages, which are
|
||||||
|
needed to build the coreboot toolchain, from coreboot’s own mirror if
|
||||||
|
desired.
|
||||||
|
* A document with useful external resources related to firmware
|
||||||
|
development was added at Documentation/external_docs.md.
|
||||||
|
|
||||||
|
|
||||||
|
New Mainboards
|
||||||
|
--------------
|
||||||
|
|
||||||
|
* AMD: Mayan for Phoenix SoC
|
||||||
|
* GIGABYTE: GA-H61M-DS2
|
||||||
|
* Google: Crystaldrift
|
||||||
|
* Google: Gladios
|
||||||
|
* Google: Dibbi
|
||||||
|
* Google: Gaelin
|
||||||
|
* Google: Marasov
|
||||||
|
* Google: Markarth
|
||||||
|
* Google: Omnigul
|
||||||
|
* Google: Voltorb
|
||||||
|
* Intel: Meteorlake-P RVP
|
||||||
|
* MSI: PRO Z690-A (WIFI)
|
||||||
|
* Siemens: MC_EHL3
|
||||||
|
* Star Labs: StarBook Mk VI (i3-1220P and i7-1260P)
|
||||||
|
* System76: darp8
|
||||||
|
* System76: galp6
|
||||||
|
|
||||||
|
|
||||||
|
Removed Mainboards
|
||||||
|
------------------
|
||||||
|
|
||||||
|
* AMD: Inagua
|
||||||
|
* AMD: Olive Hill
|
||||||
|
* AMD: Parmer
|
||||||
|
* AMD: Persimmon
|
||||||
|
* AMD: Southstation
|
||||||
|
* AMD: Thatcher
|
||||||
|
* AMD: Unionstation
|
||||||
|
* ASROCK: E350M1
|
||||||
|
* ASROCK: IMB-A180
|
||||||
|
* ASUS: A88XM-E
|
||||||
|
* ASUS: AM1I-A
|
||||||
|
* ASUS: F2A85-M
|
||||||
|
* ASUS: F2A85-M LE
|
||||||
|
* ASUS: F2A85-M PRO
|
||||||
|
* BAP: ODE_e20xx
|
||||||
|
* Biostar: A68N-5200
|
||||||
|
* Biostar: AM1ML
|
||||||
|
* ELMEX: pcm205400
|
||||||
|
* ELMEX: pcm205401
|
||||||
|
* GizmoSphere: Gizmo
|
||||||
|
* GizmoSphere: Gizmo2
|
||||||
|
* Google: Morthal
|
||||||
|
* HP: ABM
|
||||||
|
* HP: Pavilion m6 1035dx
|
||||||
|
* Jetway: NF81_T56N_LF
|
||||||
|
* Lenovo: AMD G505s
|
||||||
|
* LiPPERT: FrontRunner-AF aka ADLINK CoreModule2-GF
|
||||||
|
* LiPPERT: Toucan-AF aka cExpress-GFR (+W83627DHG SIO)
|
||||||
|
* MSI: MS-7721 (FM2-A75MA-E35)
|
||||||
|
* PC Engines: APU1
|
||||||
|
|
||||||
|
|
||||||
|
Updated SoCs
|
||||||
|
------------
|
||||||
|
|
||||||
|
* Added soc/amd/glinda
|
||||||
|
* Renamed soc/amd/morgana to soc/amd/phoenix
|
||||||
|
* Removed cpu/amd/agesa/family14
|
||||||
|
* Removed cpu/amd/agesa/family15tn
|
||||||
|
* Removed cpu/amd/agesa/family16kb
|
||||||
|
|
||||||
|
|
||||||
|
Updated Chipsets
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* Removed northbridge/amd/agesa/family14
|
||||||
|
* Removed northbridge/amd/agesa/family15tn
|
||||||
|
* Removed northbridge/amd/agesa/family16kb
|
||||||
|
* Removed southbridge/amd/agesa/hudson
|
||||||
|
* Removed southbridge/amd/cimx/sb800
|
||||||
|
|
||||||
|
|
||||||
|
Payloads
|
||||||
|
--------
|
||||||
|
|
||||||
|
* Updated GRUB from 2.04 to 2.06
|
||||||
|
* Updated SeaBIOS 1.16.0 to 1.16.1
|
||||||
|
|
||||||
|
|
||||||
|
Plans to move platform support to a branch
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
### Intel Icelake SoC & Icelake RVP mainboard
|
||||||
|
|
||||||
|
Intel Icelake is unmaintained and the only user of this platform ever
|
||||||
|
was the Intel CRB (Customer Reference Board). From the looks of the
|
||||||
|
code, it was never ready for production as only engineering sample
|
||||||
|
CPUIDs are supported.
|
||||||
|
|
||||||
|
Intel Icelake code will be removed following 4.19 and any maintenance
|
||||||
|
will be done on the 4.19 branch. This consists of the Intel Icelake SoC
|
||||||
|
and Intel Icelake RVP mainboard.
|
||||||
|
|
||||||
|
|
||||||
|
### Intel Quark SoC & Galileo mainboard
|
||||||
|
|
||||||
|
The SoC Intel Quark is unmaintained and different efforts to revive it
|
||||||
|
failed. Also, the only user of this platform ever was the Galileo
|
||||||
|
board.
|
||||||
|
|
||||||
|
Thus, to reduce the maintenance overhead for the community, support for
|
||||||
|
the following components will be removed from the master branch and will
|
||||||
|
be maintained on the release 4.20 branch.
|
||||||
|
|
||||||
|
* Intel Quark SoC
|
||||||
|
* Intel Galileo mainboard
|
||||||
|
|
||||||
|
|
||||||
|
Statistics from the 4.18 to the 4.19 release
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
- Total Commits: 1608
|
||||||
|
- Average Commits per day: 17.39
|
||||||
|
- Total lines added: 93786
|
||||||
|
- Average lines added per commit: 58.32
|
||||||
|
- Number of patches adding more than 100 lines: 80
|
||||||
|
- Average lines added per small commit: 38.54
|
||||||
|
- Total lines removed: 768014
|
||||||
|
- Total difference between added and removed: -674228
|
||||||
|
|
||||||
|
|
||||||
|
Significant Known and Open Issues
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Issues from the coreboot bugtracker: https://ticket.coreboot.org/
|
||||||
|
```eval_rst
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| # | Subject |
|
||||||
|
+=====+=================================================================+
|
||||||
|
| 449 | ThinkPad T440p fail to start, continuous beeping & LED blinking |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 448 | Thinkpad T440P ACPI Battery Value Issues |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 446 | Optiplex 9010 No Post |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 445 | Thinkpad X200 wifi issue |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 439 | Lenovo X201 Turbo Boost not working (stuck on 2,4GHz) |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 427 | x200: Two battery charging issues |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 414 | X9SAE-V: No USB keyboard init on SeaBIOS using Radeon RX 6800XT |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 412 | x230 reboots on suspend |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 393 | T500 restarts rather than waking up from suspend |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 350 | I225 PCIe device not detected on Harcuvar |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
| 327 | OperationRegion (OPRG, SystemMemory, ASLS, 0x2000) causes BSOD |
|
||||||
|
+-----+-----------------------------------------------------------------+
|
||||||
|
```
|
226
Documentation/releases/coreboot-4.20-relnotes.md
Normal file
@ -0,0 +1,226 @@
|
|||||||
|
Upcoming release - coreboot 4.20
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
The 4.20 release is being done on May 15, 2023.
|
||||||
|
|
||||||
|
The coreboot community has done a tremendous amount of work on the
|
||||||
|
codebase over the last three and a half month. We've had over 1600
|
||||||
|
commits in that time period, doing ongoing cleanup and improvement.
|
||||||
|
|
||||||
|
It can be hard to remember at times how much the codebase really has
|
||||||
|
improved, but looking back at coreboot code from previous years, it's
|
||||||
|
really impressive the changes that have happened. We'd like to thank
|
||||||
|
everyone who has been involved in these changes. It's great to work
|
||||||
|
with everyone involved, from the people who make the small cleanup
|
||||||
|
patches and review all of the incoming changes to the people working
|
||||||
|
on new chipsets and SoCs. We'd additionally like to thank all of those
|
||||||
|
individuals who make the effort to become involved and report issues
|
||||||
|
or push even a single patch to fix a bug that they've noticed.
|
||||||
|
|
||||||
|
Many thanks to everyone involved!
|
||||||
|
|
||||||
|
We plan to get the 4.21 release done in mid August, 2023,
|
||||||
|
|
||||||
|
Significant or interesting changes
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
### cpu/mp_init.c: Only enable CPUs once they execute code
|
||||||
|
|
||||||
|
On some systems the BSP cannot know how many CPUs are present in the
|
||||||
|
system. A typical use case is a multi socket system. Setting the enable
|
||||||
|
flag only on CPUs that actually exist makes it more flexible.
|
||||||
|
|
||||||
|
### cpu/x86/smm: Add PCI resource store functionality
|
||||||
|
|
||||||
|
In certain cases data within protected memmory areas like SMRAM could
|
||||||
|
be leaked or modified if an attacker remaps PCI BARs to point within
|
||||||
|
that area. Add support to the existing SMM runtime to allow storing
|
||||||
|
PCI resources in SMRAM and then later retrieving them.
|
||||||
|
|
||||||
|
This helps prevent moving BARs around to get SMM to access memory in
|
||||||
|
areas that shouldn't be accessed.
|
||||||
|
|
||||||
|
### acpi: Add SRAT x2APIC table support
|
||||||
|
|
||||||
|
For platforms using X2APIC mode add SRAT x2APIC table
|
||||||
|
generation. This allows to setup proper SRAT tables.
|
||||||
|
|
||||||
|
### drivers/usb/acpi: Add USB _DSM method to enable/disable USB LPM per port
|
||||||
|
|
||||||
|
This patch supports projects to use _DSM to control USB3 U1/U2
|
||||||
|
transition per port.
|
||||||
|
|
||||||
|
More details can be found in
|
||||||
|
https://web.archive.org/web/20230116084819/https://learn.microsoft.com/en-us/windows-hardware/drivers/bringup/usb-device-specific-method---dsm-
|
||||||
|
|
||||||
|
The ACPI and USB driver of linux kernel need corresponding functions
|
||||||
|
to support this feature. Please see
|
||||||
|
https://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git/log/?h=port_check_acpi_dsm
|
||||||
|
|
||||||
|
### drivers/efi: Add EFI variable store option support
|
||||||
|
|
||||||
|
Add a driver to read and write EFI variables stored in a region device.
|
||||||
|
This is particularly useful for EDK2 as payload and allows to reuse
|
||||||
|
existing EFI tools to set/get options used by the firmware.
|
||||||
|
|
||||||
|
The write implementation is fault tolerant and doesn't corrupt the
|
||||||
|
variable store. A faulting write might result in using the old value
|
||||||
|
even though a 'newer' had been completely written.
|
||||||
|
|
||||||
|
Implemented basic unit tests for header corruption, writing existing
|
||||||
|
data and append new data into the store.
|
||||||
|
|
||||||
|
Initial firmware region state:
|
||||||
|
Initially the variable store region isn't formatted. Usually this is
|
||||||
|
done in the EDK2 payload when no valid firmware volume could be found.
|
||||||
|
It might be useful to do this offline or in coreboot to have a working
|
||||||
|
option store on the first boot or when it was corrupted.
|
||||||
|
|
||||||
|
Performance improvements:
|
||||||
|
Right now the code always checks if the firmware volume header is valid.
|
||||||
|
This could be optimised by caching the test result in heap. For write
|
||||||
|
operations it would be good to cache the end of the variable store in
|
||||||
|
the heap as well, instead of walking the whole store. For read
|
||||||
|
operations caching the entire store could be considered.
|
||||||
|
|
||||||
|
Reclaiming memory:
|
||||||
|
The EFI variable store is append write only. To update an existing
|
||||||
|
variable, first a new is written to the end of the store and then the
|
||||||
|
previous is marked invalid. This only works on PNOR flash that allow to
|
||||||
|
clear set bits, but keep cleared bits state.
|
||||||
|
This mechanisms allows a fault tolerant write, but it also requires to
|
||||||
|
"clean" the variable store for time to time. This cleaning would remove
|
||||||
|
variables that have been marked "deleted".
|
||||||
|
Such cleaning mechanism in turn must be fault tolerant and thus must use
|
||||||
|
a second partition in the SPI flash as backup/working region.
|
||||||
|
For now to cleaning is done in coreboot.
|
||||||
|
|
||||||
|
Fault checking:
|
||||||
|
The driver should check if a previous write was successful and if not
|
||||||
|
mark variables as deleted on the next operation.
|
||||||
|
|
||||||
|
|
||||||
|
### drivers/ocp/ewl: Add EWL driver for EWL type 3 error handling
|
||||||
|
|
||||||
|
Add EWL (Enhanced Warning Log) driver which handles Intel EWL HOB
|
||||||
|
and prints EWL type 3 primarily associated with MRC training failures.
|
||||||
|
|
||||||
|
### Toolchain updates
|
||||||
|
|
||||||
|
* Upgrade MPC from version 1.2.1 to 1.3.1
|
||||||
|
* Upgrade MPFR from version 4.1.1 to 4.2.0
|
||||||
|
* Upgrade CMake from version 3.25.0 to 3.26.3
|
||||||
|
* Upgrade LLVM from version 15.0.6 to 15.0.7
|
||||||
|
* Upgrade GCC from version 11.2.0 to 11.3.0
|
||||||
|
* Upgrade binutils from version 2.37 to 2.40
|
||||||
|
|
||||||
|
Additional coreboot changes
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
* Remove Yabits payload. Yabits is deprecated and archived.
|
||||||
|
* Add DDR2 support to Intel GM45 code.
|
||||||
|
* Fix superiotool compilation issues when using musl-libc.
|
||||||
|
* Drop the Python 2 package from the coreboot-sdk.
|
||||||
|
* Drop the Zephyr SDK from coreboot-sdk since the packaged version
|
||||||
|
was quite old and wasn’t really used.
|
||||||
|
* Add inteltool support for the Intel "Emmitsburg" PCH.
|
||||||
|
* Work to improve cache hit percentage when rebuilding using ccache.
|
||||||
|
* Adding Sound-Open-Firmware drivers to chromebooks to enable audio on
|
||||||
|
non-chrome operating systems.
|
||||||
|
* Improve and expand ACPI generation code.
|
||||||
|
* Fix some issues for the RISC-V code.
|
||||||
|
* Continue upstreaming the POWER9 architecture.
|
||||||
|
* Add documentation for SBOM (Software Bill of Materials).
|
||||||
|
* Add SimNow console logging support for AMD.
|
||||||
|
* Do initial work on Xeon SPR
|
||||||
|
* CMOS defaults greater than 128 bytes long now extend to bank 1.
|
||||||
|
|
||||||
|
New Mainboards
|
||||||
|
--------------
|
||||||
|
* Asrock: B75M-ITX
|
||||||
|
* Dell: Latitude E6400
|
||||||
|
* Google: Aurash
|
||||||
|
* Google: Boxy
|
||||||
|
* Google: Constitution
|
||||||
|
* Google: Gothrax
|
||||||
|
* Google: Hades
|
||||||
|
* Google: Myst
|
||||||
|
* Google: Screebo
|
||||||
|
* Google: Starmie
|
||||||
|
* Google: Taranza
|
||||||
|
* Google: Uldren
|
||||||
|
* Google: Yavilla
|
||||||
|
* HP: EliteBook 2170p
|
||||||
|
* Intel: Archer City CRB
|
||||||
|
* Intel: DQ67SW
|
||||||
|
* Protectli: VP2420
|
||||||
|
* Protectli: VP4630/VP4650
|
||||||
|
* Protectli: VP4670
|
||||||
|
* Siemens: MC EHL4
|
||||||
|
* Siemens: MC EHL5
|
||||||
|
* System76: lemp11
|
||||||
|
* System76: oryp10
|
||||||
|
* System76: oryp9
|
||||||
|
|
||||||
|
Removed Mainboards
|
||||||
|
------------------
|
||||||
|
* Intel Icelake U DDR4/LPDDR4 RVP
|
||||||
|
* Intel Icelake Y LPDDR4 RVP
|
||||||
|
* Scaleway TAGADA
|
||||||
|
|
||||||
|
Updated SoCs
|
||||||
|
------------
|
||||||
|
* Removed soc/intel/icelake
|
||||||
|
|
||||||
|
Plans to move platform support to a branch
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
### Intel Quark SoC & Galileo mainboard
|
||||||
|
|
||||||
|
The SoC Intel Quark is unmaintained and different efforts to revive it
|
||||||
|
have so far failed. The only user of this SoC ever was the Galileo
|
||||||
|
board.
|
||||||
|
|
||||||
|
Thus, to reduce the maintenance overhead for the community, support for
|
||||||
|
the following components will be removed from the master branch and will
|
||||||
|
be maintained on the release 4.20 branch.
|
||||||
|
|
||||||
|
* Intel Quark SoC
|
||||||
|
* Intel Galileo mainboard
|
||||||
|
|
||||||
|
Statistics from the 4.19 to the 4.20 release
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
Total Commits: ~1625
|
||||||
|
Average Commits per day: ~13.71
|
||||||
|
Total lines added: ~101911
|
||||||
|
Average lines added per commit: ~62.71
|
||||||
|
Number of patches adding more than 100 lines: ~126
|
||||||
|
Average lines added per small commit: ~37.98
|
||||||
|
Total lines removed: ~34756
|
||||||
|
Average lines removed per commit: ~21.39
|
||||||
|
Total difference between added and removed: ~67155
|
||||||
|
Total authors: ~170
|
||||||
|
New authors: ~35
|
||||||
|
|
||||||
|
Significant Known and Open Issues
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
Issues from the coreboot bugtracker: https://ticket.coreboot.org/
|
||||||
|
|
||||||
|
| # | Subject |
|
||||||
|
|-----|-----------------------------------------------------------------|
|
||||||
|
| 478 | X200 booting Linux takes a long time with TSC |
|
||||||
|
| 474 | X200s crashes after graphic init with 8GB RAM |
|
||||||
|
| 457 | Haswell (t440p): CAR mem region conflicts with CBFS_SIZE > 8mb |
|
||||||
|
| 453 | Intel HDMI / DP Audio device not showing up after libgfxinit |
|
||||||
|
| 449 | ThinkPad T440p fail to start, continuous beeping & LED blinking |
|
||||||
|
| 448 | Thinkpad T440P ACPI Battery Value Issues |
|
||||||
|
| 446 | Optiplex 9010 No Post |
|
||||||
|
| 439 | Lenovo X201 Turbo Boost not working (stuck on 2,4GHz) |
|
||||||
|
| 427 | x200: Two battery charging issues |
|
||||||
|
| 414 | X9SAE-V: No USB keyboard init on SeaBIOS using Radeon RX 6800XT |
|
||||||
|
| 412 | x230 reboots on suspend |
|
||||||
|
| 393 | T500 restarts rather than waking up from suspend |
|
||||||
|
| 350 | I225 PCIe device not detected on Harcuvar |
|
||||||
|
| 327 | OperationRegion (OPRG, SystemMemory, ASLS, 0x2000) causes BSOD |
|
51
Documentation/releases/coreboot-4.21-relnotes.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
Upcoming release - coreboot 4.21
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
The 4.21 release is planned for mid-August, 2023
|
||||||
|
|
||||||
|
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.
|
||||||
|
* Note that all changes before the release are done are marked upcoming.
|
||||||
|
A final version of the notes are done after the release.
|
||||||
|
|
||||||
|
Significant or interesting changes
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
### Add changes that need a full description here
|
||||||
|
|
||||||
|
* This section should have full descriptions and can or should have
|
||||||
|
a link to the referenced commits.
|
||||||
|
|
||||||
|
Additional coreboot changes
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The following are changes across a number of patches, or changes worth
|
||||||
|
noting, but not needing a full description.
|
||||||
|
|
||||||
|
* Changes that only need a line or two of description go here.
|
||||||
|
|
||||||
|
Platform Updates
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* To be filled in immediately before the release by the release team
|
||||||
|
|
||||||
|
Plans to move platform support to a branch
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
* Seciton to be filled in or removed after discussion
|
||||||
|
|
||||||
|
Statistics from the 4.20 to the 4.21 release
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
* To be filled in immediately before the release by the release team
|
||||||
|
|
||||||
|
|
||||||
|
Significant Known and Open Issues
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
* To be filled in immediately before the release by the release team
|
||||||
|
|
@ -55,15 +55,15 @@ is here: https://github.com/siro20/coreboot/tree/cbui/payloads/cbui
|
|||||||
|
|
||||||
### UEFI support: A long road to go
|
### UEFI support: A long road to go
|
||||||
|
|
||||||
coreboot can be used with the Tianocore EDK2 UEFI implementation which
|
coreboot can be used with the edk2 UEFI implementation which
|
||||||
is open source and available at Github. Sadly it is not currently
|
is open source and available at Github. Sadly it is not currently
|
||||||
integrated into the coreboot build. This has several reasons:
|
integrated into the coreboot build. This has several reasons:
|
||||||
|
|
||||||
* EDK2 only supports GCC 4.8 profile. coreboot is now running on GCC 6.3.0.
|
* edk2 only supports GCC 4.8 profile. coreboot is now running on GCC 6.3.0.
|
||||||
* Incompatibilities with code inside the EDK2 which has not been updated.
|
* Incompatibilities with code inside the edk2 which has not been updated.
|
||||||
|
|
||||||
We started to make progress with the integration into our sources and
|
We started to make progress with the integration into our sources and
|
||||||
the hope is that by the end of the summer, we finally support the EDK2
|
the hope is that by the end of the summer, we finally support the edk2
|
||||||
payload out-of-the- box. See the current patch state at
|
payload out-of-the- box. See the current patch state at
|
||||||
http://review.coreboot.org/#/c/15057/
|
http://review.coreboot.org/#/c/15057/
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ General changes
|
|||||||
|
|
||||||
* Integrate me_cleaner
|
* Integrate me_cleaner
|
||||||
* Add flashconsole implementation
|
* Add flashconsole implementation
|
||||||
* Build Tianocore UEFI payload from upstream source
|
* Build edk2 UEFI payload from upstream source
|
||||||
* Remove CMOS NVRAM configurable baud rates
|
* Remove CMOS NVRAM configurable baud rates
|
||||||
* A common mrc_cache driver to store romstage settings in SPI flash
|
* A common mrc_cache driver to store romstage settings in SPI flash
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ detection
|
|||||||
Payloads
|
Payloads
|
||||||
--------
|
--------
|
||||||
* Bumped SeaBIOS to 1.11.1
|
* Bumped SeaBIOS to 1.11.1
|
||||||
* Improved TianoCore integration
|
* Improved edk2 integration
|
||||||
|
|
||||||
Security
|
Security
|
||||||
--------
|
--------
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
## Upcoming release
|
## Upcoming release
|
||||||
|
|
||||||
Please add to the release notes as changes are added:
|
Please add to the release notes as changes are added:
|
||||||
* [4.18 - Aug 2022](coreboot-4.18-relnotes.md)
|
* [4.21 - August 2023](coreboot-4.21-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
|
||||||
@ -15,8 +15,11 @@ important is taken care of.
|
|||||||
|
|
||||||
## Previous releases
|
## Previous releases
|
||||||
|
|
||||||
|
* [4.20 - May 2023](coreboot-4.20-relnotes.md)
|
||||||
|
* [4.19 - January 2023](coreboot-4.19-relnotes.md)
|
||||||
|
* [4.18 - October 2022](coreboot-4.18-relnotes.md)
|
||||||
* [4.17 - May 2022](coreboot-4.17-relnotes.md)
|
* [4.17 - May 2022](coreboot-4.17-relnotes.md)
|
||||||
* [4.16 - Feb 2022](coreboot-4.16-relnotes.md)
|
* [4.16 - February 2022](coreboot-4.16-relnotes.md)
|
||||||
* [4.15 - November 2021](coreboot-4.15-relnotes.md)
|
* [4.15 - November 2021](coreboot-4.15-relnotes.md)
|
||||||
* [4.14 - May 2021](coreboot-4.14-relnotes.md)
|
* [4.14 - May 2021](coreboot-4.14-relnotes.md)
|
||||||
* [4.13 - November 2020](coreboot-4.13-relnotes.md)
|
* [4.13 - November 2020](coreboot-4.13-relnotes.md)
|
||||||
|