Compare commits
7362 Commits
oryp4
...
brightness
Author | SHA1 | Date | |
---|---|---|---|
aa3cac14ab | |||
f3ecbaeb3b | |||
e8df441ef2 | |||
e824c88b95 | |||
f7cea308fc | |||
566623f0fc | |||
2c8c5cf25b | |||
c70505ff8d | |||
7df47320ec | |||
6ab4a7243c | |||
38c3eda699 | |||
4a2741633b | |||
60f3d71981 | |||
d6d4c5e355 | |||
5b13dc0f5e | |||
f941def9dd | |||
b41369176f | |||
e96476dd65 | |||
9113e145db | |||
bb54e49a54 | |||
be0dfcd68a | |||
ed92a6d587 | |||
b21bd87af0 | |||
f224ddbc78 | |||
e3033b56fe | |||
cfa8635d03 | |||
868c102d2f | |||
f6ed8684a5 | |||
920d350c9f | |||
d241bc97c9 | |||
70657e373f | |||
8d5df37c79 | |||
ed35db9071 | |||
f2182a3f95 | |||
4845b69db2 | |||
be23f04ce7 | |||
320adcbe35 | |||
60acd827b3 | |||
00b81adfed | |||
ccd18d1bb4 | |||
17e48e8530 | |||
2bc4b934c3 | |||
3d80d14cd4 | |||
9bf38c7d67 | |||
3ebe14f3b6 | |||
7691e96ab1 | |||
6270e74025 | |||
732134932b | |||
8bbc07ef23 | |||
eba383c20c | |||
7d4155e6e6 | |||
29f7c4f0a6 | |||
3d638a19fd | |||
e29c3e748d | |||
c9c88fb598 | |||
88d5807314 | |||
76c7176e59 | |||
8c1bcb7fcb | |||
1f250767ed | |||
e623845df6 | |||
7d86f34398 | |||
9712f10f75 | |||
39065ef5f7 | |||
af6616fd86 | |||
41a8997357 | |||
26bcee0a21 | |||
e9af73d419 | |||
5bdac84c6b | |||
2b65ba0734 | |||
1908110839 | |||
969b7008b2 | |||
3d2740a72d | |||
be08c1d6dc | |||
0d97a84855 | |||
dea474624d | |||
f33a7f71c3 | |||
3d49066aa9 | |||
63f0ebf1d7 | |||
b54045fcba | |||
b76ff876ea | |||
04afc530df | |||
b7804fd424 | |||
389ccf1759 | |||
72652ecf4b | |||
f224671b10 | |||
39e592aaaa | |||
21af211807 | |||
1e777a127f | |||
917795eb17 | |||
56e171b15e | |||
8d3f9d36f9 | |||
b591aee21b | |||
7c31352a47 | |||
2981e7999e | |||
8f47aa8c93 | |||
e0377d15e3 | |||
914cc53378 | |||
60b91baf66 | |||
e33fc66fc9 | |||
a88dd4b6fb | |||
8670611919 | |||
32ea6bb1f9 | |||
463a7bc777 | |||
1810a18415 | |||
32d679e8a4 | |||
99e46b004c | |||
14018f3feb | |||
195b0df0d7 | |||
cec2d35cbe | |||
73cc08afa6 | |||
f6d8efd4ac | |||
4e685bf682 | |||
c0ccf6b5f1 | |||
5eb6e55257 | |||
4f86e1da81 | |||
83956aa2d6 | |||
9083f1c501 | |||
3e4395a8e8 | |||
8b53204d80 | |||
23d8611d17 | |||
a2acdce8d1 | |||
ef513773ab | |||
ddd002010f | |||
d48d72c9ce | |||
60a68295b8 | |||
a295ac1d44 | |||
e9fd562a83 | |||
a2eca49d83 | |||
2d26e9bdce | |||
0452d0939e | |||
9f297080aa | |||
344ebf1f81 | |||
f25d58c9a5 | |||
bb41e69588 | |||
0740d96e7e | |||
8a505902c0 | |||
8facfa84ac | |||
3f4c830bf6 | |||
14a9f3e1d6 | |||
37601980fb | |||
d571ea2eac | |||
e04ee222d5 | |||
bf76998c96 | |||
5ec3deac6b | |||
ddc5260e3b | |||
b506020076 | |||
3edf840ad1 | |||
cdea508a02 | |||
a90a44c1b5 | |||
ecbc243a45 | |||
32ebaef73c | |||
33659d246e | |||
769af20640 | |||
737c8c2c1c | |||
9c25a03fc3 | |||
7608699a9e | |||
a122041be1 | |||
f6a7809de8 | |||
6b76edc4f4 | |||
49d9b18f4d | |||
10942bfb21 | |||
b5d244ccf2 | |||
7a593ab0bb | |||
fe33b2dd86 | |||
ea8330ed81 | |||
7201602a18 | |||
4f43b0e7ad | |||
63d5fc6134 | |||
b1c50be566 | |||
3e397ddacb | |||
cc2ab49525 | |||
ab7133df24 | |||
c228beff19 | |||
f6e358483b | |||
89fae18bf4 | |||
177aee2c1f | |||
d385113cc4 | |||
de37109767 | |||
416cc66592 | |||
0b76f02892 | |||
09ea3499e7 | |||
953d7d979b | |||
5dc83818b8 | |||
2911823289 | |||
cbbb09b685 | |||
0d595302da | |||
6fd2191ba9 | |||
968a58df84 | |||
44dddc7b6a | |||
aadef71568 | |||
a3dfa607ef | |||
3730ce839e | |||
0c5b6320d4 | |||
074fbfe8df | |||
5fe229744d | |||
d5bcfe1575 | |||
31ca978c23 | |||
f9fb108610 | |||
dde265f5a2 | |||
fbda323e8a | |||
30f36c35e7 | |||
5ab978f5de | |||
e4594f12cb | |||
c0474785fb | |||
5881f8ae36 | |||
8cfb4dc489 | |||
15672599e4 | |||
789adfabb7 | |||
61ec6e9fa9 | |||
d42125cb95 | |||
ac7076acd4 | |||
8706d7022c | |||
2755539e11 | |||
7fcd4d58ec | |||
3138faa7cf | |||
bfb11bec3b | |||
f4c496d3e3 | |||
269b23280f | |||
cd309ba101 | |||
06798cd53f | |||
33387eb23d | |||
0ab39181db | |||
1ece68a4b9 | |||
f67005db0a | |||
50e8579bfd | |||
c59426f60d | |||
80c79a5dc3 | |||
27ce0ec2b6 | |||
2c5f24eee2 | |||
3e99ba02a4 | |||
e4e26560ee | |||
112c2277f5 | |||
26577d2ecb | |||
39feb7f0f9 | |||
0079200e8d | |||
d9e8263220 | |||
3aaf8efdfa | |||
7f471dd728 | |||
ae54db7926 | |||
1b410d9ab9 | |||
545c532902 | |||
0458a4428d | |||
35446d5551 | |||
6aa0da7b73 | |||
2820d2a327 | |||
57758a935c | |||
85947c0b03 | |||
9d48620c2a | |||
94af3e551b | |||
50c8f2ef36 | |||
659f97c621 | |||
0825d90467 | |||
054b84294e | |||
4687325448 | |||
a4a2a4f033 | |||
3ac92e972d | |||
20abc3517b | |||
e3a3cc1009 | |||
d0096c11b2 | |||
91aa3d88f3 | |||
1f30b244b2 | |||
ba3a719668 | |||
48169e8036 | |||
8256c355b6 | |||
58d18f541c | |||
3dafee8889 | |||
f4dc46adca | |||
fddcae7f48 | |||
1dbe82b5fe | |||
c4e5e91cbd | |||
dc12a3817a | |||
e5197e1778 | |||
632568732b | |||
4f76170819 | |||
5844b23c3f | |||
1e0bffc50d | |||
cf29efabba | |||
b6cbfa977f | |||
e912bb9668 | |||
8cae0860e9 | |||
972cd627a2 | |||
204703dbbb | |||
2dd1218530 | |||
68c73c94db | |||
030e643951 | |||
403d4a984d | |||
5d6d800840 | |||
03d509ff00 | |||
0fbd20e58f | |||
b88d90c5a4 | |||
e81109ac97 | |||
e3c507d790 | |||
1b414d14fd | |||
c29035c1ea | |||
3d606cffb1 | |||
354389365b | |||
fd96da95c4 | |||
f845adc244 | |||
367fff56fa | |||
af88044702 | |||
b72ad6657c | |||
1cad1e502a | |||
ff96f4e77e | |||
8b122600c4 | |||
d0037efda9 | |||
ea19858562 | |||
b731550236 | |||
8b1aa38876 | |||
8c99ebc97a | |||
ab6bcd2c1a | |||
f95dbcee71 | |||
d8796e50f3 | |||
b028636d02 | |||
4f1786dcac | |||
94de3255e5 | |||
e3df18451c | |||
792ed6353a | |||
0030349e2d | |||
2f48eaf36f | |||
5991754451 | |||
72f95ad052 | |||
e4fb5e7155 | |||
5a45ee9fb6 | |||
db7798023c | |||
f5bc43f13e | |||
8b036e1484 | |||
cd6fed2da8 | |||
470f1d3885 | |||
f40e59c838 | |||
c01ce0f88d | |||
462a0c0cd2 | |||
71981cc3b9 | |||
91759029bb | |||
ee0a2f9473 | |||
d7062425d3 | |||
d06fa34103 | |||
5191623149 | |||
4d3aa60ac7 | |||
4ea72c1fac | |||
df0fac1eb1 | |||
b88d7dc34d | |||
5fe0f9057e | |||
4e818c5309 | |||
ce60fb1d63 | |||
5b94f9a663 | |||
931840fbcb | |||
73045b269d | |||
7e0f9edd99 | |||
3325b0359e | |||
2f21f5ec1d | |||
0e1dd77723 | |||
0c359e2405 | |||
f02e9e87b4 | |||
5e1bfee664 | |||
3d4fbf763f | |||
ce391cd426 | |||
185ff285f6 | |||
1b0114b3e9 | |||
d759f96587 | |||
8c9c7f5070 | |||
023846e2a2 | |||
2a4e18ae84 | |||
e9786d46fa | |||
24d765d320 | |||
ebf4e8b66a | |||
6515e56006 | |||
79b548cf3b | |||
00e9c91ff7 | |||
c6d25cfe29 | |||
189c576cdc | |||
01522a0f56 | |||
7f176f2a29 | |||
45be5b3b4e | |||
20a9533946 | |||
a506451d9f | |||
0c7e93f974 | |||
8b4677fbbf | |||
059476d18c | |||
6e5cc4ce7c | |||
182e56964e | |||
f55b711c07 | |||
d5ed888367 | |||
a90439d0bb | |||
c68176c14e | |||
3dadbb9c20 | |||
c8a695550f | |||
01bad20fab | |||
d1a940c753 | |||
ab9c751404 | |||
596b23eff7 | |||
caf80848bb | |||
3b5b66d829 | |||
090ea7ab8f | |||
20c9c557f9 | |||
1c626b01c2 | |||
2c9688c65a | |||
a7f55af995 | |||
550f55e4f6 | |||
d873d3a7ec | |||
cf960a320f | |||
4520fc6af9 | |||
a48debdaa0 | |||
d323d844f7 | |||
c943d6f6a4 | |||
42ea8b2c67 | |||
e47c348705 | |||
7563a32981 | |||
c1a0e128a0 | |||
7fc6114f89 | |||
dc1a6ad62a | |||
614e6defbc | |||
0b1f4382a5 | |||
85eff92756 | |||
76f3dbd433 | |||
63e77650d6 | |||
edf122a8cb | |||
f4842bbc14 | |||
d04378118d | |||
b648bb8486 | |||
6fd812b695 | |||
d4b6b81280 | |||
d7612e9765 | |||
8a6045c3d0 | |||
84aa556283 | |||
47f5a087ec | |||
363ac8b6ae | |||
d459403e65 | |||
55380631f4 | |||
75c4d44798 | |||
428def4a6b | |||
1154bcd60c | |||
c881c9ed2b | |||
164cf29355 | |||
336fd64de7 | |||
1a6c50e418 | |||
fdcbb25bf6 | |||
58831615c3 | |||
cf6d9ac22f | |||
e8cfb88d0c | |||
da7d5fb3ff | |||
1f9f19b995 | |||
02d241245c | |||
c0a4c895e9 | |||
c6322e1f82 | |||
11ecbcf5cb | |||
a0a26a77c0 | |||
df327f4a88 | |||
e34a1f9815 | |||
eed97c538c | |||
590d2d5cd8 | |||
5913a54a3b | |||
ba48ca8e4a | |||
474c5d6214 | |||
4a65d65ab6 | |||
cd8baecef3 | |||
1c4c7ad1e5 | |||
2fb1928b3c | |||
fddf9162a3 | |||
4f24c354ea | |||
7b85123a7b | |||
aab8a22d9d | |||
a2b2ac0ed2 | |||
8dd5b9dd2a | |||
b895d55748 | |||
4b957b9665 | |||
1b558ebbf5 | |||
78113d4897 | |||
74beb5de84 | |||
3fc1f0667f | |||
2768e36f07 | |||
141955ac74 | |||
21710ea3cd | |||
c4e14c2929 | |||
cb7c4fdbd6 | |||
ba604b558e | |||
7224999497 | |||
315251d5cc | |||
264f86526d | |||
3d883ba606 | |||
d74ee60f71 | |||
a4a65b2025 | |||
c23336ed77 | |||
3738e7408d | |||
0acae97863 | |||
520137fab0 | |||
611ee33209 | |||
3d93cd78d8 | |||
c4fbc9146d | |||
8fdf183175 | |||
6759ad39ad | |||
3526b9fcaf | |||
afed45dbaa | |||
0509009f79 | |||
0d50536a50 | |||
8b89f89ecb | |||
2d6b4c84a4 | |||
4b6d368d12 | |||
c7932e267d | |||
e9a5e82176 | |||
03c858fb23 | |||
ddc19b3341 | |||
1d718def05 | |||
3052e9e642 | |||
8e7251c625 | |||
c64be928de | |||
0f910e7db9 | |||
2a13a04686 | |||
59b383e21c | |||
68642ca981 | |||
41a5954a67 | |||
3329e8893e | |||
27069e61b0 | |||
b4283a4fbb | |||
b14b96d29a | |||
a611634de8 | |||
3d98710515 | |||
2dff4f0688 | |||
6b02a20f17 | |||
25807fd5fd | |||
ee53dfd07d | |||
de30b4b3f6 | |||
d9dfd1f2fe | |||
d968b8515c | |||
73505f1f9e | |||
0f90c5d5f9 | |||
acf10d6096 | |||
944bed2c7d | |||
9c1bf3c29a | |||
580c166eb2 | |||
8d8c68157d | |||
59e3bb83d1 | |||
ad4de84022 | |||
3dcd0d98e4 | |||
00a9bc68fe | |||
b6dfcb7d18 | |||
0c8e54100b | |||
1b44a05d5c | |||
acbc03c79d | |||
708a11c5c7 | |||
bf639605aa | |||
db7b444b93 | |||
fe40af98a3 | |||
aa8ae1a9b8 | |||
727ee66756 | |||
1b60e5c5c9 | |||
06f4f65d24 | |||
b95ef282ff | |||
f20c355a1f | |||
93ffdee5ed | |||
8ed0cd0acc | |||
893d77e3fe | |||
b04ea30f0f | |||
0293bbbceb | |||
885e8cb36a | |||
2562052423 | |||
b27cfd62b2 | |||
e9b7623028 | |||
d078ef2152 | |||
e41bf5f373 | |||
ba07f95992 | |||
ba757a71fe | |||
1cf942c18f | |||
6fb386b939 | |||
dc02b1bf13 | |||
5fc070a6e6 | |||
3ced071396 | |||
afa76c5ca0 | |||
b98a33c9f8 | |||
d635376067 | |||
d9b8894954 | |||
95acd31d30 | |||
b80a420369 | |||
aef345bfd7 | |||
677d15e8a8 | |||
e4b080ee56 | |||
17295c8288 | |||
fab89b34e7 | |||
9bcbdbf9e4 | |||
2dfce0fd94 | |||
83775d151d | |||
a077ba53cb | |||
0f666f7f78 | |||
f86375fd88 | |||
68a4c2ae8d | |||
df98b8168f | |||
6ff711c48f | |||
9963aa359a | |||
4db921317f | |||
9b3c5afc00 | |||
20629b4e65 | |||
26fdb062a7 | |||
93902072e5 | |||
372503fba6 | |||
0cec2351e2 | |||
b44923969c | |||
f733703a61 | |||
b8fd150da6 | |||
0f98655b37 | |||
df4955297f | |||
7a83ab7612 | |||
3f234f85e2 | |||
dcbb1e8b61 | |||
3eaa850c6a | |||
a880720ee1 | |||
ce8dfc51ec | |||
606e5636c2 | |||
aaceeae95a | |||
b986e21a6d | |||
dda7793e53 | |||
7b9c647217 | |||
83e9f04802 | |||
7bcf4ae4d2 | |||
b24eadb973 | |||
8cf64473cb | |||
ed0647a850 | |||
520ca9a518 | |||
224098dffd | |||
6a3d64ab1c | |||
9b2d96eee2 | |||
34de4d5c65 | |||
eb62c4ba40 | |||
95d05d8301 | |||
17092b3646 | |||
024c5c908b | |||
b6053bc1fc | |||
5eb95ee391 | |||
b0d0de2ba6 | |||
9314bb6f0a | |||
d123f8d871 | |||
1c295092d6 | |||
0c8d64cc63 | |||
f0c67127a9 | |||
7f19d20594 | |||
017003cbd0 | |||
d9c347fb8b | |||
0b7388f050 | |||
053c901548 | |||
77f1062e77 | |||
c7be0781ce | |||
b154949004 | |||
b2ea2f29b8 | |||
b499c1f014 | |||
80434a6984 | |||
6a57210686 | |||
933d2b0f13 | |||
18c83e1a94 | |||
d3ff66d1fb | |||
2d1b5c21f6 | |||
5ba045c715 | |||
6215ef47cd | |||
133e3ee661 | |||
020d4b605e | |||
d1065a3e64 | |||
3d3e1cf060 | |||
27f888cda1 | |||
7c6f1d570c | |||
fa3f1171ef | |||
c8dfd6d935 | |||
7949a1b73b | |||
bff9823700 | |||
dd032e0c41 | |||
0fe8643465 | |||
d01826843e | |||
4e4938bcb9 | |||
1d029b40c9 | |||
5466261019 | |||
3e25f85d68 | |||
3933ed5e5a | |||
919801e5dc | |||
c3d909dbb7 | |||
5aaaee3486 | |||
2f58bbd686 | |||
5f6cf6105c | |||
a31b28cb23 | |||
f1b1412068 | |||
62389ab04a | |||
21be665c9a | |||
f643a4d77e | |||
ddc8e5d7bf | |||
10e60ab49e | |||
3914561ef5 | |||
b94fb02178 | |||
431ca5eab5 | |||
f3523b4f0d | |||
663c577311 | |||
543c1ee314 | |||
e78ea98bb2 | |||
933e50702e | |||
6c00a6afc2 | |||
7ae510093c | |||
79c09ba3b6 | |||
e46af3fca4 | |||
ebb28c523e | |||
b21bc9d9df | |||
bf7eba7add | |||
e06ebcd530 | |||
1bdb6695f4 | |||
57885b4195 | |||
b690ee5951 | |||
81ceea1592 | |||
a595478428 | |||
c7a5c50760 | |||
87837df807 | |||
03807acfa9 | |||
c6fd32d131 | |||
2eeec43379 | |||
4a9ed707c8 | |||
1e6134d223 | |||
13634ae7d7 | |||
6bb0f8aaa4 | |||
fca7fd2a73 | |||
30138b3361 | |||
adee6a6945 | |||
76e499319b | |||
903454e7b8 | |||
afebab1ebe | |||
898757fc44 | |||
1bb327f216 | |||
e8f62d1355 | |||
2009b99834 | |||
f5b09dbe18 | |||
3e306d48cd | |||
88da16b92d | |||
1fe1904f38 | |||
6920c6f232 | |||
67b3c8f278 | |||
372dfe0e20 | |||
1a06631243 | |||
b164d7a291 | |||
8742577548 | |||
ffd9dd55af | |||
5fe04f33ee | |||
a87ab39817 | |||
7f991b3a90 | |||
a8636ae86b | |||
3bad203be1 | |||
c2aa756ca1 | |||
9092d221a1 | |||
ceccd49ecb | |||
70770ebd36 | |||
72d616c22c | |||
d982274a4e | |||
faf2779959 | |||
73c918c590 | |||
3ea3fbe4f2 | |||
2eaebfc4bc | |||
d5b0aeab2e | |||
62c25351c1 | |||
b9523a4281 | |||
64ae9fe2c0 | |||
7ac0b43671 | |||
10db713100 | |||
0cf76cfabe | |||
4bd12361dc | |||
32ea2abe3b | |||
1397fd3668 | |||
2873cc6804 | |||
19b2ea68ab | |||
1cd374f563 | |||
1cc6c54d9f | |||
132783baf8 | |||
ea2e210548 | |||
98a46fb2dd | |||
63ad72db6c | |||
a9a8b5e36c | |||
fe73a0e7b1 | |||
508296333b | |||
22ac6f6b2c | |||
0733ee6514 | |||
722c0b7b21 | |||
fd1c2f488f | |||
b667e27952 | |||
ae2f046484 | |||
0832e6790d | |||
49d1cf9d49 | |||
38ab95ba5a | |||
f281de82a7 | |||
ea9248e9fb | |||
2d589cfc6c | |||
892711fd77 | |||
b6ab7baa38 | |||
132b5a4262 | |||
50a3d6fcd8 | |||
791ce58e6e | |||
1d6eeff171 | |||
16875ec8e3 | |||
b4a8937045 | |||
5cf4628f4f | |||
642b789e70 | |||
64c9520b0c | |||
41419d9c30 | |||
0b82a2e370 | |||
786292a0fc | |||
0eab62b9cf | |||
47282a90de | |||
b6954fa16f | |||
37626f2aae | |||
b667ce6382 | |||
bbaa1f00f3 | |||
6619afac04 | |||
06fb738497 | |||
c0461f4a51 | |||
2731fa619b | |||
5ee1d23bcc | |||
0a48cfa3a5 | |||
34b149b508 | |||
54cec70650 | |||
7eab8ef8b7 | |||
7f93aa4919 | |||
f47e85fc72 | |||
59d27ec1c7 | |||
1739c99efe | |||
f9b6f2d355 | |||
62f788e244 | |||
39b19f270c | |||
e94d7d8264 | |||
bbb6d5d477 | |||
4b5ab3e734 | |||
b1be5c2fff | |||
d26f5a103f | |||
943a2c90d8 | |||
0712851ca3 | |||
53b79bef61 | |||
6f74bc6028 | |||
8956458bdc | |||
582c2a7980 | |||
cbbfd68481 | |||
5578d91257 | |||
3d9a26e7a9 | |||
5b4bbe556a | |||
f03b8fc370 | |||
c08461dfd4 | |||
18051b3dd2 | |||
51518e585d | |||
8685205ad1 | |||
ea04a53e69 | |||
caa0c0e71a | |||
74905117bd | |||
0863f7cdb2 | |||
6615c60fd5 | |||
f6113ececc | |||
b57f87fb9a | |||
ec1a880c51 | |||
193e9e8529 | |||
b558758554 | |||
a56ff9087b | |||
58a5374d5f | |||
61f22cff59 | |||
4c4d1948ef | |||
c8dc4a3bd1 | |||
7e775cf893 | |||
513d54708d | |||
653f349f2f | |||
947eebedcb | |||
6843755c26 | |||
64b340065f | |||
a2dffba45f | |||
e0a1ca5ac9 | |||
c541567834 | |||
8ccd314ce6 | |||
1952d13a41 | |||
0010b89c67 | |||
10e478c4cf | |||
ab8a094cf0 | |||
823f95e8a3 | |||
9664463c71 | |||
a13959e3f7 | |||
0bb9dcce19 | |||
794d1d7f6c | |||
d3870a2761 | |||
42be899b65 | |||
31327d8b4b | |||
26e7c1eae4 | |||
7739e53398 | |||
84e8037a43 | |||
a03999be25 | |||
7713a2f295 | |||
94a2d74926 | |||
d3089a36d5 | |||
77eaec6587 | |||
f7f661f375 | |||
e6411c0a55 | |||
45b1b7bf4d | |||
7f7ebb7b3d | |||
2495f24bd7 | |||
0e11284b21 | |||
09b7dc51ce | |||
575ee135d1 | |||
a6f7459f38 | |||
87c42e870d | |||
38faf1ab89 | |||
94ac1b1f03 | |||
9ba7bada08 | |||
e00523aae2 | |||
0f8cd41be1 | |||
f1a6554493 | |||
329786c0ba | |||
cf895449c1 | |||
a4471d9bd0 | |||
e1b59960c5 | |||
8cf90c9d99 | |||
3b3ac15da9 | |||
1f7510f577 | |||
49dc2856d8 | |||
13ee2e6d8a | |||
a0c3ba04cb | |||
dada017748 | |||
500ab1c641 | |||
2516a205f8 | |||
e2ce52f59f | |||
c3ec144c10 | |||
affd456753 | |||
3b5b9f4c54 | |||
f69386e4eb | |||
adaeb11021 | |||
45e4ab4a66 | |||
940fe080bf | |||
1e9601c5ef | |||
9e345c8400 | |||
447e27937c | |||
2e2f1661bb | |||
2edcd93c12 | |||
4f1dda7447 | |||
f52367a907 | |||
c827c9b216 | |||
432e92688e | |||
963f7b9e5e | |||
bf0b06d9bd | |||
773c7ce90b | |||
c7139f9d46 | |||
6ac6f6a6d0 | |||
291a14223a | |||
7927d03eaf | |||
06e0ca3a26 | |||
043f3397a9 | |||
bd06a297d5 | |||
7698ebe162 | |||
9a01263952 | |||
162b6484ff | |||
dbc33f9376 | |||
173922fc88 | |||
2a87ef1eca | |||
d4d40c64e1 | |||
238ff1e9c7 | |||
596c6f3a2e | |||
8fa27fa693 | |||
35a30de7af | |||
3a36daf873 | |||
628becd684 | |||
82d2d4f113 | |||
50014613d0 | |||
47cb8b17ab | |||
7c90cb72c1 | |||
bc6a690455 | |||
6fd7f11225 | |||
d205cf7e4e | |||
42f1fef5a6 | |||
2954bd7941 | |||
b14b08790f | |||
a2bc2540c2 | |||
4ce52f622e | |||
d130c0ff7c | |||
0c9bff68d5 | |||
d517c8daa9 | |||
045e431ca4 | |||
17e1c895dd | |||
f931d620f6 | |||
52125c7212 | |||
5bd3de26ad | |||
b0b9bbc41c | |||
0a0945c6a2 | |||
9eb0b19861 | |||
0fd61e67a0 | |||
c7120e38e7 | |||
ca71588620 | |||
682cb3b564 | |||
5bc5b1d024 | |||
f976470746 | |||
b09edd37a9 | |||
36991b2217 | |||
c2c8519ae9 | |||
eabdd0252a | |||
e91785dfd8 | |||
a49e7b974d | |||
acbc491237 | |||
ab5a9f9378 | |||
e8ce421069 | |||
2fba476a6e | |||
d0cb97ef2e | |||
91e6117c09 | |||
f9bc2c4699 | |||
b34b4bf0dd | |||
49509473c7 | |||
3eff900386 | |||
7881698338 | |||
8585fd0872 | |||
7bd043eda5 | |||
0fcdfcd7cb | |||
66e346cad3 | |||
0285d67ae3 | |||
85d7809e0c | |||
da1a0e891b | |||
2751d2922f | |||
909c317b2d | |||
ed62dbaf67 | |||
429c304725 | |||
22e0ffabeb | |||
277f36fc23 | |||
93cf2f1344 | |||
46512ae705 | |||
4f961371a5 | |||
96a7d9e76b | |||
d64b66ba26 | |||
6c705e766f | |||
3c83995ff9 | |||
f493857c9b | |||
370b2335df | |||
ebd4c3d113 | |||
f89bb82832 | |||
c374dee8b6 | |||
750d171ba8 | |||
0daefa54eb | |||
7d3ababd71 | |||
312a277bf9 | |||
8bde652241 | |||
eb93808fa5 | |||
47b393a17d | |||
9a9e9a1a16 | |||
19799b4cd9 | |||
739f83eb0b | |||
fdf85614dc | |||
8bd7d6c806 | |||
a7a6522c24 | |||
44d0a137b5 | |||
a8962492b2 | |||
da48d9ebfe | |||
28a3e62115 | |||
623bdc715b | |||
dfc4c1cc22 | |||
ceda4dbc1a | |||
ab77ba7dfe | |||
35348fc005 | |||
08db7cd0d0 | |||
d599e89d4d | |||
f87e766b5a | |||
7499d96100 | |||
6e03007bfa | |||
c821718ca7 | |||
3743811894 | |||
6bb4603ed6 | |||
cec3a7bf92 | |||
af46b4786f | |||
7065ea3487 | |||
b065e811bd | |||
1cbdb205d9 | |||
6dba745cc8 | |||
5397b4dcf2 | |||
d581878264 | |||
e4ac7b16ef | |||
56178990be | |||
274d509596 | |||
1b102cae36 | |||
983b169a36 | |||
ee1fd54aef | |||
d163253ba0 | |||
1fd4d76043 | |||
b0b659adf1 | |||
690e255731 | |||
7f74f9de27 | |||
b621e08ed4 | |||
66df100930 | |||
3e57c57480 | |||
c557847a9e | |||
a6cfb336f2 | |||
be0e694fcf | |||
e68650a656 | |||
648ed149a1 | |||
6feb1de20a | |||
d4bf7211ca | |||
0ec65daf7d | |||
3d295a9afb | |||
9a1b47e8a0 | |||
d5008a2e82 | |||
d59f9f6e69 | |||
baa1d82322 | |||
a05be2d1fb | |||
cea9415079 | |||
2a8c71c11b | |||
9f5902f7e9 | |||
8c4674ee37 | |||
830b0ac4e1 | |||
d7a8da36ae | |||
c70fbb0e95 | |||
926be77361 | |||
face29cd50 | |||
cc93db9435 | |||
7a4583a417 | |||
926887ced9 | |||
0f209b58d2 | |||
66fb5181e3 | |||
d81d80c554 | |||
952a4473ec | |||
492727145a | |||
b9165199c3 | |||
14701fb6a6 | |||
859a781705 | |||
1dd435c630 | |||
0b1030e494 | |||
6841e63b46 | |||
df6473f2c6 | |||
67b07d295a | |||
7ffd37dcb4 | |||
434928c3a4 | |||
10201aa99d | |||
632ca01a04 | |||
f9e57e4c5d | |||
1087a17edc | |||
6f66ca82de | |||
25765a0dce | |||
1e0842e8bc | |||
33aa2901f8 | |||
51d1f30d0e | |||
2aa30051be | |||
08925df797 | |||
970a62fcf9 | |||
05a50d7e13 | |||
95c61c04c4 | |||
27b4a60baf | |||
4bae323746 | |||
e6f19240de | |||
eb1a2bd132 | |||
c4b846f22a | |||
3b01dd11cb | |||
21b5a9aff4 | |||
a41abea65d | |||
58964ff02c | |||
7039edd2da | |||
b7cbb7c431 | |||
bfadc78bd7 | |||
731e28a938 | |||
ad1eec9df6 | |||
dcb925fef7 | |||
3cc9e42bfb | |||
29b0507481 | |||
835af76fbb | |||
b92148390c | |||
ded5a601b5 | |||
8902dfa2bd | |||
53f4cafcca | |||
c5a22f173b | |||
331fa19dcf | |||
b4eff88cbb | |||
1a59390f2d | |||
97cd5bdeae | |||
41ce3a57d6 | |||
ea2a47667e | |||
06fe0d7828 | |||
80b5fe69f6 | |||
f5f1ff355e | |||
285216ba36 | |||
95098c5fcb | |||
01e3c32f36 | |||
961cb4f04f | |||
0360aea500 | |||
a0efce412d | |||
8ce19f54c7 | |||
29030d0f3d | |||
51eee89c78 | |||
61374317b1 | |||
69cb81d15c | |||
3167fb70f8 | |||
1394612116 | |||
7ab6105aef | |||
637a21e27b | |||
244e3ffcbc | |||
533efb2308 | |||
6dff1fd7d5 | |||
d947639a48 | |||
8ea8940e39 | |||
bb5fa6419d | |||
226f51c765 | |||
052fb7c451 | |||
621ccf8a97 | |||
7f1f2973c5 | |||
55b7dee278 | |||
9bf0dee146 | |||
9acc572caa | |||
c5122f9f1c | |||
0a2d2a9744 | |||
49bbe34829 | |||
a775958938 | |||
6856f56be5 | |||
cfec7a26c6 | |||
204a4e6d9f | |||
64ba070fd1 | |||
f2e14fbb40 | |||
0b0113f243 | |||
ce84a347bf | |||
ef68e98ff4 | |||
69892eedf6 | |||
8d730224ac | |||
34b4a2efd3 | |||
8ef072cf14 | |||
a86704aa10 | |||
24502f4cb0 | |||
484b24234c | |||
960209e7ee | |||
4dfa90613c | |||
eb834d9d13 | |||
4ed3ea668c | |||
2282ed7c71 | |||
180c702bb9 | |||
74f5a3e8a0 | |||
7357f2a0ff | |||
fa78ecacec | |||
55606625bb | |||
5596a351e6 | |||
814bfc792c | |||
bd9c562a9e | |||
93ca15cc83 | |||
205f30bdfc | |||
3f20973558 | |||
75ea925855 | |||
b5b79c8ea9 | |||
6e620c27b9 | |||
fd0f681229 | |||
d7022e3248 | |||
94f3866dad | |||
d353d7e724 | |||
76a3d77f32 | |||
db02f11c04 | |||
8da57ba0e7 | |||
045251e451 | |||
060b27da6a | |||
6f255729f1 | |||
ed4bc980fa | |||
ed3b688e76 | |||
15010cd81f | |||
19080a71c8 | |||
9b230ae295 | |||
8032dcee7f | |||
0f973d6e61 | |||
92809f4042 | |||
4067adb8f7 | |||
2fa482d6c5 | |||
d3df99f88d | |||
33ca39219b | |||
58e9c2159e | |||
70e9fcd0e0 | |||
383e1df639 | |||
d862695f5f | |||
96cd78eae7 | |||
653459016d | |||
2fcef78ff8 | |||
f94a522086 | |||
359d8a63fc | |||
d31e972a5f | |||
be9fcf10ab | |||
58d00e604d | |||
5c511206c1 | |||
ec27898f75 | |||
970d7701c7 | |||
95d78d9e42 | |||
c0f19834f4 | |||
a85634ce3a | |||
340d02b8e6 | |||
b8c3d96daa | |||
155a21974a | |||
44a48ce7a4 | |||
42f15054b1 | |||
c666a91611 | |||
4da9d6b41d | |||
f955ecb4c5 | |||
ded03d55cc | |||
ff63106dec | |||
e486082dfb | |||
7c193b9480 | |||
639d6c7c17 | |||
69bbe26a82 | |||
bd7a7fd4b2 | |||
91c38146a4 | |||
f1b5b0dfa6 | |||
873178bfd6 | |||
a9b3cf3358 | |||
2651351805 | |||
90f8151271 | |||
70b517ee57 | |||
0177c95c16 | |||
b7f602a9fc | |||
17848b65c3 | |||
1909c3ba9f | |||
588c6f006e | |||
130643277c | |||
6a13b520e9 | |||
6a249d688e | |||
20a332a30e | |||
dab7a86859 | |||
ed1c03a138 | |||
1e2541074f | |||
c841880c12 | |||
f20d7d6aa4 | |||
a5b06b9b57 | |||
f151cd2859 | |||
582a6ef54b | |||
5754749830 | |||
f952560bef | |||
7de7f9ab44 | |||
85710cbe40 | |||
1e58a16264 | |||
790b5cf442 | |||
913ea97fbe | |||
1858903e78 | |||
b6b3c62ea1 | |||
eed9c8322f | |||
d2f6b3fa9c | |||
a5215c4eb3 | |||
773d4b8fb0 | |||
da63073827 | |||
ab6f016a43 | |||
de61edde1b | |||
cc3b2db82f | |||
30611620ad | |||
825089673d | |||
4ab1db82bb | |||
4b224cbc37 | |||
b58fd2de04 | |||
a2d10bb029 | |||
7b2edc3b6b | |||
98fb5ffd6b | |||
183092743b | |||
7542fa19a9 | |||
4f062ec34b | |||
c0dfd982ba | |||
f339190d07 | |||
fcfdc695a1 | |||
faea7af32a | |||
2ceac09f8f | |||
d684d277a4 | |||
f1a19f4b81 | |||
8fca63f98f | |||
11b299dd78 | |||
b642b9081e | |||
3c0350989d | |||
28f699246f | |||
856ba070dd | |||
a9a8e77804 | |||
cf0eafbbad | |||
68ba3fffc4 | |||
c0d0aecf16 | |||
3aa7bb0d32 | |||
b63017fb71 | |||
1af3e3c5f8 | |||
89aee538a9 | |||
614568ec58 | |||
89ca478843 | |||
699b1c4a66 | |||
4c7e97b26a | |||
9fe66a755d | |||
d6f9bc3f8c | |||
95a3c79d55 | |||
244ec489f2 | |||
3748fca595 | |||
ff4d6be9f9 | |||
49c4584669 | |||
fd42148520 | |||
00864fdba6 | |||
c368775460 | |||
b41b0f5f90 | |||
8cb45aadf7 | |||
a421ae99fb | |||
d3a6806914 | |||
d2bc30f330 | |||
b0b87ed49c | |||
a2f08aa5c4 | |||
db4e93ba1a | |||
d7b8dc9cf5 | |||
53fc667943 | |||
901f0400b7 | |||
b4aaa6f0ab | |||
2c749ef1a4 | |||
48167b18a5 | |||
c5c35ce238 | |||
e4eba133cc | |||
8f1c707060 | |||
6f4a9497ae | |||
87d8b8cff0 | |||
f1bf2d9190 | |||
4f7d05d2e0 | |||
2d8b6f0554 | |||
8e4f6e90bf | |||
75f0b607fa | |||
397c15026e | |||
ad28240e23 | |||
598a4b409f | |||
9031877866 | |||
1a0c99f55d | |||
42f8b59c11 | |||
fa25954066 | |||
3581a68a98 | |||
1eea841b29 | |||
2c49a22c08 | |||
801b8df8f4 | |||
ec3db634e8 | |||
9bb02a8db1 | |||
e608a4f4fd | |||
37444566a7 | |||
fbd097f0af | |||
72a7f6cf41 | |||
fac2885405 | |||
c311a71429 | |||
189da313f9 | |||
7f53e11425 | |||
9f01005da0 | |||
d5f5dd7984 | |||
addf4f882a | |||
cfde50bb17 | |||
060c7c7f06 | |||
a6d6818f78 | |||
056952ef14 | |||
3e4f586ec0 | |||
8e2e33a044 | |||
65cbe8db1a | |||
7258a2056c | |||
451abab2fd | |||
222ebeef01 | |||
375b65eb1d | |||
173e73d061 | |||
3c9b8f7914 | |||
17cea380d9 | |||
64ec6a77be | |||
c3c71c3783 | |||
0cd873f585 | |||
9c58830a23 | |||
17d619c25a | |||
1d466f2a75 | |||
9acae39bc2 | |||
97a48961e8 | |||
62787d2887 | |||
2d5ecd780b | |||
d98c5d628b | |||
aea0c497f9 | |||
242bed2ec5 | |||
4a0b599ad6 | |||
b3950c7b83 | |||
ff153965cd | |||
cce6d13aa7 | |||
ddfe719538 | |||
c4a81b390e | |||
c377345659 | |||
8d357b521e | |||
d4aef2b31f | |||
8f6a700c0c | |||
8b126e8b72 | |||
6eb5db39d0 | |||
c6d41ecbed | |||
4e154a6676 | |||
f0f1a3ca4a | |||
6b62329cd6 | |||
839c7f8604 | |||
1020ea2010 | |||
6a823bdc67 | |||
d7232b953f | |||
4694b32511 | |||
27a1c924e2 | |||
cef2ca946e | |||
60be9fe7ca | |||
f697fe071a | |||
627b0332c0 | |||
88ab310b62 | |||
c7759d1cf9 | |||
fe3b3e05da | |||
f34fd3cb08 | |||
5135a6016d | |||
6732c2bb05 | |||
2dc689372d | |||
63e77b0252 | |||
05a3c1de38 | |||
e728766f45 | |||
c72ebeca13 | |||
c0ef33fc06 | |||
44bbf6c5e6 | |||
cb26bd7a33 | |||
8d8ed454db | |||
45343719c1 | |||
1663d188f3 | |||
94b91c3ebb | |||
ce14b611d4 | |||
1728e1bc15 | |||
c484e831e4 | |||
1dea2cac69 | |||
f831feb23a | |||
e91386e3c7 | |||
c02dd3f312 | |||
aa15ae0d83 | |||
850b6c6254 | |||
8c17891022 | |||
e53baa6bff | |||
f0ed273728 | |||
a254cc6672 | |||
d6326978ca | |||
2460481025 | |||
277db94ebb | |||
a7c64d7465 | |||
34ec32d54b | |||
b2163ea84b | |||
971c9442f6 | |||
f64f3d0048 | |||
58c2efc8e2 | |||
a3ff9e7cdb | |||
3df6cc9de6 | |||
fca612497d | |||
f3aa88a51c | |||
fbb612f6d2 | |||
cb2561d276 | |||
1c3b6b3230 | |||
4a130ee20b | |||
f65ae7490a | |||
4712f5d560 | |||
a63a56d572 | |||
31a0fdd039 | |||
2eb7c43491 | |||
9ba52321b5 | |||
03e5cc54df | |||
27780ab9a6 | |||
c0b35ccb51 | |||
edef7d476e | |||
71e3932c0b | |||
0f56f83760 | |||
42258e399d | |||
ab1605e91b | |||
70ca3c2baf | |||
6c8f6e6c03 | |||
489da324eb | |||
9f5b0ab54e | |||
b3f5d94f09 | |||
0476f6aaab | |||
7b761e15f8 | |||
08a4d4de3b | |||
e3d9b0aa3f | |||
04c49a5e7c | |||
77d8e0bec6 | |||
c152006aa6 | |||
46b7376e38 | |||
a56fad6ca8 | |||
b4f9c8d86a | |||
66d846f64a | |||
690de6a891 | |||
24fba11244 | |||
a9232d820e | |||
91da19c3bc | |||
56b9ac2a64 | |||
244a60ea44 | |||
37833fc4be | |||
b7832de026 | |||
79f2e1fc8b | |||
c9cae530e5 | |||
8bbadded83 | |||
db1ca86bf6 | |||
038bb70b40 | |||
95e4ffe848 | |||
4c618cdd79 | |||
d6f30923b2 | |||
26c440050c | |||
fb5b63bf0c | |||
c2830c9661 | |||
2189640786 | |||
c6f4738f98 | |||
5ccc5271ac | |||
412e55d440 | |||
a73c9e0f86 | |||
22e16db4c5 | |||
3c4e0ad561 | |||
1db8f13bb6 | |||
c7cd4a6334 | |||
2e10a6d6f3 | |||
53048c2a54 | |||
90e1346d51 | |||
b8a71b46fb | |||
d30e081295 | |||
f372c40b90 | |||
ba7a9eefcf | |||
2a6a79c706 | |||
1eff77bc59 | |||
a6a5b25ce4 | |||
e099176412 | |||
c54a967147 | |||
d3bb087360 | |||
fb39a2f91a | |||
b024e23cfd | |||
a4c74578ec | |||
0f3075ea63 | |||
9d450b2248 | |||
98a9b34854 | |||
78d2469f05 | |||
0d3a1fb93f | |||
38d8a6a570 | |||
16672cab7d | |||
5db03ed14c | |||
dc75d3e6c1 | |||
2dc5c6e2cc | |||
25a7af18a5 | |||
cbe975d8d8 | |||
89709da1fc | |||
cb362cf2bb | |||
9796d4ce4f | |||
1e0d0a721e | |||
59453aa763 | |||
3ff6b2ff9e | |||
79503ef515 | |||
1e889d8082 | |||
f957d29254 | |||
74f18777a2 | |||
cef239675b | |||
db3e16e73c | |||
19b4e6487f | |||
ad0b3fa83d | |||
7542ab94df | |||
5445d4c021 | |||
95b614c0b8 | |||
6695256e69 | |||
ea8b45e840 | |||
b60f7ead81 | |||
2527e3f7ed | |||
d3a89cdb74 | |||
e352ea1ccd | |||
2d4b7d175c | |||
c033ca0cb9 | |||
15cb0d5527 | |||
d99fac1949 | |||
0cd2a50727 | |||
7c04d0e6fd | |||
bfd85218a7 | |||
feb683d1b9 | |||
8ba64cd608 | |||
0d3745b67c | |||
184329c77a | |||
7285c375fc | |||
c5c293cad1 | |||
f8beac6b7a | |||
6b69af8f77 | |||
730c3ba6d8 | |||
5a87c82428 | |||
7dccc596f0 | |||
966d652ed4 | |||
eba8952de1 | |||
69f0289608 | |||
820a31263d | |||
525d8d86c3 | |||
d426176e24 | |||
e48f24d7f2 | |||
926d55cddd | |||
6dadf7f482 | |||
e6a5e6cefb | |||
1b96bff27e | |||
5c35d30ffc | |||
7de2fa3c7f | |||
c0986a4b9f | |||
bfcd046e69 | |||
a52d38b637 | |||
fd6908a748 | |||
f03a6ef113 | |||
21db65d95b | |||
5879b61302 | |||
b35429457a | |||
208cbdb6af | |||
eefdfb5c17 | |||
96f7bd1318 | |||
2aeb6e405a | |||
53adf21174 | |||
898678d8a2 | |||
ecf2b42e73 | |||
bed01d794f | |||
5849f5bd32 | |||
458e2553f5 | |||
b757facac2 | |||
6cba976989 | |||
0dc607f68d | |||
4d0b18480d | |||
d888f61f08 | |||
6d3682ee9b | |||
372c4151d4 | |||
db48680ebc | |||
4c88d105d0 | |||
b41d48a09c | |||
dd3d260e6a | |||
4011ee0cb7 | |||
b7cac4c375 | |||
97112481f5 | |||
69cef8e694 | |||
6bc06983ed | |||
d0de6c2183 | |||
5f5f7ca93c | |||
f3ae1a1209 | |||
e54c13e13c | |||
02e4d32524 | |||
bc54f72d5d | |||
465064f7d4 | |||
7cdc4296f0 | |||
a637fa9310 | |||
6aca25c887 | |||
1b25422215 | |||
abaa4b5a96 | |||
cbedae116c | |||
2951447208 | |||
310698cb95 | |||
c7a0ea2842 | |||
065e2e4a46 | |||
92b6c3cc1f | |||
ee4191852a | |||
df98e6b99b | |||
9e57e94950 | |||
19e66b7c95 | |||
68e642f5cb | |||
1cfb28612e | |||
679b9af626 | |||
55d3a54d10 | |||
37ccd23155 | |||
6cf1a51baf | |||
06b331b4fe | |||
331a3a1338 | |||
a006c5522d | |||
9acaa2b7fc | |||
7865ce89ff | |||
94ffda9b84 | |||
77d00b27af | |||
3c1a1093d3 | |||
3467704cd8 | |||
0ba81d7db3 | |||
d717394384 | |||
f443a09790 | |||
a4e1066ca7 | |||
67448c33f1 | |||
ab46c18afd | |||
7f50bcca93 | |||
ead437f143 | |||
471de17fd5 | |||
facdfe4622 | |||
139cb06b77 | |||
3d7a5bdf58 | |||
8fc68816a9 | |||
7687e7767f | |||
d627f7b4f7 | |||
ee15c2ead8 | |||
a1459caa88 | |||
d97bd1574b | |||
ce655f5bd5 | |||
0c602b614d | |||
09202cce26 | |||
8b703954c3 | |||
81da643c13 | |||
c12b290c5d | |||
8e42ebeea2 | |||
b792f6a2b9 | |||
5790a05237 | |||
668b8ccad3 | |||
536ea50c53 | |||
ae57f1d2dc | |||
aacf35cca3 | |||
d7c88c2308 | |||
f40f4a6e23 | |||
b2893e22e6 | |||
8a58483072 | |||
c61be60b97 | |||
93be5d5d07 | |||
055b874658 | |||
1e3138fe0b | |||
6319ef9718 | |||
2cd2263c32 | |||
80bd3ac5fe | |||
2c3cded4bc | |||
354a2456ac | |||
4ff1d63fc4 | |||
53a43f14da | |||
fa17a9d03c | |||
33a5722bd7 | |||
bfdefc2f9a | |||
4f014835e1 | |||
1312ef49b3 | |||
1f9eadabbb | |||
f442eadcad | |||
6117a2d296 | |||
7f99551d5c | |||
a9d8531c8c | |||
b18726da2f | |||
00e92f4538 | |||
d6c2e054f8 | |||
303a895d77 | |||
711f84d177 | |||
377153d58d | |||
736d4d25df | |||
06cb997b0a | |||
58a309a8f3 | |||
eb6642d8e4 | |||
c740c65fb9 | |||
d597320d8e | |||
4eaa0a929f | |||
020d43e553 | |||
7f5c6d21c6 | |||
d64da18c4a | |||
f860d5aba0 | |||
fb69c56971 | |||
939d07ea35 | |||
34ce8c7377 | |||
d68bb7c84f | |||
af1782cdcb | |||
1c8f5c7f1b | |||
7e00d51c39 | |||
7fcdb9f902 | |||
767ff9127b | |||
59d5092454 | |||
d571a2f8a1 | |||
8900323c4f | |||
1855cb4644 | |||
40c740584b | |||
8cc8b3c14b | |||
52354ea463 | |||
11bd917ca4 | |||
02295db726 | |||
b951bdc156 | |||
3eed673659 | |||
16a01d9f34 | |||
1ecba25d12 | |||
b6392ef4d7 | |||
048c2f2ac0 | |||
eb08ae4ce1 | |||
fae1eb3e66 | |||
c1386ef612 | |||
d864239253 | |||
757509113b | |||
a1957314c2 | |||
b85e305961 | |||
e956379a19 | |||
9c80cb81aa | |||
4a587b8e96 | |||
23c718c93a | |||
010dd4c8f0 | |||
a129f8f2fe | |||
3ee08719ca | |||
2fe63a1ad6 | |||
fd63492205 | |||
c25f00acfa | |||
c651a27b53 | |||
12a1fc2939 | |||
8fc6d18fc0 | |||
08f9732815 | |||
cab460f0a4 | |||
647252ba84 | |||
cbc792c8c3 | |||
e59868c6b6 | |||
6f063d97a6 | |||
8387863ace | |||
806951a1bc | |||
536bb0bebc | |||
1e193d01ea | |||
50a09cfe8a | |||
f0f0f9ad9c | |||
d3909e1793 | |||
757e0c1d40 | |||
8d45f9aaae | |||
db766c702a | |||
563f7afa04 | |||
6603605d75 | |||
01f4f5db94 | |||
ad867f385c | |||
d14f0a04f4 | |||
ebb1694e85 | |||
bbb2f30ba5 | |||
ece3bf37f9 | |||
5a303b2194 | |||
0ace876a74 | |||
095043fcca | |||
2c40670fad | |||
5b87a85001 | |||
6b5e75d837 | |||
52fb64be42 | |||
b61ee16fb3 | |||
a0d447072a | |||
5ffb96df6b | |||
85e9c3b640 | |||
ff090bd8a7 | |||
3e5e3f464a | |||
65c9772c2c | |||
5930263c10 | |||
88512b00ad | |||
c8a0417574 | |||
65a6d1714d | |||
5ba16d02b6 | |||
64262a6183 | |||
3596a5ee67 | |||
ba7ab73900 | |||
f5d159675a | |||
458a215809 | |||
79bca89aa1 | |||
b60cf3d135 | |||
6a0c6d7124 | |||
873ebf201f | |||
bd36a313de | |||
5f15e37bcd | |||
99a8287f08 | |||
2d48238618 | |||
c51e1682d5 | |||
676ef5b38b | |||
4e18d17c3c | |||
03dfc21257 | |||
599d46bbf4 | |||
dd50567579 | |||
76653f638f | |||
e49d03395f | |||
af7df0fd32 | |||
6bdc000112 | |||
3c4346fc8d | |||
c700346c25 | |||
1cf016ed31 | |||
f6d6279f0b | |||
4dc5752f98 | |||
36d612c0aa | |||
7a6f888e8c | |||
71b9fbabb7 | |||
829adab311 | |||
9c0c8b0b64 | |||
b470624c74 | |||
d84ace50e3 | |||
7f4f99d5a5 | |||
28a7d9bf79 | |||
af656f9292 | |||
027f86e6af | |||
4a9de553c5 | |||
8d6fa0037e | |||
65e803ea10 | |||
9df40bef7a | |||
9a04ec6c9f | |||
cd3481bbd7 | |||
725cb543d2 | |||
0d1ea1d8b5 | |||
54216dd9aa | |||
3749c9f1c4 | |||
683bc5a949 | |||
456e500155 | |||
8f0075c379 | |||
38880d236f | |||
6e039076ab | |||
702365e186 | |||
9cbdc8fbe5 | |||
b0ab545e7b | |||
38c13b50d7 | |||
af1534f5af | |||
108b99bab8 | |||
4abc5c5e29 | |||
f362bbd5c7 | |||
9802f1ee54 | |||
55822d9587 | |||
9ab161d7a1 | |||
d710c6d5a7 | |||
65b0723bfb | |||
7266319ee7 | |||
e46eacbe65 | |||
ce10b6f821 | |||
171ad51b42 | |||
77c226ac9b | |||
ea83139345 | |||
d53137a536 | |||
e566e1547b | |||
431c0b487c | |||
11deb82115 | |||
9693d00f99 | |||
086b251f0c | |||
1c57c9846a | |||
fefb8be3d7 | |||
aa1e7d8ac4 | |||
ce1ef69850 | |||
27172065fb | |||
981e61bde9 | |||
e4fd561ab7 | |||
abd561b717 | |||
9dcdec5c2f | |||
8cb14becbc | |||
71a2a3d8fc | |||
7bc92f03a6 | |||
bfe220c4cc | |||
35047599b2 | |||
b8abde7a8e | |||
1f5d1682ac | |||
6f5ead14b4 | |||
58132cc202 | |||
695a3ac769 | |||
bcbab2497d | |||
5eb77928e4 | |||
0154fa57ee | |||
afd74d2fb3 | |||
8dad3f1afa | |||
2eb5c1e83e | |||
41c62914b4 | |||
fd6a19e408 | |||
bcb9321ac9 | |||
50a9a87d6c | |||
e573e40f33 | |||
7d00b7c673 | |||
c0c9fddaac | |||
257881e797 | |||
a2ed560111 | |||
a77c7ef758 | |||
7ce343d7a0 | |||
f49f3e6aa4 | |||
42af60c166 | |||
e67513e353 | |||
db20a08b65 | |||
8757b23ae9 | |||
96b8517ea6 | |||
d02362e354 | |||
dd1b0ec06e | |||
bd054832d2 | |||
8e9906c19a | |||
0648267c1a | |||
472d83bb0a | |||
8c1154dc61 | |||
c876762d67 | |||
281d6623f2 | |||
b8c0e326a3 | |||
e572765be1 | |||
dcb59dcec4 | |||
32cae13714 | |||
d2bb4858f3 | |||
a9e4567c4b | |||
6ede54f065 | |||
d81a145587 | |||
1b39cb1ba0 | |||
001bf0c7a8 | |||
8bb97348f9 | |||
7cf9c74518 | |||
dcce5a33e9 | |||
66ff4fb1a5 | |||
d59c79987d | |||
646f7b8443 | |||
148d6f9203 | |||
6285a60f82 | |||
855fec0a1e | |||
2a37ba6029 | |||
6bafaf432c | |||
57a9e6a9e3 | |||
8a0e6b5c74 | |||
d7d74f106d | |||
204ffcb98d | |||
4fcaccf5da | |||
4eac0d4d83 | |||
3cef7d3f12 | |||
df9337d3e3 | |||
8e35a5e93d | |||
5606a12f90 | |||
1b02483ab6 | |||
3f3f93bf06 | |||
2dfd48b26d | |||
84a60fbb1b | |||
a159075d3f | |||
b25bf3458b | |||
382c83e6db | |||
4078d14a7e | |||
18a3c230ff | |||
8677d2ddb8 | |||
6b85c292c9 | |||
b9d0072765 | |||
3422cdd92b | |||
0b6b134c11 | |||
71043c1dc1 | |||
f731132fa0 | |||
9faf74ca96 | |||
6230d26ad1 | |||
eb23fbeab0 | |||
dadb248333 | |||
007547a553 | |||
961a88a115 | |||
fdb3d07502 | |||
88decca14f | |||
d99de5db5b | |||
6503474efe | |||
547d907b90 | |||
bead4ed4db | |||
863d3eb935 | |||
db95b24c74 | |||
a0ab63e4b6 | |||
063dfc2944 | |||
2571ecb890 | |||
8ebd8cc348 | |||
8324fe9211 | |||
f6ca89c224 | |||
8ec426859f | |||
11b0ba00b4 | |||
9c7433ec55 | |||
b33778e71f | |||
13b2427f5e | |||
d86260a134 | |||
1d3e6eba02 | |||
c9f99e5632 | |||
a96b5ea30c | |||
4c68d8467a | |||
1e67adbc73 | |||
71b8ee0da4 | |||
c5a7d604c8 | |||
684eca7dd2 | |||
8c77e58cd6 | |||
5a53c4ddaf | |||
e4f7c8fce8 | |||
94ad304451 | |||
1b67362971 | |||
ce61679c69 | |||
254a7c0f81 | |||
7e28c846c3 | |||
9f59d2a906 | |||
daf6b8bc76 | |||
f1ee2f7dc3 | |||
18fd3a2315 | |||
799e79d166 | |||
3bcb7619b4 | |||
647abfd1d4 | |||
2c828436a7 | |||
97e57cfd51 | |||
abaca2a399 | |||
24b5227091 | |||
71d60ce506 | |||
bd2c252094 | |||
6b324d9919 | |||
bab976b858 | |||
2d8bc345cb | |||
4202a2cbf6 | |||
3f0de3d3ea | |||
6ba83484e6 | |||
5013c60a87 | |||
386ef64fb2 | |||
74d7192f22 | |||
86f4f2fb34 | |||
33201ab49f | |||
fda10a44b6 | |||
d2e7c0f30d | |||
06cb756f02 | |||
93eeb299c4 | |||
80af4b3ea1 | |||
09f7d67c9a | |||
2e52f0e243 | |||
a56a5c2cf8 | |||
ef959b72bc | |||
24548e4c56 | |||
4bf1385c6c | |||
ede988fb53 | |||
6e133fa470 | |||
6a50e555fc | |||
572db7f4c7 | |||
10bd2a27b9 | |||
62ceabc4d1 | |||
bc1533e089 | |||
f232b19e56 | |||
9ec479de47 | |||
eeba3e7915 | |||
01025d3ae7 | |||
ce7d818254 | |||
a07b09ab71 | |||
d8f2dcebd8 | |||
a9b08f2b61 | |||
eb988dfcba | |||
cd46e5f63a | |||
51d94c7d73 | |||
1cdeaea8d9 | |||
ba2e354af4 | |||
8473e8fd5f | |||
28857ce317 | |||
d97d860f23 | |||
7333901701 | |||
6af7261b2b | |||
5afd9b4e87 | |||
d5ac7b3c85 | |||
fdb4503e62 | |||
37cae5cea2 | |||
43a9ffb590 | |||
60a8a7de5a | |||
295f6bf8d4 | |||
d1b8589583 | |||
40c645b137 | |||
3dc221fac3 | |||
39aee649da | |||
a4aa169aab | |||
408232e4bf | |||
5ebf107305 | |||
fc2f304f06 | |||
dc15867e3b | |||
928584c31d | |||
16f08cfeaf | |||
b66a5551d5 | |||
3bb076e521 | |||
ae51ee8c95 | |||
a434f48bbe | |||
63c952a66c | |||
340023fd28 | |||
d88039cbfe | |||
b2e7fa515d | |||
3a795e0b23 | |||
3bd83b27af | |||
58fd7f4acb | |||
ee615d67b3 | |||
55f30fdb3e | |||
e6220e7170 | |||
0503274c74 | |||
8beaf0f7e4 | |||
edd996103f | |||
fe49f36ca8 | |||
58a498e257 | |||
1c611726d4 | |||
889cb1ff81 | |||
c4731fa9ee | |||
ee004de969 | |||
166de9997a | |||
7779a08c61 | |||
2ca55f2c18 | |||
64640d3416 | |||
64b4253a3e | |||
79a372036b | |||
27830d0ec3 | |||
91f5da4776 | |||
6066807dd2 | |||
53e5874449 | |||
11ba8ebbcc | |||
34fb5ab4e9 | |||
16b6937ea7 | |||
8bd2b5c657 | |||
b39abc7bab | |||
f7926461da | |||
242bac0e16 | |||
bfdb7551b1 | |||
0df754bdb0 | |||
a239cf488a | |||
d686ee24a7 | |||
7465c16e73 | |||
a8a0d394dd | |||
3a48e52dfe | |||
c1700e02fa | |||
8c0168ab86 | |||
19b534d5fd | |||
22bb3f0f3e | |||
8843b6fe1d | |||
1a02f0935a | |||
aae52ef4b3 | |||
f4e3f15b44 | |||
5dd832c5c8 | |||
5700a1e7f0 | |||
cb40888c8d | |||
87f08bea11 | |||
d22bb255b2 | |||
2cb2b185da | |||
f3cdd0110d | |||
6b248a2da3 | |||
aebf534364 | |||
dcbdc08dbc | |||
22c616e6f5 | |||
c364f42147 | |||
d8f669ef55 | |||
8845cb0182 | |||
c51a7cdde4 | |||
41e2b5879f | |||
eb2897b113 | |||
6974bcd28e | |||
a6076cfcfd | |||
48c1bf491b | |||
2d2815a7c2 | |||
69ffebf5cc | |||
aad4199670 | |||
80d5449856 | |||
e56c738f32 | |||
4814492e3c | |||
9091a94528 | |||
d6656bed83 | |||
b8b0c66cff | |||
32169720bb | |||
c1be66ee60 | |||
e0850ad6a0 | |||
81c81e396f | |||
3b3d8025e7 | |||
43662b53cb | |||
d8bbc6c8e4 | |||
5ca756fb19 | |||
2f872e9675 | |||
0a12d2bdc8 | |||
6e0de5d9cc | |||
ef4f2cd38e | |||
59a220b914 | |||
ab5ced7de5 | |||
6dce55ea7d | |||
93aa0903a0 | |||
2a1fc73fdf | |||
c53ab57017 | |||
7bb960d7df | |||
5f5e73cddd | |||
ed7a474db5 | |||
b37c51d3b6 | |||
baf82808ae | |||
2e3cb63925 | |||
c202be793f | |||
449c6d981c | |||
4a58d14506 | |||
0572d557ac | |||
f9419eadf1 | |||
648ad8c5b1 | |||
ecb2a84690 | |||
92a3b67eae | |||
9c1f78d3e5 | |||
86dfcb80ce | |||
0a96a1ca06 | |||
cecb7a75b8 | |||
c3529dd804 | |||
ed7b1c4ba0 | |||
545d9992dc | |||
97439ecc01 | |||
8193eabd8d | |||
a9a92ac961 | |||
d31cbc74d1 | |||
77b71cf9d7 | |||
bb0c68ff9e | |||
d0eeba38de | |||
5259568bda | |||
9d78308194 | |||
5f8f05b1b5 | |||
c04d3ddbae | |||
8e0bbb30b6 | |||
b2de1a3368 | |||
885efa1102 | |||
dd9481542f | |||
cd1006cb0e | |||
41b92fef81 | |||
caa8a20d87 | |||
ea025af4dc | |||
c39eb20027 | |||
b1ef846da8 | |||
903b3ff356 | |||
6255c13927 | |||
6875231472 | |||
d7a07c2873 | |||
ff865a329f | |||
f501128536 | |||
f9aec6e298 | |||
ac02857b97 | |||
c56df92d90 | |||
0e61d3bff9 | |||
e40cdd5ae4 | |||
92904bcdff | |||
b403849a43 | |||
b096d625d5 | |||
971ea286dd | |||
9e4968a623 | |||
70c6fb4251 | |||
fa77ac93c5 | |||
fadda4ae6b | |||
649709c6fc | |||
5557fbe406 | |||
4a53ba738d | |||
8554954f9c | |||
a5543aeae6 | |||
99eee16a13 | |||
9b186e0ffe | |||
9ab8a78d7e | |||
36149888f6 | |||
0f5f2ceb55 | |||
e4d660b2dc | |||
9922a8b363 | |||
854491db63 | |||
0c9549a058 | |||
5bd68097cb | |||
8336c72524 | |||
9c0bce5f28 | |||
7627208ad7 | |||
cd3a99eaf9 | |||
1f17ba5563 | |||
6466281faf | |||
50d3a64dcf | |||
35e9ffe8cc | |||
198c6291e0 | |||
22c9335846 | |||
400f1aade8 | |||
2ba4b1bebe | |||
1d85464df8 | |||
9a127bf2d1 | |||
c2c5801dcd | |||
ba7fee9159 | |||
6319ee2cf7 | |||
6fedb56fd4 | |||
6ed71fd2ad | |||
5d65c819a9 | |||
c987d7b7d3 | |||
e3bbd72857 | |||
40c1a41b2d | |||
2118fb1f69 | |||
ebafd4b905 | |||
2e9a396ffb | |||
d1c33aeef4 | |||
e479b3e356 | |||
f278eed07c | |||
05e531946c | |||
f06e993a87 | |||
5acb1a0d0c | |||
0de34dc323 | |||
ca75c8f8c1 | |||
a0bd3e9a97 | |||
64335176d1 | |||
1611f93a30 | |||
53c6eea2d4 | |||
0bde1829e7 | |||
d5e336720d | |||
d1d17908fa | |||
7a66715ad4 | |||
afcd48a2f1 | |||
2f7c7e8a77 | |||
d19ebe0bd5 | |||
c7b27b3ad6 | |||
43169fe86d | |||
d821c7267f | |||
a5935c6307 | |||
dd792f2dc5 | |||
b6940dfdae | |||
7ecc366470 | |||
3708f54bb5 | |||
6e64c01d08 | |||
7d1a037f88 | |||
6a6550be4f | |||
4ee03dc445 | |||
433343eaaa | |||
0cc560fd3c | |||
0cb5eace6c | |||
3e52d7955f | |||
ce3c77c305 | |||
211e391a82 | |||
b2b18e1064 | |||
8dc16a9ce2 | |||
1aa5caf2ac | |||
d54a5b294f | |||
573e6ded9f | |||
5787bd21c7 | |||
ffe2ced6e4 | |||
1dadb8c01d | |||
74add29738 | |||
fdc1b541ae | |||
6df8ba45e0 | |||
0a60d10954 | |||
d5e70b2131 | |||
899acf19bf | |||
32867e77f1 | |||
e05693e938 | |||
ac66a272d3 | |||
9a7198392a | |||
6665c296e3 | |||
ca0436f7c1 | |||
4141394975 | |||
a4b391bf81 | |||
0fb2e664ce | |||
90753398b6 | |||
f036b1d5e7 | |||
9fd5c69b79 | |||
6d6831e5ba | |||
ccbfe76a70 | |||
382645d237 | |||
82b0635969 | |||
b940728295 | |||
8eaab2bbe7 | |||
c8062ff9b4 | |||
2c06ef9f8c | |||
95a5e72213 | |||
266e6557ba | |||
a8602a17bc | |||
1491ad5f78 | |||
902575f9d3 | |||
538bcf54c6 | |||
6739a6a89f | |||
72d7181e4f | |||
a959f0ad76 | |||
0834b222c9 | |||
3c1b7b485b | |||
325664f021 | |||
b333c6a35f | |||
f3180f07b5 | |||
8f4b015759 | |||
908be4f6ed | |||
222c44796c | |||
e66ce2f418 | |||
8b42a05fed | |||
d6b58d5c76 | |||
7758b47e3b | |||
15d75aa999 | |||
0bcdd40d78 | |||
e8696e1b07 | |||
0ec7a9f174 | |||
81fb981e8e | |||
6aaa4f9198 | |||
cde4f3b279 | |||
a52b93b262 | |||
053a45bcdb | |||
0b5802449d | |||
edf1ffef9f | |||
374a382edc | |||
9c28ab1d1a | |||
c08b645ffc | |||
dbf1b63b11 | |||
41a162b7a8 | |||
37c1f51c7c | |||
70b00b061a | |||
d7542cb338 | |||
47d61a7c14 | |||
d486fc3706 | |||
f646077880 | |||
8d0a063810 | |||
969a2a9a30 | |||
35ef2e5606 | |||
6ce1391d1c | |||
33c6171bde | |||
3d4ff8498c | |||
8c551cbe72 | |||
28d18ade43 | |||
c32df9aa16 | |||
e54e141d6c | |||
6da62684de | |||
6d169aabbd | |||
68e3826071 | |||
eebf63c0c3 | |||
5c10eaf8c2 | |||
b526d0e934 | |||
adb8007515 | |||
01af0f8ac8 | |||
5b9957be0a | |||
559f3d49ad | |||
865180d681 | |||
00d71ffca8 | |||
e01742bf3d | |||
56c09fb5fd | |||
10d2af04e7 | |||
2f862d3bf4 | |||
8192fa1fa3 | |||
482789b015 | |||
8e8a2b496e | |||
6cb18a5b34 | |||
bfb35f2488 | |||
976e09b021 | |||
46b63bb033 | |||
163dbddfe9 | |||
2f707374d0 | |||
71815c8434 | |||
fc8ad3739b | |||
fef762f613 | |||
15e1d97463 | |||
b34576b03b | |||
dfdb5a05b4 | |||
19fc004e9a | |||
8c9ec5af53 | |||
165cbe505a | |||
37f4f64fcd | |||
ccfef8454e | |||
685097ba3b | |||
8d16a14367 | |||
d44e08ad9f | |||
9d8baea15c | |||
ad7ead7cbf | |||
67c48a61ae | |||
318f629fca | |||
2d9ae536fe | |||
afa5383fdc | |||
d736ae5b57 | |||
ee3f796200 | |||
feb27dcbf3 | |||
ff786b5b73 | |||
2910a541f8 | |||
3ee699abee | |||
f105a32936 | |||
08545aa302 | |||
bf557e0d43 | |||
84ecd89830 | |||
05e88fe5a5 | |||
e6841610be | |||
a965fc5e75 | |||
9b3e5cdc20 | |||
ddbe8322a5 | |||
dc69b15ed7 | |||
854de98d64 | |||
dd670893dc | |||
b72ecf8963 | |||
24802076bf | |||
fceaaccbe2 | |||
981ef52e87 | |||
55d941033a | |||
e33d253793 | |||
90464073e4 | |||
51cfe49fd8 | |||
eaf44dc57a | |||
8bbe850103 | |||
62c62885ea | |||
08601b29aa | |||
f9c12cec37 | |||
796b61c2a1 | |||
4456f32b2b | |||
f5a07b0146 | |||
17e9490e80 | |||
4326128fd3 | |||
249aede238 | |||
80254118ac | |||
62ea7a8165 | |||
fe242cea1e | |||
8cbafe8723 | |||
50cbb933a3 | |||
634c7a4450 | |||
35fb55ac3d | |||
9906ffe529 | |||
2b4d2edfd6 | |||
2c7b6eb9c9 | |||
552da5685e | |||
56167c5757 | |||
534cce3ba6 | |||
63a4e6bd76 | |||
47ed2714c8 | |||
87a9d8ffe6 | |||
b5a032859a | |||
3dedfcbbd4 | |||
40cb3fe94d | |||
bb4bc777b7 | |||
b1d3f3d7bf | |||
2172a6336a | |||
051fedb8d3 | |||
95be012c11 | |||
558d8b79e6 | |||
0754e00ace | |||
f31ab7a497 | |||
79274e01a3 | |||
ea13dc3562 | |||
57241a27d1 | |||
e3929efd1e | |||
58fe703e08 | |||
866eff06ed | |||
ee57065dad | |||
9260ea60bf | |||
5226301765 | |||
d7a354dab0 | |||
11734053fb | |||
8f6af5ba13 | |||
24d2ee9447 | |||
4c6171397e | |||
4c548919c6 | |||
4eee50642f | |||
3ea0202925 | |||
1a2a9d7053 | |||
3c53f55851 | |||
c1a527a37e | |||
3a183bc03f | |||
c1ef4f3356 | |||
b26f0f924a | |||
f4a51abbc7 | |||
cb0cb84d62 | |||
743242b4aa | |||
bafe55c36f | |||
2eaa25a9d3 | |||
1e13a2cfd6 | |||
310ef527fb | |||
aec6f06a52 | |||
9e0f964af5 | |||
61daf9b738 | |||
e633d37000 | |||
6e303aa89b | |||
3f1e034835 | |||
c7beb4f317 | |||
53ad07a1ec | |||
8c822189bd | |||
16d1eb68d2 | |||
feafddba8e | |||
1bbdd0ad01 | |||
67fa483235 | |||
54fda51e0c | |||
0600aa64c3 | |||
7ebebf72f8 | |||
719b690e99 | |||
7bb9319b87 | |||
3e523b495c | |||
b5f6320c69 | |||
f6ae1a9080 | |||
4519c0d810 | |||
12e0be32f2 | |||
3101c737cd | |||
884a70b379 | |||
8e38a67bac | |||
1ae366f071 | |||
28735a17f2 | |||
40f0dafd14 | |||
aef7007b0c | |||
42f7dc7493 | |||
4162654f1b | |||
82226f6e5c | |||
bf8f57d618 | |||
d985e9dbd2 | |||
9afa18f0e9 | |||
6eec8beb1b | |||
5b5ee5830f | |||
b15946d72c | |||
0acb78b21f | |||
872e84fe30 | |||
3d51e83347 | |||
c68456ee4b | |||
0d28b978e5 | |||
12a448224f | |||
d0627c7595 | |||
f27a41f207 | |||
225d9c1af4 | |||
3c06f1e522 | |||
272ce9a579 | |||
cacdb85979 | |||
113a1bb255 | |||
3ed0b977eb | |||
0507e069b0 | |||
2fffb5df88 | |||
f9ee87ffbf | |||
ce179729f0 | |||
0ad766c0d5 | |||
6656f3151f | |||
74d9dac51e | |||
592700b5a6 | |||
575eb73951 | |||
7fb661fa8a | |||
2af14fee52 | |||
4fe0b40e1b | |||
07046ca217 | |||
6c0961ae43 | |||
b6f45efd64 | |||
5da5156ce3 | |||
86e05e8e73 | |||
7866166fb4 | |||
6b89089b0c | |||
aa1efece74 | |||
71707e8ffb | |||
3f88086c27 | |||
2d2c27e4c0 | |||
edcde0ba7a | |||
4c0dc4ee91 | |||
a4f701e114 | |||
37e83250e8 | |||
15c8771868 | |||
9362dd75d8 | |||
edee16ec8c | |||
97ed78f647 | |||
e06d786d0b | |||
11ef816cf0 | |||
4ef89f74f4 | |||
ef4946a685 | |||
a05a2b20c6 | |||
623e3a3963 | |||
e7bedaf364 | |||
e097e3e1ef | |||
6e7d493ef7 | |||
eb32d5bbe2 | |||
c598fd8d4a | |||
b082e9ca36 | |||
12ca13163d | |||
cad92ecca8 | |||
0e93a6f184 | |||
cf827af370 | |||
5c2a2e1bb3 | |||
09b573ff75 | |||
88a54db592 | |||
ac0e7448e4 | |||
8da40efea3 | |||
4a7d481180 | |||
829b228ad7 | |||
15081fe01a | |||
0c79f272fb | |||
dc818cc39c | |||
e7aaf04cf5 | |||
c3ff7d6900 | |||
204a8a4a64 | |||
e231156d03 | |||
a8033116cf | |||
d4440dd7bb | |||
ed6c999904 | |||
8880baf6bc | |||
301e03fd4a | |||
5eeb8853f0 | |||
505ccc8b51 | |||
94246660f1 | |||
9a070dc746 | |||
2813c7c10c | |||
ea66c9899b | |||
e23c8038f8 | |||
07ebe4ae02 | |||
a4ced631ec | |||
32a66227bb | |||
a8da070a93 | |||
61dd31c8c1 | |||
061444ece0 | |||
d6a17e22a3 | |||
022c4a490c | |||
0fddbc75e3 | |||
1d703a7e6e | |||
90044bd6d1 | |||
15aa0a56ce | |||
1a7d203868 | |||
4bd1012aa5 | |||
4b1898484e | |||
b9dd0371f1 | |||
8d9fb76c41 | |||
0b07e36a1f | |||
f6421311c9 | |||
4d6c39d4f4 | |||
78381094b2 | |||
c79c64be95 | |||
e4500c6530 | |||
8cab80c84f | |||
b56ea2503f | |||
268dadbcc6 | |||
a4f4b0a922 | |||
9adc33d0d0 | |||
e4b65cc945 | |||
784c9c693f | |||
7a5dd781d1 | |||
e3c9a04f8b | |||
407bd58da1 | |||
11ff753407 | |||
b39e93e56f | |||
6296fbac6c | |||
5f5c721dde | |||
45194b19f8 | |||
e4893d6b80 | |||
d7ad1409b9 | |||
d0959dc800 | |||
542abc1f49 | |||
728399da76 | |||
82390fad49 | |||
a47dc10ea5 | |||
1659218d7c | |||
e27bd13088 | |||
d95d2645f4 | |||
50c201a102 | |||
4a6041814e | |||
fbe044235b | |||
14e215b241 | |||
12a4f091e7 | |||
5b0929f9d7 | |||
0c7292f993 | |||
a1af21b658 | |||
dd50efd43a | |||
1c3849d5dc | |||
5ace0b09ca | |||
302098c42d | |||
81decdf2ee | |||
1efca4d570 | |||
b992df9891 | |||
912edb4f0f | |||
7906d0e122 | |||
96edcc1c98 | |||
6ce0d1a756 | |||
0c4ba1b859 | |||
481018ad08 | |||
f8f4eda8b8 | |||
5e6319b0f5 | |||
5c3c529146 | |||
3c2cdb6e57 | |||
ba5a2a189e | |||
7c5c4fdf18 | |||
2a976f0d07 | |||
f397bec457 | |||
44f676afc9 | |||
dea0f21c4b | |||
53d7e708e5 | |||
acfd770d0d | |||
11f16c81f0 | |||
807d3330d4 | |||
b807a1d035 | |||
6a7703f644 | |||
4d8da8ed77 | |||
34e43f602f | |||
4ce6ef9725 | |||
9310035594 | |||
c1d8b21e28 | |||
3ffda28c8b | |||
3829b98aeb | |||
83a3b34178 | |||
e441b31917 | |||
61f0a0882d | |||
d7a5d9e9da | |||
3b89102935 | |||
5a4cedb9c1 | |||
4aa31ac3f9 | |||
e6b4597fef | |||
d34dbe5888 | |||
9d6008ea5b | |||
f14d208eb0 | |||
7e5b28feb6 | |||
923215184d | |||
dfdf81c32e | |||
298732e190 | |||
7315b4064d | |||
21e61847c4 | |||
51bb3afe9c | |||
77ea6ade13 | |||
20d1b9e5ad | |||
d2032719bc | |||
c8dc2c1204 | |||
6256fb63ff | |||
f165bbdcf0 | |||
385f4bb965 | |||
5f3b6545f4 | |||
d4330e7dfb | |||
d9ece3daa9 | |||
2bb5ecbcd6 | |||
ae81497cb6 | |||
e811c9a44d | |||
44b60eb503 | |||
1b3b098434 | |||
d436b1626c | |||
68b2b8fead | |||
36faccfec5 | |||
dffb1c8933 | |||
90c3df7a21 | |||
a6df40ca43 | |||
23c40997b4 | |||
aebbaa6c33 | |||
60e3af138e | |||
104567425c | |||
74a986db9f | |||
a3b46521fa | |||
5ef3796bda | |||
7a759080d8 | |||
821fb21977 | |||
4a2ce029fb | |||
f167df4d3f | |||
3289a3916b | |||
97c57fd079 | |||
fda545d5dd | |||
32282c62c6 | |||
f87b92e986 | |||
0fdede09e0 | |||
bc069ea6b3 | |||
a84823d078 | |||
6e827a8b24 | |||
7473671b8b | |||
30e743e7cc | |||
c7338085fe | |||
6230d41318 | |||
95a95b1a77 | |||
9cd85d0859 | |||
3ca998131f | |||
55606d43ab | |||
49d8aa7043 | |||
d6f73972cf | |||
01c9dfbae6 | |||
1da0340aa8 | |||
91795a6da1 | |||
c7921cd859 | |||
16e3d6acd4 | |||
e8183599ae | |||
247ec33eb9 | |||
1ff8768c8c | |||
83b36f8276 | |||
e9efd32485 | |||
9f15dee56d | |||
db17ebccee | |||
a28e2358c2 | |||
9fb599bd9b | |||
a41c825068 | |||
e19d33bf72 | |||
21594fd161 | |||
5c1455495e | |||
3813ca521a | |||
764167b8ca | |||
9be583e65d | |||
a125670aa0 | |||
93b7fd1d4d | |||
1fe5fcf30d | |||
246b943056 | |||
aec951eb3a | |||
9c599c8b30 | |||
20ce90154e | |||
1a903f9878 | |||
67d9518586 | |||
7dab99856d | |||
dcabf1bd97 | |||
432cb4035e | |||
a193308fab | |||
90a825a7bc | |||
04abc869ae | |||
38453784d7 | |||
3b82131c28 | |||
3afa593103 | |||
948c0b7947 | |||
4f154a2dd3 | |||
1e45295236 | |||
9d475bf6de | |||
00d9107e02 | |||
124c57a5c5 | |||
04705bfc26 | |||
f5a48989b4 | |||
a6d337badf | |||
b7dc12dc6c | |||
f89cd1cf43 | |||
3435f81ab7 | |||
14d69d03b7 | |||
f99d6700f1 | |||
bf282c2630 | |||
c532b83437 | |||
d81ee3f1eb | |||
a539893cee | |||
cf993bd343 | |||
2c0960221d | |||
7e2106627d | |||
34a63f3df0 | |||
6c42d14d45 | |||
8a2c36467c | |||
78881e1006 | |||
a398b31108 | |||
d6b4db159b | |||
9203f5ee85 | |||
aa86e5f006 | |||
6f1b03b8f6 | |||
e17fc5dc0b | |||
930dbc0d04 | |||
2049bb9b2c | |||
4d002f356e | |||
efe035183a | |||
4c96747138 | |||
bfe2cd402d | |||
9ab3a1fe4a | |||
050b911141 | |||
919cf3db7b | |||
88acb25a9b | |||
6477d19e64 | |||
4e4141ac6c | |||
721b2ec2dd | |||
115aa9421d | |||
60ee6fa398 | |||
53b1929e83 | |||
1d95800e32 | |||
2f7e3db200 | |||
eae75064a8 | |||
e55825f3c6 | |||
e5888da8de | |||
9405541b1a | |||
04af233f5e | |||
531023285e | |||
037c25d4dd | |||
4265d5265d | |||
443df453bf | |||
b7a12982ac | |||
6930b9580e | |||
141d0dfafb | |||
ede5564b3e | |||
049e77e6bc | |||
d118b8e518 | |||
caf27adb1b | |||
3553a16003 | |||
8c119079d1 | |||
8414eed5a0 | |||
2fca0261f1 | |||
dd4fa8e603 | |||
fb03140757 | |||
6554873850 | |||
a491f2fa45 | |||
f97598f22f | |||
ea49357e90 | |||
7538853429 | |||
24ca5ef618 | |||
6a07db21b1 | |||
feba51ba17 | |||
90f9d1c409 | |||
1be9f3502c | |||
e29b770d83 | |||
4c5ec21374 | |||
579e03a13e | |||
0cf2674087 | |||
e4f0df7dab | |||
48b038961e | |||
3cf05b58e5 | |||
beaa8f895d | |||
839ada15ff | |||
fe95f83fd8 | |||
b3485f3833 | |||
063a1b83f8 | |||
688350f33d | |||
8febc91b30 | |||
e8e01af826 | |||
1d5166942d | |||
e1ff8756cf | |||
33f9170dae | |||
9d7e25e544 | |||
f5a2ce5c6a | |||
eb9f1e1438 | |||
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,12 +4,10 @@
|
||||
# Ignore aspects we don't follow here.
|
||||
--ignore C99_COMMENTS
|
||||
--ignore GLOBAL_INITIALISERS
|
||||
--ignore COMPARISON_TO_NULL
|
||||
--ignore INITIALISED_STATIC
|
||||
--ignore LINE_SPACING
|
||||
--ignore NEW_TYPEDEFS
|
||||
--ignore PREFER_ALIGNED
|
||||
--ignore PREFER_PACKED
|
||||
--ignore PREFER_PRINTF
|
||||
--ignore SPLIT_STRING
|
||||
--ignore BLOCK_COMMENT_STYLE
|
||||
--ignore AVOID_EXTERNS
|
||||
|
243
.clang-format
@ -1,21 +1,228 @@
|
||||
BasedOnStyle: LLVM
|
||||
# SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# clang-format configuration file. Intended for clang-format >= 16.
|
||||
#
|
||||
# For more information, see:
|
||||
#
|
||||
# https://clang.llvm.org/docs/ClangFormat.html
|
||||
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html
|
||||
# https://clang-format-configurator.site/
|
||||
#
|
||||
|
||||
---
|
||||
Language: Cpp
|
||||
IndentWidth: 8
|
||||
UseTab: Always
|
||||
BreakBeforeBraces: Linux
|
||||
AllowShortIfStatementsOnASingleLine: false
|
||||
IndentCaseLabels: false
|
||||
SortIncludes: false
|
||||
ContinuationIndentWidth: 8
|
||||
ColumnLimit: 96
|
||||
AlwaysBreakBeforeMultilineStrings: true
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AllowShortFunctionsOnASingleLine: false
|
||||
AlignEscapedNewlinesLeft: false
|
||||
AlignTrailingComments: true
|
||||
AccessModifierOffset: -4
|
||||
AlignAfterOpenBracket: Align
|
||||
AlignArrayOfStructures: Left
|
||||
AlignConsecutiveAssignments:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: true
|
||||
AlignCompound: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveBitFields:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveDeclarations:
|
||||
Enabled: false
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
PadOperators: true
|
||||
AlignConsecutiveMacros:
|
||||
Enabled: true
|
||||
AcrossEmptyLines: false
|
||||
AcrossComments: false
|
||||
AlignCompound: false
|
||||
PadOperators: true
|
||||
AlignEscapedNewlines: Left
|
||||
AlignOperands: Align
|
||||
AlignTrailingComments:
|
||||
Kind: Always
|
||||
OverEmptyLines: 0
|
||||
AllowAllArgumentsOnNextLine: true
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AlignAfterOpenBracket: true
|
||||
SpaceAfterCStyleCast: false
|
||||
MaxEmptyLinesToKeep: 2
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
AllowShortBlocksOnASingleLine: Never
|
||||
AllowShortCaseLabelsOnASingleLine: false
|
||||
AllowShortEnumsOnASingleLine: true
|
||||
AllowShortFunctionsOnASingleLine: None
|
||||
AllowShortIfStatementsOnASingleLine: Never
|
||||
AllowShortLambdasOnASingleLine: All
|
||||
AllowShortLoopsOnASingleLine: false
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: MultiLine
|
||||
|
||||
# git grep '^#define [^[:space:]]*__.*[^[:space:]]*__attribute__' | grep -v "vendorcode\|payloads\|util" | sed "s|.*:||;s|^#define \([^[:space:]]*__[^([:space:]]*\).*$| - '\1'|" | LC_ALL=C sort -u
|
||||
AttributeMacros:
|
||||
- '__aligned'
|
||||
- '__always_inline'
|
||||
- '__always_unused'
|
||||
- '__cpu_driver'
|
||||
- '__fallthrough'
|
||||
- '__maybe_unused'
|
||||
- '__must_check'
|
||||
- '__noreturn'
|
||||
- '__packed'
|
||||
- '__pci_driver'
|
||||
- '__printf'
|
||||
- '__weak'
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BitFieldColonSpacing: Both
|
||||
BraceWrapping:
|
||||
AfterCaseLabel: false
|
||||
AfterClass: false
|
||||
AfterControlStatement: Never
|
||||
AfterEnum: false
|
||||
AfterExternBlock: false
|
||||
AfterFunction: true
|
||||
AfterNamespace: true
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: false
|
||||
AfterUnion: false
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
BeforeLambdaBody: false
|
||||
BeforeWhile: false
|
||||
IndentBraces: false
|
||||
SplitEmptyFunction: true
|
||||
SplitEmptyRecord: true
|
||||
SplitEmptyNamespace: true
|
||||
BreakAfterAttributes: Never
|
||||
BreakAfterJavaFieldAnnotations: false
|
||||
BreakArrays: false
|
||||
BreakBeforeBinaryOperators: None
|
||||
BreakBeforeConceptDeclarations: Always
|
||||
BreakBeforeBraces: Custom
|
||||
BreakBeforeInlineASMColon: OnlyMultiline
|
||||
BreakBeforeTernaryOperators: false
|
||||
BreakConstructorInitializers: AfterColon
|
||||
BreakInheritanceList: AfterColon
|
||||
BreakStringLiterals: false
|
||||
ColumnLimit: 96
|
||||
CommentPragmas: '^ IWYU pragma:'
|
||||
CompactNamespaces: false
|
||||
ConstructorInitializerIndentWidth: 8
|
||||
ContinuationIndentWidth: 8
|
||||
Cpp11BracedListStyle: true
|
||||
DerivePointerAlignment: false
|
||||
DisableFormat: false
|
||||
EmptyLineAfterAccessModifier: Never
|
||||
EmptyLineBeforeAccessModifier: LogicalBlock
|
||||
ExperimentalAutoDetectBinPacking: false
|
||||
FixNamespaceComments: false
|
||||
|
||||
# git grep '^#define [^[:space:]]*for_each[^[:space:]]*(' | grep -v "vendorcode\|payloads\|util" | sed "s|.*:||;s|^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$| - '\1'|" | LC_ALL=C sort -u
|
||||
ForEachMacros:
|
||||
- 'list_for_each'
|
||||
|
||||
# git grep -i '^#define \+if[^[:space:]]*(' | grep -v "vendorcode\|payloads\|util" | sed "s|.*:||;s|^#define \([^[:space:]]*if[^[:space:]]*\)(.*$| - '\1'|I" | grep -v IFIX | LC_ALL=C sort -u
|
||||
IfMacros:
|
||||
- 'IF_CHANNEL_POPULATED'
|
||||
- 'IF_DIMM_POPULATED'
|
||||
- 'IF_RANK_POPULATED'
|
||||
- 'IfBit0'
|
||||
IncludeBlocks: Preserve
|
||||
IncludeIsMainSourceRegex: ''
|
||||
IndentAccessModifiers: false
|
||||
IndentCaseBlocks: false
|
||||
IndentCaseLabels: false
|
||||
IndentExternBlock: AfterExternBlock
|
||||
IndentGotoLabels: false
|
||||
IndentPPDirectives: None
|
||||
IndentRequiresClause: true
|
||||
IndentWidth: 8
|
||||
IndentWrappedFunctionNames: false
|
||||
InsertBraces: false
|
||||
InsertNewlineAtEOF: true
|
||||
InsertTrailingCommas: None
|
||||
IntegerLiteralSeparator:
|
||||
Binary: 0
|
||||
BinaryMinDigits: 0
|
||||
Decimal: 0
|
||||
DecimalMinDigits: 0
|
||||
Hex: 0
|
||||
HexMinDigits: 0
|
||||
JavaScriptQuotes: Leave
|
||||
JavaScriptWrapImports: true
|
||||
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||
LambdaBodyIndentation: Signature
|
||||
LineEnding: LF
|
||||
MacroBlockBegin: ''
|
||||
MacroBlockEnd: ''
|
||||
MaxEmptyLinesToKeep: 1
|
||||
NamespaceIndentation: None
|
||||
ObjCBinPackProtocolList: Auto
|
||||
ObjCBlockIndentWidth: 8
|
||||
ObjCBreakBeforeNestedBlockParam: true
|
||||
ObjCSpaceAfterProperty: true
|
||||
ObjCSpaceBeforeProtocolList: true
|
||||
PackConstructorInitializers: BinPack
|
||||
PenaltyBreakAssignment: 10
|
||||
PenaltyBreakBeforeFirstCallParameter: 30
|
||||
PenaltyBreakComment: 10
|
||||
PenaltyBreakFirstLessLess: 0
|
||||
PenaltyBreakOpenParenthesis: 0
|
||||
PenaltyBreakString: 10
|
||||
PenaltyBreakTemplateDeclaration: 10
|
||||
PenaltyExcessCharacter: 100
|
||||
PenaltyIndentedWhitespace: 0
|
||||
PenaltyReturnTypeOnItsOwnLine: 60
|
||||
PointerAlignment: Right
|
||||
PPIndentWidth: -1
|
||||
QualifierAlignment: Left
|
||||
ReferenceAlignment: Pointer
|
||||
ReflowComments: false
|
||||
RemoveBracesLLVM: false
|
||||
RemoveSemicolon: false
|
||||
RequiresClausePosition: OwnLine
|
||||
RequiresExpressionIndentation: OuterScope
|
||||
SeparateDefinitionBlocks: Leave
|
||||
ShortNamespaceLines: 1
|
||||
SortIncludes: Never
|
||||
SortJavaStaticImport: Before
|
||||
SortUsingDeclarations: Never
|
||||
SpaceAfterCStyleCast: false
|
||||
SpaceAfterLogicalNot: false
|
||||
SpaceAfterTemplateKeyword: true
|
||||
SpaceAroundPointerQualifiers: Default
|
||||
SpaceBeforeAssignmentOperators: true
|
||||
SpaceBeforeCaseColon: false
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
SpaceBeforeCtorInitializerColon: true
|
||||
SpaceBeforeInheritanceColon: true
|
||||
SpaceBeforeParens: ControlStatementsExceptControlMacros
|
||||
SpaceBeforeParensOptions:
|
||||
AfterControlStatements: true
|
||||
AfterForeachMacros: false
|
||||
AfterFunctionDefinitionName: false
|
||||
AfterFunctionDeclarationName: false
|
||||
AfterIfMacros: false
|
||||
AfterOverloadedOperator: false
|
||||
AfterRequiresInClause: false
|
||||
AfterRequiresInExpression: false
|
||||
BeforeNonEmptyParentheses: false
|
||||
SpaceBeforeRangeBasedForLoopColon: true
|
||||
SpaceBeforeSquareBrackets: false
|
||||
SpaceInEmptyBlock: false
|
||||
SpaceInEmptyParentheses: false
|
||||
SpacesBeforeTrailingComments: 1
|
||||
SpacesInAngles: Never
|
||||
SpacesInConditionalStatement: false
|
||||
SpacesInContainerLiterals: false
|
||||
SpacesInCStyleCastParentheses: false
|
||||
SpacesInLineCommentPrefix:
|
||||
Minimum: 1
|
||||
Maximum: 1
|
||||
SpacesInParentheses: false
|
||||
SpacesInSquareBrackets: false
|
||||
Standard: c++17
|
||||
TabWidth: 8
|
||||
UseTab: ForContinuationAndIndentation
|
||||
...
|
||||
|
||||
|
@ -9,3 +9,7 @@ charset = utf-8
|
||||
insert_final_newline = true
|
||||
end_of_line = lf
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
[*.sh]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
2
.gitignore
vendored
@ -9,6 +9,7 @@ defconfig
|
||||
build/
|
||||
coreboot-builds/
|
||||
coreboot-builds*/
|
||||
generated/
|
||||
|
||||
site-local
|
||||
|
||||
@ -33,6 +34,7 @@ tags
|
||||
.clang_complete
|
||||
.cache
|
||||
compile_commands.json
|
||||
.vscode/
|
||||
|
||||
# Cross-compile toolkits
|
||||
xgcc/
|
||||
|
39
.gitmodules
vendored
@ -1,63 +1,70 @@
|
||||
[submodule "3rdparty/blobs"]
|
||||
path = 3rdparty/blobs
|
||||
url = ../blobs.git
|
||||
url = https://review.coreboot.org/blobs.git
|
||||
update = none
|
||||
ignore = dirty
|
||||
[submodule "util/nvidia-cbootimage"]
|
||||
path = util/nvidia/cbootimage
|
||||
url = ../nvidia-cbootimage.git
|
||||
url = https://review.coreboot.org/nvidia-cbootimage.git
|
||||
[submodule "vboot"]
|
||||
path = 3rdparty/vboot
|
||||
url = ../vboot.git
|
||||
url = https://review.coreboot.org/vboot.git
|
||||
branch = main
|
||||
[submodule "arm-trusted-firmware"]
|
||||
path = 3rdparty/arm-trusted-firmware
|
||||
url = ../arm-trusted-firmware.git
|
||||
url = https://review.coreboot.org/arm-trusted-firmware.git
|
||||
[submodule "3rdparty/chromeec"]
|
||||
path = 3rdparty/chromeec
|
||||
url = ../chrome-ec.git
|
||||
url = https://review.coreboot.org/chrome-ec.git
|
||||
[submodule "libhwbase"]
|
||||
path = 3rdparty/libhwbase
|
||||
url = ../libhwbase.git
|
||||
url = https://review.coreboot.org/libhwbase.git
|
||||
[submodule "libgfxinit"]
|
||||
path = 3rdparty/libgfxinit
|
||||
url = ../libgfxinit.git
|
||||
url = https://review.coreboot.org/libgfxinit.git
|
||||
[submodule "3rdparty/fsp"]
|
||||
path = 3rdparty/fsp
|
||||
url = ../fsp.git
|
||||
url = https://review.coreboot.org/fsp.git
|
||||
update = none
|
||||
ignore = dirty
|
||||
[submodule "opensbi"]
|
||||
path = 3rdparty/opensbi
|
||||
url = ../opensbi.git
|
||||
url = https://review.coreboot.org/opensbi.git
|
||||
[submodule "intel-microcode"]
|
||||
path = 3rdparty/intel-microcode
|
||||
url = ../intel-microcode.git
|
||||
url = https://review.coreboot.org/intel-microcode.git
|
||||
update = none
|
||||
ignore = dirty
|
||||
branch = main
|
||||
[submodule "3rdparty/ffs"]
|
||||
path = 3rdparty/ffs
|
||||
url = ../ffs.git
|
||||
url = https://review.coreboot.org/ffs.git
|
||||
[submodule "3rdparty/amd_blobs"]
|
||||
path = 3rdparty/amd_blobs
|
||||
url = ../amd_blobs
|
||||
url = https://review.coreboot.org/amd_blobs
|
||||
update = none
|
||||
ignore = dirty
|
||||
[submodule "3rdparty/cmocka"]
|
||||
path = 3rdparty/cmocka
|
||||
url = ../cmocka.git
|
||||
url = https://review.coreboot.org/cmocka.git
|
||||
update = none
|
||||
branch = stable-1.1
|
||||
[submodule "3rdparty/qc_blobs"]
|
||||
path = 3rdparty/qc_blobs
|
||||
url = ../qc_blobs.git
|
||||
url = https://review.coreboot.org/qc_blobs.git
|
||||
update = none
|
||||
ignore = dirty
|
||||
[submodule "3rdparty/intel-sec-tools"]
|
||||
path = 3rdparty/intel-sec-tools
|
||||
url = ../9esec-security-tooling.git
|
||||
url = https://review.coreboot.org/9esec-security-tooling.git
|
||||
[submodule "3rdparty/stm"]
|
||||
path = 3rdparty/stm
|
||||
url = ../STM
|
||||
url = https://review.coreboot.org/STM
|
||||
branch = stmpe
|
||||
[submodule "util/goswid"]
|
||||
path = util/goswid
|
||||
url = https://review.coreboot.org/goswid.git
|
||||
branch = trunk
|
||||
[submodule "src/vendorcode/amd/opensil/genoa_poc/opensil"]
|
||||
path = src/vendorcode/amd/opensil/genoa_poc/opensil
|
||||
url = https://review.coreboot.org/opensil_genoa_poc.git
|
||||
|
@ -2,4 +2,4 @@
|
||||
host=review.coreboot.org
|
||||
port=29418
|
||||
project=coreboot
|
||||
defaultbranch=master
|
||||
defaultbranch=main
|
||||
|
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
553
AUTHORS
@ -10,73 +10,212 @@
|
||||
|
||||
3mdeb Embedded Systems Consulting
|
||||
9elements Agency GmbH
|
||||
Aamir Bohra
|
||||
Aaron Durbin
|
||||
Abe Levkoy
|
||||
Abel Briggs
|
||||
Abhinav Hardikar
|
||||
AdaCore
|
||||
Adam Liu
|
||||
Adam Mills
|
||||
Advanced Computing Lab, LANL
|
||||
Advanced Micro Devices, Inc.
|
||||
AdaCore
|
||||
AG Electronics Ltd.
|
||||
Ahamed Husni
|
||||
Akshu Agrawal
|
||||
Al Hirani
|
||||
Alan Huang
|
||||
AlanKY Lee
|
||||
Alec Wang
|
||||
Alex James
|
||||
Alex Levin
|
||||
Alex Miao
|
||||
Alex Thiessen
|
||||
Alex Züpke
|
||||
Alex1 Kao
|
||||
Alexander Couzens
|
||||
Alexander Goncharov
|
||||
Alexandru Gagniuc
|
||||
Alexey Buyanov
|
||||
Alexey Vazhnov
|
||||
Alice Sell
|
||||
Allen-KH Cheng
|
||||
Amanda Hwang
|
||||
American Megatrends International, LLC
|
||||
Amersel
|
||||
Amit Caleechurn
|
||||
Analog Devices Inc.
|
||||
Analogix Semiconductor
|
||||
Anand Mistry
|
||||
Anand Vaikar
|
||||
Andre Heider
|
||||
Andrew McRae
|
||||
Andrew SH Cheng
|
||||
Andrey Pronin
|
||||
Andriy Gapon
|
||||
Andy Fleming
|
||||
Andy Pont
|
||||
Andy-ld Lu
|
||||
Angel Pons
|
||||
Anil Kumar K
|
||||
Anna Karaś
|
||||
Annie Chen
|
||||
Anton Kochkov
|
||||
Ao Zhong
|
||||
Arashk Mahshidfar
|
||||
Arec Kao
|
||||
Ariel Fang
|
||||
ARM Limited and Contributors
|
||||
Arthur Heymans
|
||||
Asami Doi
|
||||
Aseda Aboagye
|
||||
Ashish Kumar Mishra
|
||||
Ashqti
|
||||
ASPEED Technology Inc.
|
||||
Atheros Corporation
|
||||
Atmel Corporation
|
||||
Balaji Manigandan
|
||||
Balázs Vinarz
|
||||
BAP - Bruhnspace Advanced Projects
|
||||
Baruch Siach
|
||||
Ben Chuang
|
||||
Ben Kao
|
||||
Ben McMillen
|
||||
Ben Zhang
|
||||
Benjamin Doron
|
||||
Bernardo Perez Priego
|
||||
Bhanu Prakash Maiya
|
||||
Bill Xie
|
||||
Bin Meng
|
||||
Bitland Tech Inc.
|
||||
Bob Moragues
|
||||
Bora Guvendik
|
||||
Boris Barbulovski
|
||||
Boris Mittelberg
|
||||
Brandon Breitenstein
|
||||
Brian Norris
|
||||
Bryant Ou
|
||||
Carl-Daniel Hailfinger
|
||||
Casper Chang
|
||||
Caveh Jalali
|
||||
Cavium Inc.
|
||||
Chao Gui
|
||||
Chen-Tsung Hsieh
|
||||
Chia-Ling Hou
|
||||
Chien-Chih Tseng
|
||||
Chris Wang
|
||||
Christian Gmeiner
|
||||
Christian Walter
|
||||
Christoph Grenz
|
||||
Christopher Meis
|
||||
Chuangwei Technology Co., Ltd
|
||||
Chun-Jie Chen
|
||||
Cirrus Logic, Inc.
|
||||
CK HU
|
||||
Clay Daniels
|
||||
Cliff Huang
|
||||
Code Aurora Forum
|
||||
Compal Electronics, Inc.
|
||||
Cong Yang
|
||||
CoolStar
|
||||
coresystems GmbH
|
||||
Corey Osgood
|
||||
Curt Brune
|
||||
Curtis Chen
|
||||
Custom Ideas
|
||||
Cyberus Technology GmbH
|
||||
Da Lao
|
||||
Daisuke Nojiri
|
||||
Damien Zammit
|
||||
Dan Callaghan
|
||||
Daniel Campello
|
||||
Daniel Gröber
|
||||
Daniel Kang
|
||||
Daniel Maslowski
|
||||
Daniel Peng
|
||||
Daniel Rosa Franzini
|
||||
Dave Airlie
|
||||
David Brownell
|
||||
David Greenman
|
||||
David Hendricks
|
||||
David Lin
|
||||
David Milosevic
|
||||
David Mosberger-Tang
|
||||
David Mueller
|
||||
David S. Peterson
|
||||
David Wu
|
||||
Dawei Chien
|
||||
Deepika Punyamurtula
|
||||
Deepti Deshatty
|
||||
Denis 'GNUtoo' Carikli
|
||||
Denis Dowling
|
||||
DENX Software Engineering
|
||||
Deomid 'rojer' Ryabkov
|
||||
Derek Basehore
|
||||
Derek Huang
|
||||
Derek Waldner
|
||||
Digital Design Corporation
|
||||
Dinesh Gehlot
|
||||
Divya S Sasidharan
|
||||
Dmitry Ponamorev
|
||||
Dmitry Torokhov
|
||||
DMP Electronics Inc.
|
||||
Dominik Behr
|
||||
Donghwa Lee
|
||||
Drew Eckhardt
|
||||
Dtrain Hsu
|
||||
Duan Huayang
|
||||
Dun Tan
|
||||
Duncan Laurie
|
||||
Dynon Avionics
|
||||
Ed Sharma
|
||||
Eddy Lu
|
||||
Edward Hill
|
||||
Edward O'Callaghan
|
||||
Edward-JW Yang
|
||||
Egbert Eich
|
||||
Elias Souza
|
||||
Eloy Degen
|
||||
ELSOFT AG
|
||||
Eltan B.V
|
||||
Eltan B.V.
|
||||
Elyes Haouas
|
||||
Eran Mitrani
|
||||
Eric Biederman
|
||||
Eric Lai
|
||||
Eric Peers
|
||||
EricKY Cheng
|
||||
EricR Lai
|
||||
Erik van den Bogaert
|
||||
Eswar Nallusamy
|
||||
Ethan Tsao
|
||||
Eugene Myers
|
||||
Evan Green
|
||||
Evgeny Zinoviev
|
||||
Fabian Groffen
|
||||
Fabian Kunkel
|
||||
Fabio Aiuto
|
||||
Fabrice Bellard
|
||||
Facebook, Inc.
|
||||
Felix Friedlander
|
||||
Felix Held
|
||||
Felix Singer
|
||||
Fengquan Chen
|
||||
Flora Fu
|
||||
Florian Laufenböck
|
||||
Francois Toguo Fotso
|
||||
Frank Chu
|
||||
Frank Wu
|
||||
Franklin Lin
|
||||
Frans Hendriks
|
||||
Fred Reitberger
|
||||
Frederic Potter
|
||||
Free Software Foundation, Inc.
|
||||
Freescale Semiconductor, Inc.
|
||||
Furquan Shaikh
|
||||
Gaggery Tsai
|
||||
Gang C Chen
|
||||
Garmin Chang
|
||||
Gary Jennejohn
|
||||
George Trudeau
|
||||
Gerald Van Baren
|
||||
@ -84,163 +223,563 @@ Gerd Hoffmann
|
||||
Gergely Kiss
|
||||
Google LLC
|
||||
Greg Watson
|
||||
Grzegorz Bernacki
|
||||
Guennadi Liakhovetski
|
||||
Guodong Liu
|
||||
Gwendal Grignou
|
||||
Hal Martin
|
||||
Hao Chou
|
||||
Hao Wang
|
||||
HardenedLinux
|
||||
Hewlett-Packard Development Company, L.P.
|
||||
Harsha B R
|
||||
Harshit Sharma
|
||||
Henry C Chen
|
||||
Hewlett Packard Enterprise Development LP
|
||||
Hewlett-Packard Development Company, L.P.
|
||||
Himanshu Sahdev
|
||||
Housong Zhang
|
||||
Hsiao Chien Sung
|
||||
Hsin-hsiung wang
|
||||
Hsin-Te Yuan
|
||||
Hsuan Ting Chen
|
||||
Huaqin Technology Co., Ltd
|
||||
Huaqin Telecom Inc.
|
||||
Hui Liu
|
||||
Huijuan Xie
|
||||
Hung-Te Lin
|
||||
Ian Douglas Scott
|
||||
Ian Feng
|
||||
IBM Corporation
|
||||
Idwer Vollering
|
||||
Igor Bagnucki
|
||||
Igor Pavlov
|
||||
Ikjoon Jang
|
||||
Imagination Technologies
|
||||
Infineon Technologies
|
||||
InKi Dae
|
||||
INSPUR Co., Ltd
|
||||
Intel Corporation
|
||||
Inventec Corp
|
||||
Iru Cai
|
||||
Isaac Lee
|
||||
Isaku Yamahata
|
||||
Ivan Chen
|
||||
Ivan Vatlin
|
||||
Ivy Jian
|
||||
Jack Rosenthal
|
||||
Jacob Garber
|
||||
Jairaj Arava
|
||||
Jakub Czapiga
|
||||
James Chao
|
||||
James Lo
|
||||
James Ye
|
||||
Jamie Chen
|
||||
Jamie Ryu
|
||||
Jan Dabros
|
||||
Jan Samek
|
||||
Jan Tatje
|
||||
Jason Glenesk
|
||||
Jason Nein
|
||||
Jason V Le
|
||||
Jason Z Chen
|
||||
Jason Zhao
|
||||
jason-ch chen
|
||||
Jason-jh Lin
|
||||
Jay Patel
|
||||
Jeff Chase
|
||||
Jeff Daly
|
||||
Jeff Li
|
||||
Jérémy Compostella
|
||||
Jeremy Soller
|
||||
Jes Klinke
|
||||
Jesper Lin
|
||||
Jessy Jiang
|
||||
Jett Rink
|
||||
Jg Daolongzhu
|
||||
Jian Tong
|
||||
Jianeng Ceng
|
||||
Jianjun Wang
|
||||
Jim Lai
|
||||
Jimmy Su
|
||||
Jincheng Li
|
||||
Jingle Hsu
|
||||
Jitao Shi
|
||||
Joe Pillow
|
||||
Joe Tessler
|
||||
Joel Kitching
|
||||
Joey Peng
|
||||
Johanna Schander
|
||||
John Su
|
||||
John Zhao
|
||||
Johnny Li
|
||||
Johnny Lin
|
||||
johnson wang
|
||||
Jon Murphy
|
||||
Jonas 'Sortie' Termansen
|
||||
Jonas Loeffelholz
|
||||
Jonathan A. Kollasch
|
||||
Jonathan Neuschäfer
|
||||
Jonathan Zhang
|
||||
Jonathon Hall
|
||||
Jordan Crouse
|
||||
Jörg Mische
|
||||
Joseph Smith
|
||||
Josie Nordrum
|
||||
Julia Tsai
|
||||
Julian Schroeder
|
||||
Julian Stecklina
|
||||
Julien Viard de Galbert
|
||||
Julius Werner
|
||||
Kacper Stojek
|
||||
Kaiyen Chang
|
||||
Kane Chen
|
||||
Kangheui Won
|
||||
Kapil Porwal
|
||||
Karol Zmyslowski
|
||||
Karthik Ramasubramanian
|
||||
Keith Hui
|
||||
Keith Packard
|
||||
Kenneth Chan
|
||||
Kevin Chang
|
||||
Kevin Cheng
|
||||
Kevin Chiu
|
||||
Kevin Chowski
|
||||
Kevin Cody-Little
|
||||
Kevin Keijzer
|
||||
Kevin O'Connor
|
||||
Kevin3 Yang
|
||||
kewei xu
|
||||
Kilari Raasi
|
||||
Kirk Wang
|
||||
Konrad Adamczyk
|
||||
Kontron Europe GmbH
|
||||
Kornel Dulęba
|
||||
Krishna P Bhat D
|
||||
Krystian Hebel
|
||||
Kshitij
|
||||
Kshitiz Godara
|
||||
Kulkarni. Srinivas
|
||||
Kun Liu
|
||||
Kyle Lin
|
||||
Kyösti Mälkki
|
||||
Lance Zhao
|
||||
Lawrence Chang
|
||||
Leah Rowe
|
||||
Lean Sheng Tan
|
||||
Lei Wen
|
||||
Lenovo Group Ltd
|
||||
Leo Chou
|
||||
Li-Ta Lo
|
||||
Liam Flaherty
|
||||
Libra Li
|
||||
Libretrend LDA
|
||||
Lijian Zhao
|
||||
Liju-Clr Chen
|
||||
Linaro Limited
|
||||
linear
|
||||
Linus Torvalds
|
||||
Linux Networx, Inc.
|
||||
LiPPERT ADLINK Technology GmbH
|
||||
Liya Li
|
||||
Lubomir Rintel
|
||||
Luc Verhaegen
|
||||
Lucas Chen
|
||||
Mac Chiang
|
||||
Maciej Matuszczyk
|
||||
Maciej Pijanowski
|
||||
Macpaul Lin
|
||||
Madhusudanarao Amara
|
||||
Magf
|
||||
Malik Hsu
|
||||
Mandy Liu
|
||||
Manoj Gupta
|
||||
Marc Bertens
|
||||
Marc Jones
|
||||
Marco Chen
|
||||
Marek Kasiewicz
|
||||
Marek Vasut
|
||||
Mario Scheithauer
|
||||
Marius Gröger
|
||||
Mariusz Szafranski
|
||||
Mariusz Szafrański
|
||||
Mark Hasemeyer
|
||||
Mark Hsieh
|
||||
Mars Chen
|
||||
Marshall Dawson
|
||||
Martin Mares
|
||||
Martin Renters
|
||||
Martin Roth
|
||||
Marvell International Ltd.
|
||||
Marvell Semiconductor Inc.
|
||||
Marx Wang
|
||||
Masanori Ogino
|
||||
Máté Kukri
|
||||
Matei Dibu
|
||||
Mathew King
|
||||
Matt Chen
|
||||
Matt Delco
|
||||
Matt DeVillier
|
||||
Matt Papageorge
|
||||
Matthew Blecker
|
||||
Matthew Ziegelbaum
|
||||
Mattias Nissler
|
||||
Maulik V Vaghela
|
||||
MAULIK V VAGHELA
|
||||
Maulik Vaghela
|
||||
Max Fritz
|
||||
Maxim Polyakov
|
||||
Maximilian Brune
|
||||
Mediatek Inc.
|
||||
MediaTek Inc.
|
||||
Meera Ravindranath
|
||||
Meng-Huan Yu
|
||||
Meta Platforms, Inc
|
||||
mgabryelski1
|
||||
Mice Lin
|
||||
Michael Brunner
|
||||
Michael Schroeder
|
||||
Michael Büchler
|
||||
Michael Niewöhner
|
||||
Michael Schroeder
|
||||
Michael Strosche
|
||||
Michael Walle
|
||||
Michał Kopeć
|
||||
Michal Suchanek
|
||||
Michał Żygowski
|
||||
Micro-Star INT'L CO., LTD.
|
||||
Mika Westerberg
|
||||
Mike Banon
|
||||
Mike Shih
|
||||
Miriam Polzer
|
||||
mkurumel
|
||||
Moises Garcia
|
||||
Mondrian Nuessle
|
||||
Monikaanan
|
||||
MontaVista Software, Inc.
|
||||
Morgan Jang
|
||||
Moritz Fischer
|
||||
Morris Hsu
|
||||
mtk15698
|
||||
mturney mturney
|
||||
Musse Abdullahi
|
||||
Myles Watson
|
||||
Nancy.Lin
|
||||
Naresh Solanki
|
||||
Nathan Lu
|
||||
Neill Corlett
|
||||
Network Appliance Inc.
|
||||
Nicholas Chin
|
||||
Nicholas Sielicki
|
||||
Nick Barker
|
||||
Nick Chen
|
||||
Nick Vaccaro
|
||||
Nico Huber
|
||||
Nico Rikken
|
||||
Nicola Corna
|
||||
Nicolas Boichat
|
||||
Nicole Faerber
|
||||
Nikolai Vyssotski
|
||||
Nils Jacobs
|
||||
Nina Wu
|
||||
Nir Tzachar
|
||||
Nokia Corporation
|
||||
Nuvoton Technology Corporation
|
||||
NVIDIA Corporation
|
||||
Olivier Langlois
|
||||
Ollie Lo
|
||||
Omar Pakker
|
||||
Online SAS
|
||||
Opal Voravootivat
|
||||
Orion Technologies, LLC
|
||||
Pablo Ceballos
|
||||
Pablo Stebler
|
||||
Pan Gao
|
||||
Patrick Georgi
|
||||
Patrick Huang
|
||||
Patrick Rudolph
|
||||
Patrik Tesarik
|
||||
Pattrick Hueper
|
||||
Paul Fagerburg
|
||||
Paul Menzel
|
||||
Paul2 Huang
|
||||
Paulo Alcantara
|
||||
Pavel Sayekat
|
||||
Paz Zcharya
|
||||
PC Engines GmbH
|
||||
Pegatron Corp
|
||||
Peichao Li
|
||||
Per Odlund
|
||||
Peter Korsgaard
|
||||
Peter Lemenkov
|
||||
Peter Marheine
|
||||
Peter Stuge
|
||||
Petr Cvek
|
||||
Philip Chen
|
||||
Philipp Bartsch
|
||||
Philipp Degler
|
||||
Philipp Deppenwiese
|
||||
Philipp Hug
|
||||
Piotr Kleinschmidt
|
||||
Po Xu
|
||||
Prasad Malisetty
|
||||
Prashant Malani
|
||||
Pratik Vishwakarma
|
||||
Pratikkumar Prajapati
|
||||
Pratikkumar V Prajapati
|
||||
Protectli
|
||||
Purism SPC
|
||||
Qualcomm Technologies
|
||||
Purism, SPC
|
||||
Qii Wang
|
||||
Qualcomm Technologies, Inc.
|
||||
Quanta Computer INC
|
||||
Raihow Shi
|
||||
Rajat Jain
|
||||
Rajesh Patil
|
||||
Raptor Engineering, LLC
|
||||
Rasheed Hsueh
|
||||
Raul Rangel
|
||||
Ravi Kumar
|
||||
Ravi Mistry
|
||||
Ravindra
|
||||
Ravishankar Sarawadi
|
||||
Ray Han Lim Ng
|
||||
Raymond Chung
|
||||
Red Hat, Inc
|
||||
ReddestDream
|
||||
Rehan Ghori
|
||||
Reinhard Meyer
|
||||
Reka Norman
|
||||
Ren Kuo
|
||||
Renze Nicolai
|
||||
Reto Buerki
|
||||
Rex Chou
|
||||
Rex-BC Chen
|
||||
Ricardo Quesada
|
||||
Ricardo Ribalda
|
||||
Richard Spiegel
|
||||
Richard Woodruff
|
||||
Rick Lee
|
||||
Ricky Chang
|
||||
Riku Viitanen
|
||||
Ritul Guru
|
||||
Rizwan Qureshi
|
||||
Rnhmjoj
|
||||
Rob Barnes
|
||||
Rob Landley
|
||||
Robert Chen
|
||||
Robert Reeves
|
||||
Robert Zieba
|
||||
Robinson P. Tryon
|
||||
Rockchip, Inc.
|
||||
Rocky Phagura
|
||||
Roger Lu
|
||||
Roja Rani Yarubandi
|
||||
Romain Lievin
|
||||
Roman Zippel
|
||||
Ron Lee
|
||||
Ron Minnich
|
||||
Ronak Kanabar
|
||||
Ronald G. Minnich
|
||||
Rory Liu
|
||||
Rudolf Marek
|
||||
Rui Zhou
|
||||
Ruihai Zhou
|
||||
Runyang Chen
|
||||
Russell King
|
||||
Ruud Schramp
|
||||
Ruwen Liu
|
||||
Ryan Chuang
|
||||
Ryan Lin
|
||||
Sage Electronic Engineering, LLC
|
||||
Sajida Bhanu
|
||||
Sam Lewis
|
||||
Sam McNally
|
||||
Sam Ravnborg
|
||||
Samsung Electronics
|
||||
Samuel Holland
|
||||
Sandeep Maheswaram
|
||||
Sathya Prakash M R
|
||||
Satya Priya Kakitapalli
|
||||
Saurabh Mishra
|
||||
SciTech Software, Inc.
|
||||
Sebastian Grzywna
|
||||
Scott Chao
|
||||
SDC Systems Ltd
|
||||
Sean Rhodes
|
||||
Sebastian 'Swift Geek' Grzywna
|
||||
secunet Security Networks AG
|
||||
Selma Bensaid
|
||||
Semihalf
|
||||
Sen Chu
|
||||
Sencore Inc
|
||||
Sergej Ivanov
|
||||
Sergii Dmytruk
|
||||
Serin Yeh
|
||||
Seven Lee
|
||||
SH Kim
|
||||
Shahina Shaik
|
||||
Shaocheng Wang
|
||||
Shaoming Chen
|
||||
Shaunak Saha
|
||||
Shelley Chen
|
||||
Shelly Chang
|
||||
Sheng-Liang Pan
|
||||
Shiyu Sun
|
||||
Shon Wang
|
||||
Shou-Chieh Hsu
|
||||
Shreesh Chhabbi
|
||||
Shuo Liu
|
||||
Siemens AG
|
||||
SiFive, Inc
|
||||
Silicom Ltd.
|
||||
Silicon Integrated System Corporation
|
||||
Silverback Ltd.
|
||||
Simon Glass
|
||||
Simon Yang
|
||||
Simon Zhou
|
||||
Sindhoor Tilak
|
||||
Solomon Alan-Dei
|
||||
Song Fan
|
||||
Sridhar Siricilla
|
||||
Srinidhi N Kaushik
|
||||
Srinivasa Rao Mandadapu
|
||||
ST Microelectronics
|
||||
Stanley Wu
|
||||
Star Labs Online Ltd
|
||||
Stefan Binding
|
||||
Stefan Ott
|
||||
Stefan Reinauer
|
||||
Stefan Tauner
|
||||
Stephen Edworthy
|
||||
Steve Magnani
|
||||
Steve Shenton
|
||||
ST Microelectronics
|
||||
Subrata Banik
|
||||
Sudheer Amrabadi
|
||||
Sugnan Prabhu S
|
||||
Sukumar Ghorai
|
||||
Sumeet R Pawnikar
|
||||
Sunwei Li
|
||||
SUSE LINUX AG
|
||||
Sven Schnelle
|
||||
Syed Mohammed Khasim
|
||||
System76
|
||||
System76, Inc.
|
||||
szarpaj
|
||||
T Michael Turney
|
||||
TangYiwei
|
||||
Taniya Das
|
||||
Tao Xia
|
||||
Tarun Tuli
|
||||
Teddy Shih
|
||||
Terry Chen
|
||||
Texas Instruments
|
||||
The Android Open Source Project
|
||||
The ChromiumOS Authors
|
||||
The Linux Foundation
|
||||
The Regents of the University of California
|
||||
Thejaswani Putta
|
||||
Thomas Heijligen
|
||||
Thomas Winischhofer
|
||||
Tim Chen
|
||||
Tim Chu
|
||||
Tim Crawford
|
||||
Tim Van Patten
|
||||
Tim Wawrzynczak
|
||||
Timofey Komarov
|
||||
Timothy Pearson
|
||||
tinghan shen
|
||||
Tobias Diedrich
|
||||
Tom Hiller
|
||||
Tommie Lin
|
||||
Tony Huang
|
||||
Tracy Wu
|
||||
Trevor Wu
|
||||
Tristan Corrick
|
||||
Tungsten Graphics, Inc.
|
||||
Tyan Computer Corp.
|
||||
Tyler Wang
|
||||
Tzung-Bi Shih
|
||||
U.S. National Security Agency
|
||||
ucRobotics Inc.
|
||||
Uday Bhat
|
||||
University of Heidelberg
|
||||
Usha P
|
||||
Uwe Hermann
|
||||
Uwe Poeche
|
||||
V Sowmya
|
||||
Václav Straka
|
||||
Vadim Bendebury
|
||||
Van Chen
|
||||
Varshit B Pandya
|
||||
Veerabhadrarao Badiganti
|
||||
Venkat Thogaru
|
||||
Venkata Krishna Nimmagadda
|
||||
VIA Technologies, Inc
|
||||
Victor Ding
|
||||
Vidya Gopalakrishnan
|
||||
Vikram Narayanan
|
||||
Vikrant L Jadeja
|
||||
Vinod Polimera
|
||||
Vipin Kumar
|
||||
Vitaly Rodionov
|
||||
Vladimir Serbinenko
|
||||
Vlado Cibic
|
||||
Vsujithk
|
||||
Wang Qing Pei
|
||||
Wanghao11
|
||||
Ward Vandewege
|
||||
Wayne Wang
|
||||
Weimin Wu
|
||||
Weiyi Lu
|
||||
Wenbin Mei
|
||||
Wentao Qin
|
||||
Werner Zeh
|
||||
Wilbert Duijvenvoorde
|
||||
William Wei
|
||||
Wilson Chou
|
||||
Wim Vervoorn
|
||||
Win Enterprises
|
||||
Wisley Chen
|
||||
Wistron Corp
|
||||
Wiwynn Corp.
|
||||
Wiwynn Corporation
|
||||
Wizard Shen
|
||||
Wojciech Macek
|
||||
Wolfgang Denk
|
||||
Won Chung
|
||||
Wonkyu Kim
|
||||
Wuxy
|
||||
Xin Ji
|
||||
Xixi Chen
|
||||
Xuxin Xiong
|
||||
YADRO
|
||||
Yan Liu
|
||||
Yann Collet
|
||||
Yaroslav Kurlaev
|
||||
YH Lin
|
||||
Yidi Lin
|
||||
Yilin Yang
|
||||
Yinghai Lu
|
||||
Yolk Shih
|
||||
Yong Zhi
|
||||
Yongkun Yu
|
||||
Yongqiang Niu
|
||||
Yu-hsuan Hsu
|
||||
Yu-Ping Wu
|
||||
Yuanliding
|
||||
Yuchen He
|
||||
Yuchen Huang
|
||||
Yunlong Jia
|
||||
Zachary Yedidia
|
||||
Zanxi Chen
|
||||
Zhanyong Wang
|
||||
Zheng Bao
|
||||
Zhenguo Li
|
||||
Zhi7 Li
|
||||
Zhiqiang Ma
|
||||
Zhixing Ma
|
||||
Zhiyong Tao
|
||||
zhongtian wu
|
||||
Zhuohao Lee
|
||||
Ziang Wang
|
||||
Zoey Wu
|
||||
Zoltan Baldaszti
|
||||
小田喜陽彦
|
||||
陳建宏
|
@ -1,49 +1,24 @@
|
||||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
#
|
||||
# Makefile for coreboot paper.
|
||||
# hacked together by Stefan Reinauer <stepan@openbios.org>
|
||||
#
|
||||
|
||||
PDFLATEX=pdflatex -t a4
|
||||
BUILDDIR ?= _build
|
||||
SPHINXOPTS ?= -j auto
|
||||
|
||||
FIGS=codeflow.pdf hypertransport.pdf
|
||||
export SPHINXOPTS
|
||||
|
||||
all: corebootPortingGuide.pdf
|
||||
all: sphinx
|
||||
|
||||
SVG2PDF=$(shell which svg2pdf)
|
||||
INKSCAPE=$(shell which inkscape)
|
||||
CONVERT=$(shell which convert)
|
||||
$(BUILDDIR):
|
||||
mkdir -p $(BUILDDIR)
|
||||
|
||||
codeflow.pdf: codeflow.svg
|
||||
ifneq ($(strip $(SVG2PDF)),)
|
||||
svg2pdf $< $@
|
||||
else ifneq ($(strip $(INKSCAPE)),)
|
||||
inkscape $< --export-pdf=$@
|
||||
else ifneq ($(strip $(CONVERT)),)
|
||||
convert $< $@
|
||||
endif
|
||||
|
||||
hypertransport.pdf: hypertransport.svg
|
||||
ifneq ($(strip $(SVG2PDF)),)
|
||||
svg2pdf $< $@
|
||||
else ifneq ($(strip $(INKSCAPE)),)
|
||||
inkscape $< --export-pdf=$@
|
||||
else ifneq ($(strip $(CONVERT)),)
|
||||
convert $< $@
|
||||
endif
|
||||
|
||||
corebootPortingGuide.toc: $(FIGS) corebootBuildingGuide.tex
|
||||
# 2 times to make sure we have a current toc.
|
||||
$(PDFLATEX) corebootBuildingGuide.tex
|
||||
$(PDFLATEX) corebootBuildingGuide.tex
|
||||
|
||||
corebootPortingGuide.pdf: $(FIGS) corebootBuildingGuide.tex corebootPortingGuide.toc
|
||||
$(PDFLATEX) corebootBuildingGuide.tex
|
||||
|
||||
sphinx:
|
||||
$(MAKE) -f Makefile.sphinx html
|
||||
sphinx: $(BUILDDIR)
|
||||
$(MAKE) -f Makefile.sphinx html BUILDDIR="$(BUILDDIR)"
|
||||
|
||||
clean-sphinx:
|
||||
$(MAKE) -f Makefile.sphinx clean
|
||||
$(MAKE) -f Makefile.sphinx clean BUILDDIR="$(BUILDDIR)"
|
||||
|
||||
clean: clean-sphinx
|
||||
rm -f *.aux *.idx *.log *.toc *.out $(FIGS)
|
||||
@ -51,5 +26,25 @@ clean: clean-sphinx
|
||||
distclean: clean
|
||||
rm -f corebootPortingGuide.pdf
|
||||
|
||||
livesphinx:
|
||||
$(MAKE) -f Makefile.sphinx livehtml SPHINXOPTS="$(SPHINXOPTS)"
|
||||
livesphinx: $(BUILDDIR)
|
||||
$(MAKE) -f Makefile.sphinx livehtml BUILDDIR="$(BUILDDIR)"
|
||||
|
||||
test:
|
||||
@echo "Test for logging purposes - Failing tests will not fail the build"
|
||||
-$(MAKE) -f Makefile.sphinx clean && $(MAKE) -K -f Makefile.sphinx html
|
||||
-$(MAKE) -f Makefile.sphinx clean && $(MAKE) -K -f Makefile.sphinx doctest
|
||||
|
||||
help:
|
||||
@echo "all - Builds all documentation targets"
|
||||
@echo "sphinx - Builds html documentation in _build directory"
|
||||
@echo "clean - Cleans intermediate files"
|
||||
@echo "clean-sphinx - Removes sphinx output files"
|
||||
@echo "distclean - Removes PDF files as well"
|
||||
@echo "test - Runs documentation tests"
|
||||
@echo
|
||||
@echo " Makefile.sphinx builds - run with $(MAKE) -f Makefile-sphinx [target]"
|
||||
@echo
|
||||
@$(MAKE) -s -f Makefile.sphinx help 2>/dev/null
|
||||
|
||||
.phony: help livesphinx sphinx test
|
||||
.phony: distclean clean clean-sphinx
|
||||
|
@ -1,3 +1,4 @@
|
||||
## SPDX-License-Identifier: GPL-2.0-only
|
||||
# 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,12 @@ upwards.
|
||||
|
||||
- [GPIO toggling in ACPI AML](gpio.md)
|
||||
|
||||
## devicetree
|
||||
## Windows-specific ACPI documentation
|
||||
|
||||
- [Adding devices to a device tree](devicetree.md)
|
||||
- [Windows-specific documentation](windows.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)
|
||||
|
9
Documentation/acpi/windows.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Testing ACPI changes under Windows
|
||||
|
||||
When testing ACPI changes in coreboot against Windows 8 or newer, beware that
|
||||
during a normal boot after a clean shutdown, Windows will use the fast startup
|
||||
mechanism which results in it not evaluating the changed ACPI code but instead
|
||||
using some cached version which won't include the changes that were supposed to
|
||||
be tested. In order for Windows to actually use the new ACPI tables, either
|
||||
disable the fast startup or just tell Windows to do a reboot which will make it
|
||||
read and use the ACPI tables in memory instead of an outdated cached version.
|
@ -1,7 +1,5 @@
|
||||
# Firmware and Computer Acronyms, Initialisms and Definitions
|
||||
|
||||
** Note that this document even more of a work in progress than most **
|
||||
** of the coreboot documentation **
|
||||
|
||||
## _0-9
|
||||
|
||||
@ -11,6 +9,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
`acpihelp _XXX`
|
||||
* 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.
|
||||
Better abbreviated as 4GiB
|
||||
* 5G - Telecommunication: [**Fifth-Generation Cellular Network**](https://en.wikipedia.org/wiki/5G)
|
||||
|
||||
## A
|
||||
@ -19,24 +18,25 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
initialization that happens from the PSP. Significantly, Memory
|
||||
Initialization.
|
||||
* AC - Electricity: [**Alternating Current**](https://en.wikipedia.org/wiki/Alternating_current)
|
||||
* Ack - Acknowledgment
|
||||
* Ack - Acknowledgment / Acknowledged
|
||||
* ACM – [**Authenticated Code Module**](https://doc.coreboot.org/security/intel/acm.html)
|
||||
* ACP - [**Average CPU power**](https://en.wikipedia.org/wiki/Thermal_design_power)
|
||||
* ACPI - The [**Advanced Configuration and Power
|
||||
Interface**](http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface)
|
||||
is an industry standard for letting the OS control power management.
|
||||
* [http://www.acpi.info/](http://www.acpi.info/)
|
||||
* [https://uefi.org/specifications](https://uefi.org/specifications)
|
||||
* [http://kernelslacker.livejournal.com/88243.html](http://kernelslacker.livejournal.com/88243.html)
|
||||
* ADC - [**Analog-to-Digital Converter**](https://en.wikipedia.org/wiki/Analog-to-digital_converter)
|
||||
* ADL - Intel: [**Alder Lake**](https://en.wikichip.org/wiki/intel/microarchitectures/alder_lake)
|
||||
* AES - [**Advanced Encryption Standard**](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
|
||||
* AESKL - Intel: AES Key Locker
|
||||
* AGESA - [**AMD Generic Encapsulated Software Architecture**](https://en.wikipedia.org/wiki/AGESA_)
|
||||
* AGP - The [**Accelerated Graphics
|
||||
Port**](http://en.wikipedia.org/wiki/Accelerated_Graphics_Port) is an
|
||||
Port**](https://en.wikipedia.org/wiki/Accelerated_Graphics_Port) is an
|
||||
older (1997-2004) point-to-point bus for video cards to communicate
|
||||
with the processor.
|
||||
* AHCI - The [**Advanced Host Controller
|
||||
Interface**](http://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface)
|
||||
Interface**](https://en.wikipedia.org/wiki/Advanced_Host_Controller_Interface)
|
||||
is a standard register set for communicating with a SATA controller.
|
||||
* [http://www.intel.com/technology/serialata/ahci.htm](http://www.intel.com/technology/serialata/ahci.htm)
|
||||
* [http://download.intel.com/technology/serialata/pdf/rev1_3.pdf](http://download.intel.com/technology/serialata/pdf/rev1_3.pdf)
|
||||
@ -45,20 +45,25 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* ALIB - AMD: ACPI-ASL Library
|
||||
* ALS - [**Ambient Light Sensor**](https://en.wikipedia.org/wiki/Ambient_light_sensor)
|
||||
* 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)
|
||||
* AMD-Vi AMD: The AMD name for their IOMMU implementation
|
||||
* 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
|
||||
* AMT - Intel: [**Active Management Technology**](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology)
|
||||
* ANSI - [**American National Standards Institute**](American_National_Standards_Institute)
|
||||
* ANSI - [**American National Standards Institute**](https://en.wikipedia.org/wiki/American_National_Standards_Institute)
|
||||
* AOAC - AMD: Always On, Always Connected
|
||||
* AP - Application processor - The main processor on the board (as
|
||||
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
|
||||
Strap Processor.
|
||||
the system), any cores in the processor chip that aren't the BSP (Boot
|
||||
Strap Processor).
|
||||
* APCB - AMD: AMD PSP Customization Block
|
||||
* API - [**Application Programming Interface**](https://en.wikipedia.org/wiki/API)
|
||||
* APIC - [**Advanced Programmable Interrupt
|
||||
Controller**](http://en.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller)
|
||||
Controller**](https://en.wikipedia.org/wiki/Advanced_Programmable_Interrupt_Controller)
|
||||
this is an advanced version of a PIC that can handle interrupts from
|
||||
and for multiple CPUs. Modern systems usually have several APICs:
|
||||
Local APICs (LAPIC) are CPU-bound, IO-APICs are bridge-bound.
|
||||
@ -85,6 +90,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* ASPM - PCI: [**Active State Power
|
||||
Management**](https://en.wikipedia.org/wiki/Active_State_Power_Management)
|
||||
* 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)
|
||||
* ATX - [**Advanced Technology eXtended**](https://en.wikipedia.org/wiki/ATX)
|
||||
* AVX - [**Advanced Vector Extensions**](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)
|
||||
@ -92,7 +98,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
|
||||
## B
|
||||
|
||||
* BAR - [**Base Address Register**](http://en.wikipedia.org/wiki/Base_Address_Register) This generally refers to one of the
|
||||
* BAR - [**Base Address Register**](https://en.wikipedia.org/wiki/Base_Address_Register) This generally refers to one of the
|
||||
base address registers in the PCI config space of a PCI device
|
||||
* Baud - [**Baud**](https://en.wikipedia.org/wiki/Baud) - Not an acronym - Symbol rate unit of symbols per second, named
|
||||
after Émile Baudot
|
||||
@ -111,7 +117,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
the entire 4GiB of the 32-bit address space. Also known as flat mode
|
||||
or [**Unreal mode**](https://en.wikipedia.org/wiki/Unreal_mode).
|
||||
* BIOS - [**Basic Input/Output
|
||||
System**](http://en.wikipedia.org/wiki/BIOS)
|
||||
System**](https://en.wikipedia.org/wiki/BIOS)
|
||||
* BIST - The [**Built-in Self Test**](https://en.wikipedia.org/wiki/Built-in_self-test) is a test run by the processor on
|
||||
itself when it is first started. Usually, any nonzero value indicates
|
||||
that the selftest failed.
|
||||
@ -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
|
||||
communities to mean any proprietary binary file that is not available
|
||||
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)
|
||||
* BMP - [**Bitmap**](https://en.wikipedia.org/wiki/BMP_file_format)
|
||||
* 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)
|
||||
* CIM - [**Common Information Model**](https://www.dmtf.org/standards/cim)
|
||||
* 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
|
||||
characters - similar to RST, for people who hate vowels.
|
||||
* CML - Intel: [**Comet Lake**](https://en.wikichip.org/wiki/intel/microarchitectures/comet_lake)
|
||||
@ -175,33 +183,37 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
generally used to describe a section of NVRAM (Non-volatile RAM), in
|
||||
this case a section battery-backed memory in the RTC (Real Time Clock)
|
||||
that is typically used to store BIOS settings.
|
||||
*[http://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory](http://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory)
|
||||
*[https://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory](https://en.wikipedia.org/wiki/Nonvolatile_BIOS_memory)
|
||||
* CNL - Intel: [**Cannon Lake**](https://en.wikichip.org/wiki/intel/microarchitectures/cannon_lake) (formerly Skymont)
|
||||
* 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.
|
||||
* CPLD - [**Complex Programmable Logic Device**](https://en.wikipedia.org/wiki/Complex_programmable_logic_device)
|
||||
* CPPC - AMD: Collaborative Processor Performance Controls
|
||||
* CPS - Characters Per Second
|
||||
* CPU - [**Central Processing
|
||||
Unit**](http://en.wikipedia.org/wiki/Central_processing_unit)
|
||||
Unit**](https://en.wikipedia.org/wiki/Central_processing_unit)
|
||||
* CPUID - x86: [**CPU Identification**](https://en.wikipedia.org/wiki/CPUID) opcode
|
||||
* Cr50 - Google: The first generation Google Security Chip (GSC) used on
|
||||
ChromeOS devices.
|
||||
* CRB - Customer Reference Board
|
||||
* CRLF - Carriage Return, Line Feed - \\r\\n - The standard window EOL
|
||||
(End-of-Line) marker.
|
||||
* crt0 - [**C Run Time 0**](http://en.wikipedia.org/wiki/Crt0)
|
||||
* crt0 - [**C Run Time 0**](https://en.wikipedia.org/wiki/Crt0)
|
||||
* crt0s - crt0 Source code
|
||||
* CRT - [**Cathode Ray Tube**](https://en.wikipedia.org/wiki/Cathode-ray_tube)
|
||||
* CSE - Intel: Converged Security Engine
|
||||
* CSI - MIPI: [**Camera Serial
|
||||
Interface**](https://en.wikipedia.org/wiki/Camera_Serial_Interface)
|
||||
* 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)
|
||||
* CZN - AMD: Cezanne - CPU Family 19h, Model 50h
|
||||
* CXMT - ChangXin Memory Technologies
|
||||
* CZN - AMD: [**Cezanne**](https://en.wikichip.org/wiki/amd/cores/cezanne) - CPU Family 19h, Model 50h
|
||||
|
||||
|
||||
## D
|
||||
|
||||
* D$ - Data Cache
|
||||
* D-States - [**ACPI Device power
|
||||
states**](https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface#Device_states)
|
||||
D0-D3 - These are device specific power states, with each higher
|
||||
@ -214,8 +226,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
still has power.
|
||||
* D3 Cold - ACPI Device power state: Power is completely removed from
|
||||
the device.
|
||||
* DASH - [**Desktop and mobile Architecture for System Hardware**](Desktop_and_mobile_Architecture_for_System_Hardware)
|
||||
* DASH - [**Desktop and mobile Architecture for System Hardware**](https://en.wikipedia.org/wiki/Desktop_and_mobile_Architecture_for_System_Hardware)
|
||||
* DB - DaughterBoard
|
||||
* DbC - USB: Debug Capability on the USB host controller
|
||||
* DC - Electricity: Direct Current
|
||||
* DCP - Digital Content Protection
|
||||
* DCR - **Decode Control Register** This is a way of identifying the
|
||||
@ -223,19 +236,23 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* DDC - [**Display Data Channel**](https://en.wikipedia.org/wiki/Display_Data_Channel)
|
||||
* DDI - Intel: Digital Display Interface
|
||||
* 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)
|
||||
* DID - Device Identifier
|
||||
* DIMM - [**Dual Inline Memory Module**](https://en.wikipedia.org/wiki/DIMM)
|
||||
* DIP - [**Dual inline package**](https://en.wikipedia.org/wiki/Dual_in-line_package)
|
||||
* DMA - [**Direct Memory
|
||||
Access**](http://en.wikipedia.org/wiki/Direct_memory_access) Allows
|
||||
Access**](https://en.wikipedia.org/wiki/Direct_memory_access) Allows
|
||||
certain hardware subsystems within a computer to access system memory
|
||||
for reading and/or writing independently of the main CPU. Examples of
|
||||
systems that use DMA: Hard Disk Controller, Disk Drive Controller,
|
||||
Graphics Card, Sound Card. DMA is an essential feature of all modern
|
||||
computers, as it allows devices of different speeds to communicate
|
||||
without subjecting the CPU to a massive interrupt load.
|
||||
* DMI - [**Desktop Management Interface**](Desktop_Management_Interface)
|
||||
* DMI - Direct Media Interface is a link/bus between CPU and PCH.
|
||||
* DMI - [**Desktop Management Interface**](https://en.wikipedia.org/wiki/Desktop_Management_Interface)
|
||||
* DMIC - Digital Microphone
|
||||
* DMTF - [**Distributed Management Task Force**](https://en.wikipedia.org/wiki/Distributed_Management_Task_Force)
|
||||
* DMZ - Demilitarized Zone
|
||||
@ -243,6 +260,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* DNV - Intel: [**Denverton**](https://en.wikichip.org/wiki/intel/cores/denverton)
|
||||
* DOS - Disk Operating System
|
||||
* DP - DisplayPort
|
||||
* DPM - Mediatek: DRAM Power Manager
|
||||
* DPTC - AMD: Dynamic Power and Thermal Control
|
||||
* DPTF - Intel: Dynamic Power and Thermal Framework
|
||||
* DRAM - Memory: [**Dynamic Random Access Memory**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory)
|
||||
* DRTM - Dynamic Root of Trust for Measurement
|
||||
@ -250,7 +269,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,
|
||||
thus the IO Data signal lines are referred to as DQ lines.
|
||||
* 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
|
||||
* DRTU - Intel: Diagnostics and Regulatory Testing Utility
|
||||
* DSDT - The [**Differentiated System Descriptor
|
||||
@ -262,19 +284,26 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* DSL - [**Digital subscriber line**](https://en.wikipedia.org/wiki/Digital_subscriber_line)
|
||||
* DSP - [**Digital Signal Processor**](https://en.wikipedia.org/wiki/Digital_signal_processor)
|
||||
* 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
|
||||
* DUT - Device Under Test
|
||||
* DvC - USB: Debug Capability on the USB Device (Device Capability)
|
||||
* DVFS - ARM: Dynamic Voltage and Frequency Scaling
|
||||
* DVI - [**Digital Video Interface**](https://en.wikipedia.org/wiki/Digital_Visual_Interface)
|
||||
* 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_)
|
||||
* DXIO - AMD: Distributed CrossBar I/O
|
||||
|
||||
|
||||
## E
|
||||
|
||||
* EAPD - Intel: [**External Amplifier Power Down**](https://web.archive.org/web/20210203194800/https://www.eeweb.com/hd-audio-eapd/)
|
||||
* 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
|
||||
memory that can detect and correct memory errors.
|
||||
* EDID - [**Extended Display Identification Data**](https://en.wikipedia.org/wiki/Extended_Display_Identification_Data)
|
||||
@ -283,11 +312,12 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
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
|
||||
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
|
||||
* EEPROM - [**Electrically Erasable Programmable ROM**](https://en.wikipedia.org/wiki/EEPROM) (common mistake:
|
||||
electrical erasable programmable ROM).
|
||||
* 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
|
||||
* EHL - Intel: [**Elkhart Lake**](https://en.wikichip.org/wiki/intel/cores/elkhart_lake)
|
||||
* EIDE - Enhanced Integrated Drive Electronics
|
||||
@ -299,6 +329,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* EOL - End of Life
|
||||
* EPP - Intel: Energy-Performance Preference
|
||||
* EPROM - Erasable Programmable Read-Only Memory
|
||||
* EROFS - Linux: [**Enhanced Read-Only File System**](https://en.wikipedia.org/wiki/EROFS)
|
||||
* ESD - Electrostatic discharge
|
||||
* eSPI - Enhanced System Peripheral Interface
|
||||
* EVT - Production Timeline: Engineering Validation Test
|
||||
@ -309,6 +340,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* FADT - ACPI Table: Fixed ACPI Description Table
|
||||
* FAE - Field Application Engineer
|
||||
* FAT - File Allocation Table
|
||||
* FBVDDQ - Nvidia Power: Framebuffer Voltage
|
||||
* FCH - AMD: Firmware Control Hub
|
||||
* FCS - Production Timeline: First Customer Shipment
|
||||
* FDD - Floppy Disk Drive
|
||||
@ -326,7 +358,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* FPDT - ACPI: Firmware Performance Data Table
|
||||
* FPGA - [**Field-Programmable Gate Array**](https://en.wikipedia.org/wiki/Field-programmable_gate_array)
|
||||
* Framebuffer - The
|
||||
[**framebuffer**](http://en.wikipedia.org/wiki/Framebuffer) is a part
|
||||
[**framebuffer**](https://en.wikipedia.org/wiki/Framebuffer) is a part
|
||||
of RAM in a computer which is allocated to hold the graphics
|
||||
information for one frame or picture. This information typically
|
||||
consists of color values for every pixel on the screen. A framebuffer
|
||||
@ -338,9 +370,15 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* FPM - Memory: [**Fast Page Mode**](https://en.wikipedia.org/wiki/Dynamic_random-access_memory#Page_mode_DRAM) - A DRAM standard introduced in 1990.
|
||||
* FPU - [**Floating-Point Unit**](https://en.wikipedia.org/wiki/Floating-point_unit)
|
||||
* FSB - [**Front-Side Bus**](https://en.wikipedia.org/wiki/Front-side_bus)
|
||||
* FSM - Finite State Machine
|
||||
* FSP - Intel: Firmware Support Package
|
||||
* FSR - Intel: Firmware Status Register
|
||||
* 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).
|
||||
* FWCM Intel: firmware Connection Manager
|
||||
* FWID - Firmware Identifier
|
||||
|
||||
|
||||
## G
|
||||
@ -356,12 +394,15 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
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)
|
||||
* 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)
|
||||
* GMA - Intel: [**Graphics Media
|
||||
Accelerator**](https://en.wikipedia.org/wiki/Intel_GMA)
|
||||
* GNB - Graphics NorthBridge
|
||||
* GND - Power: Ground
|
||||
* GNVS - Global Non-Volatile Storage
|
||||
* GPD - PCH GPIO in Deep Sleep well (D5 power)
|
||||
* GPE - ACPI: General Purpose Event
|
||||
* GPI - GPIOs: GPIO Input
|
||||
* GPIO - [**General Purpose Input/Output**](https://en.wikipedia.org/wiki/General-purpose_Input/Output) (Pin)
|
||||
* GPMR - Intel: General Purpose Memory Range
|
||||
@ -373,21 +414,30 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* 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)
|
||||
* 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.
|
||||
* GTDT - ACPI: Generic Timer Description Table
|
||||
* GTT - [**Graphics Translation Table**](https://en.wikipedia.org/wiki/Graphics_address_remapping_table)
|
||||
* GUID - UEFI: [**Globally Unique IDentifier**](https://en.wikipedia.org/wiki/Universally_unique_identifier)
|
||||
|
||||
|
||||
## H
|
||||
|
||||
* HBP - Graphics: [**Horizontal Back Porch**](https://en.wikipedia.org/wiki/Horizontal_blanking_interval) In the Horizontal blanking interval, this is the blank area past the end of the scanline
|
||||
* HDA - [**High Definition Audio**](https://en.wikipedia.org/wiki/Intel_High_Definition_Audio)
|
||||
* HDCP - [**High-bandwidth Digital Content Protection**](https://en.wikipedia.org/wiki/High-bandwidth_Digital_Content_Protection)
|
||||
* HDD - Hard Disk Drive
|
||||
* HDMI - [**High-Definition Multimedia Interface**](https://en.wikipedia.org/wiki/HDMI)
|
||||
* HDR - [**High Dynamic Range**](https://en.wikipedia.org/wiki/High_dynamic_range)
|
||||
* HECI - Intel: [**Host Embedded Controller Interface**](https://en.wikipedia.org/wiki/Host_Embedded_Controller_Interface) (Replaced by MEI)
|
||||
* HFP - Graphics: [**Horizontal Front Porch**](https://en.wikipedia.org/wiki/Horizontal_blanking_interval) In the Horizontal blanking interval, this is the blank before the start of the next scanline.
|
||||
* HID - [**Human Interface
|
||||
Device**](https://en.wikipedia.org/wiki/Human_interface_device)
|
||||
* HOB - UEFI: Hand-Off Block
|
||||
* HPD - Hot-Plug Detect
|
||||
* HPET - [**High Precision Event Timer**](https://en.wikipedia.org/wiki/High_Precision_Event_Timer)
|
||||
* HSP - AMD: Hardware Security Processor
|
||||
* HSPHY - USB: USB3 High-Speed PHY
|
||||
* HSTI - Hardware Security Test Interface
|
||||
* HSW - Intel: Haswell
|
||||
* Hybrid S3 - System Power State: This is where the operating system
|
||||
@ -396,7 +446,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
resume quickly from S3 if the system stays powered, and resume from
|
||||
the disk if power is lost.
|
||||
* Hypertransport - AMD: The
|
||||
[**Hypertransport**](http://en.wikipedia.org/wiki/Hypertransport) bus
|
||||
[**Hypertransport**](https://en.wikipedia.org/wiki/Hypertransport) bus
|
||||
is an older (2001-2017) high-speed electrical interconnection protocol
|
||||
specification between CPU, Memory, and (occasionally) peripheral
|
||||
devices. This was originally called the Lightning Data Transport
|
||||
@ -407,6 +457,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
|
||||
## I
|
||||
|
||||
* I$ - Instruction Cache
|
||||
* I2C - **Inter-Integrated Circuit** is a bidirectional 2-wire bus for
|
||||
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)
|
||||
@ -416,6 +467,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
- Also known as SenseWire
|
||||
* IA - Intel Architecture
|
||||
* IA-64 - Intel Itanium 64-bit architecture
|
||||
* IAFC - RISC-V: [**RISC-V Base Integer instruction set**](https://en.wikipedia.org/wiki/RISC-V), plus atomic instructions, single precision floating point instructions, and compressed instructions
|
||||
* IBB – Initial Boot Block
|
||||
* IBV - Independent BIOS Vendor
|
||||
* IC - Integrated Circuit
|
||||
@ -428,9 +480,12 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* IDSEL/AD - Initialization Device SELect/Address and Data. Each PCI
|
||||
slot has a signal called IDSEL. It is used to differentiate between
|
||||
the different slots.
|
||||
* IDT - [Interrupt Descriptor Table](https://en.wikipedia.org/wiki/Interrupt_descriptor_table)
|
||||
* IF - AMD: [**Infinity
|
||||
Fabric**](https://en.wikipedia.org/wiki/HyperTransport#Infinity_Fabric)
|
||||
is a superset of AMD's earlier Hypertransport interconnect.
|
||||
* IFD - Intel: Intel Flash Descriptor
|
||||
* IMAFC - RISC-V: [**RISC-V Base Integer instruction set**](https://en.wikipedia.org/wiki/RISC-V), plus integer multiply & divide, atomic instructions, single precision floating point instructions, and compressed instructions
|
||||
* IMC - AMD: Integrated micro-controller - An 8051 microcontroller built
|
||||
into some AMD FCHs (Fusion Controller Hubs) and Southbridge chips.
|
||||
This never worked well for anything beyond fan control and caused
|
||||
@ -442,6 +497,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* IoC - Security: Indicator of Compromise
|
||||
* IOC - Intel: I/O Cache
|
||||
* IOE - Intel: I/O Expander
|
||||
* IOHC - AMD: I/O Hub Controller
|
||||
* IOM - Intel: I/O Manager
|
||||
* IOMMU - [**I/O Memory Management Unit**](https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit)
|
||||
* IOMUX - AMD: The I/O Mux block controls how each GPIO is configured.
|
||||
@ -464,6 +520,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* IVHD - ACPI: I/O Virtualization Hardware Definition
|
||||
* IVMD - ACPI: I/O Virtualization Memory Definition
|
||||
* IVRS - I/O Virtualization Reporting Structure
|
||||
* IWYU - Include What you Use - A tool to help with include file use
|
||||
|
||||
|
||||
## J
|
||||
@ -517,6 +574,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
count**](http://www.intel.com/design/chipsets/industry/lpc.htm) bus
|
||||
was a replacement for the ISA bus, created by serializing a number of
|
||||
parallel signals to get rid of those connections.
|
||||
* LPM - USB: Link Power Management
|
||||
* LPT - Line Print Terminal, Local Print Terminal, or Line Printer. -
|
||||
The Parallel Port
|
||||
* LRU - Least Recently Used - a rule used in operating systems that
|
||||
@ -533,13 +591,21 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
|
||||
* M.2 - An interface specification for small peripheral cards.
|
||||
* 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
|
||||
* MCA - [**Machine Check Architecture**](https://en.wikipedia.org/wiki/Machine_Check_Architecture)
|
||||
* MCR - Machine Check Registers
|
||||
* MCTP - [**Management Component Transport Protocol**](https://en.wikipedia.org/wiki/Management_Component_Transport_Protocol)
|
||||
* MCU - Memory Control Unit
|
||||
* MCU - [**MicroController
|
||||
Unit**](https://en.wikipedia.org/wiki/Microcontroller)
|
||||
* MCUPM - Mediatek: MCUPM is a hardware module which is used for MCUSYS Power Management. MCUPM firmware (mcupm.bin) is loaded into MCUPM SRAM at system initialization.
|
||||
* MDFIO - Intel: Multi-Die Fabric IO
|
||||
* MDN - AMD: Mendocino
|
||||
* mDP - Mini DisplayPort connector
|
||||
* ME - Intel: Management Engine
|
||||
* MEI - Intel: ME Interface (Previously known as HECI)
|
||||
* Memory training - the process of finding the best speeds, voltages,
|
||||
@ -556,7 +622,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* MKBP - Matrix Keyboard Protocol
|
||||
* MMC - [**MultiMedia
|
||||
Card**](https://en.wikipedia.org/wiki/MultiMediaCard)
|
||||
* MMIO - [**Memory Mapped I/O**](http://en.wikipedia.org/wiki/MMIO)
|
||||
* MMIO - [**Memory Mapped I/O**](https://en.wikipedia.org/wiki/MMIO)
|
||||
allows peripherals' memory or registers to be accessed directly
|
||||
through the memory bus. When the memory bus size was very small, this
|
||||
was initially done by hiding any memory at that address, effectively
|
||||
@ -578,23 +644,28 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
OS software writers to produce SMP-capable machines and OSes in a
|
||||
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
|
||||
generally been
|
||||
https://en.wikipedia.org/wiki/MultiProcessor_Specification by the ACPI
|
||||
tables.
|
||||
generally superseded by the ACPI tables.
|
||||
* MRC - Intel: Memory Reference Code
|
||||
* MSB - Most Significant Bit
|
||||
* MSI - Message Signaled Interrupt
|
||||
* MSR - Machine-Specific Register
|
||||
* MT/s - MegaTransfers per second
|
||||
* MTS or MT/s - MegaTransfers per second
|
||||
* MTL - Intel: Meteor Lake
|
||||
* MTL - ARM: MHU Transport Layer
|
||||
* MTRR - [**Memory Type and Range
|
||||
Register**](http://en.wikipedia.org/wiki/MTRR)
|
||||
* MTRR - [**Memory Type and Range Register**](https://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).
|
||||
* MXM - PCIe: [**Mobile PCI Express Module**](https://en.wikipedia.org/wiki/Mobile_PCI_Express_Module)
|
||||
|
||||
|
||||
## N
|
||||
|
||||
* Nack - Negative Acknowledgement
|
||||
* NB - North Bridge
|
||||
* NBCI - Nvidia: NoteBook Common Interface
|
||||
* NC - GPIOs: No Connect
|
||||
* NDA - Non-Disclosure Agreement.
|
||||
@ -614,6 +685,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* NVME - Non-Volatile Memory Express - An SSD interface that allows
|
||||
access to the flash memory through a PCIe bus.
|
||||
* NVPCF - Nvidia Platform and Control Framework
|
||||
* NVVDD - Nvidia Power: Core voltage
|
||||
* NX - No Execute
|
||||
|
||||
|
||||
@ -621,8 +693,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
|
||||
* ODL - GPIOs: Open Drain Low - Low is driven to ground, High is a high-impedance state.
|
||||
* ODM - Original Design Manufacturer
|
||||
* OEM - Original Equipment Manufacturer
|
||||
* ODM - [**Original Design Manufacturer**](https://en.wikipedia.org/wiki/Original_design_manufacturer)
|
||||
* OEM - [**Original Equipment Manufacturer**](https://en.wikipedia.org/wiki/Original_equipment_manufacturer)
|
||||
* OHCI - [**Open Host Controller
|
||||
Interface**](https://en.wikipedia.org/wiki/Host_Controller_Interface_%28USB%29)
|
||||
- non-proprietary USB Host controller for USB 1.1 (May also refer to
|
||||
@ -643,7 +715,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* PAT - [**Page Attribute
|
||||
Table**](https://en.wikipedia.org/wiki/Page_attribute_table) This can
|
||||
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
|
||||
Technology**](https://en.wikipedia.org/wiki/Performance_acceleration_technology)
|
||||
* PATA - Parallel Advanced Technology Attachment - A renaming of ATA
|
||||
@ -657,21 +731,23 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* PCD - UEFI: Platform Configuration Database
|
||||
* PCH - Intel: [**Platform Controller Hub**](https://en.wikipedia.org/wiki/Platform_Controller_Hub)
|
||||
* PCI - [**Peripheral Control
|
||||
Interconnect**](http://en.wikipedia.org/wiki/Peripheral_Component_Interconnect)
|
||||
Interconnect**](https://en.wikipedia.org/wiki/Peripheral_Component_Interconnect)
|
||||
- Replaced generally by PCIe (PCI Express)
|
||||
* PCI Configuration Space - The [**PCI Config
|
||||
space**](http://en.wikipedia.org/wiki/PCI_Configuration_Space) is an
|
||||
space**](https://en.wikipedia.org/wiki/PCI_Configuration_Space) is an
|
||||
[address space](https://en.wikipedia.org/wiki/Address_space) for all
|
||||
PCI devices. Originally, this address space was accessed through an
|
||||
index/data pair by writing the address that you wanted to read/write
|
||||
into the I/O address 0xCF8, then reading or writing I/O Address 0xCFC.
|
||||
This has been updated to an MMIO method which increases each PCI
|
||||
function's configuration space from 256 bytes to 4K.
|
||||
* PCIe - [**PCI Express**](http://en.wikipedia.org/wiki/Pci_express)
|
||||
* PCIe - [**PCI Express**](https://en.wikipedia.org/wiki/Pci_express)
|
||||
* 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
|
||||
* 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
|
||||
needs and availability between two devices, typically over USB type C.
|
||||
* PEG - PCIe Graphics - A (typically) x16 PCIe slot connected to the CPU
|
||||
@ -679,7 +755,9 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* PEI - UEFI: Pre-EFI Initialization
|
||||
* PEIM - UEFI: PEI Module
|
||||
* PEP - Intel: Power Engine Plug-in
|
||||
* PHY - [**PHYsical layer**](http://en.wikipedia.org/wiki/PHY) - The
|
||||
* PEXVDD - Nvidia Power: PCIExpress Voltage
|
||||
* PHX - AMD: Phoenix SoC
|
||||
* PHY - [**PHYsical layer**](https://en.wikipedia.org/wiki/PHY) - The
|
||||
hardware that implements the send/receive functionality of a
|
||||
communication protocol.
|
||||
* PI - Platform Initialization
|
||||
@ -698,7 +776,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* PIT - Generally refers to the 8253/8254 [**Programmable Interval
|
||||
Timer**](https://en.wikipedia.org/wiki/Programmable_interval_timer).
|
||||
* PLCC - [**Plastic leaded chip
|
||||
carrier**](http://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier)
|
||||
carrier**](https://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier)
|
||||
* PLL - [**Phase-Locked
|
||||
Loop**](https://en.wikipedia.org/wiki/Phase-locked_loop)
|
||||
* PM - Platform Management
|
||||
@ -720,15 +798,21 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* POTS - [**Plain Old Telephone
|
||||
Service**](https://en.wikipedia.org/wiki/Plain_old_telephone_service)
|
||||
* PPI - UEFI: PEIM-to-PEIM Interface
|
||||
* PPR: Processor Programming Reference
|
||||
* PPR - Processor Programming Reference
|
||||
* 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
|
||||
concepts.
|
||||
* PSE - Page Size Extention
|
||||
* PSF - Intel: Primary Sideband Fabric
|
||||
* PSP - AMD: Platform Security Processor
|
||||
* 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.
|
||||
* PSR - Intel: Platform Service Record
|
||||
* PSR - Graphics: Panel Self-Refresh - This is a power-savings feature specified in eDP
|
||||
* 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
|
||||
* PWM - Pulse Width Modulation
|
||||
* PXE - Pre-boot Execution Environment
|
||||
@ -751,6 +835,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
a set of 3 or 4 GPIOs to allow 8 to 16 different memory chips to be
|
||||
used.
|
||||
* RAPL - Running Average Power Limit
|
||||
* RCB - PCIe: Read Completion Boundary - Sets the address alignment on which a read request may be serviced with multiple completions
|
||||
* RCS - [**Revision control
|
||||
system**](https://en.wikipedia.org/wiki/Revision_Control_System)
|
||||
* Real mode - The original 20-bit addressing mode of the 8086 & 8088
|
||||
@ -758,7 +843,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
Segment:Offset index pair. In 2022, this is still the mode that
|
||||
x86-64 processors are in at the reset vector!
|
||||
* RDMA - [**Remote Direct Memory
|
||||
Access**](http://en.wikipedia.org/wiki/Remote_Direct_Memory_Access) is
|
||||
Access**](https://en.wikipedia.org/wiki/Remote_Direct_Memory_Access) is
|
||||
a concept whereby two or more computers communicate via DMA directly
|
||||
from main memory of one system to the main memory of another.
|
||||
* RFC - Request for Comment
|
||||
@ -771,9 +856,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* ROM - Read Only Memory
|
||||
* RoT - Root of Trust
|
||||
* RPL - Intel: [**Raptor Lake**](https://en.wikipedia.org/wiki/Raptor_Lake)
|
||||
* RPP - Intel: Raptor Point PCH
|
||||
* RRG - AMD (ATI): Register Reference Guide
|
||||
* RSDP - Root System Description Pointer
|
||||
* RTC - Real Time Clock
|
||||
* RTD3 - Power State: Runtime D3
|
||||
* RTFM - Read the Fucking Manual
|
||||
* RTOS - Real-Time Operating System
|
||||
* RVP - Intel: Reference Validation Platform
|
||||
@ -809,6 +896,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
contents of memory. Any critical processor state is restored.
|
||||
* S5 - ACPI System Power State: System is “completely powered off”, but
|
||||
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
|
||||
Rate**](https://en.wikipedia.org/wiki/Specific_absorption_rate) is the
|
||||
measurement for the amount of Radio Frequency (RF) energy absorbed by
|
||||
@ -832,11 +924,13 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
SAS (Serial Attached SCSI). The initial version is now often referred
|
||||
to as Parallel SCSI.
|
||||
* SD - [**Secure Digital**](https://en.wikipedia.org/wiki/SD_card) card
|
||||
* SDHCI - SD Host Controller Interface
|
||||
* SDRAM - Synchronous DRAM
|
||||
* SDLE: AMD: Stardust Dynamic Load Emulator
|
||||
* SEEP - Serial EEPROM (Electrically Erasable Programmable Read-Only
|
||||
Memory)
|
||||
* SEV - AMD: Secure Encrypted Virtualization
|
||||
* SF - Snoop Filter
|
||||
* Shadow RAM - RAM which content is copied from ROM residing at the same
|
||||
address for speedup purposes.
|
||||
* Shim - A small piece of code whose only purpose is to act as an
|
||||
@ -854,6 +948,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* SMBus - [**System Management
|
||||
Bus**](https://en.wikipedia.org/wiki/System_Management_Bus)
|
||||
* [http://www.smbus.org/](http://www.smbus.org/)
|
||||
* SME - AMD: Secure Memory Encryption
|
||||
* SMI - System management interrupt
|
||||
* SMM - [**System management
|
||||
mode**](https://en.wikipedia.org/wiki/System_Management_Mode)
|
||||
@ -867,13 +962,15 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* SO-DIMM: Small Outline Dual In-Line Memory Module
|
||||
* SoC - System on a Chip
|
||||
* SOIC - [**Small-Outline Integrated
|
||||
Circuit**](http://en.wikipedia.org/wiki/Small-outline_integrated_circuit)
|
||||
Circuit**](https://en.wikipedia.org/wiki/Small-outline_integrated_circuit)
|
||||
* SPD - [**Serial Presence
|
||||
Detect**](https://en.wikipedia.org/wiki/Serial_presence_detect)
|
||||
* SPI - [**Serial Peripheral
|
||||
Interface**](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface)
|
||||
* SPL - AMD: Security Patch Level
|
||||
* SPM - Mediatek: System Power Manager
|
||||
* SPMI - MIPI: System Power Management Interface
|
||||
* SPR - Sapphire Rapids
|
||||
* SRAM - Static Random Access Memory
|
||||
* SSD - Solid State Drive
|
||||
* SSDT - Secondary System Descriptor Table - ACPI table
|
||||
@ -889,19 +986,25 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
||||
* SSI-TEB - Physical board format: [**SSI Thin Electronics
|
||||
Bay**](https://en.wikipedia.org/wiki/SSI_CEB)
|
||||
* SSP - [**Speech Signal Processor**](https://en.wikipedia.org/wiki/Speech_processing)
|
||||
* SSPHY - USB: USB3 Super-Speed PHY
|
||||
* 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)
|
||||
(SIO) device provides a system with any of a number of different
|
||||
peripherals. Most common are: A PS/2 Keyboard and mouse port, LPT
|
||||
Ports, UARTS, Watchdog Timers, Floppy drive Controllers, GPIOs, or any
|
||||
of a number of various other devices.
|
||||
* SVC - ARM: Supervisor Call
|
||||
* SVI2/3 - Serial VID (Voltage Identification) Interface 2.0 / 3.0
|
||||
* SWCM - Intel: Software Connection Manager
|
||||
|
||||
|
||||
## T
|
||||
|
||||
* TBT - Thunderbolt
|
||||
* TBT - Intel: Turbo Boost Technology
|
||||
* tBUF - I2C: The bus free time between a STOP and START condition
|
||||
* TCC - Intel: Thermal Control Circuit
|
||||
* TCP - Transmission Control Protocol
|
||||
* TCPC - Type C Port Controller
|
||||
@ -909,7 +1012,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* TDMA - Time-Division Multiple Access
|
||||
* TDP - [**Thermal Design
|
||||
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
|
||||
* TGL - Intel: Tigerlake
|
||||
* THC - Touch Host Controller
|
||||
@ -919,14 +1023,17 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* TLA - Three Letter Acronym
|
||||
* TLB - [**Translation Lookside
|
||||
Buffer**](https://en.wikipedia.org/wiki/Translation_lookaside_buffer)
|
||||
* TME - Intel: Total Memory Encryption
|
||||
* TOCTOU - Time-Of-Check to Time-Of-Use
|
||||
* TOLUM - Top of Low Usable Memory
|
||||
* ToM - Top of Memory
|
||||
* TPM - Trusted Platform Module
|
||||
* TS - TimeStamp -
|
||||
* TS - TimeStamp
|
||||
* TSN - Time-Sensitive Networking
|
||||
* TSC - [**Time Stamp
|
||||
Counter**](https://en.wikipedia.org/wiki/Time_Stamp_Counter)
|
||||
* TSEG - TOM (Top of Memory) Segment
|
||||
* TSR - Temperature Sensor
|
||||
* TWAIN - Technology without an interesting name.
|
||||
* TX - Transmit
|
||||
* TXE - Intel: Trusted eXecution Engine
|
||||
@ -939,7 +1046,10 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* uCode - [**Microcode**](https://en.wikipedia.org/wiki/Microcode)
|
||||
* UDK - UEFI: UEFI Development Kit
|
||||
* UDP - User Datagram Protocol
|
||||
* UDMA - ATA: [**Ultra DMA**](https://en.wikipedia.org/wiki/UDMA) - The fastest transfer mode for ATA Hard Drives
|
||||
* UEFI - Unified Extensible Firmware Interface
|
||||
* UFC - User Facing Camera
|
||||
* UFP - USB: Upstream Facing Port
|
||||
* UFS - Universal Flash storage
|
||||
* UHCI - USB: [**Universal Host Controller
|
||||
Interface**](https://en.wikipedia.org/wiki/Host_controller_interface_%28USB%2C_Firewire%29%23UHCI)
|
||||
@ -954,6 +1064,7 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* UPS - Uninterruptible Power Supply
|
||||
* USART - Universal Synchronous/Asynchronous Receiver/Transmitter
|
||||
* USB - Universal Serial Bus
|
||||
* USF - Intel: Universal Scalable Firmware
|
||||
|
||||
|
||||
## V
|
||||
@ -961,7 +1072,8 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* VBIOS - Video BIOS
|
||||
* VBNV - Vboot Non-Volatile storage
|
||||
* 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)
|
||||
* VDDQ Memory/Power: The supply voltage to the output buffers of a memory chip.
|
||||
* VESA - Video Electronics Standards Association
|
||||
* VGA: Video Graphics Array
|
||||
* VID: Vendor Identifier
|
||||
@ -969,12 +1081,17 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
* VLB - VESA Local Bus
|
||||
* VOIP - Voice over IP
|
||||
* Voodoo mode - a silly name for Big Real mode.
|
||||
* VMX - Intel: CPU flag for Hardware Virtualization
|
||||
* VPD - Vital Product Data
|
||||
* VPN - Virtual Private Network
|
||||
* VPU - Intel: Versatile Processor Unit
|
||||
* VR - Voltage Regulator
|
||||
* VRAM - Video Random Access Memory
|
||||
* VREF Memory/Power: Reference voltage for the input lines of a chip that determines the voltage level at which the threshold between a logical 1 and a logical 0 occurs. Usually 1/2 VDDQ.
|
||||
* VRM - Voltage Regulator Module
|
||||
* VT-d - Intel: Virtualization Technology for Directed I/O
|
||||
* VTT Memory/Power: Tracking Termination Voltage
|
||||
* vUART - Virtual UART
|
||||
|
||||
|
||||
## W
|
||||
@ -988,8 +1105,11 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
devices that open 360 degrees, or on the outside of the cover. For
|
||||
tablets, it's on the the side away from the screen.
|
||||
* WDT - [**WatchDog Timer**](https://en.wikipedia.org/wiki/Watchdog_timer)
|
||||
* WFC - World Facing Camera
|
||||
* 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)
|
||||
* WPT - Intel: Wildcat Point - PCH for Broadwell
|
||||
* WO - Write-only
|
||||
* WOL - [**Wake-on-LAN**](https://en.wikipedia.org/wiki/Wake-on-LAN)
|
||||
* WT - Cache Policy: [**Write Through**](https://en.wikipedia.org/wiki/Cache_%28computing%29)
|
||||
@ -1010,9 +1130,10 @@ Spec](https://uefi.org/specifications) for details, or run the tool
|
||||
supporting 1.x, 2.0, and 3.x devices.
|
||||
|
||||
|
||||
|
||||
## Y
|
||||
|
||||
* YCC - Color Space: [**YCbCr**](https://en.wikipedia.org/wiki/YCbCr) - A family of color spaces used in video
|
||||
|
||||
|
||||
## Z
|
||||
|
||||
|
@ -95,6 +95,17 @@ If you feel you have been falsely or unfairly accused of violating this
|
||||
Code of Conduct, you should notify the arbitration team with a concise
|
||||
description of your grievance.
|
||||
|
||||
## Legal action
|
||||
|
||||
Threatening or starting legal action against the project, sibling
|
||||
projects hosted on coreboot.org infrastructure, project or infrastructure
|
||||
maintainers leads to an immediate ban from coreboot.org and related
|
||||
systems.
|
||||
|
||||
The ban can be reconsidered, but it's the default action because the
|
||||
people who pour lots of time and money into the projects aren't interested
|
||||
in seeing their resources used against them.
|
||||
|
||||
## Scope
|
||||
|
||||
We expect all community participants (contributors, paid or otherwise;
|
||||
|
@ -14,7 +14,7 @@ read its
|
||||
## Real time chat
|
||||
|
||||
We also have a real time chat room on [IRC](ircs://irc.libera.chat/#coreboot),
|
||||
also bridged to [Matrix](https://matrix.to/#/#coreboot:libera.chat) and a
|
||||
also bridged to [Matrix](https://matrix.to/#/#coreboot:matrix.org) and a
|
||||
[Discord](https://discord.gg/JqT8NM5Zbg) presence. You can also find us on
|
||||
[OSF Slack](https://osfw.slack.com/), which has channels on many open source
|
||||
firmware related topics. Slack requires that people come from specific domains
|
||||
@ -31,7 +31,7 @@ topics, including community and technical matters that benefit from
|
||||
an official decision.
|
||||
|
||||
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)
|
||||
for the agenda and meeting minutes. Neither the video conference nor
|
||||
the document require a Google account to participate, although editing
|
||||
|
@ -55,7 +55,7 @@ else:
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
language = 'en'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
@ -87,101 +87,13 @@ html_theme = 'sphinx_rtd_theme'
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
html_context = {
|
||||
'css_files': [
|
||||
'_static/theme_overrides.css', # override wide tables in RTD theme
|
||||
],
|
||||
}
|
||||
html_css_files = [
|
||||
'theme_overrides.css', # override wide tables in RTD theme
|
||||
]
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'corebootdoc'
|
||||
|
||||
# -- Options for LaTeX output ---------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
# The paper size ('letterpaper' or 'a4paper').
|
||||
#
|
||||
# 'papersize': 'letterpaper',
|
||||
|
||||
# The font size ('10pt', '11pt' or '12pt').
|
||||
#
|
||||
# 'pointsize': '10pt',
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
#
|
||||
# 'preamble': '',
|
||||
|
||||
# Latex figure (float) alignment
|
||||
#
|
||||
# 'figure_align': 'htbp',
|
||||
}
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title,
|
||||
# author, documentclass [howto, manual, or own class]).
|
||||
latex_documents = [
|
||||
(master_doc, 'coreboot.tex', u'coreboot Documentation',
|
||||
u'the coreboot project', 'manual'),
|
||||
]
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of
|
||||
# the title page.
|
||||
#
|
||||
# latex_logo = None
|
||||
|
||||
# For "manual" documents, if this is true, then toplevel headings are parts,
|
||||
# not chapters.
|
||||
#
|
||||
# latex_use_parts = False
|
||||
|
||||
# If true, show page references after internal links.
|
||||
#
|
||||
# latex_show_pagerefs = False
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# latex_show_urls = False
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# latex_appendices = []
|
||||
|
||||
# If false, will not define \strong, \code, itleref, \crossref ... but only
|
||||
# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
|
||||
# packages.
|
||||
#
|
||||
# latex_keep_old_macro_names = True
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# latex_domain_indices = True
|
||||
|
||||
|
||||
# -- Options for manual page output ---------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'coreboot', u'coreboot Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
# If true, show URL addresses after external links.
|
||||
#
|
||||
# man_show_urls = False
|
||||
|
||||
|
||||
# -- Options for Texinfo output -------------------------------------------
|
||||
|
||||
# Grouping the document tree into Texinfo files. List of tuples
|
||||
# (source start file, target name, title, author,
|
||||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'coreboot', u'coreboot Documentation',
|
||||
author, 'coreboot', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
]
|
||||
|
||||
enable_auto_toc_tree = True
|
||||
|
||||
class MyCommonMarkParser(CommonMarkParser):
|
||||
@ -191,23 +103,6 @@ class MyCommonMarkParser(CommonMarkParser):
|
||||
n = nodes.literal(mdnode.literal, mdnode.literal)
|
||||
self.current_node.append(n)
|
||||
|
||||
# Documents to append as an appendix to all manuals.
|
||||
#
|
||||
# texinfo_appendices = []
|
||||
|
||||
# If false, no module index is generated.
|
||||
#
|
||||
# texinfo_domain_indices = True
|
||||
|
||||
# How to display URL addresses: 'footnote', 'no', or 'inline'.
|
||||
#
|
||||
# texinfo_show_urls = 'footnote'
|
||||
|
||||
# If true, do not generate a @detailmenu in the "Top" node's menu.
|
||||
#
|
||||
# texinfo_no_detailmenu = False
|
||||
|
||||
|
||||
def setup(app):
|
||||
from recommonmark.transform import AutoStructify
|
||||
# Load recommonmark on old Sphinx
|
||||
|
@ -6,14 +6,14 @@ kernel coding style. In fact, most of this document has been copied from
|
||||
the [Linux kernel coding style](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/Documentation/process/4.Coding.rst)
|
||||
|
||||
The guidelines in this file should be seen as a strong suggestion, and
|
||||
should overrule personal preference. But they may be ignored in
|
||||
individual instances when there are good practical reasons to do so, and
|
||||
reviewers are in agreement.
|
||||
should overrule personal preference. They may be ignored in individual
|
||||
instances when there are good practical reasons to do so, and reviewers
|
||||
are in agreement.
|
||||
|
||||
Any style questions that are not mentioned in here should be decided
|
||||
between the author and reviewers on a case-by-case basis. When modifying
|
||||
existing files, authors should try to match the prevalent style in that
|
||||
file -- otherwise, they should try to match similar existing files in
|
||||
file -- otherwise, they should generally match similar existing files in
|
||||
coreboot.
|
||||
|
||||
Bulk style changes to existing code ("cleanup patches") should avoid
|
||||
@ -24,7 +24,8 @@ be honored. (Note that `checkpatch.pl` is not part of this style guide,
|
||||
and neither is `clang-format`. These tools can be useful to find
|
||||
potential issues or simplify formatting in new submissions, but they
|
||||
were not designed to directly match this guide and may have false
|
||||
positives. They should not be bulk-applied to change existing code.)
|
||||
positives. They should not be bulk-applied to change existing code
|
||||
except in cases where they directly match the style guide.)
|
||||
|
||||
## Indentation
|
||||
|
||||
@ -42,7 +43,8 @@ Now, some people will claim that having 8-character indentations makes
|
||||
the code move too far to the right, and makes it hard to read on a
|
||||
80-character terminal screen. The answer to that is that if you need
|
||||
more than 3 levels of indentation, you're screwed anyway, and should
|
||||
fix your program.
|
||||
fix your program. Note that coreboot has expanded the 80 character
|
||||
limit to 96 characters to allow for modern wider screens.
|
||||
|
||||
In short, 8-char indents make things easier to read, and have the added
|
||||
benefit of warning you when you're nesting your functions too deep.
|
||||
@ -66,7 +68,7 @@ case 'm':
|
||||
case 'K':
|
||||
case 'k':
|
||||
mem <<= 10;
|
||||
/* fall through */
|
||||
__fallthrough;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@ -87,7 +89,9 @@ Outside of comments, documentation and except in Kconfig, spaces are
|
||||
never used for indentation, and the above example is deliberately
|
||||
broken.
|
||||
|
||||
Get a decent editor and don't leave whitespace at the end of lines.
|
||||
Get a decent editor and don't leave whitespace at the end of lines. This
|
||||
will actually keep the patch from being tested in the CI, so patches
|
||||
with ending whitespace cannot be merged.
|
||||
|
||||
## Breaking long lines and strings
|
||||
|
||||
@ -503,18 +507,14 @@ comments to note or warn about something particularly clever (or ugly),
|
||||
but try to avoid excess. Instead, put the comments at the head of the
|
||||
function, telling people what it does, and possibly WHY it does it.
|
||||
|
||||
When commenting the kernel API functions, please use the kernel-doc
|
||||
format. See the files Documentation/kernel-doc-nano-HOWTO.txt and
|
||||
scripts/kernel-doc for details.
|
||||
|
||||
coreboot style for comments is the C89 "/* ... */" style. You may
|
||||
use C99-style "// ..." comments.
|
||||
coreboot style for comments is the C89 "/* ... */" style. You may also
|
||||
use C99-style "// ..." comments for single-line comments.
|
||||
|
||||
The preferred style for *short* (multi-line) comments is:
|
||||
|
||||
```c
|
||||
/* This is the preferred style for short multi-line
|
||||
comments in the Linux kernel source code.
|
||||
comments in the coreboot source code.
|
||||
Please use it consistently. */
|
||||
```
|
||||
|
||||
@ -523,7 +523,7 @@ The preferred style for *long* (multi-line) comments is:
|
||||
```c
|
||||
/*
|
||||
* This is the preferred style for multi-line
|
||||
* comments in the Linux kernel source code.
|
||||
* comments in the coreboot source code.
|
||||
* Please use it consistently.
|
||||
*
|
||||
* Description: A column of asterisks on the left side,
|
||||
@ -578,7 +578,8 @@ To do the latter, you can stick the following in your .emacs file:
|
||||
```
|
||||
|
||||
This will make emacs go better with the kernel coding style for C files
|
||||
below ~/src/linux-trees.
|
||||
below ~/src/linux-trees. Obviously, this should be updated to match
|
||||
your own paths for coreboot.
|
||||
|
||||
But even if you fail in getting emacs to do sane formatting, not
|
||||
everything is lost: use "indent".
|
||||
@ -626,38 +627,6 @@ config ADFS_FS_RW
|
||||
For full documentation on the configuration files, see the file
|
||||
Documentation/kbuild/kconfig-language.txt.
|
||||
|
||||
Data structures
|
||||
---------------
|
||||
|
||||
Data structures that have visibility outside the single-threaded
|
||||
environment they are created and destroyed in should always have
|
||||
reference counts. In the kernel, garbage collection doesn't exist (and
|
||||
outside the kernel garbage collection is slow and inefficient), which
|
||||
means that you absolutely _have_ to reference count all your uses.
|
||||
|
||||
Reference counting means that you can avoid locking, and allows multiple
|
||||
users to have access to the data structure in parallel - and not having
|
||||
to worry about the structure suddenly going away from under them just
|
||||
because they slept or did something else for a while.
|
||||
|
||||
Note that locking is _not_ a replacement for reference counting.
|
||||
Locking is used to keep data structures coherent, while reference
|
||||
counting is a memory management technique. Usually both are needed, and
|
||||
they are not to be confused with each other.
|
||||
|
||||
Many data structures can indeed have two levels of reference counting,
|
||||
when there are users of different "classes". The subclass count counts
|
||||
the number of subclass users, and decrements the global count just once
|
||||
when the subclass count goes to zero.
|
||||
|
||||
Examples of this kind of "multi-level-reference-counting" can be found
|
||||
in memory management ("struct mm_struct": mm_users and mm_count),
|
||||
and in filesystem code ("struct super_block": s_count and
|
||||
s_active).
|
||||
|
||||
Remember: if another thread can find your data structure, and you don't
|
||||
have a reference count on it, you almost certainly have a bug.
|
||||
|
||||
Macros, Enums and RTL
|
||||
---------------------
|
||||
|
||||
@ -727,35 +696,19 @@ The cpp manual deals with macros exhaustively. The gcc internals manual
|
||||
also covers RTL which is used frequently with assembly language in the
|
||||
kernel.
|
||||
|
||||
Printing kernel messages
|
||||
Printing coreboot messages
|
||||
------------------------
|
||||
|
||||
Kernel developers like to be seen as literate. Do mind the spelling of
|
||||
kernel messages to make a good impression. Do not use crippled words
|
||||
coreboot developers like to be seen as literate. Do mind the spelling of
|
||||
coreboot messages to make a good impression. Do not use crippled words
|
||||
like "dont"; use "do not" or "don't" instead. Make the messages
|
||||
concise, clear, and unambiguous.
|
||||
|
||||
Kernel messages do not have to be terminated with a period.
|
||||
coreboot messages do not have to be terminated with a period.
|
||||
|
||||
Printing numbers in parentheses (%d) adds no value and should be
|
||||
avoided.
|
||||
|
||||
There are a number of driver model diagnostic macros in
|
||||
<linux/device.h> which you should use to make sure messages are
|
||||
matched to the right device and driver, and are tagged with the right
|
||||
level: dev_err(), dev_warn(), dev_info(), and so forth. For messages
|
||||
that aren't associated with a particular device, <linux/printk.h>
|
||||
defines pr_debug() and pr_info().
|
||||
|
||||
Coming up with good debugging messages can be quite a challenge; and
|
||||
once you have them, they can be a huge help for remote troubleshooting.
|
||||
Such messages should be compiled out when the DEBUG symbol is not
|
||||
defined (that is, by default they are not included). When you use
|
||||
dev_dbg() or pr_debug(), that's automatic. Many subsystems have
|
||||
Kconfig options to turn on -DDEBUG. A related convention uses
|
||||
VERBOSE_DEBUG to add dev_vdbg() messages to the ones already enabled
|
||||
by DEBUG.
|
||||
|
||||
Allocating memory
|
||||
-----------------
|
||||
|
||||
@ -792,12 +745,7 @@ The inline disease
|
||||
There appears to be a common misperception that gcc has a magic "make
|
||||
me faster" speedup option called "inline". While the use of inlines
|
||||
can be appropriate (for example as a means of replacing macros, see
|
||||
Chapter 12), it very often is not. Abundant use of the inline keyword
|
||||
leads to a much bigger kernel, which in turn slows the system as a whole
|
||||
down, due to a bigger icache footprint for the CPU and simply because
|
||||
there is less memory available for the pagecache. Just think about it; a
|
||||
pagecache miss causes a disk seek, which easily takes 5 milliseconds.
|
||||
There are a LOT of cpu cycles that can go into these 5 milliseconds.
|
||||
Chapter 12), it very often is not.
|
||||
|
||||
A reasonable rule of thumb is to not put inline at functions that have
|
||||
more than 3 lines of code in them. An exception to this rule are the
|
||||
@ -818,9 +766,9 @@ Function return values and names
|
||||
|
||||
Functions can return values of many different kinds, and one of the most
|
||||
common is a value indicating whether the function succeeded or failed.
|
||||
Such a value can be represented as an error-code integer (-Exxx =
|
||||
failure, 0 = success) or a "succeeded" boolean (0 = failure, non-zero
|
||||
= success).
|
||||
Such a value can be represented as an error-code integer (`CB_ERR_xxx`
|
||||
(negative number) = failure, `CB_SUCCESS` (0) = success) or a "succeeded"
|
||||
boolean (0 = failure, non-zero = success).
|
||||
|
||||
Mixing up these two sorts of representations is a fertile source of
|
||||
difficult-to-find bugs. If the C language included a strong distinction
|
||||
@ -832,21 +780,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
|
||||
is a predicate, the function should return a "succeeded" boolean.
|
||||
|
||||
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
|
||||
device present" is a predicate, and the pci_dev_present() function
|
||||
For example, "add work" is a command, and the `add_work()` function
|
||||
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
|
||||
returns 1 if it succeeds in finding a matching device or 0 if it
|
||||
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,
|
||||
rather than an indication of whether the computation succeeded, are not
|
||||
subject to this rule. Generally they indicate failure by returning some
|
||||
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. Execution
|
||||
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
|
||||
---------------
|
||||
@ -860,7 +871,7 @@ in the same directory that is not part of a normal include path gets included
|
||||
.c files should keep all C code wrapped in `#ifndef __ASSEMBLER__` blocks,
|
||||
including includes to other headers that don't follow that provision. Where a
|
||||
specific include order is required for technical reasons, it should be clearly
|
||||
documented with comments.
|
||||
documented with comments. This should not be the norm.
|
||||
|
||||
Files should generally include every header they need a definition from
|
||||
directly (and not include any unnecessary extra headers). Excepted from
|
||||
@ -995,6 +1006,29 @@ This rule only applies to explicit GCC extensions listed in the
|
||||
should never rely on incidental GCC translation behavior that is not
|
||||
explicitly documented as a feature and could change at any moment.
|
||||
|
||||
Refactoring
|
||||
-----------
|
||||
Because refactoring existing code can add bugs to tested code, any
|
||||
refactors should be done only with serious consideration. Refactoring
|
||||
for style differences should only be done if the existing style
|
||||
conflicts with a documented coreboot guideline. If you believe that the
|
||||
style should be modified, the pros and cons can be discussed on the
|
||||
mailing list and in the coreboot leadership meeting.
|
||||
|
||||
Similarly, the original author should be respected. Changing working
|
||||
code simply because of a stylistic disagreement is *prohibited*. This is
|
||||
not saying that refactors that are objectively better (simpler, faster,
|
||||
easier to understand) are not allowed, but there has to be a definite
|
||||
improvement, not simply stylistic changes.
|
||||
|
||||
Basically, when refactoring code, there should be a clear benefit to
|
||||
the project and codebase. The reviewers and submitters get to make the
|
||||
call on how to interpret this.
|
||||
|
||||
When refactoring, adding unit tests to verify that the post-change
|
||||
functionality matches or improves upon pre-change functionality is
|
||||
encouraged.
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
@ -1002,7 +1036,7 @@ The C Programming Language, Second Edition by Brian W. Kernighan and
|
||||
Dennis M. Ritchie. Prentice Hall, Inc., 1988. ISBN 0-13-110362-8
|
||||
(paperback), 0-13-110370-9 (hardback). URL:
|
||||
<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.
|
||||
|
@ -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
|
||||
employer is aware and you are authorized to submit the code. For
|
||||
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
|
||||
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
|
||||
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
|
||||
-----------------------------------
|
||||
@ -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
|
||||
parallel builds, you can specify the number of cores to use by setting the
|
||||
the CPUS environment variable. Example:
|
||||
|
||||
```Bash
|
||||
make what-jenkins-does CPUS=8
|
||||
```
|
||||
|
||||
* 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
|
||||
@ -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
|
||||
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:
|
||||
git push origin HEAD:refs/for/master%topic=i915-kernel-x60
|
||||
|
||||
```Bash
|
||||
git push origin HEAD:refs/for/main%topic=i915-kernel-x60
|
||||
```
|
||||
|
||||
* 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
|
||||
@ -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
|
||||
isn't as obvious as the commit message. These patches can also be pushed with
|
||||
the wip flag:
|
||||
git push origin HEAD:refs/for/master%wip
|
||||
|
||||
```Bash
|
||||
git push origin HEAD:refs/for/main%wip
|
||||
```
|
||||
|
||||
* 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
|
||||
@ -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
|
||||
who knows their commit ID, so don't use this for sensitive changes. To push
|
||||
a private change, use the command:
|
||||
git push origin HEAD:refs/for/master%private
|
||||
|
||||
```Bash
|
||||
git push origin HEAD:refs/for/main%private
|
||||
```
|
||||
|
||||
* Multiple push options can be combined:
|
||||
git push origin HEAD:refs/for/master%private,wip,topic=experiment
|
||||
|
||||
```Bash
|
||||
git push origin HEAD:refs/for/main%private,wip,topic=experiment
|
||||
```
|
||||
|
||||
* 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
|
||||
@ -229,7 +292,7 @@ changed.
|
||||
helps others and shows that these mainboards are currently being
|
||||
maintained. At some point, boards that are not up to date in the
|
||||
board-status repo will probably end up getting removed from the coreboot
|
||||
master branch.
|
||||
main branch.
|
||||
|
||||
* Abandon patches that are no longer useful, or that you don’t intend to
|
||||
keep working on to get submitted.
|
||||
@ -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
|
||||
happened in which repository. This applies to these lines, not the actual
|
||||
commit message itself:
|
||||
Commit-Id:
|
||||
Change-Id:
|
||||
Signed-off-by:
|
||||
Reviewed-on:
|
||||
Tested-by:
|
||||
Reviewed-by:
|
||||
The script 'util/gitconfig/rebase.sh' can be used to help automate this.
|
||||
|
||||
* Commit-Id:
|
||||
* Change-Id:
|
||||
* Signed-off-by:
|
||||
* Reviewed-on:
|
||||
* Tested-by:
|
||||
* 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.
|
||||
|
||||
* 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>.
|
||||
|
||||
[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
|
||||
|
||||
## 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
|
||||
|
||||
@ -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
|
||||
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?
|
||||
|
||||
@ -51,6 +59,8 @@ Felix Singer, David Hendricks and Martin Roth are the coreboot GSoC admins for
|
||||
|
||||
* [Glossary][GSoC Glossary]
|
||||
|
||||
* [Organization Admin Tips][GSoC Organization Admin Tips]
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
* 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.
|
||||
|
||||
|
||||
@ -273,3 +283,4 @@ questions.
|
||||
[GSoC FAQ]: https://developers.google.com/open-source/gsoc/faq
|
||||
[GSoC Rules]: https://summerofcode.withgoogle.com/rules
|
||||
[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
|
||||
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
|
||||
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
|
||||
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
|
||||
[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/
|
||||
[Coverity scan]: https://scan.coverity.com/projects/coreboot
|
||||
[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
|
||||
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
|
||||
|
||||
### Mentors
|
||||
* Patrick Georgi <patrick@georgi.software>
|
||||
|
||||
## Support Power9/Power8 in coreboot
|
||||
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
|
||||
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
|
||||
to one of the platforms, for example GRUB2, U-Boot (the UI part), Tianocore,
|
||||
yabits, FILO, or Linux-as-Payload.
|
||||
to one of the platforms, for example GRUB2, U-Boot (the UI part), edk2,
|
||||
FILO, or Linux-as-Payload.
|
||||
|
||||
Since this is a bit of a catch-all idea, an application to GSoC should pick a
|
||||
combination of payload and architecture to support.
|
||||
@ -130,7 +129,6 @@ their bug reports.
|
||||
going on from the resulting logs.
|
||||
|
||||
### Mentors
|
||||
* Patrick Georgi <patrick@georgi.software>
|
||||
|
||||
## Extend Ghidra to support analysis of firmware images
|
||||
[Ghidra](https://ghidra-sre.org) is a recently released cross-platform
|
||||
|
@ -386,7 +386,7 @@ want to submit all commits in the currently checked-out branch for
|
||||
review on gerrit:
|
||||
{ \small
|
||||
\begin{verbatim}
|
||||
$ git config remote.origin.push HEAD:refs/for/master
|
||||
$ git config remote.origin.push HEAD:refs/for/main
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
@ -399,10 +399,10 @@ $ make gitconfig
|
||||
|
||||
\subsection{Work flow}
|
||||
|
||||
It is recommended that you make a new branch when you start to work, not pushing changes to master.
|
||||
It is recommended that you make a new branch when you start to work, not pushing changes to main.
|
||||
{ \small
|
||||
\begin{verbatim}
|
||||
$ git checkout master -b mybranch
|
||||
$ git checkout main -b mybranch
|
||||
\end{verbatim}
|
||||
}
|
||||
After you have done your changes, run:
|
||||
@ -452,7 +452,7 @@ make a new local commit that fixes the issues reported by the
|
||||
reviewers, then rebase the change by preserving the same Change-ID. We
|
||||
recommend you to use the git rebase command in interactive mode,
|
||||
|
||||
Once your patch gets a +2 comment, your patch can be merged (cherry-pick, actually) to origin/master.
|
||||
Once your patch gets a +2 comment, your patch can be merged (cherry-pick, actually) to origin/main.
|
||||
|
||||
%
|
||||
% Working with Gerrit
|
||||
@ -474,9 +474,9 @@ click \url{https://review.coreboot.org}
|
||||
|Search for status:open |
|
||||
+-----------------------------------------------------------+
|
||||
|Subject Status Owner Project Branch Updated CR V |
|
||||
|cpu: Rename.. Alexandru coreboot master 1:20 PM +1 |
|
||||
|cpu: Only a.. Alexandru coreboot master 1:17 PM X |
|
||||
|arch/x86: D.. Alexandru coreboot master 1:09 PM |
|
||||
|cpu: Rename.. Alexandru coreboot main 1:20 PM +1 |
|
||||
|cpu: Only a.. Alexandru coreboot main 1:17 PM X |
|
||||
|arch/x86: D.. Alexandru coreboot main 1:09 PM |
|
||||
| |
|
||||
| Next -> |
|
||||
|Press '?' to view keyboard shortcuts | Powered by Gerrit |
|
||||
@ -637,7 +637,7 @@ Gerrit makes reviews easier by showing changes in a side-by-side
|
||||
display, and allowing inline comments to be added by any reviewer.
|
||||
|
||||
Gerrit simplifies Git based project maintainership by permitting any
|
||||
authorized user to submit changes to the master Git repository, rather
|
||||
authorized user to submit changes to the upstream Git repository, rather
|
||||
than requiring all approved changes to be merged in by hand by the
|
||||
project maintainer. This functionality enables a more centralized
|
||||
usage of Git.
|
||||
|
BIN
Documentation/coreboot_logo.bmp
Normal file
After Width: | Height: | Size: 195 KiB |
@ -8,15 +8,6 @@ and those providing after-market firmware to extend the usefulness of devices.
|
||||
|
||||
## Hardware shipping with coreboot
|
||||
|
||||
### NovaCustom laptops
|
||||
|
||||
[NovaCustom](https://configurelaptop.eu/) sells configurable laptops with
|
||||
[Dasharo](https://dasharo.com/) coreboot based firmware on board, maintained by
|
||||
[3mdeb](https://3mdeb.com/). NovaCustom offers full GNU/Linux and Microsoft
|
||||
Windows compatibility. NovaCustom ensures security updates via fwupd for 5 years
|
||||
and the firmware is equipped with important security features such as measured
|
||||
boot, verified boot, TPM integration and UEFI Secure Boot.
|
||||
|
||||
### ChromeOS Devices
|
||||
|
||||
All ChromeOS devices ([Chromebooks](https://chromebookdb.com/), Chromeboxes,
|
||||
@ -26,6 +17,25 @@ running on the Embedded Controller (EC) – a small microcontroller which provid
|
||||
functions like battery management, keyboard support, and sensor interfacing –
|
||||
is open source as well.
|
||||
|
||||
### Nitrokey
|
||||
|
||||
[Nitrokey](https://nitrokey.com) is a german IT security hardware vendor which
|
||||
offers a range of laptops, PCs, HSMs, and networking devices with coreboot and
|
||||
[Dasharo](https://dasharo.com/). The devices come with neutralized Intel
|
||||
Management Engine (ME) and with pre-installed [Heads](http://osresearch.net) or
|
||||
EDK2 payload providing measured boot and verified boot protection. For
|
||||
additional security the systems can be physically sealed and pictures of those
|
||||
sealings are sent via encrypted email.
|
||||
|
||||
### NovaCustom laptops
|
||||
|
||||
[NovaCustom](https://configurelaptop.eu/) sells configurable laptops with
|
||||
[Dasharo](https://dasharo.com/) coreboot based firmware on board, maintained by
|
||||
[3mdeb](https://3mdeb.com/). NovaCustom offers full GNU/Linux and Microsoft
|
||||
Windows compatibility. NovaCustom ensures security updates via fwupd for 5 years
|
||||
and the firmware is equipped with important security features such as measured
|
||||
boot, verified boot, TPM integration and UEFI Secure Boot.
|
||||
|
||||
### PC Engines APUs
|
||||
|
||||
[PC Engines](https://pcengines.ch) designs and sells embedded PC hardware that
|
||||
@ -33,19 +43,15 @@ ships with coreboot and support upstream maintenance for the devices through a
|
||||
third party, [3mdeb](https://3mdeb.com). They provide current and tested
|
||||
firmware binaries on [GitHub](https://pcengines.github.io).
|
||||
|
||||
### Star Labs
|
||||
### Protectli
|
||||
|
||||
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and
|
||||
built specifically for Linux that are available with coreboot firmware. They
|
||||
use Tianocore as the payload and include an NVRAM option to disable the
|
||||
Intel Management Engine.
|
||||
|
||||
### System76
|
||||
|
||||
[System76](https://system76.com/) manufactures Linux laptops, desktops, and
|
||||
servers. Some models are sold with [System76 Open
|
||||
Firmware](https://github.com/system76/firmware-open), an open source
|
||||
distribution of coreboot, EDK2, and System76 firmware applications.
|
||||
[Protectli](https://protectli.com) is dedicated to providing reliable,
|
||||
cost-effective, and secure computer equipment with coreboot-based firmware
|
||||
tailored for their hardware. It comes with the [Dasharo](#dasharo)
|
||||
firmware, maintained by [3mdeb](https://3mdeb.com/). Protectli hardware has
|
||||
verified support for many popular operating systems, such as Linux distributions,
|
||||
FreeBSD, and Windows. Support includes Debian, Ubuntu, OPNsense, pfSense,
|
||||
ProxMox VE, VMware ESXi, Windows 10 and 11, and many more.
|
||||
|
||||
### Purism
|
||||
|
||||
@ -54,16 +60,22 @@ security; part of that effort is to minimize the amount of proprietary and/or
|
||||
binary code. Their laptops ship with a blob-free OS and coreboot firmware
|
||||
with a neutralized Intel Management Engine (ME) and SeaBIOS as the payload.
|
||||
|
||||
### Star Labs
|
||||
|
||||
[Star Labs](https://starlabs.systems/) offers a range of laptops designed and
|
||||
built specifically for Linux that are available with coreboot firmware. They
|
||||
use edk2 as the payload and include an NVRAM option to disable the Intel
|
||||
Management Engine.
|
||||
|
||||
### System76
|
||||
|
||||
[System76](https://system76.com/) manufactures Linux laptops, desktops, and
|
||||
servers. Some models are sold with [System76 Open
|
||||
Firmware](https://github.com/system76/firmware-open), an open source
|
||||
distribution of coreboot, edk2, and System76 firmware applications.
|
||||
|
||||
## After-market firmware
|
||||
|
||||
### Libreboot
|
||||
|
||||
[Libreboot](https://libreboot.org) is a downstream coreboot distribution that
|
||||
provides ready-made firmware images for supported devices: those which can be
|
||||
built entirely from source code. Their copy of the coreboot repository is
|
||||
therefore stripped of all devices that require binary components to boot.
|
||||
|
||||
|
||||
### Dasharo
|
||||
|
||||
[Dasharo](https://dasharo.com/) is an open-source based firmware distribution
|
||||
@ -71,18 +83,8 @@ focusing on clean and simple code, long-term maintenance, transparent
|
||||
validation, privacy-respecting implementation, liberty for the owners, and
|
||||
trustworthiness for all.
|
||||
|
||||
|
||||
### MrChromebox
|
||||
|
||||
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
|
||||
images for the vast majority of x86-based Chromebooks and Chromeboxes, using
|
||||
Tianocore as the payload to provide a modern UEFI bootloader. Why replace
|
||||
coreboot with coreboot? Mr Chromebox's images are built using upstream
|
||||
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
|
||||
(i.e., they run Windows as well as Linux). They also offer updated CPU
|
||||
microcode, as well as firmware updates for the device's embedded controller
|
||||
(EC). This firmware "takes the training wheels off" your ChromeOS device :)
|
||||
Contributions are welcome,
|
||||
[this document](https://docs.dasharo.com/ways-you-can-help-us/).
|
||||
|
||||
### Heads
|
||||
|
||||
@ -97,6 +99,25 @@ Heads is not just another Linux distribution – it combines physical hardening
|
||||
of specific hardware platforms and flash security features with custom coreboot
|
||||
firmware and a Linux boot loader in ROM.
|
||||
|
||||
### Libreboot
|
||||
|
||||
[Libreboot](https://libreboot.org) is a downstream coreboot distribution that
|
||||
provides ready-made firmware images for supported devices: those which can be
|
||||
built entirely from source code. Their copy of the coreboot repository is
|
||||
therefore stripped of all devices that require binary components to boot.
|
||||
|
||||
### MrChromebox
|
||||
|
||||
[MrChromebox](https://mrchromebox.tech/) provides upstream coreboot firmware
|
||||
images for the vast majority of x86-based Chromebooks and Chromeboxes, using
|
||||
edk2 as the payload to provide a modern UEFI bootloader. Why replace
|
||||
coreboot with coreboot? Mr Chromebox's images are built using upstream
|
||||
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
|
||||
(i.e., they run Windows as well as Linux). They also offer updated CPU
|
||||
microcode, as well as firmware updates for the device's embedded controller
|
||||
(EC). This firmware "takes the training wheels off" your ChromeOS device :)
|
||||
|
||||
### Skulls
|
||||
|
||||
[Skulls](https://github.com/merge/skulls) provides firmware images for
|
||||
|
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
|
||||
depending on the various temperatures reported by participants.
|
||||
|
||||
# Note about units
|
||||
## Note about units
|
||||
|
||||
ACPI uses unusual units for specifying various physical measurements. For
|
||||
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
|
||||
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
|
||||
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
|
||||
the battery charger).
|
||||
|
||||
# ACPI Methods
|
||||
## ACPI Methods
|
||||
|
||||
The Active and Passive policies also provide for short Methods to define
|
||||
different kinds of temperature thresholds.
|
||||
@ -141,7 +141,7 @@ a "graceful shutdown".
|
||||
|
||||
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:
|
||||
- Policies
|
||||
@ -151,7 +151,7 @@ The `drivers/intel/dptf` chip driver is organized into several sections:
|
||||
The Policies section (`policies.active`, `policies.passive`, and
|
||||
`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:
|
||||
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/
|
||||
percentage on down to the lowest).
|
||||
|
||||
## Passive Policy
|
||||
### Passive Policy
|
||||
|
||||
Each Passive Policy is defined in terms of 5 parts:
|
||||
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).
|
||||
The Priority is defaulted to 100 in this case.
|
||||
|
||||
## Critical Policy
|
||||
### Critical Policy
|
||||
|
||||
Each Critical Policy is defined in terms of 3 parts:
|
||||
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
|
||||
(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
|
||||
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
|
||||
increments of 200 mW.
|
||||
|
||||
## Charger Performance
|
||||
### Charger Performance
|
||||
|
||||
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
|
||||
@ -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
|
||||
performance states to choose from.
|
||||
|
||||
## Fan Performance
|
||||
### Fan Performance
|
||||
|
||||
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
|
||||
@ -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
|
||||
table for a given temperature threshold.
|
||||
|
||||
## Options
|
||||
### Options
|
||||
|
||||
### Fan
|
||||
#### Fan
|
||||
1) Fine-grained control - a boolean (see Fan Performance section above)
|
||||
2) Step-size - Recommended minimum step size (in percentage points) to adjust
|
||||
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
|
||||
fan device if a low fan speed is detected.
|
||||
|
||||
### Temperature sensors
|
||||
#### Temperature sensors
|
||||
1) Hysteresis - The amount of hysteresis implemented in either circuitry or
|
||||
the firmware that reads the temperature sensor (in degrees C).
|
||||
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
|
||||
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
|
||||
|
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
|
||||
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)
|
||||
* [IPMI KCS](ipmi_kcs.md)
|
||||
* [SMMSTORE](smmstore.md)
|
||||
* [SoundWire](soundwire.md)
|
||||
* [SMMSTOREv2](smmstorev2.md)
|
||||
* [SoundWire](soundwire.md)
|
||||
* [USB4 Retimer](retimer.md)
|
||||
* [CBFS SMBIOS hooks](cbfs_smbios.md)
|
||||
|
@ -42,6 +42,15 @@ The following registers can be set:
|
||||
* `gpe_interrupt`
|
||||
* Integer
|
||||
* 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
|
||||
|
@ -1,6 +1,6 @@
|
||||
# USB4 Retimers
|
||||
|
||||
# Introduction
|
||||
## Introduction
|
||||
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
|
||||
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.
|
||||
|
||||
|
||||
# Driver Usage
|
||||
## Driver Usage
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
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 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 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
|
||||
|
||||
|
137
Documentation/external_docs.md
Normal file
@ -0,0 +1,137 @@
|
||||
# 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)
|
||||
* [coreboot on Eagle Stream](https://www.intel.com/content/www/us/en/content-details/778593/coreboot-practice-on-eagle-stream.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/)
|
@ -7,10 +7,10 @@ to the point of providing its own custom language.
|
||||
The overhead of learning this new syntax is (hopefully) offset by its lower
|
||||
complexity.
|
||||
|
||||
The build system is defined in the toplevel `Makefile` and `toolchain.inc`
|
||||
The build system is defined in the toplevel `Makefile` and `toolchain.mk`
|
||||
and is supposed to be generic (and is in fact used with a number of other
|
||||
projects). Project specific configuration should reside in files called
|
||||
`Makefile.inc`.
|
||||
`Makefile.mk`.
|
||||
|
||||
In general, the build system provides a number of "classes" that describe
|
||||
various parts of the build. These cover the various build targets in coreboot
|
||||
@ -36,7 +36,7 @@ TODO: explain how to create new classes and how to evaluate them.
|
||||
### subdirs
|
||||
`subdirs` contains subdirectories (relative to the current directory) that
|
||||
should also be handled by the build system. The build system expects these
|
||||
directories to contain a file called `Makefile.inc`.
|
||||
directories to contain a file called `Makefile.mk`.
|
||||
|
||||
Subdirectories are not read at the point where the `subdirs` statement
|
||||
resides but later, after the current directory is handled (and potentially
|
||||
@ -62,6 +62,23 @@ supported options are:
|
||||
|
||||
`position` and `align` are mutually exclusive.
|
||||
|
||||
### Adding Makefile fragments
|
||||
|
||||
You can use the `add_intermediate` helper to add new post-processing steps for
|
||||
the final `coreboot.rom` image. For example you can add new files to CBFS by
|
||||
adding something like this to `site-local/Makefile.mk`
|
||||
|
||||
```
|
||||
$(call add_intermediate, add_mrc_data)
|
||||
$(CBFSTOOL) $< write -r RW_MRC_CACHE -f site-local/my-mrc-recording.bin
|
||||
```
|
||||
|
||||
Note that the second line must start with a tab, not spaces.
|
||||
|
||||
```eval_rst
|
||||
See also :doc:`../tutorial/managing_local_additions`.
|
||||
```
|
||||
|
||||
#### FMAP region support
|
||||
With the addition of FMAP flash partitioning support to coreboot, there was a
|
||||
need to extend the specification of files to provide more precise control
|
||||
@ -83,4 +100,4 @@ The default implementation just returns `COREBOOT` (the default region) for
|
||||
all files.
|
||||
|
||||
vboot provides its own implementation of `regions-for-file` that can be used
|
||||
as reference in `src/vboot/Makefile.inc`.
|
||||
as reference in `src/vboot/Makefile.mk`.
|
||||
|
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.**
|
312
Documentation/getting_started/faq.md
Normal file
@ -0,0 +1,312 @@
|
||||
# coreboot FAQ
|
||||
|
||||
## General coreboot questions
|
||||
|
||||
|
||||
### What is coreboot?
|
||||
|
||||
coreboot is a free and open software project designed to initialize
|
||||
computers and embedded systems in a fast, secure, and auditable fashion.
|
||||
The focus is on minimal hardware initialization: to do only what is
|
||||
absolutely needed, then pass control to other software (a payload, in
|
||||
coreboot parlance) in order to boot the operating system securely.
|
||||
|
||||
|
||||
### What is a coreboot payload?
|
||||
|
||||
coreboot itself does not deal with boot media such as hard-drives,
|
||||
SSDs, or USB flash-drives, beyond initializing the underlying hardware.
|
||||
So in order to actually boot an operating system, another piece of
|
||||
software which does do those things must be used. coreboot supports
|
||||
a large number of diverse payloads; see below for more details.
|
||||
|
||||
|
||||
### Is coreboot the same as UEFI?
|
||||
|
||||
No. coreboot and UEFI are both system firmware that handle the
|
||||
initialization of the hardware, but are otherwise not similar.
|
||||
coreboot’s goal is to **just** initialize the hardware and exit.
|
||||
This makes coreboot smaller and simpler, leading to faster boot times,
|
||||
and making it easier to find and fix bugs. The result is a higher
|
||||
overall security.
|
||||
|
||||
|
||||
### What's the difference between coreboot and UEFI?
|
||||
|
||||
UEFI is actually a firmware specification, not a specific software
|
||||
implementation. Intel, along with the rest of the Tianocore project,
|
||||
has released an open-source implementation of the overall framework,
|
||||
EDK2, but it does not come with hardware support. Most hardware running
|
||||
UEFI uses a proprietary implementation built on top of EDK2.
|
||||
|
||||
coreboot does not implement the UEFI specification, but it can be used to
|
||||
initialize the system, then launch a UEFI payload such as EDK2 in order
|
||||
to provide UEFI boot services.
|
||||
|
||||
The UEFI specification also defines and allows for many things that are
|
||||
outside of coreboot’s scope, including (but not limited to):
|
||||
|
||||
* Boot device selection
|
||||
* Updating the firmware
|
||||
* A CLI shell
|
||||
* Network communication
|
||||
* An integrated setup menu
|
||||
|
||||
|
||||
### Can coreboot boot operating systems that require UEFI?
|
||||
|
||||
Yes, but... again, coreboot **just** initializes the hardware. coreboot
|
||||
itself doesn’t load operating systems from storage media other than the
|
||||
flash chip. Unlike UEFI, coreboot does not, and will not contain a Wi-Fi
|
||||
driver or communicate directly with any sort of network. That sort of
|
||||
functionality is not related to hardware initialization.
|
||||
|
||||
To boot operating systems that require UEFI, coreboot can be compiled with
|
||||
EDK2 as the payload. This allows coreboot to perform the hardware init,
|
||||
with EDK2 supplying the UEFI boot interface and runtime services to
|
||||
the operating system.
|
||||
|
||||
|
||||
### What non-UEFI payloads does coreboot support?
|
||||
|
||||
* SeaBIOS, behaves like a classic BIOS, allowing you to boot operating
|
||||
systems that rely on the legacy interrupts.
|
||||
|
||||
* GRUB can be used as a coreboot payload, and is currently the most
|
||||
common approach to full disk encryption (FDE).
|
||||
|
||||
* A Linux kernel and initramfs stored alongside coreboot in the boot
|
||||
ROM can also be used as a payload. In this scenario coreboot
|
||||
initializes hardware, loads Linux from boot ROM into RAM, and
|
||||
executes it. The embedded Linux environment can look for a target OS
|
||||
kernel to load from local storage or over a network and execute it
|
||||
using kexec. This is sometimes called LinuxBoot.
|
||||
|
||||
* U-boot, depthcharge, FILO, etc.
|
||||
|
||||
There’s [https://doc.coreboot.org/payloads.html](https://doc.coreboot.org/payloads.
|
||||
html) with a list, although it’s not complete.
|
||||
|
||||
|
||||
### What does coreboot leave in memory after it's done initializing the hardware?
|
||||
|
||||
While coreboot tries to remove itself completely from memory after
|
||||
finishing, some tables and data need to remain for the OS. coreboot
|
||||
reserves an area in memory known as CBMEM, to save this data after it
|
||||
has finished booting. This contains things such as the boot log, tables
|
||||
that get passed to the payload, SMBIOS, and ACPI tables for the OS.
|
||||
|
||||
In addition to CBMEM, on X86 systems, coreboot will typically set up
|
||||
SMM, which will remain resident after coreboot exits.
|
||||
|
||||
|
||||
## Platforms
|
||||
|
||||
### What’s the best coreboot platform for a user?
|
||||
|
||||
The choice of the best coreboot platform for a user can vary depending
|
||||
on their specific needs, preferences, and use cases.
|
||||
|
||||
Typically, people who want a system with a minimum of proprietary
|
||||
firmware are restricted to older systems like the Lenovo X220, or more
|
||||
expensive, non-x86 solutions like TALOS, from Raptor Engineering.
|
||||
|
||||
There are a number of companies selling modern systems, but those all
|
||||
require more proprietary binaries in addition to coreboot (e.g., Intel
|
||||
FSP). However, unlike the older ThinkPads, many of these newer devices
|
||||
use open-source embedded controller (EC) firmware, so there are
|
||||
tradeoffs with either option.
|
||||
|
||||
The coreboot project mantains a list of companies selling machines
|
||||
which use coreboot on the [website](https://coreboot.org/users.html).
|
||||
|
||||
|
||||
### What’s the best platform for coreboot development?
|
||||
|
||||
Similar to the best platform for users, the best platform for
|
||||
developers very much depends on what a developer is trying to do.
|
||||
|
||||
* QEMU is generally the easiest platform for coreboot development, just
|
||||
because it’s easy to run anywhere. However, it’s possible for things
|
||||
to work properly in QEMU but fail miserably on actual hardware.
|
||||
|
||||
While laptops tend to be harder to develop than desktop platforms, a
|
||||
majority of newer platforms on coreboot tend to be laptops. The
|
||||
development difficulty is due to a few different factors:
|
||||
|
||||
1. The EC (Embedded Controller) is a specialized microcontroller that
|
||||
typically handles keyboard and sometimes mouse input for a laptop.
|
||||
It also controls many power management functions such as fans, USB-C
|
||||
power delivery, etc. ECs run mainboard-specific firmware, which is
|
||||
typically undocumented.
|
||||
2. ThinkPads (X230, 30-series, 20-series, T430, T540, T520). Sandy
|
||||
Bridge and Ivy Bridge are well-supported. Some may have
|
||||
difficult-to-reach SPI flash chips. Boards with two flash chips (e.g.
|
||||
30-series ThinkPads) are harder to externally reflash as one needs to
|
||||
make sure the non-targeted flash chip remains disabled at all times.
|
||||
The X230 is notoriously sensitive to external reflashing issues.
|
||||
3. Laptops often lack a convenient method to obtain firmware boot logs.
|
||||
One can use EHCI debug on older systems and Chromebook-specific
|
||||
solutions for Chromebooks, but one often has to resort to flashconsole
|
||||
(writing coreboot logs to the flash chip where coreboot resides). On
|
||||
the other hand, several desktop mainboards still have a RS-232 serial
|
||||
port.
|
||||
|
||||
Some of the easiest physical systems to use for coreboot development
|
||||
are Chromebooks. Newer Chromebooks allow for debug without opening the
|
||||
case. Look for SuzyQ Cables or SuzyQables or instructions on how to
|
||||
build one. These cables only work on a specific port in a specific
|
||||
orientation. Google [supplies
|
||||
specifications](https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/master/docs/ccd.md#SuzyQ-SuzyQable)
|
||||
for these cables.
|
||||
|
||||
|
||||
### What platforms does coreboot support?
|
||||
|
||||
The most accurate way to determine what systems coreboot supports is by
|
||||
browsing the src/mainboard tree or running “make menuconfig” and going
|
||||
through the “Mainboard” submenu. You can also search Gerrit to see if
|
||||
there are any unmerged ports for your board.
|
||||
|
||||
There is also the board status page
|
||||
([https://coreboot.org/status/board-status.html](https://coreboot.org/status/board-status.html)),
|
||||
however this does not currently show supported board variants.
|
||||
|
||||
|
||||
## coreboot Development
|
||||
|
||||
### Can coreboot be ported to [this board]?
|
||||
|
||||
The best way to determine if coreboot can be ported to a system is to
|
||||
see if the processor and chipset is supported. The next step is to see
|
||||
whether the system is locked to the proprietary firmware which comes
|
||||
with the board.
|
||||
|
||||
Intel Platforms:
|
||||
|
||||
* coreboot only supports a few northbridges (back when northbridges
|
||||
were on a separate package), and there's next to no support for
|
||||
"server" platforms (multi-socket and similar things). Here's a list
|
||||
of more recent supported Intel processors:
|
||||
* Alder Lake (2021 - Core Gen 12)
|
||||
* Apollo Lake (2016 - Atom)
|
||||
* Baytrail (2014 - Atom)
|
||||
* Braswell (2016 - Atom)
|
||||
* Broadwell (2014 - Core Gen 5)
|
||||
* Comet Lake (2019 - Core Gen 10)
|
||||
* Cannon Lake (2018 - Core Gen 8/9)
|
||||
* Denverton (2017)
|
||||
* Elkhart lake (2021 - Atom)
|
||||
* Haswell (2013 - Core Gen 4)
|
||||
* Ivy Bridge (2012 - Core Gen 3)
|
||||
* Jasper Lake (2021 - Atom)
|
||||
* Kaby Lake (2016 - Core Gen 7/8)
|
||||
* Meteor Lake (2023 - Gen 1 Ultra-mobile)
|
||||
* Sandy Bridge (2011 - Core Gen 2)
|
||||
* Sky Lake (2015 - Core Gen 6)
|
||||
* Tiger Lake (2020 - Core Gen 11)
|
||||
* Whiskey Lake (2018 - Core Gen 8)
|
||||
|
||||
* Intel Boot Guard is a security feature which tries to prevent loading
|
||||
unauthorized firmware by the mainboard. If supported by the platform,
|
||||
and the platform is supported by intelmetool, you should check if Boot
|
||||
Guard is enabled. If it is, then getting coreboot to run will be
|
||||
difficult or impossible even if it is ported. You can run
|
||||
`intelmetool -b` on supported platforms to see if Boot Guard is
|
||||
enabled (although it can fail because it wants to probe the ME
|
||||
beforehand).
|
||||
|
||||
AMD Ryzen-based platforms:
|
||||
|
||||
* The AMD platforms Ryzen-based platforms unfortunately are currently
|
||||
not well supported outside of the Chromebooks (and AMD reference
|
||||
boards) currently in the tree.
|
||||
The responsible teams are trying to fix this, but currently it's
|
||||
**very** difficult to do a new port. Recent supported SoCs:
|
||||
* Stoney Ridge
|
||||
* Picasso
|
||||
* Cezanne
|
||||
* Mendocino
|
||||
* Phoenix
|
||||
|
||||
General notes:
|
||||
|
||||
* Check the output of `lspci` to determine what processor/chipset
|
||||
family your system has. Processor/chipset support is the most
|
||||
important to determine if a board can be ported.
|
||||
* Check the output of `superiotool` to see if it detects the Super I/O
|
||||
on the system. You can also check board schematics and/or boardviews
|
||||
if you can find them, or physically look at the mainboard for a chip
|
||||
from one of the common superio vendors.
|
||||
* Check what EC your system has (mostly applicable to laptops, but some
|
||||
desktops have EC-like chips). You will likely need to refer to the
|
||||
actual board or schematics/boardviews for this. Physical observation
|
||||
is the most accurate identification procedure; software detection can
|
||||
then be used to double-check if the chip is correct, but one should
|
||||
not rely on software detection alone to identify an EC.
|
||||
|
||||
|
||||
### How do I port coreboot to [this board]?
|
||||
|
||||
A critical piece for anyone attempting to do a board port is to make
|
||||
sure that you have a method to recover your system from a failed flash.
|
||||
|
||||
We need an updated motherboard porting guide, but currently the guide
|
||||
on the [wiki](https://www.coreboot.org/Motherboard_Porting_Guide) looks
|
||||
to be the best reference.
|
||||
|
||||
At the moment, the best answer to this question is to ask for help on
|
||||
one of the [various community
|
||||
forums](https://doc.coreboot.org/community/forums.html).
|
||||
|
||||
|
||||
### What about the Intel ME?
|
||||
|
||||
There seems to be a lot of FUD about what the ME can and can’t do.
|
||||
coreboot currently does not have a clear recommendation on how to
|
||||
handle the ME. We understand that there are serious concerns about the
|
||||
ME, and would like to flatly recommend removing as much as possible,
|
||||
however modifying the ME can cause serious stability issues.
|
||||
|
||||
Additionally, coreboot and the Intel ME are completely separate entites
|
||||
which in many cases simply happen to occupy the same flash chip. It is
|
||||
not necessary to run coreboot to modify the ME, and running coreboot
|
||||
does not imply anything about the ME's operational state.
|
||||
|
||||
|
||||
#### A word of caution about the modifying ME
|
||||
|
||||
Messing with the ME firmware can cause issues, and this is outside the
|
||||
scope of the coreboot project.
|
||||
|
||||
If you do decide to modify the ME firmware, please make sure coreboot
|
||||
works **before** messing with it. Even if the vendor boot firmware
|
||||
works when the ME isn't operating normally, it's possible that coreboot
|
||||
doesn't handle it the same way and something breaks. If someone asks
|
||||
for help with coreboot and we think the ME state may be a factor, we'll
|
||||
ask them to try reproducing the issue with the ME running normally to
|
||||
reduce the number of variables involved. This is especially important
|
||||
when flashing coreboot for the first time, as it's best for newbies to
|
||||
start with small steps: start by flashing coreboot to the BIOS region
|
||||
and leaving the remaining regions untouched, then tinker around with
|
||||
coreboot options (e.g. other payloads, bootsplash, RAM overclock...),
|
||||
or try messing with the ME firmware **without changing coreboot**.
|
||||
|
||||
Most people don't understand the implications of messing with the ME
|
||||
firmware, especially the use of `me_cleaner`. We admit that we don't
|
||||
know everything about the ME, but we try to understand it as much as
|
||||
possible. The ME is designed to operate correctly with the HAP (or
|
||||
AltMeDisable) bit set, and it will gracefully enter a debug state (not
|
||||
normal, but not an error). However, when using `me_cleaner` to remove
|
||||
parts of the ME firmware, the ME will often end up in an error state
|
||||
because parts of its FW are missing. It is known that removing some of
|
||||
these parts ([`EFFS` and `FCRS` on Cougar Point,
|
||||
c.f.](https://review.coreboot.org/c/coreboot/+/27798/6/src/mainboard/asus/p8h61-m_lx/Kconfig#63))
|
||||
can cause problems. We do not know whether the state the ME ends up in
|
||||
after applying `me_cleaner` is as secure as the state the ME goes to
|
||||
when only the HAP bit is set: the removed FW modules could contain
|
||||
steps to lock down important settings for security reasons.
|
||||
|
||||
To sum up, **we do not recommend messing with the ME firmware**. But if
|
||||
you have to, please use `ifdtool` to set the HAP bit initially before
|
||||
progressing to `me_cleaner` if necessary.
|
@ -6,3 +6,5 @@
|
||||
* [Kconfig](kconfig.md)
|
||||
* [Writing Documentation](writing_documentation.md)
|
||||
* [Setting up GPIOs](gpio.md)
|
||||
* [Adding devices to a device tree](devicetree.md)
|
||||
* [Frequently Asked Questions](faq.md)
|
||||
|
@ -69,9 +69,6 @@ These variables are typically set in the makefiles or on the make command line.
|
||||
These variables were added to Kconfig specifically for coreboot and are not
|
||||
included in the Linux version.
|
||||
|
||||
- KCONFIG_STRICT=value. Define to enable warnings as errors. This is enabled
|
||||
in coreboot, and should not be changed.
|
||||
|
||||
- KCONFIG_NEGATIVES=value. Define to show negative values in the autoconf.h file
|
||||
(build/config.h). This is enabled in coreboot, and should not be changed.
|
||||
|
||||
@ -102,6 +99,9 @@ included in the Linux version.
|
||||
- KCONFIG_SPLITCONFIG=”directory name for individual SYMBOL.h files”.
|
||||
coreboot sets this to $(obj)/config.
|
||||
|
||||
- KCONFIG_WERROR=value. Define to enable warnings as errors. This is enabled
|
||||
in coreboot, and should not be changed.
|
||||
|
||||
#### Used only for ‘make menuconfig’
|
||||
- MENUCONFIG_MODE=single_menu. Set to "single_menu" to enable. All other
|
||||
values disable the option. This makes submenus appear below the menu option
|
||||
@ -963,7 +963,7 @@ variable. This is not set in coreboot, which uses the default CONFIG_ prefix
|
||||
for all of its symbols.
|
||||
|
||||
The coreboot makefile forces the config.h file to be included into all coreboot
|
||||
C files. This is done in Makefile.inc on the compiler command line using the
|
||||
C files. This is done in Makefile.mk on the compiler command line using the
|
||||
“-include $(obj)/config.h” command line option.
|
||||
|
||||
Example of various symbol types in the config.h file:
|
||||
@ -1160,10 +1160,6 @@ saved .config file. As always, a 'select' statement overrides any specified
|
||||
- coreboot has added the glob operator '*' for the 'source' keyword.
|
||||
- coreboot’s Kconfig always defines variables except for strings. In other
|
||||
Kconfig implementations, bools set to false/0/no are not defined.
|
||||
- coreboot’s version of Kconfig adds the KCONFIG_STRICT environment variable to
|
||||
error out if there are any issues in the Kconfig files. In the Linux kernel,
|
||||
Kconfig will generate a warning, but will still output an updated .config or
|
||||
config.h file.
|
||||
|
||||
|
||||
## Kconfig Editor Highlighting
|
||||
|
@ -1,9 +1,8 @@
|
||||
# Welcome to the coreboot documentation
|
||||
|
||||
This is the developer documentation for [coreboot](https://coreboot.org).
|
||||
It is built from Markdown files in the
|
||||
[Documentation](https://review.coreboot.org/cgit/coreboot.git/tree/Documentation)
|
||||
directory in the source code.
|
||||
It is built from Markdown files in the [Documentation] directory in the
|
||||
source code.
|
||||
|
||||
## 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.
|
||||
|
||||
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,
|
||||
a custom boot loader used on Chromebooks.
|
||||
|
||||
@ -143,13 +142,13 @@ say hello!
|
||||
## Getting the source code
|
||||
|
||||
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
|
||||
contributions and code review.
|
||||
|
||||
In general we try to keep the `master` branch in the repository functional
|
||||
In general we try to keep the `main` branch in the repository functional
|
||||
for all hardware we support. So far, the only guarantee we can make is
|
||||
that the master branch will (nearly) always build for all boards in a
|
||||
that the main branch will (nearly) always build for all boards in a
|
||||
standard configuration.
|
||||
|
||||
However, we're continually working on improvements to our infrastructure to
|
||||
@ -193,8 +192,12 @@ Contents:
|
||||
* [SuperIO](superio/index.md)
|
||||
* [Vendorcode](vendorcode/index.md)
|
||||
* [Utilities](util.md)
|
||||
* [Software Bill of Materials](sbom/sbom.md)
|
||||
* [Project infrastructure & services](infrastructure/index.md)
|
||||
* [Boards supported in each release directory](releases/boards_supported_on_branches.md)
|
||||
* [Release notes](releases/index.md)
|
||||
* [Acronyms & Definitions](acronyms.md)
|
||||
* [External Resources](external_docs.md)
|
||||
* [Documentation License](documentation_license.md)
|
||||
|
||||
[Documentation]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/main/Documentation/
|
||||
|
52
Documentation/infrastructure/admin.md
Normal file
@ -0,0 +1,52 @@
|
||||
# Operating our services
|
||||
|
||||
## Mailing list moderation
|
||||
|
||||
Our [mailing lists] experience the same barrage of spam mails than any
|
||||
other email address. We do have a spam filter in front of it, and
|
||||
since the lists require registration, spam ends up in the moderation
|
||||
queue. But not only spam ends up there, sometimes users send inquiries
|
||||
without registering first. It's a custom of the project to let these
|
||||
through, so that such emails can be discussed. This requires manual
|
||||
intervention.
|
||||
|
||||
This section describes the tasks related to mailing list management.
|
||||
|
||||
### Registration
|
||||
|
||||
To participate in mailing list moderation, you need to become a list
|
||||
moderator or owner. This is up for the existing owners to handle and
|
||||
if you want to contribute in that area, it might be best to bring it
|
||||
up at the leadership meeting.
|
||||
|
||||
After gaining leadership approval, list admins can add you to the
|
||||
appropriate group in the [mailing list backend] by selecting the list,
|
||||
then User / group-name, and add your email address there.
|
||||
|
||||
### Regular tasks
|
||||
|
||||
Most of our lists are auto-subscribing, so users can register
|
||||
themselves and finish the process by responding to the double-opt-in
|
||||
email. Some lists are manually managed though. The [mailing list
|
||||
backend] shows the number of open subscription requests for these
|
||||
lists on the mailing list's main page.
|
||||
|
||||
It also provides a list of held messages, where they can be accepted,
|
||||
rejected or dropped. Spam should be dropped, that's clear. Emails with
|
||||
huge attachments (e.g. screenshots) should be rejected, which gives
|
||||
you an opportunity to explain the reason (in case of large
|
||||
attachments, something like "Please re-send without attachments, offer
|
||||
the files through some other mechanism please: Our emails are
|
||||
distributed to hundreds of readers, and sending the files to everybody
|
||||
is inconsiderate of traffic and storage constraints.")
|
||||
|
||||
Legit emails (often simple requests of the form "is this or that
|
||||
supported") can be accepted, which means they'll be sent out.
|
||||
|
||||
If you notice recurring spam sources (e.g. marketers) you can put them
|
||||
on the [global ban list] to filter them out across all lists. It takes
|
||||
entries in regular expression format.
|
||||
|
||||
[mailing lists]: https://mail.coreboot.org/hyperkitty/
|
||||
[mailing list backend]: https://mail.coreboot.org/postorius/
|
||||
[global ban list]: https://mail.coreboot.org/postorius/bans/
|
@ -24,8 +24,7 @@ issues.
|
||||
|
||||
Currently active Jenkins admins:
|
||||
* Patrick Georgi:
|
||||
* Email: [patrick@georgi-clan.de](mailto:patrick@georgi-clan.de)
|
||||
* IRC: pgeorgi
|
||||
* Email: [patrick@coreboot.org](mailto:patrick@coreboot.org)
|
||||
* Martin Roth:
|
||||
* Email: [gaumless@gmail.com](mailto:gaumless@gmail.com)
|
||||
* IRC: martinr
|
||||
@ -74,7 +73,7 @@ These times are taken from the week of Feb 21 - Feb 28, 2022
|
||||
|
||||
There are a number of builds handled by the coreboot jenkins builders,
|
||||
for a number of different projects - coreboot, flashrom, memtest86+,
|
||||
em100, etc. Many of these have builders for their current master branch
|
||||
em100, etc. Many of these have builders for their current main branch
|
||||
as well as Gerrit and [Coverity](coverity.md) builds.
|
||||
|
||||
|
||||
@ -91,14 +90,14 @@ machines. These tasks run overnight in the US timezones.
|
||||
You can see all the builds in the main jenkins interface:
|
||||
[https://qa.coreboot.org/](https://qa.coreboot.org/)
|
||||
|
||||
Most of the time on the builders is taken up by the coreboot master and
|
||||
Most of the time on the builders is taken up by the coreboot main and
|
||||
coreboot gerrit builds.
|
||||
|
||||
* [coreboot gerrit build](https://qa.coreboot.org/job/coreboot-gerrit/)
|
||||
([Time trend](https://qa.coreboot.org/job/coreboot-gerrit/buildTimeTrend))
|
||||
|
||||
|
||||
* [coreboot master build](https://qa.coreboot.org/job/coreboot/)
|
||||
* [coreboot main build](https://qa.coreboot.org/job/coreboot/)
|
||||
([Time trend](https://qa.coreboot.org/job/coreboot/buildTimeTrend))
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@ This section contains documentation about our infrastructure
|
||||
## Services
|
||||
|
||||
* [Project services](services.md)
|
||||
|
||||
* [Administrator's handbook](admin.md)
|
||||
|
||||
## Jenkins builders and builds
|
||||
* [Setting up Jenkins build machines](builders.md)
|
||||
|
@ -73,7 +73,7 @@ compiler](https://chromium-review.googlesource.com/#/c/255031) inside coreboot
|
||||
utility folder that can be used to generate final firmware images (i.e.
|
||||
`coreboot.rom`) formatted by Flashmap.
|
||||
|
||||
The FMD implementation is in coreboot `utils/cbfstool` folder. Here's an
|
||||
The FMD implementation is in coreboot `util/cbfstool` folder. Here's an
|
||||
informal language description:
|
||||
|
||||
```
|
||||
|
@ -106,8 +106,8 @@ protection)* with the `ectool` command in a ChromeOS environment.
|
||||
For more information on the firmware configuration field on ChromeOS devices see the Chromium
|
||||
documentation for [Firmware Config][1] and [Board Info][2].
|
||||
|
||||
[1]: http://chromium.googlesource.com/chromiumos/docs/+/master/design_docs/firmware_config.md
|
||||
[2]: http://chromium.googlesource.com/chromiumos/docs/+/master/design_docs/cros_board_info.md
|
||||
[1]: http://chromium.googlesource.com/chromiumos/docs/+/HEAD/design_docs/firmware_config.md
|
||||
[2]: http://chromium.googlesource.com/chromiumos/docs/+/HEAD/design_docs/cros_board_info.md
|
||||
|
||||
## Firmware Configuration Table
|
||||
|
||||
@ -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)
|
||||
{
|
||||
if (fw_config_probe_one(FW_CONFIG(FEATURE, DISABLED))
|
||||
if (fw_config_probe(FW_CONFIG(FEATURE, DISABLED))
|
||||
mupd->ExampleFeature = false;
|
||||
}
|
||||
```
|
||||
|
@ -180,5 +180,5 @@ The generated file includes a compressed initrd **initramfs.cpio.xz**, which
|
||||
will be decompressed by the Linux kernel, a compressed kernel **Image.lzma**,
|
||||
which will be decompressed by the FIT loader and an uncompressed devicetree blob.
|
||||
|
||||
[uImage.FIT]: https://raw.githubusercontent.com/u-boot/u-boot/master/doc/uImage.FIT/howto.txt
|
||||
[uImage.FIT]: https://github.com/u-boot/u-boot/blob/master/doc/usage/fit/howto.rst
|
||||
[U-Boot]: https://www.denx.de/wiki/U-Boot
|
||||
|
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)
|
||||
- Gigabit Ethernet
|
||||
- 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
|
||||
- Internal flashing with flashrom-1.2, see
|
||||
[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 | Intel I440BX |
|
||||
+------------------+--------------------------------------------------+
|
||||
| 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 | Intel I440BX |
|
||||
+------------------+--------------------------------------------------+
|
||||
| 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
|
||||
|
||||
- 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
|
||||
|
||||
@ -57,7 +57,7 @@ easy to remove and reflash.
|
||||
port 3 port 5 port 1 port 8
|
||||
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)
|
||||
|
||||
- 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
|
||||
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
|
||||
works perfectly
|
||||
|
||||
@ -105,9 +105,9 @@ easy to remove and reflash.
|
||||
|
||||
## Not working
|
||||
|
||||
- PS/2 keyboard in Win10 using Tianocore (please see [Known issues])
|
||||
- PS/2 mouse using Tianocore
|
||||
- PCIe graphics card on Windows and Tianocore (throws critical ACPI_BIOS_ERROR)
|
||||
- PS/2 keyboard in Win10 using edk2 (please see [Known issues])
|
||||
- PS/2 mouse using edk2
|
||||
- PCIe graphics card on Windows and edk2 (throws critical ACPI_BIOS_ERROR)
|
||||
|
||||
## Native raminit compatibility
|
||||
|
||||
|
@ -104,11 +104,11 @@ solution. Wires need to be connected to be able to flash using an external progr
|
||||
- SMBus
|
||||
- Initialization with FSP
|
||||
- SeaBIOS payload (commit a5cab58e9a3fb6e168aba919c5669bea406573b4)
|
||||
- TianoCore payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
||||
- edk2 payload (commit 860a8d95c2ee89c9916d6e11230f246afa1cd629)
|
||||
- LinuxBoot (kernel kernel-4_19_97) (uroot commit 9c9db9dbd6b532f5f91a511a0de885c6562aadd7)
|
||||
- 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.
|
||||
|
||||
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
|
||||
|
||||
```eval_rst
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| Type | Value |
|
||||
+=====================+============+
|
||||
+=====================+=========================+
|
||||
| Socketed flash | no |
|
||||
+---------------------+------------+
|
||||
| Model | MX25L6406E |
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| Model | MX25L6406E/MX25L6408E |
|
||||
+---------------------+-------------------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| In circuit flashing | yes |
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| Package | SOIC-8 |
|
||||
+---------------------+------------+
|
||||
| Write protection | No |
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| Write protection | bios region |
|
||||
+---------------------+-------------------------+
|
||||
| Dual BIOS feature | No |
|
||||
+---------------------+------------+
|
||||
+---------------------+-------------------------+
|
||||
| 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
|
||||
|
||||
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
|
||||
|
||||
@ -74,7 +143,7 @@ as otherwise there's not enough space near the flash.
|
||||
| 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
|
||||
[HP]: https://www.hp.com/
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
||||
|
BIN
Documentation/mainboard/hp/compaq_8200_sff_jumper.jpg
Normal file
After Width: | Height: | Size: 144 KiB |
65
Documentation/mainboard/hp/compaq_8300_usdt.md
Normal file
@ -0,0 +1,65 @@
|
||||
# HP Compaq Elite 8300 USDT
|
||||
|
||||
This page describes how to run coreboot on the [Compaq Elite 8300 USDT] desktop
|
||||
from [HP].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+-------------+
|
||||
| Type | Value |
|
||||
+=====================+=============+
|
||||
| Socketed flash | no |
|
||||
+---------------------+-------------+
|
||||
| Model | W25Q128BVFG |
|
||||
+---------------------+-------------+
|
||||
| Size | 16 MiB |
|
||||
+---------------------+-------------+
|
||||
| In circuit flashing | yes |
|
||||
+---------------------+-------------+
|
||||
| Package | SOIC-16 |
|
||||
+---------------------+-------------+
|
||||
| Write protection | No |
|
||||
+---------------------+-------------+
|
||||
| Dual BIOS feature | No |
|
||||
+---------------------+-------------+
|
||||
```
|
||||
|
||||
### Internal programming
|
||||
|
||||
Internal programming is possible. Shorting the Flash Descriptor Override
|
||||
(FDO) jumper bypasses all write protections.
|
||||
|
||||
### External programming
|
||||
|
||||
Remove the lid. The flash chip can be found on the edge opposite to the CPU.
|
||||
There is a spot for a "ROM RCVRY" header next to the flash chip but it is
|
||||
unpopulated. If you don't feel like using a clip, you can easily solder
|
||||
a standard pin header there yourself and use it for programming.
|
||||
|
||||
Programming powers some parts of the board. Programming when
|
||||
Wake on LAN is active works great.
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+--------------------------------------------------+
|
||||
| Northbridge | :doc:`../../northbridge/intel/sandybridge/index` |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Southbridge | bd82x6x |
|
||||
+------------------+--------------------------------------------------+
|
||||
| CPU | model_206ax |
|
||||
+------------------+--------------------------------------------------+
|
||||
| SuperIO | NPCD379HAKFX |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Coprocessor | Intel ME |
|
||||
+------------------+--------------------------------------------------+
|
||||
```
|
||||
|
||||
### SuperIO
|
||||
|
||||
This board has a Nuvoton NPCD379 SuperIO chip. Fan speed and PS/2 keyboard work
|
||||
fine using coreboot's existing code for :doc:`../../superio/nuvoton/npcd378`.
|
||||
|
||||
[Compaq Elite 8300 USDT]: https://support.hp.com/gb-en/product/hp-compaq-elite-8300-ultra-slim-pc/5232866
|
||||
[HP]: https://www.hp.com/
|
BIN
Documentation/mainboard/hp/compaq_8300_usdt_rom_header.jpg
Normal file
After Width: | Height: | Size: 148 KiB |
141
Documentation/mainboard/hp/elitebook_820_g2.md
Normal file
@ -0,0 +1,141 @@
|
||||
# HP EliteBook 820 G2
|
||||
|
||||
This page is about the notebook [HP EliteBook 820 G2].
|
||||
|
||||
## Release status
|
||||
|
||||
HP EliteBook 820 G2 was released in 2015 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
|
||||
3. Broadwell mrc.bin and refcode.elf
|
||||
|
||||
HP EliteBook 820 G2 uses SMSC MEC1324 as its embedded controller.
|
||||
The EC firmware is stored in the flash chip, but we don't need to touch it
|
||||
or use it in the coreboot build process.
|
||||
|
||||
Intel ME firmware is in the flash chip. It is not needed when building coreboot.
|
||||
|
||||
The Broadwell memory reference code binary and reference code blob is needed
|
||||
when building coreboot. Read the document [Blobs used in Intel Broadwell boards]
|
||||
on how to get these blobs.
|
||||
|
||||
## Programming
|
||||
|
||||
Before flashing, remove the battery and the hard drive cover according to the
|
||||
[Maintenance and Service Guide] of this laptop.
|
||||
|
||||
HP EliteBook 820 G2 has two flash chips, a 16MiB system flash, and a 2MiB
|
||||
private flash. To install coreboot, we need to program both flash chips.
|
||||
Read [HP Sure Start] for detailed information.
|
||||
|
||||

|
||||
|
||||
To access the system flash, we need to connect the AC adapter to the machine,
|
||||
then clip on the flash chip with an SOIC-8 clip. An [STM32-based flash programmer]
|
||||
made with an STM32 development board is tested to work.
|
||||
|
||||
To access the private flash chip, we can use a ch341a based flash programmer and
|
||||
flash the chip with the AC adapter disconnected.
|
||||
|
||||
To flash coreboot on a board running OME firmware, create a backup for both flash
|
||||
chips, then do the following:
|
||||
|
||||
1. Erase the private flash to disable the IFD protection
|
||||
2. Modify the IFD to shrink the BIOS region, so that we can put the firmware outside
|
||||
the protected flash region
|
||||
|
||||
To erase the private flash chip, attach it with the flash programmer via the SOIC-8 clip,
|
||||
then run:
|
||||
|
||||
flashrom -p <programmer> --erase
|
||||
|
||||
To modify the IFD, write the following flash layout to a file:
|
||||
|
||||
00000000:00000fff fd
|
||||
00001000:00002fff gbe
|
||||
00003000:005fffff me
|
||||
00600000:00bfffff bios
|
||||
00eb5000:00ffffff pd
|
||||
|
||||
Suppose the above layout file is ``layout.txt`` and the origin content of the system flash
|
||||
is in ``factory-sys.rom``, run:
|
||||
|
||||
ifdtool -n layout.txt factory-sys.rom
|
||||
|
||||
Then a flash image with a new IFD will be in ``factory-sys.rom.new``.
|
||||
|
||||
Flash the IFD of the system flash:
|
||||
|
||||
flashrom -p <programmer> --ifd -i fd -w factory-sys.rom.new
|
||||
|
||||
Then flash the coreboot image:
|
||||
|
||||
# first extend the 12M coreboot.rom to 16M
|
||||
fallocate -l 16M build/coreboot.rom
|
||||
flashrom -p <programmer> --ifd -i bios -w build/coreboot.rom
|
||||
|
||||
After coreboot is installed, the coreboot firmware can be updated with internal flashing:
|
||||
|
||||
flashrom -p internal --ifd -i bios --noverify-all -w build/coreboot.rom
|
||||
|
||||
## Debugging
|
||||
|
||||
The board can be debugged with EHCI debug. The EHCI debug port is the USB port on the left.
|
||||
|
||||
## Test status
|
||||
|
||||
### Untested
|
||||
|
||||
- NFC module
|
||||
- Fingerprint reader
|
||||
- Smart Card reader
|
||||
|
||||
### Working
|
||||
|
||||
- mainboards with i3-5010U, i5-5300U CPU, 16G+8G DDR3L memory
|
||||
- SATA and M.2 SATA disk
|
||||
- PCIe SSD
|
||||
- Webcam
|
||||
- Touch screen
|
||||
- Audio output from speaker and headphone jack
|
||||
- Intel GbE (needs a modified refcode documented in [Blobs used in Intel Broadwell boards])
|
||||
- WLAN
|
||||
- WWAN
|
||||
- SD card reader
|
||||
- Internal LCD, DisplayPort and VGA video outputs
|
||||
- Dock
|
||||
- USB
|
||||
- Keyboard and touchpad
|
||||
- EC ACPI
|
||||
- S3 resume
|
||||
- TPM
|
||||
- Arch Linux with Linux 5.11.16
|
||||
- Broadwell MRC version 2.6.0 Build 0 and refcode from Purism Librem 13 v1
|
||||
- Graphics initialization with libgfxinit
|
||||
- Payload: SeaBIOS 1.16.2
|
||||
- EC firmware: KBC Revision 96.54 from OEM firmware version 01.05
|
||||
- Internal flashing under coreboot
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+-----------------------------+
|
||||
| SoC | Intel Broadwell |
|
||||
+------------------+-----------------------------+
|
||||
| EC | SMSC MEC1324 |
|
||||
+------------------+-----------------------------+
|
||||
| Coprocessor | Intel Management Engine |
|
||||
+------------------+-----------------------------+
|
||||
```
|
||||
|
||||
[HP EliteBook 820 G2]: https://support.hp.com/us-en/product/HP-EliteBook-820-G2-Notebook-PC/7343192/
|
||||
[Blobs used in Intel Broadwell boards]: ../../soc/intel/broadwell/blobs.md
|
||||
[Maintenance and Service Guide]: http://h10032.www1.hp.com/ctg/Manual/c04775894.pdf
|
||||
[STM32-based flash programmer]: https://github.com/dword1511/stm32-vserprog
|
||||
[HP Sure Start]: hp_sure_start.md
|
BIN
Documentation/mainboard/hp/elitebook_820_g2_flash.jpg
Normal file
After Width: | Height: | Size: 84 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
|
||||
- Memory initialization with mrc.bin version 1.6.1 Build 2
|
||||
- Graphics initialization with libgfxinit
|
||||
- Payload: SeaBIOS, Tianocore
|
||||
- Payload: SeaBIOS, edk2
|
||||
- EC firmware
|
||||
- KBC Revision 92.15 from OEM firmware version 01.33
|
||||
- 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
|
||||
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,
|
||||
as otherwise there's not enough space near the flash.
|
||||
If you want to use a SOIC pomona test clip, you have to cut the 2nd DRAM DIMM holder, as
|
||||
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
|
||||
|
||||
@ -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 Compaq Elite 8300 SFF]: https://support.hp.com/us-en/document/c03345460
|
||||
[HP]: https://www.hp.com/
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
||||
|
@ -11,7 +11,7 @@ This section contains documentation about coreboot on specific mainboards.
|
||||
- [G43T-AM3](acer/g43t-am3.md)
|
||||
|
||||
## AMD
|
||||
- [padmelon](amd/padmelon/padmelon.md)
|
||||
- [pademelon](amd/pademelon/pademelon.md)
|
||||
|
||||
## ASRock
|
||||
|
||||
@ -23,11 +23,14 @@ This section contains documentation about coreboot on specific mainboards.
|
||||
|
||||
- [A88XM-E](asus/a88xm-e.md)
|
||||
- [F2A85-M](asus/f2a85-m.md)
|
||||
- [P2B-LS](asus/p2b-ls.md)
|
||||
- [P3B-F](asus/p3b-f.md)
|
||||
- [P5Q](asus/p5q.md)
|
||||
- [P8C WS](asus/p8c_ws.md)
|
||||
- [P8H61-M LX](asus/p8h61-m_lx.md)
|
||||
- [P8H61-M Pro](asus/p8h61-m_pro.md)
|
||||
- [P8H77-V](asus/p8h77-v.md)
|
||||
- [P8Z77-M](asus/p8z77-m.md)
|
||||
- [P8Z77-M Pro](asus/p8z77-m_pro.md)
|
||||
- [P8Z77-V](asus/p8z77-v.md)
|
||||
- [wifigo_v1](asus/wifigo_v1.md)
|
||||
@ -72,20 +75,23 @@ The boards in this section are not real mainboards, but emulators.
|
||||
## HP
|
||||
|
||||
- [Compaq 8200 Elite SFF](hp/compaq_8200_sff.md)
|
||||
- [Compaq Elite 8300 USDT](hp/compaq_8300_usdt.md)
|
||||
- [Z220 Workstation SFF](hp/z220_sff.md)
|
||||
|
||||
### EliteBook series
|
||||
|
||||
- [HP Laptops with KBC1126 EC](hp/hp_kbc1126_laptops.md)
|
||||
- [HP Sure Start](hp/hp_sure_start.md)
|
||||
- [EliteBook 2170p](hp/2170p.md)
|
||||
- [EliteBook 2560p](hp/2560p.md)
|
||||
- [EliteBook 8760w](hp/8760w.md)
|
||||
- [EliteBook Folio 9480m](hp/folio_9480m.md)
|
||||
- [EliteBook 820 G2](hp/elitebook_820_g2.md)
|
||||
|
||||
## Intel
|
||||
|
||||
- [DG43GT](intel/dg43gt.md)
|
||||
- [IceLake RVP](intel/icelake_rvp.md)
|
||||
- [DQ67SW](intel/dq67sw.md)
|
||||
- [KBLRVP11](intel/kblrvp11.md)
|
||||
|
||||
## Kontron
|
||||
@ -119,8 +125,7 @@ The boards in this section are not real mainboards, but emulators.
|
||||
### Ivy Bridge series
|
||||
|
||||
- [T430](lenovo/t430.md)
|
||||
- [T530](lenovo/w530.md)
|
||||
- [W530](lenovo/w530.md)
|
||||
- [T530 / W530](lenovo/w530.md)
|
||||
- [T430 / T530 / X230 / W530 common](lenovo/Ivy_Bridge_series.md)
|
||||
- [T431s](lenovo/t431s.md)
|
||||
- [X230s](lenovo/x230s.md)
|
||||
@ -146,7 +151,6 @@ The boards in this section are not real mainboards, but emulators.
|
||||
## Open Cellular
|
||||
|
||||
- [Elgon](opencellular/elgon.md)
|
||||
- [Rotundu](opencellular/rotundu.md)
|
||||
|
||||
## PC Engines
|
||||
|
||||
@ -170,6 +174,8 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
- [FW2B / FW4B](protectli/fw2b_fw4b.md)
|
||||
- [FW6A / FW6B / FW6C](protectli/fw6.md)
|
||||
- [VP2420](protectli/vp2420.md)
|
||||
- [VP4630 / VP4650 / VP4670](protectli/vp46xx.md)
|
||||
|
||||
## Roda
|
||||
|
||||
@ -186,6 +192,7 @@ The boards in this section are not real mainboards, but emulators.
|
||||
- [StarLite Mk III](starlabs/lite_glk.md)
|
||||
- [StarLite Mk IV](starlabs/lite_glkr.md)
|
||||
- [StarBook Mk V](starlabs/starbook_tgl.md)
|
||||
- [StarBook Mk VI](starlabs/starbook_adl.md)
|
||||
- [Flashing devices](starlabs/common/flashing.md)
|
||||
|
||||
## Supermicro
|
||||
@ -199,19 +206,33 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
- [Adder Workstation 1](system76/addw1.md)
|
||||
- [Adder Workstation 2](system76/addw2.md)
|
||||
- [Adder Workstation 3](system76/addw3.md)
|
||||
- [Bonobo Workstation 14](system76/bonw14.md)
|
||||
- [Bonobo Workstation 15](system76/bonw15.md)
|
||||
- [Darter Pro 6](system76/darp6.md)
|
||||
- [Darter Pro 7](system76/darp7.md)
|
||||
- [Darter Pro 8](system76/darp8.md)
|
||||
- [Darter Pro 9](system76/darp9.md)
|
||||
- [Galago Pro 4](system76/galp4.md)
|
||||
- [Galago Pro 5](system76/galp5.md)
|
||||
- [Galago Pro 6](system76/galp6.md)
|
||||
- [Galago Pro 7](system76/galp7.md)
|
||||
- [Gazelle 15](system76/gaze15.md)
|
||||
- [Gazelle 16](system76/gaze16.md)
|
||||
- [Gazelle 17](system76/gaze17.md)
|
||||
- [Gazelle 18](system76/gaze18.md)
|
||||
- [Lemur Pro 9](system76/lemp9.md)
|
||||
- [Lemur Pro 10](system76/lemp10.md)
|
||||
- [Lemur Pro 11](system76/lemp11.md)
|
||||
- [Lemur Pro 12](system76/lemp12.md)
|
||||
- [Oryx Pro 5](system76/oryp5.md)
|
||||
- [Oryx Pro 6](system76/oryp6.md)
|
||||
- [Oryx Pro 7](system76/oryp7.md)
|
||||
- [Oryx Pro 8](system76/oryp8.md)
|
||||
- [Oryx Pro 9](system76/oryp9.md)
|
||||
- [Oryx Pro 10](system76/oryp10.md)
|
||||
- [Oryx Pro 11](system76/oryp11.md)
|
||||
- [Serval Workstation 13](system76/serw13.md)
|
||||
|
||||
## 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
|
||||
- SeaBIOS
|
||||
- Tianocore
|
||||
- edk2
|
||||
- Linux as payload
|
||||
|
||||
## Flashing coreboot
|
||||
|
@ -9,7 +9,7 @@ updates using an A/B partitioning scheme once enabled.
|
||||
## Enabling vboot
|
||||
You can enable [vboot] in Kconfig's *Security* section. Besides a verified
|
||||
boot you can also enable a measured boot by setting
|
||||
`CONFIG_VBOOT_MEASURED_BOOT`. Both options need a working TPM, which is
|
||||
`CONFIG_TPM_MEASURED_BOOT`. Both options need a working TPM, which is
|
||||
present on all recent Lenovo devices.
|
||||
|
||||
## Updating and recovery
|
||||
|
@ -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
|
||||
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
|
||||
OSF solution reached production quality for some use cases in July, 2021.
|
||||
solution. The OSF solution reached production quality for some use cases
|
||||
in July, 2021.
|
||||
|
||||
## How to build
|
||||
|
||||
OSF code base is public at
|
||||
OSF code base is publicly available at
|
||||
https://github.com/opencomputeproject/OpenSystemFirmware
|
||||
|
||||
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
|
||||
binary blobs. [osf-builder] also provides the top level build system.
|
||||
|
||||
Delta Lake server OSF solution requires following binary blobs:
|
||||
- FSP blob: The blob (Intel Cooper Lake Scalable Processor Firmware Support Package)
|
||||
can be downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg.
|
||||
- Microcode: Available through github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.
|
||||
coreboot.org mirrors this repo and by default the correct binary is included.
|
||||
- ME binary: Ignition binary can be downloaded from
|
||||
Besides coreboot, the Delta Lake OSF solution includes following components:
|
||||
- FSP blob: The blobs (Intel Cooper Lake Scalable Processor Firmware Support Package)
|
||||
is downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg.
|
||||
- Microcode: downloaded from github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.
|
||||
- ME ignition binary: downloaded from
|
||||
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.
|
||||
- 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].
|
||||
|
||||
## 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]:
|
||||
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):
|
||||
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
|
||||
[ChromeOS VPD] is used to store most of the firmware configurations.
|
||||
RO_VPD region holds default values, while RW_VPD region holds customized
|
||||
@ -205,4 +222,4 @@ and [u-root] as initramfs.
|
||||
[All about u-root]: https://github.com/linuxboot/book/tree/master/u-root
|
||||
[u-root]: https://u-root.org/
|
||||
[ChromeOS VPD]: https://chromium.googlesource.com/chromiumos/platform/vpd/+/master/README.md
|
||||
[src/mainboard/ocp/deltalake/vpd.h]: https://review.coreboot.org/plugins/gitiles/coreboot/+/refs/heads/master/src/mainboard/ocp/deltalake/vpd.h
|
||||
[src/mainboard/ocp/deltalake/vpd.h]: https://review.coreboot.org/plugins/gitiles/coreboot/+/HEAD/src/mainboard/ocp/deltalake/vpd.h
|
||||
|
@ -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
|
||||
* 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
|
||||
* System firmware updates via flashrom
|
||||
* 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
|
||||
(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
|
||||
* System firmware updates via flashrom
|
||||
* 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
|
||||
|
||||
### 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_labtop_cml
|
||||
make
|
||||
```
|
||||
Please follow the [Star Labs build instructions](common/building.md) to build coreboot, using `config.starlabs_labtop_cml` as config file.
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
@ -83,5 +63,6 @@ make
|
||||
+---------------------+------------+
|
||||
| External flashing | yes |
|
||||
+---------------------+------------+
|
||||
```
|
||||
|
||||
Please see [here](../common/flashing.md) for instructions on how to flash with fwupd.
|
||||
Please see [here](common/flashing.md) for instructions on how to flash with fwupd.
|
||||
|
@ -38,26 +38,7 @@
|
||||
|
||||
## Building coreboot
|
||||
|
||||
### Preliminaries
|
||||
|
||||
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
|
||||
```
|
||||
Please follow the [Star Labs build instructions](common/building.md) to build coreboot, using `config.starlabs_labtop_kbl` as config file.
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
@ -79,5 +60,6 @@ make
|
||||
+---------------------+------------+
|
||||
| External flashing | yes |
|
||||
+---------------------+------------+
|
||||
```
|
||||
|
||||
Please see [here](../common/flashing.md) for instructions on how to flash with fwupd.
|
||||
Please see [here](common/flashing.md) for instructions on how to flash with fwupd.
|
||||
|
@ -37,27 +37,7 @@
|
||||
|
||||
## Building coreboot
|
||||
|
||||
### 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_lite_glk
|
||||
make
|
||||
```
|
||||
Please follow the [Star Labs build instructions](common/building.md) to build coreboot, using `config.starlabs_lite_glk` as config file.
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
@ -79,5 +59,6 @@ make
|
||||
+---------------------+------------+
|
||||
| External flashing | yes |
|
||||
+---------------------+------------+
|
||||
```
|
||||
|
||||
Please see [here](../common/flashing.md) for instructions on how to flash with fwupd.
|
||||
Please see [here](common/flashing.md) for instructions on how to flash with fwupd.
|
||||
|
@ -37,26 +37,7 @@
|
||||
|
||||
## Building coreboot
|
||||
|
||||
### Preliminaries
|
||||
|
||||
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
|
||||
```
|
||||
Please follow the [Star Labs build instructions](common/building.md) to build coreboot, using `config.starlabs_lite_glkr` as config file.
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
@ -78,5 +59,6 @@ make
|
||||
+---------------------+------------+
|
||||
| External flashing | yes |
|
||||
+---------------------+------------+
|
||||
```
|
||||
|
||||
Please see [here](../common/flashing.md) for instructions on how to flash with fwupd.
|
||||
Please see [here](common/flashing.md) for instructions on how to flash with fwupd.
|
||||
|