Compare commits
7090 Commits
system76-4
...
4.16
Author | SHA1 | Date | |
---|---|---|---|
e3e965b13d | |||
b4156412db | |||
10ff9375ae | |||
4b2e04a53b | |||
eab1827b66 | |||
e3e1801a33 | |||
2a7445a165 | |||
cbf0f98c61 | |||
9e00571b49 | |||
af025d6ee1 | |||
960fb2f4b8 | |||
4de2c342fb | |||
737ad67d12 | |||
5e0ed5016c | |||
ea4ad0ddf9 | |||
0b108a14c0 | |||
09f3b6cf21 | |||
9f091608b2 | |||
4a9be9f321 | |||
3ecee3cdd9 | |||
92c2ccda0c | |||
bd90a226a3 | |||
d9c5b14f1e | |||
811aab3586 | |||
fff2413513 | |||
e8b297ed26 | |||
928a9c8f04 | |||
972d9f2cce | |||
887d4ed912 | |||
f47d17d81e | |||
4b2464fc90 | |||
46a3a044ad | |||
4e03727e63 | |||
7f8c737fe9 | |||
ce876aaa8f | |||
85c64e3ff6 | |||
d17eac4f09 | |||
2552c47100 | |||
1d72afbd2a | |||
d2873756a7 | |||
26f0310317 | |||
9ec4bf2fcb | |||
a0b8032279 | |||
f1313ece44 | |||
9042427ea2 | |||
3a260ad8f1 | |||
532e043b66 | |||
95f8f92451 | |||
4cee77bce3 | |||
fa5ed059eb | |||
e2531ffaa8 | |||
fdb0294846 | |||
e39d371909 | |||
77711b8677 | |||
a243111a6d | |||
0776ba1194 | |||
3f3a3eeca7 | |||
4600c25346 | |||
f33ddb3959 | |||
14d67b3515 | |||
c8decce31c | |||
b2c681fc4a | |||
a514192ffe | |||
b582ce0814 | |||
6f413d1c3f | |||
47722cfe55 | |||
4fa9f2ae8b | |||
22372f4ac9 | |||
d239aaf741 | |||
3a3920263a | |||
eee62c1537 | |||
5fbbd8196b | |||
f6056113e5 | |||
e6ce594da6 | |||
d08a76e3ea | |||
6d508dfc2d | |||
8f38e5f5dc | |||
4450bee6b3 | |||
090fcec945 | |||
2a6cc959ee | |||
f0d4f930a0 | |||
a789643ac9 | |||
5996eea5af | |||
d3687cd994 | |||
95231b264d | |||
16a55f7a56 | |||
70a1ef0716 | |||
ad58a188e8 | |||
6306fc2127 | |||
3830d7a7f5 | |||
36bf0947b9 | |||
0884f21042 | |||
e0e6f07220 | |||
9478527966 | |||
fd93cff329 | |||
7f7ac206f8 | |||
cbaf753012 | |||
6f4a5454ac | |||
6f74d38dc8 | |||
88ccd4863c | |||
4045935eb8 | |||
53d13cbb21 | |||
e46e9b04ae | |||
994c1910e8 | |||
f08705db4e | |||
e220faa18a | |||
990d154898 | |||
1a9e54302b | |||
5bba93e08a | |||
aade40c3f6 | |||
b4389598cf | |||
141163d5ea | |||
02967e6113 | |||
b53a55930e | |||
138db0601d | |||
4998aaee23 | |||
b55ac09ce3 | |||
3a5e6f529c | |||
2164c308b4 | |||
e0ddea49d1 | |||
fac11d000a | |||
bf81c24e07 | |||
aa41f77397 | |||
1f5e1b4f3c | |||
0ac5ed4490 | |||
b17f1cebcb | |||
7f663ab3e6 | |||
dbbb391700 | |||
a6d642fa8d | |||
d2ca5be61a | |||
8b950f4d7a | |||
e904d9ad67 | |||
d9884d480b | |||
41dbba9778 | |||
e854b0b5e7 | |||
05b66147d2 | |||
4ded64c1be | |||
23f33546bb | |||
a1f5ad0849 | |||
e284ca26bf | |||
7848aa9335 | |||
95986169f9 | |||
90e318bba4 | |||
34f26b2989 | |||
03c0853f4d | |||
130de14a05 | |||
0c3b7f5411 | |||
636a6dedf9 | |||
655caa2da0 | |||
63226901c7 | |||
14976dbed0 | |||
61c9440888 | |||
ef47212bf8 | |||
41994fee94 | |||
d91a6842bf | |||
d1275fb886 | |||
5b0ce06d3d | |||
d55a08242b | |||
f04faa149f | |||
b6d522f6c7 | |||
bf265b456b | |||
11fb6a87d7 | |||
159db81b64 | |||
d2133c2ebf | |||
08ec66dd12 | |||
a55e5b7739 | |||
b832955161 | |||
cb6e4926e7 | |||
b29d128023 | |||
df533e6911 | |||
0724ab1335 | |||
782d012590 | |||
8c83e3f7fd | |||
dc07db0c76 | |||
166b35210c | |||
5a0432182f | |||
895691a783 | |||
559563aaaa | |||
282d715133 | |||
c17330c1dd | |||
ca7c9cc3f2 | |||
e1d6f5b80d | |||
3248db0e5a | |||
6c4135e636 | |||
a7305c19e6 | |||
0ff941dd20 | |||
5b0103f9b5 | |||
2938c46765 | |||
9647e630a0 | |||
727a224aed | |||
79313528cd | |||
ffc8532869 | |||
4ffdd075af | |||
de66e66517 | |||
fff20212af | |||
97a0d61f0d | |||
33b7bb6ee5 | |||
8c93feda7f | |||
53c2250dbf | |||
83881e7824 | |||
fd539b40af | |||
a816c29882 | |||
8d436cfc1a | |||
7d8b553608 | |||
5e8dd5d24a | |||
c249c4b8f0 | |||
3307451752 | |||
55e43d82ac | |||
45f9ca4824 | |||
1dc1a56a5d | |||
d00cfcb0a1 | |||
3461917898 | |||
c35ce0e2a6 | |||
4e722d0766 | |||
c063b5d08e | |||
17fbf58fdb | |||
80ddd29adb | |||
72236b475f | |||
f57bf3f994 | |||
6198a8213a | |||
8ac40f3ea7 | |||
0de0254a1f | |||
575a2e589d | |||
148b545671 | |||
49e669f955 | |||
bb052ced54 | |||
7c31d17317 | |||
b3671ec5de | |||
9e00a817f3 | |||
42914feb1f | |||
112ffd7642 | |||
b09166d0e6 | |||
6c5efcd268 | |||
bd842a9b92 | |||
975c5e5ab0 | |||
b63d5f8b9c | |||
002d9b2a7a | |||
343b36bbc3 | |||
e8c160e6af | |||
92d449902e | |||
d85319a12d | |||
dfde9b125c | |||
2d58d5c052 | |||
7c2f57a4c7 | |||
81d3cdeab2 | |||
0fcf8356eb | |||
df81e07c37 | |||
d43e688ed2 | |||
02b2afa8e9 | |||
9fc5166ca7 | |||
cae27ebf49 | |||
8b875d028d | |||
646b6a0f6f | |||
aae362c4ed | |||
ad90edc3e0 | |||
28894c5798 | |||
399d3cf878 | |||
0e688b113d | |||
fafcb749b4 | |||
eaee04b4a1 | |||
507064b835 | |||
d8cf72f7e6 | |||
4893003581 | |||
b2e9193231 | |||
f91538c3ec | |||
bc13c64a2d | |||
c5b912f788 | |||
514965a9ce | |||
aa3a42df44 | |||
b3b17b2a3f | |||
e80e53cac6 | |||
6c5ec8e31c | |||
39cf79900f | |||
2fdcb64ec9 | |||
b0844490db | |||
e42731603e | |||
b8258bd2b9 | |||
1169e5943c | |||
af5a9d64a5 | |||
6f0b5b3e6b | |||
d2e278df33 | |||
3a96074441 | |||
dba9b54731 | |||
956a8b69d2 | |||
bcbcdf7394 | |||
e985d211fb | |||
c1de9e88e7 | |||
d495456429 | |||
b26d005bbe | |||
6ba6bc24eb | |||
cdbfa6e637 | |||
b0947172c8 | |||
19567d8ec2 | |||
457d98d130 | |||
8d6ebe9d31 | |||
7a91a10c61 | |||
eb1891a9a8 | |||
8b5841e9ea | |||
08d2016e50 | |||
e527c713bd | |||
707e5452e7 | |||
ed04aab813 | |||
252fc29d1a | |||
3c00c7ec6b | |||
9813544151 | |||
1ba6049ad9 | |||
b8a23013c5 | |||
cfc594cddd | |||
c9f6baf425 | |||
2481f1e7b5 | |||
caea806499 | |||
bde5558e54 | |||
20b9245d55 | |||
74249b9af9 | |||
caa1d41d5c | |||
47318c923e | |||
8ad51a8abf | |||
c585d8c96c | |||
9048043302 | |||
a3b79c5063 | |||
6e122455bd | |||
7516766abc | |||
876cfe0ee2 | |||
fd07fa20da | |||
1f6b7a273b | |||
5b76ae9611 | |||
3d121ae1a1 | |||
49be1a9346 | |||
ecdc714ef8 | |||
20536c90c6 | |||
e8f5c20282 | |||
4c6f074e0b | |||
37f4bf3802 | |||
86ce03361b | |||
b1963920b3 | |||
228e7c2e98 | |||
6c10007b42 | |||
0bcf771cd2 | |||
0ce6925849 | |||
a2322df64e | |||
e6460a4777 | |||
43e8807b6f | |||
facdd7e04c | |||
85ec4e2a74 | |||
8dd1763bef | |||
8572417007 | |||
e72eb02c27 | |||
e90243a0e7 | |||
9f9d5106c5 | |||
7d7f3ae69b | |||
09c047c297 | |||
efe0fe2674 | |||
1e25fd426a | |||
4b38a0b860 | |||
110e5ced75 | |||
ababf01e0e | |||
5a835161a2 | |||
b25261fc7f | |||
9b5b17feca | |||
3922aa5c2c | |||
80c9289712 | |||
71f03b4630 | |||
9c5a10714d | |||
c5ab260cbd | |||
5c7a923757 | |||
e0f0801802 | |||
5dff66bfd3 | |||
9354307157 | |||
f1a3f187ba | |||
55ba8df28c | |||
ceefc74f01 | |||
45ba318b2a | |||
9d28899f2d | |||
8b627daf80 | |||
4db4282e6b | |||
1597748a80 | |||
22ad8f2508 | |||
c168f115e4 | |||
83bc408416 | |||
af382a77d7 | |||
2aa5618871 | |||
1828a541f1 | |||
e9665959ed | |||
266041f0e6 | |||
984d03c492 | |||
a120e0defd | |||
6bb9e57a8f | |||
ab84fd7605 | |||
7cd8ba6eda | |||
1ee6e4ab6c | |||
7e653d8451 | |||
d1a74167a8 | |||
4bc9ac7c29 | |||
d5ae3f908a | |||
65aaccda59 | |||
ccd0905a23 | |||
84d4ccde79 | |||
2aef22f6fb | |||
cf7305f053 | |||
0d6972fcb2 | |||
51c75ac0df | |||
6efc7edc13 | |||
168c25b82b | |||
ad8a2a475e | |||
ec4493f88b | |||
5bd6096f82 | |||
b0789ede5f | |||
409e6fc6b9 | |||
16fa339d84 | |||
2412c81fce | |||
96451a7c6d | |||
0eef54b8be | |||
a4d033a66d | |||
ddf137f822 | |||
70f32bb203 | |||
6c170e6b3c | |||
e5592d3d99 | |||
9ec7227c9b | |||
7261b5ade5 | |||
7aea15aa6b | |||
710bdc42a5 | |||
0c1158b15d | |||
c8d26c0158 | |||
ceaf959678 | |||
2c079fce45 | |||
f73e49a784 | |||
3babc8e12c | |||
3623eca525 | |||
8b94d3e9d9 | |||
cd8771640f | |||
75739d3913 | |||
6f9e4ab059 | |||
716ccb7450 | |||
c6b65c1a81 | |||
b6cf642732 | |||
8e4742d76d | |||
6151ff3eae | |||
3bdbdb77a2 | |||
6d1db72958 | |||
2fb232af8b | |||
526cc3ed44 | |||
ebd75315b4 | |||
a84d4f2312 | |||
e04be37806 | |||
556d1cc17f | |||
bb42f67240 | |||
42d8cbf4d2 | |||
429971a5fb | |||
f3a1990021 | |||
480e7e5ac8 | |||
1d886639ce | |||
46c9f761d4 | |||
2c1c3138bc | |||
de70db137b | |||
0d390195a3 | |||
3c5da531ce | |||
0db4247b9f | |||
9ec5f444d0 | |||
8fb462fcc8 | |||
a69125c723 | |||
880f70660d | |||
687793d3c0 | |||
1039d27856 | |||
cfb044322e | |||
3c965dc3ac | |||
92b7815702 | |||
cfd3224197 | |||
a0696645b0 | |||
fa4d0510ea | |||
21fdd44db0 | |||
8a576f60ff | |||
7edf910d79 | |||
7a3c416ebd | |||
67d0672296 | |||
b998fd073d | |||
57fc1b91b9 | |||
5a49f3aa79 | |||
7ef471c67a | |||
ce70f0b699 | |||
d6dbd9338c | |||
ea47c6b580 | |||
be3e911d53 | |||
e49a615320 | |||
32e0673232 | |||
736f9cced0 | |||
2ad24833d9 | |||
fedc5427fd | |||
a0dd454115 | |||
abac030662 | |||
da2827779c | |||
7e91db7148 | |||
506ca3ef4e | |||
894f6f8229 | |||
bab9d72f15 | |||
d91af22f11 | |||
ea026aa915 | |||
82e3913a82 | |||
484708e9ca | |||
7663852a9d | |||
57cd69f293 | |||
facb9e4dca | |||
fae13d6063 | |||
ca544c9cee | |||
45f512c8e0 | |||
442c598a0c | |||
bef4ec7e57 | |||
abdf684c37 | |||
8ed02de830 | |||
3d945890d8 | |||
2a542da89f | |||
78695fd969 | |||
a70415624f | |||
f2a9c8d57c | |||
41aa8d6035 | |||
cabf9e33a7 | |||
f023270a68 | |||
b11f381740 | |||
87d1cc6598 | |||
2302fcf039 | |||
4b4aa0bed6 | |||
01e426d217 | |||
e258df2cb7 | |||
b627964f2e | |||
18ef52083d | |||
249c4044c2 | |||
ac69049030 | |||
919b0c7d4d | |||
48cb78b6d9 | |||
96771bf92c | |||
7503cd1c88 | |||
a04666110a | |||
b196834b62 | |||
ad489d889b | |||
e2c1ea7ad9 | |||
6fe32f55b7 | |||
3e4f28f8c2 | |||
948ed24ac5 | |||
5e8ecf5567 | |||
b4cdfb5128 | |||
ce7ec14f36 | |||
5561468eeb | |||
3f8bff7764 | |||
38c7314137 | |||
e9d0653308 | |||
fb6d6a9333 | |||
730107e6c1 | |||
bfdc132436 | |||
1cac6e06dc | |||
4bffbb661c | |||
fa99982b71 | |||
3b6d202ee5 | |||
eaac053d23 | |||
8a48241b8d | |||
289a67d160 | |||
ad3828e3ce | |||
28fa297901 | |||
5e84a42055 | |||
e15aa7fc7a | |||
3c46371a51 | |||
0bc5d9dfff | |||
f711bf03a6 | |||
f9e9250d46 | |||
45bf0411f3 | |||
5f72179d57 | |||
73b90c6872 | |||
117361278f | |||
49f0f9a422 | |||
f6bd2788b8 | |||
a3f8eda8a6 | |||
91068c95b7 | |||
bc1febad5b | |||
ba21a1f76c | |||
cbf290c692 | |||
1c3b2a706e | |||
9517ae9f69 | |||
6b90511da4 | |||
49cb32d430 | |||
039be8c7c7 | |||
8a09cbd336 | |||
283999ad53 | |||
b1fe9de74d | |||
a48f29192d | |||
2f478b85ca | |||
cea684df9f | |||
648a44acbc | |||
ef8a1390b2 | |||
5d48e78341 | |||
0015df5927 | |||
9c89e3ada2 | |||
aef6de3426 | |||
58e2c50d88 | |||
be35479f91 | |||
ec31cf13e2 | |||
921b99ed4b | |||
a233eb4b0a | |||
62b23c10e0 | |||
30f05c4e7c | |||
2c7e498876 | |||
8d6c1c2d0e | |||
79effad1fc | |||
2bff154598 | |||
d87b0c371e | |||
96eb676b5e | |||
2cd3384b18 | |||
eb9e63f21f | |||
98d76cb708 | |||
74b85f2e2e | |||
69d92deb6c | |||
6e4b81c20a | |||
d9e50b1343 | |||
2e7b78bad4 | |||
d575c8d4ed | |||
2e88d06d2b | |||
18167d4ac1 | |||
d03b824893 | |||
f1b11e7fcc | |||
707aa2ae77 | |||
af2f8b9297 | |||
393b093f71 | |||
7e8a0e61e7 | |||
fe678cbd19 | |||
a3525af1d2 | |||
d4b5ad0ce3 | |||
978930e860 | |||
a36f9ab041 | |||
73674a72bc | |||
8b54c0e04b | |||
2a404b599b | |||
b65c3015b0 | |||
51ede8af2e | |||
0251ecdd62 | |||
52ac424b9c | |||
0099832cda | |||
964055d74f | |||
6ec3dd2e5c | |||
e8feab018b | |||
7f8ab005ca | |||
ff99f1246f | |||
10b2c73875 | |||
8f2df280e1 | |||
7760fe4645 | |||
5cd7579ee5 | |||
36425312ee | |||
f4bb77bd9e | |||
20f836bfdf | |||
a27d1fa175 | |||
1f0eb6b0db | |||
9d93b16487 | |||
af356d313d | |||
a8d7c043f6 | |||
421c7d1a99 | |||
3c44c6227e | |||
6abaccf13d | |||
dd68649fe0 | |||
48eb9aa6d2 | |||
bf52cdbca1 | |||
672e844692 | |||
1b57537530 | |||
4337349883 | |||
83c30a9cf1 | |||
b3cd55b224 | |||
6dfa528af9 | |||
0d7eaba0d6 | |||
426ea9670f | |||
63b53561e1 | |||
86302a806c | |||
1e1aa0ca4d | |||
5be92e6f33 | |||
c067e4a6e5 | |||
36871dbdb7 | |||
23e2cde597 | |||
1587324a0d | |||
e383b3dcc4 | |||
bf73c498d4 | |||
f33c9bf79a | |||
03b1d3ef48 | |||
c7018cc009 | |||
203e6c2ed3 | |||
5fe3032e06 | |||
e24b006ee4 | |||
25387927c0 | |||
6a4f5739c8 | |||
38fcf40330 | |||
77426ffa6c | |||
dc0eb656eb | |||
6a3bdf9aa5 | |||
6fb126773f | |||
cef6770a0b | |||
0ddb47048d | |||
21bc2ca5d5 | |||
cf4bba82cb | |||
3b589c8148 | |||
3625a12625 | |||
85f691ab8d | |||
47486b92ce | |||
1c5cc56acc | |||
28a97a2ae5 | |||
8a4a89fdcb | |||
cd1cd8d117 | |||
cdd0252028 | |||
4ac35707d9 | |||
0767da9fc9 | |||
56ab8e2aae | |||
6ac5dc2ca6 | |||
a727d54536 | |||
58b2d86bb9 | |||
14a1c2778f | |||
c8283d7014 | |||
b1a0fcefe4 | |||
ba9183245f | |||
dbe92ead87 | |||
eed82d181b | |||
9a14fab340 | |||
0fd734046a | |||
db8afc70ba | |||
5338a16b2e | |||
415eadb90b | |||
50251400d2 | |||
e5af29c40b | |||
3e95cadacc | |||
5a8b9c94a6 | |||
57309d362c | |||
ec877d633d | |||
c89be7ae42 | |||
9341920453 | |||
2a81cab066 | |||
805956bce3 | |||
53c7453ba1 | |||
2746649dea | |||
0f9c7c009f | |||
80a7f4e7b6 | |||
bf993110b3 | |||
2abb826312 | |||
0bb6383f59 | |||
d2e423fc8d | |||
15c9c78057 | |||
e74ebcde38 | |||
a0d9ad322f | |||
98ce39dce4 | |||
0f76a18c3a | |||
ac24a96579 | |||
395f5b3129 | |||
d74b8d9c99 | |||
e565f75221 | |||
dc6071d2ce | |||
c98df1478b | |||
a99355376b | |||
c08b6a7037 | |||
63ec2ac97a | |||
4503a0cb0f | |||
a92589bc5c | |||
db29b3765b | |||
f04e83abbf | |||
ad50b40eed | |||
a2f51f2225 | |||
6b416ffc6a | |||
ca6e5ee594 | |||
62afdb675a | |||
45b6080561 | |||
9f0285b6fe | |||
7a2bc06b12 | |||
c14ba95beb | |||
b145fd1960 | |||
cdedc08d82 | |||
0c1c2decde | |||
d8bcad594f | |||
577afe62c9 | |||
435e003825 | |||
60570f4134 | |||
41a1a9e03c | |||
727a84b9a7 | |||
ae3f90b8f3 | |||
7788513667 | |||
878d3723fb | |||
ec58c01372 | |||
db199cc073 | |||
5352d22378 | |||
2853f0fd63 | |||
787ee8b9ea | |||
ad45f681aa | |||
b3398ba562 | |||
88e37c7aff | |||
64175bcb76 | |||
6c4edff487 | |||
a421b1a289 | |||
a52b9c3a40 | |||
bf4592743c | |||
8d092aa5d9 | |||
caa83ab2e1 | |||
27b02c2eee | |||
54bbe2da20 | |||
6f811f6d5c | |||
8473322727 | |||
baaee5fbfe | |||
206b0bc212 | |||
5e7f90bb4c | |||
29e33551a9 | |||
c7fc9d6c4c | |||
a6bc494e23 | |||
9a91ed3370 | |||
05865b8fbd | |||
17c9cfe212 | |||
cab1285c03 | |||
84bd9dcc51 | |||
c0e8357d5e | |||
874068eb1d | |||
ffc4002863 | |||
a6608bc990 | |||
ef6139ff0c | |||
ddaf2d0d18 | |||
17ce870755 | |||
5214cc978c | |||
ad6ff7fe25 | |||
03824a6b2e | |||
619dfeaa59 | |||
e6543ab56b | |||
60c7cc2b95 | |||
ba6b06f3b5 | |||
4ceb3530c5 | |||
7d874e7b22 | |||
02001a38be | |||
f6e74c45c0 | |||
8ebc6d1b7a | |||
3b9c3dd150 | |||
b14e6ea052 | |||
0a55d59f76 | |||
bd8ef95739 | |||
872afccbb9 | |||
60b0034991 | |||
76806c3263 | |||
7f1a63f074 | |||
2d531e9028 | |||
7f7d9df0c3 | |||
b0cda4b169 | |||
bdaff7ea84 | |||
079c8006bf | |||
63e54275f6 | |||
1fa3da4d9b | |||
b7d1b35175 | |||
150fee60cc | |||
502a761221 | |||
6a3ecc508a | |||
f26ce9f00e | |||
d2bba5ccd8 | |||
20777ec5a9 | |||
9b9fe92e28 | |||
da3edab901 | |||
f23cc1c0c1 | |||
44d103581d | |||
69d98b3655 | |||
02275be61e | |||
63660592dc | |||
c1d1cfa243 | |||
20ba6e4834 | |||
2360d7c277 | |||
3538461468 | |||
f00680afc5 | |||
138f547c8b | |||
af69af996e | |||
b6a15a7227 | |||
f94405219c | |||
ef5f7ee696 | |||
c921da3f0e | |||
d4c161ec55 | |||
362a4819b3 | |||
1e9dfd9d8c | |||
8eedca3e9e | |||
08351d2727 | |||
060e89f347 | |||
2dcc7224a0 | |||
7be44d2ad6 | |||
ff553ba8b3 | |||
328bfb3937 | |||
0de3e6570e | |||
c2c9618607 | |||
2b1afef1ea | |||
38712b84ba | |||
beaef09a9b | |||
5ba87a8092 | |||
e2192e6a82 | |||
f58ce3bdaa | |||
fc7a40fad9 | |||
e3411cda2e | |||
cf39336ccf | |||
40c9c8aa80 | |||
8d0e77bbd4 | |||
7fff266b07 | |||
78e6b3d28b | |||
642bcbf06a | |||
724fc89887 | |||
d43d864fc0 | |||
0dc0772118 | |||
90c6cff159 | |||
c46cadd22b | |||
a8a9552d75 | |||
df1d2b4bb9 | |||
a265c49eaa | |||
6f1435e0a9 | |||
1ef30cbf75 | |||
0bb9104ead | |||
6a8e0b14f7 | |||
8def542ff9 | |||
47235990d4 | |||
35eabc7c23 | |||
667f51193a | |||
056b2501e2 | |||
9e95f6e0bc | |||
a97f03513f | |||
249343bebb | |||
5a5ed1fb20 | |||
51b9eb74bf | |||
6dfc0aebb3 | |||
774ffe3998 | |||
088667a2d9 | |||
159a3045ce | |||
eb14a979f9 | |||
c045b099e4 | |||
8b63dac061 | |||
bdad283237 | |||
8bdbe23a93 | |||
a5b6ec05a8 | |||
fa7f37b75d | |||
e7640ccadd | |||
f1edd4fe60 | |||
fc86f8bf27 | |||
3a0355a8bc | |||
5ca0015dc5 | |||
0594bf87c1 | |||
cb8c3ddaea | |||
219bda737e | |||
8550fbcea8 | |||
9980019e14 | |||
1e0fd0b7bd | |||
6feb70ec04 | |||
b510670774 | |||
51ab5e454d | |||
58f6a5d744 | |||
187bec7ac0 | |||
2219d89d9d | |||
8a44eb9a5b | |||
0bbc3ccabb | |||
71c5dfc01e | |||
af4bd5633d | |||
0b9d186e3d | |||
876cffae65 | |||
1106bcce0d | |||
2a4858afed | |||
69107c149b | |||
b4a169a1e1 | |||
627313081e | |||
83ef7a647d | |||
355d8444a8 | |||
654930e7f2 | |||
2b1f8d4129 | |||
346bb0b010 | |||
e065db0dc2 | |||
f424c8b80f | |||
b6519812d4 | |||
434fd4cbc1 | |||
9e8f8c18c1 | |||
d6b181f81c | |||
df2bb60560 | |||
1aa197ee9b | |||
a4320fcc7b | |||
338bd0bcf4 | |||
bbe6e9706a | |||
1c5e9d1331 | |||
35f903074d | |||
8973942adf | |||
0a0a890d3b | |||
b7ec42d2ff | |||
8292f4160a | |||
b23571c18e | |||
fe657614e9 | |||
6af4200523 | |||
e81d12e866 | |||
1a6925cd7c | |||
ecc63d9bf4 | |||
9dafc29cae | |||
98be4d6ea5 | |||
d4a91aaf1f | |||
9f8ce8f2eb | |||
fa36e65a86 | |||
66e2630052 | |||
c104e4cdd7 | |||
40bc82fcde | |||
e15e64054c | |||
355fb2fb98 | |||
e7f1f6be86 | |||
da4c4ded58 | |||
70f59e28a0 | |||
176279eff1 | |||
0e790c6cba | |||
c8c312c7e8 | |||
42fcf5acfd | |||
60e1dfa8cd | |||
ca1b2a5b65 | |||
ab62663767 | |||
406453c973 | |||
5a303b0bca | |||
0a137cb91b | |||
db4cf7f93a | |||
b232ca67d7 | |||
9655cfc9c9 | |||
a330382db4 | |||
fde7a05223 | |||
7b7e44ed26 | |||
2f79a838db | |||
3dc8f56a18 | |||
3d3d498e8f | |||
24eb605280 | |||
150daaf3e2 | |||
34fe2ba447 | |||
621744b85f | |||
0d92ec872f | |||
291ba82acf | |||
6e9e3fddc7 | |||
0069f6a18c | |||
100c2f6d38 | |||
527e4a499d | |||
91596bcead | |||
e2c105ea69 | |||
ea642ab6e1 | |||
263beafc6f | |||
f59d76175a | |||
d8cf9626e8 | |||
5f013f7eb2 | |||
f3c313b47c | |||
d190cdd25e | |||
4fd000193b | |||
a13e3cd1da | |||
fbf01e1624 | |||
34c4a51d1b | |||
6b3a899bc4 | |||
1eba1968b5 | |||
f94ec24eb9 | |||
4e099552d8 | |||
a64944f5b2 | |||
3d778c3aee | |||
abff1a51c4 | |||
1bdac6a8e7 | |||
26fbcc91d6 | |||
a2ad07dc69 | |||
c94d91bba5 | |||
4aab487270 | |||
fe62d6911e | |||
5e5c14b36d | |||
3a8f0875c0 | |||
103f89a200 | |||
3a46206c08 | |||
44b014950b | |||
2c670870fd | |||
f00caca13e | |||
cb9f038ec5 | |||
2e4cc9b699 | |||
ae2d14b4a1 | |||
f5b162e55d | |||
73078edd5e | |||
931a1cec09 | |||
a6fe3f82a8 | |||
53b6c206e5 | |||
5e0fc511fd | |||
2318677866 | |||
dac0408492 | |||
83ba290f6d | |||
6b0b1aafe7 | |||
0cd553b3df | |||
de32da3c55 | |||
da20fa7abc | |||
8da3711edd | |||
c93781f96e | |||
38ac171ddd | |||
e55a7d160b | |||
c13aea6810 | |||
2bdffaa272 | |||
bb665ed635 | |||
f64ad5e2d3 | |||
d0437f331a | |||
6ed79cbddc | |||
ffe40a7a70 | |||
ce134ababd | |||
52607fd91e | |||
0f6de92fc3 | |||
c660a911d9 | |||
c4de2535da | |||
34dde858d6 | |||
df88199882 | |||
e490e59c78 | |||
c92c87b2fd | |||
3884a411dc | |||
7f25f14e00 | |||
4878940de3 | |||
a8b0c1a024 | |||
b385640e83 | |||
58e6789e5f | |||
dcebf6c791 | |||
e0625f8c8b | |||
3462a1b858 | |||
acc2ce9758 | |||
d05f2319df | |||
d67de90708 | |||
783e2bff53 | |||
1f796dacf7 | |||
550c072365 | |||
31531eab35 | |||
773c007af4 | |||
7b168c92f6 | |||
bb3300c14a | |||
1a0b557822 | |||
2b222a0a1a | |||
994541e8a3 | |||
4cadff28aa | |||
43ff69626d | |||
b8ea301e71 | |||
2ab680ed44 | |||
bdcf92f5c3 | |||
c584476fda | |||
27b9b5b72e | |||
1fe5c61b75 | |||
7cfaa5d74c | |||
f8f5062430 | |||
db01d1e2fc | |||
a0583a46b9 | |||
800b24f7f7 | |||
32992f264f | |||
e226aabf79 | |||
c1e46bde50 | |||
9758ef9c84 | |||
eb4edc3ef1 | |||
edb4f759ea | |||
5e4232d389 | |||
f371a78d90 | |||
d22cdbe73f | |||
d45b113fb5 | |||
b84476bcea | |||
b09459fcef | |||
647dd8a6bf | |||
ec3c2e2e6b | |||
e146196030 | |||
564accf926 | |||
ec14217d39 | |||
6c158a3c55 | |||
f511b9ba71 | |||
4864d2e3fd | |||
e1290e9cfc | |||
3e73566819 | |||
c555162cde | |||
1e68d3d9a9 | |||
d507c49156 | |||
30f4c531ac | |||
112fde01ab | |||
1d3cff3f61 | |||
520a4a618f | |||
6c307d7646 | |||
ff01bca624 | |||
ad489b8a27 | |||
58e016ed69 | |||
2b1e737289 | |||
4bf08cfbfe | |||
a9796ce010 | |||
8402c421b1 | |||
b647e35119 | |||
84cd7c351f | |||
4f1378ee47 | |||
15d4b95cc6 | |||
02a2f58a6c | |||
b138a8eb85 | |||
351d3a1967 | |||
8fac662f30 | |||
e7006fb414 | |||
bcd7873ea8 | |||
c729ebe945 | |||
7ff067ce38 | |||
fe7554c3ac | |||
8f363cd00f | |||
94ee1cb19c | |||
ae8004ad5f | |||
591789b50b | |||
0afecdf95a | |||
d448f8ce0f | |||
9fe2ce802a | |||
2ea8b945ec | |||
e061fbf1e7 | |||
0617d5a16f | |||
0071e6b528 | |||
f78a4b9f86 | |||
235a2a11b3 | |||
3ee9bb012d | |||
a62cb5693b | |||
d27dd97e17 | |||
baf027d50c | |||
82a283dad9 | |||
f0215b4cae | |||
a4dddfc3a3 | |||
b5ff51719d | |||
02031018e1 | |||
d22d692a19 | |||
01c06d7ba5 | |||
ae69f518b6 | |||
ec9de74d2d | |||
4b75b44bd8 | |||
4454c9af3c | |||
57af68fec9 | |||
aff2457723 | |||
58ce8b7db0 | |||
b89c798ddc | |||
b39f2a9066 | |||
1a7afb8363 | |||
f490d48b5c | |||
a7e85d43c8 | |||
8140691742 | |||
fba3668f5a | |||
aed38a94e3 | |||
4b4114f709 | |||
9e830540ec | |||
d992aa6111 | |||
bad64c8b9b | |||
ea6ee07f43 | |||
2d020e1cc3 | |||
25aa5606c2 | |||
fbfb906081 | |||
4b9ac2c993 | |||
a2c10a2539 | |||
6d84c08fbf | |||
1ea1e9d13a | |||
2bfc6c6a42 | |||
20f27da2b0 | |||
907cc5ab01 | |||
1a811bcb3b | |||
6ebb3b60a4 | |||
52ad866939 | |||
03ab722f54 | |||
55405a3ddd | |||
310d3271e4 | |||
df2049be31 | |||
032255c90f | |||
9f043742a8 | |||
01c9b98ef2 | |||
78ee4889dc | |||
0040bba74f | |||
09f7303518 | |||
f5dfe248ce | |||
4aaea85044 | |||
d3c0fb86be | |||
6df286ee19 | |||
3ca82e2d78 | |||
39dea9310b | |||
6fff2497b1 | |||
8ad94770e2 | |||
2649f5a518 | |||
1ca8b6e3c3 | |||
7f5a1eeb24 | |||
74d2218cc7 | |||
d8f07c1f35 | |||
af54d7d0dd | |||
a825170966 | |||
6f81c8698e | |||
1329d58a94 | |||
a169c74088 | |||
e3fd52a802 | |||
fc373c7dac | |||
55dce1d55d | |||
e3ae755575 | |||
856d6bc6d3 | |||
1105fe8913 | |||
a3930dafd4 | |||
6b0f45199c | |||
601a971545 | |||
19ad39b7f2 | |||
a1430c340e | |||
540951e374 | |||
bc62891378 | |||
0ccb7b2d48 | |||
1b66bbaf83 | |||
5e59f169ec | |||
cddded2f58 | |||
44633997d8 | |||
88efeafa66 | |||
3990da0bfe | |||
fd13fb54ac | |||
ccc27d2cca | |||
add2e93050 | |||
0fd072d3f2 | |||
772714d3b3 | |||
58ea2819ba | |||
ee56998a37 | |||
ac6070a79f | |||
da83d2c97f | |||
d85cee8310 | |||
2efb6142ca | |||
3437a6fbb0 | |||
941239d54d | |||
f79f775eda | |||
123312d6a5 | |||
10f457af5f | |||
25096eb950 | |||
20ad36547e | |||
282957232e | |||
38afe9e31c | |||
d76d2e275f | |||
7e7ea2bdf0 | |||
0f0edeed2e | |||
c71e320bae | |||
aa709a4996 | |||
f0a03b374a | |||
a70288d9fc | |||
32f883e532 | |||
b0d3a01941 | |||
1ac0dc164d | |||
dcf045918b | |||
feab8bb195 | |||
b32599ea89 | |||
ae0ea32c52 | |||
8bb59ca2fa | |||
5588f34a35 | |||
610b016caf | |||
178153dc45 | |||
ed8081cddd | |||
23488a1b78 | |||
5f2d114842 | |||
20fe24b4f7 | |||
dd1ee27503 | |||
f7d6eb2fef | |||
48fbf2f21d | |||
acb17fec34 | |||
92226dc6c3 | |||
dbd2362caa | |||
362dac6d6d | |||
de6b489ec5 | |||
18dfed5e8e | |||
07092189c1 | |||
c591d9c7ab | |||
642c8d4c08 | |||
83cf3333a2 | |||
2aa1ff4eea | |||
8474f4dc9b | |||
83d54c30fa | |||
715b787fd3 | |||
2bf2e6d1cc | |||
b0db75563a | |||
0dcdfd3561 | |||
e6ffdb47cd | |||
26e384bf34 | |||
3f5f1b5bff | |||
09ca258349 | |||
3d523635e8 | |||
b33f351a59 | |||
5af890d666 | |||
2a8de6dafb | |||
64f1319702 | |||
5bb9227845 | |||
76c426ab28 | |||
9f6805afe8 | |||
7edea1b790 | |||
693556e0ba | |||
3c1ee4b9ac | |||
18dd6b8a9a | |||
d5ea920785 | |||
59d64f06be | |||
105495f37e | |||
c7ab9f410c | |||
9a185e5bfe | |||
289e2f6a64 | |||
0b25e00ab1 | |||
0365fc8186 | |||
688f09f97a | |||
09cdecec9c | |||
9bfbcd2127 | |||
858481e814 | |||
e96861f5c7 | |||
9f01bbf410 | |||
eb102ccbd6 | |||
d22e921178 | |||
c5432ec098 | |||
00c834dc26 | |||
04cf42775c | |||
6ebcdf3872 | |||
c90d406008 | |||
3332c2dc6e | |||
6ddacd6f5b | |||
ca1e8aaec4 | |||
b049eb2d99 | |||
12f216bf87 | |||
b6f29c9bf4 | |||
eb3260b971 | |||
ad31061e66 | |||
987e3dc80b | |||
1f8563ec0e | |||
e138fbd794 | |||
93f50b35a4 | |||
dc35d2a693 | |||
5b334b88a6 | |||
c7f0bca9c2 | |||
9f37647b04 | |||
b88d845c56 | |||
7676fea000 | |||
57ff302a6c | |||
7424576e41 | |||
21d7d75796 | |||
461ff1d3e6 | |||
1883106c73 | |||
727c7bf221 | |||
7d925c5fb8 | |||
df808f3619 | |||
7311b4e52c | |||
46dbbb67bf | |||
9eb7070bc4 | |||
333edcc7c6 | |||
49c25f2cef | |||
b9277bad50 | |||
78c9b678d7 | |||
7e7cc1a8c9 | |||
c75d846971 | |||
0f42e5e8f1 | |||
2f236c232d | |||
c627b0edeb | |||
f364eb9e1a | |||
29c7622d08 | |||
4a0dee21ae | |||
012dc590b3 | |||
84b9191831 | |||
3bb1d923af | |||
0b697a2473 | |||
e81560c6cf | |||
c1d49b65b8 | |||
9450a40ffd | |||
a7ebca3969 | |||
769994cbf6 | |||
fc69b9d5ef | |||
2a30359d5a | |||
ea1bb5f7de | |||
e0869c3e49 | |||
bef5c40582 | |||
4fcf13a51d | |||
ac812eda0b | |||
df72b18db7 | |||
900758bd33 | |||
b1da051f17 | |||
b974dd96b6 | |||
4457768300 | |||
cca657f898 | |||
effe39b1f6 | |||
68ff33720a | |||
1ce0f3aab7 | |||
db925aaf38 | |||
734a777d94 | |||
0c9b1deb63 | |||
74033df2bd | |||
0167f5adbb | |||
67c778d74c | |||
f1505816ce | |||
275fe98738 | |||
39b2e7abdd | |||
9f10950426 | |||
5fb0e5564d | |||
ccff304751 | |||
d11c814172 | |||
05a6d5c601 | |||
54888d0846 | |||
b63e1f114b | |||
50f428d48b | |||
ea619425ee | |||
6ba7bee1aa | |||
5c59fefd89 | |||
5df090856b | |||
efe402a348 | |||
783a874545 | |||
18881f993c | |||
05714ccab7 | |||
0cd6ab338c | |||
6c2b860691 | |||
f6205d3deb | |||
8c4fe3f0f6 | |||
4b5a490b6f | |||
6b446b991b | |||
a19d6253f8 | |||
f3644ddae5 | |||
1186265898 | |||
88da0b8622 | |||
f083d5e5a3 | |||
3f15581faf | |||
5b94cd9e9d | |||
248dbe0908 | |||
9f91ced9dd | |||
561a2afc18 | |||
75a7c6e7a9 | |||
777ffff442 | |||
60df92fdce | |||
0cd50ae661 | |||
6670c68934 | |||
0d30ddde55 | |||
6eeba88050 | |||
8ddbc7dcbe | |||
5aba2aeead | |||
3b1d1ce1af | |||
257094ac1a | |||
50449eb05f | |||
1e3b48c534 | |||
de8c8eccc4 | |||
7480e87d76 | |||
7656571563 | |||
9734e8091f | |||
20fe2ee502 | |||
8422740933 | |||
85d94740c4 | |||
ede87184f8 | |||
ffe50fde1a | |||
fca89d3d05 | |||
81a69665dc | |||
47516553fb | |||
c5e56f5948 | |||
4b6c2b8cf9 | |||
e7c9b5329a | |||
580150de46 | |||
9234d9231b | |||
40713aaa43 | |||
02cef7a4a8 | |||
19072dcd6f | |||
1a55dbf7e9 | |||
d43d171f65 | |||
655fa5c39b | |||
7fd65a9791 | |||
1a2e5c5627 | |||
92ca892727 | |||
e0ab086028 | |||
6c59f377ec | |||
2e6c9d6488 | |||
ed533f7077 | |||
03f0fa1822 | |||
4298e13868 | |||
0c54461cf9 | |||
d560ad6e7a | |||
2f5cb2e355 | |||
f80f32b0e5 | |||
23d03e912a | |||
29b7f1459d | |||
18456169e6 | |||
2cb8ed1128 | |||
ebf62d6aff | |||
5484a956b8 | |||
b2c2b92a6d | |||
3215e004e4 | |||
68aca73cfd | |||
0bc4684f89 | |||
a7190ef2ec | |||
baa72db1b2 | |||
e2f30b4e56 | |||
61ac508712 | |||
c194f75bb5 | |||
0e9a616c29 | |||
8815409ec3 | |||
7fe266d59d | |||
3e8ca37b6c | |||
8928ae380b | |||
e961033ec4 | |||
9ed2490e5b | |||
281e2c1987 | |||
673716dedd | |||
05c6d65308 | |||
30c1bb60d5 | |||
a8820c74b5 | |||
a31dbb8b8e | |||
72b92c9207 | |||
7f61d41c1b | |||
fd6c8d607e | |||
8e0bfe263c | |||
7aedf83b30 | |||
c69ea3285e | |||
162083072e | |||
72628fa813 | |||
b207f3f370 | |||
8ebea12763 | |||
aa133e42ba | |||
34b70fd163 | |||
924c33b760 | |||
12a98ffbfb | |||
3c01123abb | |||
d88d2da813 | |||
15235b2d89 | |||
f1dbd67381 | |||
e987845fef | |||
ea6a93f140 | |||
1d565b500d | |||
5e3c454fbb | |||
b35acf9210 | |||
2c89d08d7e | |||
63c0fd2dbe | |||
667471b8d8 | |||
c47beec2d3 | |||
708c937c11 | |||
84f3807f5c | |||
f1e401c6cb | |||
a5cbe27148 | |||
b2a442ed59 | |||
37e261f374 | |||
6de48981fa | |||
797bc1b8e4 | |||
6b81adf8bc | |||
17441a3ac5 | |||
be0722ac91 | |||
69ed3ed5d8 | |||
89b6d4bf12 | |||
296994bec8 | |||
6973a3e7c4 | |||
b2e8bd8364 | |||
8c45f236bc | |||
2ee30add35 | |||
d7375b3fdd | |||
5a13d6617c | |||
ca247629da | |||
c8193ce587 | |||
31605959a5 | |||
7cbf203d9b | |||
ef164196cb | |||
7dce190808 | |||
bef23d1f79 | |||
ada539ee50 | |||
f0e721050a | |||
04e8c2b5ff | |||
423e9e0fc0 | |||
65adc70165 | |||
c9bc7a7591 | |||
98e827ea74 | |||
d58599dcb8 | |||
188be6b270 | |||
eae7bf2327 | |||
88295c35cc | |||
da815303a3 | |||
cd04c6e07d | |||
e589ee3879 | |||
c510346b08 | |||
570645dc2a | |||
6e2c5a3d18 | |||
b749d3f0d2 | |||
b846b42a36 | |||
3feddeb398 | |||
9afe02798a | |||
f6c53c0543 | |||
2e445ad1af | |||
e1095496e1 | |||
0087de817a | |||
fcb267a81d | |||
85d9f47014 | |||
d16a085110 | |||
5c3d12eaee | |||
f9df79e8d6 | |||
f347166928 | |||
6296ae0258 | |||
a592bef03f | |||
847a39fec7 | |||
1a4b132413 | |||
e08df8e138 | |||
a952b3f794 | |||
98c7d55eaa | |||
42b8835beb | |||
57d4bc63f0 | |||
9a640c0f69 | |||
c7e17bce06 | |||
ad5fda5fbf | |||
bade5caedb | |||
d8e8c873c0 | |||
15486f44a2 | |||
e3964c75d7 | |||
7c14ff0261 | |||
9d321588d0 | |||
e2cc773f71 | |||
db85b096d4 | |||
86a9cdd589 | |||
3fd39467b5 | |||
df99e57289 | |||
b25576fa63 | |||
571e7f02de | |||
d7e7d60e0f | |||
88c0faddad | |||
94030cfa55 | |||
4ab77addc5 | |||
966b502d35 | |||
1cbcfc13eb | |||
f3b2c157f5 | |||
2ec91a37bc | |||
da0c4f42f6 | |||
aba1c13581 | |||
b0d48ed88b | |||
b8b833fc6a | |||
d31effffc8 | |||
964eb67de6 | |||
a3811fe5e7 | |||
b5811c0b48 | |||
642508aa9c | |||
436eac827a | |||
ed784bc0a7 | |||
3b03798953 | |||
f005c34172 | |||
fb02f0a55e | |||
91c3ace5af | |||
6bc300d8d5 | |||
cbbb02777c | |||
434fa6367f | |||
07e6b5f67d | |||
f1d0c828d7 | |||
a2610581a5 | |||
53075c720b | |||
b8f0539d2d | |||
5622666396 | |||
e72e857168 | |||
66bed5495b | |||
dc4c2b95f4 | |||
a10bc29dd2 | |||
b9f95db1dc | |||
2f9e5b9e34 | |||
ea0b13205a | |||
fb06ca0aa7 | |||
93b4145aff | |||
f8eed65e4c | |||
7d9bd1757e | |||
1e0765d85c | |||
1327f0bf07 | |||
93e6bbad3c | |||
04c3228a5d | |||
f6e421ffc9 | |||
2bcf99fcc4 | |||
c6076ef1bc | |||
c30a1fade8 | |||
999f9e3487 | |||
a1aca1e656 | |||
d1598991a3 | |||
071d1787fd | |||
4f021e554f | |||
4eb17f8e20 | |||
ff182cb237 | |||
dc63bbde9d | |||
36c5daad33 | |||
c0025c25f3 | |||
b139e6b2a3 | |||
09a66ace7e | |||
4bcc275d71 | |||
4cdac3c7b3 | |||
b0b12dd1d6 | |||
d4c7735930 | |||
8065c6d729 | |||
bfc4d8ef1c | |||
4f8aea0594 | |||
aae6b55b2d | |||
94b3735ce1 | |||
86dfd3c083 | |||
5300b0327e | |||
1297b9c74d | |||
b7a6a1e4ac | |||
992c8603f0 | |||
c359c6accb | |||
12f2bb6211 | |||
4e94822a5c | |||
ed9b350478 | |||
42552ca902 | |||
18d616a8fe | |||
67e4ad8eda | |||
d0f053eb9d | |||
6db243acd0 | |||
cfa59206a8 | |||
7c088b70ab | |||
ab89ba0003 | |||
f8fe39baca | |||
7bca1e474c | |||
ca69152579 | |||
03c3d5d68e | |||
5164e4b03f | |||
66f2cbb195 | |||
67b91b9344 | |||
b11de6fa09 | |||
fb05b820eb | |||
5554226426 | |||
4b6ad4efe3 | |||
51df45f0f9 | |||
8355e6e723 | |||
0cb116647e | |||
6de8b42482 | |||
9a3bde0581 | |||
bc94d60924 | |||
6df98f066b | |||
575f1ec111 | |||
fae525f547 | |||
4e9bb3308e | |||
5c163bb869 | |||
e6a1ebe55b | |||
b455dd3486 | |||
90d79a751b | |||
d0cef2ac6b | |||
6d27905e03 | |||
ba2b1139f1 | |||
a003c33aa1 | |||
8fbfc080fc | |||
e9654a857f | |||
8295cddfd2 | |||
1d63714dae | |||
b48caadad5 | |||
cc66b56c80 | |||
bbb57db484 | |||
4b92db88f9 | |||
085fdd8559 | |||
a7648f2b27 | |||
f9ae172b6f | |||
f4f365fdd0 | |||
e01e25d4fc | |||
afe1898607 | |||
91c077f6e2 | |||
f40a25bb11 | |||
586b1beb9c | |||
159284606a | |||
82897c9c4f | |||
6fd23cb2d2 | |||
4911dc7ca9 | |||
a3b290732d | |||
dcd8114359 | |||
cb902fd6bb | |||
6ea0311469 | |||
43e269239e | |||
3864973a09 | |||
dc45951e88 | |||
61c9cd9890 | |||
7842755d46 | |||
0480a19d4c | |||
381860454f | |||
402b69ea58 | |||
e14f363d3b | |||
996808e52a | |||
be7692a20c | |||
d16d00b71a | |||
04c497a6ba | |||
ac07b03634 | |||
a74f443d51 | |||
76e0b9d710 | |||
f1226963a1 | |||
c4db2db3bf | |||
0d50892e84 | |||
3aa61136cc | |||
70701eba8d | |||
d74f6f5a5d | |||
ba3af5e2ff | |||
edd1e360f4 | |||
33351336f8 | |||
615ab90db3 | |||
81beeae960 | |||
d453da268d | |||
39bfb1e0e3 | |||
dc4f46e776 | |||
abe5632b67 | |||
5d4f0838d6 | |||
32d09be655 | |||
c167b74868 | |||
e058841913 | |||
c1bfbe03a2 | |||
536d36a748 | |||
f32ae10f0d | |||
5065ad1f69 | |||
199c45c979 | |||
4cfb862fb2 | |||
58618c26a1 | |||
ba51e29953 | |||
111de557ee | |||
19b16a089e | |||
9f7e018f0f | |||
9916eb400f | |||
2d04693640 | |||
2c439adb51 | |||
e5be13e46b | |||
ba6eca3bab | |||
90cec2df13 | |||
cf17cd81d3 | |||
6938f353ca | |||
5ac82dcc20 | |||
533fc4dfb1 | |||
7d6b4e3ae5 | |||
a3260fde92 | |||
663a61ed91 | |||
437da71d0a | |||
bb03e763de | |||
5c65ec1ee5 | |||
8aac54d43a | |||
17641208f5 | |||
f9014bbb60 | |||
26806aed5c | |||
371cc15a89 | |||
c3ced8fa4e | |||
a6b3af927c | |||
ca6e95ce55 | |||
e13d3548d8 | |||
05c4dcbae3 | |||
779d0c66df | |||
09cbb064fc | |||
b8fa1d389a | |||
5db9fa7433 | |||
a23d76a8bc | |||
9559c68b3c | |||
5807da4729 | |||
28a0a14b5b | |||
c435038c55 | |||
b0db82dd24 | |||
ca87532a07 | |||
0a36178fa4 | |||
6b93866f5e | |||
f6f1258673 | |||
7e27202441 | |||
4c8c8442ab | |||
74a0629660 | |||
73e6b8e3eb | |||
f50bf60bff | |||
5826c591bf | |||
940953e823 | |||
e4b2d7da4f | |||
5cd1871929 | |||
b44202b29a | |||
fdaccd875d | |||
f74e42a542 | |||
be43b13543 | |||
9037f0a831 | |||
e747bdda1b | |||
0893b871c6 | |||
c840bc4e32 | |||
c1481e0863 | |||
6dad77d64a | |||
ba15a598b0 | |||
67d62fdfed | |||
43cf27d3a7 | |||
0d7e2a461a | |||
49ebce6777 | |||
c47835d599 | |||
dd30f4b112 | |||
55fea11f2f | |||
fab6e44a95 | |||
cb3745c407 | |||
73161c644e | |||
fe3189dc91 | |||
d6798e96fc | |||
fec936659c | |||
3306f37fd6 | |||
35bcf5071c | |||
dba7736104 | |||
9f7c78b5ec | |||
c710ee7319 | |||
0f4b8a24db | |||
67258983e6 | |||
f32eed1695 | |||
b5b22a74a6 | |||
8d5b674739 | |||
fbca40c9cc | |||
083aa9ecf7 | |||
af207a5279 | |||
4e6c915fcc | |||
2a83085a06 | |||
39277554a4 | |||
19b3102910 | |||
72e76676fc | |||
c1a55f73eb | |||
cbcc361def | |||
b0c1e73928 | |||
f6c29165b2 | |||
8bea7027cd | |||
18b34f98ba | |||
079c3f28ce | |||
6cdc838b0d | |||
3afa467a88 | |||
acbbbede42 | |||
5355436990 | |||
3d7b984f77 | |||
550bdc9050 | |||
b1700805ef | |||
287cc02c00 | |||
9c30a2944b | |||
047835aba7 | |||
69dcc1e515 | |||
eb0404e8bf | |||
1bfabb0bc0 | |||
6af980a2ae | |||
c69da57d63 | |||
aae5cdf1aa | |||
e008c469c3 | |||
eea22f60d2 | |||
bce7458aa1 | |||
05592ff1e6 | |||
b00bfd0765 | |||
59a348b75a | |||
ea9425504f | |||
2c78ee2997 | |||
9a56ff9c2d | |||
b4182989d7 | |||
d3c565e745 | |||
eaf71b0778 | |||
a1b299cd69 | |||
3d1fff9c01 | |||
8cc0a91c3c | |||
c299a6a33c | |||
30c441fc2d | |||
750abb1fe7 | |||
1bdf09d91a | |||
d125566582 | |||
d687d8dc68 | |||
93f6b8a8cc | |||
2f105ed9ab | |||
41e8e8aacc | |||
99165592c4 | |||
ba6fdc892d | |||
008c2b18b1 | |||
64d39f98e8 | |||
f473af7f00 | |||
d06c09179a | |||
10796d8c1e | |||
761e2ae676 | |||
39789eb695 | |||
cefee5e40f | |||
5c78ff9b4a | |||
1fe6ddbd39 | |||
a3c7cacbed | |||
4010d4a3b5 | |||
aaec8095b9 | |||
74f4e48e85 | |||
02164027b2 | |||
71dfa82380 | |||
8290f4c3d7 | |||
965b05adaf | |||
0515aa1978 | |||
57f09803bb | |||
e2783daa84 | |||
8023eabde1 | |||
3a79633920 | |||
cb2fd20c7f | |||
9a7fbbc98e | |||
1a950d6466 | |||
5fa09cb17f | |||
64f7eaafa7 | |||
f8e4ba0085 | |||
4690b03704 | |||
f77d78dcfb | |||
2d4986c168 | |||
ac1bba8e34 | |||
66b2f20156 | |||
92ab611c70 | |||
299649a31c | |||
e1f392ea34 | |||
6c8008283c | |||
308a5b9dd1 | |||
f9146ad569 | |||
af2da55876 | |||
60e9114c62 | |||
dc9b5efa81 | |||
aed59b6721 | |||
c25ecb5443 | |||
4bab5691cc | |||
682613f065 | |||
ea6d12a0de | |||
6139ff9c9a | |||
04a40379b0 | |||
e8601f4777 | |||
37e160efb5 | |||
4dd7d11965 | |||
82faefb339 | |||
250988d943 | |||
30f7031488 | |||
d27ef5bf6f | |||
e0e49c858b | |||
13ab1d7879 | |||
91e8c2a1d4 | |||
e2c6d9c7cb | |||
48bd857789 | |||
38107fa80e | |||
679f4fa465 | |||
72cc0467d7 | |||
0bf9afed7f | |||
e198880732 | |||
c6f0ed789b | |||
3dd9cfbdf5 | |||
2939ebd051 | |||
2461a09b44 | |||
d04835e1f7 | |||
3671597b94 | |||
99c84787b8 | |||
1eae39f4cd | |||
5a76c79791 | |||
ff6416f737 | |||
02750d0400 | |||
b22a435d22 | |||
9ce51c3585 | |||
0c39cd7dab | |||
a8772dbb1b | |||
64ed1f1f86 | |||
3f137169cb | |||
60c56be85f | |||
62fcffb247 | |||
d9ad49c250 | |||
5911096e06 | |||
b5376ff972 | |||
b04e2bae77 | |||
edc5af552a | |||
41ba01bb95 | |||
3f41d3269e | |||
4396358fd3 | |||
70fb5cb514 | |||
a76e647094 | |||
fbf874fb38 | |||
24e3d67004 | |||
0a1602217f | |||
26bb4aa1ad | |||
aaa3b57a44 | |||
a714848140 | |||
e3bb49e905 | |||
dd275f7a6c | |||
cb58810426 | |||
aa02363e68 | |||
bc5f51fa56 | |||
e874375394 | |||
a61e781e4b | |||
d23981998c | |||
e07f9ccc11 | |||
e4047354ec | |||
2d2cc0dcb9 | |||
d0975ff5d5 | |||
bf848ad4b2 | |||
8b4ca15d7e | |||
5d8f4badda | |||
3f0d64329c | |||
0a0182e13d | |||
f888c682f8 | |||
6ef863c5c4 | |||
3959aa6351 | |||
555f040772 | |||
d7fb6a90e1 | |||
796aeeba96 | |||
afd268a0cb | |||
e9f10ff38b | |||
d2794cea12 | |||
14643b33b0 | |||
3b9be63bd3 | |||
3c1c90bf61 | |||
ad68b07d45 | |||
35360a9e66 | |||
768cb760e1 | |||
2bfef8d856 | |||
967730f565 | |||
dcb26139ca | |||
1e1078d699 | |||
b54388df63 | |||
9ae922abf7 | |||
db3e4b943a | |||
8e9db4eed5 | |||
c2c38f5fde | |||
12ae850dfc | |||
e8b6b07bfc | |||
66c8062a00 | |||
bc89bc6680 | |||
5791123356 | |||
a000922e07 | |||
5f4ae427ed | |||
b31b033ccc | |||
253c356c2b | |||
6644d7c508 | |||
f6611a2ea8 | |||
c9a12f2402 | |||
413810e55f | |||
0e905801f8 | |||
68bacc2109 | |||
6eaffcdbb1 | |||
01b3c40bfe | |||
820b9c4676 | |||
f855b8bfee | |||
9034689ee7 | |||
fbcfb63b06 | |||
7b34e319f2 | |||
5bb6f9b794 | |||
0c12bdc9f8 | |||
37a977dde9 | |||
c78c46d433 | |||
d1da9570da | |||
9c19bf090e | |||
c47fc40022 | |||
5c259642c2 | |||
d4d4f08f54 | |||
ef6a65f02a | |||
e9fcc97697 | |||
4afdd693fa | |||
a30ad9faf9 | |||
718a3cba25 | |||
1c03da5f5a | |||
4e379a2374 | |||
f38fbbec2c | |||
640ec2581b | |||
9836b37793 | |||
297862561e | |||
c2cee06b4e | |||
6c08b1ff81 | |||
d2da870499 | |||
a0f8dc3bd5 | |||
9573c0ed3a | |||
ad6f87d612 | |||
cb70d836ed | |||
adb393bdd6 | |||
82130369a1 | |||
595eaccb23 | |||
4cf6605066 | |||
7da871ef49 | |||
90f54c9b8f | |||
ff556ca995 | |||
05ae8f2ff3 | |||
dcc0cc27f4 | |||
d1c1afdf57 | |||
291294d137 | |||
c7ca0f2e33 | |||
7af90247be | |||
ba358a70d7 | |||
fe74240adb | |||
c1e4c5aaa5 | |||
c45e0bedb2 | |||
d086e3d6e4 | |||
e7f43502b5 | |||
71b227d6eb | |||
76b4e414f3 | |||
0c3aaba956 | |||
f343ed42eb | |||
d4ba2b14ca | |||
5412a81485 | |||
07bf6ff781 | |||
7f22bc4659 | |||
7c6d673c26 | |||
2353cd9936 | |||
51254ee939 | |||
15539f1b50 | |||
680539ce8a | |||
9eaaf0d309 | |||
2526be8db3 | |||
5705b63a08 | |||
2d17ea4d50 | |||
425e73d3f5 | |||
ef90f07d06 | |||
6b0661d120 | |||
dacff81a66 | |||
a31d6cd5d0 | |||
302b1e508c | |||
f72c7b154d | |||
9cae17d028 | |||
59a8355e5f | |||
bf766832c5 | |||
e240f8761f | |||
d2fadda52a | |||
87e0b5b1d7 | |||
0c7a25069e | |||
4d794bd4ec | |||
fcc556f88e | |||
cc2fa98c58 | |||
0367c47eb0 | |||
8b17cb8a8c | |||
c3a9e53714 | |||
0cd81c325c | |||
abbb5b58ec | |||
3df6f41928 | |||
0c5885cd94 | |||
3d91b47b42 | |||
b40fdbaa64 | |||
8feb8669dd | |||
ff1ef8db4a | |||
4d9694e6bc | |||
64fb9fc53e | |||
78a6cae9be | |||
3a30cf951d | |||
3bfe46c2b0 | |||
d6606f1745 | |||
cfe15a2088 | |||
08d304f05b | |||
d7f45ea87b | |||
93b537f907 | |||
645b4d6efc | |||
4951fe1fb7 | |||
6deadeeeca | |||
5cb62f1aa3 | |||
d3e6574b66 | |||
670462c7c6 | |||
70a8c046c9 | |||
7c1ce19abd | |||
7227cef0d7 | |||
e0bff814da | |||
14886aec99 | |||
16fc6221b6 | |||
7cbeaff5de | |||
607a266acc | |||
45ce84113e | |||
ca1851dc1c | |||
ef353e03c2 | |||
36721a483b | |||
3394f4a8f6 | |||
ab088c9345 | |||
953a8762f8 | |||
f6a54d2229 | |||
1259da13e3 | |||
dc9abea4fc | |||
1de90868b7 | |||
bd4487c869 | |||
a45377e83e | |||
e5824ff2a9 | |||
1724b57729 | |||
5afeba30a3 | |||
4dc9e5b3c7 | |||
2a634ab560 | |||
a78ab4b0af | |||
fba1475f25 | |||
c003ea6d2b | |||
acd2218bc3 | |||
86b0609c28 | |||
1a368769b9 | |||
796ea820f2 | |||
63ffc1adc0 | |||
c0bd123408 | |||
c0f005a5d6 | |||
f1f9b3d5f5 | |||
89d8260e3f | |||
d6da4ef69e | |||
78e66ad63b | |||
3710e9972b | |||
c6e2552ce6 | |||
db16ac9578 | |||
968f140ecb | |||
c842c59b3e | |||
b2346a56f1 | |||
9990866fcf | |||
26f97f9532 | |||
50863daef8 | |||
0949e73906 | |||
6c3ece9c9e | |||
d4c55353e0 | |||
2970f45fe6 | |||
1399442289 | |||
a7c333362c | |||
94a03fff07 | |||
126162c38f | |||
4a48dbe60b | |||
15066ba8d4 | |||
a62b41819c | |||
56da0b79ad | |||
f10776781d | |||
ae9a84478f | |||
5020fe3449 | |||
880acbe2f4 | |||
f4d6e9085d | |||
f4b71734b2 | |||
38abbdab71 | |||
f576581954 | |||
c543a81736 | |||
f71d8c94ea | |||
7a63f48a54 | |||
21c431b81d | |||
e415df9b7f | |||
125206322d | |||
e06e43a83f | |||
e2e0a6b597 | |||
4bb63e81f2 | |||
ae90f2ebc5 | |||
38c83c90b3 | |||
0d6ad2638a | |||
6c2d99f618 | |||
b1e4a9a6c3 | |||
264ace99e8 | |||
0bebcdb165 | |||
16e815fcad | |||
e55d2e13e0 | |||
b5e7bd2a58 | |||
ee760b4be8 | |||
5706a542e0 | |||
f3c42825f3 | |||
4df35b6ec8 | |||
03aef28f16 | |||
bee4bb5f0d | |||
a834a6eede | |||
37231fb2fe | |||
a219edb409 | |||
f72349d832 | |||
dab8042257 | |||
e281606720 | |||
09fe826f87 | |||
ebd43ae8a3 | |||
72b8fd5a95 | |||
38bf496366 | |||
f67f2b0d4c | |||
efe57ebd40 | |||
ae364008a7 | |||
10129f81ac | |||
ffebd4970f | |||
9de5d8dd39 | |||
c42d875448 | |||
a82fb07a52 | |||
f42fca18cb | |||
ea5c31138b | |||
326a2c4794 | |||
3e97178871 | |||
697d6a81c2 | |||
dee834aafc | |||
ab0e0813b6 | |||
c0534435bf | |||
7a595124f5 | |||
941cd25b1b | |||
4c79aa5412 | |||
477647cef5 | |||
2fd1e47313 | |||
286c771657 | |||
61be50dafb | |||
98affb68f0 | |||
9af3de12f6 | |||
836a7f92d2 | |||
245a194efc | |||
96f26d15ee | |||
d3b6d84e11 | |||
d326e44959 | |||
3da6528c52 | |||
3606b932b6 | |||
6978a214f1 | |||
cf390d9e47 | |||
d1c9644158 | |||
08e9a4f812 | |||
da68c9d378 | |||
9f17fa33f9 | |||
1140b7cc72 | |||
c2f6f35b3a | |||
f0d9c1212c | |||
658d7c56b8 | |||
b3ffff87dd | |||
4012388736 | |||
81db2415eb | |||
97bc0398c4 | |||
bd9b044a96 | |||
9c120ef1d0 | |||
ce9d41fe2d | |||
e87b2a2d3d | |||
75ff7859cb | |||
a29e75482c | |||
80f3cbe787 | |||
35d94009fb | |||
0c9bc82d48 | |||
07958d3e86 | |||
fafeb190ae | |||
91feb06ece | |||
7b523a4be9 | |||
cdad2ce2b0 | |||
12315b52c4 | |||
4f5e8e030c | |||
eafca1f13a | |||
20c709daad | |||
0f73791606 | |||
6fa72c7f4c | |||
79449732c5 | |||
4ceac3085a | |||
c00be31183 | |||
7f7424c498 | |||
1427f12adf | |||
325f431a91 | |||
333652c5b2 | |||
5ef5873576 | |||
c9737c5ce9 | |||
c0982abf86 | |||
8fcefd3f6f | |||
28e2945ab1 | |||
e28eeb713d | |||
90fcffb416 | |||
dea4e0fe68 | |||
2876e4f49a | |||
ef8654554f | |||
7011fa1135 | |||
05df6ec844 | |||
a9a0b331c6 | |||
3673a16546 | |||
b0d87f753c | |||
e4cf38ed36 | |||
8f690dd762 | |||
273a9eb830 | |||
0c1f737fea | |||
6c411e6a39 | |||
42b06e6b5c | |||
afedc210ff | |||
ffa61b0f60 | |||
a767a14878 | |||
cbc609957f | |||
bf46ba5adb | |||
9abeb9c062 | |||
46ef536212 | |||
85610d8d86 | |||
74da5f1e74 | |||
374a8b865c | |||
4a4806fd56 | |||
7f1e6f2727 | |||
911f327398 | |||
b1fb8cebf8 | |||
425fdeb2f9 | |||
10f2faacea | |||
293a3e03dc | |||
fe9fc6feed | |||
ad3962a21b | |||
d642bb7f6a | |||
102a71c0d2 | |||
2d501aa0fd | |||
7adc2e23b5 | |||
bdc49b2de3 | |||
c2800a5a60 | |||
46f769d921 | |||
f7f1f1672f | |||
67772d27a6 | |||
6a93a45242 | |||
5ab146674c | |||
c38d927899 | |||
4ca7b26346 | |||
04613e9b94 | |||
16ae682cb9 | |||
6c3ad1341f | |||
4744c6ec1a | |||
bd0984d2a1 | |||
7028c0ec4a | |||
555c2d67a4 | |||
f33d2e4b1d | |||
9a2ccc4e71 | |||
4f96b064f2 | |||
16612c4835 | |||
6a68482bd6 | |||
f4be6f6d85 | |||
4e4e2d7ab1 | |||
780b04e639 | |||
c9686d22b1 | |||
f894fcc031 | |||
bc0032a8c2 | |||
a0b2510357 | |||
d94f8bbe9d | |||
e1ba1c03ab | |||
ebf1482627 | |||
56fd6419c3 | |||
e7821e8de0 | |||
2cf88c185a | |||
e48043b095 | |||
b05edb1fea | |||
cf0014b145 | |||
c65fba87b3 | |||
522174ba38 | |||
4aba7395b7 | |||
364aa76b9d | |||
212f48daf2 | |||
56791b2841 | |||
38d38479fa | |||
ff8d0e64a7 | |||
e186821952 | |||
1a7640dc62 | |||
f9080ce6d9 | |||
d453208623 | |||
9cc550eb8e | |||
a2c009bd94 | |||
5307f12e9c | |||
26e2afdd77 | |||
0df32c85ad | |||
f0227ee2a8 | |||
99204bbda6 | |||
5f08ef9639 | |||
800754fea3 | |||
f8ba8980fd | |||
ccbbb1bbd4 | |||
1897a3abd9 | |||
50eff1c083 | |||
58d2943c3a | |||
ea03d0047b | |||
1c8e8b259d | |||
f28e368d58 | |||
e74b0b6a5e | |||
6397e0ee41 | |||
4ceef0ecce | |||
ae546ecc27 | |||
6266c417a2 | |||
0e25580fe1 | |||
1ad9ff8156 | |||
8d46db20a3 | |||
b0e11503e7 | |||
1fb2e1eb42 | |||
5f12b7b214 | |||
5340abcd2f | |||
dd9edefa15 | |||
a3adb75b52 | |||
20cc942d9e | |||
fdf4d87eec | |||
591bb98a57 | |||
779eeb2fb5 | |||
6078fe2502 | |||
0e79274d33 | |||
2079589999 | |||
e1269a7f21 | |||
8031abfcc2 | |||
6260bf712a | |||
7a474a5bb7 | |||
821311e23e | |||
40d2c04937 | |||
049e994fa8 | |||
76643f0dfb | |||
9ed8e38366 | |||
215ff5d950 | |||
a398be9831 | |||
093ac93032 | |||
5c4783c205 | |||
aa1b67de29 | |||
4969b4d955 | |||
31c96fe509 | |||
683b294d3f | |||
42e61fbb32 | |||
7bf3d0cbd8 | |||
e3cf008d88 | |||
75a29bc92c | |||
ccc81c0aa4 | |||
1380daa626 | |||
50ba6dfec8 | |||
86f0df4ca2 | |||
a90acbd6dd | |||
298b35923d | |||
8407c3464c | |||
06a892240d | |||
a2bf94d4c1 | |||
35730389ef | |||
d47946e750 | |||
34960d472b | |||
34ac8c614d | |||
bf141981a8 | |||
5cd979efb5 | |||
84428f72d0 | |||
6296211607 | |||
d19d27ac3f | |||
cd807213d8 | |||
bb127db428 | |||
850728b867 | |||
90ca4aed31 | |||
184d5d0429 | |||
28d15507f4 | |||
535ec536ea | |||
b4f4477e2a | |||
94594608be | |||
4dcee4f21d | |||
80f95b5214 | |||
7e45bb1a12 | |||
f55e82c393 | |||
90b1dc1891 | |||
5e44322532 | |||
e58027cc38 | |||
cbeeec123c | |||
a4c0e60725 | |||
a472c54a63 | |||
b20aa094cc | |||
4095291808 | |||
89356d142b | |||
48e7d49020 | |||
5b314e0e11 | |||
889fa6093d | |||
8337e686a6 | |||
ecc459301f | |||
2306ee36f0 | |||
bee831e958 | |||
8edbba4cc4 | |||
615cdfcdb9 | |||
116b144930 | |||
a96482acd3 | |||
b0be267c44 | |||
29faa8a5a2 | |||
c54e22c589 | |||
d56d2a86ed | |||
39e029768b | |||
8b98f8bf07 | |||
6a73b2466f | |||
869e90a3d4 | |||
c1b98a43ae | |||
4c66daaadd | |||
845488d232 | |||
63df43d715 | |||
48ae111ca8 | |||
3d469fad97 | |||
e5cf666b9a | |||
2ef4b7ed18 | |||
4757a7ea33 | |||
ab7006e4c4 | |||
91df11242d | |||
9cdc72a3d8 | |||
058048c00c | |||
b28a035ea0 | |||
49a96a9463 | |||
6db0f04fa2 | |||
277334e9f2 | |||
6c6eb652d5 | |||
46c5f8f1d6 | |||
77b36abcf6 | |||
6d44437ec1 | |||
bd5b4aa683 | |||
b7b5115360 | |||
72d94026ce | |||
90f9cbbfc4 | |||
5faee2ed0f | |||
2eb100dd12 | |||
593941b600 | |||
46e109f274 | |||
64246480a6 | |||
d96f3a25b4 | |||
e2b8f30bee | |||
6cf79d9d14 | |||
1fc92dee52 | |||
5e8af51d1e | |||
8202fc42d4 | |||
2c59a3884d | |||
36aab93072 | |||
5140dd263b | |||
f4e6466924 | |||
7110235902 | |||
b4fe8c5948 | |||
627c8443a3 | |||
7181cd28f2 | |||
e42634b059 | |||
fe2d0ec029 | |||
84532dae14 | |||
1f88a71aa8 | |||
5eb5f863b5 | |||
c2d0a494a3 | |||
efebedd3fb | |||
e8c6586163 | |||
e9b71d91c2 | |||
467eb569c0 | |||
7bbde76014 | |||
fd63e11f71 | |||
8d8a98650b | |||
287a944d0b | |||
8557613617 | |||
4671983401 | |||
f4a992cca7 | |||
a95cd265bd | |||
859ecdf517 | |||
e708468df9 | |||
a26b7a7a55 | |||
81d4c80a81 | |||
8d546b7ee3 | |||
886e838c43 | |||
81638b546e | |||
eb7d91bf89 | |||
c5575f8eef | |||
25c8b4a4c4 | |||
e82075cfbc | |||
f41a246dcf | |||
fc726b9ea0 | |||
da3ef13d27 | |||
c286304796 | |||
1fdda3e9d2 | |||
44985ae757 | |||
1a4496e79f | |||
6aa0708bd9 | |||
229e6bc95f | |||
f88b90f6a9 | |||
62aa2bb784 | |||
766e481adb | |||
8b7600058f | |||
b7f056307d | |||
aa9ad05449 | |||
85e733f0ef | |||
ad38ac0182 | |||
afa750bf57 | |||
d0911e94dd | |||
f5658cf1a5 | |||
029a4a0b88 | |||
35cee38c71 | |||
96c4882d25 | |||
916cd50edc | |||
3acf97928c | |||
c2c75ab44f | |||
eb64411305 | |||
26a49b1785 | |||
c112fe408d | |||
e277d0807f | |||
5e3854ae7b | |||
8e1a767c9c | |||
b33816e171 | |||
112e9baddf | |||
ab5cac2c79 | |||
60d0a30497 | |||
ce710ccb47 | |||
e3a21bb749 | |||
5f12455b8a | |||
6649b1750e | |||
b99137bf70 | |||
a6aaef77f4 | |||
7b615f8eeb | |||
c7e2e485b3 | |||
9e9702188b | |||
f117266986 | |||
a030dd6146 | |||
3502566261 | |||
d9f5d90ada | |||
d00febc99b | |||
957857de6a | |||
92db5d734c | |||
a91d931114 | |||
30fba61502 | |||
1393831856 | |||
fe2ac34d95 | |||
024b2bd2ed | |||
cfed6263ab | |||
01a4dde265 | |||
888f303037 | |||
26a77eb4d1 | |||
9f0266c599 | |||
9ed1751676 | |||
12b809bf00 | |||
c958f84d40 | |||
a6274992ff | |||
6ced764da9 | |||
f892d5b7a8 | |||
e6a8129dcb | |||
eaef059dda | |||
65bbdd696d | |||
dfe253b497 | |||
51d0be751c | |||
09f767dc27 | |||
2709cff57d | |||
f9948a4d39 | |||
5586c79978 | |||
6efc4aa4af | |||
72f1e62bbb | |||
04096b9773 | |||
684a4f21bb | |||
423945876d | |||
65af8bbe72 | |||
1de2dd25f7 | |||
3fe6c03a39 | |||
6239e1b252 | |||
eaf87a9d60 | |||
dc0e066406 | |||
2909b487a2 | |||
4b027690b6 | |||
99c4a29cdc | |||
5d933c483f | |||
923b16fbba | |||
2651d99133 | |||
e895b2aa9d | |||
d37aeb1bcb | |||
310edec617 | |||
a74eb4f6e8 | |||
b4d3a14360 | |||
8f4098bb3d | |||
7b378b1469 | |||
1b3462749b | |||
28a16d960c | |||
349f13071d | |||
cd8267b69c | |||
dae7d81a3c | |||
d70f481891 | |||
cc50770cd0 | |||
d1fc832c52 | |||
fcb4f2d77e | |||
93ca873f20 | |||
1f84b2c025 | |||
14bb6f5dab | |||
f496286bdc | |||
f05bd8830d | |||
e4859b7406 | |||
5d91bdd312 | |||
4a35940137 | |||
6f3fd6358f | |||
6813d561b2 | |||
7c6081e02b | |||
c2310a16ad | |||
c35659d930 | |||
b8461aab52 | |||
b9c22e0965 | |||
bf42db6eb7 | |||
ae20d4c78f | |||
9c348a7b7e | |||
7517c39c9e | |||
15fc6cf3c6 | |||
de374e5028 | |||
7266c5ec84 | |||
ff236ef832 | |||
83eb22e3b1 | |||
c33dbc3a40 | |||
50528281fb | |||
be2e2bbba5 | |||
e8982d1be8 | |||
ab11f46219 | |||
bbfb18c410 | |||
085649440b | |||
481661e313 | |||
dac446165e | |||
fd2982ec8a | |||
ce5813fdc5 | |||
fd078d85d0 | |||
e582e710b8 | |||
0032bfa5c5 | |||
b5b1c5a7da | |||
f363ad4acf | |||
db3337d929 | |||
73ed5991bc | |||
ced18c6777 | |||
d94c935910 | |||
e5221a26d9 | |||
91472fe535 | |||
f04a912818 | |||
79f28249cd | |||
a11eca149a | |||
f3c84024b1 | |||
f8df08213d | |||
30bfcaba39 | |||
0dcdb217cf | |||
621ae7c701 | |||
0d753e5108 | |||
b4481e0bd4 | |||
54598a6ba5 | |||
1693f6e09a | |||
ba1091a0e6 | |||
dd6c7331ac | |||
f032221bd1 | |||
4b53474d23 | |||
c375feecc5 | |||
b26e613bed | |||
aed85c0757 | |||
611b5e2bb2 | |||
a55f4065c8 | |||
be2858e22e | |||
20b2d8a52c | |||
1f4e78f651 | |||
5bdc7c8850 | |||
2d45322639 | |||
2bc7a6b3d2 | |||
887b779c11 | |||
19f1e9104a | |||
3533808a6d | |||
ba936ce5db | |||
c398a204b4 | |||
1d19432e1e | |||
52889c9c9f | |||
b69d1dea47 | |||
5d797a6b54 | |||
c47155da3a | |||
3412d28b45 | |||
d59c950379 | |||
8d268e9bda | |||
2e0b5c4007 | |||
e929a75fbe | |||
778380ac74 | |||
11f966df23 | |||
58966086cd | |||
091dfa1ca0 | |||
d87af79ace | |||
30c6ca9838 | |||
9413f4ef1b | |||
42df9af4c4 | |||
e44dad3096 | |||
5ff1808f20 | |||
7d41491e76 | |||
ab91407735 | |||
2b59fa7a8e | |||
ed52488b59 | |||
5d805f64f9 | |||
111bc431ce | |||
a724077b79 | |||
69bd94ca22 | |||
278b002348 | |||
cd36347d83 | |||
bcf2f34dd5 | |||
4610bbc7d0 | |||
e7f449386f | |||
a56fffd645 | |||
c5f3c01b80 | |||
5b32be2db6 | |||
d9bac169ba | |||
dc60073e82 | |||
61615e95e2 | |||
d0bf247506 | |||
cc43ec8b1a | |||
86d8ac7a5f | |||
e7aa4541d4 | |||
bc071feec1 | |||
83d795c45b | |||
21d7c477a4 | |||
657f7db769 | |||
6b1b9ad835 | |||
301b09b3e6 | |||
49759f6025 | |||
27c51a0723 | |||
93078ba1ae | |||
711b6c5c2d | |||
6b74434414 | |||
954df3d6bf | |||
c8f926adda | |||
77fb9a0bb2 | |||
e1028d5ee3 | |||
8316db207d | |||
a3ce81d28b | |||
b382b890f8 | |||
02d9c85e75 | |||
5fa51f8114 | |||
90afa3c28c | |||
2dc73aa4a7 | |||
e78fd115e6 | |||
312fb716d0 | |||
d37a419a7d | |||
3888292fd0 | |||
2c36b1b667 | |||
b90e6fdd25 | |||
ad5b8b8ef9 | |||
327c04a6a5 | |||
d5811378dc | |||
6fcee7533c | |||
891d53665b | |||
c66733a106 | |||
8d853c55ef | |||
923a403dcf | |||
c0c477741d | |||
191a8d7d2e | |||
d7df383342 | |||
81d5a25fbb | |||
719fbe78f6 | |||
d3e645632a | |||
5f80e7c764 | |||
35a4bfa9ce | |||
1473fc75eb | |||
87f20739bb | |||
b2a1480191 | |||
4080e08c09 | |||
fe84dbb18f | |||
a81a54e79c | |||
d8163ede51 | |||
b11f7e2b6b | |||
723fcb7bf6 | |||
ac330b3714 | |||
25fc070e35 | |||
39a37bcdbe | |||
05172526be | |||
b33623355e | |||
ae02727c32 | |||
c822b9519e | |||
a5714574fd | |||
441bc06905 | |||
637470c438 | |||
93a6c39b86 | |||
df368d5dfe | |||
d019bfc2d1 | |||
8d7d3e5f0f | |||
cd1f8c5c5b | |||
266dfc95c4 | |||
ad82106eb9 | |||
9bd9362ae6 | |||
095e2a7835 | |||
0e2510f616 | |||
ad08265740 | |||
baf922c798 | |||
16ab9bdcd5 | |||
83c9b3a599 | |||
c18ee230dd | |||
54be00a072 | |||
ebf8a41b05 | |||
8de2d591e2 | |||
d0bd012b5e | |||
9bf716ede0 | |||
eaf5ff3607 | |||
e7f3e6a055 | |||
13bf4dde29 | |||
bcc74afa73 | |||
adc9e63c59 | |||
eb32a85ade | |||
5142ab4193 | |||
71a0bb57d7 | |||
1f19ef54e4 | |||
f9d7dc7ed3 | |||
c8fc542e1b | |||
673e6d1c67 | |||
5385b4daa8 | |||
85ebab8541 | |||
c6d7166942 | |||
458708fc30 | |||
d5d25558bc | |||
adda399234 | |||
9f7e9cbc26 | |||
716320b726 | |||
4572727547 | |||
909f2d04a0 | |||
b6f6e01bcb | |||
6cf47f524a | |||
8f6c896167 | |||
627bc558ec | |||
eb07e4c957 | |||
f3c4f29ddd | |||
09a32863da | |||
155ae1bd1c | |||
866c182f87 | |||
5310d52522 | |||
b412638c5a | |||
e026035391 | |||
55f5410fcd | |||
e2b5fee3b0 | |||
0c6c0dac50 | |||
cf1996def8 | |||
698ee274c0 | |||
b0e3b6a8d1 | |||
0baf758189 | |||
b2513faab2 | |||
563a6cc6f2 | |||
bde3c56d2c | |||
0c78fffa54 | |||
64be788420 | |||
3c8dc63457 | |||
7c1eda0cbc | |||
c29df438c4 | |||
0e5b713d32 | |||
a7a49e64c8 | |||
ecd1bf5785 | |||
c6f241aa09 | |||
cc1a9b5c15 | |||
6108321c33 | |||
29f3a88d9f | |||
04c71deceb | |||
72c0b54efb | |||
582829d9ac | |||
09cc8f6677 | |||
d220fc50ca | |||
56dd9f038a | |||
a5a862b397 | |||
3c0ecd57c1 | |||
43a3aa0cf4 | |||
eb94a4a6de | |||
5889f02032 | |||
257eb1354e | |||
55c98c368c | |||
ca33b74acf | |||
da0acc6195 | |||
e72dc3d46a | |||
503d93d870 | |||
18141d8c51 | |||
3ecf50bd7a | |||
d78af11f72 | |||
eef442d0c1 | |||
59c9327cbd | |||
953f2adb18 | |||
90ac882a32 | |||
c2cf3946c9 | |||
cb4bb393b5 | |||
3198848dfa | |||
9b73c2b2f4 | |||
70a815a1e0 | |||
6db97a31ef | |||
2cdcc254c8 | |||
0834d86c1f | |||
8d35428331 | |||
f934fae032 | |||
3fc0190bbc | |||
946d73490a | |||
4b8b2a0f0b | |||
763db46ccd | |||
f2be7d6056 | |||
163dfe68f6 | |||
9fe70ed197 | |||
9e34060d52 | |||
f41da47d34 | |||
d45e70c124 | |||
470ca5714f | |||
1b9ae18726 | |||
12441dce06 | |||
234e7ecb29 | |||
e4bc55b843 | |||
6ac8a9f826 | |||
b06d847ea9 | |||
c25aa5b47e | |||
530624de21 | |||
8239d076bf | |||
e8cd480046 | |||
8ca68cf2ae | |||
bc35bed18e | |||
c0308eb860 | |||
c7fd6f2f47 | |||
8326fc0164 | |||
583a54654a | |||
5d74ccf1c3 | |||
37d14cfd30 | |||
35041339dc | |||
b5d56f9118 | |||
024e0afa8f | |||
d0ef3a46d9 | |||
12fc21b1cf | |||
94aa18f527 | |||
78ec750610 | |||
4cec1a2770 | |||
c1adf40e11 | |||
941db0e55c | |||
5d71994c02 | |||
7a8c68ad97 | |||
a23d0b6634 | |||
e9211729a4 | |||
29924b24fa | |||
6672dff088 | |||
863efe4545 | |||
bc04997f75 | |||
fbc46a3bfb | |||
ffd80fd2b7 | |||
0f80767ee1 | |||
f80e6d6f56 | |||
df566ae428 | |||
b93a9a282f | |||
75196bf6bb | |||
6c0ff7a7f1 | |||
298150d9eb | |||
21813c3577 | |||
e8fd7a42e0 | |||
d828482c9b | |||
c72df501a1 | |||
5f524809e9 | |||
dd6e5ba724 | |||
7ef6357924 | |||
4a198b578a | |||
ba9b476d1b | |||
0b39a5a23a | |||
cf35fd3748 | |||
c2f85c6aaf | |||
c44fe41046 | |||
0d9365e7ed | |||
5384da40b2 | |||
2a174f16d9 | |||
265cc9ca8b | |||
11d65f9f03 | |||
04d8cc3514 | |||
6a01ac2504 | |||
6c887544bb | |||
67d97a2705 | |||
72cfaf05bf | |||
2597dc10d6 | |||
471dca7b10 | |||
719d85bf56 | |||
340cb9ae2c | |||
fc009cb31a | |||
eef34ef2ee | |||
a4422b84fd | |||
aca017a8bb | |||
c5ac6d9ec5 | |||
ce227fe02d | |||
2e17d7b894 | |||
d678f65564 | |||
b8c2fcca73 | |||
afa6c41a80 | |||
ee00ad3513 | |||
2b902ebf95 | |||
7f4d53a21c | |||
5b53d3e233 | |||
48d064bf9b | |||
98a413257c | |||
8e0d1936a2 | |||
df060bc362 | |||
df520855ca | |||
1ebcb2ab62 | |||
0f93a7b781 | |||
4db34f6823 | |||
ac522f1cd7 | |||
de3859d538 | |||
403fa86924 | |||
98fb72fa3f | |||
3136424e48 | |||
ee3d09b48e | |||
75be324524 | |||
8905ecbcfa | |||
924546be17 | |||
2c03ffc8df | |||
9cddae151a | |||
ac90f593f8 | |||
ac44f87465 | |||
5b44e7dce3 | |||
4c426262d7 | |||
32ca3ac9ab | |||
ca3aa52cf8 | |||
ca0606e04f | |||
e279d90d4d | |||
474781b270 | |||
a2d83c68a3 | |||
7db7ee984c | |||
b9d94ecd78 | |||
ce79ceec86 | |||
16f2c5082c | |||
4c569b52f6 | |||
9b6a3a0370 | |||
a1509d4545 | |||
7aeb1e627c | |||
0eb3216489 | |||
6eb5253451 | |||
3b28ab098e | |||
22618d9f07 | |||
b3af9f8d2e | |||
589ac69850 | |||
9adf4a6656 | |||
8c892070e9 | |||
2f04e03e06 | |||
6668ae3677 | |||
f070253659 | |||
5a2feeda39 | |||
8baa9dfe1e | |||
3c3d2cf77f | |||
9bf4293c3f | |||
25429c06c3 | |||
39b53d9622 | |||
eeaf569257 | |||
0b707b9180 | |||
9a98fc9d1d | |||
f66e781336 | |||
a754aa6d29 | |||
12184db008 | |||
1cfb599992 | |||
eac687cc36 | |||
8c4c572bc6 | |||
e8fc8f31b4 | |||
35e1fca8f2 | |||
e85b6de804 | |||
dee281d03f | |||
4df5779ba9 | |||
97582de448 | |||
1b7dac1bd0 | |||
7ce0236941 | |||
6eca3b7b81 | |||
3d0e10f230 | |||
75178071fb | |||
b90aba43c1 | |||
ab1d1a0279 | |||
8dd1a54f09 | |||
3ee18cefa3 | |||
9e57ed642d | |||
c049c80eb1 | |||
b01b476546 | |||
cd1257a135 | |||
7a6b2ef25e | |||
2eb3ec7563 | |||
88c5f90275 | |||
ce0fad5e39 | |||
ce291b4327 | |||
ca74a8f430 | |||
51c9e3639f | |||
819afd8b95 | |||
0f306e8883 | |||
1412ffab19 | |||
061a93f93d | |||
430f0b4455 | |||
0f88f6ff92 | |||
6e85862a74 | |||
1158f712dc | |||
a8e9dbae65 | |||
ec4cc8b2ac | |||
cc80a9ac8e | |||
fdde4cd153 | |||
3ba59dc891 | |||
5055d88f40 | |||
86c50e11ce | |||
cd67657dea | |||
881df06124 | |||
19a2b84944 | |||
ad5307e46c | |||
69cb69f35f | |||
a736f48088 | |||
21863e33c8 | |||
339f0e7e14 | |||
aefcab7ff6 | |||
d3a03140dd | |||
0a44e8f8a1 | |||
e0758cb4f2 | |||
c775abba98 | |||
75f927601e | |||
21c70b1d0b | |||
73193cf7b7 | |||
f72568cad3 | |||
750200020a | |||
67798cfd80 | |||
61f44127f0 | |||
fca58334c8 | |||
ce63dc4daa | |||
5dd7602d20 | |||
dfa8229d03 | |||
4aec58dce7 | |||
cc01da50b7 | |||
3af732ada0 | |||
6f3c9018c6 | |||
b29f9d471b | |||
a98d302fe9 | |||
9ba36abdc5 | |||
be60a0ddb0 | |||
b95369c914 | |||
d5dca21a95 | |||
d373d5d92f | |||
e6dd5dc4ea | |||
d5b51beb79 | |||
81d367feee | |||
1b8159b3a1 | |||
8d4e67da20 | |||
c78521b376 | |||
f3c0adc69a | |||
e836a43713 | |||
870cbb91ed | |||
8005642936 | |||
3b5a47b096 | |||
82f4ca468d | |||
94f94f8fb3 | |||
dbb4e4b241 | |||
8993e67f0a | |||
a4a1e6a9b1 | |||
aec071661c | |||
87685c5857 | |||
f427e8028c | |||
647a7bb777 | |||
f7100eb1c9 | |||
5f235b0a3f | |||
ea192f86c9 | |||
a1b5a6295c | |||
f1e8e7f148 | |||
1ce645347c | |||
9941e5a5e6 | |||
000138e6c1 | |||
577e146895 | |||
82e2f3229e | |||
ae4f0ceb88 | |||
bb0af23868 | |||
b97f953fcc | |||
d1d6479ddf | |||
5ce2751d6d | |||
e84c3f1898 | |||
64077de176 | |||
a83a58fe62 | |||
2ecf1561b4 | |||
63e34c4d34 | |||
df5062215f | |||
825693a3d5 | |||
92637df79a | |||
7d3e57d7a3 | |||
7b8d11b186 | |||
c06aa3ac22 | |||
48d6717573 | |||
6da003c910 | |||
e0d9bf7731 | |||
1e1d490ff8 | |||
dc970fc039 | |||
f1093af1f6 | |||
65deb24a8e | |||
b04148aa56 | |||
040d7646bc | |||
07ad2d9439 | |||
799742af3d | |||
dd405bc018 | |||
afab34c372 | |||
275ade9539 | |||
a0112c12c8 | |||
e4a6edf599 | |||
679c37aa8d | |||
299558874c | |||
8916a8d802 | |||
73e0f18b35 | |||
2c7080692a | |||
72240430cf | |||
a24472a7f8 | |||
71b918d882 | |||
4f51c94099 | |||
cb457aca41 | |||
acbf1541ee | |||
bf1f1df41b | |||
bb0ecd49f2 | |||
2e3d1db7ec | |||
1ff60178a9 | |||
b3d24d3360 | |||
1b12d785da | |||
801aa96879 | |||
2837cf8182 | |||
6386cc9973 | |||
06bc2c8498 | |||
862064cc67 | |||
c75c8c15b9 | |||
bad21a4bd2 | |||
1b46e76df9 | |||
e3f7ef2286 | |||
2927a66dc9 | |||
7830e3a836 | |||
2d0346a521 | |||
82af7491c2 | |||
5183abd312 | |||
c0a6a0efc4 | |||
ceb2fbb920 | |||
78ab06ace9 | |||
53ea1d44f0 | |||
8585eabc5d | |||
4dcac13043 | |||
1be296c1e7 | |||
16da569df9 | |||
91a1276d53 | |||
82225b81f8 | |||
989c7c4f8b | |||
f1cf5ee893 | |||
7cf3787a53 | |||
46e6a5883e | |||
ced76f732f | |||
7b6a397eec | |||
4add9923c0 | |||
f48eecbbe0 | |||
2828fee7e0 | |||
3f1b70640a | |||
3acc515bef | |||
c4ca2f6396 | |||
f16a5ec871 | |||
4715c6219c | |||
69569e5306 | |||
9c7122f1e8 | |||
91c38c8c8d | |||
0f7e086229 | |||
8e885a57b1 | |||
43b2212d13 | |||
bf7505519c | |||
ae47803721 | |||
251d40596c | |||
9d4fda8579 | |||
e9e031672c | |||
3d439ffeef | |||
f8ece9113a | |||
af42906efa | |||
250356c0c1 | |||
07375cb384 | |||
543b32f60d | |||
e46cd138ff | |||
2555bd410b | |||
6db9dccc57 | |||
84a156c77e | |||
4676279151 | |||
ec5a5d7abf | |||
0fc87e31e0 | |||
595b940ef0 | |||
440893df3c | |||
61cef57e62 | |||
d5ab163086 | |||
590eb2bb9c | |||
681a59d5c3 | |||
270e25594f | |||
f96aa7a687 | |||
6142a989a1 | |||
5aa511931f | |||
6c1bdc8939 | |||
ae6a3e83ca | |||
f2c9813656 | |||
b7eec4a844 | |||
88eb167868 | |||
d109354c0f | |||
95761c573a | |||
e3c03d7f33 | |||
54a2a0ad45 | |||
c6ed254835 | |||
e53cbfdbf4 | |||
6615c2d08c | |||
4ceaf46423 | |||
c439e07936 | |||
6edaa21698 | |||
3ac1f21c7a | |||
af343cff76 | |||
0a71934585 | |||
d7461f1e4b | |||
8a6053b2bf | |||
adcf7827bd | |||
e85e7af6d0 | |||
c4d110afde | |||
e5a1fc788f | |||
d19cc1119f | |||
a932a471cc | |||
048870ae2c | |||
adface7ace | |||
bb87552c98 | |||
4693f3dfe9 | |||
2efcafa7b0 | |||
028b94b765 | |||
4d06ff0faa | |||
2aeb2a1561 | |||
bc7b63fa6b | |||
3476410039 | |||
418d37e689 | |||
912a2353d2 | |||
56adcc8fb7 | |||
f294378622 | |||
f09b39bf88 | |||
ca4e6aa3ad | |||
db28040ee1 | |||
f702705c04 | |||
43e993b3b0 | |||
35e27b34f5 | |||
9942af2b5b | |||
3ba21804ff | |||
e92a982558 | |||
e19d0efb5e | |||
16fe5e1511 | |||
6f5a6581a6 | |||
de62f55507 | |||
f004a72af0 | |||
fa4581fdf3 | |||
8b35851e4c | |||
421ce56f83 | |||
2033afa682 | |||
a6b60ebedb | |||
5bb7dc4e05 | |||
d9b714dada | |||
cf6e4570db | |||
844dcb3725 | |||
c7cfe0ba54 | |||
3657187789 | |||
b2287718ef | |||
3ab408c698 | |||
c76c59aa6a | |||
5124c131ba | |||
3b1a9944aa | |||
7b45920804 | |||
917785a3bb | |||
9ce8cb1629 | |||
58ff2acb7e | |||
856b579fe5 | |||
ceca5dedbc | |||
34237863ff | |||
9479037f38 | |||
bf487e46d7 | |||
b554b7c51f | |||
fff1b2f547 | |||
a37701afa3 | |||
b977c1ade3 | |||
d62a5012d6 | |||
ca01baa065 | |||
631cd29efb | |||
35b99c64e6 | |||
c6dab80b1c | |||
808692b4f4 | |||
a8dac049b1 | |||
82eaa21945 | |||
25d2452388 | |||
c0e82e705d | |||
9fdd2b264b | |||
a96e9cb0b4 | |||
4b3ad7d677 | |||
58ec51cc0a | |||
bed1b602d0 | |||
508dc163f1 | |||
f1ade489c8 | |||
8bc5fa9f0a | |||
2ffd1bff2f | |||
9d05cf11b5 | |||
8e035e3c13 | |||
c839b37049 | |||
5f406d9cb3 | |||
7ade3435df | |||
9c098e27db | |||
ed042a9687 | |||
43607e4751 | |||
f9bb1b46a2 | |||
664c58ab95 | |||
61005c8eb5 | |||
e9ee919fac | |||
81bcce9c8d | |||
c657ab9750 | |||
b59980b54e | |||
ef16df2782 | |||
bdba51208a | |||
3360862687 | |||
324cea9d1b | |||
46bee3f48c | |||
8790b9a083 | |||
56731154a6 | |||
bee9d6028e | |||
53435eac51 | |||
fe58977e6f | |||
5a3b07d168 | |||
1c43d92efc | |||
70d0795df9 | |||
9e23d017f5 | |||
b34950e68a | |||
63e98fc209 | |||
d3230b5f70 | |||
43fd040226 | |||
fa6d31f999 | |||
bf4a8d6372 | |||
483880e225 | |||
d6b34b39f8 | |||
f585c6eeea | |||
c44ffc3084 | |||
c05aa26a1f | |||
a4a160611d | |||
fc3576ab06 | |||
6cd4d32039 | |||
d7f592deef | |||
89316b6c6f | |||
5cb24d4522 | |||
e273a02d25 | |||
181fce25d9 | |||
57e55148f4 | |||
8f9ee36c53 | |||
e243a60efe | |||
8a85a84fac | |||
b8bba6519e | |||
36572cade4 | |||
adeac8d4f7 | |||
6464c2aa4f | |||
f22f408956 | |||
cd85aac434 | |||
50b92f9a82 | |||
9bf9adae13 | |||
7ff3f31cd1 | |||
bb0c404e6e | |||
f7e8adac7b | |||
064ca18463 | |||
45c46b6c39 | |||
b4a09c03f7 | |||
b5a8586fe4 | |||
9d5c94ac7a | |||
72bdda2582 | |||
62b9ed27ea | |||
4dce0990f9 | |||
890d4fbea6 | |||
6da7fa26b0 | |||
cd96fed5dc | |||
0007fa96a1 | |||
b03cadf84b | |||
c0983c9e9b | |||
6f1cb40ee6 | |||
a8b419b37b | |||
2ecb0ed266 | |||
506b4c9093 | |||
da63f09b80 | |||
d5b0000856 | |||
a9be096fa7 | |||
6ce71e3bb1 | |||
4ce48b3a37 | |||
6662fe60e1 | |||
7c21c20821 | |||
7abdb6560a | |||
8c3a8df102 | |||
3694cc737a | |||
ab090a11ee | |||
6cd4cfa30d | |||
6c7e945ab2 | |||
93632a9f1f | |||
194f0eb59c | |||
e633804375 | |||
3b374bebac | |||
5dea316250 | |||
1369544b3f | |||
7bfee2d70f | |||
c3a5c0558d | |||
1a5d4120e6 | |||
d41a5ae489 | |||
aff42bc6a4 | |||
0865b4fc09 | |||
0a5837e9f1 | |||
1687c243f5 | |||
f2801f455c | |||
09635f418b | |||
f100e204ec | |||
cc7538475e | |||
5e8c906cab | |||
481c52ddd5 | |||
99a48bc824 | |||
64c9c6d54c | |||
cebf1e8c46 | |||
6adbfa79aa | |||
6e0dd4e4ff | |||
24e14f9437 | |||
ec5ddcd17c | |||
8ea7b31385 | |||
670f4ca471 | |||
2f135a9a69 | |||
fd977f2f11 | |||
54b03569c3 | |||
42583de6b8 | |||
95d4ee8168 | |||
ea668d74f3 | |||
d6d87767cb | |||
232222727d | |||
d21b463fb0 | |||
44a4c0a58d | |||
ee55d71c96 | |||
773ecfe11d | |||
3a1e1f07df | |||
69984cf733 | |||
0185489c0d | |||
f8b237b28d | |||
8b60afe1b0 | |||
e76aac6977 | |||
bab5d5008b | |||
6a103907f1 | |||
50c099fe15 | |||
99aecad387 | |||
bb4669c29f | |||
46b642f86c | |||
4ccbd49617 | |||
c60c324d71 | |||
cb510070c5 | |||
d873fa8a8e | |||
8a6907c592 | |||
e380a43803 | |||
12d31b2764 | |||
621ed4c06c | |||
8c082e5fef | |||
bd503978d4 | |||
633560568d | |||
4291c82ac0 | |||
e58e6f2adf | |||
095f97b58f | |||
193ee64d52 | |||
bda86bd497 | |||
5f2141519b | |||
69a957f85c | |||
21e4bd4e8c | |||
f2c259cf2a | |||
56126604e0 | |||
ff82accadb | |||
36941bd672 | |||
0e7c519546 | |||
8bbff1f554 | |||
fefc2ea4c4 | |||
9bb8aac53e | |||
33dddc46d0 | |||
c57d303f9c | |||
0faba3cf23 | |||
358c84a5a8 | |||
c538ce12ae | |||
c1536adcf4 | |||
2eae410c54 | |||
0a31d5e7f5 | |||
9418e33aef | |||
f6d46f3bac | |||
d4e19bfaba | |||
57bc814ea1 | |||
dac1f66c6c | |||
8bca2b18bc | |||
b10afbd2e2 | |||
e4aa07e2bd | |||
5fd0341fcc | |||
bcf42fb7b1 | |||
e322772355 | |||
0197edfc5d | |||
2b45ba089b | |||
4446343adb | |||
361bb53aa2 | |||
ddbc771524 | |||
30701763e3 | |||
ed5c7ac031 | |||
857c0cc332 | |||
9c414b5685 | |||
dca081b5e6 | |||
85c9dda1c4 | |||
89a5f0f586 | |||
ecc5a2f147 | |||
d742b5e40c | |||
c545baaf47 | |||
5c2594e179 | |||
8c9a89de99 | |||
d614e85418 | |||
aa7eb08dc8 | |||
97fc054979 | |||
5d084ddb87 | |||
ec225f01b1 | |||
a4480010a4 | |||
fab518ba54 | |||
117823e76f | |||
3b46333b39 | |||
038ed9eb7d | |||
1532d1c407 | |||
17c89018a5 | |||
c1328a6dba | |||
91260932e0 | |||
2ec084fffd | |||
dbdd528ffd | |||
1708a2fcc9 | |||
a15dea9ab2 | |||
f8986a94b1 | |||
f8ceb882b9 | |||
d9cf794df4 | |||
74fdd1a5b2 | |||
ae7e793a20 | |||
02e534d8b2 | |||
6a2a5142d5 | |||
3eeefba6a0 | |||
1515a48cff | |||
1109246cd1 | |||
17cb5becca | |||
80ff868020 | |||
06eecfea96 | |||
dfb6a0b1a3 | |||
ef5eb967ec | |||
3838edeac6 | |||
8a18bd8500 | |||
50134eccbd | |||
5b81b88902 | |||
49a2109324 | |||
1fcfe3d96a | |||
6f910e24b6 | |||
54a3417254 | |||
09a6d633ae | |||
a5061f8f57 | |||
47ad2ae3f9 | |||
4e2798e45c | |||
dc32051bb4 | |||
ab0bcaf732 | |||
2d2d61c7e1 | |||
b50b6a5fa7 | |||
ed8d777cec | |||
d023909b01 | |||
6ccb252918 | |||
d1fca8f7f7 | |||
4bd9187dad | |||
3dc1792f1d | |||
5c124a97aa | |||
705f774c93 | |||
b1fdda89a6 | |||
db61b0627a | |||
ebca7915bf | |||
123fd50152 | |||
d67f841e76 | |||
37164b8dec | |||
1e7582650e | |||
ae10d8119e | |||
11d6741e79 | |||
1a36211a83 | |||
fae935a7c5 | |||
369a30de78 | |||
78b0e7f082 | |||
34bd6ba979 | |||
68d8357dab | |||
07baa7a7f0 | |||
e42ce6bb49 | |||
193203f90b | |||
b035f58940 | |||
3201ec343a | |||
8dd8f66807 | |||
e395cf926a | |||
2d1f4cb7eb | |||
1852303682 | |||
a85af8ec52 | |||
352042f002 | |||
bd36177632 | |||
0fea2c35b1 | |||
cb42874231 | |||
83156682d6 | |||
444c24a635 | |||
114d3ffe6f | |||
7742aedb0f | |||
860cff96dc | |||
170ac85d8f | |||
cbc7c50b95 | |||
a289cdd59c | |||
bdb08188cb | |||
262bcc04d4 | |||
d593bf7dfe | |||
06b2049ab6 | |||
401ec98e06 | |||
8997e7b5ae | |||
f586df4e5c | |||
c0fd6e5ea6 | |||
dee3bc34ad | |||
3c75a8db35 | |||
926949d64c | |||
dd8e819e6b | |||
c7d12f1165 | |||
e689378d88 | |||
5ef1a839c7 | |||
ef9136ff25 | |||
f93aa04266 | |||
0cdcdc736e | |||
dea42e011a | |||
a96be277e1 | |||
08938a9be3 | |||
4ad0420e82 | |||
455e07e7f3 | |||
494a5dd7f5 | |||
08f4526b53 | |||
146508d749 | |||
ae41dd3344 | |||
ce55ca2fca | |||
36c90179f0 | |||
68fe11beb0 | |||
a4ceba4ae5 | |||
6f77ff7ba5 | |||
242f1d962f | |||
0cfa9110b6 | |||
41e6216df3 | |||
b89832ac6a | |||
79fcadb3c4 | |||
bc88f898c2 | |||
435ee357e9 | |||
f1763ca7e5 | |||
bb8d00d8f7 | |||
29bc62475b | |||
d2f52ff053 | |||
66b090a226 | |||
e766f6ba92 | |||
26979ca470 | |||
3d2ef9aea9 | |||
4f20a7f1d5 | |||
3e3c4560e1 | |||
5fed1590e5 | |||
bc1445392f | |||
f892b85e18 | |||
eca3e6278a | |||
aced1f02cf | |||
fc096888e1 | |||
176c8877ce | |||
4cf65e9cc3 | |||
863b753918 | |||
addf340adf | |||
6be1ab67e2 | |||
8cc4c5a1e7 | |||
96088bf089 | |||
736c94f361 | |||
cbf5a02e4f | |||
218906df66 | |||
aee70a8a8e | |||
930b643f8f | |||
f7dbf4afd6 | |||
f0c52768f3 | |||
a389b3cb4d | |||
17e67d2f02 | |||
c175146b15 | |||
d288d8c0b1 | |||
62eb0ed93e | |||
fba479267b | |||
24b1c54226 | |||
3102fd0f8f | |||
c07d2e5a9b | |||
c54968d977 | |||
58c58654a6 | |||
67d07a64e3 | |||
176989a48b | |||
75363a93f1 | |||
7d8bf58581 | |||
3ab6157ede | |||
34806cce60 | |||
41a2c73b06 | |||
8cc25d229f | |||
93c1eef6c1 | |||
ea2fb8d80c | |||
aa49608a2b | |||
29405483ce | |||
8c8b4d26db | |||
826f1c4610 | |||
e8e6043489 | |||
baf54ec272 | |||
177a402b6e | |||
0889a80c63 | |||
720dc71bb0 | |||
427e435b9b | |||
685dc56b9f | |||
772c09739e | |||
1128817ed6 | |||
66713d0cc9 | |||
6b4b4a8349 | |||
b9b6f4d013 | |||
c6a3f34096 | |||
b92a4d682f | |||
023968453e | |||
d047927168 | |||
b67c5edf82 | |||
6d2bc001ea | |||
fec4db954e | |||
fcb9716db5 | |||
260f0f93ef | |||
32f43e0e13 | |||
7ca3ecb73a | |||
3469378a17 | |||
ba7f116728 | |||
6e7f9d6824 | |||
151d561ddd | |||
00c95b13ab | |||
42b6309595 | |||
0caf80d8aa | |||
d4e68eb414 | |||
3269ad328a | |||
54f86a5a07 | |||
5a76a53034 | |||
66a5d40a5d | |||
2cfb83fcf3 | |||
c000057aa6 | |||
8a0aea8d58 | |||
1c70f8f48a | |||
ef53634d9a | |||
d2644dbf5f | |||
9e3e0f560b | |||
fb1858539f | |||
fc7900b6b9 | |||
c11d4fb0b0 | |||
2e665eb8da | |||
2d89789337 | |||
cbd2abf9b4 | |||
017c59096a | |||
414b4269be | |||
b2bb959ecf | |||
a67bda339e | |||
1e02ad3f5a | |||
fb9aecdf8b | |||
d4db36e672 | |||
3bfa1bde60 | |||
757396d2b6 | |||
35aafb3a2a | |||
0b7bc80eba | |||
c146daf8a3 | |||
7014efd8cf | |||
b85393742d | |||
dd8f241292 | |||
80373767ed | |||
c6c54439f8 | |||
9420e2847e | |||
e219862795 | |||
e9ee4390a5 | |||
542a2d908d | |||
dffcd4ed68 | |||
30cb92b528 | |||
5dcf4fced0 | |||
56f9cea26e | |||
4f870594aa | |||
890702f368 | |||
ab2cbf79b5 | |||
aea59401d0 | |||
71971c9d7e | |||
29228286a2 | |||
b9c2345905 | |||
ea8a6a2ba2 | |||
de44c0cc36 | |||
4113bc07ed | |||
faebe8e46a | |||
5fd63bd016 | |||
4fbab545b2 | |||
c4eb45fa85 | |||
db4b21a1d0 | |||
35efba2bc0 | |||
67d958b640 | |||
e235f9a56b | |||
098f1fa802 | |||
a539817b1d | |||
6e7dca756f | |||
09133c78dd | |||
cdb81500f1 | |||
9d9dae1d96 | |||
43aa527eec | |||
203698a4cb | |||
686018988c | |||
1724b74f69 | |||
80d5a05cfd | |||
964948d97f | |||
50e9d3860b | |||
85ac0675ed | |||
2ea9595fcb | |||
3585dc5be4 | |||
fcb6a80349 | |||
e5706630ed | |||
a701be17fe | |||
6be8a5138a | |||
0a88c6057a | |||
f156f73c62 | |||
33f8fc698c | |||
f303b4ffd9 | |||
de77449c39 | |||
83e0b97dc5 | |||
eab9290b5f | |||
05b6b37a7c | |||
91350a18f7 | |||
dfaab1b3b6 | |||
f3819bdf2e | |||
71099258cc | |||
5a45c41782 | |||
9752725fe5 | |||
34d5f9130e | |||
10c65b4670 | |||
f1e8535794 | |||
9bc780fc9f | |||
17852e61df | |||
d059112eec | |||
f696d797dc | |||
e7266e8393 | |||
e3a079cff8 | |||
c2c4a002ac | |||
1bc6b06065 | |||
6948df1f4f | |||
913a47a322 | |||
8ad93797d6 | |||
9d8a5ba128 | |||
1028a41603 | |||
9d8f9056e5 | |||
c5a56b886b | |||
0fec867e32 | |||
6a936fc6ae | |||
2a29d45350 | |||
a30641295a | |||
eca0d70c98 | |||
54fc8b35d1 | |||
fd824b32b5 | |||
ab1b606fd4 | |||
a7c410b286 | |||
9a24c3f80d | |||
ac2cb42621 | |||
f2b7104308 | |||
3164b645ab | |||
2de78e25a3 | |||
8dd5b17c7a | |||
1aa60a95bd | |||
078448296c | |||
43d8eca2ba | |||
86056683a5 | |||
3748170476 | |||
81547a7d05 | |||
d8bb05ade0 | |||
cf2c99f40c | |||
d2f3308ad7 | |||
e84a014ee6 | |||
ef41e8a44c | |||
29ad904cbe | |||
8d2177bf01 | |||
5ab67f9ef8 | |||
d2b2a18307 | |||
0ed04569d7 | |||
b46a9e5ddb | |||
07056feba0 | |||
b2a4c27a2f | |||
a081583e3d | |||
e882269c11 | |||
0cda8d2c50 | |||
a17ffd2640 | |||
8fef0b7010 | |||
4a2887f381 | |||
9cf07f0cb9 | |||
a36a68b027 | |||
fb5fa1abe7 | |||
3d2297e13d | |||
a28419afcc | |||
0318dc169e | |||
0d93ca48c0 | |||
448c9e19c5 | |||
827ff248d0 | |||
6e3f048111 | |||
749d2d70aa | |||
043426c85a | |||
71f69ddc79 | |||
7f6ae79280 | |||
665891e3a8 | |||
e59ad2e0da | |||
17298c09de | |||
5621a1e567 | |||
aefc75a4e9 | |||
4020aa7a66 | |||
c8b22418aa | |||
83faea00f5 | |||
53c83897c4 | |||
b2b5781bb4 | |||
224181e477 | |||
a1a8c2c621 | |||
dd4861ae04 | |||
7608ea0c9f | |||
b192af12e3 | |||
0dc82cc80b | |||
fae418777d | |||
576f3d00f9 | |||
b0ccac0971 | |||
d981c49038 | |||
c46bb69495 | |||
76619b01c8 | |||
f8b0eb8f3e | |||
3246c5803c | |||
e91422dd68 | |||
a7822774fc | |||
b925b7a891 | |||
7c33942876 | |||
e9da6c11f6 | |||
6f92506415 | |||
0da07d66bd | |||
81c2e02bb4 | |||
ee5b24d232 | |||
741856f7c8 | |||
901354b9f0 | |||
945fe766a1 | |||
348639c460 | |||
13d5d98bd5 | |||
3ec960a482 | |||
270ce521de | |||
04b2860808 | |||
ed1e25de52 | |||
9d8a4558e3 | |||
8c6ee91fcd | |||
fc6cc717ce | |||
c423ce2f7f | |||
dfb29fd701 | |||
9ffb57c678 | |||
581fd082e2 | |||
ba102237e6 | |||
cecadfd42a | |||
9bf32b9701 | |||
a9efed5fd9 | |||
650bf65505 | |||
7a2bfeb466 | |||
8a6d2ccfa3 | |||
682eb5fe4d | |||
ea568f0808 | |||
057f92902f | |||
c4609125bf | |||
4cedb8c3a9 | |||
a949e30191 | |||
26ba026265 | |||
1a47c6a2f7 | |||
01158d3bd7 | |||
86c5bcd9d1 | |||
de6cbac3c4 | |||
12c0542e6f | |||
224b578420 | |||
0e099eaf83 | |||
2f8a7046bb | |||
8bb83a3456 | |||
7e982b1dd9 | |||
d4717cf3a4 | |||
0b3f15c259 | |||
a7f8fb59e5 | |||
bc9ab17852 | |||
7d365be915 | |||
0d2d9db143 | |||
df092c1ded | |||
a77eb6e6c3 | |||
6419cd3335 | |||
3c79777cd6 | |||
9d54a22809 | |||
14b7e655bf | |||
e94cda578c | |||
de649bc01d | |||
d42fc11b27 | |||
458bb054fb | |||
1dae328c27 | |||
ec2e3043fd | |||
7361440ffb | |||
0b97afd9b5 | |||
f206cda84d | |||
b79d0a1799 | |||
c56c723deb | |||
bceea67461 | |||
d2489ee712 | |||
f6004114ec | |||
71e7974784 | |||
9482807f1d | |||
a7bf0df24f | |||
8e7facf343 | |||
d5433afb28 | |||
943e479b3e | |||
1e0f77fa03 | |||
2b97ea153a | |||
1965f650ea | |||
7cf0ff45c6 | |||
c8ea212dd6 | |||
7c06dd9e26 | |||
df3380c9db | |||
806892a347 | |||
69f0df2c54 | |||
17022bbc50 | |||
64b1352d05 | |||
c4813ea260 | |||
3704c65f08 | |||
1e66479e93 | |||
c8f709604d | |||
d87ed2d551 | |||
7a9fe102c2 | |||
01661bb6ae | |||
eb90521edd | |||
d5a94c5e0c | |||
97b608feed | |||
4b3e06edf2 | |||
1b242b6618 | |||
6415d9bffc | |||
6cb9188683 | |||
c51a54ecdd | |||
5f126a08c8 | |||
351f1e68c4 | |||
6e97ac76f3 | |||
e6b1d922d5 | |||
d5245e03fa | |||
2b8d7216ef | |||
bfa60433cb | |||
8386e7cd5b | |||
f35be77ee3 | |||
834bddfe03 | |||
2a4e1f4b47 | |||
08ba703791 | |||
1a9c6270ac | |||
052c963485 | |||
2ea6c4e987 | |||
61908e6be7 | |||
b0b8dc374a | |||
156210a718 | |||
8a5441d5fb | |||
cdbedb680b | |||
40acfe7f77 | |||
0d37fcb004 | |||
880ac43a85 | |||
c8d3b9160a | |||
99973d29af | |||
40b8f01697 | |||
b8d35c1056 | |||
f23a852199 | |||
58d6f963a7 | |||
f5d457dcc2 | |||
824938f390 | |||
abfc0b17a1 | |||
d3b49b4cda | |||
14ea5a0947 | |||
04ae6aa8ad | |||
a1e7ab6f82 | |||
00b43c9843 | |||
8c3b747ccf | |||
2d0bf34201 | |||
dd882f3812 | |||
5c3b05ecf4 | |||
62682e79a7 | |||
7216053a42 | |||
f963a0f8e5 | |||
0afb90a73b | |||
24abd3ef06 | |||
7ebdddde35 | |||
de0fd07ca7 | |||
6318f1f500 | |||
b403da65cd | |||
ce01379b66 | |||
e570845f6d | |||
d44ca19b83 | |||
a0a778932e | |||
fb198c6b01 | |||
ff7e2c8620 | |||
39736253d5 | |||
918e5352b7 | |||
23e15b1223 | |||
2be6da1d49 | |||
5d24231427 | |||
6aa3238dc1 | |||
970ebd67a5 | |||
67a5b4573c | |||
86b1b6811c | |||
8d2b0dcc44 | |||
38e4a2d4cf | |||
01ecb77ef6 | |||
d1bf408da8 | |||
f9e776da84 | |||
4831411e00 | |||
556412b207 | |||
e4f831786c | |||
8479656c71 | |||
2765275467 | |||
6d2fbba0ed | |||
0e0c2b345e | |||
a83d8ab0f8 | |||
a5c829d4e1 | |||
e354a4b70d | |||
eb73e5f4a4 | |||
6c7648d9c1 | |||
1c9a5ccbe5 | |||
7557c25f10 | |||
a39ea90506 | |||
0250a7888d | |||
8b91c9f286 | |||
780f82f50e | |||
be8621d785 | |||
9a05601341 | |||
a0aee78c82 | |||
b1101cc1c3 | |||
a04256f55b | |||
206dfbf173 | |||
8618cf1edc | |||
4a696d6ec8 | |||
59f5c0c731 | |||
8bf0a261a0 | |||
7bce4f3a21 | |||
d5a0cc5a5f | |||
6a21959531 | |||
929b65add4 | |||
1f44efc202 | |||
4caa05e4ce | |||
b18e194257 | |||
ad9270db22 | |||
f69cece074 | |||
53164ba286 | |||
91b2024bae | |||
4b97a13485 | |||
19a1bad425 | |||
18b51e93ac | |||
dcec409e95 | |||
3e1943ec46 | |||
a204cdf75b | |||
a8779941dc | |||
dad067f272 | |||
5858fb4e35 | |||
a5dae4c4d6 | |||
411e237081 | |||
1b2eeb13a0 | |||
f6b2a1ca92 | |||
1b0fe18631 | |||
144237f19f | |||
6a6e58cb41 | |||
24c6355741 | |||
978fa765ca | |||
159d097797 | |||
14734fcc72 | |||
506ee24e24 | |||
1ed5a63c8c | |||
6d9a0eab70 | |||
f486fcc998 | |||
fd7ed87746 | |||
7b84b02492 | |||
129d473b2d | |||
7502e10fdf | |||
1d1dbc4cfa | |||
a8405a4c4a | |||
6ddace437c | |||
9b330fafeb | |||
07eb01bc02 | |||
cd922f528f | |||
38ea678258 | |||
f061017480 | |||
3acafa2010 | |||
ef51157e52 | |||
95f1bb8525 | |||
509b0a97f6 | |||
6ea8033705 | |||
e0dbeee40f | |||
2f195fe167 | |||
6fadde0a53 | |||
94bbf0efc8 | |||
b6796be8e0 | |||
bd909ad437 | |||
36d50f8050 | |||
6e9f21f815 | |||
1749f27275 | |||
8e23270405 | |||
27be90424b | |||
a21797a51e | |||
ce6fdd458b | |||
179f32ff51 | |||
9575c08345 | |||
a2c51158fe | |||
89c5553d41 | |||
3aee3ad46d | |||
7b7b33e3a6 | |||
4f27dde72a | |||
d233b1a831 | |||
804382343e | |||
8eefbe20d7 | |||
71c62ce69c | |||
f33f857fbe | |||
8317e727ce | |||
6eced03b25 | |||
d2d762a4c9 | |||
afe1fe55eb | |||
c8cfe7c8ff | |||
b3b1b25157 | |||
927be09559 | |||
ca5d3e3b2b | |||
88dcb3179b | |||
a2cf34129f | |||
88a0ce6e11 | |||
9c9844922c | |||
e73e1ce9de | |||
50ece62d3c | |||
a033d8c808 | |||
4e3658fd57 | |||
a1c4ad38d5 | |||
6f8e9443aa | |||
59a621abc7 | |||
6dc72022a5 | |||
a137201edd | |||
87b7ec2ebb | |||
8d3cc1bcc2 | |||
629ddfd265 | |||
cea4f92e4a | |||
ee85d00ed6 | |||
c33e2dc626 | |||
e6e8b3d337 | |||
cc3637f177 | |||
c616fd5b7a | |||
8143d03d51 | |||
88dd4f705a | |||
54c3662a57 | |||
cdae2d9cdf | |||
144c7aa34b | |||
afc4978ede | |||
f3e268bc3b | |||
75a2355a19 | |||
245adcab13 | |||
3cb69c2397 | |||
0f068a600e | |||
be2f937f1e | |||
c8116f6ea0 | |||
b761903b8b | |||
c37d7b979f | |||
ce38084db6 | |||
045fbf138a | |||
60243501f2 | |||
24f7d2e80f | |||
1aa5194584 | |||
32aabf2c09 | |||
f28dcbcfc9 | |||
16bc621262 | |||
7fd932744e | |||
46e1b84fad | |||
1c92010849 | |||
f46e2caebe | |||
47095d5ec3 | |||
0575778667 | |||
3d6816abcd | |||
bce4f2f70f | |||
1282b007be | |||
d6612a420c | |||
b984695341 | |||
446b1888e3 | |||
633e0f2264 | |||
808c950566 | |||
f25f0954c3 | |||
c9ee8cbd54 | |||
ab8cc142a7 | |||
b1623f23c0 | |||
93982c3a6e | |||
d87bbde169 | |||
e46e740f91 | |||
60d67ce924 | |||
745965763b | |||
a3f7debc89 | |||
13e240c602 | |||
54c4ecb9f2 | |||
7e112aa761 | |||
d6c45388a3 | |||
098cfd5287 | |||
6237175ed5 | |||
9fa141898e | |||
45f449416d | |||
0e351c9607 | |||
edca63e796 | |||
a32a57929b | |||
38dc194485 | |||
b997b0a04e | |||
d8928e438b | |||
756f51b662 | |||
7e7d27bf4b | |||
ffec879e07 | |||
2263e9b881 | |||
5e1c9a9fd6 | |||
433c82761b | |||
2415d9b2fb | |||
6f0b361aee | |||
39b7afa118 | |||
2713da3614 | |||
0679392177 | |||
ca084b8db2 | |||
66e35fb341 | |||
2ad598f3db | |||
bc441c72ce | |||
8a1fcf4754 | |||
715cdc370c | |||
8ac6e09a10 | |||
69007ecc68 | |||
1d9f8b0c42 | |||
3f36a8c7e1 | |||
eff0713dfc | |||
7da1c1732a | |||
70eb6c9e38 | |||
d08da26b3b | |||
01792e353b | |||
5db62ef94a | |||
d6ace2457e | |||
6638b11e20 | |||
695732b0d7 | |||
3bad01373d | |||
e71a6ee9a6 | |||
fbb027e8c7 | |||
4520aa2891 | |||
e5b85c3377 | |||
6fcc46d1a4 | |||
4a5057d8fa | |||
9157ccb097 | |||
bd9d6ab2d5 | |||
05877ee1d7 | |||
51c4d9fbfd | |||
f3e82459a8 | |||
bd64f8ef2e | |||
97a94429f2 | |||
8aef56ab3b | |||
985009ad14 | |||
b46ec389bd | |||
3ad24c7137 | |||
a35f1810a2 | |||
8580047dfa | |||
68de80838c | |||
66c5f258be | |||
2df58852d3 | |||
52bab2551c | |||
49c20c00e4 | |||
b45a769939 | |||
9f7e08be61 | |||
f530e363d1 | |||
0129393a6b | |||
21f04d59b5 | |||
dc77bc0546 | |||
925e3896d0 | |||
7a0b9b680b | |||
450fd0b536 | |||
2368a310be | |||
15ddb363d4 | |||
f62c49474f | |||
d26cdb3ea3 | |||
98d6385c9a | |||
f005dda9dd | |||
1fb5395d9d | |||
9c17665aaa | |||
029d997b6e | |||
109c4d05d6 | |||
a8753e9cbb | |||
cf730ce481 | |||
a4c09c51d0 | |||
d4799d7b04 | |||
2ffa9c6f29 | |||
6e9d8067ca | |||
4874c6dff4 | |||
ed1592b2ec | |||
02cd6b42b5 | |||
c20f33960c | |||
4f4eba9149 | |||
b6a4476f34 | |||
5ad85d95cd | |||
250e610fa0 | |||
b1e8a8a6ce | |||
baecee1052 | |||
24ae31cdc6 | |||
ae3f524a1f | |||
b77387f34c | |||
35605d689a | |||
babbe08e7c | |||
03e002f64d | |||
49b47eab81 | |||
450fbe042e | |||
6968782ac0 | |||
fdad5ad74b | |||
564413246d | |||
109a9ec339 | |||
08f08c9fa4 | |||
183458933e | |||
17ab784c04 | |||
12cc97f718 | |||
3827e03ee2 | |||
0ced2e85ba | |||
46dc1fbd48 | |||
7222f7e930 | |||
570c654db7 | |||
74d14b8ff7 | |||
79f5feb8bd | |||
f142ba55bb | |||
79f705fa34 | |||
6b36c83626 | |||
62047e582b | |||
f299632831 | |||
5f445f97c2 | |||
3df27a66a1 | |||
7e241bff18 | |||
598f2babdc | |||
411364564a | |||
b20d694622 | |||
456b7ba842 | |||
a546e8a300 | |||
d742d02fe2 | |||
9452aab4d3 | |||
a66b816675 | |||
eb2a784b8b | |||
a2a90a3157 | |||
457c661f62 | |||
8122b3f612 | |||
17160ffdb4 | |||
d3c490ef0d | |||
8602e66eb9 | |||
fc44f6e529 | |||
e76f15f4fd | |||
3aa757d705 | |||
305b6488e4 | |||
348f2a6370 | |||
6e64c1a4e0 | |||
70299d9168 | |||
50f8b4ebdd | |||
c1c1ba5582 | |||
7400b61204 | |||
2db184dd71 | |||
20d689f31f | |||
e09b681e6e | |||
03dfd19e6e | |||
20fa59fc2c | |||
efa5a46350 | |||
091532d8ee | |||
f095d15d0e | |||
ecc720b261 | |||
c7048323f4 | |||
a89a4ea8ea | |||
e3f7645a8b | |||
d3be9ba902 | |||
5dea8271b6 | |||
b5c2350145 | |||
7890380266 | |||
d0b5164cd0 | |||
02bfbf4430 | |||
a060e3ce5c | |||
d8956f7994 | |||
d77b97dc9a | |||
a5761efd14 | |||
a590852313 | |||
5d13e7fdcd | |||
0c0d49229d | |||
73a22edcc8 | |||
84d10cc5d3 | |||
307be997d1 | |||
a979460614 | |||
a50f190fd4 | |||
a37c8021a6 | |||
3c20cba289 | |||
b48e6357e8 | |||
6a2ece7bd1 | |||
505e383ccb | |||
f643b63c4d | |||
e4844ce7c9 | |||
0feb949565 | |||
3062083d42 | |||
c68ca81589 | |||
e00ea2fb38 | |||
7d57d561b1 | |||
5f20e85ff3 | |||
d1b3f241b1 | |||
82c9b703ea | |||
72e736d8e8 | |||
5a19f7e3ce | |||
612249dc8b | |||
f8a5eb2e4a | |||
0b7813fe97 | |||
3a782b1710 | |||
38f89f37bf | |||
5ddfaf0807 | |||
f9c939029b | |||
9dc1c51db4 | |||
f79030c6ba | |||
62719a3797 | |||
5daa412939 | |||
0a937754ee | |||
8d94b36eed | |||
7ac11ca3d6 | |||
ab686715f2 | |||
e5d3b4e36e | |||
349a145299 | |||
c893197352 | |||
b03e497ef1 | |||
2a3689f0e4 | |||
0a6cf23ce7 | |||
78976c153a | |||
e934be2215 | |||
62e3895bba | |||
4b6773a652 | |||
8f3e1192df | |||
dfe3a2fcfc | |||
b922cbbdd6 | |||
6b89746644 | |||
df5a6b36b8 | |||
4e29e2f14b | |||
48b0079000 | |||
ac9af1adb9 | |||
0db4b27c7d | |||
5595a20f39 | |||
6205e03828 | |||
8a10aff35a | |||
fc8e997caa | |||
1ee8e8e0de | |||
7dc57159fe | |||
8434d92c30 | |||
cbfcb2a6bb | |||
24f4623384 | |||
60be9dbbc7 | |||
194179c3d7 | |||
29abd048ef | |||
88407bcd9d | |||
e6c3523b1b | |||
110c47699a | |||
54888e8d7d | |||
9605136bc6 | |||
1f2b5fb201 | |||
4dc92782fc | |||
e97d320df2 | |||
5d884837f4 | |||
bcc7aaa70c | |||
bc816141c5 | |||
74e2c98030 | |||
63fc236856 | |||
8c5f3ebbdf | |||
90b0701f9a | |||
e206e2e7ff | |||
e794312882 | |||
ab3fb6bba3 | |||
49df72acfe | |||
dc12daf277 | |||
2a1ad76f78 | |||
2d82195f97 | |||
f6b2baa3e8 | |||
4681b2778b | |||
836ea75856 | |||
64c6223759 | |||
df40ca9d41 | |||
4b29c4adeb | |||
a767eb4ed9 | |||
e20bc464fb | |||
d9ce2859a3 | |||
e07532fb16 | |||
66ab5eb521 | |||
c7204b5a43 | |||
9aab62c537 | |||
c82db71bde | |||
582d7c340c | |||
369405090f | |||
67ffcfa176 | |||
4f2868ed66 | |||
4fad28f4c1 | |||
352ca5b031 | |||
051bf5d332 | |||
1bfe7b4edf | |||
271c0a38d3 | |||
1ad487420c | |||
dfa23f6d78 | |||
86e5b60faf | |||
fff318fbce | |||
23cc165d6a | |||
9623f7bb1c | |||
79542fa36f | |||
40df8aa84b | |||
a7696adbeb | |||
a0d48096ad | |||
6935350ad6 | |||
ba0ab9f1f5 | |||
5c633dc912 | |||
ba49444c33 | |||
46ca25d8c9 | |||
06d1e4d001 | |||
9acc7bad4d | |||
442c560334 | |||
31d49ec117 | |||
70c7013102 | |||
659319250e | |||
aed5ee598d | |||
045a42a34e | |||
445dd85bf9 | |||
69cb494749 | |||
0ce7f4da70 | |||
39891c00da | |||
b97e6f713e | |||
0c9eb31533 | |||
d2bb5021fc | |||
bdfa35315f | |||
0aeedd42ee | |||
26ab9bfeb5 | |||
5c9bacca32 | |||
31316cfcca | |||
4ae7ee6e2b | |||
a4819b3c31 | |||
dadcae63c6 | |||
e73bae7b0a | |||
a346fd943f | |||
e20c47b408 | |||
a1165fdfd4 | |||
9f24c4b12a | |||
2414148220 | |||
fde6b65b52 | |||
51f3b32255 | |||
79a72c4c4b | |||
6943ada500 | |||
3647e86862 | |||
c0538d4613 | |||
bbb8c042e4 | |||
43cd1c0bbe | |||
151cc6c14b | |||
7cc502b07a | |||
5641590957 | |||
a0c7f34302 | |||
158fed9ee7 | |||
20e04efc33 | |||
c48cf110dd | |||
7cc14ac25d | |||
879ccaa7c5 | |||
62fa9f3cf9 | |||
43c9d709c7 | |||
b3182fbb00 | |||
c074f61d8f | |||
97b9d9ef24 | |||
df9549efb2 | |||
72b78910fb | |||
31f7a726ff | |||
0d2c0019e2 | |||
651d5214d2 | |||
ec8eef0a6b | |||
64d31f48d2 | |||
2b4da16ea4 | |||
7f7c3882a6 | |||
24ea3f3364 | |||
2bb361f0f5 | |||
a20a02e82a | |||
b6a2ebe5ef | |||
67d099a7f2 | |||
082be1073e | |||
c5f1dc96bf | |||
c1ec940eba | |||
141f33de54 | |||
7dccf47fdd | |||
c8b79b9606 | |||
a643e212c2 | |||
70d1c723f7 | |||
dfd9a62a90 | |||
13145e5d18 | |||
69e3fde5e4 | |||
527b68219f | |||
544d7e2b91 | |||
af13a6ed28 | |||
fce0954f45 | |||
f62bbc8388 | |||
2429557350 | |||
65b0afe9a6 | |||
6ada39e790 | |||
a67a3227f8 | |||
7811a45553 | |||
528b471f94 | |||
1d4044ae88 | |||
3f1f8ef931 | |||
677ac69868 | |||
a5146f3239 | |||
93aab51ec1 | |||
70dc0a8cc3 | |||
e82191451c | |||
dd7ce4e1d3 | |||
5c3160ed80 | |||
c024c14790 | |||
11cabea60d | |||
0aeaee7d9d | |||
dea722b36c | |||
0acfe22380 | |||
66780a0c9f | |||
2e397aebad | |||
936536cd2b | |||
7720f1da36 | |||
8cbe43b8d7 | |||
7c25317093 | |||
b571846ea4 | |||
d70d1d11ba | |||
edc6da2de9 | |||
09446778e8 | |||
e86384a2d7 | |||
9b85f5efab | |||
c7d18636c0 | |||
8af6b57788 | |||
ec76ae082a | |||
474ed6b46f | |||
935769398a | |||
45d37d5cb8 | |||
70fe2707ba | |||
58e1e0aee9 | |||
5fa07217a4 | |||
9700fa0697 | |||
605c6da4e4 | |||
cbe2ed48e2 | |||
cf68f34fc2 | |||
ada431e6d4 | |||
c4a9d7ae42 | |||
918c8af50f | |||
df062044fd | |||
d382f3d39f | |||
8d1a7a01c7 | |||
cb4cae9547 | |||
de7262f82c | |||
f8e440cadf | |||
b640e22a41 | |||
6390ff0c6e | |||
104b7a949d | |||
fc862dd7d2 | |||
1faaa16a08 | |||
6fce9cd97d | |||
5804aa3096 | |||
2ff76be15c | |||
3db49929bd | |||
a3d33795f8 | |||
00f53a8d9e | |||
3993d38ae6 | |||
691020e22b | |||
e490c787da | |||
c56350860f | |||
c81fb7ca94 | |||
d76b4f6607 | |||
fdf2fb78b5 | |||
691fd183c0 | |||
6478cf9702 | |||
ea0f225249 | |||
2789952302 | |||
5f5ca0c6f1 | |||
ac57311575 | |||
4b048fec76 | |||
4bc6adcb93 | |||
92d7fd5527 | |||
f7c7d7c25d | |||
c979dd1e00 | |||
335bcf2375 | |||
8001934141 | |||
fffc21d3dc | |||
989323d29e | |||
a789607f84 | |||
c811742c99 | |||
82d5123e1c | |||
967753f0d8 | |||
ca25ad5e0e | |||
514a4bcb23 | |||
89ec3844a5 | |||
7014f8258e | |||
a2241de8e8 | |||
20027fc8c9 | |||
afb143dadb | |||
ac91fca8a0 | |||
419f03f051 | |||
6482c22ec0 | |||
5a090bf125 | |||
6296ca8ad9 | |||
fccf1221a2 | |||
eca99af229 | |||
a0ca786a6e | |||
5f74818d39 | |||
b9239315ed | |||
eba1d555da | |||
b29cc1aaf0 | |||
b324df6a54 | |||
e22c597bf6 | |||
6462cbb2c2 | |||
cc36c4c235 | |||
52e6194558 | |||
b8159df9fd | |||
647e2c9029 | |||
0d9829dc05 | |||
d9999e84d2 | |||
ae1fbd696a | |||
7d9caba1c4 | |||
766143040a | |||
282e75b118 | |||
9922304b35 | |||
3ced5287f2 | |||
f147051535 | |||
479247a5ec | |||
68dc369a1c | |||
c60fd46420 | |||
04f8ffee37 | |||
9ec7857ddd | |||
53fe0a2529 | |||
084ad93663 | |||
f5c0021e05 | |||
08dc4cf439 | |||
61469c7a35 | |||
71491a6176 | |||
e48bd3adb4 | |||
c63a9fb757 | |||
56d51b69ca | |||
c48784069f | |||
3b7b06dfbb | |||
c556dffe98 | |||
8aedb34501 | |||
5b5b8afdf1 | |||
49236d4430 | |||
736a1028fb | |||
f0fd3e2269 | |||
e1da21f687 | |||
e440c6b238 | |||
8205ce6b34 | |||
4676ec52c2 | |||
d9c02cdc98 | |||
72c1deaa74 | |||
d84ce40f7d | |||
92e66cc4e3 | |||
7a347afa95 | |||
632419852a | |||
d07f724f9c | |||
fa9eb951d4 | |||
7bbcdc2f20 | |||
e93e693173 | |||
6b928356ca | |||
1954c1f92e | |||
87e27e1d0e | |||
b95f848766 | |||
61ac1bc530 | |||
c988d0516c | |||
6ffaf5a691 | |||
66c52ffb2b | |||
b92383a8a5 | |||
1d0e4930ba | |||
a435c3e2ea | |||
7164ad74bf | |||
f7f715dff3 | |||
5304ce108e | |||
f2e8660fa2 | |||
e24f97c081 | |||
83e319d6f5 | |||
ae5e636b96 | |||
623d75e828 | |||
e97a66d371 | |||
a60b42a26a | |||
6c6e049282 | |||
acd30e9017 | |||
18571389d5 | |||
afb3d7e7ec | |||
4774012515 | |||
f3314c20de | |||
011bf13715 | |||
da335abfe7 | |||
0887fc4dbc | |||
0972871a23 | |||
45e103ca87 | |||
a10cc8a98b | |||
1e36dc078e | |||
ad7c33abd2 | |||
0f4191204b | |||
9965228c66 | |||
6c2f80c4a2 | |||
65fce098e3 | |||
07ccc8d9cd | |||
b77f01642c | |||
ffa83fc7f8 | |||
d90f8ac741 | |||
ebf380b566 | |||
cce7d826db | |||
e925af29d6 | |||
32fc4e350b | |||
f63f2f291b | |||
6ef0e80bf4 | |||
a7659ebe4e | |||
3920bc9626 | |||
3e343559e2 | |||
acf230c2ea | |||
6b0ebee63e | |||
dedd77f6dc | |||
74a0fad8a1 | |||
f040f759d9 | |||
3d5319eb5a | |||
83a55930dd | |||
6362df3f5e | |||
15412c0681 | |||
5e0119eaf6 | |||
f1d196c489 | |||
7cbf391bce | |||
1d8d99bfd9 | |||
c25d54b97e | |||
db3fbf22c2 | |||
cbd675173c | |||
a5e94fec5b | |||
2421de6701 | |||
dd73714249 | |||
793f3717b4 | |||
a228279ed7 | |||
27b295b98b | |||
2c62df229f | |||
95b3dc3da9 | |||
f4e90e8a61 | |||
c1042ba2c5 | |||
51d6f5cc0a | |||
e7a68ec05a | |||
7ee1c47cba | |||
7383318856 | |||
0cc811789c | |||
ca8968dbc1 | |||
7adfe80469 | |||
498f1285d2 | |||
800fab86dc | |||
77298c6820 | |||
8bd525001f | |||
fcb68f31b6 | |||
385667f679 | |||
a603e443eb | |||
5b90c0f158 | |||
e2852579b8 | |||
5de0897671 | |||
eb6ebc025e | |||
6edbb18901 | |||
56eb876c40 | |||
40a1d0d0fc | |||
fd952aaa50 | |||
2fa96eb33e | |||
89d3a2f01e | |||
98ec53bdf1 | |||
2d22f82a0c | |||
fb670fee3c | |||
af53ab38ad | |||
1ea938ca5e | |||
d1150fd6d7 | |||
5052e1f45c | |||
caebcb7014 | |||
265fad562f | |||
fb796034da | |||
0514324724 | |||
2ef2e4793a | |||
21176ddd57 | |||
6482b16c7f | |||
c57cae8c8b | |||
cf72a51abf | |||
10a879e65b | |||
84ec70312e | |||
927fa6d04c | |||
7de5677643 | |||
f9650771d3 | |||
2ccc0a4d9f | |||
299ee183c4 | |||
5558f7ba0f | |||
6efc764c04 | |||
fe4c6b8d30 | |||
a889e2a337 | |||
5504cdb511 | |||
4dd857723b | |||
7d85d43f18 | |||
efe858b170 | |||
c8ac8f5ce9 | |||
74406e1053 | |||
e286ef9f41 | |||
a16a09f869 | |||
549abfb5ab | |||
b15a15aabe | |||
f5ec52a522 | |||
d0f971fe9a | |||
6902263dca | |||
2bb7896c36 | |||
d5dde22758 | |||
aacfa24457 | |||
57c013eb11 | |||
4119391a8e | |||
e3f816c7bb | |||
640f549eac | |||
156be2db5a | |||
39ef890336 | |||
6d837df908 | |||
53d08b6ee2 | |||
290979f960 | |||
93a4e0135c | |||
1834fbb83b | |||
5d31dfa8df | |||
6da78660d0 | |||
fa1befcb57 | |||
8c5994f92d | |||
427487b173 | |||
f02fa4a1a8 | |||
71c5ca764f | |||
25ef410423 | |||
cbe266142e | |||
abfd165c86 | |||
227c649522 | |||
c3c7f8fc60 | |||
76def38abb | |||
36714d9fe6 | |||
c4ee714881 | |||
d99b693c96 | |||
8d529421d3 | |||
c6bc3a56d6 | |||
7ef6aeec14 | |||
7be232a21c | |||
9aae28b548 | |||
9fd2ad1d52 | |||
e433042a8e | |||
c1301dd2d2 | |||
1895d1a181 | |||
50811e2deb | |||
f20ef65e65 | |||
aa566ad07f | |||
480c2de549 | |||
023fdaffd1 | |||
698b05fdd5 | |||
96094b31e9 | |||
88f94a9635 | |||
d12d24b039 | |||
31f383686a | |||
9f5261e5fa | |||
d92966b610 | |||
61fcb7e965 | |||
7f4c30c1d5 | |||
8f7fca5370 | |||
699a709bdc | |||
7b13e4ef2a | |||
b0f00ed426 | |||
7a0b9c5e73 | |||
16e1fd5ae9 | |||
4f87ae1d4a | |||
0dbea48d46 | |||
1a5d279120 | |||
4de7610b32 | |||
52e14f78ba | |||
f332e47f56 | |||
f479c85227 | |||
4c3851afbf | |||
4490689d88 | |||
8f11d24038 | |||
51b1b2a0c4 | |||
da12ca98c9 | |||
b3e504c310 | |||
7e4ad26b95 | |||
2390754982 | |||
9036bd7cb1 | |||
41b078f8ae | |||
1e1d5d60f7 | |||
478f3d8f5e | |||
ad0116c032 | |||
1afe20b1b2 | |||
64d9e85681 | |||
dfff5c2d19 | |||
50e849fc9b | |||
6f9b1a9049 | |||
1dfa46ecfd | |||
823b1a8270 | |||
c9aecb4440 | |||
eeacd8349c | |||
e9e4e54e27 | |||
6ca3375c08 | |||
0afecd8d08 | |||
8056187e4e | |||
9e82bf36c8 | |||
747a2fc90e | |||
90ae08922d | |||
afc6c0ae12 | |||
260e98fbe7 | |||
914ea8e530 | |||
0c7aef73ac | |||
d211ede937 | |||
447a681d3f | |||
cec52453b7 | |||
33f3c53504 | |||
d4863a5ca0 | |||
a699240612 | |||
ce9b26cdd5 | |||
73b9fa6930 | |||
d807c806b3 | |||
a906918ae0 | |||
1120519e73 | |||
2988942b38 | |||
b82a571832 | |||
a12e16233b | |||
791097834b | |||
ed4be45d58 | |||
166d2ac901 | |||
5dfb3314b4 | |||
3419aaebf0 | |||
e69d2dfdb7 | |||
ff485f2bce | |||
f2df29e405 | |||
a763e8f92b | |||
a9b44f4c79 | |||
806deb6661 | |||
77639e4537 | |||
81dc20e744 | |||
2e973942bc | |||
8e15e91dc4 | |||
4cc42752fe | |||
709a1948b4 | |||
406ccf224e | |||
61dd05e010 | |||
4248d8e7bb | |||
efe873e633 | |||
565359fee0 | |||
82dcd5b9ba | |||
7fe5d3d382 | |||
31f6320afe | |||
eb876a5830 | |||
a94fea1ee4 | |||
5358467638 | |||
965846fcd0 | |||
1de8708fe5 | |||
c24db001ef | |||
0dd6ee783f | |||
27f340e777 | |||
9a5d6e958f | |||
63813f9d79 | |||
16b9bee9a9 | |||
7c7d0b1084 | |||
ca2e7161d1 | |||
206020ccff | |||
b2641792a3 | |||
aa2b614cb6 | |||
75f3d7ddbc | |||
bcc090d5e0 | |||
b8f03fd0ca | |||
995eed9fef | |||
46d05bcc4e | |||
00b490dd59 | |||
447cb44696 | |||
913824c910 | |||
ab8961e7be | |||
1295fa218f | |||
1d242799c2 | |||
b01a4c5757 | |||
f3a8bf13cb | |||
80273918d5 | |||
30cb21811b | |||
9d4d2d014c | |||
011e1b3fbc | |||
46ee366216 | |||
f8aa8dc248 | |||
c4691ab754 | |||
e325a4d0dc | |||
234f8e0405 | |||
172d2d140d | |||
3663fb36ec | |||
2eee6c3a7d | |||
285f20a7f0 | |||
81f70a9fdf | |||
9b725cf311 | |||
b1a128fc88 | |||
bc1941f178 | |||
b34be4d4bb | |||
ce97bca09c | |||
8da56e6e75 | |||
d8e6d3e230 | |||
f6efeae66c | |||
f8b2d32ad9 | |||
8dffc38f6e | |||
e82aa2238d | |||
4f4e86ec5e | |||
0b18296ca0 | |||
e6f12d0d50 | |||
9e16ca9dec | |||
a776ebb801 | |||
7f61e5703b | |||
d2c4797891 | |||
1c02f6f088 | |||
1d6a13c7ee | |||
e990f345c4 | |||
968ef75988 | |||
ec2cbecf93 | |||
8996b277ab | |||
7b97289d56 | |||
8d11cdc6fa | |||
99ab1fd13e | |||
b10478071c | |||
535d6d8cf1 | |||
30931f5a4d | |||
0b39379c9c | |||
ae5ab1826a | |||
31f914c554 | |||
a79d6e76b8 | |||
2fcbebbbcd | |||
50c667de52 | |||
c381b194cc | |||
d2c5b0e9bc | |||
24837e75cb | |||
095bdecab3 | |||
0671d73690 | |||
3b14a5f92a | |||
4cd9ac0a55 | |||
108a4763f0 | |||
6e4e6207f1 | |||
de89e950a9 | |||
60954722fa | |||
88dbfa96e6 | |||
c14bbc9c70 | |||
d09d8de7da | |||
de85f5ce2a | |||
21666e4611 | |||
76dab5f98f | |||
4bfbabdb54 | |||
99f967b7a5 | |||
42cd4ddb08 | |||
b606953731 | |||
b649d6ac11 | |||
1ab35a7f50 | |||
fc49adfe82 | |||
d5baf6d89c | |||
d490afbe04 | |||
7a8108deb9 | |||
a6a8df39e1 | |||
c2ffe89f77 | |||
a768deae73 | |||
2d24146aef | |||
7d3df29ce7 | |||
e77d939321 | |||
8494d8a165 | |||
f14c05f144 | |||
105d91e114 | |||
5c4056dd02 | |||
18edd0008c | |||
d37cfb7669 | |||
122cc8c61d | |||
405f229689 | |||
2b5892256c | |||
8cb7af8e7c | |||
03a4bfc54d | |||
e995684fa1 | |||
5a702653cd | |||
39c1b4f951 | |||
a70d17dba2 | |||
813a3bafa8 | |||
7e0019ef20 | |||
a5cdf75f69 | |||
4626a6684c | |||
e6b3168ff1 | |||
b9204fc012 | |||
c23fa81e94 | |||
6f06883856 | |||
6bb5b9a058 | |||
0603902525 | |||
492a792d38 | |||
238242bda4 | |||
72cdbfa2f3 | |||
641690b7ae | |||
454426d9d0 | |||
78f0301ba4 | |||
c519bff9c1 | |||
807ce6258a | |||
06b20ceb2f | |||
83f9f8983b | |||
42c5b010b6 | |||
a37ec522e1 | |||
d3a767f47e | |||
ad68e69612 | |||
612e403d53 | |||
729c61961c | |||
2f67b34e12 | |||
216d69d459 | |||
9a6bc07cc2 | |||
e1a27f2e49 | |||
1add483819 | |||
689c25b9d6 | |||
e4a7e46a9c | |||
2966e0d863 | |||
34be1be240 | |||
ae999503f6 | |||
517750745f | |||
8d735d2aa3 | |||
8579f23353 | |||
670cd9719e | |||
bac0f26e08 | |||
ee10ce6268 | |||
ad83023425 | |||
15c4345cfd | |||
3680e02e9e | |||
6890d935d8 | |||
90bcdb436a | |||
4324bc60d5 | |||
8ea26aebb9 | |||
885e84eb4d | |||
659a591aa7 | |||
6545145f0d | |||
81ef9c21da | |||
bab0544200 | |||
3322d33e08 | |||
c03ab47dc4 | |||
8e6059db28 | |||
7778cf2d30 | |||
9b1f3cc6fb | |||
11075fc80e | |||
723e3b10af | |||
abc69712c2 | |||
45a33b0771 | |||
d58877887a | |||
5e8e483051 | |||
95675d94de | |||
95059b7055 | |||
96771fac9d | |||
c4e9c4e554 | |||
812b54ef17 | |||
656fa56a22 | |||
a3b19441f6 | |||
05764cd6c9 | |||
4c7bf7eaaf | |||
e8c681cc62 | |||
022b1b992f | |||
69da754112 | |||
30c5e607b3 | |||
7f8da79777 | |||
10274d83fc | |||
d32b51466e | |||
a3492d71c0 | |||
a560c71109 | |||
c4aa24fc12 | |||
ab53c3964c | |||
a742681628 | |||
21c46c089c | |||
0c057c21e5 | |||
e94a578039 | |||
ba2e51bd49 | |||
7b42492bed | |||
d8774f6899 | |||
54d59ef7b7 | |||
54c04d5536 | |||
418190cbba | |||
b9338ba502 | |||
8af3e0eb42 | |||
ba7b90ecf2 | |||
7cdcf64f71 | |||
81e9263caa | |||
e4606bbff7 | |||
99059d170a | |||
2f78ce0995 | |||
29144554fb | |||
338d668b6f | |||
4a88b03a6c | |||
e84111c352 | |||
913dcf6482 | |||
7f3f52d7c6 | |||
dac1a456f9 | |||
f8c167549b | |||
16b34ed8f8 | |||
b967c60dc7 | |||
abefcc2e2c | |||
1e192138d1 | |||
a2e5746c81 | |||
794f1e785d | |||
517097f659 | |||
af6a434236 | |||
edd748fdb3 | |||
2494aa952c | |||
b2f3151ed9 | |||
d925ca70d9 | |||
1d14ef25f3 | |||
b77cf2299c | |||
d3a65deb25 | |||
b0f52fb5bf | |||
a4cd9117da | |||
482d3a1f03 | |||
27af8da7cb | |||
242da79a3f | |||
d828aed1dd | |||
3fca2c7922 | |||
71505f5f47 | |||
bd78c5a649 | |||
ebf5ae5bd5 | |||
4280b43473 | |||
98521c51f4 | |||
68b447c2f8 | |||
bab7f18a43 | |||
6d9af0ce6e | |||
8eb3a342d1 | |||
0ba27fbc44 | |||
ebd4dfa53e | |||
27545df163 | |||
e8e5107b49 | |||
7221830894 | |||
dd25dffa1d | |||
4089ddb13c | |||
d5c8a15d74 | |||
b825acb958 | |||
c8c83ce027 | |||
22b5ef961c | |||
c44cc19079 | |||
9f13cb72c5 | |||
0b6b968f9e | |||
855e1bc9c7 | |||
37c332782a | |||
a91eb90d44 | |||
3173f857b6 | |||
1037e34123 | |||
4778590d15 | |||
5d98dabb4e | |||
43026ba819 | |||
68fe2aa204 | |||
ec953face1 | |||
3157068bf8 | |||
53496e69ec | |||
ec1b37decc | |||
4ace49c9a2 | |||
423c9faf63 | |||
e178df27dd | |||
19af7bc822 | |||
8a269deee6 | |||
6edbaa2d9f | |||
98f672a5ea | |||
6bd99f9ada | |||
ba4cfb504c | |||
09f06056eb | |||
13818f5c5c | |||
d992944d09 | |||
f5e636ccdb | |||
3f7bb7dc44 | |||
d882bd478d | |||
97b8b17600 | |||
2c30a83d9b | |||
a8f76904fb | |||
d40a4c2bb4 | |||
740cd31858 | |||
3d3728b0d0 | |||
da43737c4e | |||
127455c414 | |||
95be98ac2a | |||
6e82ebff73 | |||
6724ba4f04 | |||
69ff428159 | |||
bda338a1be | |||
a03b18012d | |||
e87fcd4db3 | |||
d7c31d1dbe | |||
5f5ea02b3d | |||
cfb1bf2275 | |||
ae930d85c2 | |||
31b4209201 | |||
0185d6d760 | |||
dd01e0131a | |||
b182189326 | |||
4447996cc5 | |||
8fec6a87df | |||
456218384c | |||
dcb14c63af | |||
89cd52a65a | |||
7a8b3b58c4 | |||
867288490a | |||
a904fd6173 | |||
f0a7e36527 | |||
db717db5c5 | |||
ff687b1f24 | |||
9bce1fe727 | |||
332da01c89 | |||
6215e61292 | |||
a89406e7f7 | |||
c7762466b3 | |||
1090b16b98 | |||
3865a33231 | |||
2cdf8bdb61 | |||
68220b5c42 | |||
7a18721cc7 | |||
e8118acfbe | |||
f7407eaf02 | |||
9a446bdf07 | |||
7f0d3de251 | |||
6e3f383927 | |||
8e425b0245 | |||
87a1bd696d | |||
ec098b5e7f | |||
28e2353e07 | |||
74dfbd09fe | |||
59881a62c1 | |||
2f67badda6 | |||
437c2baac4 | |||
57a2a3ba93 | |||
acd65dddbd | |||
4fb2328fed | |||
4df6b2673b | |||
01b5dd60a8 | |||
0bb62907eb | |||
2ae89398aa | |||
92f447aa92 | |||
122011453d | |||
90a43067dd | |||
a84414a0fe | |||
7e96518e63 | |||
56823f53dc | |||
91947604af | |||
0151b463c3 | |||
8240cc33ec | |||
5d7c3a4f01 | |||
3d35756d5a | |||
a8b82717ee | |||
0a8b1136e6 | |||
7a87c9203e | |||
a65ff854cd | |||
266819104f | |||
c627dc9f8c | |||
c10f8b219e | |||
b6d7a12d0f | |||
11aeebec32 | |||
1b8e65dee1 | |||
9a1853a98c | |||
f5d090d19a | |||
a15a6045d2 | |||
df8462c36a | |||
560eab7de5 | |||
4084702567 | |||
7eac884bad | |||
8be0146528 | |||
9056fde023 | |||
096426b457 | |||
e747e8557e | |||
b7b41732c9 | |||
e64513c767 | |||
4742f53770 | |||
a04d37ccb3 | |||
b238caaaca | |||
318c3ad674 | |||
522b39e757 | |||
291b58f06e | |||
aed1952f05 | |||
afefa506d6 | |||
52ef869b94 | |||
e1152c401a | |||
813b2f030d | |||
32b99169a5 | |||
2c7842407a | |||
83e6c15b0e | |||
eb4bb6f563 | |||
168b38bbb3 | |||
5b3e995710 | |||
dfd52bd466 | |||
5273322f73 | |||
85a967f248 | |||
10de874e9f | |||
5e82d443aa | |||
01ae4a7706 | |||
d192590e29 | |||
c92c5e5450 | |||
3051a9ecfa | |||
b33c6fbfd5 | |||
4ce0a07f06 | |||
b6fc13b3db | |||
74cb3e7869 | |||
c5c3e3c594 | |||
6ceec167f5 | |||
cdb5b56303 | |||
a09559501c | |||
ca5ed4879f | |||
202b1899dc | |||
3e945f1a23 | |||
c79fc4737d | |||
70243cd801 | |||
3b8ddee47f | |||
cf0cd65038 | |||
052e439318 | |||
cc7acb82c0 | |||
d75ee46d3c | |||
0b123dd72e | |||
58a8ad1661 | |||
bde284b585 | |||
980721b3ed | |||
1156acbb7e | |||
86a2324ee0 | |||
5d47887965 | |||
40f53f4b87 | |||
cbcae2744a | |||
a3868296ce | |||
e9fa37894e | |||
12e2e0e609 | |||
5276c34654 | |||
3d695d2e6a | |||
2a58e187af | |||
77330e5b15 | |||
15cbc3b599 | |||
619c60f94c | |||
63b87e985c | |||
f595984043 | |||
3dba88401d | |||
738aaa24d3 | |||
43f6598b27 | |||
bb6bf5a1d8 | |||
1943b27ea3 | |||
49bc3b7aee | |||
c0733e1639 | |||
c92efa3363 | |||
c308f021d2 | |||
c8d7c4834a | |||
ff9ba54ce1 | |||
b484609a02 | |||
ac204ba6b5 | |||
9de060fd34 | |||
e9b0830422 | |||
e0c2c06ba1 | |||
9d1bf811fe | |||
80b2f23584 | |||
d4f81bc21d | |||
145ecc6761 | |||
f1eaa67221 | |||
746f438ada | |||
7aacdd1d35 | |||
f6e3254a9b | |||
c73102d0f5 | |||
d8f352b4fd | |||
d8fcd42089 | |||
44948a7c5c | |||
e09294f57a | |||
285dd6ec3a | |||
82d16b150c | |||
422501fb14 | |||
e75f1807e1 | |||
b67f385b69 | |||
2091965973 | |||
887cf3017a | |||
5207243270 | |||
a7e6788ea7 | |||
02bec2bd5c | |||
c867cd3675 | |||
401c7a648a | |||
12d360012c | |||
68365e10e3 | |||
f71902da5f | |||
a76f659840 | |||
c4ca8c3556 | |||
6410a0002f | |||
f34bdf8c5e | |||
b2d633db07 | |||
ff254ea60b | |||
7a940dfb22 | |||
54d500788c | |||
0a20872de0 | |||
fe276fb250 | |||
1999bc5d00 | |||
c027ece821 | |||
442bde7b62 | |||
959a448806 | |||
805ff571e3 | |||
2fa838dbab | |||
9b629ad37f | |||
ea9c96aa9c | |||
10ee7fc03a | |||
5779ca718c | |||
f0cc7adb2f | |||
ff61a39e90 | |||
84446e6e54 | |||
a2642d0ffe | |||
b284013065 | |||
51c4d68fa7 | |||
74ace5cd3a | |||
8aa9edfa4e | |||
ff092d4167 | |||
66b4f0181c | |||
3e29ca93fc | |||
61e60d1c16 | |||
e54d784d02 | |||
9e74c42b1f | |||
fca1797757 | |||
4988900789 | |||
286c2f6d4a | |||
65819cd364 | |||
0810538b63 | |||
abeececf18 | |||
062c4a17a9 | |||
5c7341331d | |||
175e4c59a0 | |||
7a92e3895f | |||
35f0a8fec7 | |||
71555955e9 | |||
2cba9e44b6 | |||
1174dad2e2 | |||
63d2008308 | |||
b1b0294e6f | |||
0bc878db19 | |||
d93a5bc115 | |||
a7adf77afe | |||
486eabce80 | |||
547e58db8b | |||
e18a97813b | |||
86e9b41ac2 | |||
5c5f211b5b | |||
24d024ae24 | |||
98f7d60d97 | |||
608a75c05a | |||
030d338bb2 | |||
06c761ca94 | |||
4a6d441637 | |||
2b04c0c1bd | |||
aeb5268a62 | |||
4a3fab0cba | |||
86cf75acfb | |||
fe33f96366 | |||
7e821a1526 | |||
e5446cafd6 | |||
0526554699 | |||
a9cbfc7029 | |||
037137de15 | |||
0c510a2ac3 | |||
72bb8aa940 | |||
485a83f1f3 | |||
ff251d21d0 | |||
20eb3506ca | |||
f5502310e2 | |||
fce36e448d | |||
11c6b8b531 | |||
b8b41338aa | |||
dc0c02fe34 | |||
7fb69b01c3 | |||
4de1a31cb0 | |||
cdd2f63947 | |||
826459dad9 | |||
8f20b12c95 | |||
db4719f039 | |||
264e14b143 | |||
86d6816db2 | |||
d509076044 | |||
90baf6a403 | |||
a8e31caee8 | |||
6d085446fe | |||
c4b3903361 | |||
4ef37ae68d | |||
15f84cc33b | |||
c4062c78a9 | |||
6b688f5329 | |||
036d66be05 | |||
b1db6744b6 | |||
2ed14dbc80 | |||
e9514a43ee | |||
804bb522a3 | |||
7cb4cb64ba | |||
f81d09d653 | |||
6f35c53bbb | |||
39239e6fff | |||
ca77b35e4e | |||
da00a298f4 | |||
f6c4eeab1a | |||
e050a01a90 | |||
59626b8670 | |||
9cf9b85476 | |||
52e48b56e2 | |||
733f03d6f4 | |||
9602a4ac77 | |||
e80fb4bd30 | |||
c1dacb9a41 | |||
19a3c49539 | |||
79520c6e94 | |||
c26b567478 | |||
4dadeb3f22 | |||
7ad729c136 | |||
d1ff7e43b5 | |||
6259aeb86e | |||
bb95f24115 | |||
2d11f71220 | |||
2126aecb32 | |||
d4749184c2 | |||
ad21d6bfca | |||
91a2cd4770 | |||
f41ca1ed76 | |||
ec38570ead | |||
fc36e9fb0e | |||
aacbd66a85 | |||
f76822a75c | |||
19d4364ed6 | |||
f124939945 | |||
b03dc9c12b | |||
6ab87664b7 | |||
e49dec45c8 | |||
618b9ade15 | |||
85790d028f | |||
d8b9e562d0 | |||
ea32c52a0e | |||
eb89ca67ef | |||
906f9be383 | |||
05af850b28 | |||
29b030dfcf | |||
d591a5a328 | |||
fa6a85c850 | |||
3942a902cd | |||
b57373b058 | |||
985f3e05e3 | |||
602f93ed52 | |||
0a1491366b | |||
789f6f7c35 | |||
45df9c1b91 | |||
dba3fe7ad1 | |||
6962b6ecd3 | |||
aed4aca3fc | |||
65418cc8b5 | |||
ffdf840dbb | |||
12c6a58857 | |||
35dc4b0ede | |||
394c6b0922 | |||
844775059d | |||
f5552cef97 | |||
86024954df | |||
07acbfc6a5 | |||
984ecf9e74 | |||
ec38e67d6c | |||
3ac44141ba | |||
604ffa6d23 | |||
5f5b7ddbf3 | |||
bb3e9ef507 | |||
2e1384aa47 | |||
84355a1aad | |||
ec2ee184f7 | |||
5152f16a2b | |||
5deff30059 | |||
c94bc8e2d0 | |||
505320375e | |||
4797bb9be0 | |||
9a05600004 | |||
e1738143e1 | |||
4ff99a2655 | |||
a39c577257 | |||
43ccd6a4ad | |||
34fc29ae96 | |||
1b33205909 | |||
428a682abe | |||
ffab5e64d1 | |||
1c88b10be2 | |||
0e560e7015 | |||
0f3bc81210 | |||
48c99db6d6 | |||
a6529e789f | |||
77ef99be22 | |||
9a094c4b63 | |||
fb95555088 | |||
a3c6ed0dff | |||
33b59c9170 | |||
3b0a4899d8 | |||
11235d6875 | |||
a554122553 | |||
d51fd30eef | |||
7cd81b91ac | |||
1a39aa01d1 | |||
9d5e724010 | |||
ec54445cd4 | |||
007cf382f8 | |||
218038428e | |||
1493e2d6ee | |||
90c27e9611 | |||
6f5f376b95 | |||
b27e7db0dc | |||
ecbd1a0f06 | |||
22ad95394e | |||
6324759784 | |||
9382f0c251 | |||
04f1de3e14 | |||
1afe46913a | |||
06f1fed3a1 | |||
3529024071 | |||
f95b9b4b09 | |||
ea573b04d8 | |||
64c6a746ac | |||
75439de2d9 | |||
86afb171b6 | |||
e49dfb6c44 | |||
6bcaf6f908 | |||
b3a7c84b43 | |||
e22eef7c51 | |||
8c80d9e612 | |||
fe5cf51258 | |||
373769f103 | |||
5dd52c77f7 | |||
ea120f96c9 | |||
ffdf1f9503 | |||
00f11c0290 | |||
aa969e887a | |||
f6f1215cdb | |||
d6ccbb9d48 | |||
e0936a56ec | |||
be35a3a012 | |||
bb4bee8572 | |||
2e97897ea3 | |||
a2db88eb5a | |||
c3ce09cdac | |||
b2d8a5c017 | |||
aa77d1364f | |||
68bcc083bd | |||
ad581984a6 | |||
45ce5d8973 | |||
d152837d34 | |||
4f880b9ab8 | |||
a03058a22a | |||
f4f2132c64 | |||
388aaf734b | |||
c2dd4c7a6b | |||
e2856be098 | |||
f26b2e5c91 | |||
89c05c56c0 | |||
4dc85f11d1 | |||
6f4dc8f7a4 | |||
56a676e5d0 | |||
f843e0a8ef | |||
b53dfc727e | |||
39a223724d | |||
73c73dded6 | |||
c64465f212 | |||
c3d88eee64 | |||
788eb99448 | |||
d510b60f5b | |||
2151f7561d | |||
a90854d429 | |||
3c4fd70d61 | |||
574b1b9674 | |||
a3a66b6e68 | |||
bc134812c3 | |||
a6fc2125e7 | |||
4f69ab729a | |||
ee2a365872 | |||
a8d4a718e3 | |||
e094b1f137 | |||
259cccd7e7 | |||
237bc2efaa | |||
72616b3813 | |||
a634257f13 | |||
583d531bd6 | |||
517453a6cc | |||
81d55cf6d6 | |||
5461662c66 | |||
466edb51b4 | |||
6ba1fcac34 | |||
4f1147b541 | |||
f87427f1a4 | |||
78452a584a | |||
93329d8189 | |||
9edeb31d4a | |||
fc29afbdd4 | |||
b4b4fa5b2f | |||
e166cb38bf | |||
d86db1ca8e | |||
1deca23f0a | |||
6dd2e7b926 | |||
0967d78490 | |||
37fbbfd3bf | |||
c8a0faab5c | |||
fd05601eb0 | |||
c023839a84 | |||
35b3cc9b6d | |||
6564842857 | |||
b5a237d911 | |||
6b486e1588 | |||
4299cb4829 | |||
e88f705946 | |||
24b1d8af06 | |||
a8df6cff16 | |||
d9e58dca9e | |||
a2a9e607b1 | |||
f21e5c06cd | |||
e0f058ffa8 | |||
caef68968c | |||
9bbb108f24 | |||
19b66235aa | |||
076d9b9778 | |||
448ecc0e06 | |||
3c6ad8d184 | |||
fbad99f347 | |||
79cc5e01b8 | |||
94e4961a01 | |||
f7a7e65aa4 | |||
80594b79f9 | |||
082b36009c | |||
d6d71ce442 | |||
44c431e161 | |||
2e77443e47 | |||
06d224f65e | |||
082f0b94ee | |||
6c2f34ab32 | |||
1cd95b0acf | |||
a3544e47fb | |||
063fc1747a | |||
1a973434c5 | |||
2fec394913 | |||
708e4cb596 | |||
db53013b18 | |||
67444fb952 | |||
f232d30f38 | |||
5e03bd4f6d | |||
94bcbca32f | |||
e963532a96 | |||
b9c5445638 | |||
0a76e7a493 | |||
668cad1c9d | |||
a81c46180c | |||
0f21996c1d | |||
3759e26c87 | |||
01ae7e7de6 | |||
567e8eacfb | |||
da996f893d | |||
9a6fc577d1 | |||
dd2f3fa533 | |||
cf6dc7d3a1 | |||
aecca7592b | |||
060b8ad7a3 | |||
ccf99a39d2 | |||
3da5569488 | |||
6e2f5f2ee7 | |||
fa265fdc3b | |||
6302f8de83 | |||
2fff484961 | |||
26a692145a | |||
cc93c6e474 | |||
4949a3dd62 | |||
1aaa72836d | |||
df89df7e59 | |||
dc41371ce6 | |||
b08543a640 | |||
d2b3961fdc | |||
7ac6ae95ca | |||
e7fc29740b | |||
a24efbcb96 | |||
60aef5f8b5 | |||
eb26530e2c | |||
e20a2b4427 | |||
72ff4b774d | |||
2f33a671b4 | |||
b743178ab3 | |||
278963b91a | |||
e4c8dc8bb1 | |||
05d1e9e2fd | |||
62044c3e57 | |||
80a2e0d9b9 | |||
833e9bad47 | |||
20a609f0f7 | |||
a6daff192f | |||
9e58afef59 | |||
ffa2adf2ae | |||
0d2086b1ee | |||
b3a69e12cb | |||
f238ead6f1 | |||
94eea6fe16 | |||
896a1f7609 | |||
12d3768ec5 | |||
b35adab862 | |||
7d3bd6b505 | |||
a0b97f3743 | |||
244391a075 | |||
6b17794dda | |||
43a5e0cc07 | |||
22fd0dca17 | |||
b99d592752 | |||
32f9bcaa91 | |||
c87bcf4d9f | |||
1649e0a549 | |||
07dda337b7 | |||
dd754fce72 | |||
d30d9a27dc | |||
996bab4a20 | |||
f462b3d379 | |||
dd1fb4e38c | |||
2f8228d3c9 | |||
c715dc80f9 | |||
84a37b9d55 | |||
f1f560568b | |||
6d26d8077a | |||
b9e8044b28 | |||
899be1b352 | |||
969a5c8e85 | |||
0ffebacfd7 | |||
5a7e4a5982 | |||
b726e09157 | |||
a7d3293886 | |||
dd11bf9fe3 | |||
552163ef79 | |||
9c8f0424d6 | |||
30570a7de1 | |||
1132600478 | |||
ad6f6d6bf1 | |||
7b78cde554 | |||
372766f26b | |||
d12f030150 | |||
a85d4a5a9c | |||
841491c06f | |||
5b9c3ddaca | |||
1b150cb000 | |||
72463720a2 | |||
26b0bad671 | |||
b70ff52b83 | |||
ca935d1107 | |||
6109c2cf83 | |||
10dd775ae3 | |||
30cca6ca2a | |||
5f262be24c | |||
1a5f25ea7f | |||
0f30063abf | |||
021c621eb0 | |||
8fee9951d3 | |||
68d68f1d7c | |||
4cecca4925 | |||
7e703d77b2 | |||
757d645cb0 | |||
74bc46c4db | |||
35b601cd71 | |||
c86acf4216 | |||
0589e3ce7f | |||
ff730feacc | |||
7aa5b5ece9 | |||
739c080eef | |||
a9caa50e8a | |||
3d6d1075b2 | |||
40d45996d8 | |||
9853e42a8e | |||
3be5565d5d | |||
9c55c37a18 | |||
ee25a6fb0e | |||
262a18ceb2 | |||
5b302b2ed2 | |||
6fb87c2b77 | |||
ab5eb89a6f | |||
6e732d34a0 | |||
6e0ca68c82 | |||
4fbae5c559 | |||
da5553cae4 | |||
f37e8eaa77 | |||
8fff297ea9 | |||
27d4550430 | |||
31218a4259 | |||
37cae54034 | |||
522e0dbdaa | |||
5f30ae3714 | |||
20ca7ebe31 | |||
7c7e9a2f16 | |||
fe97ee33e8 | |||
3b3d085338 | |||
b3fcd5d57c | |||
7080856542 | |||
c351e8c302 | |||
9a2b5e0ca3 | |||
21e2b5a0ce | |||
cfa02256a5 | |||
944da4828f | |||
865db966f8 | |||
560384fe96 | |||
a11675c42b | |||
64120762f8 | |||
3d93f045b2 | |||
43881bb214 | |||
864be5bae5 | |||
dc15505795 | |||
07bce4ba36 | |||
563c860c0f | |||
368c9a1847 | |||
65fd33f95f | |||
c0dbd4cb56 | |||
404aea866c | |||
585f4d46cc | |||
ed6bda2818 | |||
e65e9dd6b1 | |||
ee1fb0aa1a | |||
70f1af8934 | |||
4c4a360018 | |||
275440edf1 | |||
c5cc741fe9 | |||
b993cb2d6c | |||
a5ce4d3e68 | |||
19dd694401 | |||
1b5e855347 | |||
39df11f104 | |||
0322bc5ed8 | |||
a684d677fb | |||
49e1140879 | |||
df7d4fc297 | |||
a70ebdf289 | |||
ed7ebc26fa | |||
3cf3635d23 | |||
dec2c78403 | |||
6d7a6d291d | |||
4d4953b261 | |||
1254e370cc | |||
a7f018a00d | |||
eb6f80d049 | |||
5ff17ed393 | |||
d06f800cf8 | |||
639cc9c6ba | |||
00b5f53361 | |||
060ae5c88b | |||
38fa9f25ee | |||
ea1dd2e7a8 | |||
df84a28ccc | |||
b8a82496fe | |||
39a84879f5 | |||
3b7983a044 | |||
cf445ea89b | |||
7d66b39513 | |||
26c0e95394 | |||
9660f06634 | |||
a8817fc05f | |||
77d3b655ed | |||
487c1a24f5 | |||
875c21f491 | |||
d73d19805e | |||
16d71173aa | |||
c4d1b47ad9 | |||
b96c358751 | |||
9cbf26d18e | |||
9023eead66 | |||
9b04f56d4a | |||
cffc938934 | |||
1cf2427d1d | |||
42e4433ce0 | |||
0b7446a269 | |||
da321d8834 | |||
460b4f8dfd | |||
1e9ea81a7f | |||
f276079942 | |||
246289c094 | |||
7f501a36c6 | |||
3202c8afe4 | |||
cbce39005e | |||
98872649c5 | |||
9daf5f071c | |||
4330b961c4 | |||
f578b6f8f4 | |||
849104f2fb | |||
be6ad1ace0 | |||
2a358fc52d | |||
459d9e26dd | |||
2d852cffb9 | |||
93df61f3a9 | |||
fa21c922c6 | |||
3acea5c51a | |||
8684643911 | |||
11fdb17564 | |||
3fa23b8c00 | |||
7aaea37e37 | |||
5fc2bed629 | |||
129ed0a264 | |||
98cc7830e7 | |||
33c0aac3b6 | |||
d8ab828e5b | |||
255b6f8646 | |||
2399adaeb0 | |||
cba669cd95 | |||
338d670beb | |||
84439c26d8 | |||
31fdefe584 | |||
4836889249 | |||
ee04881360 | |||
5ddcfe5ec1 | |||
abde3ff503 | |||
fd3df8e24b | |||
02414f8d57 | |||
0a45b40fb2 | |||
e780d980e9 | |||
9849488da1 | |||
90be7544e4 | |||
a6b0922aa1 | |||
1ac6f8b804 | |||
bbc80f4405 | |||
1318ab475d | |||
b274ec73ab | |||
10f9b83f53 | |||
32770f840d | |||
9debbd65af | |||
33bededa11 | |||
50632878bf | |||
67df3ff800 | |||
ec99cd9112 | |||
ee7fb34dcb | |||
60f5328c7d | |||
adac6f40f2 | |||
27ee72f117 | |||
c1363d7541 | |||
889959890c | |||
564b4c5453 | |||
a21690ba12 | |||
ffc87e9cbe | |||
ac86cf33bf | |||
349b64f37a | |||
0b53d8b883 | |||
1d18c8e3c8 | |||
29148b9cd6 | |||
db185182b5 | |||
230dbd6d3c | |||
faaafb4db1 | |||
86c24a2452 | |||
2fae1c0494 | |||
ca71e135bc | |||
816a41c904 | |||
899525d92c | |||
7d638784a2 | |||
7830af3c8d | |||
22ecdbe9f3 | |||
6271dd8459 | |||
e0165fbc94 | |||
cdaddde067 | |||
62d6f1f943 | |||
0a54685b29 | |||
d0bc92df73 | |||
ae38035d3a | |||
851571249f | |||
33c548b1ba | |||
cdad79659d | |||
94239cd6b1 | |||
258f766e56 | |||
c9c7e2d54f | |||
3555b2f9f3 | |||
bebe4fbf40 | |||
849a553505 | |||
2cbe43890b | |||
693511033a | |||
85a2026800 | |||
2976d3286e | |||
ad4f6d7c6e | |||
15e379aaf3 | |||
064b250fac | |||
d4ed0e1c48 | |||
c102bbd2ad | |||
8438927879 | |||
93cb1809a2 | |||
dd5fe14759 | |||
c9e529408b | |||
ebfe6d3d3a | |||
e3ecc2964e | |||
f9e24ddf86 | |||
0df42f31b6 | |||
315ebb2571 | |||
2659d40905 | |||
ca083db4d3 | |||
d92d7cb515 | |||
157f9f567b | |||
d22f256e03 | |||
ac8c357ddc | |||
316466b765 | |||
db11fa46ad | |||
ef5c235541 | |||
0bea950a47 | |||
27c9fcfc48 | |||
602943f8da | |||
8dfeb06eb1 | |||
e9fed766df | |||
73c967665b | |||
a4ecf9654e | |||
9d732d3462 | |||
e5aafb6fbe | |||
aafa1621e1 | |||
a2c4cd7e08 | |||
6245d076b9 | |||
fda6e6f305 | |||
a0f68cd8d3 | |||
000ee73e8c | |||
e3b18bf63d | |||
fdc8fd3602 | |||
1ee8ddc484 | |||
7435e254d4 | |||
ade4f3520b | |||
ae7ac8a723 | |||
fa5f9b5aff | |||
e76ce871c8 | |||
49dbbe99c2 | |||
2289a70b6f | |||
6c7441f5e6 | |||
47d58e5df0 | |||
404c0c455c | |||
0308313e07 | |||
952e6b1ef8 | |||
f67e67510b | |||
1476f6992a | |||
1b8906a529 | |||
c3d7846a33 | |||
ac7ec27e5c | |||
892a423de8 | |||
613f9fc91f | |||
c963499791 | |||
58dfc6c479 | |||
ffa033e13a | |||
e2ec60f28b | |||
cbd5bb9cc7 | |||
78f52fb7d6 | |||
b04405ff76 | |||
20f5687def | |||
8516c219ce | |||
3765b50374 | |||
4891e0b4d1 | |||
cf246d5166 | |||
bdd5031ad2 | |||
3f2467032e | |||
6dc6ee6e72 | |||
4abc731831 | |||
aeffa86cc5 | |||
656743fb6b | |||
022c62a7a4 | |||
68a1cb58c0 | |||
c81509c71d | |||
4d088699f8 | |||
4c77a8b3ed | |||
19a0923ca9 | |||
76eaab0fd9 | |||
e404eb2aba | |||
ef7ea6b77f | |||
78b05575bf | |||
0200143db6 | |||
a12c15907f | |||
d70c560a19 | |||
53dd00a6b0 | |||
f3985488ff | |||
24130ec42c | |||
6c78420bcb | |||
f984aecc02 | |||
aded1d7fd0 | |||
aaa4a0d39e | |||
64d0ad347b | |||
56868b8045 | |||
3ebfd3fb1c | |||
38cb7c1615 | |||
1f7a39eaf6 | |||
05a480acea | |||
31ed8856f9 | |||
08de06ad6d | |||
3c18186e76 | |||
22236a580d | |||
9e591c409a | |||
f9acd37d7f | |||
75f6ab35ff | |||
8ace387090 | |||
4389bbc55d | |||
e53534eead | |||
a1c247b55d | |||
13d6a4647d | |||
08bd2077bf | |||
b0db813523 | |||
b218c20c00 | |||
c1d524b8c6 | |||
9a1620f4ed | |||
5e6e5c11c7 | |||
8130959d01 | |||
5e0db41602 | |||
3ec3cb82f9 | |||
27b149c30b | |||
027b8b2ab9 | |||
4e66d932c7 | |||
244f455bd9 | |||
9c19a4fae8 | |||
f0712795b0 | |||
a3c44d843c | |||
3c70774629 | |||
22bcb5643b | |||
64b88623cb | |||
77516ca792 | |||
e515515e2e | |||
6807204919 | |||
2266b33935 | |||
d2c57f2a0c | |||
f7e91d22d4 | |||
2efd6441c4 | |||
1da9e35bc9 | |||
0ad5fbd48d | |||
2cee2ff256 | |||
b339fbb79b | |||
b773729939 | |||
ac80610b51 | |||
ce66cd3e49 | |||
8331833c89 | |||
a626d2ed6f | |||
f38dc8b11d | |||
c39f009739 | |||
c6c64e844b | |||
2e3edcfbe0 | |||
845b65bf5e | |||
5a27b75642 | |||
cbde6410a0 | |||
e4abe7fd5a | |||
f06d046c10 | |||
859ca18ced | |||
99157c1f4a | |||
61ab526971 | |||
21f9650b7f | |||
9f0093d208 | |||
00d66603db | |||
ae4eba9be5 | |||
0ec903a73b | |||
76943a3443 | |||
37158c588e | |||
2a08ca7e7a | |||
5b880a1333 | |||
fafd512842 | |||
b06dea9e90 | |||
488f5d8593 | |||
a59b5f8ca3 | |||
f6676df8b5 | |||
8972cacd48 | |||
bbc3cf499a | |||
f608a9b8c6 | |||
03437f0773 | |||
15a5b0a571 | |||
3b2d9970dc | |||
c0ee13a730 | |||
9d403afe5b | |||
1cc58cff6b | |||
dc324792be | |||
9dfa63b3fd | |||
cb108eef21 | |||
9759dc334e | |||
328a023795 | |||
23af35f040 | |||
965f98c8dc | |||
635ac11deb | |||
d67cf181bf | |||
7dbc4a4658 | |||
f9e18520c9 | |||
e98dbf31f2 | |||
9cf49da224 | |||
e167c38775 | |||
038dc4535c | |||
1ad0f6d90b | |||
75d19d740b | |||
36f9ea6f2a | |||
0c1d660263 | |||
433bc3eed3 | |||
c23ec645d3 | |||
67e3365eb0 | |||
944cf91fd9 | |||
0be419947e | |||
37eb24be15 | |||
cc975c5c65 | |||
f09221c033 | |||
57419de187 | |||
8d0a609e6d | |||
45b0714c89 | |||
f51738ddab | |||
7a5c369614 | |||
9789689e41 | |||
aaa69b621b | |||
0fc6bec763 | |||
89fe2f34b4 | |||
d0d528a92a | |||
24e4edb376 | |||
65f81a7b90 | |||
ac1c9bb5cd | |||
d626e554aa | |||
3f0a95ac4c | |||
e751a101c0 | |||
b89c8bb135 | |||
9d733def59 | |||
739a6ad1ac | |||
d0b7a534ce | |||
b7fe448575 | |||
ba78fce868 | |||
a3288b38e1 | |||
417a6da449 | |||
f542b7bcef | |||
1c7ba62eb7 | |||
c86b119495 | |||
8b043c058c | |||
d4b58259c4 | |||
2787237dd5 | |||
10f7f997ad | |||
ac0dc4a840 | |||
540902ca47 | |||
6b43055b7a | |||
0052d05101 | |||
b5e27a81cc | |||
91839eef5c | |||
76e72a0dd5 | |||
7c0e49b24a | |||
0698f0f354 | |||
8818ddab82 | |||
3ece16410f | |||
292a764141 | |||
e23b0abe30 | |||
465b2a8f00 | |||
af4e8e82c6 | |||
58a3f765e9 | |||
d509ee55b6 | |||
d5ab1267e5 | |||
dd4741c7bd | |||
d736b1a607 | |||
0728c46925 | |||
0ada720d03 | |||
aba6715fe2 | |||
eec3e3b3d9 | |||
408e5ab6c9 | |||
297d27b8bb | |||
3a7db27f45 | |||
1b5b41a790 | |||
8ab253c9a9 | |||
9f5c365e6d | |||
197c486997 | |||
b5df56f6f2 | |||
f4d98fdd20 | |||
f2d38baa98 | |||
d194081ba6 | |||
d6375cf556 | |||
37765930ec | |||
279c3e1e7d | |||
c89d2a2890 | |||
8199b88222 | |||
fc7b41d370 | |||
23b081825d | |||
548d350305 | |||
7d4ef16efe | |||
88615629c0 | |||
eb723f01af | |||
70992a4335 | |||
18d360a582 | |||
f6d320060d | |||
3840bcc19e | |||
9c27dc8d56 | |||
bb9dda4a7a | |||
1d05a3bf56 | |||
4940255a40 | |||
beee666ad3 | |||
a7bc5b818a | |||
186c0eb27e | |||
f9544da6c4 | |||
fccc24f063 | |||
f31c2f2b7a | |||
17721be11a | |||
3a2d4000ce | |||
1b77a487d6 | |||
1c22753996 | |||
805b96cdc6 | |||
4bf70523b3 | |||
732e9e6382 | |||
8b0636e06f | |||
8e6f162cc0 | |||
e78e909180 | |||
4ed4c2474b | |||
b35b823a59 | |||
8583191e8a | |||
6f468a58c1 | |||
162d704b57 | |||
be5cc7da5f | |||
e05f81a3e0 | |||
98d580b8fb | |||
3b6b9c7b78 | |||
985821c4f2 | |||
083702c32e | |||
375d460f5f | |||
68d19f83c3 | |||
34e84b5858 | |||
55bdaa98e2 | |||
d74cd60b81 | |||
0591348833 | |||
cb9773443d | |||
740d62c9fd | |||
7dc74b2f6e | |||
953a26875b | |||
0d18da8627 | |||
71624cd94f | |||
2cbe3df2cd | |||
5413a77f34 | |||
c8085e029a | |||
35808fdb08 | |||
e0469b6ded | |||
2fc5976740 | |||
8572e33e5c | |||
92e4ed1702 | |||
1bc061ee90 | |||
cee844c957 | |||
780e02d1a5 | |||
c196246f75 | |||
e1383d39d7 | |||
4338ae3194 | |||
95a1142019 | |||
15ef9b6513 | |||
a6e4afc1cb | |||
e8ac16e7e9 | |||
839c98aa8d | |||
6473473417 | |||
b68dbc47c4 | |||
070d7a6c4b | |||
f1b0935ec4 | |||
b64cdebd2d | |||
f1e25b1e35 | |||
e697fd9ecb | |||
97fce56b9c | |||
14d0a6a982 | |||
5aa09de155 | |||
193aac8835 | |||
fc63f8d5a9 | |||
91a4512adf | |||
0c094aeb0e | |||
9918c34d87 | |||
418bc72d01 | |||
1a98880228 | |||
02d4318ae2 | |||
103c1205e7 | |||
b600d41c3f | |||
d0a62c667d | |||
52016659a4 | |||
b45219e720 | |||
421285ebc0 | |||
9448682239 | |||
64fad6feb3 | |||
9f23583fa7 | |||
e795772585 | |||
5497194334 | |||
cad3f47cda | |||
ec39cb3a80 | |||
68cb9ed068 | |||
7ce9883058 | |||
c37b9aa9f0 | |||
58ba83fe74 | |||
5fde1b7669 | |||
3b947e2094 | |||
66c6413c69 | |||
c4a6628a6f | |||
1bc87143a4 | |||
8e400f0cca | |||
2e2f72ec8a | |||
2826cdccd1 | |||
1e4779e87e | |||
ce5b1d1ec7 | |||
5edd51f3c2 | |||
f669c81cf4 | |||
4ff66dc08f | |||
266c313bc1 | |||
c36650143b | |||
0afaff2611 | |||
ba4dbf8c4c | |||
4537332d64 | |||
1550469234 | |||
6538d91bc3 | |||
5345a3841d | |||
2d634c9069 | |||
98d6f33c0b | |||
5323bf422f | |||
3ef8e21f33 | |||
26e880e8a3 | |||
9148cd145f | |||
59ab203f1c | |||
1a8d0e5886 | |||
b9d95c5f64 | |||
a833698280 | |||
4041772535 | |||
cb0584ecdb | |||
0ce74161ad | |||
cc2c5c9ec7 | |||
07f11db69c | |||
398df49d3f | |||
27af8a7e5d | |||
6a2ca474a4 | |||
f8248f38a1 | |||
de2ab41fc4 | |||
cb18524b4a | |||
ea3e6b06cc | |||
7cc513557d | |||
a2b21c23d5 | |||
e1aa9833c1 | |||
4c4f916172 | |||
88418a74cf | |||
9f2d082005 | |||
a7586772d0 | |||
0fcbd3a125 | |||
661ad4666c | |||
286a0572e7 | |||
cf2f7005f6 | |||
e31bfef2b0 | |||
2cc5bcbf7f | |||
0b7d3a154e | |||
2a1638a9ce | |||
3379879c6c | |||
bc148df898 | |||
25e9dc6be9 |
@ -20,6 +20,8 @@
|
||||
--ignore SPDX_LICENSE_TAG
|
||||
--ignore UNDOCUMENTED_DT_STRING
|
||||
--ignore PRINTK_WITHOUT_KERN_LEVEL
|
||||
--ignore ASSIGN_IN_IF
|
||||
--ignore UNNECESSARY_ELSE
|
||||
|
||||
# FILE_PATH_CHANGES seems to not be working correctly. It will
|
||||
# choke on added / deleted files even if the MAINTAINERS file
|
||||
@ -30,5 +32,8 @@
|
||||
# some commits unnecessarily.
|
||||
--ignore EXECUTE_PERMISSIONS
|
||||
|
||||
# Exclude the vendorcode directory
|
||||
--exclude src/vendorcode
|
||||
# Exclude vendorcode directories that don't follow coreboot's coding style.
|
||||
--exclude src/vendorcode/amd
|
||||
--exclude src/vendorcode/cavium
|
||||
--exclude src/vendorcode/intel
|
||||
--exclude src/vendorcode/mediatek
|
||||
|
2
.gitmodules
vendored
@ -9,6 +9,7 @@
|
||||
[submodule "vboot"]
|
||||
path = 3rdparty/vboot
|
||||
url = ../vboot.git
|
||||
branch = main
|
||||
[submodule "arm-trusted-firmware"]
|
||||
path = 3rdparty/arm-trusted-firmware
|
||||
url = ../arm-trusted-firmware.git
|
||||
@ -34,6 +35,7 @@
|
||||
url = ../intel-microcode.git
|
||||
update = none
|
||||
ignore = dirty
|
||||
branch = main
|
||||
[submodule "3rdparty/ffs"]
|
||||
path = 3rdparty/ffs
|
||||
url = ../ffs.git
|
||||
|
2
3rdparty/amd_blobs
vendored
2
3rdparty/arm-trusted-firmware
vendored
2
3rdparty/blobs
vendored
2
3rdparty/chromeec
vendored
2
3rdparty/fsp
vendored
2
3rdparty/intel-microcode
vendored
2
3rdparty/intel-sec-tools
vendored
2
3rdparty/libgfxinit
vendored
2
3rdparty/libhwbase
vendored
2
3rdparty/qc_blobs
vendored
2
3rdparty/vboot
vendored
@ -1,239 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Board</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>x86 Board Development</h1>
|
||||
<p>
|
||||
Board development requires System-on-a-Chip (SoC) support.
|
||||
The combined steps are listed
|
||||
<a target="_blank" href="../development.html">here</a>.
|
||||
The development steps for the board are listed below:
|
||||
</p>
|
||||
<ol>
|
||||
<li><a href="#RequiredFiles">Required Files</a></li>
|
||||
<li>Enable <a href="#SerialOutput">Serial Output</a></li>
|
||||
<li>Load the <a href="#SpdData">Memory Timing Data</a></li>
|
||||
<li><a href="#DisablePciDevices">Disable</a> the PCI devices</li>
|
||||
<li><a href="#AcpiTables">ACPI Tables</a></li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="RequiredFiles">Required Files</a></h2>
|
||||
<p>
|
||||
Create the board directory as src/mainboard/<Vendor>/<Board>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The following files are required to build a new board:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Kconfig.name - Defines the Kconfig value for the board</li>
|
||||
<li>Kconfig
|
||||
<ol type="A">
|
||||
<li>Selects the SoC for the board and specifies the SPI flash size
|
||||
<ol type="I">
|
||||
<li>BOARD_ROMSIZE_KB_<Size></li>
|
||||
<li>SOC_<Vendor>_<Chip Family></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Declare the Kconfig values for:
|
||||
<ol type="I">
|
||||
<li>MAINBOARD_DIR</li>
|
||||
<li>MAINBOARD_PART_NUMBER</li>
|
||||
<li>MAINBOARD_VENDOR</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>devicetree.cb - Enable root bridge and serial port
|
||||
<ol type="A">
|
||||
<li>The first line must be "chip soc/Intel/<soc family>";
|
||||
this path is used by the generated static.c to include the chip.h
|
||||
header file
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>romstage.c
|
||||
<ol type="A">
|
||||
<li>Add routine mainboard_romstage_entry which calls romstage_common</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Configure coreboot build:
|
||||
<ol type="A">
|
||||
<li>Set LOCALVERSION</li>
|
||||
<li>Select vendor for the board</li>
|
||||
<li>Select the board</li>
|
||||
<li>CBFS_SIZE = 0x00100000</li>
|
||||
<li>Set the CPU_MICROCODE_CBFS_LEN</li>
|
||||
<li>Set the CPU_MICROCODE_CBFS_LOC</li>
|
||||
<li>Set the FSP_IMAGE_ID_STRING</li>
|
||||
<li>Set the FSP_LOC</li>
|
||||
<li>No payload</li>
|
||||
<li>Choose the default value for all other options</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="SerialOutput">Enable Serial Output</a></h2>
|
||||
<p>
|
||||
Use the following steps to enable serial output:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Implement the car_mainboard_pre_console_init routine in the com_init.c
|
||||
file:
|
||||
<ol type="A">
|
||||
<li>Power on and enable the UART controller</li>
|
||||
<li>Connect the UART receive and transmit data lines to the
|
||||
appropriate SoC pins
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add Makefile.inc
|
||||
<ol type="A">
|
||||
<li>Add com_init.c to romstage</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="SpdData">Memory Timing Data</a></h2>
|
||||
<p>
|
||||
Memory timing data is located in the flash. This data is in the format of
|
||||
<a target="_blank" href="https://en.wikipedia.org/wiki/Serial_presence_detect">serial presence detect</a>
|
||||
(SPD) data.
|
||||
Use the following steps to load the SPD data:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit Kconfig to add the DISPLAY_SPD_DATA" value which enables the
|
||||
display of the SPD data being passed to MemoryInit
|
||||
</li>
|
||||
<li>Create an "spd" subdirectory</li>
|
||||
<li>Create an spd/spd.c file for the SPD implementation
|
||||
<ol type="A">
|
||||
<li>Implement the mainboard_fill_spd_data routine
|
||||
<ol type="i">
|
||||
<li>Read the SPD data either from the spd.bin file or using I2C or SMBUS</li>
|
||||
<li>Fill in the pei_data structure with SPD data for each of the DIMMs</li>
|
||||
<li>Set the DIMM channel configuration</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add an .spd.hex file containing the memory timing data to the spd subdirectory</li>
|
||||
<li>Create spd/Makefile.inc
|
||||
<ol type="A">
|
||||
<li>Add spd.c to romstage</li>
|
||||
<li>Add the .spd.hex file to SPD_SOURCES</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit Makefile.inc to add the spd subdirectory</li>
|
||||
<li>Edit romstage.c
|
||||
<ol type="A">
|
||||
<li>Call mainboard_fill_spd_data</li>
|
||||
<li>Add mainboard_memory_init_params to copy the SPD and DRAM
|
||||
configuration data from the pei_data structure into the UPDs
|
||||
for MemoryInit
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit devicetree.cb
|
||||
<ol type="A">
|
||||
<li>Include the UPD parameters for MemoryInit except for:
|
||||
<ul>
|
||||
<li>Address of SPD data</li>
|
||||
<li>DRAM configuration set above</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>A working FSP
|
||||
<a target="_blank" href="../fsp1_1.html#MemoryInit">MemoryInit</a>
|
||||
routine is required to complete debugging</li>
|
||||
<li>Debug the result until port 0x80 outputs
|
||||
<ol type="A">
|
||||
<li>0x34:
|
||||
- Just after entering
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l67">raminit</a>
|
||||
</li>
|
||||
<li>0x36:
|
||||
- Just before displaying the
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l106">UPD parameters</a>
|
||||
for FSP MemoryInit
|
||||
</li>
|
||||
<li>0x92: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l219">POST_FSP_MEMORY_INIT</a>
|
||||
- Just before calling FSP
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l125">MemoryInit</a>
|
||||
</li>
|
||||
<li>0x37:
|
||||
- Just after returning from FSP
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l127">MemoryInit</a>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Continue debugging with CONFIG_DISPLAY_HOBS enabled until TempRamExit is called</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="DisablePciDevices">Disable PCI Devices</a></h2>
|
||||
<p>
|
||||
Ramstage's BS_DEV_ENUMERATE state displays the PCI vendor and device IDs for all
|
||||
of the devices in the system. Edit the devicetree.cb file:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit the devicetree.cb file:
|
||||
<ol type="A">
|
||||
<li>Add an entry for a PCI device.function and turn it off. The entry
|
||||
should look similar to:
|
||||
<pre><code>device pci 14.0 off end</code></pre>
|
||||
</li>
|
||||
<li>Turn on the devices for:
|
||||
<ul>
|
||||
<li>Memory Controller</li>
|
||||
<li>Debug serial device</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Debug until the BS_DEV_ENUMERATE state shows the proper state for all of the devices</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="AcpiTables">ACPI Tables</a></h2>
|
||||
<ol>
|
||||
<li>Edit Kconfig
|
||||
<ol type="A">
|
||||
<li>Add "select HAVE_ACPI_TABLES"</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add the acpi_tables.c module:
|
||||
<ol type="A">
|
||||
<li>Include soc/acpi.h</li>
|
||||
<li>Add the acpi_create_fadt routine
|
||||
<ol type="I">
|
||||
<li>fill in the ACPI header</li>
|
||||
<li>Call the acpi_fill_fadt routine</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add the dsdt.asl module:
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<p>Modified: 20 February 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,113 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Galileo</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Intel® Galileo Development Board</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.mouser.com/images/microsites/Intel_Galileo2_lrg.jpg"><img alt="Galileo Gen 2" src="http://www.mouser.com/images/microsites/Intel_Galileo2_lrg.jpg" width=500></a></td>
|
||||
<td>
|
||||
The Intel® Galileo Gen 2 mainboard code was developed along with the Intel®
|
||||
<a target="_blank" href="../SoC/quark.html">Quark™</a> SoC:
|
||||
<ul>
|
||||
<li><a target="_blank" href="../development.html">Overall</a> development</li>
|
||||
<li><a target="_blank" href="../SoC/soc.html">SoC</a> support</li>
|
||||
<li><a target="_blank" href="../fsp1_1.html">FSP 1.1</a> integration</li>
|
||||
<li><a target="_blank" href="board.html">Board</a> support</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>Galileo Board Documentation</h2>
|
||||
<ul>
|
||||
<li>Common Components
|
||||
<ul>
|
||||
<li>A/D: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/adc108s102.pdf">ADC108S102</a></li>
|
||||
<li>Analog Switch: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/ts5a23159.pdf">TS5A23159</a></li>
|
||||
<li>Ethernet (10/100 MB/S): Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/dp83848-ep.pdf">DP83848</a></li>
|
||||
<li>Load Switch: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/tps22920.pdf">TPS22920x</a></li>
|
||||
<li>Memory (256 MiB): Micron <a target="_blank" href="https://www.micron.com/~/media/Documents/Products/Data%20Sheet/DRAM/DDR3/1Gb_1_35V_DDR3L.pdf">MT41K128M8</a></li>
|
||||
<li>SoC: Intel® Quark™ <a target="_blank" href="../SoC/quark.html">X-1000</a></li>
|
||||
<li>Serial EEPROM (1 KiB): ON Semiconductor® <a target="_blank" href="http://www.onsemi.com/pub_link/Collateral/CAT24C01-D.PDF">CAT24C08</a></li>
|
||||
<li>SPI Flash (8 MiB): Winbond™ <a target="_blank" href="http://www.winbond-usa.com/resource-files/w25q64fv_revl1_100713.pdf">W25Q64FV</a></li>
|
||||
<li>Step Down Converter: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/slvsag7c/slvsag7c.pdf">TPS62130</a></li>
|
||||
<li>Step Down Converter: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ug/slvu570/slvu570.pdf">TPS652510</a></li>
|
||||
<li>Termination Regulator: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/tps51200.pdf">TPS51200</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Make a bootable <a target="_blank" href="https://software.intel.com/en-us/get-started-galileo-linux-step1">micro SD card</a></li>
|
||||
</ul>
|
||||
|
||||
<h3>Galileo Gen 2 Board Documentation</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://files.linuxgizmos.com/intel_galileo_gen2_blockdiagram.jpg">Block Diagram</a></li>
|
||||
<li><a target="_blank" href="https://software.intel.com/en-us/iot/library/galileo-getting-started">Getting Started</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/www/us/en/embedded/products/galileo/galileo-overview.html">Overview</a></li>
|
||||
<li><a target="_blank" href="http://files.linuxgizmos.com/intel_galileo_gen2_ports.jpg">Port Diagram</a></li>
|
||||
<li><a target="_blank" href="http://download.intel.com/support/galileo/sb/intelgalileogen2prodbrief_330736_003.pdf">Product Brief</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/guides/galileo-g2-schematic.pdf">Schematic</a></li>
|
||||
<li><a target="_blank" href="http://download.intel.com/support/galileo/sb/galileo_boarduserguide_330237_001.pdf">User Guide</a></li>
|
||||
<li>Components
|
||||
<ul>
|
||||
<li>A/D: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/adc108s102.pdf">ADC108S102</a></li>
|
||||
<li>I2C 16-channel, 12-bit PWM: NXP Semiconductors <a target="_blank" href="http://cache.nxp.com/documents/data_sheet/PCA9685.pdf">PCA9685</a></li>
|
||||
<li>I2C I/O Ports: NXP Semiconductors <a target="_blank" href="http://www.nxp.com/documents/data_sheet/PCAL9535A.pdf">PCAL9535A</a></li>
|
||||
<li>Octal Buffer/Driver: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/sn74lv541at.pdf">SN74LV541AT</a></li>
|
||||
<li>Quadruple Bus Buffer: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/sn74lv125a.pdf">SN74LV125A</a></li>
|
||||
<li>Quadruple Bus Buffer with 3-State Outputs: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/sn74lvc126a.pdf">SN74LVC126A</a></li>
|
||||
<li>Serial EEPROM (1 KiB): ON Semiconductor® <a target="_blank" href="http://www.onsemi.com/pub_link/Collateral/CAT24C01-D.PDF">CAT24C08</a></li>
|
||||
<li>Single 2-input multiplexer: NXP Semiconductors <a target="_blank" href="http://www.nxp.com/documents/data_sheet/74LVC1G157.pdf">74LVC1G157</a></li>
|
||||
<li>Step Down Converter: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/slvsag7c/slvsag7c.pdf">TPS62130</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Galileo Gen 1 Board Documentation</h3>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/galileo-g1-datasheet.pdf">Datasheet</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/guides/galileo-g1-schematic.pdf">Schematic</a></li>
|
||||
<li>Components
|
||||
<ul>
|
||||
<li>A/D: Analog Devices <a target="_blank" href="http://www.analog.com/media/en/technical-documentation/data-sheets/AD7298-1.pdf">AD7298</a></li>
|
||||
<li>Analog Switch, 2 channel: Texas Instruments <a target="_blank" href="http://www.ti.com.cn/cn/lit/ds/symlink/ts5a23159.pdf">TS5A23159</a></li>
|
||||
<li>EEPROM & GPIO: Cypress <a target="_blank" href="http://www.cypress.com/file/37971/download">CY8C9540A</a></li>
|
||||
<li>Power Distribution Switch: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/tps2044b.pdf">TPS2051BDBVR</a></li>
|
||||
<li>RS232 Converter: Texas Instruments <a target="_blank" href="http://www.ti.com/lit/ds/symlink/max3232.pdf">MAX3232</a></li>
|
||||
<li>Voltage-Level Translator: Texas Instruments<a target="_blank" href="http://www.ti.com/lit/ds/symlink/txs0108e.pdf">TXS0108E</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>Debug Tools</h2>
|
||||
<ul>
|
||||
<li>Flash Programmer:
|
||||
<ul>
|
||||
<li>Dediprog <a target="_blank" href="http://www.dediprog.com/pd/spi-flash-solution/SF100">SF100</a> ISP IC Programmer</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>JTAG Connector: <a target="_blank" href="https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=Olimex+ARM-JTAG-20-10">Olimex ARM-JTAG-20-10</a></li>
|
||||
<li>JTAG Debugger:
|
||||
<ul>
|
||||
<li>Olimex LTD <a target="_blank" href="https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=Olimex+ARM-USB-OCD-H">ARM-USB-OCD-H</a></li>
|
||||
<li>Tincan Tools <a target="_blank" href="https://www.tincantools.com/wiki/Flyswatter2">Flyswatter2</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="http://download.intel.com/support/processors/quark/sb/sourcedebugusingopenocd_quark_appnote_330015_003.pdf">Hardware Setup and Software Installation</a></li>
|
||||
<li>USB Serial cable: FTDI <a target="_blank" href="https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=FTDI+TTL-232R-3V3">TTL-232R-3V3</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<p>Modified: 29 February 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,220 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Quark™ SoC</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Intel® Quark™ SoC</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png"><img alt="Quark Block Diagram" src="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png" width=500></a></td>
|
||||
<td>
|
||||
The Quark™ SoC code was developed using the
|
||||
<a target="_blank" href="../Board/galileo.html">Galileo Gen 2</a>
|
||||
board:
|
||||
<ul>
|
||||
<li><a target="_blank" href="../development.html">Overall</a> development</li>
|
||||
<li><a target="_blank" href="soc.html">SoC</a> support</li>
|
||||
<li><a target="_blank" href="../fsp1_1.html">FSP 1.1</a> integration</li>
|
||||
<li><a target="_blank" href="../Board/board.html">Board</a> support</li>
|
||||
<li><a target="_blank" href="#QuarkFsp">Quark™ FSP</a></li>
|
||||
<li><a target="_blank" href="#CorebootPayloadPkg">CorebootPayloadPkg</a></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>Quark™ Documentation</h2>
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/images/embedded/16x9/edc-quark-block-diagram-16x9.png">Block Diagram</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/www/us/en/embedded/products/quark/specifications.html">Specifications</a>:
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://ark.intel.com/products/79084/Intel-Quark-SoC-X1000-16K-Cache-400-MHz">X1000</a>
|
||||
- <a target="_blank" href="http://www.intel.com/content/www/us/en/search.html?keyword=X1000">Documentation</a>:
|
||||
<ul>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/datasheets/quark-x1000-datasheet.pdf">Datasheet</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/support/us/en/documents/processors/quark/sb/intelquarkcore_devman_001.pdf">Developer's Manual</a></li>
|
||||
<li><a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/product-briefs/intel-quark-product-brief-v3.pdf">Product Brief</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="../index.html#Documentation">More documentation</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="CorebootPayloadPkg">Quark™ EDK2 CorebootPayloadPkg</a></h2>
|
||||
<p>
|
||||
Build Instructions:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Set up <a href="#BuildEnvironment">build environment</a></li>
|
||||
<li>Linux (assumes GCC48):
|
||||
<pre><code>build -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc -a IA32 \
|
||||
-t GCC48 -b DEBUG -DDEBUG_PROPERTY_MASK=0x27 \
|
||||
-DDEBUG_PRINT_ERROR_LEVEL=0x80000042 -DSHELL_TYPE=BUILD_SHELL \
|
||||
-DMAX_LOGICAL_PROCESSORS=1
|
||||
ls Build/CorebootPayloadPkgIA32/DEBUG_GCC48/FV/UEFIPAYLOAD.fd
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>Windows (assumes Visual Studio 2015):
|
||||
<pre><code>build -p CorebootPayloadPkg\CorebootPayloadPkgIa32.dsc -a IA32 -t VS2015x86 -b DEBUG -DDEBUG_PROPERTY_MASK=0x27 -DDEBUG_PRINT_ERROR_LEVEL=0x80000042 -DSHELL_TYPE=BUILD_SHELL -DMAX_LOGICAL_PROCESSORS=1
|
||||
dir Build\CorebootPayloadPkgIA32\DEBUG_VS2015x86\FV\UEFIPAYLOAD.fd
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>In the .config for coreboot, set the following Kconfig values:
|
||||
<ul>
|
||||
<li>CONFIG_PAYLOAD_ELF=y</li>
|
||||
<li>CONFIG_PAYLOAD_FILE="path to UEFIPAYLOAD.fd"</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Build coreboot</li>
|
||||
<li>Copy the image build/coreboot.rom into flash</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="BuildEnvironment">Quark™ EDK2 Build Environment</a></h2>
|
||||
<p>
|
||||
Use the following steps to setup a build environment:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Get the EDK2 sources:
|
||||
<ol type="A">
|
||||
<li>EDK2: git clone <a target="_blank" href="https://github.com/tianocore/edk2.git">https://github.com/tianocore/edk2.git</a></li>
|
||||
<li>EDK2-non-osi: git clone <a target="_blank" href="https://github.com/tianocore/edk2-non-osi.git">https://github.com/tianocore/edk2-non-osi.git</a></li>
|
||||
<li>Win32 BaseTools: git clone <a target="_blank" href="https://github.com/tianocore/edk2-BaseTools-win32.git">https://github.com/tianocore/edk2-BaseTools-win32.git</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Set up a build window:
|
||||
<ul>
|
||||
<li>Linux:
|
||||
<pre><code>export WORKSPACE=$PWD
|
||||
export PACKAGES_PATH="$PWD/edk2:$PWD/edk2-non-osi"
|
||||
cd edk2
|
||||
export WORKSPACE=$PWD
|
||||
. edksetup.sh
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>Windows:
|
||||
<pre><code>set WORKSPACE=%CD%
|
||||
set PACKAGES_PATH=%WORKSPACE%\edk2;%WORKSPACE%\edk2-non-osi
|
||||
set EDK_TOOLS_BIN=%WORKSPACE%\edk2-BaseTools-win32
|
||||
cd edk2
|
||||
edksetup.bat
|
||||
</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="QuarkFsp">Quark™ FSP</a></h2>
|
||||
<p>
|
||||
Getting the Quark FSP source:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Set up an EDK-II <a href="#BuildEnvironment">Build Environment</a></li>
|
||||
<li>cd edk2</li>
|
||||
<li>mkdir QuarkFspPkg</li>
|
||||
<li>cd QuarkFspPkg</li>
|
||||
<li>Use git to clone <a target="_blank" href="https://review.gerrithub.io/#/admin/projects/LeeLeahy/quarkfsp">QuarkFspPkg</a> into the QuarkFpsPkg directory (.)</li>
|
||||
</ol>
|
||||
|
||||
<h3>Building QuarkFspPkg</h3>
|
||||
<p>
|
||||
There are two versions of FSP: FSP 1.1 and FSP 2.0. There are also two
|
||||
different implementations of FSP, one using subroutines without SEC and
|
||||
PEI core and the original implementation which relies on SEC and PEI core.
|
||||
Finally there are two different build x86 types release (r32) and debug (d32).
|
||||
</p>
|
||||
<p>Note that the subroutine implementations are a <b>work in progress</b>.</p>
|
||||
<p>
|
||||
Build commands shown building debug FSP:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Linux:
|
||||
<ul>
|
||||
<li>QuarkFspPkg/BuildFsp1_1.sh -d32</li>
|
||||
<li>QuarkFspPkg/BuildFsp1_1Pei.sh -d32</li>
|
||||
<li>QuarkFspPkg/BuildFsp2_0.sh -d32</li>
|
||||
<li>QuarkFspPkg/BuildFsp2_0Pei.sh -d32</li>
|
||||
</ul>
|
||||
<li>Windows:
|
||||
<ul>
|
||||
<li>QuarkFspPkg/BuildFsp1_1.bat -d32</li>
|
||||
<li>Windows: QuarkFspPkg/BuildFsp2_0.bat -d32</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Copying FSP files into coreboot Source Tree</h3>
|
||||
<p>
|
||||
There are some helper scripts to copy the FSP output into the coreboot
|
||||
source tree. The parameters to these scripts are:
|
||||
</p>
|
||||
<ol>
|
||||
<li>EDK2 tree root</li>
|
||||
<li>coreboot tree root</li>
|
||||
<li>Build type: DEBUG or RELEASE</li>
|
||||
</ol>
|
||||
<p>
|
||||
Script files:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Linux:
|
||||
<ul>
|
||||
<li>QuarkFspPkg/coreboot_fsp1_1.sh</li>
|
||||
<li>QuarkFspPkg/coreboot_fsp1_1Pei.sh</li>
|
||||
<li>QuarkFspPkg/coreboot_fsp2_0.sh</li>
|
||||
<li>QuarkFspPkg/coreboot_fsp2_0Pei.sh</li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>Quark™ EDK2 BIOS</h2>
|
||||
<p>
|
||||
Build Instructions:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Set up <a href="#BuildEnvironment">build environment</a></li>
|
||||
<li>Build the image:
|
||||
<ul>
|
||||
<li>Linux:
|
||||
<pre><code>build -p QuarkPlatformPkg/Quark.dsc -a IA32 -t GCC48 -b DEBUG -DDEBUG_PROPERTY_MASK=0x27 -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
|
||||
ls Build/Quark/DEBUG_GCC48/FV/Quark.fd
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>Windows:
|
||||
<pre><code>build -p QuarkPlatformPkg/Quark.dsc -a IA32 -t VS2012x86 -b DEBUG -DDEBUG_PROPERTY_MASK=0x27 -DDEBUG_PRINT_ERROR_LEVEL=0x80000042
|
||||
dir Build\Quark\DEBUG_VS2012x86\FV\Quark.fd
|
||||
</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
Documentation:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/tianocore/edk2/tree/master/QuarkPlatformPkg">EDK II firmware for Intel® Quark™ SoC X1000 based platforms</a></li>
|
||||
<li>Intel® Quark™ SoC X1000 <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/guides/quark-x1000-uefi-firmware-writers-guide.pdf">UEFI Firmware Writer's Guide</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<p>Modified: 17 May 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,730 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>SoC</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>x86 System on a Chip (SoC) Development</h1>
|
||||
<p>
|
||||
SoC development is best done in parallel with development for a specific
|
||||
board. The combined steps are listed
|
||||
<a target="_blank" href="../development.html">here</a>.
|
||||
The development steps for the SoC are listed below:
|
||||
</p>
|
||||
<ol>
|
||||
<li><a target="_blank" href="../fsp1_1.html#RequiredFiles">FSP 1.1</a> required files</li>
|
||||
<li>SoC <a href="#RequiredFiles">Required Files</a></li>
|
||||
<li><a href="#Descriptor">Start Booting</a></li>
|
||||
<li><a href="#EarlyDebug">Early Debug</a></li>
|
||||
<li><a href="#Bootblock">Bootblock</a></li>
|
||||
<li><a href="#TempRamInit">TempRamInit</a></li>
|
||||
<li><a href="#Romstage">Romstage</a>
|
||||
<ol type="A">
|
||||
<li>Enable <a href="#SerialOutput">Serial Output"</a></li>
|
||||
<li>Get the <a href="#PreviousSleepState">Previous Sleep State</a></li>
|
||||
<li>Add the <a href="#MemoryInit">MemoryInit</a> Support</li>
|
||||
<li>Disable the <a href="#DisableShadowRom">Shadow ROM</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#Ramstage">Ramstage</a>
|
||||
<ol type="A">
|
||||
<li><a href="#DeviceTree">Start Device Tree Processing</a></li>
|
||||
<li>Set up the <a href="#MemoryMap">Memory Map"</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
<li><a href="#AcpiTables">ACPI Tables</a></li>
|
||||
<li><a href="#LegacyHardware">Legacy Hardware</a></li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="RequiredFiles">Required Files</a></h2>
|
||||
<p>
|
||||
Create the directory as src/soc/<Vendor>/<Chip Family>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The following files are required to build a new SoC:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Include files
|
||||
<ul>
|
||||
<li>include/soc/pei_data.h</li>
|
||||
<li>include/soc/pm.h</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Kconfig - Defines the Kconfig value for the SoC and selects the tool
|
||||
chains for the various stages:
|
||||
<ul>
|
||||
<li>select ARCH_BOOTBLOCK_<Tool Chain></li>
|
||||
<li>select ARCH_RAMSTAGE_<Tool Chain></li>
|
||||
<li>select ARCH_ROMSTAGE_<Tool Chain></li>
|
||||
<li>select ARCH_VERSTAGE_<Tool Chain></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Makefile.inc - Specify the include paths</li>
|
||||
<li>memmap.c - Top of usable RAM</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="Descriptor">Start Booting</a></h2>
|
||||
<p>
|
||||
Some SoC parts require additional firmware components in the flash.
|
||||
This section describes how to add those pieces.
|
||||
</p>
|
||||
|
||||
<h3>Intel Firmware Descriptor</h3>
|
||||
<p>
|
||||
The Intel Firmware Descriptor (IFD) is located at the base of the flash part.
|
||||
The following command overwrites the base of the flash image with the Intel
|
||||
Firmware Descriptor:
|
||||
</p>
|
||||
<pre><code>dd if=descriptor.bin of=build/coreboot.rom conv=notrunc >/dev/null 2>&1</code></pre>
|
||||
|
||||
|
||||
<h3><a name="MEB">Management Engine Binary</a></h3>
|
||||
<p>
|
||||
Some SoC parts contain and require that the Management Engine (ME) be running
|
||||
before it is possible to bring the x86 processor out of reset. A binary file
|
||||
containing the management engine code must be added to the firmware using the
|
||||
ifdtool. The following commands add this binary blob:
|
||||
</p>
|
||||
<pre><code>util/ifdtool/ifdtool -i ME:me.bin build/coreboot.rom
|
||||
mv build/coreboot.rom.new build/coreboot.rom
|
||||
</code></pre>
|
||||
|
||||
|
||||
<h3><a name="EarlyDebug">Early Debug</a></h3>
|
||||
<p>
|
||||
Early debugging between the reset vector and the time the serial port is enabled
|
||||
is most easily done by writing values to port 0x80.
|
||||
</p>
|
||||
|
||||
|
||||
<h3>Success</h3>
|
||||
<p>
|
||||
When the reset vector is successfully invoked, port 0x80 will output the following value:
|
||||
</p>
|
||||
<ul>
|
||||
<li>0x01: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l45">POST_RESET_VECTOR_CORRECT</a>
|
||||
- Bootblock successfully executed the
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/reset16.inc;hb=HEAD#l4">reset vector</a>
|
||||
and entered the 16-bit code at
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/entry16.inc;hb=HEAD#l35">_start</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="Bootblock">Bootblock</a></h2>
|
||||
<p>
|
||||
Implement the bootblock using the following steps:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Create the directory as src/soc/<Vendor>/<Chip Family>/bootblock</li>
|
||||
<li>Add the timestamp.inc file which initializes the floating point registers and saves
|
||||
the initial timestamp.
|
||||
</li>
|
||||
<li>Add the bootblock.c file which:
|
||||
<ol type="A">
|
||||
<li>Enables memory-mapped PCI config access</li>
|
||||
<li>Updates the microcode by calling intel_update_microcode_from_cbfs</li>
|
||||
<li>Enable ROM caching</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit the src/soc/<Vendor>/<Chip Family>/Kconfig file
|
||||
<ol type="A">
|
||||
<li>Add the BOOTBLOCK_CPU_INIT value to point to the bootblock.c file</li>
|
||||
<li>Add the CHIPSET_BOOTBLOCK_INCLUDE value to point to the timestamp.inc file</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit the src/soc/<Vendor>/<Chip Family>/Makefile.inc file
|
||||
<ol type="A">
|
||||
<li>Add the bootblock subdirectory</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit the src/soc/<Vendor>/<Chip Family>/memmap.c file
|
||||
<ol type="A">
|
||||
<li>Add the fsp/memmap.h include file</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add the necessary .h files to define the necessary values and structures</li>
|
||||
<li>When successful port 0x80 will output the following values:
|
||||
<ol type="A">
|
||||
<li>0x01: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l45">POST_RESET_VECTOR_CORRECT</a>
|
||||
- Bootblock successfully executed the
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/reset16.inc;hb=HEAD#l4">reset vector</a>
|
||||
and entered the 16-bit code at
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/entry16.inc;hb=HEAD#l35">_start</a>
|
||||
</li>
|
||||
<li>0x10: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l53">POST_ENTER_PROTECTED_MODE</a>
|
||||
- Bootblock executing in
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/32bit/entry32.inc;hb=HEAD#l55">32-bit mode</a>
|
||||
</li>
|
||||
<li>0x10 - Verstage/romstage reached 32-bit mode</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
<b>Build Note:</b> The following files are included into the default bootblock image:
|
||||
</p>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/bootblock_romcc.S;hb=HEAD">src/arch/x86/bootblock_romcc.S</a>
|
||||
added by <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/Makefile.inc;hb=HEAD#l133">src/arch/x86/Makefile.inc</a>
|
||||
and includes the following files:
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/prologue.inc">src/arch/x86/prologue.inc</a></li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/reset16.inc">src/cpu/x86/16bit/reset16.inc</a></li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/16bit/entry16.inc">src/cpu/x86/16bit/entry16.inc</a></li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/32bit/entry32.inc">src/cpu/x86/32bit/entry32.inc</a></li>
|
||||
<li>The code in
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/bootblock_romcc.S">src/arch/x86/bootblock_romcc.S</a>
|
||||
includes src/soc/<Vendor>/<Chip Family>/bootblock/timestamp.inc using the
|
||||
CONFIG_CHIPSET_BOOTBLOCK_INCLUDE value set above
|
||||
</li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/sse_enable.inc">src/cpu/x86/sse_enable.inc</a></li>
|
||||
<li>The code in
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/Makefile.inc;hb=HEAD#l156">src/arch/x86/Makefile.inc</a>
|
||||
invokes the ROMCC tool to convert the following "C" code into assembler as bootblock.inc:
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/include/arch/bootblock_romcc.h">src/arch/x86/include/arch/bootblock_romcc.h</a></li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/x86/lapic/boot_cpu.c">src/cpu/x86/lapic/boot_cpu.c</a></li>
|
||||
<li>The CONFIG_BOOTBLOCK_CPU_INIT value set above typically points to the code in
|
||||
src/soc/<Vendor>/<Chip Family>/bootblock/bootblock.c
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/id.S">src/arch/x86/id.S</a>
|
||||
added by <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/Makefile.inc;hb=HEAD#l110">src/arch/x86/Makefile.inc</a>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/intel/fit/fit.S">src/cpu/intel/fit/fit.S</a>
|
||||
added by <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/cpu/intel/fit/Makefile.inc;hb=HEAD">src/cpu/intel/fit/Makefile.inc</a>
|
||||
</li>
|
||||
<li><a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/walkcbfs.S">src/arch/x86/walkcbfs.S</a>
|
||||
added by <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/Makefile.inc;hb=HEAD#l137">src/arch/x86/Makefile.inc</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="TempRamInit">TempRamInit</a></h2>
|
||||
<p>
|
||||
Enable the call to TempRamInit in two stages:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Finding the FSP binary in the read-only CBFS region</li>
|
||||
<li>Call TempRamInit</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3>Find FSP Binary</h3>
|
||||
<p>
|
||||
Use the following steps to locate the FSP binary:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit the src/soc/<Vendor>/<Chip Family>/Kconfig file
|
||||
<ol type="A">
|
||||
<li>Add "select USE_GENERIC_FSP_CAR_INC" to enable the use of
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc">src/drivers/intel/fsp1_1/cache_as_ram.inc</a>
|
||||
</li>
|
||||
<li>Add "select SOC_INTEL_COMMON" to enable the use of the files from src/soc/intel/common
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Debug the result until port 0x80 outputs
|
||||
<ol type="A">
|
||||
<li>0x90: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l205">POST_FSP_TEMP_RAM_INIT</a>
|
||||
- Just before calling
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l73">TempRamInit</a>
|
||||
</li>
|
||||
<li>Alternating 0xba and 0x01 - The FSP image was not found</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add the <a target="_blank" href="../fsp1_1.html#FspBinary">FSP binary file</a> to the flash image</li>
|
||||
<li>Set the following Kconfig values:
|
||||
<ul>
|
||||
<li>CONFIG_FSP_LOC to the FSP base address specified in the previous step</li>
|
||||
<li>CONFIG_FSP_IMAGE_ID_STRING</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Debug the result until port 0x80 outputs
|
||||
<ol type="A">
|
||||
<li>0x90: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l205">POST_FSP_TEMP_RAM_INIT</a>
|
||||
- Just before calling
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l73">TempRamInit</a>
|
||||
</li>
|
||||
<li>Alternating 0xbb and 0x02 - TempRamInit executed, no CPU microcode update found</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3>Calling TempRamInit</h3>
|
||||
<p>
|
||||
Use the following steps to debug the call to TempRamInit:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Add the CPU microcode update file
|
||||
<ol type="A">
|
||||
<li>Add the microcode file with the following command
|
||||
<pre><code>util/cbfstool/cbfstool build/coreboot.rom add -t microcode -n cpu_microcode_blob.bin -b <base address> -f cpu_microcode_blob.bin</code></pre>
|
||||
</li>
|
||||
<li>Set the Kconfig values
|
||||
<ul>
|
||||
<li>CONFIG_CPU_MICROCODE_CBFS_LOC set to the value from the previous step</li>
|
||||
<li>CONFIG_CPU_MICROCODE_CBFS_LEN</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Debug the result until port 0x80 outputs
|
||||
<ol type="A">
|
||||
<li>0x90: <a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l205">POST_FSP_TEMP_RAM_INIT</a>
|
||||
- Just before calling
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l73">TempRamInit</a>
|
||||
</li>
|
||||
<li>0x2A - Just before calling
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l151">cache_as_ram_main</a>
|
||||
which is the start of the verstage code which may be part of romstage
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="Romstage">Romstage</a></h2>
|
||||
|
||||
<h3><a name="SerialOutput">Serial Output</a></h3>
|
||||
<p>
|
||||
The following steps add the serial output support for romstage:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Create the romstage subdirectory</li>
|
||||
<li>Add romstage/romstage.c
|
||||
<ol type="A">
|
||||
<li>Program the necessary base addresses</li>
|
||||
<li>Disable the TCO</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add romstage/Makefile.inc
|
||||
<ol type="A">
|
||||
<li>Add romstage.c to romstage</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Add gpio configuration support if necessary</li>
|
||||
<li>Add the necessary .h files to support the build</li>
|
||||
<li>Update Makefile.inc
|
||||
<ol type="A">
|
||||
<li>Add the romstage subdirectory</li>
|
||||
<li>Add the gpio configuration support file to romstage</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Set the necessary Kconfig values to enable serial output:
|
||||
<ul>
|
||||
<li>CONFIG_DRIVERS_UART_<driver>=y</li>
|
||||
<li>CONFIG_CONSOLE_SERIAL=y</li>
|
||||
<li>CONFIG_UART_FOR_CONSOLE=<port></li>
|
||||
<li>CONFIG_CONSOLE_SERIAL_115200=y</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3><a name="PreviousSleepState">Determine Previous Sleep State</a></h3>
|
||||
<p>
|
||||
The following steps implement the code to get the previous sleep state:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Implement the fill_power_state routine which determines the previous sleep state</li>
|
||||
<li>Debug the result until port 0x80 outputs
|
||||
<ol type="A">
|
||||
<li>0x32:
|
||||
- Just after entering
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/romstage.c;hb=HEAD#l99">romstage_common</a>
|
||||
</li>
|
||||
<li>0x33 - Just after calling
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/romstage.c;hb=HEAD#l113">soc_pre_ram_init</a>
|
||||
</li>
|
||||
<li>0x34:
|
||||
- Just after entering
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l67">raminit</a>
|
||||
</li>
|
||||
</ol>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3><a name="MemoryInit">MemoryInit Support</a></h3>
|
||||
<p>
|
||||
The following steps implement the code to support the FSP MemoryInit call:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Add the chip.h header file to define the UPD values which get passed
|
||||
to MemoryInit. Skip the values containing SPD addresses and DRAM
|
||||
configuration data which is determined by the board.
|
||||
<p>
|
||||
<b>Build Note</b>: The src/mainboard/<Vendor>/<Board>/devicetree.cb
|
||||
file specifies the default values for these parameters. The build
|
||||
process creates the static.c module which contains the config data
|
||||
structure containing these values.
|
||||
</p>
|
||||
</li>
|
||||
<li>Edit romstage/romstage.c
|
||||
<ol type="A">
|
||||
<li>Implement the romstage/romstage.c/soc_memory_init_params routine to
|
||||
copy the values from the config structure into the UPD structure
|
||||
</li>
|
||||
<li>Implement the soc_display_memory_init_params routine to display
|
||||
the updated UPD parameters by calling fsp_display_upd_value
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3><a name="DisableShadowRom">Disable Shadow ROM</a></h3>
|
||||
<p>
|
||||
A shadow of the SPI flash part is mapped from 0x000e0000 to 0x000fffff.
|
||||
This shadow needs to be disabled to allow RAM to properly respond to
|
||||
this address range.
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit romstage/romstage.c and add the soc_after_ram_init routine</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="Ramstage">Ramstage</a></h2>
|
||||
|
||||
<h3><a name="DeviceTree">Start Device Tree Processing</a></h3>
|
||||
<p>
|
||||
The src/mainboard/<Vendor>/<Board>/devicetree.cb file drives the
|
||||
execution during ramstage. This file is processed by the util/sconfig utility
|
||||
to generate build/mainboard/<Vendor>/<Board>/static.c. The various
|
||||
state routines in
|
||||
src/lib/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/lib/hardwaremain.c;hb=HEAD#l128">hardwaremain.c</a>
|
||||
call dev_* routines which use the tables in static.c to locate operation tables
|
||||
associated with the various chips and devices. After location the operation
|
||||
tables, the state routines call one or more functions depending upon the
|
||||
state of the state machine.
|
||||
</p>
|
||||
|
||||
<h4><a name="ChipOperations">Chip Operations</a></h4>
|
||||
<p>
|
||||
Kick-starting the ramstage state machine requires creating the operation table
|
||||
for the chip listed in devicetree.cb:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit src/soc/<SoC Vendor>/<SoC Family>/chip.c:
|
||||
<ol type="A">
|
||||
<li>
|
||||
This chip's operation table has the name
|
||||
soc_<SoC Vendor>_<SoC Family>_ops which is derived from the
|
||||
chip path specified in the devicetree.cb file.
|
||||
</li>
|
||||
<li>Use the CHIP_NAME macro to specify the name for the chip</li>
|
||||
<li>For FSP 1.1, specify a .init routine which calls intel_silicon_init</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Edit src/soc/<SoC Vendor>/<SoC Family>/Makefile.inc and add chip.c to ramstage</li>
|
||||
</ol>
|
||||
|
||||
<h4>Domain Operations</h4>
|
||||
<p>
|
||||
coreboot uses the domain operation table to initiate operations on all of the
|
||||
devices in the domain. By default coreboot enables all PCI devices which it
|
||||
finds. Listing a device in devicetree.cb gives the board vendor control over
|
||||
the device state. Non-PCI devices may also be listed under PCI device such as
|
||||
the LPC bus or SMbus devices.
|
||||
</p>
|
||||
<ol>
|
||||
<li>Edit src/soc/<SoC Vendor>/<SoC Family>/chip.c:
|
||||
<ol type="A">
|
||||
<li>
|
||||
The domain operation table is typically placed in
|
||||
src/soc/<SoC Vendor>/<SoC Family>/chip.c.
|
||||
The table typically looks like the following:
|
||||
<pre><code>static struct device_operations pci_domain_ops = {
|
||||
.read_resources = pci_domain_read_resources,
|
||||
.set_resources = pci_domain_set_resources,
|
||||
.scan_bus = pci_domain_scan_bus,
|
||||
};
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
Create a .enable_dev entry in the chip operations table which points to a
|
||||
routine which sets the domain table for the device with the DEVICE_PATH_DOMAIN.
|
||||
<pre><code> if (dev->path.type == DEVICE_PATH_DOMAIN) {
|
||||
dev->ops = &pci_domain_ops;
|
||||
}
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>
|
||||
During the BS_DEV_ENUMERATE state, ramstage now display the device IDs
|
||||
for the PCI devices on the bus.
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Set CONFIG_DEBUG_BOOT_STATE=y in the .config file</li>
|
||||
<li>
|
||||
Debug the result until the PCI vendor and device IDs are displayed
|
||||
during the BS_DEV_ENUMERATE state.
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h3><a name="DeviceDrivers">PCI Device Drivers</a></h3>
|
||||
<p>
|
||||
PCI device drivers consist of a ".c" file which contains a "pci_driver" data
|
||||
structure at the end of the file with the attribute tag "__pci_driver". This
|
||||
attribute tag places an entry into a link time table listing the various
|
||||
coreboot device drivers.
|
||||
</p>
|
||||
<p>
|
||||
Specify the following fields in the table:
|
||||
</p>
|
||||
<ol>
|
||||
<li>.vendor - PCI vendor ID value of the device</li>
|
||||
<li>.device - PCI device ID value of the device or<br>
|
||||
.devices - Address of a zero terminated array of PCI device IDs
|
||||
</li>
|
||||
<li>.ops - Operations table for the device. This is the address
|
||||
of a "static struct device_operations" data structure specifying
|
||||
the routines to execute during the different states and sub-states
|
||||
of ramstage's processing.
|
||||
</li>
|
||||
<li>Turn on the device in mainboard/<Vendor>/<Board>/devicetree.cb</li>
|
||||
<li>
|
||||
Debug until the device is on and properly configured in coreboot and
|
||||
usable by the payload
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<h4><a name="SubsystemIds">Subsystem IDs</a></h4>
|
||||
<p>
|
||||
PCI subsystem IDs are assigned during the BS_DEV_ENABLE state. The device
|
||||
driver may use the common mechanism to assign subsystem IDs by adding
|
||||
the ".ops_pci" to the pci_driver data structure. This field points to
|
||||
a "struct pci_operations" that specifies a routine to set the subsystem
|
||||
IDs for the device. The routine might look something like this:
|
||||
</p>
|
||||
<pre><code>static void pci_set_subsystem(struct device *dev, unsigned vendor, unsigned device)
|
||||
{
|
||||
if (!vendor || !device) {
|
||||
vendor = pci_read_config32(dev, PCI_VENDOR_ID);
|
||||
device = vendor >> 16;
|
||||
}
|
||||
printk(BIOS_SPEW,
|
||||
"PCI: %02x:%02x:%d subsystem vendor: 0x%04x, device: 0x%04x\n",
|
||||
0, PCI_SLOT(dev->path.pci.devfn), PCI_FUNC(dev->path.pci.devfn),
|
||||
vendor & 0xffff, device);
|
||||
pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
|
||||
((device & 0xffff) << 16) | (vendor & 0xffff));
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
|
||||
|
||||
<h3>Set up the <a name="MemoryMap">Memory Map</a></h3>
|
||||
<p>
|
||||
The memory map is built by the various PCI device drivers during the
|
||||
BS_DEV_RESOURCES state of ramstage. The northcluster driver will typically
|
||||
specify the DRAM resources while the other drivers will typically specify
|
||||
the IO resources. These resources are hung off the struct device *data structure by
|
||||
src/device/device_util.c/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/device/device_util.c;hb=HEAD#l448">new_resource</a>.
|
||||
</p>
|
||||
<p>
|
||||
During the BS_WRITE_TABLES state, coreboot collects these resources and
|
||||
places them into a data structure identified by LB_MEM_TABLE.
|
||||
</p>
|
||||
<p>
|
||||
Edit the device driver file:
|
||||
</p>
|
||||
<ol>
|
||||
<li>
|
||||
Implement a read_resources routine which calls macros defined in
|
||||
src/include/device/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/device/device.h;hb=HEAD#l237">device.h</a>
|
||||
like:
|
||||
<ul>
|
||||
<li>ram_resource</li>
|
||||
<li>reserved_ram_resource</li>
|
||||
<li>bad_ram_resource</li>
|
||||
<li>uma_resource</li>
|
||||
<li>mmio_resource</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
Testing: Verify that the resources are properly displayed by coreboot during the BS_WRITE_TABLES state.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="AcpiTables">ACPI Tables</a></h2>
|
||||
<p>
|
||||
One of the payloads that needs ACPI tables is the EDK2 <a target="_blank" href="quark.html#CorebootPayloadPkg">CorebootPayloadPkg</a>.
|
||||
</p>
|
||||
|
||||
<h3>FADT</h3>
|
||||
<p>
|
||||
The EDK2 module
|
||||
CorebootModulePkg/Library/CbParseLib/<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootModulePkg/Library/CbParseLib/CbParseLib.c#l450">CbParseLib.c</a>
|
||||
requires that the FADT contains the values in the table below.
|
||||
These values are placed into a HOB identified by
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootModulePkg/CorebootModulePkg.dec#l36">gUefiAcpiBoardInfoGuid</a>
|
||||
by routine
|
||||
CorebootModulePkg/CbSupportPei/CbSupportPei/<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootModulePkg/CbSupportPei/CbSupportPei.c#l364">CbPeiEntryPoint</a>.
|
||||
</p>
|
||||
<table border="1">
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<td>coreboot Field</td>
|
||||
<td>EDK2 Field</td>
|
||||
<td>gUefiAcpiBoardInfoGuid</td>
|
||||
<td>Use</li>
|
||||
<td>
|
||||
<a target="_blank" href="http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf">ACPI Spec.</a>
|
||||
Section
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>gpe0_blk<br>gpe0_blk_len</td>
|
||||
<td>Gpe0Blk<br>Gpe0BlkLen</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootModulePkg/Library/CbParseLib/CbParseLib.c#l477">PmGpeEnBase</a>
|
||||
</td>
|
||||
<td><a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l129">Shutdown</a></td>
|
||||
<td>4.8.4.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pm1a_cnt_blk</td>
|
||||
<td>Pm1aCntBlk</td>
|
||||
<td>PmCtrlRegBase</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l139">Shutdown</a><br>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l40">Suspend</a>
|
||||
</td>
|
||||
<td>4.8.3.2.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pm1a_evt_blk</td>
|
||||
<td>Pm1aEvtBlk</td>
|
||||
<td>PmEvtBase</td>
|
||||
<td><a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l134">Shutdown</a></td>
|
||||
<td>4.8.3.1.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pm_tmr_blk</td>
|
||||
<td>PmTmrBlk</td>
|
||||
<td>PmTimerRegBase</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.c#l55">Timer</a>
|
||||
</td>
|
||||
<td>4.8.3.3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reset_reg.</td>
|
||||
<td>ResetReg.Address</td>
|
||||
<td>ResetRegAddress</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l71">Cold</a>
|
||||
and
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l98">Warm</a>
|
||||
resets
|
||||
</td>
|
||||
<td>4.3.3.6</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>reset_value</td>
|
||||
<td>ResetValue</td>
|
||||
<td>ResetValue</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l71">Cold</a>
|
||||
and
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/CorebootPayloadPkg/Library/ResetSystemLib/ResetSystemLib.c#l98">Warm</a>
|
||||
resets
|
||||
</td>
|
||||
<td>4.8.3.6</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
The EDK2 data structure is defined in
|
||||
MdeModulePkg/Include/IndustryStandard/<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/MdePkg/Include/IndustryStandard/Acpi61.h#l111">Acpi61.h</a>
|
||||
The coreboot data structure is defined in
|
||||
src/arch/x86/include/arch/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/arch/x86/include/acpi/acpi.h;hb=HEAD#l237">acpi.h</a>
|
||||
</p>
|
||||
|
||||
<ol>
|
||||
<li>
|
||||
Select <a target="_blank" href="../Board/board.html#AcpiTables">HAVE_ACPI_TABLES</a>
|
||||
in the board's Kconfig file
|
||||
</li>
|
||||
<li>Create a acpi.c module:
|
||||
<ol type="A">
|
||||
<li>Add the acpi_fill_fadt routine and initialize the values above</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="LegacyHardware">Legacy Hardware</a></h2>
|
||||
<p>
|
||||
One of the payloads that needs legacy hardare is the EDK2 <a target="_blank" href="quark.html#CorebootPayloadPkg">CorebootPayloadPkg</a>.
|
||||
</p>
|
||||
|
||||
<table border="1">
|
||||
<tr bgcolor="c0ffc0">
|
||||
<th>Peripheral</th>
|
||||
<th>Use</th>
|
||||
<th>8259 Interrupt Vector</th>
|
||||
<th>IDT Base Offset</th>
|
||||
<th>Interrupt Handler</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a target="_blank" href="http://www.scs.stanford.edu/10wi-cs140/pintos/specs/8254.pdf">8254</a>
|
||||
Programmable Interval Timer
|
||||
</td>
|
||||
<td>
|
||||
EDK2: PcAtChipsetPkg/8254TimerDxe/<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/PcAtChipsetPkg/8254TimerDxe/Timer.c">Timer.c</a>
|
||||
</td>
|
||||
<td>0</td>
|
||||
<td>0x340</td>
|
||||
<td>
|
||||
<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/PcAtChipsetPkg/8254TimerDxe/Timer.c#l71">TimerInterruptHandler</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<a target="_blank" href="https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwibxYKU3ZDLAhVOzWMKHfuqB40QFggcMAA&url=http%3A%2F%2Fbochs.sourceforge.net%2Ftechspec%2Fintel-8259a-pic.pdf.gz&usg=AFQjCNF1NT0OQ6ys1Pn6Iv9sv6cKRzZbGg&sig2=HfBszp9xTVO_fajjPWCsJw">8259</a>
|
||||
Programmable Interrupt Controller
|
||||
</td>
|
||||
<td>
|
||||
EDK2: PcAtChipsetPkg/8259InterruptControllerDxe/<a target="_blank" href="https://github.com/tianocore/edk2/blob/master/PcAtChipsetPkg/8259InterruptControllerDxe/8259.c">8259.c</a>
|
||||
</td>
|
||||
<td>
|
||||
Master interrupts: 0, 2 - 7<br>
|
||||
Slave interrupts: 8 - 15<br>
|
||||
Interrupt vector 1 is never generated, the cascaded input generates interrupts 8 - 15
|
||||
</td>
|
||||
<td>
|
||||
Master: 0x340, 0x350 - 0x378<br>
|
||||
Slave: 0x380 - 0x3b8<br>
|
||||
Interrupt descriptors are 8 bytes each
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<p>Modified: 4 March 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,377 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Development</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Intel® x86 coreboot/FSP Development Process</h1>
|
||||
<p>
|
||||
The x86 development process for coreboot is broken into the following components:
|
||||
</p>
|
||||
<ul>
|
||||
<li>coreboot <a target="_blank" href="SoC/soc.html">SoC</a> development</li>
|
||||
<li>coreboot <a target="_blank" href="Board/board.html">mainboard</a> development</li>
|
||||
<li><a target="_blank" href="fsp1_1.html">FSP 1.1</a> integration</li>
|
||||
</ul>
|
||||
<p>
|
||||
The development process has two main phases:
|
||||
</p>
|
||||
<ol>
|
||||
<li>Minimal coreboot; This phase is single threaded</li>
|
||||
<li>Adding coreboot features</li>
|
||||
</ol>
|
||||
|
||||
<h2>Minimal coreboot</h2>
|
||||
<p>
|
||||
The combined steps below describe how to bring up a minimal coreboot for a
|
||||
system-on-a-chip (SoC) and a development board:
|
||||
</p>
|
||||
<table>
|
||||
<tr bgcolor="#ffffc0">
|
||||
<td>The initial coreboot steps are single threaded!
|
||||
The initial minimal FSP development is also single threaded.
|
||||
Progress can speed up by adding more developers after the minimal coreboot/FSP
|
||||
implementation reaches the payload.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<ol>
|
||||
<li>Get the necessary tools:
|
||||
<ul>
|
||||
<li>Linux: Use your package manager to install m4 bison flex and the libcurses development
|
||||
package.
|
||||
<ul>
|
||||
<li>Ubuntu or other Linux distribution that use apt, run:
|
||||
<pre><code>sudo apt-get install m4 bison flex libncurses5-dev
|
||||
</code></pre>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Build the cross tools for i386:
|
||||
<ul>
|
||||
<li>Linux:
|
||||
<pre><code>make crossgcc-i386</code></pre>
|
||||
To use multiple processors for the toolchain build (which takes a long time), use:
|
||||
<pre><code>make crossgcc-i386 CPUS=N</code></pre>
|
||||
where N is the number of cores to use for the build.
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Get something to build:
|
||||
<ol type="A">
|
||||
<li><a target="_blank" href="fsp1_1.html#RequiredFiles">FSP 1.1</a> required files</li>
|
||||
<li><a target="_blank" href="SoC/soc.html#RequiredFiles">SoC</a> required files</li>
|
||||
<li><a target="_blank" href="Board/board.html#RequiredFiles">Board</a> required files</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Get result to start <a target="_blank" href="SoC/soc.html#Descriptor">booting</a></li>
|
||||
<li><a target="_blank" href="SoC/soc.html#EarlyDebug">Early Debug</a></li>
|
||||
<li>Implement and debug the <a target="_blank" href="SoC/soc.html#Bootblock">bootblock</a> code</li>
|
||||
<li>Implement and debug the call to <a target="_blank" href="SoC/soc.html#TempRamInit">TempRamInit</a></li>
|
||||
<li>Enable the serial port
|
||||
<ol type="A">
|
||||
<li>Power on, enable and configure GPIOs for the
|
||||
<a target="_blank" href="Board/board.html#SerialOutput">debug serial UART</a>
|
||||
</li>
|
||||
<li>Add the <a target="_blank" href="SoC/soc.html#SerialOutput">serial outupt</a>
|
||||
support to romstage
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Enable <a target="_blank" href="fsp1_1.html#corebootFspDebugging">coreboot/FSP</a> debugging</li>
|
||||
<li>Determine the <a target="_blank" href="SoC/soc.html#PreviousSleepState">Previous Sleep State</a></li>
|
||||
<li>Enable DRAM:
|
||||
<ol type="A">
|
||||
<li>Implement the SoC
|
||||
<a target="_blank" href="SoC/soc.html#MemoryInit">MemoryInit</a>
|
||||
Support
|
||||
</li>
|
||||
<li>Implement the board support to read the
|
||||
<a target="_blank" href="Board/board.html#SpdData">Memory Timing Data</a>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>Disable the
|
||||
<a target="_blank" href="SoC/soc.html#DisableShadowRom">Shadow ROM</a>
|
||||
</li>
|
||||
<li>Enable CONFIG_DISPLAY_MTRRS to verify the MTRR configuration</li>
|
||||
<li>
|
||||
Implement the .init routine for the
|
||||
<a target="_blank" href="SoC/soc.html#ChipOperations">chip operations</a>
|
||||
structure which calls FSP SiliconInit
|
||||
</li>
|
||||
<li>
|
||||
Start ramstage's
|
||||
<a target="_blank" href="SoC/soc.html#DeviceTree">device tree processing</a>
|
||||
to display the PCI vendor and device IDs
|
||||
</li>
|
||||
<li>
|
||||
Disable the
|
||||
<a target="_blank" href="Board/board.html#DisablePciDevices">PCI devices</a>
|
||||
</li>
|
||||
<li>
|
||||
Implement the
|
||||
<a target="_blank" href="SoC/soc.html#MemoryMap">memory map</a>
|
||||
</li>
|
||||
<li>coreboot should now attempt to load the payload</li>
|
||||
</ol>
|
||||
|
||||
|
||||
|
||||
<h2>Add coreboot Features</h2>
|
||||
<p>
|
||||
Most of the coreboot development gets done in this phase. Implementation tasks in this
|
||||
phase are easily done in parallel.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Payload and OS Features:
|
||||
<ul>
|
||||
<li><a target="_blank" href="SoC/soc.html#AcpiTables">ACPI Tables</a></li>
|
||||
<li><a target="_blank" href="SoC/soc.html#LegacyHardware">Legacy hardware</a> support</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<table border="1">
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<th colspan=3><h1>Features</h1></th>
|
||||
</tr>
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<th>SoC</th>
|
||||
<th>Where</th>
|
||||
<th>Testing</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8254 Programmable Interval Timer</td>
|
||||
<td><a target="_blank" href="SoC/soc.html#LegacyHardware">Legacy hardware</a> support</td>
|
||||
<td><a target="_blank" href="SoC/quark.html#CorebootPayloadPkg">CorebootPayloadPkg</a> gets to shell prompt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8259 Programmable Interrupt Controller</td>
|
||||
<td><a target="_blank" href="SoC/soc.html#LegacyHardware">Legacy hardware</a> support</td>
|
||||
<td><a target="_blank" href="SoC/quark.html#CorebootPayloadPkg">CorebootPayloadPkg</a> gets to shell prompt</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Cache-as-RAM</td>
|
||||
<td>
|
||||
<a target="_blank" href="SoC/soc.html#TempRamInit">Find</a>
|
||||
FSP binary:
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l38">cache_as_ram.inc</a><br>
|
||||
Enable: FSP 1.1 <a target="_blank" href="SoC/soc.html#TempRamInit">TempRamInit</a>
|
||||
called from
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l73">cache_as_ram.inc</a><br>
|
||||
Disable: FSP 1.1 TempRamExit called from
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l41">after_raminit.S</a><br>
|
||||
</td>
|
||||
<td>FindFSP: POST code 0x90
|
||||
(<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l205">POST_FSP_TEMP_RAM_INIT</a>)
|
||||
is displayed<br>
|
||||
Enable: POST code
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l151">0x2A</a>
|
||||
is displayed<br>
|
||||
Disable: CONFIG_DISPLAY_MTRRS=y, MTRRs displayed after call to TempRamExit
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Memory Map</td>
|
||||
<td>
|
||||
Implement a device driver for the
|
||||
<a target="_blank" href="SoC/soc.html#MemoryMap">north cluster</a>
|
||||
</td>
|
||||
<td>coreboot displays the memory map correctly during the BS_WRITE_TABLES state</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MTRRs</td>
|
||||
<td>
|
||||
Set values: src/drivers/intel/fsp1_1/stack.c/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/stack.c;hb=HEAD#l42">setup_stack_and_mtrrs</a><br>
|
||||
Load values: src/drivers/intel/fsp1_1/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l71">after_raminit.S</a>
|
||||
</td>
|
||||
<td>Set: Post code 0x91
|
||||
(<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l213">POST_FSP_TEMP_RAM_EXIT</a>)
|
||||
is displayed by
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l41">after_raminit.S</a><br>
|
||||
Load: Post code 0x3C is displayed by
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l152">after_raminit.S</a><br>
|
||||
and CONFIG_DISPLAY_MTRRS=y displays the correct memory regions</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PCI Device Support</td>
|
||||
<td>Implement a PCI <a target="_blank" href="SoC/soc.html#DeviceDrivers">device driver</a></td>
|
||||
<td>The device is detected by coreboot and usable by the payload</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ramstage state machine</td>
|
||||
<td>
|
||||
Implement the chip and domain operations to start the
|
||||
<a target="_blank" href="SoC/soc.html#DeviceTree">device tree</a>
|
||||
processing
|
||||
</td>
|
||||
<td>
|
||||
During the BS_DEV_ENUMERATE state, ramstage now display the device IDs
|
||||
for the PCI devices on the bus.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ROM Shadow<br>0x000E0000 - 0x000FFFFF</td>
|
||||
<td>
|
||||
Disable: src/soc/<Vendor>/<Chip Family>/romstage/romstage.c/<a target="_blank" href="SoC/soc.html#DisableShadowRom">soc_after_ram_init routine</a>
|
||||
</td>
|
||||
<td>Operates as RAM: Writes followed by a read to the 0x000E0000 - 0x000FFFFF region returns the value written</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<th>Board</th>
|
||||
<th>Where</th>
|
||||
<th>Testing</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Device Tree</td>
|
||||
<td>
|
||||
<a target="_blank" href="SoC/soc.html#DeviceTree">List</a> PCI vendor and device IDs by starting
|
||||
the device tree processing<br>
|
||||
<a target="_blank" href="Board/board.html#DisablePciDevices">Disable</a> PCI devices<br>
|
||||
Enable: Implement a PCI <a target="_blank" href="SoC/soc.html#DeviceDrivers">device driver</a>
|
||||
<td>
|
||||
List: BS_DEV_ENUMERATE state displays PCI vendor and device IDs<br>
|
||||
Disable: BS_DEV_ENUMERATE state shows the devices as disabled<br>
|
||||
Enable: BS_DEV_ENUMERATE state shows the device as on and the device works for the payload
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>DRAM</td>
|
||||
<td>
|
||||
Load SPD data: src/soc/mainboard/<Vendor>/<Board>/spd/<a target="_blank" href="Board/board.html#SpdData">spd.c</a><br>
|
||||
UPD Setup:
|
||||
<ul>
|
||||
<li>src/soc<Vendor>//<Chip Family>/romstage/<a target="_blank" href="SoC/soc.html#MemoryInit">romstage.c</a></li>
|
||||
<li>src/mainboard/<Vendor>/<Board>/<a target="_blank" href="Board/board.html#SpdData">romstage.c</a></li>
|
||||
</ul>
|
||||
FSP 1.1 MemoryInit called from src/drivers/intel/fsp1_1/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/raminit.c;hb=HEAD#l126">raminit.c</a>
|
||||
</td>
|
||||
<td>Select the following Kconfig values
|
||||
<ul>
|
||||
<li>DISPLAY_HOBS</li>
|
||||
<li>DISPLAY_UPD_DATA</li>
|
||||
</ul>
|
||||
Testing successful if:
|
||||
<ul>
|
||||
<li>MemoryInit UPD values are correct</li>
|
||||
<li>MemoryInit returns 0 (success) and</li>
|
||||
<li>The message "ERROR - coreboot's requirements not met by FSP binary!"
|
||||
is not displayed
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Serial Port</td>
|
||||
<td>
|
||||
SoC <a target="_blank" href="SoC/soc.html#SerialOutput">Support</a><br>
|
||||
Enable: src/soc/mainboard/<Board>/com_init.c/<a target="_blank" href="Board/board.html#SerialOutput">car_mainboard_pre_console_init</a>
|
||||
</td>
|
||||
<td>Debug serial output works</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<th>Payload</th>
|
||||
<th>Where</th>
|
||||
<th>Testing</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ACPI Tables</td>
|
||||
<td>
|
||||
SoC <a target="_blank" href="SoC/soc.html#AcpiTables">Support</a><br>
|
||||
</td>
|
||||
<td>Verified by payload or OS</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr bgcolor="#c0ffc0">
|
||||
<th>FSP</th>
|
||||
<th>Where</th>
|
||||
<th>Testing</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TempRamInit</td>
|
||||
<td>FSP <a target="_blank" href="SoC/soc.html#TempRamInit">TempRamInit</a></td>
|
||||
<td>FSP binary found: POST code 0x90
|
||||
(<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l205">POST_FSP_TEMP_RAM_INIT</a>)
|
||||
is displayed<br>
|
||||
TempRamInit successful: POST code
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/cache_as_ram.inc;hb=HEAD#l151">0x2A</a>
|
||||
is displayed<br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MemoryInit</td>
|
||||
<td><a target="_blank" href="SoC/soc.html#MemoryInit">SoC</a> support<br>
|
||||
<a target="_blank" href="Board/board.html#SpdData">Board</a> support<br>
|
||||
</td>
|
||||
<td>Select the following Kconfig values
|
||||
<ul>
|
||||
<li>DISPLAY_HOBS</li>
|
||||
<li>DISPLAY_UPD_DATA</li>
|
||||
</ul>
|
||||
Testing successful if:
|
||||
<ul>
|
||||
<li>MemoryInit UPD values are correct</li>
|
||||
<li>MemoryInit returns 0 (success) and</li>
|
||||
<li>The message "ERROR - coreboot's requirements not met by FSP binary!"
|
||||
is not displayed
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>TempRamExit</td>
|
||||
<td>src/drivers/intel/fsp1_1/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l51">after_raminit.S</a></td>
|
||||
<td>Post code 0x91
|
||||
(<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/include/console/post_codes.h;hb=HEAD#l212">POST_FSP_TEMP_RAM_EXIT</a>)
|
||||
is displayed before calling TempRamExit by
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l141">after_raminit.S</a>,
|
||||
CONFIG_DISPLAY_MTRRS=y displays the correct memory regions and
|
||||
Post code 0x39 is displayed by
|
||||
<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/after_raminit.S;hb=HEAD#l141">after_raminit.S</a><br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>SiliconInit</td>
|
||||
<td>
|
||||
Implement the .init routine for the
|
||||
<a target="_blank" href="SoC/soc.html#ChipOperations">chip operations</a> structure
|
||||
</td>
|
||||
<td>During BS_DEV_INIT_CHIPS state, SiliconInit gets called and returns 0x00000000</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>FspNotify</td>
|
||||
<td>
|
||||
The code which calls FspNotify is located in
|
||||
src/drivers/intel/fsp1_1/<a target="_blank" href="https://review.coreboot.org/gitweb?p=coreboot.git;a=blob;f=src/drivers/intel/fsp1_1/fsp_util.c;hb=HEAD#l182">fsp_util.c</a>.
|
||||
The fsp_notify_boot_state_callback routine is called three times as specified
|
||||
by the BOOT_STATE_INIT_ENTRY macros below the routine.
|
||||
</td>
|
||||
<td>
|
||||
The FspNotify routines are called during:
|
||||
<ul>
|
||||
<li>BS_DEV_RESOURCES - on exit</li>
|
||||
<li>BS_PAYLOAD_LOAD - on exit</li>
|
||||
<li>BS_OS_RESUME - on entry (S3 resume)</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<p>Modified: 4 March 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,79 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>FSP 1.1</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>FSP 1.1</h1>
|
||||
|
||||
<h2>x86 FSP 1.1 Integration</h2>
|
||||
<p>
|
||||
Firmware Support Package (FSP) integration requires System-on-a-Chip (SoC)
|
||||
and board support. The combined steps are listed
|
||||
<a target="_blank" href="development.html">here</a>.
|
||||
The development steps for FSP are listed below:
|
||||
</p>
|
||||
<ol>
|
||||
<li><a href="#RequiredFiles">Required Files</a></li>
|
||||
<li>Add the <a href="#FspBinary">FSP Binary File</a> to the coreboot File System</li>
|
||||
<li>Enable <a href="#corebootFspDebugging">coreboot/FSP Debugging</a></li>
|
||||
</ol>
|
||||
|
||||
<p>
|
||||
FSP Documentation:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Intel® Firmware Support Package External Architecture Specification <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v1-1.pdf">V1.1</a></li>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
<h2><a name="RequiredFiles">Required Files</a></h2>
|
||||
<h3><a name="corebootRequiredFiles">coreboot Required Files</a></h3>
|
||||
<ol>
|
||||
<li>Create the following directories if they do not already exist:
|
||||
<ul>
|
||||
<li>src/vendorcode/intel/fsp/fsp1_1/<Chip Family></li>
|
||||
<li>3rdparty/blobs/mainboard/<Board Vendor>/<Board Name></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
The following files may need to be copied from the FSP build or release into the
|
||||
directories above if they are not present or are out of date:
|
||||
<ul>
|
||||
<li>FspUpdVpd.h: src/vendorcode/intel/fsp/fsp1_1/<Chip Family>/FspUpdVpd.h</li>
|
||||
<li>FSP.bin: 3rdparty/blobs/mainboard/<Board Vendor>/<Board Name>/fsp.bin</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="FspBinary">Add the FSP Binary File to coreboot File System</a></h2>
|
||||
<p>
|
||||
Add the FSP binary to the coreboot flash image using the following command:
|
||||
</p>
|
||||
<pre><code>util/cbfstool/cbfstool build/coreboot.rom add -t fsp -n fsp.bin -b <base address> -f fsp.bin</code></pre>
|
||||
<p>
|
||||
This command relocates the FSP binary to the 4K byte aligned location in CBFS so that the
|
||||
FSP code for TempRamInit may be executed in place.
|
||||
</p>
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="corebootFspDebugging">Enable coreboot/FSP Debugging</a></h2>
|
||||
<p>
|
||||
Set the following Kconfig values:
|
||||
</p>
|
||||
<ul>
|
||||
<li>CONFIG_DISPLAY_FSP_ENTRY_POINTS - Display the FSP entry points in romstage</li>
|
||||
<li>CONFIG_DISPLAY_HOBS - Display and verify the hand-off-blocks (HOBs) returned by MemoryInit</li>
|
||||
<li>CONFIG_DISPLAY_VBT - Display Video BIOS Table (VBT) used for GOP</li>
|
||||
<li>CONFIG_DISPLAY_UPD_DATA - Display the user specified product data passed to MemoryInit and SiliconInit</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<hr>
|
||||
<p>Modified: 17 May 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -1,128 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Intel® x86</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<h1>Intel® x86</h1>
|
||||
|
||||
<h2>Intel® x86 Boards</h2>
|
||||
<ul>
|
||||
<li><a target="_blank" href="Board/galileo.html">Galileo</a></li>
|
||||
<li><a target="_blank" href="http://wiki.minnowboard.org/Coreboot">MinnowBoard MAX</a></li>
|
||||
</ul>
|
||||
|
||||
<h2>Intel® x86 SoCs</h2>
|
||||
<ul>
|
||||
<li><a target="_blank" href="SoC/quark.html">Quark™</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>x86 coreboot Development</h2>
|
||||
<ul>
|
||||
<li>Get the <a target="_blank" href="https://www.coreboot.org/Git">coreboot source</li>
|
||||
<li><a target="_blank" href="development.html">Overall</a> development</li>
|
||||
<li><a target="_blank" href="fsp1_1.html">FSP 1.1</a> integration
|
||||
</li>
|
||||
<li><a target="_blank" href="SoC/soc.html">SoC</a> support</li>
|
||||
<li><a target="_blank" href="Board/board.html">Board</a> support</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2>Payload Development</h2>
|
||||
<ul>
|
||||
<li><a target="_blank" href="SoC/quark.html#CorebootPayloadPkg">CorebootPayloadPkg</a>
|
||||
<ul>
|
||||
<li><a target="_blank" href="https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-Process">EDK II Development Process</a></li>
|
||||
<li>EDK II <a target="_blank" href="https://github.com/tianocore/tianocore.github.io/wiki/EDK%20II%20White%20papers">White Papers</a></li>
|
||||
<li><a target="_blank" href="https://github.com/tianocore/tianocore.github.io/wiki/SourceForge-to-Github-Quick-Start">SourceForge to Github Quick Start</a></li>
|
||||
<li>UEFI <a target="_blank" href="http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_5_Errata_A.PDF">2.5 Errata A</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<hr>
|
||||
<h2><a name="Documentation">Documentation</a></h2>
|
||||
<ul>
|
||||
<li>Intel® 64 and IA-32 Architectures <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf">Software Developer Manual</a></li>
|
||||
<li><a target="_blank" href="http://www.uefi.org/specifications">UEFI Specifications</a></li>
|
||||
</ul>
|
||||
|
||||
<h3><a name="Edk2Documentation">EDK-II Documentation</a></h3>
|
||||
<ul>
|
||||
<li>Build <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/Build_Spec_1_26.pdf">V1.26</a></li>
|
||||
<li>Coding Standards <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/CCS_2_1_Draft.pdf">V2.1</a></li>
|
||||
<li>DEC <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/DEC_Spec_1_25.pdf">V1.25</a></li>
|
||||
<li>DSC <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/DSC_Spec_1_26.pdf">V1.26</a></li>
|
||||
<li><a target="_blank" href="https://github.com/tianocore/tianocore.github.io/wiki/UEFI-Driver-Writer's-Guide">Driver Writer's Guide</a></li>
|
||||
<li>Expression Syntax <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/ExpressionSyntax_1.1.pdf">V1.1</a></li>
|
||||
<li>FDF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/FDF_Spec_1_26.pdf">V1.26</a></li>
|
||||
<li>INF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/INF_Spec_1_25.pdf">V1.25</a></li>
|
||||
<li>PCD <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/PCD_Infrastructure.pdf">PCD</a>V0.55</li>
|
||||
<li>UNI <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/UNI_File_Spec_v1_2_Errata_A.pdf">V1.2 Errata A</a></li>
|
||||
<li>VRF <a target="_blank" href="https://github.com/tianocore-docs/Docs/raw/master/Specifications/VFR_1_9.pdf">V1.9</a></li>
|
||||
</ul>
|
||||
|
||||
<h3><a name="FspDocumentation">FSP Documentation</a></h3>
|
||||
<ul>
|
||||
<li>Intel® Firmware Support Package External Architecture Specification <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v2.pdf">V2.0</a></li>
|
||||
<li>Intel® Firmware Support Package External Architecture Specification <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec-v1-1.pdf">V1.1</a></li>
|
||||
<li>Intel® Firmware Support Package External Architecture Specification <a target="_blank" href="http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/fsp-architecture-spec.pdf">V1.0</a></li>
|
||||
</ul>
|
||||
|
||||
<h3><a name="FeatureDocumentation">Feature Documentation</a></h3>
|
||||
<table border="1">
|
||||
<tr bgcolor="#c0ffc0"><th>Feature/Specification</th><th>Linux View/Test</th><th>EDK-II View/Test</th></tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="https://en.wikipedia.org/wiki/E820">e820</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man1/dmesg.1.html">dmesg</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.uefi.org/specifications">ACPI</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/precise/man1/acpidump.1.html">acpidump</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="https://en.wikipedia.org/wiki/Extended_Display_Identification_Data">EDID</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man1/get-edid.1.html">get-edid | parse-edid</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.nxp.com/documents/user_manual/UM10204.pdf">I2C</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man1/get-edid.1.html">i2cdetect</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.intel.com/design/archives/processors/pro/docs/242016.htm">Multiprocessor</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man1/lscpu.1.html">lscpu</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="https://pcisig.com/specifications">PCI</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man8/lspci.8.html">lspci</a></td>
|
||||
<td><a target="_blank" href="http://www.uefi.org/sites/default/files/resources/UEFI_Shell_Spec_2_0.pdf">pci</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.0.0.pdf">SMBIOS</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/trusty/man8/dmidecode.8.html">dmidecode</a></td>
|
||||
<td><a target="_blank" href="http://www.uefi.org/sites/default/files/resources/UEFI_Shell_Spec_2_0.pdf">smbiosview</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a target="_blank" href="http://www.usb.org/developers/docs/">USB</a></td>
|
||||
<td><a target="_blank" href="http://manpages.ubuntu.com/manpages/xenial/man8/lsusb.8.html">lsusb</a></td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<p>Modified: 18 June 2016</p>
|
||||
</body>
|
||||
</html>
|
@ -7,7 +7,7 @@ change.
|
||||
|
||||
\section{Scope}
|
||||
This document defines how LinuxBIOS programmers can specify chips that
|
||||
are used, specified, and initalized. The current scope is for superio
|
||||
are used, specified, and initialized. The current scope is for superio
|
||||
chips, but the architecture should allow for specification of other chips such
|
||||
as southbridges. Multiple chips of same or different type are supported.
|
||||
|
||||
|
98
Documentation/RFC/intel-gpio-cleanup.md
Normal file
@ -0,0 +1,98 @@
|
||||
# Background
|
||||
|
||||
CB:31250 ("soc/intel/cannonlake: Configure GPIOs again after FSP-S is
|
||||
done") introduced a workaround in coreboot for `soc/intel/cannonlake`
|
||||
platforms to save and restore GPIO configuration performed by
|
||||
mainboard across call to FSP Silicon Init (FSP-S). This workaround was
|
||||
required because FSP-S was configuring GPIOs differently than
|
||||
mainboard resulting in boot and runtime issues because of
|
||||
misconfigured GPIOs. This issue was observed on `google/hatch`
|
||||
mainboard and was raised with Intel to get the FSP behavior
|
||||
fixed. Until the fix in FSP was available, this workaround was used to
|
||||
ensure that the mainboards can operate correctly and were not impacted
|
||||
by the GPIO misconfiguration in FSP-S.
|
||||
|
||||
The issues observed on `google/hatch` mainboard were fixed by adding
|
||||
(if required) and initializing appropriate FSP UPDs. This UPD
|
||||
initialization ensured that FSP did not configure any GPIOs
|
||||
differently than the mainboard configuration. Fixes included:
|
||||
* CB:31375 ("soc/intel/cannonlake: Configure serial debug uart")
|
||||
* CB:31520 ("soc/intel/cannonlake: Assign FSP UPDs for HPD and Data/CLK of DDI ports")
|
||||
* CB:32176 ("mb/google/hatch: Update GPIO settings for SD card and SPI1 Chip select")
|
||||
* CB:34900 ("soc/intel/cnl: Add provision to configure SD controller write protect pin")
|
||||
|
||||
With the above changes merged, it was verified on `google/hatch`
|
||||
mainboard that the workaround for GPIO reconfiguration was not
|
||||
needed. However, at the time, we missed dropping the workaround in
|
||||
'soc/intel/cannonlake`. Currently, this workaround is used by the
|
||||
following mainboards:
|
||||
* `google/drallion`
|
||||
* `google/sarien`
|
||||
* `purism/librem_cnl`
|
||||
* `system76/lemp9`
|
||||
|
||||
As verified on `google/hatch`, FSP v1263 included all UPD additions
|
||||
that were required for addressing this issue.
|
||||
|
||||
# Proposal
|
||||
|
||||
* The workaround can be safely dropped from `soc/intel/cannonlake`
|
||||
only after the above mainboards have verified that FSP-S does not
|
||||
configure any pads differently than the mainboard in coreboot. Since
|
||||
the fix included initialization of FSP UPDs correctly, the above
|
||||
mainboards can use the following diff to check what pads change
|
||||
after FSP-S has run:
|
||||
|
||||
```
|
||||
diff --git a/src/soc/intel/common/block/gpio/gpio.c b/src/soc/intel/common/block/gpio/gpio.c
|
||||
index 28e78fb366..0cce41b316 100644
|
||||
--- a/src/soc/intel/common/block/gpio/gpio.c
|
||||
+++ b/src/soc/intel/common/block/gpio/gpio.c
|
||||
@@ -303,10 +303,10 @@ static void gpio_configure_pad(const struct pad_config *cfg)
|
||||
/* Patch GPIO settings for SoC specifically */
|
||||
soc_pad_conf = soc_gpio_pad_config_fixup(cfg, i, soc_pad_conf);
|
||||
|
||||
- if (CONFIG(DEBUG_GPIO))
|
||||
+ if (soc_pad_conf != pad_conf)
|
||||
printk(BIOS_DEBUG,
|
||||
- "gpio_padcfg [0x%02x, %02zd] DW%d [0x%08x : 0x%08x"
|
||||
- " : 0x%08x]\n",
|
||||
+ "%d: gpio_padcfg [0x%02x, %02zd] DW%d [0x%08x : 0x%08x"
|
||||
+ " : 0x%08x]\n", cfg->pad,
|
||||
comm->port, relative_pad_in_comm(comm, cfg->pad), i,
|
||||
pad_conf,/* old value */
|
||||
cfg->pad_config[i],/* value passed from gpio table */
|
||||
```
|
||||
|
||||
Depending upon the pads that are misconfigured by FSP-S, these
|
||||
mainboards will have to set UPDs appropriately. Once this is verified
|
||||
by the above mainboards, the workaround implemented in CB:31250 can be
|
||||
dropped.
|
||||
|
||||
* The fix implemented in FSP/coreboot for `soc/intel/cannonlake`
|
||||
platforms is not really the right long term solution for the
|
||||
problem. Ideally, FSP should not be touching any GPIO configuration
|
||||
and letting coreboot configure the pads as per mainboard
|
||||
design. This recommendation was accepted and implemented by Intel
|
||||
starting with Jasper Lake and Tiger Lake platforms using a single
|
||||
UPD `GpioOverride` that coreboot can set so that FSP does not change
|
||||
any GPIO configuration. However, this implementation is not
|
||||
backported to any older platforms. Given the issues that we have
|
||||
observed across different platforms, the second proposal is to:
|
||||
|
||||
- Add a Kconfig `CHECK_GPIO_CONFIG_CHANGES` that enables checks
|
||||
in coreboot to stash GPIO pad configuration before various calls
|
||||
to FSP and compares the configuration on return from FSP.
|
||||
- This will have to be implemented as part of
|
||||
drivers/intel/fsp/fsp2_0/ to check for the above config selection
|
||||
and make callbacks `gpio_snapshot()` and `gpio_verify_snapshot()`
|
||||
to identify and print information about pads that have changed
|
||||
configuration after calls to FSP.
|
||||
- This config can be kept disabled by default and mainboard
|
||||
developers can enable them as and when required for debug.
|
||||
- This will be helpful not just for the `soc/intel/cannonlake`
|
||||
platforms that want to get rid of the above workaround, but also
|
||||
for all future platforms using FSP to identify and catch any GPIO
|
||||
misconfigurations that might slip in to any platforms (in case the
|
||||
`GpioOverride` UPD is not honored by any code path within FSP).
|
||||
|
@ -5,7 +5,7 @@
|
||||
ACPI exposes a platform-independent interface for operating systems to perform
|
||||
power management and other platform-level functions. Some operating systems
|
||||
also use ACPI to enumerate devices that are not immediately discoverable, such
|
||||
as those behind I2C or SPI busses (in contrast to PCI). This document discusses
|
||||
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.
|
||||
|
||||
@ -20,6 +20,62 @@ 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
|
||||
@ -30,7 +86,7 @@ device pci 15.0 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""ELAN0000""
|
||||
register "desc" = ""ELAN Touchpad""
|
||||
register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_A21_IRQ)"
|
||||
register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A21_IRQ)"
|
||||
register "wake" = "GPE0_DW0_21"
|
||||
device i2c 15 on end
|
||||
end
|
||||
@ -60,12 +116,12 @@ Scope (\_SB.PCI0.I2C0)
|
||||
I2cSerialBusV2 (0x0015, ControllerInitiated, 400000,
|
||||
AddressingMode7Bit, "\\_SB.PCI0.I2C0",
|
||||
0x00, ResourceConsumer, , Exclusive, )
|
||||
Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, )
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, )
|
||||
{
|
||||
0x0000002D,
|
||||
}
|
||||
})
|
||||
Name (_S0W, 0x04) // _S0W: S0 Device Wake State
|
||||
Name (_S0W, ACPI_DEVICE_SLEEP_D3_HOT) // _S0W: S0 Device Wake State
|
||||
Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
|
||||
{
|
||||
0x15, // GPE #21
|
||||
@ -136,7 +192,7 @@ corresponds to **const char *desc** and in ASL:
|
||||
It also adds the interrupt,
|
||||
|
||||
```
|
||||
Interrupt (ResourceConsumer, Edge, ActiveLow, ExclusiveAndWake, ,, )
|
||||
Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, )
|
||||
{
|
||||
0x0000002D,
|
||||
}
|
||||
@ -145,15 +201,15 @@ It also adds the interrupt,
|
||||
which comes from:
|
||||
|
||||
```
|
||||
register "irq" = "ACPI_IRQ_WAKE_EDGE_LOW(GPP_A21_IRQ)"
|
||||
register "irq" = "ACPI_IRQ_WAKE_LEVEL_LOW(GPP_A21_IRQ)"
|
||||
```
|
||||
|
||||
The GPIO pin IRQ settings control the "Edge", "ActiveLow", and
|
||||
"ExclusiveAndWake" settings seen above (edge means it is an edge-triggered
|
||||
interrupt as opposed to level-triggered; active low means the interrupt is
|
||||
triggered on a falling edge).
|
||||
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_EDGE_LOW macro informs the platform that the GPIO
|
||||
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
|
||||
@ -196,7 +252,7 @@ for more details on ACPI methods)
|
||||
|
||||
### _S0W (S0 Device Wake State)
|
||||
_S0W indicates the deepest S0 sleep state this device can wake itself from,
|
||||
which in this case is 4, representing _D3cold_.
|
||||
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
|
||||
|
@ -84,15 +84,6 @@ the raw Rx gpio value.
|
||||
|
||||
## Implementation Details
|
||||
|
||||
ACPI library in coreboot will provide weak definitions for all the
|
||||
above functions with error messages indicating that these functions
|
||||
are being used. This allows drivers to conditionally make use of GPIOs
|
||||
based on device-tree entries or any other config option. It is
|
||||
recommended that the SoC code in coreboot should provide
|
||||
implementations of all the above functions generating ACPI AML code
|
||||
irrespective of them being used in any driver. This allows mainboards
|
||||
to use any drivers and take advantage of this common infrastructure.
|
||||
|
||||
Platforms are restricted to using Local5, Local6 and Local7 variables
|
||||
only in implementations of the above functions. Any AML methods called
|
||||
by the above functions do not have any such restrictions on use of
|
||||
@ -159,7 +150,6 @@ for the GPIO.
|
||||
*/
|
||||
acpigen_write_if_and(Local5, TX_BIT);
|
||||
acpigen_write_store_args(ONE_OP, LOCAL0_OP);
|
||||
acpigen_pop_len();
|
||||
acpigen_write_else();
|
||||
acpigen_write_store_args(ZERO_OP, LOCAL0_OP);
|
||||
acpigen_pop_len();
|
||||
|
@ -92,6 +92,6 @@ Here's a list of known issues:
|
||||
page tables in ROM will be loaded and used, which breaks code and data as
|
||||
the page table doesn't contain the expected data. This in turn leads to
|
||||
undefined behaviour whenever the 'wrong' address is being read.
|
||||
* Disabling paging in compability mode crashes the CPU.
|
||||
* Returning from long mode to compability mode crashes the CPU.
|
||||
* Disabling paging in compatibility mode crashes the CPU.
|
||||
* Returning from long mode to compatibility mode crashes the CPU.
|
||||
* Entering long mode crashes on AMD host platforms.
|
||||
|
@ -11,8 +11,29 @@ You can subscribe on its
|
||||
read its
|
||||
[archives](https://mail.coreboot.org/hyperkitty/list/coreboot@coreboot.org/).
|
||||
|
||||
## IRC
|
||||
## Real time chat
|
||||
|
||||
We also have a
|
||||
[real time chat](https://webchat.freenode.net?channels=%23coreboot)
|
||||
on the Freenode IRC network's #coreboot channel.
|
||||
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
|
||||
[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
|
||||
or are explicitly invited. To work around that, there's an
|
||||
[invite bot](https://slack.osfw.dev/) to let people in.
|
||||
|
||||
## Fortnightly coreboot leadership meeting
|
||||
|
||||
There's a leadership meeting held every 14 days (currently every other
|
||||
Wednesday at 10am Pacific Time, usually 18:00 UTC with some deviation
|
||||
possible due to daylight saving time related shifts). The meeting
|
||||
is open to everyone and provides a forum to discuss general coreboot
|
||||
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),
|
||||
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
|
||||
access to the document is limited to adding comments - any desired
|
||||
agenda item added that way will be approved in time before the meeting.
|
||||
|
7
Documentation/community/index.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Community
|
||||
|
||||
* [Code of Conduct](code_of_conduct.md)
|
||||
* [Language style](language_style.md)
|
||||
* [Community forums](forums.md)
|
||||
* [Project services](services.md)
|
||||
* [coreboot at conferences](conferences.md)
|
@ -1,6 +1,6 @@
|
||||
# Accounts on coreboot.org
|
||||
|
||||
There are a number of places where you can benefit from creaating an account
|
||||
There are a number of places where you can benefit from creating an account
|
||||
in our community. Since there is no single sign-on system in place (at this
|
||||
time), they come with their own setup routines.
|
||||
|
||||
|
@ -185,7 +185,7 @@ texinfo_documents = [
|
||||
enable_auto_toc_tree = True
|
||||
|
||||
class MyCommonMarkParser(CommonMarkParser):
|
||||
# remove this hack once upsteam RecommonMark supports inline code
|
||||
# remove this hack once upstream RecommonMark supports inline code
|
||||
def visit_code(self, mdnode):
|
||||
from docutils import nodes
|
||||
n = nodes.literal(mdnode.literal, mdnode.literal)
|
||||
|
@ -1,16 +1,30 @@
|
||||
# Coding Style
|
||||
|
||||
This is a short document describing the preferred coding style for the
|
||||
This document describes the preferred C coding style for the
|
||||
coreboot project. It is in many ways exactly the same as the Linux
|
||||
kernel coding style. In fact, most of this document has been copied from
|
||||
the [Linux kernel coding style](http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/CodingStyle?id=HEAD)
|
||||
|
||||
Please at least consider the points made here.
|
||||
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.
|
||||
|
||||
First off, I'd suggest printing out a copy of the GNU coding standards,
|
||||
and NOT read it. Burn them, it's a great symbolic gesture.
|
||||
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
|
||||
coreboot.
|
||||
|
||||
Anyway, here goes:
|
||||
Bulk style changes to existing code ("cleanup patches") should avoid
|
||||
changing existing style choices unless they actually violate this style
|
||||
guide, or there is broad consensus that the new version is an
|
||||
improvement. By default the style choices of the original author should
|
||||
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.)
|
||||
|
||||
## Indentation
|
||||
|
||||
@ -530,7 +544,7 @@ than desirable (in fact, they are worse than random typing - an infinite
|
||||
number of monkeys typing into GNU emacs would never make a good program).
|
||||
|
||||
So, you can either get rid of GNU emacs, or change it to use saner values.
|
||||
To do the latter, you can stick the following in your .emacs file:
|
||||
To do the latter, you can stick the following in your .emacs file:
|
||||
|
||||
```lisp
|
||||
(defun c-lineup-arglist-tabs-only (ignored)
|
||||
@ -787,7 +801,7 @@ There are a LOT of cpu cycles that can go into these 5 milliseconds.
|
||||
|
||||
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
|
||||
cases where a parameter is known to be a compiletime constant, and as a
|
||||
cases where a parameter is known to be a compile time constant, and as a
|
||||
result of this constantness you *know* the compiler will be able to
|
||||
optimize most of your function away at compile time. For a good example
|
||||
of this later case, see the kmalloc() inline function.
|
||||
@ -834,22 +848,53 @@ 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.
|
||||
|
||||
Don't re-invent the kernel macros
|
||||
----------------------------------
|
||||
Headers and includes
|
||||
---------------
|
||||
|
||||
The header file include/linux/kernel.h contains a number of macros that
|
||||
you should use, rather than explicitly coding some variant of them
|
||||
yourself. For example, if you need to calculate the length of an array,
|
||||
take advantage of the macro
|
||||
Headers should always be included at the top of the file. Includes should
|
||||
always use the `#include <file.h>` notation, except for rare cases where a file
|
||||
in the same directory that is not part of a normal include path gets included
|
||||
(e.g. local headers in mainboard directories), which should use `#include
|
||||
"file.h"`. Local "file.h" includes should always come separately after all
|
||||
<file.h> includes. Headers that can be included from both assembly files and
|
||||
.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.
|
||||
|
||||
Files should generally include every header they need a definition from
|
||||
directly (and not include any unnecessary extra headers). Excepted from
|
||||
this are certain headers that intentionally chain-include other headers
|
||||
which logically belong to them and are just factored out into a separate
|
||||
location for implementation or organizatory reasons. This could be
|
||||
because part of the definitions is generic and part SoC-specific (e.g.
|
||||
`<gpio.h>` chain-including `<soc/gpio.h>`), architecture-specific (e.g.
|
||||
`<device/mmio.h>` chain-including `<arch/mmio.h>`), separated out into
|
||||
commonlib[/bsd] for sharing/license reasons (e.g. `<cbfs.h>`
|
||||
chain-including `<commonlib/bsd/cbfs_serialized.h>`) or just split out
|
||||
to make organizing subunits of a larger header easier. This can also
|
||||
happen when certain definitions need to be in a specific header for
|
||||
legacy POSIX reasons but we would like to logically group them together
|
||||
(e.g. `uintptr_t` is in `<stdint.h>` and `size_t` in `<stddef.h>`, but
|
||||
it's nicer to be able to just include `<types.h>` and get all the common
|
||||
type and helper function stuff we need everywhere).
|
||||
|
||||
The headers `<kconfig.h>`, `<rules.h>` and `<commonlib/bsd/compiler.h>`
|
||||
are always automatically included in all compilation units by the build
|
||||
system and should not be included manually.
|
||||
|
||||
Don't re-invent common macros
|
||||
-----------------------------
|
||||
|
||||
The header file `src/commonlib/bsd/include/commonlib/bsd/helpers.h`
|
||||
contains a number of macros that you should use, rather than explicitly
|
||||
coding some variant of them yourself. For example, if you need to
|
||||
calculate the length of an array, take advantage of the macro
|
||||
|
||||
```c
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
```
|
||||
|
||||
There are also min() and max() macros that do strict type checking if
|
||||
you need them. Feel free to peruse that header file to see what else is
|
||||
already defined that you shouldn't reproduce in your code.
|
||||
|
||||
Editor modelines and other cruft
|
||||
--------------------------------
|
||||
|
249
Documentation/contributing/gsoc.md
Normal file
@ -0,0 +1,249 @@
|
||||
# Google Summer of Code
|
||||
|
||||
|
||||
## Contacts
|
||||
|
||||
If you are interested in participating in GSoC as a contributor or mentor,
|
||||
please have a look at our [community forums] and reach out to us. Working closely
|
||||
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?
|
||||
|
||||
* coreboot offers you the opportunity to work with various architectures
|
||||
right on the iron. coreboot supports both current and older silicon for a
|
||||
wide variety of chips and technologies.
|
||||
|
||||
* coreboot has a worldwide developer and user base.
|
||||
|
||||
* We are a very passionate team, so you will interact directly with the
|
||||
project initiators and project leaders.
|
||||
|
||||
* We have a large, helpful community. coreboot has some extremely talented
|
||||
and helpful experts in firmware involved in the project. They are ready to
|
||||
assist and mentor contributors participating in GSoC.
|
||||
|
||||
* One of the last areas where open source software is not common is firmware.
|
||||
Running proprietary firmware can have severe effects on user's freedom and
|
||||
security. coreboot has a mission to change that by providing a common
|
||||
framework for initial hardware initialization and you can help us succeed.
|
||||
|
||||
|
||||
## Contributor requirements & commitments
|
||||
|
||||
Google Summer of Code is a significant time commitment for you. Medium-sized
|
||||
projects are estimated to take 175 hours, while large-sized projects are
|
||||
estimated to take 350 hours. Depending on the project size, this means we
|
||||
expect you to work roughly half-time or full-time on your project during the
|
||||
three months of coding. We expect to be able to see this level of effort in the
|
||||
results.
|
||||
|
||||
The standard program duration is 12 weeks and in consultation with the mentor
|
||||
it can be extended up to 22 weeks. Please keep in mind that the actual number
|
||||
of hours you spend on the project highly depends on your skills and previous
|
||||
experience.
|
||||
|
||||
Make sure that your schedule (exams, courses, day job) gives you a sufficient
|
||||
amount of spare time. If this is not the case, then you should not apply.
|
||||
|
||||
|
||||
### Before applying
|
||||
|
||||
* Join the [mailing list] and our other [community forums]. Introduce yourself
|
||||
and mention that you are a prospective GSoC contributor. Ask questions and
|
||||
discuss the project that you are considering. Community involvement is a
|
||||
key component of coreboot development.
|
||||
|
||||
* You accept our [Code of Conduct] and [Language style].
|
||||
|
||||
* Demonstrate that you can work with the coreboot codebase.
|
||||
|
||||
* Look over some of the development processes guidelines: [Getting started],
|
||||
[Tutorial], [Flashing firmware tutorial] and [Coding style].
|
||||
|
||||
* Download, build and boot coreboot in QEMU or on real hardware. Please email
|
||||
your serial output results to the [mailing list].
|
||||
|
||||
* Look through some patches on Gerrit to get an understanding of the review
|
||||
process and common issues.
|
||||
|
||||
* Get signed up for Gerrit and push at least one patch to Gerrit for review.
|
||||
Check Easy projects or ask for simple tasks on the [mailing list] or on our
|
||||
other [community forums] if you need ideas.
|
||||
|
||||
|
||||
### During the program
|
||||
|
||||
* To pass and to be paid by Google requires that you meet certain milestones.
|
||||
|
||||
* First, you must be in good standing with the community before the official
|
||||
start of the program. We expect you to post some design emails to the
|
||||
[mailing list], and get feedback on them, both before applying, and during
|
||||
the "community bonding period" between acceptance and official start.
|
||||
|
||||
* You must have made progress and committed significant code before the
|
||||
mid-term point and by the final.
|
||||
|
||||
* We require that accepted contributors to maintain a blog, where you are
|
||||
expected to write about your project *WEEKLY*. This is a way to measure
|
||||
progress and for the community at large to be able to help you. GSoC is
|
||||
*NOT* a private contract between your mentor and you.
|
||||
|
||||
* You must be active in the community on IRC and the [mailing list].
|
||||
|
||||
* You are expected to work on development publicly, and to push commits to the
|
||||
project on a regular basis. Depending on the project and what your mentor
|
||||
agrees to, these can be published directly to the project or to a public
|
||||
repository such as Gitlab or Github. If you are not publishing directly to
|
||||
the project codebase, be aware that we do not want large dumps of code that
|
||||
need to be rushed to meet the mid-term and final goals.
|
||||
|
||||
We don't expect our contributors to be experts in our problem domain, but we
|
||||
don't want you to fail because some basic misunderstanding was in your way of
|
||||
completing the task.
|
||||
|
||||
|
||||
## Projects
|
||||
|
||||
There are many development tasks available in coreboot. We prepared some ideas
|
||||
for Summer of Code projects. These are projects that we think can be managed in
|
||||
the timeline of GSoC, and they cover areas where coreboot is trying to reach
|
||||
new users and new use cases.
|
||||
|
||||
Of course your application does not have to be based on any of the ideas listed.
|
||||
It is entirely possible that you have a great idea that we just didn't think of
|
||||
yet. Please let us know!
|
||||
|
||||
The blog posts related to previous GSoC projects might give some insights to
|
||||
what it is like to be a coreboot GSoC contributor.
|
||||
|
||||
|
||||
## coreboot Summer of Code Application
|
||||
|
||||
coreboot welcomes contributors from all backgrounds and levels of experience.
|
||||
|
||||
Your application should include a complete project proposal. You should
|
||||
document that you have the knowledge and the ability to complete your proposed
|
||||
project. This may require a little research and understanding of coreboot prior
|
||||
to sending your application. The community and coreboot project mentors are your
|
||||
best resource in fleshing out your project ideas and helping with a project
|
||||
timeline. We recommend that you get feedback and recommendations on your
|
||||
proposal before the application deadline.
|
||||
|
||||
Please complete the standard GSoC application and project proposal. Provide the
|
||||
following information as part of your application. Make sure to provide multiple
|
||||
ways of communicating in case your equipment (such as a laptop) is lost,
|
||||
damaged, or stolen, or in case of a natural disaster that disrupts internet
|
||||
service. You risk automatically failing if your mentor cannot contact you and if
|
||||
you cannot provide updates according to GSoC deadlines.
|
||||
|
||||
**Personal Information**
|
||||
|
||||
* Name
|
||||
|
||||
* Email and contact options (IRC, Matrix, …)
|
||||
|
||||
* Phone number (optional, but recommended)
|
||||
|
||||
* Timezone, Usual working hours (UTC)
|
||||
|
||||
* School / University, Degree Program, expected graduation date
|
||||
|
||||
* Short bio / Overview of your background
|
||||
|
||||
* What are your other time commitments? Do you have a job, classes, vacations?
|
||||
When and how long?
|
||||
|
||||
**Software experience**
|
||||
|
||||
If applicable, please provide the following information:
|
||||
|
||||
* Portfolio, Website, blog, microblog, Github, Gitlab, ...
|
||||
|
||||
* Links to one or more patches submitted
|
||||
|
||||
* Links to posts on the [mailing list] with the serial output of your build.
|
||||
|
||||
* Please comment on your software and firmware experience.
|
||||
|
||||
* Have you contributed to an open source project? Which one? What was your
|
||||
experience?
|
||||
|
||||
* What was your experience while building and running coreboot? Did you have
|
||||
problems?
|
||||
|
||||
**Your project**
|
||||
|
||||
* Provide an overview of your project (in your own words).
|
||||
|
||||
* Provide a breakdown of your project in small specific weekly goals. Think
|
||||
about the potential timeline.
|
||||
|
||||
* How will you accomplish this goal? What is your working style?
|
||||
|
||||
* Explain what risks or potential problems your project might experience.
|
||||
|
||||
* What would you expect as a minimum level of success?
|
||||
|
||||
* Do you have a stretch goal?
|
||||
|
||||
**Other**
|
||||
|
||||
* Resume (optional)
|
||||
|
||||
|
||||
### Advice on how to apply
|
||||
|
||||
* [GSoC Contributor Guide]
|
||||
|
||||
* The Drupal project has a great page on how to write an GSoC application.
|
||||
|
||||
* Secrets for GSoC success: [2]
|
||||
|
||||
|
||||
## Mentors
|
||||
|
||||
Each accepted project will have at least one mentor. We will match mentors and
|
||||
contributors based on the project and experience level. If possible, we also
|
||||
will try to match their time zones.
|
||||
|
||||
Mentors are expected to stay in frequent contact with the contributor and
|
||||
provide guidance such as code reviews, pointers to useful documentation, etc.
|
||||
This should generally be a time commitment of several hours per week.
|
||||
|
||||
Some projects might have more than one mentor, who can serve as a backup. They
|
||||
are expected to coordinate with each other and a contributor on a regular basis,
|
||||
and keep track of the contributor process. They should be able to take over
|
||||
mentoring duty if one of the mentors is unavailable (vacations, sickness,
|
||||
emergencies).
|
||||
|
||||
|
||||
### Volunteering to be a mentor
|
||||
|
||||
If you'd like to volunteer to be a mentor, please read the [GSoC Mentor Guide].
|
||||
This will give you a better idea of expectations, and where to go for help.
|
||||
After that, contact Org Admins (see coreboot contacts section above).
|
||||
|
||||
The following coreboot developers have volunteered to be GSoC 2022 mentors.
|
||||
Please stop by in our community forums and say hi to them and ask them
|
||||
questions.
|
||||
|
||||
* Tim Wawrzynczak
|
||||
* Raul Rangel
|
||||
* Ron Minnich
|
||||
|
||||
|
||||
[community forums]: ../community/forums.md
|
||||
[mailing list]: https://mail.coreboot.org/postorius/lists/coreboot.coreboot.org
|
||||
[Getting started]: ../getting_started/index.md
|
||||
[Tutorial]: ../tutorial/index.md
|
||||
[Flashing firmware tutorial]: ../flash_tutorial/index.md
|
||||
[Coding style]: coding_style.md
|
||||
[Code of Conduct]: ../community/code_of_conduct.md
|
||||
[Language style]: ../community/language_style.md
|
||||
[GSoC Contributor Guide]: https://google.github.io/gsocguides/student
|
||||
[GSoC Mentor Guide]: https://google.github.io/gsocguides/mentor
|
6
Documentation/contributing/index.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Contributing
|
||||
|
||||
* [Coding Style](coding_style.md)
|
||||
* [Project Ideas](project_ideas.md)
|
||||
* [Documentation Ideas](documentation_ideas.md)
|
||||
* [Google Summer of Code](gsoc.md)
|
@ -66,25 +66,6 @@ across architectures.
|
||||
### Mentors
|
||||
* Timothy Pearson <tpearson@raptorengineering.com>
|
||||
|
||||
## Add Kernel Address Sanitizer functionality to coreboot
|
||||
The Kernel Address Sanitizer (KASAN) is a runtime dynamic memory error detector.
|
||||
The idea is to check every memory access (variables) for its validity
|
||||
during runtime and find bugs like stack overflow or out-of-bounds accesses.
|
||||
Implementing this stub into coreboot like "Undefined behavior sanitizer support"
|
||||
would help to ensure code quality and make the runtime code more robust.
|
||||
|
||||
### Requirements
|
||||
* knowledge in the coreboot build system and the concept of stages
|
||||
* the KASAN feature can be improved in a way so that the memory space needed
|
||||
during runtime is not on a fixed address provided during compile time but
|
||||
determined during runtime. For this to achieve a small patch to the GCC will
|
||||
be helpful. Therefore minor GCC knowledge would be beneficial.
|
||||
* Implementation can be initially done in QEMU and improved on different
|
||||
mainboards and platforms
|
||||
|
||||
### Mentors
|
||||
* Werner Zeh <werner.zeh@gmx.net>
|
||||
|
||||
## 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
|
||||
@ -221,9 +202,9 @@ Build an open source replacement written in Golang using existing tools
|
||||
and libraries, consisting of a backend, a frontend and client side
|
||||
scripts. The backend should connect to an SQL database with can be
|
||||
controlled using a RESTful API. The RESTful API should have basic authentication
|
||||
for managment tasks and new board status uploads.
|
||||
for management tasks and new board status uploads.
|
||||
|
||||
At least one older test result should be keept in the database.
|
||||
At least one older test result should be kept in the database.
|
||||
|
||||
The frontend should use established UI libraries or frameworks (for example
|
||||
Angular) to display the current board status, that is if it's working or not
|
||||
|
@ -8,28 +8,15 @@ and those providing after-market firmware to extend the usefulness of devices.
|
||||
|
||||
## Hardware shipping with coreboot
|
||||
|
||||
### Purism
|
||||
|
||||
[Purism](https://www.puri.sm) sells laptops with a focus on user privacy and
|
||||
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.
|
||||
|
||||
### ChromeOS Devices
|
||||
|
||||
All ChromeOS devices ([Chromebooks](https://chromebookdb.com/), Chromeboxes,
|
||||
Chromebit, etc) released from 2012 onward use coreboot for their main system
|
||||
firmware. Additionally, starting with the 2013 Chromebook Pixel, the firmware
|
||||
running on the Embedded Controller (EC - a small microcontroller which provides
|
||||
functions like battery management, keyboard support, and sensor interfacing)
|
||||
running on the Embedded Controller (EC) – a small microcontroller which provides
|
||||
functions like battery management, keyboard support, and sensor interfacing –
|
||||
is open source as well.
|
||||
|
||||
### Libretrend
|
||||
|
||||
[Libretrend](https://libretrend.com) sells the Librebox, a NUC-like PC which
|
||||
ships with coreboot firmware.
|
||||
|
||||
|
||||
### PC Engines APUs
|
||||
|
||||
[PC Engines](https://pcengines.ch) designs and sells embedded PC hardware that
|
||||
@ -37,6 +24,27 @@ 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
|
||||
|
||||
[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.
|
||||
|
||||
### Purism
|
||||
|
||||
[Purism](https://www.puri.sm) sells laptops with a focus on user privacy and
|
||||
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.
|
||||
|
||||
## After-market firmware
|
||||
|
||||
### Libreboot
|
||||
|
@ -311,3 +311,19 @@ table for a given temperature threshold.
|
||||
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
|
||||
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
|
||||
can be defined as below mentioned example and can be used any variable between
|
||||
[0], [1],...,[5]. Platform vendors can enable and use this for specific platform
|
||||
by defining OEM variables macro under board variant.
|
||||
|
||||
Example:
|
||||
```C
|
||||
register "oem_data.oem_variables" = "{
|
||||
[1] = 0x6,
|
||||
[3] = 0x1
|
||||
}"
|
||||
```
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
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 accross platforms.
|
||||
they allow to easily reuse existing code across platforms.
|
||||
|
||||
* [Intel DPTF](dptf.md)
|
||||
* [IPMI KCS](ipmi_kcs.md)
|
||||
|
@ -375,7 +375,7 @@ chip and can be decoded for this table with the codec datasheet and board schema
|
||||
* @version: SoundWire specification version from &enum soundwire_version.
|
||||
* @link_id: Zero-based SoundWire Link Number.
|
||||
* @unique_id: Unique ID for multiple devices.
|
||||
* @manufacturer_id: Manufacturer ID from include/device/mipi_ids.h.
|
||||
* @manufacturer_id: Manufacturer ID from include/mipi/ids.h.
|
||||
* @part_id: Vendor defined part ID.
|
||||
* @class: MIPI class encoding in &enum mipi_class.
|
||||
*/
|
||||
|
@ -7,7 +7,7 @@ flash IC.
|
||||
|
||||
## Contents
|
||||
|
||||
* [Flashing internaly](int_flashrom.md)
|
||||
* [Flashing internally](int_flashrom.md)
|
||||
* [Flashing firmware standalone](ext_standalone.md)
|
||||
* [Flashing firmware externally supplying direct power](ext_power.md)
|
||||
* [Flashing firmware externally without supplying direct power](no_ext_power.md)
|
||||
|
@ -19,7 +19,7 @@ time). The file gcov-io.c is unchanged.
|
||||
+#define BITS_PER_UNIT 8
|
||||
+#define LONG_LONG_TYPE_SIZE 64
|
||||
+
|
||||
+/* There are many gcc_assertions. Set the vaule to 1 if we want a warning
|
||||
+/* There are many gcc_assertions. Set the value to 1 if we want a warning
|
||||
+ message if the assertion fails. */
|
||||
+#ifndef ENABLE_ASSERT_CHECKING
|
||||
+#define ENABLE_ASSERT_CHECKING 1
|
||||
|
@ -41,7 +41,7 @@ The bootblock loads the romstage or the verstage if verified boot is enabled.
|
||||
|
||||
### Cache-As-Ram
|
||||
The *Cache-As-Ram*, also called Non-Eviction mode, or *CAR* allows to use the
|
||||
CPU cache like regular SRAM. This is particullary usefull for high level
|
||||
CPU cache like regular SRAM. This is particullary useful for high level
|
||||
languages like `C`, which need RAM for heap and stack.
|
||||
|
||||
The CAR needs to be activated using vendor specific CPU instructions.
|
||||
@ -85,7 +85,7 @@ The ramstage does the main device init:
|
||||
* CPU init (like set up SMM)
|
||||
|
||||
After initialization tables are written to inform the payload or operating system
|
||||
about the current hardware existance and state. That includes:
|
||||
about the current hardware existence and state. That includes:
|
||||
|
||||
* ACPI tables (x86 specific)
|
||||
* SMBIOS tables (x86 specific)
|
||||
|
@ -193,8 +193,10 @@ the wip flag:
|
||||
* 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
|
||||
private changes, so that only explicitly added reviewers will see them. These
|
||||
sorts of patches are frequently posted as ideas or RFCs for the community
|
||||
to look at. To push a private change, use the command:
|
||||
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
|
||||
|
||||
* Multiple push options can be combined:
|
||||
@ -320,6 +322,47 @@ is criticising your code, but the whole idea is to get better code into our
|
||||
codebase. Again, this also applies in the other direction: review code,
|
||||
criticize code, but don’t make it personal.
|
||||
|
||||
Gerrit user roles
|
||||
-----------------
|
||||
There are a few relevant roles a user can have on Gerrit:
|
||||
|
||||
- The anonymous user can check out source code.
|
||||
- A registered user can also comment and give "+1" and "-1" code reviews.
|
||||
- A reviewer can also give "+2" code reviews.
|
||||
- A core developer can also give "-2" (that is, blocking) code reviews
|
||||
and submit changes.
|
||||
|
||||
Anybody can register an account on our instance, using either an
|
||||
OpenID provider or OAuth through GitHub or Google.
|
||||
|
||||
The reviewer group is still quite open: Any core developer can add
|
||||
registered users to that group and should do so once some activity
|
||||
(commits, code reviews, and so on) has demonstrated rough knowledge
|
||||
of how we handle things.
|
||||
|
||||
A core developer should be sufficiently well established in the
|
||||
community so that they feel comfortable when submitting good patches,
|
||||
when asking for improvements to less good patches and reasonably
|
||||
uncomfortable when -2'ing patches. They're typically the go-to
|
||||
person for _some_ part of the coreboot tree and ideally listed as its
|
||||
maintainer in our MAINTAINERS registry. To become part of this group,
|
||||
a candidate developer who already demonstrated proficiency with the
|
||||
code base as a reviewer should be nominated, by themselves or others,
|
||||
at the regular [coreboot leadership meetings](../community/forums.md)
|
||||
where a decision is made.
|
||||
|
||||
Core developers are expected to use their privileges for the good of the
|
||||
project, which includes any of their own coreboot development but also beyond
|
||||
that. They should make sure that [ready changes] don't linger around needlessly
|
||||
just because their authors aren't well-connected with core developers but
|
||||
submit them if they went through review and generally look reasonable. They're
|
||||
also expected to help clean-up breakage as a result of their submissions.
|
||||
|
||||
Since the project expects some activity by core developers, long-term absence
|
||||
(as in "years") can lead to removal from the group, which can easily be
|
||||
reversed after they come back.
|
||||
|
||||
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
|
||||
|
@ -115,6 +115,44 @@ variant's override table.
|
||||
This configuration is often hooked into the mainboard's `enable_dev` callback,
|
||||
defined in its `struct chip_operations`.
|
||||
|
||||
## Unconnected and unused pads
|
||||
|
||||
In digital electronics, it is generally recommended to tie unconnected GPIOs to
|
||||
a defined signal like VCC or GND by setting their direction to output, adding an
|
||||
external pull resistor or configuring an internal pull resistor. This is done to
|
||||
prevent floating of the pin state, which can cause various issues like EMI,
|
||||
higher power usage due to continuously switching logic, etc.
|
||||
|
||||
On Intel PCHs from Sunrise Point onwards, termination of unconnected GPIOs is
|
||||
explicitly not required, when the input buffer is disabled by setting the bit
|
||||
`GPIORXDIS` which effectively disconnects the pad from the internal logic. All
|
||||
pads defaulting to GPIO mode have this bit set. However, in the mainboard's
|
||||
GPIO configuration the macro `PAD_NC(pad, NONE)` can be used to explicitly
|
||||
configure a pad as unconnected.
|
||||
|
||||
In case there are no schematics available for a board and the vendor set a
|
||||
pad to something like `GPIORXDIS=1`, `GPIOTXDIS=1` with an internal pull
|
||||
resistor, an unconnected or otherwise unused pad can be assumed. In this case it
|
||||
is recommended to keep the pull resistor, because the external circuit might
|
||||
rely on it.
|
||||
|
||||
Unconnected pads defaulting to a native function (input and output) usually
|
||||
don't need to be configured as GPIO with the `GPIORXDIS` bit set. For clarity
|
||||
and documentation purpose the macro may be used as well for them.
|
||||
|
||||
Some pads configured as native input function explicitly require external
|
||||
pull-ups when being unused, according to the PDGs:
|
||||
- eDP_HPD
|
||||
- SMBCLK/SMBDATA
|
||||
- SML0CLK/SML0DATA/SML0ALERT
|
||||
- SATAGP*
|
||||
|
||||
When the board was designed correctly, nothing needs to be done for them
|
||||
explicitly, while using `PAD_NC(pad, NONE)` can act as documentation. If such a
|
||||
pad is missing the external pull resistor due to bad board design, the pad
|
||||
should be configured with `PAD_NC(pad, NONE)` anyway to disconnect it
|
||||
internally.
|
||||
|
||||
## Potential issues (gotchas!)
|
||||
|
||||
There are a couple of configurations that you need to especially careful about,
|
||||
@ -124,8 +162,68 @@ The first is configuring a pin as an output, when it was designed to be an
|
||||
input. There is a real risk in this case of short-circuiting a component which
|
||||
could cause catastrophic failures, up to and including your mainboard!
|
||||
|
||||
The other configuration option to watch out for deals with unconnected GPIOs.
|
||||
If no pullup or pulldown is declared with these, they may end up "floating",
|
||||
i.e., not at logical high or logical low. This can cause problems such as
|
||||
unwanted power consumption or not reading the pin correctly, if it was intended
|
||||
to be strapped.
|
||||
### Intel SoCs
|
||||
|
||||
As per Intel Platform Controller Hub (PCH) EDS since Skylake, a GPIO PAD register
|
||||
supports four different types of GPIO reset as:
|
||||
|
||||
| PAD Reset Config | Platform Reset | GPP | GPD |
|
||||
|-------------------------------------------------|----------------|-----|-----|
|
||||
| 00 - Power Good (GPP: RSMRST, GPD: DSW_PWROK) | Warm Reset | N | N |
|
||||
| | Cold Reset | N | N |
|
||||
| | S3/S4/S5 | N | N |
|
||||
| | Global Reset | N | N |
|
||||
| | Deep Sx | Y | N |
|
||||
| | G3 | Y | N |
|
||||
| 01 - Deep | Warm Reset | Y | Y |
|
||||
| | Cold Reset | Y | Y |
|
||||
| | S3/S4/S5 | N | N |
|
||||
| | Global Reset | Y | Y |
|
||||
| | Deep Sx | Y | Y |
|
||||
| | G3 | Y | Y |
|
||||
| 10 - Host Reset/PLTRST | Warm Reset | Y | Y |
|
||||
| | Cold Reset | Y | Y |
|
||||
| | S3/S4/S5 | Y | Y |
|
||||
| | Global Reset | Y | Y |
|
||||
| | Deep Sx | Y | Y |
|
||||
| | G3 | Y | Y |
|
||||
| 11 - Resume Reset (GPP: Reserved, GPD: RSMRST) | Warm Reset | - | N |
|
||||
| | Cold Reset | - | N |
|
||||
| | S3/S4/S5 | - | N |
|
||||
| | Global Reset | - | N |
|
||||
| | Deep Sx | - | Y |
|
||||
| | G3 | - | Y |
|
||||
|
||||
Each GPIO Community has a Pad Configuration Lock register for a GPP allowing locking
|
||||
specific register fields in the PAD configuration register.
|
||||
|
||||
The Pad Config Lock registers reset type is default hardcoded to **Power Good** and
|
||||
it's **not** configurable by GPIO PAD DW0.PadRstCfg. Hence, it may appear that for a GPP,
|
||||
the Pad Reset Config (DW0 Bit 31) is configured differently from `Power Good`.
|
||||
|
||||
This would create confusion where the Pad configuration is returned to its `default`
|
||||
value but remains `locked`, this would prevent software to reprogram the GPP.
|
||||
Additionally, this means software can't rely on GPIOs being reset by PLTRST# or Sx entry.
|
||||
|
||||
Hence, as per GPIO BIOS Writers Guide (BWG) it's recommended to change the Pad Reset
|
||||
Configuration for lock GPP as `Power Good` so that pad configuration and lock bit are
|
||||
always in sync and can be reset at the same time.
|
||||
|
||||
## Soft Straps
|
||||
|
||||
Soft straps, that can be configured by the vendor in the Intel Flash Image Tool
|
||||
(FIT), can influence some pads' default mode. It is possible to select either a
|
||||
native function or GPIO mode for some pads on non-server SoCs, while on server
|
||||
SoCs most pads can be controlled. Thus, it is generally recommended to always
|
||||
configure all pads and don't just rely on the defaults mentioned in the
|
||||
datasheet(s) which might not reflect what the vendor configured.
|
||||
|
||||
## Pad-related known issues and workarounds
|
||||
|
||||
### LPC_CLKRUNB blocks S0ix states when board uses eSPI
|
||||
|
||||
When using eSPI, the pad implementing `LPC_CLKRUNB` must be set to GPIO mode.
|
||||
Other pin settings i.e. Rx path enable/disable, Tx path enable/disable, pull up
|
||||
enable/disable etc are ignored. Leaving this pin in native mode will keep the
|
||||
LPC Controller awake and prevent S0ix entry. This issues is know at least on
|
||||
Apollolake and Geminilake.
|
||||
|
@ -55,10 +55,6 @@ command line.
|
||||
- savedefconfig - Creates a ‘defconfig’ file, stripping out all of the symbols
|
||||
that were left as default values. This is very useful for debugging, and is
|
||||
how config files should be saved.
|
||||
- silentoldconfig - This evaluates the .config file the same way that the
|
||||
oldconfig target does, but does not print out each question as it is
|
||||
evaluated. It still stops to query the user if an option with no answer in
|
||||
the .config file is found.
|
||||
|
||||
|
||||
### Targets not typically used in coreboot
|
||||
@ -607,7 +603,7 @@ int <expr> \[if <expr>\]
|
||||
|
||||
|
||||
##### Example:
|
||||
config PRE_GRAPHICS_DELAY
|
||||
config PRE_GRAPHICS_DELAY_MS
|
||||
int "Graphics initialization delay in ms"
|
||||
default 0
|
||||
help
|
||||
@ -1192,7 +1188,7 @@ https://github.com/martinlroth/language-kconfig
|
||||
## Syntax Checking:
|
||||
|
||||
The Kconfig utility does some basic syntax checking on the Kconfig tree.
|
||||
Running "make silentoldconfig" will show any errors that the Kconfig utility
|
||||
Running "make oldconfig" will show any errors that the Kconfig utility
|
||||
sees.
|
||||
|
||||
### util/kconfig_lint
|
||||
|
@ -6,7 +6,7 @@
|
||||
That said please always try to write documentation! One problem in the
|
||||
firmware development is the missing documentation. In this document
|
||||
you will get a brief introduction how to write, submit and publish
|
||||
documenation to coreboot.
|
||||
documentation to coreboot.
|
||||
|
||||
## Preparations
|
||||
|
||||
|
@ -19,7 +19,7 @@ way to categorize anything required by the SoC but not provided by coreboot.
|
||||
| IFD Region | IFD Region name | FMAP Name | Notes |
|
||||
| index | | | |
|
||||
+============+==================+===========+===========================================+
|
||||
| 0 | Flash Descriptor | SI_DESC | Always the top 4KB of flash |
|
||||
| 0 | Flash Descriptor | SI_DESC | Always the top 4 KiB of flash |
|
||||
+------------+------------------+-----------+-------------------------------------------+
|
||||
| 1 | BIOS | SI_BIOS | This is the region that contains coreboot |
|
||||
+------------+------------------+-----------+-------------------------------------------+
|
||||
@ -40,9 +40,9 @@ way to categorize anything required by the SoC but not provided by coreboot.
|
||||
The ifdtool can be used to manipulate a firmware image with a IFD. This tool
|
||||
will not take into account the FMAP while modifying the image which can lead to
|
||||
unexpected and hard to debug issues with the firmware image. For example if the
|
||||
ME region is defined at 6 MB in the IFD but the FMAP only allocates 4 MB for the
|
||||
ME, then when the ME is added by the ifdtool 6 MB will be written which could
|
||||
overwrite 2 MB of the BIOS.
|
||||
ME region is defined at 6 MiB in the IFD but the FMAP only allocates 4 MiB for
|
||||
the ME, then when the ME is added by the ifdtool 6 MiB will be written which
|
||||
could overwrite 2 MiB of the BIOS.
|
||||
|
||||
In order to validate that the FMAP and the IFD are compatible the ifdtool
|
||||
provides --validate (-t) option. `ifdtool -t` will read both the IFD and the
|
||||
@ -75,4 +75,4 @@ Region mismatch between pd and SI_PDR
|
||||
FMAP area SI_PDR:
|
||||
offset: 0x007fc000
|
||||
length: 0x00004000
|
||||
```
|
||||
```
|
||||
|
@ -45,6 +45,12 @@ to the payload), but it's also a value that is deeply ingrained in the
|
||||
project. We fearlessly rip out parts of the architecture and remodel it
|
||||
when a better way of doing the same was identified.
|
||||
|
||||
That said, since there are attempts to coerce coreboot to move in various
|
||||
directions by outside "standardization", long-established practices of
|
||||
coreboot as well as aligned projects can be documented as best practices,
|
||||
making them standards in their own right. However we reserve the right to
|
||||
retire them as the landscape shifts around us.
|
||||
|
||||
### One tree for everything
|
||||
|
||||
Another difference to various other firmware projects is that we try
|
||||
@ -162,14 +168,8 @@ Contents:
|
||||
|
||||
* [Getting Started](getting_started/index.md)
|
||||
* [Tutorial](tutorial/index.md)
|
||||
* [Coding Style](coding_style.md)
|
||||
* [Project Ideas](contributing/project_ideas.md)
|
||||
* [Documentation Ideas](contributing/documentation_ideas.md)
|
||||
* [Code of Conduct](community/code_of_conduct.md)
|
||||
* [Language style](community/language_style.md)
|
||||
* [Community forums](community/forums.md)
|
||||
* [Project services](community/services.md)
|
||||
* [coreboot at conferences](community/conferences.md)
|
||||
* [Contributing](contributing/index.md)
|
||||
* [Community](community/index.md)
|
||||
* [Payloads](payloads.md)
|
||||
* [Distributions](distributions.md)
|
||||
* [Technotes](technotes/index.md)
|
||||
@ -183,9 +183,11 @@ Contents:
|
||||
* [Mainboard](mainboard/index.md)
|
||||
* [Payloads](lib/payloads/index.md)
|
||||
* [Libraries](lib/index.md)
|
||||
* [Options](lib/option.md)
|
||||
* [Security](security/index.md)
|
||||
* [SuperIO](superio/index.md)
|
||||
* [Vendorcode](vendorcode/index.md)
|
||||
* [Utilities](util.md)
|
||||
* [coreboot infrastructure](infrastructure/index.md)
|
||||
* [Release notes for past releases](releases/index.md)
|
||||
* [Flashing firmware tutorial](flash_tutorial/index.md)
|
||||
|
392
Documentation/infrastructure/builders.md
Normal file
@ -0,0 +1,392 @@
|
||||
# Jenkins builder setup and configuration
|
||||
|
||||
## How to set up a new jenkins builder
|
||||
|
||||
### Contact a jenkins admin
|
||||
|
||||
Let a jenkins admin know that you’re interested in setting up a jenkins
|
||||
build system.
|
||||
|
||||
For a permanent build system, this should generally be a dedicated
|
||||
machine that is not generally being used for other purposes. The
|
||||
coreboot builds are very intensive.
|
||||
|
||||
It's also best to be aware that although we don't know of any security
|
||||
issues, the jenkins-node image is run with the privileged flag which
|
||||
gives the container root access to the build machine. See
|
||||
[this article](https://blog.trendmicro.com/trendlabs-security-intelligence/why-running-a-privileged-container-in-docker-is-a-bad-idea/)
|
||||
about why this is discouraged.
|
||||
|
||||
It's recommended that you give an admin root access on your machine so
|
||||
that they can reset it in case of a failure. This is not a requirement,
|
||||
as the system can just be disabled until someone is available to fix any
|
||||
issues.
|
||||
|
||||
Currently active Jenkins admins:
|
||||
* Patrick Georgi:
|
||||
* Email: [patrick@georgi-clan.de](mailto:patrick@georgi-clan.de)
|
||||
* IRC: pgeorgi
|
||||
|
||||
|
||||
### Build Machine requirements
|
||||
|
||||
For a builder, we need a fast system with lots of threads and plenty of
|
||||
RAM. The builder builds and stores the git repos and output in tmpfs
|
||||
along with the ccache save area, so if there isn't enough memory, the
|
||||
builds will slow down because of smaller ccache areas and can run into
|
||||
"out of storage space" errors.
|
||||
|
||||
#### Current Build Machines
|
||||
|
||||
To give an idea of what a suitable build machine might be, currently the
|
||||
coreboot project has 3 active jenkins build machines.
|
||||
|
||||
* Congenialbuilder - 128 threads, 256GiB RAM
|
||||
* Fastest Passing coreboot gerrit build: 4 min, 30 sec
|
||||
* Slowest Passing coreboot gerrit build: 9 min, 56 sec
|
||||
|
||||
|
||||
* Gleeful builder - 64 thread, 64GiB RAM
|
||||
* Fastest Passing coreboot gerrit build: 6 min, 6 sec
|
||||
* Slowest Passing coreboot gerrit build, 34 min
|
||||
|
||||
|
||||
* Ultron (9elements) - 48 threads, 128GiB RAM
|
||||
* Fastest Passing coreboot gerrit build: 6 min, 32 sec
|
||||
* Slowest Passing coreboot gerrit build: 44 min
|
||||
|
||||
|
||||
### Jenkins Builds
|
||||
|
||||
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
|
||||
as well as gerrit and coverity builds.
|
||||
|
||||
You can see all the builds here:
|
||||
[https://qa.coreboot.org/](https://qa.coreboot.org/)
|
||||
|
||||
Most of the time on the builders is taken up by the coreboot master and
|
||||
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/)
|
||||
([Time trend](https://qa.coreboot.org/job/coreboot/buildTimeTrend))
|
||||
|
||||
|
||||
### Stress test the machine
|
||||
|
||||
Test the machine to make sure that building won't stress the hardware
|
||||
too much. Install stress-ng, then run the stress test for at least an
|
||||
hour.
|
||||
|
||||
On a system with 32 cores, it was tested with this command:
|
||||
|
||||
```
|
||||
$ stress-ng --cpu 20 --io 6 --vm 6 --vm-bytes 1G --verify --metrics-brief -t 60m
|
||||
```
|
||||
|
||||
You can watch the temperature with the sensors package or with ‘acpi -t’
|
||||
if your machine supports that.
|
||||
|
||||
You can check for thermal throttling by running this command and seeing
|
||||
if the values go down on any of the cores after it's been running for a
|
||||
while.
|
||||
|
||||
```
|
||||
$ while [ true ]; do clear; cat /proc/cpuinfo | grep 'cpu MHz' ; sleep 1; done
|
||||
```
|
||||
|
||||
If the machine throttles or resets, you probably need to upgrade the
|
||||
cooling system.
|
||||
|
||||
|
||||
## jenkins-server docker installation
|
||||
|
||||
|
||||
### Manual Installation
|
||||
|
||||
If you’ve met all the above requirements, and an admin has agreed to set
|
||||
up the builder in jenkins, you’re ready to go on to the next steps.
|
||||
|
||||
|
||||
### Set up your network so jenkins can talk to the container
|
||||
|
||||
Expose a local port through any firewalls you might have on your router.
|
||||
This would generally be in the port forwarding section, and you'd just
|
||||
forward a port (typically 49151) from the internet directly to the
|
||||
builder’s IP address.
|
||||
|
||||
You might also want to set up a port to forward to port 22 on your
|
||||
machine and set up openssh so you or the jenkins admins can manage
|
||||
the machine remotely (if you allow them).
|
||||
|
||||
|
||||
### Install and set up docker
|
||||
|
||||
Install docker by following the
|
||||
[directions](https://docs.docker.com/engine/install/) on the docker
|
||||
site. These instructions keep changing, so just check the latest
|
||||
information.
|
||||
|
||||
|
||||
#### Set up environment variables
|
||||
|
||||
To make configuration and the later commands easier, these should go in
|
||||
your shell's .rc file. Note that you only need to set them if you're
|
||||
using something other than the default.
|
||||
|
||||
```
|
||||
# Set the port used on your machine to connect to jenkins.
|
||||
export COREBOOT_JENKINS_PORT=49151
|
||||
|
||||
# Set the revision of the container from docker hub
|
||||
export DOCKER_COMMIT=65718760fa
|
||||
|
||||
# Set the location of where the jenkins cache directory will be.
|
||||
export COREBOOT_JENKINS_CACHE_DIR="/srv/docker/coreboot-builder/cache"
|
||||
|
||||
# Set the name of the container
|
||||
export COREBOOT_JENKINS_CONTAINER="coreboot_jenkins"
|
||||
```
|
||||
|
||||
Make sure any variables needed are set in your environment before
|
||||
continuing to the next step.
|
||||
|
||||
|
||||
### Using the Makefile for docker installation
|
||||
|
||||
From the coreboot directory, run
|
||||
|
||||
```
|
||||
make -C util/docker help
|
||||
```
|
||||
|
||||
This will show you the available targets and variables needed:
|
||||
|
||||
```
|
||||
Commands for working with docker images:
|
||||
coreboot-sdk - Build coreboot-sdk container
|
||||
upload-coreboot-sdk - Upload coreboot-sdk to hub.docker.com
|
||||
coreboot-jenkins-node - Build coreboot-jenkins-node container
|
||||
upload-coreboot-jenkins-node - Upload coreboot-jenkins-node to hub.docker.com
|
||||
doc.coreboot.org - Build doc.coreboot.org container
|
||||
clean-coreboot-containers - Remove all docker coreboot containers
|
||||
clean-coreboot-images - Remove all docker coreboot images
|
||||
docker-clean - Remove docker coreboot containers & images
|
||||
|
||||
Commands for using docker images
|
||||
docker-build-coreboot - Build coreboot under coreboot-sdk
|
||||
<BUILD_CMD=target>
|
||||
docker-abuild - Run abuild under coreboot-sdk
|
||||
<ABUILD_ARGS='-a -B'>
|
||||
docker-what-jenkins-does - Run 'what-jenkins-does' target
|
||||
docker-shell - Bash prompt in coreboot-jenkins-node
|
||||
<USER=root or USER=coreboot>
|
||||
docker-jenkins-server - Run coreboot-jenkins-node image (for server)
|
||||
docker-jenkins-attach - Open shell in running jenkins server
|
||||
docker-build-docs - Build the documentation
|
||||
docker-livehtml-docs - Run sphinx-autobuild
|
||||
|
||||
Variables:
|
||||
COREBOOT_JENKINS_PORT=49151
|
||||
COREBOOT_JENKINS_CACHE_DIR=/srv/docker/coreboot-builder/cache
|
||||
COREBOOT_JENKINS_CONTAINER=coreboot_jenkins
|
||||
COREBOOT_IMAGE_TAG=f2741aa632f
|
||||
DOCKER_COMMIT=65718760fa
|
||||
```
|
||||
|
||||
### Set up the system for the jenkins builder
|
||||
|
||||
As a regular user - *Not root*, run:
|
||||
|
||||
```
|
||||
sudo mkdir -p ${COREBOOT_JENKINS_CACHE_DIR}
|
||||
sudo mkdir -p ${COREBOOT_JENKINS_CCACHE_DIR}
|
||||
sudo chown $(whoami):$(whoami) ${COREBOOT_JENKINS_CCACHE_DIR}
|
||||
sudo chown $(whoami):$(whoami) ${COREBOOT_JENKINS_CACHE_DIR}
|
||||
wget http://www.dediprog.com/save/78.rar/to/EM100Pro.rar
|
||||
mv EM100Pro.rar ${COREBOOT_JENKINS_CACHE_DIR}
|
||||
```
|
||||
|
||||
### Install the coreboot jenkins builder
|
||||
|
||||
```
|
||||
make -C util/docker docker-jenkins-server
|
||||
```
|
||||
|
||||
Your installation is complete on your side.
|
||||
|
||||
### Tell the Admins that the machine is set up
|
||||
Let the admins know that the builder is set up so they can set up the
|
||||
machine profile on qa.coreboot.org.
|
||||
|
||||
They need to know:
|
||||
* Your external IP address or domain name. If you don’t have a static
|
||||
IP, make sure you have a dynamic dns hostname configured.
|
||||
* The port on your machine and firewall that’s exposed for jenkins:
|
||||
`$COREBOOT_JENKINS_PORT`
|
||||
* The core count of the machine.
|
||||
* How much memory is available on the machine. This helps determine
|
||||
the amount of memory used for ccache.
|
||||
|
||||
|
||||
### First build
|
||||
On the first build after a machine is reset, it will frequently take
|
||||
20-25 minutes to do the entire what-jenkins-does build while the ccache
|
||||
is getting filled up and the entire coreboot repo gets downloaded. As
|
||||
the ccache gets populated, the build time will drop.
|
||||
|
||||
|
||||
## Additional Information
|
||||
|
||||
|
||||
### How to log in to the docker instance for debugging
|
||||
```
|
||||
$ make -C util/docker docker-jenkins-attach
|
||||
$ su coreboot
|
||||
$ cd ~/slave-root/workspace
|
||||
$ bash
|
||||
```
|
||||
|
||||
|
||||
WARNING: This should not be used to make changes to the build system,
|
||||
but just to debug issues. Changes to the build system are highly
|
||||
discouraged as it leads to situations where patches can pass the build
|
||||
testing on one builder and fail on another builder. Any changes that are
|
||||
made in the image will be lost on the next update, so if you
|
||||
accidentally change something, you can remove the containers and images
|
||||
and update to get a fresh installation.
|
||||
|
||||
|
||||
### How to download containers/images for a fresh installation and remove old containers
|
||||
|
||||
To delete the old containers & images:
|
||||
|
||||
```
|
||||
$ docker stop $COREBOOT_JENKINS_CONTAINER
|
||||
$ docker rm $COREBOOT_JENKINS_CONTAINER
|
||||
$ docker images # lists all existing images
|
||||
$ docker rmi XXXX # Use the image ID found in the above command.
|
||||
```
|
||||
|
||||
To get and run the new coreboot-jenkins image, change the value in the
|
||||
`DOCKER_COMMIT` variable to the new image value.
|
||||
|
||||
```
|
||||
$ make -C util/docker docker-jenkins-server
|
||||
```
|
||||
|
||||
#### Getting ready to push the docker images
|
||||
|
||||
Set up an account on hub.docker.com
|
||||
|
||||
Get an admin to add the account to the coreboot team on hub.docker.com
|
||||
|
||||
[https://hub.docker.com/u/coreboot/dashboard/teams/?team=owners](https://hub.docker.com/u/coreboot/dashboard/teams/?team=owners)
|
||||
|
||||
Make sure your credentials are configured on your host machine by
|
||||
running
|
||||
|
||||
```
|
||||
$ docker login
|
||||
```
|
||||
|
||||
This will prompt you for your docker username, password, and your email
|
||||
address, and write out to ~/.docker/config.json. Without this file, you
|
||||
won’t be able to push the images.
|
||||
|
||||
#### Updating the Dockerfiles:
|
||||
|
||||
The coreboot-sdk Dockerfile will need to be updated when any additional
|
||||
dependencies are added. Both the coreboot-sdk and the
|
||||
coreboot-jenkins-node Dockerfiles will need to be updated to the new
|
||||
version number and git commit id anytime the toolchain is updated. Both
|
||||
files are stored in the coreboot repo under coreboot/util/docker.
|
||||
|
||||
Read the [dockerfile best practices](https://docs.docker.com/v1.8/articles/dockerfile_best-practices/)
|
||||
page before updating the files.
|
||||
|
||||
#### Rebuilding the coreboot-sdk docker image to update the toolchain:
|
||||
|
||||
```
|
||||
$ make -C util/docker coreboot-sdk
|
||||
```
|
||||
|
||||
This takes a relatively long time.
|
||||
|
||||
#### Test the coreboot-sdk docker image:
|
||||
|
||||
There are two methods of running the docker image - interactively as a
|
||||
shell, or doing the build directly. Running interactively as a shell is
|
||||
useful for early testing, because it allows you to update the image
|
||||
(without any changes getting saved) and re-test builds. This saves the
|
||||
time of having to rebuild the image for every issue you find.
|
||||
|
||||
#### Running the docker image interactively:
|
||||
|
||||
Run:
|
||||
|
||||
```
|
||||
$ make -C util/docker docker-jenkins-server
|
||||
$ make -C util/docker docker-jenkins-attach
|
||||
```
|
||||
|
||||
#### Running the build directly:
|
||||
|
||||
From the coreboot directory:
|
||||
|
||||
```
|
||||
$ make -C util/docker docker-build-coreboot
|
||||
```
|
||||
|
||||
You’ll also want to test building the other projects and payloads:
|
||||
ChromeEC, flashrom, memtest86+, em100, Grub2, SeaBIOS, iPXE, coreinfo,
|
||||
nvramcui, tint...
|
||||
|
||||
#### Pushing the coreboot-sdk image to hub.docker.com for use:
|
||||
|
||||
When you’re satisfied with the testing, push the coreboot-sdk image to
|
||||
the hub.docker.com
|
||||
|
||||
```
|
||||
$ make -C util/docker upload-coreboot-sdk
|
||||
```
|
||||
|
||||
#### Building and pushing the coreboot-jenkins-node docker image:
|
||||
|
||||
This docker image is pretty simple, so there’s not really any testing
|
||||
that needs to be done.
|
||||
|
||||
```
|
||||
$ make -C util/docker coreboot-jenkins-node
|
||||
$ make -C util/docker upload-coreboot-jenkins-node
|
||||
```
|
||||
|
||||
### Coverity Setup
|
||||
|
||||
To run coverity jobs, the builder needs to have the tools available, and
|
||||
to be marked as a coverity builder.
|
||||
|
||||
|
||||
#### Set up the Coverity tools
|
||||
|
||||
Download the Linux-64 coverity build tool and decompress it into your
|
||||
cache directory as defined by the `$COREBOOT_JENKINS_CACHE_DIR` variable
|
||||
|
||||
[https://scan.coverity.com/download](https://scan.coverity.com/download)
|
||||
|
||||
Rename the directory from its original name
|
||||
(cov-analysis-linux64-7.7.0.4) to ‘coverity’, or better, create a
|
||||
symlink:
|
||||
|
||||
```
|
||||
ln -s cov-analysis-linux64-7.7.0.4 coverity
|
||||
```
|
||||
|
||||
|
||||
Let the admins know that the ‘coverity’ label can be added to the
|
||||
builder.
|
6
Documentation/infrastructure/index.md
Normal file
@ -0,0 +1,6 @@
|
||||
# coreboot infrastructure
|
||||
|
||||
This section contains documentation about coreboot infrastructure
|
||||
|
||||
## Jenkins builders and builds
|
||||
* [Setting up Jenkins build machines](builders.md)
|
@ -17,7 +17,8 @@ something else) should have its own Flashmap section, and everything else should
|
||||
normally go into CBFS.
|
||||
|
||||
The Flashmap itself starts with a header `struct fmap` and followed by a list of
|
||||
section descriptions in `struct fmap_area`.
|
||||
section descriptions in `struct fmap_area`. All fields in those structures are
|
||||
in little endian format.
|
||||
|
||||
### Header
|
||||
The header `struct fmap` has following fields:
|
||||
|
@ -121,12 +121,48 @@ Each field is defined by providing the field name and the start and end bit mark
|
||||
location in the bitmask. Field names must be at least three characters long in order to
|
||||
satisfy the sconfig parser requirements and they must be unique with non-overlapping masks.
|
||||
|
||||
field <name> <start-bit> <end-bit> [option...] end
|
||||
field <name> <start-bit> <end-bit> [option...] end
|
||||
|
||||
For single-bit fields only one number is needed:
|
||||
|
||||
field <name> <bit> [option...] end
|
||||
|
||||
A field definition can also contain multiple sets of bit masks, which can be dis-contiguous.
|
||||
They are treated as if they are contiguous when defining option values. This allows for
|
||||
extending fields even after the bits after its current masks are occupied.
|
||||
|
||||
field <name> <start-bit0> <end-bit0> | <start-bit1> <end-bit1> | ...
|
||||
|
||||
For example, if more audio options need to be supported:
|
||||
|
||||
field AUDIO 3 3
|
||||
option AUDIO_0 0
|
||||
option AUDIO_1 1
|
||||
end
|
||||
field OTHER 4 4
|
||||
...
|
||||
end
|
||||
|
||||
the following can be done:
|
||||
|
||||
field AUDIO 3 3 | 5 5
|
||||
option AUDIO_FOO 0
|
||||
option AUDIO_BLAH 1
|
||||
option AUDIO_BAR 2
|
||||
option AUDIO_BAZ 3
|
||||
end
|
||||
field OTHER 4 4
|
||||
...
|
||||
end
|
||||
|
||||
In that case, the AUDIO masks are extended like so:
|
||||
|
||||
#define FW_CONFIG_FIELD_AUDIO_MASK 0x28
|
||||
#define FW_CONFIG_FIELD_AUDIO_OPTION_AUDIO_FOO_VALUE 0x0
|
||||
#define FW_CONFIG_FIELD_AUDIO_OPTION_AUDIO_BLAH_VALUE 0x8
|
||||
#define FW_CONFIG_FIELD_AUDIO_OPTION_AUDIO_BAR_VALUE 0x20
|
||||
#define FW_CONFIG_FIELD_AUDIO_OPTION_AUDIO_BAz_VALUE 0x28
|
||||
|
||||
Each `field` definition starts a new block that can be composed of zero or more field options,
|
||||
and it is terminated with `end`.
|
||||
|
||||
|
31
Documentation/lib/option.md
Normal file
@ -0,0 +1,31 @@
|
||||
# Option API
|
||||
|
||||
The option API around the `set_option(const char *name, void *val)` and
|
||||
`get_option(void *dest, const char *name)` functions deprecated in favor
|
||||
of a type-safe API.
|
||||
|
||||
Historically, options were stored in RTC battery-backed CMOS RAM inside
|
||||
the chipset on PC platforms. Nowadays, options can also be stored in the
|
||||
same flash chip as the boot firmware or through some BMC interface.
|
||||
|
||||
The new type-safe option framework can be used by calling
|
||||
`enum cb_err set_uint_option(const char *name, unsigned int value)` and
|
||||
`unsigned int get_uint_option(const char *name, const unsigned int fallback)`.
|
||||
|
||||
The default setting is `OPTION_BACKEND_NONE`, which disables any runtime
|
||||
configurable options. If supported by a mainboard, the `USE_OPTION_TABLE`
|
||||
and `USE_MAINBOARD_SPECIFIC_OPTION_BACKEND` choices are visible, and can
|
||||
be selected to enable runtime configurability.
|
||||
|
||||
# Mainboard-specific option backend
|
||||
|
||||
Mainboards with a mainboard-specific (vendor-defined) method to access
|
||||
options can select `HAVE_MAINBOARD_SPECIFIC_OPTION_BACKEND` to provide
|
||||
implementations of the option API accessors. To allow choosing between
|
||||
multiple option backends, the mainboard-specific implementation should
|
||||
only be built when `USE_MAINBOARD_SPECIFIC_OPTION_BACKEND` is selected.
|
||||
|
||||
Where possible, using a generic, mainboard-independent mechanism should
|
||||
be preferred over reinventing the wheel in mainboard-specific code. The
|
||||
mainboard-specific approach should only be used when the option storage
|
||||
mechanism has to satisfy externally-imposed, vendor-defined constraints.
|
@ -25,7 +25,7 @@ The section must be named in order to be found by the FIT parser:
|
||||
|
||||
## Architecture specifics
|
||||
|
||||
The FIT parser needs architecure support.
|
||||
The FIT parser needs architecture support.
|
||||
|
||||
### aarch32
|
||||
The source code can be found in `src/arch/arm/fit_payload.c`.
|
||||
|
@ -99,7 +99,7 @@ exist and an entry structure to hold variable number of entries.
|
||||
|
||||
### entries
|
||||
|
||||
This field holds the details of each timestamp entry, upto a maximum
|
||||
This field holds the details of each timestamp entry, up to a maximum
|
||||
of `MAX_TIMESTAMP_CACHE` which is defined as 16 entries. Each entry is
|
||||
defined by:
|
||||
|
||||
|
177
Documentation/mainboard/acer/g43t-am3.md
Normal file
@ -0,0 +1,177 @@
|
||||
# Acer G43T-AM3
|
||||
|
||||
The Acer G43T-AM3 is a microATX-sized desktop board. It was used for the
|
||||
Acer models Aspire M3800, Aspire M5800 and possibly more.
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+--------------------------------------------------+
|
||||
| Northbridge | Intel G43 (called x4x in coreboot code) |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Southbridge | Intel ICH10R (called i82801jx in coreboot code) |
|
||||
+------------------+--------------------------------------------------+
|
||||
| CPU socket | LGA 775 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| RAM | 4 x DDR3-1066 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| SuperIO | ITE IT8720F |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Audio | Realtek ALC888S |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Network | Intel 82567V-2 Gigabit Ethernet |
|
||||
+------------------+--------------------------------------------------+
|
||||
```
|
||||
|
||||
There is no serial port. Serial console output is possible by soldering
|
||||
to a point at the corresponding Super I/O pin and patching the
|
||||
mainboard-specific code accordingly.
|
||||
|
||||
## Status
|
||||
|
||||
### Working
|
||||
|
||||
Tests were done with SeaBIOS 1.14.0 and slackware64-live from 2019-07-12
|
||||
(linux-4.19.50).
|
||||
|
||||
+ Intel Core 2 processors at up to FSB 1333
|
||||
+ All four DIMM slots at 1066 MHz (tested 2x2GB + 2x4GB)
|
||||
+ Integrated graphics (libgfxinit)
|
||||
+ HDMI and VGA ports
|
||||
+ Both PCI slots
|
||||
+ Both PCI-e slots
|
||||
+ USB (8 internal, 4 external)
|
||||
+ All six SATA ports
|
||||
+ Onboard Ethernet
|
||||
+ Onboard sound card with output on the rear stereo connector
|
||||
+ PS/2 mouse and keyboard
|
||||
+ With SeaBIOS, use CONFIG_SEABIOS_PS2_TIMEOUT, tested: 500
|
||||
+ With FILO it works without further settings
|
||||
+ Temperature readings from the Super I/O (including the CPU temperature
|
||||
via PECI)
|
||||
+ Super I/O EC automatic fan control
|
||||
+ S3 suspend/resume
|
||||
+ Poweroff
|
||||
|
||||
### Not working
|
||||
|
||||
+ DDR3 memory with 512Mx8 chips (G43 limitation)
|
||||
+ 4x4GB of DDR3 memory (works, but showed a single bit error within one
|
||||
pass of Memtest86+ 5.01)
|
||||
+ Super I/O voltage reading conversions
|
||||
|
||||
### Untested
|
||||
|
||||
+ Other audio jacks or the front panel header
|
||||
+ S/PDIF output
|
||||
+ On-board Firewire
|
||||
+ Wake-on-LAN
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+-------------------+---------------------+
|
||||
| Type | Value |
|
||||
+===================+=====================+
|
||||
| Socketed flash | No |
|
||||
+-------------------+---------------------+
|
||||
| Model | Macronix MX25L1605D |
|
||||
+-------------------+---------------------+
|
||||
| Size | 2 MiB |
|
||||
+-------------------+---------------------+
|
||||
| Package | 8-Pin SOP |
|
||||
+-------------------+---------------------+
|
||||
| Write protection | No |
|
||||
+-------------------+---------------------+
|
||||
| Dual BIOS feature | No |
|
||||
+-------------------+---------------------+
|
||||
| Internal flashing | Yes |
|
||||
+-------------------+---------------------+
|
||||
```
|
||||
|
||||
The flash is divided into the following regions, as obtained with
|
||||
`ifdtool -f rom.layout backup.rom`:
|
||||
```
|
||||
00000000:00001fff fd
|
||||
00100000:001fffff bios
|
||||
00006000:000fffff me
|
||||
00002000:00005fff gbe
|
||||
```
|
||||
|
||||
In general, flashing is possible internally and from an external header. It
|
||||
might be necessary to specify the chip type; `MX25L1605D/MX25L1608D/MX25L1673E`
|
||||
is the correct one, not `MX25L1605`.
|
||||
|
||||
### Internal flashing
|
||||
|
||||
Internal access to the flash chip is unrestricted. When installing coreboot,
|
||||
only the BIOS region should be updated by passing the `--ifd` and `-i bios`
|
||||
parameters to flashrom. A full backup is advisable.
|
||||
|
||||
Here is an example:
|
||||
|
||||
```
|
||||
$ sudo flashrom \
|
||||
-p internal \
|
||||
-c "MX25L1605D/MX25L1608D/MX25L1673E" \
|
||||
-r backup.rom
|
||||
$ sudo flashrom \
|
||||
-p internal \
|
||||
-c "MX25L1605D/MX25L1608D/MX25L1673E" \
|
||||
--ifd -i bios \
|
||||
-w coreboot.rom
|
||||
```
|
||||
|
||||
```eval_rst
|
||||
In addition to the information here, please see the
|
||||
:doc:`../../flash_tutorial/index`.
|
||||
```
|
||||
|
||||
### External flashing
|
||||
|
||||
The SPI flash chip on this board can be flashed externally through the
|
||||
SPI_ROM1 header while the board is off and disconnected from power. There
|
||||
seems to be a diode that prevents the external programmer from powering the
|
||||
whole board.
|
||||
|
||||
The signal assigment on the header is identical to the pinout of the flash
|
||||
chip. The pinout diagram below is valid when the PCI slots are on the left
|
||||
and the CPU is on the right. Note that HOLD# and WP# must be pulled high
|
||||
(to VCC) to be able to flash the chip.
|
||||
|
||||
+---+---+
|
||||
SPI_CSn <- | x | x | -> VCC
|
||||
+---+---+
|
||||
SPI_MISO <- | x | x | -> HOLDn
|
||||
+---+---+
|
||||
WPn <- | x | x | -> SPI_CLK
|
||||
+---+---+
|
||||
GND <- | x | x | -> SPI_MOSI
|
||||
+---+---+
|
||||
|
||||
## Intel Management Engine
|
||||
|
||||
The Intel Management Engine (ME) can be disabled by setting the ME_DISABLE
|
||||
jumper on the board. It pulls GPIO33 on the ICH10 low, causing the "Flash
|
||||
Descriptor Security Override Strap" to be set. This disables the ME and also
|
||||
disables any read/write restrictions to the flash chip that may be set in the
|
||||
Intel Flash Descriptor (IFD) (none on this board). Note that changing this
|
||||
jumper only comes into effect when starting the board from a shutdown or
|
||||
suspend state, not during normal operation.
|
||||
|
||||
To completely remove the ME blob from the flash image and to decrease the size
|
||||
of the ME region, thus increasing the size of the BIOS region, `me_cleaner` can
|
||||
be used with the `-t`, `-r` and `-S` options.
|
||||
|
||||
## Fan control
|
||||
|
||||
There are two fan connectors that can be controlled individually. CPU_FAN
|
||||
can only control a fan by a PWM signal and SYS_FAN only by voltage. See
|
||||
the mainboard's `devicetree.cb` file for how coreboot configures the Super
|
||||
I/O to control the fans.
|
||||
|
||||
## Variants
|
||||
|
||||
Various similar mainboards exist, like the Acer Q45T-AM. During a discussion
|
||||
in #coreboot on IRC, ECS was suspected to be the original designer of this
|
||||
series of mainboards. They have similar models such as the ECS G43T-WM.
|
@ -43,7 +43,7 @@ Three items are marked in this picture
|
||||
+---------------------+--------------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+--------------------+
|
||||
| Flash programing | dediprog header |
|
||||
| Flash programming | dediprog header |
|
||||
+---------------------+--------------------+
|
||||
| Package | SOIC-8 |
|
||||
+---------------------+--------------------+
|
||||
|
174
Documentation/mainboard/asrock/h77pro4-m.md
Normal file
@ -0,0 +1,174 @@
|
||||
# ASRock H77 Pro4-M
|
||||
|
||||
The ASRock H77 Pro4-M is a microATX-sized desktop board for Intel Sandy
|
||||
Bridge and Ivy Bridge CPUs.
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+--------------------------------------------------+
|
||||
| Northbridge | :doc:`../../northbridge/intel/sandybridge/index` |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Southbridge | Intel H77 (bd82x6x) |
|
||||
+------------------+--------------------------------------------------+
|
||||
| CPU socket | LGA 1155 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| RAM | 4 x DDR3-1600 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Super I/O | Nuvoton NCT6776 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Audio | Realtek ALC892 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Network | Realtek RTL8111E |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Serial | Internal header (RS-232) |
|
||||
+------------------+--------------------------------------------------+
|
||||
```
|
||||
|
||||
## Status
|
||||
|
||||
Tests were done with SeaBIOS 1.14.0 and slackware64-live from 2019-07-12
|
||||
(linux-4.19.50).
|
||||
|
||||
### Working
|
||||
|
||||
- Sandy Bridge and Ivy Bridge CPUs (tested: i5-2500, Pentium G2120)
|
||||
- Native RAM initialization with four DIMMs
|
||||
- PS/2 combined port (mouse or keyboard)
|
||||
- Integrated GPU by libgfxinit on all monitor ports (DVI-D, HDMI, D-Sub)
|
||||
- PCIe graphics in the PEG slot
|
||||
- All three additional PCIe slots
|
||||
- All rear and internal USB2 ports
|
||||
- All rear and internal USB3 ports
|
||||
- All six SATA ports from the PCH (two 6 Gb/s, four 3 Gb/s)
|
||||
- All two SATA ports from the ASM1061 PCIe-to-SATA bridge (6 Gb/s)
|
||||
- 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
|
||||
extlinux
|
||||
- Internal flashing with flashrom-1.2, see
|
||||
[Internal Programming](#internal-programming)
|
||||
- External flashing with flashrom-1.2 and a Raspberry Pi 1
|
||||
- S3 suspend/resume from either Linux or Windows 10
|
||||
- Poweroff
|
||||
|
||||
### Not working
|
||||
|
||||
- Booting from the two SATA ports provided by the ASM1061
|
||||
- Automatic fan control with the NCT6776D Super I/O
|
||||
|
||||
### Untested
|
||||
|
||||
- EHCI debug
|
||||
- S/PDIF audio
|
||||
- Other audio jacks than the green one, and the front panel header
|
||||
- Parallel port
|
||||
- Infrared/CIR
|
||||
- Wakeup from anything but the power button
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+------------+
|
||||
| Type | Value |
|
||||
+=====================+============+
|
||||
| Socketed flash | yes |
|
||||
+---------------------+------------+
|
||||
| Model | W25Q64.V |
|
||||
+---------------------+------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+------------+
|
||||
| Package | DIP-8 |
|
||||
+---------------------+------------+
|
||||
| Write protection | no |
|
||||
+---------------------+------------+
|
||||
| Dual BIOS feature | no |
|
||||
+---------------------+------------+
|
||||
| Internal flashing | yes |
|
||||
+---------------------+------------+
|
||||
```
|
||||
|
||||
The flash is divided into the following regions, as obtained with
|
||||
`ifdtool -f rom.layout backup.rom`:
|
||||
```
|
||||
00000000:00000fff fd
|
||||
00200000:007fffff bios
|
||||
00001000:001fffff me
|
||||
```
|
||||
|
||||
### Internal programming
|
||||
|
||||
The main SPI flash can be accessed using flashrom. By default, only
|
||||
the BIOS region of the flash is writable. If you wish to change any
|
||||
other region (Management Engine or flash descriptor), then an external
|
||||
programmer is required.
|
||||
|
||||
The following command may be used to flash coreboot:
|
||||
|
||||
```
|
||||
$ sudo flashrom --noverify-all --ifd -i bios -p internal -w coreboot.rom
|
||||
```
|
||||
|
||||
The use of `--noverify-all` is required since the Management Engine
|
||||
region is not readable even by the host.
|
||||
|
||||
```eval_rst
|
||||
In addition to the information here, please see the
|
||||
:doc:`../../flash_tutorial/index`.
|
||||
```
|
||||
|
||||
## Hardware monitoring and fan control
|
||||
|
||||
There are two fan headers for the CPU cooler, CPU_FAN1 and CPU_FAN2. They share
|
||||
a single fan tachometer input on the Super I/O while some dedicated logic
|
||||
selects which one is allowed to reach it. Two GPIO pins on the Super I/O are
|
||||
used to control that logic. The firmware has to set them; coreboot selects
|
||||
CPU_FAN1 by default, but the user can change that setting if it was built with
|
||||
CONFIG_USE_OPTION_TABLE:
|
||||
|
||||
```
|
||||
$ sudo nvramtool -e cpu_fan_header
|
||||
[..]
|
||||
$ sudo nvramtool -w cpu_fan_header=CPU_FAN2
|
||||
$ sudo nvramtool -w cpu_fan_header=None
|
||||
$ sudo nvramtool -w cpu_fan_header=Both
|
||||
```
|
||||
|
||||
The setting will take effect after a reboot. Selecting and connecting both fan
|
||||
headers is possible but the Super I/O will report wrong fan speeds.
|
||||
|
||||
Currently there is no automatic, OS-independent fan control, but a software
|
||||
like `fancontrol` from the lm-sensors package can be used instead.
|
||||
|
||||
## 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. Also don't try to
|
||||
connect it directly to a device that operates at TTL levels - it would need a
|
||||
level converter like a MAX232.
|
||||
|
||||
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
|
||||
+---+---+
|
||||
|
||||
## eSATA
|
||||
|
||||
The eSATA port on the rear I/O panel and the internal connector SATA3_A1 share
|
||||
the same controller port on the ASM1061. Attaching an eSATA drive causes a
|
||||
multiplexer chip to disconnect the internal port from the SATA controller and
|
||||
connect the eSATA port instead. This can be seen on GP23 of the Super I/O
|
||||
GPIOs: it is '0' when something is connected to the eSATA port and '1'
|
||||
otherwise.
|
@ -2,9 +2,7 @@
|
||||
|
||||
This page describes how to run coreboot on the [ASUS P5Q] desktop board.
|
||||
|
||||
## TODO
|
||||
|
||||
The following things are working in this coreboot port:
|
||||
## Working
|
||||
|
||||
+ PCI slots
|
||||
+ PCI-e slots
|
||||
@ -15,20 +13,21 @@ The following things are working in this coreboot port:
|
||||
+ All 4 DIMM slots
|
||||
+ S3 suspend and resume
|
||||
+ Red SATA ports
|
||||
+ Fan control through the W83667HG chip
|
||||
+ FireWire
|
||||
|
||||
The following things are still missing from this coreboot port:
|
||||
## Not working
|
||||
|
||||
+ PS/2 mouse support
|
||||
+ PATA aka IDE (because of buggy IDE controller)
|
||||
+ Fan control (will be working on 100% power)
|
||||
+ Fan profiles with Q-Fan
|
||||
+ TPM module (support not implemented)
|
||||
|
||||
The following things are untested on this coreboot port:
|
||||
## Untested
|
||||
|
||||
+ S/PDIF
|
||||
+ CD Audio In
|
||||
+ Floppy disk drive
|
||||
+ FireWire: PCI device shows up and driver loads, no further test
|
||||
|
||||
|
||||
## Flashing coreboot
|
||||
@ -73,5 +72,63 @@ You can flash coreboot into your motherboard using [this guide].
|
||||
+------------------+---------------------------------------------------+
|
||||
```
|
||||
|
||||
## Controlling fans
|
||||
|
||||
With vendor firmware, the P5Q uses the ATK0110 ACPI device to control its fans
|
||||
according to the parameters configured in the BIOS setup menu. With coreboot,
|
||||
one can instead control the Super I/O directly as described in the
|
||||
[kernel docs]:
|
||||
|
||||
+ pwm1 controls fan1 (CHA_FAN1) and fan4 (CHA_FAN2)
|
||||
+ pwm2 controls fan2 (CPU_FAN)
|
||||
+ fan3 (PWR_FAN) cannot be controlled
|
||||
+ temp1 (board) can be used to control fan1 and fan4
|
||||
+ temp2 (CPU) can be used to control fan2
|
||||
|
||||
### Manual fan speed
|
||||
|
||||
These commands set the chassis fans to a constant speed:
|
||||
|
||||
# Use PWM output
|
||||
echo 1 >/sys/class/hwmon/hwmon2/pwm1_mode
|
||||
# Set to manual mode
|
||||
echo 1 >/sys/class/hwmon/hwmon2/pwm1_enable
|
||||
# Set relative speed: 0 (stop) to 255 (full)
|
||||
echo 150 >/sys/class/hwmon/hwmon2/pwm1
|
||||
|
||||
### Automatic fan speed
|
||||
|
||||
The W83667HG can adjust fan speeds when things get too warm. These settings will
|
||||
control the chassis fans:
|
||||
|
||||
# Set to "Thermal Cruise" mode
|
||||
echo 2 >/sys/class/hwmon/hwmon2/pwm1_enable
|
||||
# Target temperature: 60°C
|
||||
echo 60000 >/sys/class/hwmon/hwmon2/pwm1_target
|
||||
# Minimum fan speed when spinning up
|
||||
echo 135 >/sys/class/hwmon/hwmon2/pwm1_start_output
|
||||
# Minimum fan speed when spinning down
|
||||
echo 135 >/sys/class/hwmon/hwmon2/pwm1_stop_output
|
||||
# Tolerance: 2°C
|
||||
echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance
|
||||
# Turn fans off after 600 seconds when below defined range
|
||||
echo 600000 >/sys/class/hwmon/hwmon2/pwm1_stop_time
|
||||
|
||||
You can also control the CPU fan with similar rules:
|
||||
|
||||
# Switch to "Thermal Cruise" mode
|
||||
echo 2 >/sys/class/hwmon/hwmon2/pwm2_enable
|
||||
# Target temperature: 55°C
|
||||
echo 55000 >/sys/class/hwmon/hwmon2/pwm2_target
|
||||
# Minimum fan speed when spinning down
|
||||
echo 50 >/sys/class/hwmon/hwmon2/pwm2_stop_output
|
||||
# Rate of fan speed change
|
||||
echo 50 >/sys/class/hwmon/hwmon2/pwm2_step_output
|
||||
# Maximum fan speed
|
||||
echo 200 >/sys/class/hwmon/hwmon2/pwm2_max_output
|
||||
# Tolerance: 2°C
|
||||
echo 2000 >/sys/class/hwmon/hwmon2/pwm1_tolerance
|
||||
|
||||
[ASUS P5Q]: https://www.asus.com/Motherboards/P5Q
|
||||
[this guide]: https://doc.coreboot.org/flash_tutorial/int_flashrom.html
|
||||
[kernel docs]: https://www.kernel.org/doc/Documentation/hwmon/w83627ehf.rst
|
||||
|
BIN
Documentation/mainboard/asus/p8c_ws.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
94
Documentation/mainboard/asus/p8c_ws.md
Normal file
@ -0,0 +1,94 @@
|
||||
# ASUS P8C WS
|
||||
|
||||
This page describes how to run coreboot on the [ASUS P8H77-V].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+----------------+
|
||||
| Type | Value |
|
||||
+=====================+================+
|
||||
| Socketed flash | yes |
|
||||
+---------------------+----------------+
|
||||
| Model | W25Q64FVA1Q |
|
||||
+---------------------+----------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+----------------+
|
||||
| Package | DIP-8 |
|
||||
+---------------------+----------------+
|
||||
| Write protection | no |
|
||||
+---------------------+----------------+
|
||||
| Dual BIOS feature | no |
|
||||
+---------------------+----------------+
|
||||
| Internal flashing | yes |
|
||||
+---------------------+----------------+
|
||||
```
|
||||
|
||||
The flash IC is located beside the SATA ports (circled):
|
||||

|
||||
|
||||
### How to flash
|
||||
|
||||
Unlike ordinary desktop boards, the BIOS version 3202 of ASUS P8C WS does not
|
||||
apply any write protection, so the main SPI flash can be accessed using
|
||||
[flashrom], and the whole flash is writable.
|
||||
|
||||
The following command may be used to flash coreboot. (To do so, linux kernel
|
||||
should be started with `iomem=relaxed`)
|
||||
|
||||
```
|
||||
# flashrom -p internal -w coreboot.rom
|
||||
```
|
||||
|
||||
The flash chip is a socketed DIP-8 SPI flash, so it's also easy to remove and
|
||||
flash externally.
|
||||
|
||||
## Working
|
||||
- Intel Xeon E3-1225 V2 with 4 M391B1G73BH0-YK0 UDIMMs, ECC confirmed active
|
||||
- PS/2 keyboard with SeaBIOS 1.14.0 and Debian GNU/Linux with kernel 5.10.40
|
||||
- Both Onboard NIC
|
||||
- S3 Suspend to RAM
|
||||
- USB2 on rear and front panel connectors
|
||||
- USB3
|
||||
- Integrated SATA
|
||||
- CPU Temp sensors (tested PSensor on GNU/Linux)
|
||||
- LPC TPM on TPM-header (tested tpm-tools with TPM 1.2 Infineon SLB9635TT12)
|
||||
- Native raminit
|
||||
- Integrated graphics with libgfxinit (both analog and digital output from DVI-I)
|
||||
- Nvidia Quadro 600 in all PCIe-16x slots
|
||||
- Compex WLM200NX (Qualcomm Atheros AR9220) in PCI slot
|
||||
- Onboard IEEE1394 controller under PCI bus
|
||||
- Debug output from serial port
|
||||
|
||||
## Untested
|
||||
|
||||
- EHCI debugging
|
||||
- S/PDIF audio
|
||||
- PS/2 mouse
|
||||
- LPT port
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+--------------------------------------------------+
|
||||
| Northbridge | :doc:`../../northbridge/intel/sandybridge/index` |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Southbridge | bd82x6x |
|
||||
+------------------+--------------------------------------------------+
|
||||
| CPU | model_206ax |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Super I/O | Nuvoton NCT6776F |
|
||||
+------------------+--------------------------------------------------+
|
||||
| EC | None |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Coprocessor | Intel Management Engine |
|
||||
+------------------+--------------------------------------------------+
|
||||
```
|
||||
|
||||
## Extra resources
|
||||
|
||||
- [Flash chip datasheet][W25Q64FVA1Q]
|
||||
|
||||
[ASUS P8C WS]: https://www.asus.com/supportonly/p8c_ws/helpdesk_knowledge/
|
||||
[W25Q64FVA1Q]: https://www.winbond.com/resource-files/w25q64fv%20revs%2007182017.pdf
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
BIN
Documentation/mainboard/asus/p8h77-v.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
81
Documentation/mainboard/asus/p8h77-v.md
Normal file
@ -0,0 +1,81 @@
|
||||
# ASUS P8Z77-V
|
||||
|
||||
This page describes how to run coreboot on the [ASUS P8H77-V].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+----------------+
|
||||
| Type | Value |
|
||||
+=====================+================+
|
||||
| Socketed flash | yes |
|
||||
+---------------------+----------------+
|
||||
| Model | W25Q64FVA1Q |
|
||||
+---------------------+----------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+----------------+
|
||||
| Package | DIP-8 |
|
||||
+---------------------+----------------+
|
||||
| Write protection | yes |
|
||||
+---------------------+----------------+
|
||||
| Dual BIOS feature | no |
|
||||
+---------------------+----------------+
|
||||
| Internal flashing | no |
|
||||
+---------------------+----------------+
|
||||
```
|
||||
|
||||
The flash IC is located beside the SATA ports (circled):
|
||||

|
||||
|
||||
### How to flash
|
||||
|
||||
The main SPI flash cannot be written because the vendor firmware disables BIOSWE
|
||||
and enables BLE/SMM_BWP flags in BIOS_CNTL for their latest BIOSes. An external
|
||||
programmer is required. You must flash standalone, flashing in-circuit doesn't
|
||||
work. The flash chip is socketed, so it's easy to remove and reflash.
|
||||
|
||||
## Working
|
||||
|
||||
- PS/2 keyboard with SeaBIOS 1.14.0 and Debian GNU/Linux with kernel 5.10.28
|
||||
- Integrated Ethernet NIC
|
||||
- S3 Suspend to RAM
|
||||
- USB2 on rear and front panel connectors
|
||||
- USB3
|
||||
- Integrated SATA
|
||||
- CPU Temp sensors (tested PSensor on GNU/Linux)
|
||||
- Native raminit
|
||||
- Integrated graphics with libgfxinit (VGA/DVI-D/HDMI tested and working)
|
||||
- PCIe in PCIe-16x slots
|
||||
- Debug output from serial port
|
||||
|
||||
## Untested
|
||||
|
||||
- EHCI debugging
|
||||
- S/PDIF audio
|
||||
- PS/2 mouse
|
||||
|
||||
## 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 P8H77-V]: https://www.asus.com/supportonly/p8h77v/helpdesk_knowledge/
|
||||
[W25Q64FVA1Q]: https://www.winbond.com/resource-files/w25q64fv%20revs%2007182017.pdf
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
BIN
Documentation/mainboard/asus/p8z77-v.jpg
Normal file
After Width: | Height: | Size: 33 KiB |
112
Documentation/mainboard/asus/p8z77-v.md
Normal file
@ -0,0 +1,112 @@
|
||||
# ASUS P8Z77-V
|
||||
|
||||
This page describes how to run coreboot on the [ASUS P8Z77-V].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+----------------+
|
||||
| Type | Value |
|
||||
+=====================+================+
|
||||
| Socketed flash | yes |
|
||||
+---------------------+----------------+
|
||||
| Model | W25Q64FVA1Q |
|
||||
+---------------------+----------------+
|
||||
| Size | 8 MiB |
|
||||
+---------------------+----------------+
|
||||
| Package | DIP-8 |
|
||||
+---------------------+----------------+
|
||||
| Write protection | yes |
|
||||
+---------------------+----------------+
|
||||
| Dual BIOS feature | no |
|
||||
+---------------------+----------------+
|
||||
| Internal flashing | no |
|
||||
+---------------------+----------------+
|
||||
```
|
||||
|
||||
The flash IC is located between the black and white PCI Express x16 slots (circled):
|
||||

|
||||
|
||||
### How to flash
|
||||
|
||||
The main SPI flash cannot be written because the vendor firmware disables BIOSWE
|
||||
and enables BLE/SMM_BWP flags in BIOS_CNTL for their latest BIOSes. An external
|
||||
programmer is required. You must flash standalone, flashing in-circuit doesn't
|
||||
work. The flash chip is socketed, so it's easy to remove and reflash.
|
||||
|
||||
## Working
|
||||
|
||||
- PS/2 keyboard with SeaBIOS 1.14.0 and Debian GNU/Linux with kernel 5.10.28
|
||||
- Integrated Ethernet NIC
|
||||
- S3 Suspend to RAM
|
||||
- USB2 on rear and front panel connectors
|
||||
- USB3 (Z77's and ASMedia's works)
|
||||
- Integrated SATA of Z77
|
||||
- Integrated SATA of ASM1061 (works under GNU/Linux but not under SeaBIOS)
|
||||
- CPU Temp sensors (tested PSensor on GNU/Linux)
|
||||
- TPM on TPM-header (tested tpm-tools with TPM 1.2 Infineon SLB9635TT12)
|
||||
- Native raminit
|
||||
- Integrated graphics with libgfxinit (VGA/DVI-D/HDMI tested and working)
|
||||
- PCIe in PCIe-16x/8x slots (tested using an S3 Matrix GPU)
|
||||
- Debug output from serial port
|
||||
- Atheros AR9485 half-height mini PCIe WNIC adapted with Wi-Fi Go! Adapter
|
||||
- Default PCIe config (PCIEX_16_3 as 1x, PCIe Port 4 to ASM1061 SATA, see below
|
||||
for other potential options)
|
||||
|
||||
## Untested
|
||||
|
||||
- EHCI debugging
|
||||
- S/PDIF audio
|
||||
- PS/2 mouse
|
||||
|
||||
## Not working
|
||||
|
||||
- PCIEX_1_2 (expected under default PCIe config)
|
||||
- Other PCIe configs (see below)
|
||||
|
||||
## PCIe config
|
||||
On Asus vendor firmware, other than the default config already supported here,
|
||||
there remain another two configs: "PCIEX_16_3 as x4, with PCIEX_1_1, PCIEX_1_2
|
||||
and onboard ASM1061 disabled" and "PCIEX_16_3 as x1, but PCIe Port 4 to PCIEX_1_2,
|
||||
with onboard ASM1061 disabled".
|
||||
|
||||
Configuring PCIEX_16_3 as x4 needs to program 0x3 to the LSB of PCHSTRP9, but
|
||||
also needs to configure GPIOs in the Super I/O chip different than the default
|
||||
config in this board's override tree.
|
||||
|
||||
Configuring PCIe Port 4 to PCIEX_1_2 needs to configure GPIOs in the Super I/O
|
||||
chip differently than the default config.
|
||||
|
||||
I have tried a lot, but sadly I am unable to produce the same result as the vendor
|
||||
firmware.
|
||||
|
||||
## Asus Wi-Fi Go!
|
||||
Asus Wi-Fi Go! has several versions. P8Z77-V has the earliest version.
|
||||
See [Asus Wi-Fi Go! v1].
|
||||
|
||||
## 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-V]: https://www.asus.com/supportonly/p8z77v/helpdesk_knowledge/
|
||||
[W25Q64FVA1Q]: https://www.winbond.com/resource-files/w25q64fv%20revs%2007182017.pdf
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
||||
[Asus Wi-Fi Go! v1]: ./wifigo_v1.md
|
40
Documentation/mainboard/asus/wifigo_v1.md
Normal file
@ -0,0 +1,40 @@
|
||||
# Asus Wi-Fi Go! v1
|
||||
|
||||
In this version, a standard half-length mPCIe card is mounted on the Asus Wi-Fi
|
||||
Go! daughter board, and the daughter board is connected to the motherboard
|
||||
through a proprietary 16-1 pin connector.
|
||||

|
||||
|
||||
I managed to grope the most pinout of the proprietary connector.
|
||||
See [Mini PCIe pinout] for more info.
|
||||
|
||||
```eval_rst
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| WIFIGO Pin | Usage | mPCIe pin | WIFIGO Pin | Usage | mPCIe pin |
|
||||
+============+==========+===========+============+==========+===========+
|
||||
| 1 | 3.3v | (many) | 2 | REFCLK- | 11 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 3 | GND | (many) | 4 | REFCLK+ | 13 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 5 | WAKE# | 1 | 6 | PERn0 | 23 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 7 | (absent) | | 8 | PERp0 | 25 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 9 | GND | | 10 | PETn0 | 31 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 11 | PERST# | 20 | 12 | PETp0 | 33 |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 13 | GND | | 14 | (USBD-?) | (36?) |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
| 15 | 3.3v | | 16 | (USBD+?) | (38?) |
|
||||
+------------+----------+-----------+------------+----------+-----------+
|
||||
```
|
||||
|
||||
There are two kinds of daughter boards using this connector. One among them has
|
||||
one MMCX antenna connector, the other has two antenna connectors and USB lane
|
||||
wired (this kind may be called BT Go!). I can only obtain the former, so I
|
||||
cannot confirm the exact way the USB data lane gets wired.
|
||||

|
||||
|
||||
## Extra resources
|
||||
[Mini PCIe pinout]: https://pinoutguide.com/Slots/mini_pcie_pinout.shtml
|
BIN
Documentation/mainboard/asus/wifigo_v1_board.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
Documentation/mainboard/asus/wifigo_v1_connector.jpg
Normal file
After Width: | Height: | Size: 25 KiB |
@ -1,5 +1,5 @@
|
||||
# QEMU AArch64 emulator
|
||||
This page discribes how to build and run coreboot for QEMU/AArch64.
|
||||
This page describes how to build and run coreboot for QEMU/AArch64.
|
||||
You can use LinuxBoot via `make menuconfig` or an arbitrary FIT image
|
||||
as a payload for QEMU/AArch64.
|
||||
|
||||
|
@ -15,7 +15,7 @@ processor supports x86_64 instructions (long mode).
|
||||
The qemu-i440fx mainboard has been ported to x86_64 and will serve as
|
||||
reference platform to enable additional platforms.
|
||||
|
||||
To enable the support set the Kconfig option ``CONFIG_CPU_QEMU_X86_64=y``.
|
||||
To enable the support set the Kconfig option ``CONFIG_USE_EXP_X86_64_SUPPORT=y``.
|
||||
|
||||
## Installing qemu
|
||||
|
||||
|
52
Documentation/mainboard/emulation/qemu-power9.md
Normal file
@ -0,0 +1,52 @@
|
||||
# QEMU PPC64 emulator
|
||||
This page describes how to build and run coreboot for QEMU/PPC64.
|
||||
|
||||
## Building coreboot
|
||||
```bash
|
||||
make defconfig KBUILD_DEFCONFIG=configs/config.emulation_qemu_power9
|
||||
make
|
||||
```
|
||||
|
||||
This builds coreboot with no payload.
|
||||
|
||||
## Payloads
|
||||
You can configure ELF or `skiboot` payload via `make menuconfig`. In either case
|
||||
you might need to adjust "ROM chip size" and make it large enough to accommodate
|
||||
the payload (see how much space it needs in the error you get if it doesn't
|
||||
fit).
|
||||
|
||||
## Running coreboot in QEMU
|
||||
```bash
|
||||
qemu-system-ppc64 -M powernv,hb-mode=on \
|
||||
-cpu power9 \
|
||||
-bios build/coreboot.rom \
|
||||
-drive file=build/coreboot.rom,if=mtd \
|
||||
-serial stdio \
|
||||
-display none
|
||||
```
|
||||
|
||||
- The default CPU in QEMU for AArch64 is a 604. You specify a suitable
|
||||
PowerPC CPU via `-cpu power9`.
|
||||
- By default Hostboot mode is off and needs to be turned on to run coreboot
|
||||
as a firmware rather than like an OS.
|
||||
- `-bios` specifies initial program (bootloader should suffice, but whole image
|
||||
works fine too).
|
||||
- `-drive` specifies image for emulated flash device.
|
||||
|
||||
## Running with a kernel
|
||||
Loading `skiboot` (built automatically by coreboot or otherwise) allows
|
||||
specifying kernel and root file system to be run.
|
||||
|
||||
```bash
|
||||
qemu-system-ppc64 -M powernv,hb-mode=on \
|
||||
-cpu power9 \
|
||||
-bios build/coreboot.rom \
|
||||
-drive file=build/coreboot.rom,if=mtd \
|
||||
-serial stdio \
|
||||
-display none \
|
||||
-kernel zImage \
|
||||
-initrd initrd.cpio.xz
|
||||
```
|
||||
|
||||
- Specify path to your kernel via `-kernel`.
|
||||
- Specify path to your rootfs via `-initrd`.
|
@ -15,7 +15,7 @@ processor supports x86_64 instructions (long mode).
|
||||
The qemu-q35 mainboard has been ported to x86_64 and will serve as
|
||||
reference platform to enable additional platforms.
|
||||
|
||||
To enable the support set the Kconfig option ``CONFIG_CPU_QEMU_X86_64=y``.
|
||||
To enable the support set the Kconfig option ``CONFIG_USE_EXP_X86_64_SUPPORT=y``.
|
||||
|
||||
## Installing qemu
|
||||
|
||||
|
@ -5,10 +5,7 @@ This page describes how to run coreboot on the Facebook FBG1701.
|
||||
FBG1701 are assembled with different onboard memory modules:
|
||||
Rev 1.0 Onboard Samsung K4B8G1646D-MYKO memory
|
||||
Rev 1.1 and 1.2 Onboard Micron MT41K512M16HA-125A memory
|
||||
Rev 1.3 Onboard Kingston B5116ECMDXGGB memory
|
||||
|
||||
Use make menuconfig to configure `onboard memory manufacturer Samsung` in
|
||||
Mainboard menu.
|
||||
Rev 1.3 and 1.4 Onboard Kingston B5116ECMDXGGB memory
|
||||
|
||||
## Required blobs
|
||||
|
||||
|
@ -41,8 +41,8 @@ These can be extracted from the original flash image as follows:
|
||||
00003000:006FFFFF me
|
||||
00001000:00002fff gbe
|
||||
```
|
||||
3) Use `ifdtool -n <layout_file> <flash_image>` to resize the *bios* region from the default 6MB
|
||||
to 9 MB, this is required to create sufficient space for LinuxBoot.
|
||||
3) Use `ifdtool -n <layout_file> <flash_image>` to resize the *bios* region from the default 6 MiB
|
||||
to 9 MiB, this is required to create sufficient space for LinuxBoot.
|
||||
NOTE: Please make sure only the firmware descriptor (*fd*) region is changed. Older versions
|
||||
of the ifdtool corrupt the *me* region.
|
||||
4) Use `ifdtool -x <resized_flash_image>` to extract the components.
|
||||
|
283
Documentation/mainboard/gigabyte/ga-g41m-es2l.md
Normal file
@ -0,0 +1,283 @@
|
||||
# Gigabyte GA-G41M-ES2L rev 1.1
|
||||
|
||||
This page describes how to use coreboot on the [Gigabyte GA-G41M-ES2L rev 1.1](https://www.gigabyte.com/Motherboard/GA-G41M-ES2L-rev-11) mainboard.
|
||||
|
||||
This motherboard [also works with Libreboot](https://libreboot.org/docs/install/ga-g41m-es2l.html).
|
||||
|
||||
## Technology
|
||||
|
||||
```eval_rst
|
||||
+------------------+--------------------------------------------------+
|
||||
| Type | Value |
|
||||
+==================+==================================================+
|
||||
| BIOS flash chips | 2 x SST25VF080B (8 Mbit SPI) (DUAL BIOS) |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Northbridge | Intel G41 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Southbridge | Intel ICH7 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| CPU socket | LGA775 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| RAM | 2 x DDR2 800, max. 8 GiB |
|
||||
+------------------+--------------------------------------------------+
|
||||
| SuperIO | ITE IT8718F-S |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Audio | Realtek ALC888B |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Network | Realtek RTL8111C PCIe Gigabit Ethernet |
|
||||
+------------------+--------------------------------------------------+
|
||||
```
|
||||
|
||||
## Preparation
|
||||
|
||||
```eval_rst
|
||||
For more datails how to get sources and build the toolchain, see :doc:`../../tutorial/part1`.
|
||||
```
|
||||
|
||||
### Devuan 4 Chimaera
|
||||
|
||||
This probably works also for any fresh Debian/Ubuntu-based distros.
|
||||
|
||||
Install tools and libraries needed for coreboot:
|
||||
|
||||
```shell
|
||||
sudo apt-get -V install bison build-essential curl flex git gnat libncurses5-dev m4 zlib1g-dev wget python2 python-is-python2 flashrom
|
||||
```
|
||||
|
||||
### Get sources
|
||||
|
||||
You need about 700 MB disk space for sources only and ~2GB disk space for sources + build results
|
||||
|
||||
```shell
|
||||
git clone --recursive https://review.coreboot.org/coreboot.git
|
||||
```
|
||||
|
||||
### Build toolchain
|
||||
|
||||
Your system compilers can be different with versions, tested by coreboot developers.
|
||||
So, it is recommended to build cross-compilers with special versions, which were tested with coreboot.
|
||||
|
||||
It is possible to skip this time-consuming part and use `ANY_TOOLCHAIN=y`, but this not recommended.
|
||||
|
||||
You can build them for all platforms: `make crossgcc CPUS=2` but this takes ~2 hours with Intel core2duo E8400.
|
||||
|
||||
The best way, probably, is to build cross-compilers for your platform (this takes ~20 minutes with Intel core2duo E8400):
|
||||
|
||||
```shell
|
||||
make crossgcc-i386 CPUS=2
|
||||
```
|
||||
|
||||
### Save MAC-address of internal LAN
|
||||
|
||||
Run `ip -c link show`, you will find MAC-address like 6c:f0:49:xx:xx:xx
|
||||
|
||||
```
|
||||
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
|
||||
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|
||||
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
|
||||
link/ether 6c:f0:49:xx:xx:xx brd ff:ff:ff:ff:ff:ff
|
||||
```
|
||||
|
||||
## Configure
|
||||
|
||||
Create file `payloads/external/SeaBIOS/.config_seabios`:
|
||||
|
||||
```shell
|
||||
CONFIG_COREBOOT=y
|
||||
CONFIG_ATA_DMA=y
|
||||
CONFIG_VGA_COREBOOT=y
|
||||
```
|
||||
|
||||
Edit file `configs/config.gigabyte_ga-g41m-es2l`, replace `CONFIG_REALTEK_8168_MACADDRESS` value with your MAC-address.
|
||||
|
||||
Run
|
||||
|
||||
```shell
|
||||
make defconfig KBUILD_DEFCONFIG="configs/config.gigabyte_ga-g41m-es2l"
|
||||
```
|
||||
|
||||
## Build
|
||||
|
||||
Just execute:
|
||||
|
||||
```shell
|
||||
make
|
||||
```
|
||||
|
||||
It takes ~2 minutes with Intel core2duo E8400.
|
||||
|
||||
Example of last part in the output:
|
||||
|
||||
```
|
||||
CBFSPRINT coreboot.rom
|
||||
|
||||
FMAP REGION: COREBOOT
|
||||
Name Offset Type Size Comp
|
||||
cbfs master header 0x0 cbfs header 32 none
|
||||
fallback/romstage 0x80 stage 62316 none
|
||||
cpu_microcode_blob.bin 0xf480 microcode 180224 none
|
||||
fallback/ramstage 0x3b500 stage 98745 none
|
||||
vgaroms/seavgabios.bin 0x53700 raw 28672 none
|
||||
config 0x5a740 raw 301 none
|
||||
revision 0x5a8c0 raw 675 none
|
||||
build_info 0x5abc0 raw 103 none
|
||||
fallback/dsdt.aml 0x5ac80 raw 8447 none
|
||||
rt8168-macaddress 0x5cdc0 raw 17 none
|
||||
vbt.bin 0x5ce40 raw 802 LZMA (1899 decompressed)
|
||||
cmos.default 0x5d1c0 cmos_default 256 none
|
||||
cmos_layout.bin 0x5d300 cmos_layout 1040 none
|
||||
fallback/postcar 0x5d740 stage 20844 none
|
||||
fallback/payload 0x62900 simple elf 70270 none
|
||||
payload_config 0x73bc0 raw 1699 none
|
||||
payload_revision 0x742c0 raw 237 none
|
||||
(empty) 0x74400 null 482904 none
|
||||
bootblock 0xea280 bootblock 23360 none
|
||||
HOSTCC cbfstool/ifwitool.o
|
||||
HOSTCC cbfstool/ifwitool (link)
|
||||
|
||||
Built gigabyte/ga-g41m-es2l (GA-G41M-ES2L)
|
||||
```
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
In addition to the information here, please see the
|
||||
:doc:`../../flash_tutorial/index`.
|
||||
```
|
||||
|
||||
### Do backup
|
||||
|
||||
The above commands read the SPI flash chip(s), write into file and then verify content again with the chip:
|
||||
|
||||
```shell
|
||||
sudo flashrom -p internal:dualbiosindex=0 -r m_bios.rom
|
||||
sudo flashrom -p internal:dualbiosindex=0 -v m_bios.rom
|
||||
sudo flashrom -p internal:dualbiosindex=1 -r b_bios.rom
|
||||
sudo flashrom -p internal:dualbiosindex=1 -v b_bios.rom
|
||||
```
|
||||
|
||||
If access error appeared, then add `iomem=relaxed` to Linux kernel parameters and restart your Linux system.
|
||||
|
||||
You can also repeat backup and compare checksums manually.
|
||||
|
||||
Backup file should be stored elsewhere, so that in case the coreboot build is faulty, some external procedure can be used without having to extract the backup from the target device first.
|
||||
|
||||
### Write new flash image
|
||||
|
||||
Let's write new image into SPI flash chip, verify checksum again and erase second flash chip:
|
||||
|
||||
```shell
|
||||
sudo flashrom -p internal:dualbiosindex=0 -w build/coreboot.rom
|
||||
sudo flashrom -p internal:dualbiosindex=0 -v build/coreboot.rom
|
||||
sudo flashrom -p internal:dualbiosindex=1 -E
|
||||
```
|
||||
|
||||
## Set text mode for GRUB
|
||||
|
||||
Update your `/etc/default/grub` with:
|
||||
|
||||
```shell
|
||||
GRUB_TERMINAL=console
|
||||
```
|
||||
|
||||
And recreate GRUB configuration `/boot/grub/grub.cfg` by command
|
||||
|
||||
```shell
|
||||
sudo update-grub
|
||||
```
|
||||
|
||||
## Boot with new firmware
|
||||
|
||||
Restart your system:
|
||||
|
||||
```shell
|
||||
sudo shutdown -r now
|
||||
```
|
||||
|
||||
If it is needed, use <kbd>Esc</kbd> key to choose boot device.
|
||||
|
||||
Remove `iomem=relaxed` from Linux kernel parameters.
|
||||
|
||||
Enjoy!
|
||||
|
||||
## Status
|
||||
|
||||
```
|
||||
+-----------------------+--------------------------+--------+-------------------------------+
|
||||
| coreboot version | Date of sources checkout | Status | Comment |
|
||||
+-----------------------+--------------------------+--------+-------------------------------+
|
||||
| 4.13-1531-g2fae1c0494 | 2021-01-28 | Good | |
|
||||
+-----------------------+--------------------------+--------+-------------------------------+
|
||||
| 4.13-2182-g6410a0002f | 2021-02-18 | Good | |
|
||||
+-----------------------+--------------------------+--------+-------------------------------+
|
||||
```
|
||||
|
||||
### Known issues
|
||||
|
||||
Lm-sensors shows wrong values from it87:
|
||||
|
||||
```
|
||||
coretemp-isa-0000
|
||||
Adapter: ISA adapter
|
||||
Core 0: +27.0°C (high = +80.0°C, crit = +100.0°C)
|
||||
Core 1: +31.0°C (high = +80.0°C, crit = +100.0°C)
|
||||
|
||||
it8718-isa-0290
|
||||
Adapter: ISA adapter
|
||||
in0: 1.06 V (min = +0.00 V, max = +4.08 V)
|
||||
in1: 1.90 V (min = +0.00 V, max = +4.08 V)
|
||||
in2: 3.34 V (min = +0.00 V, max = +4.08 V)
|
||||
+5V: 2.96 V (min = +0.00 V, max = +4.08 V)
|
||||
in4: 224.00 mV (min = +0.00 V, max = +4.08 V)
|
||||
in5: 4.08 V (min = +0.00 V, max = +4.08 V) ALARM
|
||||
in6: 4.08 V (min = +0.00 V, max = +4.08 V) ALARM
|
||||
in7: 3.09 V (min = +0.00 V, max = +4.08 V)
|
||||
Vbat: 2.82 V
|
||||
fan1: 1290 RPM (min = 0 RPM)
|
||||
fan2: 0 RPM (min = 0 RPM)
|
||||
temp1: -54.0°C (low = +0.0°C, high = +127.0°C) sensor = thermistor
|
||||
temp2: -1.0°C (low = +0.0°C, high = +127.0°C) sensor = thermistor
|
||||
temp3: +44.0°C (low = +0.0°C, high = +127.0°C) sensor = thermal diode
|
||||
cpu0_vid: +1.100 V
|
||||
intrusion0: ALARM
|
||||
```
|
||||
|
||||
### Working
|
||||
|
||||
- RAM 1,2x1GiB DDR2 PC2-6400 Kingston KTC1G-UDIMM (1.8V, 2Rx8 ?)
|
||||
- RAM 1x1GiB DDR2 PC2-5300 Brooktree AU1G08E32-667P005 / Apogee AU1G082-667P005 CL6 (1.8V, 2Rx8 ?)
|
||||
- CPU E8400
|
||||
- ACPI
|
||||
- CPU frequency scaling
|
||||
- flashrom under coreboot
|
||||
- Gigabit Ethernet
|
||||
- Hardware monitoring
|
||||
- Integrated graphics
|
||||
- SATA
|
||||
- PCI POST card
|
||||
|
||||
### Not working
|
||||
|
||||
- SuperIO based fan control: PWM fan speed is not changing in depend of CPU temperature
|
||||
- RAM 1,2x4GiB DDR2 PC2-6400 Samsung M378T5263AZ3-CF7 (2Rx4 PC2-6400U-666-12-E3)
|
||||
|
||||
### Not tested
|
||||
|
||||
- KVM virtualization
|
||||
- Onboard audio
|
||||
- PCI
|
||||
- PCIe
|
||||
- PS/2 keyboard mouse (during payload, bootloader)
|
||||
- Serial port
|
||||
- USB (disabling XHCI controller makes to work as fallback USB2.0 ports)
|
||||
- IOMMU
|
||||
|
||||
## Interesting facts
|
||||
|
||||
`lshw` output is different for BIOS and coreboot.
|
||||
|
||||
```shell
|
||||
diff --side-by-side --ignore-all-space --strip-trailing-cr \
|
||||
Documentation/mainboard/gigabyte/ga-g41m-es2l_lshw_before_coreboot.txt \
|
||||
Documentation/mainboard/gigabyte/ga-g41m-es2l_lshw_after_coreboot.txt
|
||||
```
|
@ -0,0 +1,306 @@
|
||||
my-desktop
|
||||
description: Desktop Computer
|
||||
product: GA-G41M-ES2L
|
||||
vendor: GIGABYTE
|
||||
version: 1.0
|
||||
serial: 123456789
|
||||
width: 64 bits
|
||||
capabilities: smbios-3.0.0 dmi-3.0.0 smp vsyscall32
|
||||
configuration: boot=normal chassis=desktop
|
||||
*-core
|
||||
description: Motherboard
|
||||
product: GA-G41M-ES2L
|
||||
vendor: GIGABYTE
|
||||
physical id: 0
|
||||
version: 1.0
|
||||
serial: 123456789
|
||||
*-firmware
|
||||
description: BIOS
|
||||
vendor: coreboot
|
||||
physical id: 0
|
||||
version: 4.13-1531-g2fae1c0494
|
||||
date: 01/29/2021
|
||||
size: 1MiB
|
||||
capacity: 1MiB
|
||||
capabilities: pci pcmcia upgrade bootselect acpi
|
||||
*-cpu
|
||||
description: CPU
|
||||
product: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
|
||||
vendor: Intel Corp.
|
||||
physical id: 4
|
||||
bus info: cpu@0
|
||||
version: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
|
||||
slot: CPU0
|
||||
size: 2943MHz
|
||||
capacity: 3GHz
|
||||
width: 64 bits
|
||||
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority vpid dtherm cpufreq
|
||||
*-cache
|
||||
description: L2 cache
|
||||
physical id: 7
|
||||
slot: CACHE2
|
||||
size: 6MiB
|
||||
capacity: 6MiB
|
||||
capabilities: internal unified
|
||||
configuration: level=2
|
||||
*-memory
|
||||
description: System memory
|
||||
physical id: 1
|
||||
size: 2GiB
|
||||
*-pci
|
||||
description: Host bridge
|
||||
product: 4 Series Chipset DRAM Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 100
|
||||
bus info: pci@0000:00:00.0
|
||||
version: 03
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: 4 Series Chipset PCI Express Root Port
|
||||
vendor: Intel Corporation
|
||||
physical id: 1
|
||||
bus info: pci@0000:00:01.0
|
||||
version: 03
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pm msi pciexpress normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:24
|
||||
*-display:0
|
||||
description: VGA compatible controller
|
||||
product: 4 Series Chipset Integrated Graphics Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 2
|
||||
bus info: pci@0000:00:02.0
|
||||
version: 03
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: msi pm vga_controller bus_master cap_list rom
|
||||
configuration: driver=i915 latency=0
|
||||
resources: irq:16 memory:90000000-903fffff memory:80000000-8fffffff ioport:20a0(size=8) memory:c0000-dffff
|
||||
*-display:1 UNCLAIMED
|
||||
description: Display controller
|
||||
product: 4 Series Chipset Integrated Graphics Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 2.1
|
||||
bus info: pci@0000:00:02.1
|
||||
version: 03
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm cap_list
|
||||
configuration: latency=0
|
||||
resources: memory:90400000-904fffff
|
||||
*-multimedia
|
||||
description: Audio device
|
||||
product: NM10/ICH7 Family High Definition Audio Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1b
|
||||
bus info: pci@0000:00:1b.0
|
||||
version: 01
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi pciexpress bus_master cap_list
|
||||
configuration: driver=snd_hda_intel latency=0
|
||||
resources: irq:28 memory:90700000-90703fff
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: NM10/ICH7 Family PCI Express Port 1
|
||||
vendor: Intel Corporation
|
||||
physical id: 1c
|
||||
bus info: pci@0000:00:1c.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:25
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: NM10/ICH7 Family PCI Express Port 2
|
||||
vendor: Intel Corporation
|
||||
physical id: 1c.1
|
||||
bus info: pci@0000:00:1c.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:26 ioport:1000(size=4096) memory:90600000-906fffff ioport:90500000(size=1048576)
|
||||
*-network
|
||||
description: Ethernet interface
|
||||
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
|
||||
vendor: Realtek Semiconductor Co., Ltd.
|
||||
physical id: 0
|
||||
bus info: pci@0000:03:00.0
|
||||
logical name: eth0
|
||||
version: 02
|
||||
serial: 6c:f0:49:a3:e3:d5
|
||||
size: 1Gbit/s
|
||||
capacity: 1Gbit/s
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
|
||||
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.10.0-2-amd64 duplex=full ip=192.168.155.136 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
|
||||
resources: irq:17 ioport:1000(size=256) memory:90510000-90510fff memory:90500000-9050ffff memory:90600000-9060ffff
|
||||
*-usb:0
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #1
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d
|
||||
bus info: pci@0000:00:1d.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:23 ioport:2000(size=32)
|
||||
*-usb:1
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #2
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.1
|
||||
bus info: pci@0000:00:1d.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:19 ioport:2020(size=32)
|
||||
*-usb:2
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #3
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.2
|
||||
bus info: pci@0000:00:1d.2
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:18 ioport:2040(size=32)
|
||||
*-usb:3
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #4
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.3
|
||||
bus info: pci@0000:00:1d.3
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:16 ioport:2060(size=32)
|
||||
*-usb:4
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB2 EHCI Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.7
|
||||
bus info: pci@0000:00:1d.7
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm debug ehci bus_master cap_list
|
||||
configuration: driver=ehci-pci latency=0
|
||||
resources: irq:23 memory:90704000-907043ff
|
||||
*-pci:3
|
||||
description: PCI bridge
|
||||
product: 82801 PCI Bridge
|
||||
vendor: Intel Corporation
|
||||
physical id: 1e
|
||||
bus info: pci@0000:00:1e.0
|
||||
version: e1
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci subtractive_decode bus_master cap_list
|
||||
*-isa
|
||||
description: ISA bridge
|
||||
product: 82801GB/GR (ICH7 Family) LPC Interface Bridge
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f
|
||||
bus info: pci@0000:00:1f.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: isa bus_master cap_list
|
||||
configuration: driver=lpc_ich latency=0
|
||||
resources: irq:0
|
||||
*-ide:0
|
||||
description: IDE interface
|
||||
product: 82801G (ICH7 Family) IDE Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.1
|
||||
bus info: pci@0000:00:1f.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: ide isa_compat_mode pci_native_mode bus_master
|
||||
configuration: driver=ata_piix latency=0
|
||||
resources: irq:18 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:2080(size=16)
|
||||
*-ide:1
|
||||
description: IDE interface
|
||||
product: NM10/ICH7 Family SATA Controller [IDE mode]
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.2
|
||||
bus info: pci@0000:00:1f.2
|
||||
logical name: scsi2
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 66MHz
|
||||
capabilities: ide pm isa_compat_mode pci_native_mode bus_master cap_list emulated
|
||||
configuration: driver=ata_piix latency=0
|
||||
resources: irq:19 ioport:20b8(size=8) ioport:20d0(size=4) ioport:20c0(size=8) ioport:20d4(size=4) ioport:2090(size=16)
|
||||
*-disk
|
||||
description: ATA Disk
|
||||
product: WDC WD5000BPVT-2
|
||||
vendor: Western Digital
|
||||
physical id: 0.0.0
|
||||
bus info: scsi@2:0.0.0
|
||||
logical name: /dev/sda
|
||||
version: 1A03
|
||||
serial: WD-WXD1E71MYND4
|
||||
size: 465GiB (500GB)
|
||||
capabilities: gpt-1.00 partitioned partitioned:gpt
|
||||
configuration: ansiversion=5 guid=868a1c85-f309-4f3d-8282-6b5c4c373275 logicalsectorsize=512 sectorsize=4096
|
||||
*-serial
|
||||
description: SMBus
|
||||
product: NM10/ICH7 Family SMBus Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.3
|
||||
bus info: pci@0000:00:1f.3
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
configuration: driver=i801_smbus latency=0
|
||||
resources: irq:19 ioport:400(size=32)
|
||||
*-pnp00:00
|
||||
product: PnP device PNP0c02
|
||||
physical id: 2
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:01
|
||||
product: PnP device PNP0103
|
||||
physical id: 3
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:02
|
||||
product: PnP device PNP0c02
|
||||
physical id: 5
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:03
|
||||
product: PnP device PNP0b00
|
||||
physical id: 6
|
||||
capabilities: pnp
|
||||
configuration: driver=rtc_cmos
|
||||
*-pnp00:04
|
||||
product: PnP device PNP0303
|
||||
physical id: 7
|
||||
capabilities: pnp
|
||||
configuration: driver=i8042 kbd
|
||||
*-pnp00:05
|
||||
product: PnP device PNP0f13
|
||||
physical id: 8
|
||||
capabilities: pnp
|
||||
configuration: driver=i8042 aux
|
@ -0,0 +1,304 @@
|
||||
my-desktop
|
||||
description: Desktop Computer
|
||||
product: G41M-ES2L
|
||||
vendor: Gigabyte Technology Co., Ltd.
|
||||
width: 64 bits
|
||||
capabilities: smbios-2.4 dmi-2.4 smp vsyscall32
|
||||
configuration: boot=normal chassis=desktop uuid=00000000-0000-0000-0000-6CF049A3E3D5
|
||||
*-core
|
||||
description: Motherboard
|
||||
product: G41M-ES2L
|
||||
vendor: Gigabyte Technology Co., Ltd.
|
||||
physical id: 0
|
||||
*-firmware
|
||||
description: BIOS
|
||||
vendor: Award Software International, Inc.
|
||||
physical id: 0
|
||||
version: F9
|
||||
date: 06/21/2010
|
||||
size: 128KiB
|
||||
capacity: 1MiB
|
||||
capabilities: pci pnp apm upgrade shadowing cdboot bootselect edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
|
||||
*-cpu
|
||||
description: CPU
|
||||
product: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
|
||||
vendor: Intel Corp.
|
||||
physical id: 4
|
||||
bus info: cpu@0
|
||||
version: Intel(R) Core(TM)2 Duo CPU
|
||||
slot: Socket 775
|
||||
size: 2631MHz
|
||||
capacity: 4GHz
|
||||
width: 64 bits
|
||||
clock: 333MHz
|
||||
capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority vpid dtherm cpufreq
|
||||
*-cache:0
|
||||
description: L1 cache
|
||||
physical id: a
|
||||
slot: Internal Cache
|
||||
size: 64KiB
|
||||
capacity: 64KiB
|
||||
capabilities: synchronous internal write-back
|
||||
configuration: level=1
|
||||
*-cache:1
|
||||
description: L2 cache
|
||||
physical id: b
|
||||
slot: External Cache
|
||||
size: 6MiB
|
||||
capabilities: synchronous internal write-back
|
||||
configuration: level=2
|
||||
*-memory
|
||||
description: System Memory
|
||||
physical id: 19
|
||||
slot: System board or motherboard
|
||||
size: 2GiB
|
||||
*-bank:0
|
||||
description: DIMM 800 MHz (1.2 ns)
|
||||
physical id: 0
|
||||
slot: A0
|
||||
size: 1GiB
|
||||
width: 64 bits
|
||||
clock: 800MHz (1.2ns)
|
||||
*-bank:1
|
||||
description: DIMM [empty]
|
||||
physical id: 1
|
||||
slot: A1
|
||||
*-bank:2
|
||||
description: DIMM 800 MHz (1.2 ns)
|
||||
physical id: 2
|
||||
slot: A2
|
||||
size: 1GiB
|
||||
width: 64 bits
|
||||
clock: 800MHz (1.2ns)
|
||||
*-bank:3
|
||||
description: DIMM [empty]
|
||||
physical id: 3
|
||||
slot: A3
|
||||
*-pci
|
||||
description: Host bridge
|
||||
product: 4 Series Chipset DRAM Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 100
|
||||
bus info: pci@0000:00:00.0
|
||||
version: 03
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
*-display
|
||||
description: VGA compatible controller
|
||||
product: 4 Series Chipset Integrated Graphics Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 2
|
||||
bus info: pci@0000:00:02.0
|
||||
version: 03
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: msi pm vga_controller bus_master cap_list rom
|
||||
configuration: driver=i915 latency=0
|
||||
resources: irq:16 memory:fd800000-fdbfffff memory:d0000000-dfffffff ioport:ff00(size=8) memory:c0000-dffff
|
||||
*-multimedia
|
||||
description: Audio device
|
||||
product: NM10/ICH7 Family High Definition Audio Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1b
|
||||
bus info: pci@0000:00:1b.0
|
||||
version: 01
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi pciexpress bus_master cap_list
|
||||
configuration: driver=snd_hda_intel latency=0
|
||||
resources: irq:27 memory:fdff8000-fdffbfff
|
||||
*-pci:0
|
||||
description: PCI bridge
|
||||
product: NM10/ICH7 Family PCI Express Port 1
|
||||
vendor: Intel Corporation
|
||||
physical id: 1c
|
||||
bus info: pci@0000:00:1c.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:24 ioport:1000(size=4096) memory:7dd00000-7defffff ioport:80000000(size=2097152)
|
||||
*-pci:1
|
||||
description: PCI bridge
|
||||
product: NM10/ICH7 Family PCI Express Port 2
|
||||
vendor: Intel Corporation
|
||||
physical id: 1c.1
|
||||
bus info: pci@0000:00:1c.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
|
||||
configuration: driver=pcieport
|
||||
resources: irq:25 ioport:d000(size=4096) memory:fdd00000-fddfffff ioport:fde00000(size=1048576)
|
||||
*-network
|
||||
description: Ethernet interface
|
||||
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
|
||||
vendor: Realtek Semiconductor Co., Ltd.
|
||||
physical id: 0
|
||||
bus info: pci@0000:02:00.0
|
||||
logical name: eth0
|
||||
version: 02
|
||||
serial: 6c:f0:49:a3:e3:d5
|
||||
size: 1Gbit/s
|
||||
capacity: 1Gbit/s
|
||||
width: 64 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm msi pciexpress msix vpd bus_master cap_list rom ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
|
||||
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=5.10.0-2-amd64 duplex=full ip=192.168.155.137 latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
|
||||
resources: irq:17 ioport:de00(size=256) memory:fdeff000-fdefffff memory:fdee0000-fdeeffff memory:fdd00000-fdd0ffff
|
||||
*-usb:0
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #1
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d
|
||||
bus info: pci@0000:00:1d.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:23 ioport:fe00(size=32)
|
||||
*-usb:1
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #2
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.1
|
||||
bus info: pci@0000:00:1d.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:19 ioport:fd00(size=32)
|
||||
*-usb:2
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #3
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.2
|
||||
bus info: pci@0000:00:1d.2
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:18 ioport:fc00(size=32)
|
||||
*-usb:3
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB UHCI Controller #4
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.3
|
||||
bus info: pci@0000:00:1d.3
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: uhci bus_master
|
||||
configuration: driver=uhci_hcd latency=0
|
||||
resources: irq:16 ioport:fb00(size=32)
|
||||
*-usb:4
|
||||
description: USB controller
|
||||
product: NM10/ICH7 Family USB2 EHCI Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1d.7
|
||||
bus info: pci@0000:00:1d.7
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pm ehci bus_master cap_list
|
||||
configuration: driver=ehci-pci latency=0
|
||||
resources: irq:23 memory:fdfff000-fdfff3ff
|
||||
*-pci:2
|
||||
description: PCI bridge
|
||||
product: 82801 PCI Bridge
|
||||
vendor: Intel Corporation
|
||||
physical id: 1e
|
||||
bus info: pci@0000:00:1e.0
|
||||
version: e1
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: pci subtractive_decode cap_list
|
||||
*-isa
|
||||
description: ISA bridge
|
||||
product: 82801GB/GR (ICH7 Family) LPC Interface Bridge
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f
|
||||
bus info: pci@0000:00:1f.0
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: isa bus_master cap_list
|
||||
configuration: driver=lpc_ich latency=0
|
||||
resources: irq:0
|
||||
*-ide:0
|
||||
description: IDE interface
|
||||
product: 82801G (ICH7 Family) IDE Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.1
|
||||
bus info: pci@0000:00:1f.1
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
capabilities: ide isa_compat_mode pci_native_mode bus_master
|
||||
configuration: driver=ata_piix latency=0
|
||||
resources: irq:18 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:f800(size=16)
|
||||
*-ide:1
|
||||
description: IDE interface
|
||||
product: NM10/ICH7 Family SATA Controller [IDE mode]
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.2
|
||||
bus info: pci@0000:00:1f.2
|
||||
logical name: scsi2
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 66MHz
|
||||
capabilities: ide pm isa_compat_mode pci_native_mode bus_master cap_list emulated
|
||||
configuration: driver=ata_piix latency=0
|
||||
resources: irq:19 ioport:f700(size=8) ioport:f600(size=4) ioport:f500(size=8) ioport:f400(size=4) ioport:f300(size=16)
|
||||
*-disk
|
||||
description: ATA Disk
|
||||
product: WDC WD5000BPVT-2
|
||||
vendor: Western Digital
|
||||
physical id: 0.0.0
|
||||
bus info: scsi@2:0.0.0
|
||||
logical name: /dev/sda
|
||||
version: 1A03
|
||||
serial: WD-WXD1E71MYND4
|
||||
size: 465GiB (500GB)
|
||||
capabilities: gpt-1.00 partitioned partitioned:gpt
|
||||
configuration: ansiversion=5 guid=868a1c85-f309-4f3d-8282-6b5c4c373275 logicalsectorsize=512 sectorsize=4096
|
||||
*-serial
|
||||
description: SMBus
|
||||
product: NM10/ICH7 Family SMBus Controller
|
||||
vendor: Intel Corporation
|
||||
physical id: 1f.3
|
||||
bus info: pci@0000:00:1f.3
|
||||
version: 01
|
||||
width: 32 bits
|
||||
clock: 33MHz
|
||||
configuration: driver=i801_smbus latency=0
|
||||
resources: irq:19 ioport:500(size=32)
|
||||
*-pnp00:00
|
||||
product: PnP device PNP0c02
|
||||
physical id: 1
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:01
|
||||
product: PnP device PNP0b00
|
||||
physical id: 2
|
||||
capabilities: pnp
|
||||
configuration: driver=rtc_cmos
|
||||
*-pnp00:02
|
||||
product: PnP device PNP0c02
|
||||
physical id: 3
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:03
|
||||
product: PnP device PNP0c02
|
||||
physical id: 5
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
||||
*-pnp00:04
|
||||
product: PnP device PNP0c01
|
||||
physical id: 6
|
||||
capabilities: pnp
|
||||
configuration: driver=system
|
@ -36,7 +36,7 @@ checkout the [code on gerrit] to build coreboot for the laptop.
|
||||
|
||||
## Flashing instructions
|
||||
|
||||
HP EliteBook 8760w has an 8MB SOIC-8 flash chip on the bottom of the
|
||||
HP EliteBook 8760w has an 8 MiB SOIC-8 flash chip on the bottom of the
|
||||
mainboard. You just need to remove the service cover, and use an SOIC-8
|
||||
clip to read and flash the chip.
|
||||
|
||||
|
@ -6,11 +6,16 @@ This section contains documentation about coreboot on specific mainboards.
|
||||
|
||||
- [X210](51nb/x210.md)
|
||||
|
||||
## Acer
|
||||
|
||||
- [G43T-AM3](acer/g43t-am3.md)
|
||||
|
||||
## AMD
|
||||
- [padmelon](amd/padmelon/padmelon.md)
|
||||
|
||||
## ASRock
|
||||
|
||||
- [H77 Pro4-M](asrock/h77pro4-m.md)
|
||||
- [H81M-HDS](asrock/h81m-hds.md)
|
||||
- [H110M-DVS](asrock/h110m-dvs.md)
|
||||
|
||||
@ -19,9 +24,12 @@ This section contains documentation about coreboot on specific mainboards.
|
||||
- [A88XM-E](asus/a88xm-e.md)
|
||||
- [F2A85-M](asus/f2a85-m.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 Pro](asus/p8z77-m_pro.md)
|
||||
- [P8Z77-V](asus/p8z77-v.md)
|
||||
|
||||
## Cavium
|
||||
|
||||
@ -56,6 +64,7 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
## Gigabyte
|
||||
|
||||
- [GA-G41M-ES2L](gigabyte/ga-g41m-es2l.md)
|
||||
- [GA-H61M-S2PV](gigabyte/ga-h61m-s2pv.md)
|
||||
|
||||
## HP
|
||||
@ -152,6 +161,7 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
## Purism
|
||||
|
||||
- [Librem 14](purism/librem_14.md)
|
||||
- [Librem Mini](purism/librem_mini.md)
|
||||
|
||||
## Protectli
|
||||
@ -167,6 +177,10 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
- [SiFive HiFive Unleashed](sifive/hifive-unleashed.md)
|
||||
|
||||
## Star Labs Systems
|
||||
|
||||
- [StarBook Mk V](starlabs/starbook_tgl.md)
|
||||
|
||||
## Supermicro
|
||||
|
||||
- [X10SLM+-F](supermicro/x10slm-f.md)
|
||||
@ -175,7 +189,21 @@ The boards in this section are not real mainboards, but emulators.
|
||||
|
||||
## System76
|
||||
|
||||
- [Lemur Pro](system76/lemp9.md)
|
||||
- [Adder Workstation 1](system76/addw1.md)
|
||||
- [Adder Workstation 2](system76/addw2.md)
|
||||
- [Bonobo Workstation 14](system76/bonw14.md)
|
||||
- [Darter Pro 6](system76/darp6.md)
|
||||
- [Darter Pro 7](system76/darp7.md)
|
||||
- [Galago Pro 4](system76/galp4.md)
|
||||
- [Galago Pro 5](system76/galp5.md)
|
||||
- [Gazelle 15](system76/gaze15.md)
|
||||
- [Gazelle 16](system76/gaze16.md)
|
||||
- [Lemur Pro 9](system76/lemp9.md)
|
||||
- [Lemur Pro 10](system76/lemp10.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)
|
||||
|
||||
## Texas Instruments
|
||||
|
||||
|
@ -60,7 +60,7 @@ $ flashrom -p internal --ifd -i bios -w coreboot.rom --noverify-all
|
||||
2. Make sure power supply is disconnected from board.
|
||||
3. Connect Dediprog SF600 to header at J7H1.
|
||||
4. Ensure that "currently working on" is in "application memory chip 1"
|
||||
5. Go to "file" and select the .rom file (16 MB) to program chip1.
|
||||
5. Go to "file" and select the .rom file (16 MiB) to program chip1.
|
||||
6. Execute the batch operation to erase and program the chip.
|
||||
|
||||
## Technology
|
||||
|
@ -73,12 +73,6 @@ PECI is not supported by Apollo Lake Pentium/Celeron/Atom processors and the CPU
|
||||
temperature value is taken from a thermal resistor (NTC) that is placed very
|
||||
close to the CPU.
|
||||
|
||||
## Known issues
|
||||
|
||||
- Works only with Tianocore "UEFIPayload" payload edk2-stable201903-1569-g3e63a91
|
||||
Booting with the "CorebootPayload" [crashes].
|
||||
- Tianocore outputs video through an external GPU only.
|
||||
|
||||
## Untested
|
||||
|
||||
- IGD/LVDS
|
||||
@ -86,7 +80,7 @@ close to the CPU.
|
||||
|
||||
## Tested and working
|
||||
|
||||
- Kontron CPLD/EC (Serial ports, I2C port)
|
||||
- Kontron CPLD/EC (Serial ports, I2C port, GPIOs)
|
||||
- NCT7802 [HWM](#Hardware Monitor)
|
||||
- USB2/3
|
||||
- Gigabit Ethernet ports
|
||||
|
@ -25,7 +25,7 @@ This information is valid for all supported models, except T430s, [T431s](t431s.
|
||||
|
||||
## Installation instructions
|
||||
* Update the EC firmware, as there's no support for EC updates in coreboot.
|
||||
* Do **NOT** accidently swap pins or power on the board while a SPI flasher
|
||||
* Do **NOT** accidentally swap pins or power on the board while a SPI flasher
|
||||
is connected. It will permanently brick your device.
|
||||
* It's recommended to only flash the BIOS region. In that case you don't
|
||||
need to extract blobs from vendor firmware.
|
||||
@ -76,7 +76,7 @@ region. The update is then written into the EC once.
|
||||
|
||||
[fl]: flashlayout_Ivy_Bridge.svg
|
||||
|
||||
## Reducing Intel Managment Engine firmware size
|
||||
## Reducing Intel Management Engine firmware size
|
||||
|
||||
It is possible to reduce the Intel ME firmware size to free additional
|
||||
space for the `bios` region. This is usually referred to as *cleaning the ME* or
|
||||
|
@ -22,8 +22,12 @@
|
||||
```
|
||||
|
||||
## Installation instructions
|
||||
|
||||
Flashing coreboot for the first time needs to be done using an external
|
||||
programmer, because vendor firmware prevents rewriting the BIOS region.
|
||||
|
||||
* Update the EC firmware, as there's no support for EC updates in coreboot.
|
||||
* Do **NOT** accidently swap pins or power on the board while a SPI flasher
|
||||
* Do **NOT** accidentally swap pins or power on the board while a SPI flasher
|
||||
is connected. It will destroy your device.
|
||||
* It's recommended to only flash the BIOS region. In that case you don't
|
||||
need to extract blobs from vendor firmware.
|
||||
@ -44,7 +48,7 @@ region. The update is then written into the EC once.
|
||||
|
||||
[fl]: flashlayout_Sandy_Bridge.svg
|
||||
|
||||
## Reducing Intel Managment Engine firmware size
|
||||
## Reducing Intel Management Engine firmware size
|
||||
|
||||
It is possible to reduce the Intel ME firmware size to free additional
|
||||
space for the `bios` region. This is usually referred to as *cleaning the ME* or
|
||||
|
@ -44,7 +44,7 @@ $ ifdtool -x backup.rom
|
||||
|
||||
Now you need to patch the flash descriptor. You can either [modify the one from
|
||||
your backup with **ifdtool**](#modifying-flash-descriptor-using-ifdtool), or
|
||||
[generate a completely new one with **bincfg**](#creating-a-new-flash-descriptor-using-bincfg).
|
||||
[use one from the coreboot repository](#using-checked-in-flash-descriptor-via-bincfg).
|
||||
|
||||
#### Modifying flash descriptor using ifdtool
|
||||
|
||||
@ -53,13 +53,13 @@ the `new_layout.txt` file:
|
||||
|
||||
```eval_rst
|
||||
+---------------------------+---------------------------+---------------------------+
|
||||
| 4 MB chip | 8 MB chip | 16 MB chip |
|
||||
| 4 MiB chip | 8 MiB chip | 16 MiB chip |
|
||||
+===========================+===========================+===========================+
|
||||
| .. code-block:: none | .. code-block:: none | .. code-block:: none |
|
||||
| | | |
|
||||
| 00000000:00000fff fd | 00000000:00000fff fd | 00000000:00000fff fd |
|
||||
| 00001000:00002fff gbe | 00001000:00002fff gbe | 00001000:00002fff gbe |
|
||||
| 00003000:003fffff bios | 00003000:007fffff bios | 00003000:01ffffff bios |
|
||||
| 00003000:003fffff bios | 00003000:007fffff bios | 00003000:00ffffff bios |
|
||||
| 00fff000:00000fff pd | 00fff000:00000fff pd | 00fff000:00000fff pd |
|
||||
| 00fff000:00000fff me | 00fff000:00000fff me | 00fff000:00000fff me |
|
||||
+---------------------------+---------------------------+---------------------------+
|
||||
@ -88,33 +88,37 @@ $ mv flashregion_0_flashdescriptor.bin.new.new flashregion_0_flashdescriptor.bin
|
||||
|
||||
Continue to the [Configuring coreboot](#configuring-coreboot) section.
|
||||
|
||||
#### Creating a new flash descriptor using bincfg
|
||||
#### Using checked-in flash descriptor via bincfg
|
||||
|
||||
There is a tool to generate a modified flash descriptor called **bincfg**. Go to
|
||||
`util/bincfg` and build it:
|
||||
There is a copy of an X200's flash descriptor checked into the coreboot
|
||||
repository. It is supposed to work for the T400/T500 as well. The descriptor
|
||||
can be converted back to its binary form using a tool called **bincfg**. Go
|
||||
to `util/bincfg` and build it:
|
||||
```console
|
||||
$ cd util/bincfg
|
||||
$ make
|
||||
```
|
||||
|
||||
If your flash is not 8 MB, you need to change values of `flcomp_density1` and
|
||||
If your flash is not 8 MiB, you need to change values of `flcomp_density1` and
|
||||
`flreg1_limit` in the `ifd-x200.set` file according to following table:
|
||||
|
||||
```eval_rst
|
||||
+-----------------+-------+-------+--------+
|
||||
| | 4 MB | 8 MB | 16 MB |
|
||||
| | 4 MiB | 8 MiB | 16 MiB |
|
||||
+=================+=======+=======+========+
|
||||
| flcomp_density1 | 0x3 | 0x4 | 0x5 |
|
||||
+-----------------+-------+-------+--------+
|
||||
| flreg1_limit | 0x3ff | 0x7ff | 0x1fff |
|
||||
| flreg1_limit | 0x3ff | 0x7ff | 0xfff |
|
||||
+-----------------+-------+-------+--------+
|
||||
```
|
||||
|
||||
Then create the flash descriptor:
|
||||
Then convert the flash descriptor:
|
||||
```console
|
||||
$ ./bincfg ifd-x200.spec ifd-x200.set ifd.bin
|
||||
$ make gen-ifd-x200
|
||||
```
|
||||
|
||||
It will be saved to the `flashregion_0_fd.bin` file.
|
||||
|
||||
#### Configuring coreboot
|
||||
|
||||
Now configure coreboot. You need to select correct chip size and specify paths
|
||||
@ -123,11 +127,11 @@ to flash descriptor and gbe dump.
|
||||
```
|
||||
Mainboard --->
|
||||
ROM chip size (8192 KB (8 MB)) # According to your chip
|
||||
(0x7fd000) Size of CBFS filesystem in ROM # or 0x3fd000 for 4 MB chip / 0x1ffd000 for 16 MB chip
|
||||
(0x7fd000) Size of CBFS filesystem in ROM # or 0x3fd000 for 4 MiB chip / 0xffd000 for 16 MiB chip
|
||||
|
||||
Chipset --->
|
||||
[*] Add Intel descriptor.bin file
|
||||
# Note: if you used bincfg, specify path to generated util/bincfg/ifd.bin
|
||||
# Note: if you used bincfg, specify path to generated util/bincfg/flashregion_0_fd.bin
|
||||
(/path/to/flashregion_0_flashdescriptor.bin) Path and filename of the descriptor.bin file
|
||||
|
||||
[*] Add gigabit ethernet configuration
|
||||
@ -142,7 +146,7 @@ The flash layouts of the OEM firmware are as follows:
|
||||
|
||||
```eval_rst
|
||||
+---------------------------------+---------------------------------+
|
||||
| 4 MB chip | 8 MB chip |
|
||||
| 4 MiB chip | 8 MiB chip |
|
||||
+=================================+=================================+
|
||||
| .. code-block:: none | .. code-block:: none |
|
||||
| | |
|
||||
@ -159,6 +163,6 @@ The flash layouts of the OEM firmware are as follows:
|
||||
On each boot of vendor BIOS `ec` area in flash is checked for having firmware
|
||||
there, and if there is one, it proceedes to update firmware on H8S/2116 (when
|
||||
both external power and main battery are attached). Once update is performed,
|
||||
first 64 KB of `ec` area is erased. Visit
|
||||
first 64 KiB of `ec` area is erased. Visit
|
||||
[thinkpad-ec repository](https://github.com/hamishcoleman/thinkpad-ec) to learn
|
||||
more about how to extract EC firmware from vendor updates.
|
||||
|
@ -18,6 +18,40 @@ the general [flashing tutorial].
|
||||
|
||||
Steps to access the flash IC are described here [T4xx series].
|
||||
|
||||
## Working
|
||||
* CPU: Sandy Bridge i5-2520M, i7-2670QM
|
||||
* RAM module combinations of 2G+0, 2G+2G, 4G+0
|
||||
* mSATA
|
||||
* USB
|
||||
* Video (Intel integrated)
|
||||
* Sound (integrated speakers, integrated mic, external headphones, external mic)
|
||||
* LAN
|
||||
* Mini-PCIe slots (WLAN)
|
||||
* Bluetooth
|
||||
* Linux
|
||||
* Windows 10 (through SeaBIOS as payload, using a VGA BIOS)
|
||||
* DVD-ROM drive
|
||||
* SD card slot
|
||||
* TrackPoint
|
||||
* Touchpad
|
||||
* Webcam
|
||||
* Fn hotkeys (backlight control, thinklight)
|
||||
* Thinklight
|
||||
* Mute button (Speaker only)
|
||||
* Mini Jack audio (headphones)
|
||||
* Suspend (Linux)
|
||||
|
||||
## Not tested
|
||||
* DSub (VGA) out
|
||||
* DisplayPort out
|
||||
* eSATA
|
||||
* ExpressCard
|
||||
* WWAN
|
||||
|
||||
## Not working/TODOs
|
||||
* Mutemic button doesn't mute
|
||||
* Suspend (Windows 10)
|
||||
|
||||
[T4xx series]: t4xx_series.md
|
||||
[flashing tutorial]: ../../flash_tutorial/ext_power.md
|
||||
[T420 / T520 / X220 / T420s / W520 common]: Sandy_Bridge_series.md
|
||||
|
@ -8,15 +8,15 @@ Please see [mrc.bin](../../northbridge/intel/haswell/mrc.bin).
|
||||
|
||||
## Flashing instructions
|
||||
|
||||
T440p has two flash chips, an 8MB W25Q64FV and a 4MB W25Q32FV. To flash
|
||||
T440p has two flash chips, an 8 MiB W25Q64FV and a 4 MiB W25Q32FV. To flash
|
||||
coreboot, you just need to remove the big door according to the T440
|
||||
[Hardware Maintenance Manual] and flash the 4MB chip.
|
||||
[Hardware Maintenance Manual] and flash the 4 MiB chip.
|
||||
|
||||

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

|
||||

|
||||
|
||||
The flash layout of the OEM firmware is as follows:
|
||||
|
||||
|
@ -28,7 +28,7 @@ to boot and flash a working image to the A/B partition.
|
||||
|
||||
## 8 MiB ROM limitation
|
||||
*Lenovo* devices with 8 MiB ROM only have a `RO`+`A` partition enabled in the
|
||||
default FMAP. They are missing the `B` partition, due to size constaints.
|
||||
default FMAP. They are missing the `B` partition, due to size constraints.
|
||||
You can still provide your own FMAP if you need `RO`+`A`+`B` partitions.
|
||||
|
||||
## CMOS
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
* MSI MS-7707 V1.1 (Medion OEM Akoya P4385D MSN10014555)
|
||||
* SandyBridge Intel P67 (BD82x6x)
|
||||
* Winbond 25Q32BV (4MB)
|
||||
* Winbond 25Q32BV (4 MiB)
|
||||
* Fintek F71808A SuperIO
|
||||
* Intel 82579V Gigabit
|
||||
* NEC uPD720200 USB 3.0 Host Controller
|
||||
|
@ -1,36 +1,56 @@
|
||||
# OCP Delta Lake
|
||||
|
||||
This page describes coreboot support status for the [OCP] (Open Compute Project)
|
||||
Delta Lake server platform. This page is updated following each 4-weeks
|
||||
build/test/release cycle.
|
||||
Delta Lake server platform.
|
||||
|
||||
## Introduction
|
||||
|
||||
OCP Delta Lake server platform is a component of multi-host server system
|
||||
Yosemite-V3. Both were announced by Facebook and Intel in [OCP virtual summit 2020].
|
||||
Yosemite-V3. Both [Delta Lake server design spec] and [Yosemite-V3 design
|
||||
spec] were [OCP] accepted.
|
||||
|
||||
On the other hand, Wiwynn's Yosemite-V3 system and Delta Lake server product
|
||||
along with its OSF implementation, which is based on FSP/coreboot/LinuxBoot
|
||||
stack, was [OCP] accepted; For details, check:
|
||||
- [The OCP blog]
|
||||
- [The Wiwynn Press Release]
|
||||
- [The Wiwynn's Yosemite-V3 product in OCP market place]
|
||||
Wiwynn and 9Elements formed a partnership to offer the Wiwynn's Yosemite-V3
|
||||
product and OSF for it.
|
||||
|
||||
Delta Lake server is a single socket Cooper Lake Scalable Processor (CPX-SP) server.
|
||||
Intel Cooper Lake Scalable Processor was launched in Q2 2020.
|
||||
|
||||
Yosemite-V3 has multiple configurations. Depending on configurations, it may
|
||||
host up to 4 Delta Lake servers in one sled.
|
||||
host up to 4 Delta Lake servers (blades) in one sled.
|
||||
|
||||
The Yosemite-V3 program is in PVT phase. Facebook, Intel and partners
|
||||
jointly develop FSP/coreboot/LinuxBoot stack on Delta Lake as an alternative
|
||||
solution. This development reached EVT exit equivalent status.
|
||||
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.
|
||||
|
||||
## Required blobs
|
||||
## How to build
|
||||
|
||||
This board currently requires:
|
||||
OSF code base is public at
|
||||
https://github.com/opencomputeproject/OpenSystemFirmware
|
||||
|
||||
Run following commands to build Delta Lake OSF image from scratch:
|
||||
git clone https://github.com/opencomputeproject/OpenSystemFirmware.git
|
||||
cd OpenSystemFirmware/Wiwynn/deltalake && ./download_and_build.sh
|
||||
|
||||
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)
|
||||
is not yet available to the public. It will be made public some time after the MP
|
||||
(Mass Production) of CPX-SP.
|
||||
- Microcode: Available through github.com:otcshare/Intel-Generic-Microcode.git.
|
||||
- ME binary: Ignition binary will be made public some time after the MP
|
||||
of CPX-SP.
|
||||
- ACM binaries: only required for CBnT enablement.
|
||||
|
||||
## Payload
|
||||
- LinuxBoot: This is necessary only if you use LinuxBoot as coreboot payload.
|
||||
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
|
||||
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
|
||||
following [All about u-root].
|
||||
|
||||
@ -58,11 +78,16 @@ values.
|
||||
VPD variables supported are:
|
||||
- firmware_version: This variable holds overall firmware version. coreboot
|
||||
uses that value to populate smbios type 1 version field.
|
||||
- DeltaLake specific VPDs: check mb/ocp/deltalake/vpd.h.
|
||||
- bmc_bootorder_override: When it's set to 1 IPMI OEM command can override boot
|
||||
order. The boot order override is done in the u-root LinuxBoot payload.
|
||||
- systemboot_log_level: u-root package systemboot log levels, would be mapped to
|
||||
quiet/verbose in systemboot as that is all we have for now. 5 to 8 would be
|
||||
mapped to verbose, 0 to 4 and 9 would be mapped to quiet.
|
||||
- VPDs affecting coreboot are listed/documented in [src/mainboard/ocp/deltalake/vpd.h].
|
||||
|
||||
## Working features
|
||||
The solution is developed using LinuxBoot payload with Linux kernel 5.2.9, and [u-root]
|
||||
as initramfs.
|
||||
## Features
|
||||
The solution is developed using LinuxBoot payload with Linux kernel 5.2.9,
|
||||
and [u-root] as initramfs.
|
||||
- SMBIOS:
|
||||
- Type 0 -- BIOS Information
|
||||
- Type 1 -- System Information
|
||||
@ -91,11 +116,14 @@ as initramfs.
|
||||
- TPM
|
||||
- Bootguard profile 0T
|
||||
- TXT
|
||||
- SRTM (verified through tboot)
|
||||
- memory secret clearance upon ungraceful shutdown
|
||||
- SRTM
|
||||
- DRTM (verified through tboot)
|
||||
- unsigned KM/BPM generation
|
||||
- KM/BPM signing
|
||||
- memory secret clearance upon ungraceful shutdown
|
||||
- Early serial output
|
||||
- port 80h direct to GPIO
|
||||
- ACPI tables: APIC/DMAR/DSDT/FACP/FACS/HPET/MCFG/SPMI/SRAT/SLIT/SSDT
|
||||
- ACPI tables: APIC/DMAR/DSDT/EINJ/FACP/FACS/HEST/HPET/MCFG/SPMI/SRAT/SLIT/SSDT
|
||||
- Skipping memory training upon subsequent reboots by using MRC cache
|
||||
- BMC crash dump
|
||||
- Error injection through ITP
|
||||
@ -104,13 +132,17 @@ as initramfs.
|
||||
- Check Microcode version: cat /proc/cpuinfo | grep microcode
|
||||
- Devices:
|
||||
- Boot drive
|
||||
- NIC card
|
||||
- All 5 data drives
|
||||
- NIC card
|
||||
- Power button
|
||||
- localboot
|
||||
- netboot from IPv6
|
||||
- basic memory hardware error injection/detection (SMI handler not upstreamed)
|
||||
- basic PCIe hardware error injection/detection (SMI handler not upstreamed)
|
||||
- RAS (SMI handlers not upstreamed)
|
||||
- EINJ/HEST
|
||||
- error injection through ITP
|
||||
- memory error handling
|
||||
- PCIe error handling
|
||||
- PCIe live error recovery (LER)
|
||||
|
||||
## Stress/performance tests passed
|
||||
- OS warm reboot (1000 cycles)
|
||||
@ -120,28 +152,32 @@ as initramfs.
|
||||
- StressAppTest (6 hours)
|
||||
- Ptugen (6 hours)
|
||||
|
||||
## Performance tests on par with traditional firmware
|
||||
## Performance on par with traditional firmware
|
||||
- coremark
|
||||
- SpecCPU
|
||||
- Linkpack
|
||||
- Iperf(IPv6)
|
||||
- FIO
|
||||
- Iperf(IPv6)
|
||||
- Linpack
|
||||
- Intel MLC (memory latency and bandwidth)
|
||||
- SpecCPU
|
||||
- stream
|
||||
|
||||
## Other tests passed
|
||||
- Power
|
||||
- Thermal
|
||||
- coreboot address sanitizer (both romstage and ramstage)
|
||||
- Intel selftest tool (all errors analyzed; applicable errors clean)
|
||||
|
||||
## Known issues
|
||||
- MLC (Intel Memory Latency Check) and stream performance issue
|
||||
- HECI access at OS run time:
|
||||
- spsInfoLinux64 command fail to return ME version
|
||||
- ptugen command fail to get memory power
|
||||
- CLTT (Closed Loop Thermal Throttling, eg. thermal protection for DIMMs)
|
||||
- ProcHot (thermal protection for processors)
|
||||
|
||||
## Feature gaps
|
||||
- flashrom command not able to update ME region
|
||||
- ACPI APEI tables
|
||||
- PCIe hotplug, Virtual Pin Ports
|
||||
- PCIe Live Error Recovery
|
||||
- ACPI BERT table
|
||||
- PCIe hotplug through VPP (Virtual Pin Ports)
|
||||
- RO_VPD region as well as other RO regions are not write protected
|
||||
- Not able to selectively enable/disable core
|
||||
|
||||
@ -158,8 +194,15 @@ as initramfs.
|
||||
```
|
||||
|
||||
[OCP]: https://www.opencompute.org
|
||||
[Delta Lake server design spec]: https://www.opencompute.org/documents/delta-lake-1s-server-design-specification-1v05-pdf
|
||||
[Yosemite-V3 design spec]: https://www.opencompute.org/documents/ocp-yosemite-v3-platform-design-specification-1v16-pdf
|
||||
[The OCP blog]: https://www.opencompute.org/blog/open-system-firmware-for-ocp-server-deltalake-is-published
|
||||
[The Wiwynn Press Release]: https://www.prnewswire.com/news-releases/wiwynn-successfully-implemented-open-system-firmware-on-its-ocp-yosemite-v3-server-301417374.html?tc=eml_cleartime
|
||||
[The Wiwynn's Yosemite-V3 product in OCP market place]: https://www.opencompute.org/products/423/wiwynn-yosemite-v3-server
|
||||
[osf-builder]: https://github.com/facebookincubator/osf-builder
|
||||
[OCP virtual summit 2020]: https://www.opencompute.org/summit/virtual-summit/schedule
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
||||
[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
|
||||
|
@ -51,7 +51,7 @@ To connect to console through SOL (Serial Over Lan):
|
||||
|
||||
## Known issues / feature gaps
|
||||
- C6 state is not supported. Workaround is to disable C6 support through
|
||||
target OS and Linuxboot kernel paramter, such as "cpuidle.off=1".
|
||||
target OS and Linuxboot kernel parameter, such as "cpuidle.off=1".
|
||||
- SMI handlers are not implemented.
|
||||
- xSDT tables are not fully populated, such as processor/socket devices,
|
||||
PCIe bridge devices.
|
||||
|
113
Documentation/mainboard/purism/librem_14.md
Normal file
@ -0,0 +1,113 @@
|
||||
# Purism Librem 14
|
||||
|
||||
This page describes how to run coreboot on the [Purism Librem 14].
|
||||
|
||||
```eval_rst
|
||||
+------------------+------------------------------------------------------+
|
||||
| CPU | Intel Core i7-10710U |
|
||||
+------------------+------------------------------------------------------+
|
||||
| PCH | Comet Lake LP Premium (Comet Lake-U) |
|
||||
+------------------+------------------------------------------------------+
|
||||
| EC | ITE IT8528E |
|
||||
+------------------+------------------------------------------------------+
|
||||
| Coprocessor | Intel Management Engine (CSME 14.x) |
|
||||
+------------------+------------------------------------------------------+
|
||||
```
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## 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 CometLake1 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 the
|
||||
build system from the `3rdparty/intel-microcode` submodule. Official Purism
|
||||
release images may include newer microcode, which is instead pulled from
|
||||
Purism's [purism-blobs] repository.
|
||||
|
||||
A VGA Option ROM is not required to boot, as the Librem 14 uses libgfxinit.
|
||||
|
||||
## Intel Management Engine
|
||||
|
||||
The Librem 14 uses version 14.x of the Intel Management Engine (ME) /
|
||||
Converged Security Engine (CSE). The ME/CSE is disabled using the High
|
||||
Assurance Platform (HAP) bit, which puts the ME into a disabled state after
|
||||
platform bring-up (BUP) and disables all PCI/HECI interfaces.
|
||||
This can be verified checking the coreboot console log, using coreboot’s
|
||||
cbmem utility:
|
||||
|
||||
`sudo ./cbmem -1 | grep 'ME:'`
|
||||
|
||||
provided coreboot has been patched to output the ME status even when the
|
||||
PCI device is not visible/active (as it is in Purism's release builds).
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
### Internal programming
|
||||
|
||||
The main SPI flash can be accessed using [flashrom]. No official flashrom
|
||||
release supports the CometLake-U SoC yet, so it must be built from source.
|
||||
Version v1.2-107-gb1f858f or later is needed. 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 soldered SOIC-8
|
||||
chip, and has a diode attached to the VCC line for in-system programming.
|
||||
This chip is located on the bottom side of the board, in between the CPU
|
||||
heatsink and the left cooling fan, just above the left SO-DIMM slot.
|
||||
|
||||
One has to remove all 9 screws from the bottom cover, then disconnect the
|
||||
battery from the mainboard (bottom left of mainboard). Use a SOIC-8 chip
|
||||
clip to program the chip (a Gigadevice GD25Q127C (3.3V) - [datasheet][GD25Q127C]).
|
||||
|
||||
The EC firmware is stored on a separate SOIC-8 chip (a Gigadevices GD25Q80C),
|
||||
located underneath the Wi-Fi module, below the left cooling fan.
|
||||
|
||||
## Known issues
|
||||
|
||||
* Automatic detection of external audio input/output via the 3.5mm jack
|
||||
does not currently work.
|
||||
* PL1/PL2 limited to 15W/20W by charger and battery discharge capability,
|
||||
not SoC or thermal design.
|
||||
|
||||
## Working
|
||||
|
||||
* 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
|
||||
* Ethernet, m.2 2230 Wi-Fi
|
||||
* System firmware updates via flashrom
|
||||
* M.2 storage (NVMe, SATA III)
|
||||
* Built-in audio (speakers, microphone)
|
||||
* SMBus (reading SPD from DIMMs)
|
||||
* Initialization with FSP 2.0 (CometLake1)
|
||||
* S3 Suspend/Resume
|
||||
* Booting PureOS 10.x, Debian 11.x, Qubes 4.0.4, Windows 10 20H2
|
||||
|
||||
## Not working / untested
|
||||
|
||||
* N/A
|
||||
|
||||
|
||||
[Purism Librem 14]: https://puri.sm/products/librem-14/
|
||||
[purism-blobs]: https://source.puri.sm/coreboot/purism-blobs
|
||||
[GD25Q127C]: https://www.gigadevice.com/datasheet/gd25q127c/
|
||||
[flashrom]: https://flashrom.org/Flashrom
|
BIN
Documentation/mainboard/purism/librem_14.webp
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
Documentation/mainboard/purism/librem_14_ec_flash.jpg
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
Documentation/mainboard/purism/librem_14_flash.jpg
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
Documentation/mainboard/starlabs/BiosLock.jpg
Normal file
After Width: | Height: | Size: 61 KiB |
BIN
Documentation/mainboard/starlabs/SwitchBranch.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
Documentation/mainboard/starlabs/fwupdVersion.png
Normal file
After Width: | Height: | Size: 28 KiB |
154
Documentation/mainboard/starlabs/starbook_tgl.md
Normal file
@ -0,0 +1,154 @@
|
||||
# StarBook Mk V
|
||||
|
||||
## Specs
|
||||
|
||||
- CPU (full processor specs available at https://ark.intel.com)
|
||||
- Intel i7-1165G7 (Tiger Lake)
|
||||
- Intel i3-1110G4 (Tiger Lake)
|
||||
- EC
|
||||
- ITE IT5570E
|
||||
- Backlit Keyboard, with standard PS/2 keycodes and SCI hotkeys
|
||||
- Battery
|
||||
- Charger, using AC adapter or USB-C PD
|
||||
- Suspend / resume
|
||||
- GPU
|
||||
- Intel® Iris® Xe Graphics
|
||||
- GOP driver is recommended, VBT is provided
|
||||
- eDP 14-inch 1920x1080 LCD
|
||||
- HDMI video
|
||||
- USB-C DisplayPort video
|
||||
- Memory
|
||||
- 2 x DDR4 SODIMM
|
||||
- Networking
|
||||
- AX201 2230 WiFi / Bluetooth
|
||||
- Sound
|
||||
- Realtek ALC256
|
||||
- Internal speakers
|
||||
- Internal microphone
|
||||
- Combined headphone / microphone 3.5-mm jack
|
||||
- HDMI audio
|
||||
- USB-C DisplayPort audio
|
||||
- Storage
|
||||
- M.2 PCIe SSD
|
||||
- RTS5129 MicroSD card reader
|
||||
- USB
|
||||
- 1280x720 CCD camera
|
||||
- Thunderbolt 4.0 (left)
|
||||
- USB 3.1 Gen 2 Type-A (left)
|
||||
- USB 3.1 Gen 1 Type-A (right)
|
||||
- USB 2.0 Type-A (right)
|
||||
|
||||
## Building coreboot
|
||||
|
||||
### Preliminaries
|
||||
|
||||
Prior to building coreboot the following files are required:
|
||||
* Intel Flash Descriptor file (descriptor.bin)
|
||||
* Intel Management Engine firmware (me.bin)
|
||||
* ITE Embedded Controller firmware (ec.bin)
|
||||
|
||||
The files listed below are optional:
|
||||
- Splash screen image in Windows 3.1 BMP format (Logo.bmp)
|
||||
|
||||
These files exist in the correct location in the StarLabsLtd/blobs repo on GitHub which is used in place of the standard 3rdparty/blobs repo.
|
||||
|
||||
### Build
|
||||
|
||||
The following commands will build a working image:
|
||||
|
||||
```bash
|
||||
make distclean
|
||||
make defconfig KBUILD_DEFCONFIG=configs/config.starlabs_starbook_tgl
|
||||
make
|
||||
```
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
```eval_rst
|
||||
+---------------------+------------+
|
||||
| Type | Value |
|
||||
+=====================+============+
|
||||
| Socketed flash | no |
|
||||
+---------------------+------------+
|
||||
| Vendor | Winbond |
|
||||
+---------------------+------------+
|
||||
| Model | 25Q128JVSQ |
|
||||
+---------------------+------------+
|
||||
| Size | 16 MiB |
|
||||
+---------------------+------------+
|
||||
| Package | SOIC-8 |
|
||||
+---------------------+------------+
|
||||
| Internal flashing | yes |
|
||||
+---------------------+------------+
|
||||
| External flashing | yes |
|
||||
+---------------------+------------+
|
||||
|
||||
#### **Requirements:**
|
||||
|
||||
* fwupd version 1.5.6 or later
|
||||
* The battery must be charged to at least 30%
|
||||
* The charger must be connected (either USB-C or DC Jack)
|
||||
* BIOS Lock must be disabled
|
||||
* Supported Linux distribution (Ubuntu 20.04 +, Linux Mint 20.1 + elementaryOS 6 +, Manjaro 21+)
|
||||
|
||||
**fwupd 1.5.6 or later**
|
||||
To check the version of **fwupd** you have installed, open a terminal window and enter the below command:
|
||||
|
||||
```
|
||||
fwupdmgr --version
|
||||
```
|
||||
|
||||
This will show the version number. **1.5.6** or greater will work.
|
||||

|
||||
On Ubuntu 20.04, Ubuntu 20.10, Linux Mint 20.1 and elementaryOS 6, fwupd 1.5.6 can be installed from our PPA with the below terminal commands:
|
||||
|
||||
```
|
||||
sudo add-apt-repository ppa:starlabs/ppa
|
||||
sudo apt update
|
||||
sudo apt install fwupd
|
||||
```
|
||||
|
||||
On Manjaro:
|
||||
|
||||
```
|
||||
sudo pacman -Sy fwupd-git flashrom-starlabs
|
||||
```
|
||||
|
||||
Instructions for other distributions will be added once fwupd 1.5.6 is available. If you are not using one of the distributions listed above, it is possible to install coreboot using a Live USB.
|
||||
|
||||
**Disable BIOS Lock**
|
||||
BIOS Lock must be disabled when switching from the standard AMI (American Megatrends Inc.) firmware to coreboot. To disable BIOS Lock:
|
||||
|
||||
1\. Start with your LabTop turned off\. Turn it on whilst holding the **F2** key to access the BIOS settings.
|
||||
2\. When the BIOS settings load, use the arrow keys to navigate to the **Advanced** tab\. Here you will see **BIOS Lock**\.
|
||||
3\. Press `Enter` to change this setting from **Enabled** to **Disabled**
|
||||
|
||||

|
||||
|
||||
4\. Next, press the `F10` key to **Save & Exit** and then `Enter` to confirm.
|
||||
|
||||
#### **Switching Branch**
|
||||
|
||||
Switching branch refers to changing from AMI firmware to coreboot, or vice versa.
|
||||
|
||||
First, check for new firmware files with the below terminal command:
|
||||
|
||||
```
|
||||
fwupdmgr refresh --force
|
||||
```
|
||||
|
||||
Then, to change branch, enter the below terminal command:
|
||||
|
||||
```
|
||||
fwupdmgr switch-branch
|
||||
```
|
||||
|
||||
You can then select which branch you would like to use, by typing in the corresponding number:
|
||||

|
||||
You will be prompted to confirm, press `y` to continue or `n` to cancel.
|
||||
|
||||
Once the switch has been completed, you will be prompted to restart.
|
||||
|
||||
The next reboot can take up to **5 minutes,** do not interrupt this process or disconnect the charger. Once the reboot is complete, that's it - you'll continue to receive updates for whichever branch you are using.
|
||||
|
||||
You can switch branch at any time.
|
@ -30,3 +30,15 @@ You can use the *SMCIPMITool* to remotely flash the BIOS:
|
||||
|
||||
Make sure that the ME isn't in recovery mode, otherwise you get an error
|
||||
message on updating the BIOS.
|
||||
|
||||
## Flashing with disabled ME
|
||||
|
||||
If ME is disabled via `me_cleaner` or the ME recovery jumper, it is still
|
||||
possible to flash remotely with the [`Supermicro Update Manager`][SUM] (`SUM`).
|
||||
|
||||
```sh
|
||||
./sum -i <remote BMC IP> -u <user> -p <password> -c UpdateBios --reboot \
|
||||
--force_update --file build/coreboot.rom
|
||||
```
|
||||
|
||||
[SUM]: https://www.supermicro.com/SwDownload/SwSelect_Free.aspx?cat=SUM
|
||||
|
@ -7,7 +7,7 @@ Controller etc.
|
||||
## Supported boards
|
||||
|
||||
- [X11SSH-TF](x11ssh-tf/x11ssh-tf.md)
|
||||
- [X11SSH-F](x11ssh-f/x11ssh-f.md)
|
||||
- [X11SSH-F/LN4F](x11ssh-f/x11ssh-f.md)
|
||||
- [X11SSM-F](x11ssm-f/x11ssm-f.md)
|
||||
|
||||
## Required proprietary blobs
|
||||
@ -18,7 +18,7 @@ Controller etc.
|
||||
## De-blobbing
|
||||
|
||||
- [Intel FSP2.0] can not be removed as long as there is no free replacement
|
||||
- Intel ME can be cleaned using me_cleaner (~4.5 MB more free space)
|
||||
- Intel ME can be cleaned using me_cleaner (~4.5 MiB more free space)
|
||||
- Intel Ethernet Controller Firmware can be removed when it's extended functionality is not
|
||||
needed. For more details refer to the respective datasheet (e.g 333016-008 for I210).
|
||||
- Boards with [AST2400] BMC/IPMI: Firmware can be replaced by [OpenBMC]
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Supermicro X11SSH-F
|
||||
# Supermicro X11SSH-F/X11SSH-LN4F
|
||||
|
||||
This section details how to run coreboot on the [Supermicro X11SSH-F].
|
||||
This section details how to run coreboot on the [Supermicro X11SSH-F] or [Supermicro X11SSH-LN4F].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
@ -43,6 +43,11 @@ tasks, or for offloading graphics rendering via "muxless" [vga_witcheroo].
|
||||
- S3 resume not working (vendor and coreboot)
|
||||
- SeaBIOS cannot make use of VGA on Aspeed (even if IGD is disabled)
|
||||
|
||||
## Difference between X11SSH-F and X11SSH-LN4F
|
||||
|
||||
The PCB is identical. The X11SSH-F has 2 NICs, the X11SSH-LN4F has 4 NICs.
|
||||
So the X11SSH-F just doesn't have 2 NICs populated.
|
||||
|
||||
## ToDo
|
||||
|
||||
- Fix known issues
|
||||
@ -60,7 +65,8 @@ tasks, or for offloading graphics rendering via "muxless" [vga_witcheroo].
|
||||
+------------------+--------------------------------------------------+
|
||||
| Super I/O | ASPEED AST2400 |
|
||||
+------------------+--------------------------------------------------+
|
||||
| Ethernet | 2x Intel I210-AT 1 GbE |
|
||||
| Ethernet | 2x Intel I210-AT 1 GbE (for X11SSH-F) |
|
||||
| | 4x Intel I210-AT 1 GbE (for X11SSH-LN4F) |
|
||||
| | 1x dedicated BMC |
|
||||
+------------------+--------------------------------------------------+
|
||||
| PCIe slots | 1x 3.0 x8 |
|
||||
@ -95,6 +101,7 @@ tasks, or for offloading graphics rendering via "muxless" [vga_witcheroo].
|
||||
- [Board manual]
|
||||
|
||||
[Supermicro X11SSH-F]: https://www.supermicro.com/en/products/motherboard/X11SSH-F
|
||||
[Supermicro X11SSH-LN4F]: https://www.supermicro.com/en/products/motherboard/X11SSH-LN4F
|
||||
[Board manual]: https://www.supermicro.com/manuals/motherboard/C236/MNL-1778.pdf
|
||||
[AST2400]: https://www.aspeedtech.com/products.php?fPath=20&rId=376
|
||||
[IPMI]: ../../../../drivers/ipmi_kcs.md
|
||||
|
@ -4,9 +4,14 @@ This section details how to run coreboot on the [Supermicro X11SSM-F].
|
||||
|
||||
## Flashing coreboot
|
||||
|
||||
The board can be flashed externally. FTDI FT2232H and FT232H based programmers worked. For this,
|
||||
one needs to add a diode between VCC and the flash chip. The flash IC [MX25L12873F] can be found
|
||||
near PCH PCIe Slot 4.
|
||||
The flash IC [MX25L12873F] can be found near PCH PCIe Slot 4.
|
||||
|
||||
The board can be flashed externally with a SOIC test clip or probes. Since
|
||||
there is no diode between VCC3.3 and the flash chip, so VCC must **not** be
|
||||
connected. Instead, the flash chip is powered from VCC3.3, which is always-on
|
||||
(even in S5). WP# and HOLD# have pull-ups and don't need to be connected.
|
||||
|
||||
FTDI FT2232H and FT232H based programmers worked.
|
||||
|
||||
Flashing is also possible through the BMC web interface, when a valid license was entered.
|
||||
|
||||
|