mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-13 06:49:52 +02:00
Compare commits
1178 Commits
20211122
...
a88hm_test
| Author | SHA1 | Date | |
|---|---|---|---|
| 80118a24b8 | |||
| fcf27a5719 | |||
| 47ef411efb | |||
| ce1176f521 | |||
| 70882902b5 | |||
| 5af3ae0586 | |||
| 64f9337470 | |||
| f4b2a588e2 | |||
| c4d9008753 | |||
| d0d6decb56 | |||
| f60286a346 | |||
| 4d7cb99c49 | |||
| d3ade2085b | |||
| 866087211f | |||
| f12f5c3aee | |||
| a02c7e3163 | |||
| 36d4c90619 | |||
| 8bb9563964 | |||
| 931d646df7 | |||
| d5a3abdb80 | |||
| 139815f95c | |||
| 9be589efbc | |||
| 188b4f0dce | |||
| 1c6add41d6 | |||
| b295fd4093 | |||
| 4bdaf39ce7 | |||
| 9184940f34 | |||
| 5a3154709b | |||
| 80b70d899c | |||
| 6e60bfe0b0 | |||
| 42392f6fed | |||
| ada4de5f54 | |||
| dd03a87b68 | |||
| ab57e7a488 | |||
| 72e7d090c9 | |||
| 742c00331e | |||
| f870a2feed | |||
| c5fd0069a6 | |||
| dd1e15fd0b | |||
| 922bccf9f3 | |||
| 1f1498be74 | |||
| 82bd87fa16 | |||
| 971f651775 | |||
| dfc5423cad | |||
| f999349526 | |||
| ed27ab8a2b | |||
| 2c7f83bc83 | |||
| 65675a200c | |||
| 42fde8e574 | |||
| 1306c9d2e3 | |||
| d218088d8b | |||
| 91faeb8d09 | |||
| 026d57fff4 | |||
| 29e9c32e32 | |||
| 9606c68c5b | |||
| 00dd3e4aaf | |||
| 34f5685337 | |||
| 27efbc6f54 | |||
| 7e6fd7e5b4 | |||
| 93458de74a | |||
| 83bf237660 | |||
| 5f6ba01d41 | |||
| df031d422a | |||
| 85bc915684 | |||
| f1785c3f43 | |||
| b353b0c713 | |||
| 03c830b2e9 | |||
| 444f2899e6 | |||
| 280bccebb5 | |||
| 3b92ac97b6 | |||
| 8dda0d8654 | |||
| e86af9a60a | |||
| 23958f4eae | |||
| 79c8dc4655 | |||
| a06c38ce15 | |||
| 5162b912b2 | |||
| f0cf710f68 | |||
| e90bffff3c | |||
| c7e764a3f0 | |||
| 1c8b2114cc | |||
| 54a05fc167 | |||
| 52c9416b19 | |||
| af1c1e10f1 | |||
| 18364822a2 | |||
| ac442808ee | |||
| 759800523f | |||
| bf4ea8102a | |||
| da3044e7d7 | |||
| 782371a59c | |||
| 743a425cd6 | |||
| 73145b7980 | |||
| 31b35bb4ce | |||
| baa3d4f217 | |||
| 8de7bc9339 | |||
| d1f23eca34 | |||
| 97e5207ecf | |||
| 182ee8e416 | |||
| 54eb347a30 | |||
| f855611c99 | |||
| 0c32c1d643 | |||
| 0375cfaf1c | |||
| d245e0b1b4 | |||
| fac62a8c58 | |||
| 0e1602f5b1 | |||
| 7b2060086a | |||
| 6af65ad430 | |||
| 4e54a051ef | |||
| 8d9aeef3de | |||
| 0b98c9b00c | |||
| a16cd1a349 | |||
| 8a063f6b4b | |||
| 8b6e44a104 | |||
| 9fac3c1232 | |||
| e63399cf25 | |||
| 6758b5c85d | |||
| 4cdf60e60a | |||
| fc2cab3124 | |||
| c14461a56b | |||
| d8c2c24507 | |||
| 0f807762a2 | |||
| 34b8687e94 | |||
| 1a299f1b0b | |||
| 8583a05dde | |||
| 4d9567a756 | |||
| 6e65595da5 | |||
| 4e7e476191 | |||
| f08102a227 | |||
| fea0cec24a | |||
| f9bad4449a | |||
| f7db91c848 | |||
| 7afe2f3918 | |||
| 46e01c0e1d | |||
| 5b4ced3329 | |||
| f459e05ecd | |||
| b2d84213da | |||
| 8b411963b7 | |||
| eb267733fa | |||
| 65af756fc3 | |||
| 19f1e0083d | |||
| 3f8636ff67 | |||
| 7b741dd062 | |||
| e0feda639b | |||
| ec0b38afb3 | |||
| 2ebadb7ffd | |||
| 27aaae5992 | |||
| ca78fc6762 | |||
| 7cd84aec28 | |||
| b5db048089 | |||
| 6846c9f735 | |||
| c401efdd03 | |||
| 268fd6ce71 | |||
| 653a8571f4 | |||
| c44a38aefc | |||
| 5d6946c42c | |||
| 42068f7ce1 | |||
| 09881212c3 | |||
| 1f3316422d | |||
| 3162d60d52 | |||
| f989360e88 | |||
| 3ad171fd3d | |||
| 96fd88c5b3 | |||
| 5b8b55f2ae | |||
| 067a358d4d | |||
| 13c58200a4 | |||
| 67ffb5134c | |||
| 724cb39f86 | |||
| 634aac0b69 | |||
| 7e3a031a1d | |||
| b61e3feb6b | |||
| 4ea9b9fb2f | |||
| f8528d129a | |||
| 21db72b695 | |||
| d1ba94ea08 | |||
| e7a77b50e8 | |||
| 92abbb25fe | |||
| 85bee1f8bd | |||
| d58bc5ff0d | |||
| 1e89264ce3 | |||
| a413c01a3e | |||
| c8bace0d84 | |||
| ba324d8c07 | |||
| 4708da2ca9 | |||
| 0fad3497b8 | |||
| ea27c92842 | |||
| 0ed2ec294b | |||
| b6d9e6c18d | |||
| 0962600c84 | |||
| fa8e204f14 | |||
| 24584296a8 | |||
| 62cc895c3c | |||
| 3c7e37b15d | |||
| 5e81024e97 | |||
| 9f8f230b61 | |||
| fe502da944 | |||
| 4e39d5a5a8 | |||
| 965b6a7ed7 | |||
| 5494ffb3d1 | |||
| ce10c1b38c | |||
| 2d483d2f5c | |||
| 315d0c4572 | |||
| 863081c369 | |||
| 2d16e1ee47 | |||
| 1c2de7f962 | |||
| 176722a841 | |||
| 9d419e77a0 | |||
| 106841024a | |||
| cad7648a26 | |||
| 923a96c18e | |||
| 1223bfaeef | |||
| 727dc7ff2f | |||
| fbd464b4f7 | |||
| e638c3e411 | |||
| 68e1787cec | |||
| 5de8eda21c | |||
| 334aa1f7c9 | |||
| 8097baa0bd | |||
| 0db6c0a4a8 | |||
| 3af63fb8b7 | |||
| ad74b4c281 | |||
| 2e60e11798 | |||
| d9719cae49 | |||
| cb29c96c74 | |||
| 9dce8236ef | |||
| 0f86a393ac | |||
| 67ac799d49 | |||
| d38b958d7a | |||
| 8886f9958f | |||
| cd2caecb73 | |||
| bcbd3734b3 | |||
| 0a63dce35e | |||
| 91c0f942f3 | |||
| 7bead4f55a | |||
| 1dd97470e7 | |||
| a3b3196d6c | |||
| 3fcad603b2 | |||
| 0a711ebc66 | |||
| 7ce3f93e44 | |||
| 7b02bb9aa6 | |||
| 8c03b886c4 | |||
| 5f914a4d00 | |||
| 92c6da7b21 | |||
| 2a6fcf7022 | |||
| 42d4fa9b12 | |||
| 9bc9dddf64 | |||
| c477599c78 | |||
| 26fc3f1325 | |||
| 0a0defd325 | |||
| 49b266eb42 | |||
| d268f5eb28 | |||
| 7922b6e0e5 | |||
| f3c4f208d0 | |||
| 4afa0aaa3c | |||
| 6125d3418f | |||
| 13f5a4322b | |||
| 5462bf1ca0 | |||
| fc097b3e0f | |||
| 895073d765 | |||
| df7305a5d9 | |||
| b3e69cd9ac | |||
| 385eb90c8c | |||
| 9f5a5450af | |||
| 416704fb4e | |||
| 6519cea9cf | |||
| ac05e5ff17 | |||
| 9b94df5dbb | |||
| 9a7bf4af0f | |||
| 2b7ae8e204 | |||
| 8ea62a1661 | |||
| 32da4e319b | |||
| 710171f92b | |||
| 0bb3c59620 | |||
| 5d934be7b0 | |||
| 3256ef3e24 | |||
| 178b888aa0 | |||
| e9e1a3b4ae | |||
| 781d0a8091 | |||
| 9aef57dfb7 | |||
| 74c48a881d | |||
| a00b43375a | |||
| 3b9442f7b2 | |||
| 373c84e472 | |||
| 1e92abb177 | |||
| e73306ba8b | |||
| 16235cb6f7 | |||
| d023327f98 | |||
| 65a3269835 | |||
| 6b17cda137 | |||
| b5628131ba | |||
| f052f61fb7 | |||
| 67f4919ffe | |||
| 36b7f01a8a | |||
| 81d073d5a1 | |||
| eae173ec13 | |||
| a823bab365 | |||
| 3738ec90ec | |||
| cd3225d845 | |||
| 42c9d7d28c | |||
| e94ba1f7c0 | |||
| b727f9666b | |||
| 208620198c | |||
| cc1642096e | |||
| a7b767a47b | |||
| 7966f9111d | |||
| 2d0e978c94 | |||
| 905f3d8e7b | |||
| 231015ef89 | |||
| d9bed11501 | |||
| 5e8013601a | |||
| 137a548b04 | |||
| 4d44820163 | |||
| 0897a0be17 | |||
| 9a92524a47 | |||
| 5a129cea11 | |||
| ac0e49996a | |||
| 83e6cfb294 | |||
| 7bb92acd50 | |||
| 3c30e1e3dd | |||
| f8704c0a0d | |||
| a1db59a583 | |||
| a9ea277e56 | |||
| f1f5b91a85 | |||
| 662b926630 | |||
| 4c7343088b | |||
| 5f197023db | |||
| 3400e5a12b | |||
| 4df3d09b01 | |||
| 20bf3a19cd | |||
| c3ac62b173 | |||
| 24185bca42 | |||
| ccb36aa652 | |||
| 5737abf0ed | |||
| 0bed0c35f3 | |||
| c400916e33 | |||
| 3d77b8a0b9 | |||
| 7dc8632514 | |||
| 34d3629ebf | |||
| 087f0e066a | |||
| 093d40eec2 | |||
| 630a65462f | |||
| 0543350d44 | |||
| 12f9afe622 | |||
| fe00ab4e91 | |||
| be4ed54023 | |||
| f227cc081e | |||
| 669c9770cd | |||
| d28ad6aa78 | |||
| 308c21dd43 | |||
| c16b28efad | |||
| 32dcf9e51e | |||
| 5aef8156b5 | |||
| 76e12cd4a9 | |||
| 84bf47b5b9 | |||
| b78009e28a | |||
| f45f5e625d | |||
| 3e76e70d83 | |||
| 877c691ef5 | |||
| f03efbc27f | |||
| 20be007f5b | |||
| f989d5b434 | |||
| 878550d519 | |||
| 022e0200df | |||
| bed444ff90 | |||
| e9e4ada55f | |||
| 0e3f3efcaa | |||
| a69e8548b3 | |||
| 4a459b0217 | |||
| 7b6fb95897 | |||
| c292e01b00 | |||
| 1bde6bb3c4 | |||
| 4d3b16da38 | |||
| 7e8465bec8 | |||
| e3b9dfc959 | |||
| 8fc5f6ed53 | |||
| da991262a3 | |||
| 15081ed9ef | |||
| 0d315c3a4e | |||
| bdf171e3ec | |||
| 196f293a27 | |||
| c0c7f3ae15 | |||
| a56cad71c0 | |||
| 2cbc7eea95 | |||
| 52677309c5 | |||
| ea7fae97bd | |||
| c62a423909 | |||
| 950166da7b | |||
| 0668d234f0 | |||
| c92a596cb9 | |||
| e659ddd849 | |||
| cf5357856c | |||
| 33e6088a16 | |||
| 2c769dc136 | |||
| da3c9bb3c5 | |||
| a05010503f | |||
| 03788d14fb | |||
| 6ddb0e0974 | |||
| 19efdf9eeb | |||
| af8d8cda7d | |||
| d554efae81 | |||
| 09aae7be45 | |||
| 1dc54608a1 | |||
| c63052cf19 | |||
| fb4e6834c1 | |||
| ebc04e5212 | |||
| 71d361aac7 | |||
| ef3fb05d66 | |||
| eebf713311 | |||
| 9ef8a7ea80 | |||
| e369e8fb4a | |||
| 92b4db6992 | |||
| 7c6b35cf95 | |||
| cec37747b7 | |||
| b4b63adb50 | |||
| b30c7e330b | |||
| 436b2ccb5a | |||
| 3c7b09ace9 | |||
| a3bc7ccd71 | |||
| 4885c7962d | |||
| 56f16bc883 | |||
| 98d1ea5ae7 | |||
| 755f925ad9 | |||
| 3ad29d2d2a | |||
| d69c231e24 | |||
| 38440153b5 | |||
| 0e782e7ee5 | |||
| 98f30b6dbe | |||
| b9662fbe36 | |||
| 12b33eb8c1 | |||
| 225e2609fa | |||
| bf774acf1d | |||
| e5546128ea | |||
| fbda0f04db | |||
| b2bad5a030 | |||
| eb54e427e6 | |||
| c6fd4d2ad3 | |||
| 6722624dfc | |||
| 55be6dda10 | |||
| 0052f9d03a | |||
| 6dbddf852c | |||
| f5787c9e50 | |||
| d9292cec6a | |||
| 4623f3f2b2 | |||
| 623c338917 | |||
| 4a280c629f | |||
| 355eb765ff | |||
| eed34d3e8b | |||
| bc0fb51d22 | |||
| 9457d6be52 | |||
| 93d2dcad2d | |||
| 0e6851c893 | |||
| ebbefa6030 | |||
| df6db1c64b | |||
| 6874bc39de | |||
| 798ce03ae3 | |||
| 29a8193eb2 | |||
| 27c67295c7 | |||
| 197464bc4b | |||
| 95f290d9e3 | |||
| 5a47c01b11 | |||
| 1c8401be25 | |||
| 50c395df59 | |||
| be7a5b0ca2 | |||
| 3a5ba57f5e | |||
| 8f4f0e00ec | |||
| 4c6c7d1088 | |||
| 52f3fd359e | |||
| 57adbc6eb1 | |||
| b3fbcdf66e | |||
| 24f093359a | |||
| df1e8913f3 | |||
| dfb93166bb | |||
| fa92663214 | |||
| 1bd842097b | |||
| 04ee26726a | |||
| 62f23123cb | |||
| 7be203dd23 | |||
| 7be4706552 | |||
| 0faf2a0c6f | |||
| 6e92d9a359 | |||
| 9031bb7ba7 | |||
| 023d6b6996 | |||
| f893a29b22 | |||
| c83d1a8dc4 | |||
| 438bf2c9b1 | |||
| fd6025321c | |||
| 2c0c521e2f | |||
| e076d8934b | |||
| e25984d781 | |||
| e5b898f6cb | |||
| 673b144a4c | |||
| 63b0e99f6c | |||
| 0848622799 | |||
| 8459e33bbc | |||
| 59dba6cfcd | |||
| 2453c303e6 | |||
| adeb065c5e | |||
| 6075fed849 | |||
| f9afeb6feb | |||
| f8f77cb288 | |||
| c5c8946779 | |||
| cb8bf380e9 | |||
| 27ee975e86 | |||
| 705149a3e0 | |||
| 22ee7f745d | |||
| cdd83ab1ce | |||
| f18b1859db | |||
| f0efaf7913 | |||
| e8ba0f8781 | |||
| 4875eef116 | |||
| cca93ca3f3 | |||
| 3aeefaa75d | |||
| 5e83d2bc8f | |||
| 8f1d3ad19f | |||
| 748e097228 | |||
| e594ac1697 | |||
| 44bd077aff | |||
| 7c90a4077f | |||
| d918139f36 | |||
| 8c7774289c | |||
| fb44c349e1 | |||
| af084014f0 | |||
| e6002b9155 | |||
| f34e07ae27 | |||
| 5204f0a914 | |||
| 68d4710785 | |||
| 4efa545a46 | |||
| 2e85a63a0a | |||
| 46e6a40c10 | |||
| f256ce9870 | |||
| 2099545078 | |||
| 1deb5843eb | |||
| 941fbcbf1b | |||
| 4a49ea3599 | |||
| 55fc8fe0b0 | |||
| dd16a575e7 | |||
| 494c4d8dfe | |||
| 668a3ef450 | |||
| da6d039666 | |||
| e7bfeb687b | |||
| 067be2baa1 | |||
| 559e8de5de | |||
| dd3a190436 | |||
| f0236acbc6 | |||
| a01d05a261 | |||
| 0fb7eab591 | |||
| 1762d114d3 | |||
| 97c9f06c91 | |||
| 652f3ba379 | |||
| 794def924c | |||
| 9510d749e1 | |||
| 917f699cc7 | |||
| a08b6ac8e2 | |||
| 347f0899b7 | |||
| 051f928fd2 | |||
| 938fc44637 | |||
| f338697b96 | |||
| 0f4f32cfc2 | |||
| 25474414cf | |||
| bca23902f5 | |||
| 4f5c0b4a6b | |||
| 08f5cb11b4 | |||
| c285dbd372 | |||
| b508245451 | |||
| 17cd0af9c1 | |||
| a1758a7ab0 | |||
| 2b5727310c | |||
| bd8b8919f9 | |||
| 5be3d67ced | |||
| 5c5c1c64fd | |||
| f257eb6f9d | |||
| 2e38ddaa9b | |||
| 81bf2293df | |||
| 4ecd289fa1 | |||
| d617135d38 | |||
| 0fade1b64c | |||
| b52a7f4f86 | |||
| 7ca9b98766 | |||
| e75dafa475 | |||
| e6d4aeb272 | |||
| d059fefec5 | |||
| dee8f44b37 | |||
| f2822db9dd | |||
| 334bfedfd4 | |||
| 4a6b582777 | |||
| 2652a1ddfa | |||
| 3fb99a017d | |||
| 264a31b95d | |||
| 118bb19ff8 | |||
| af36cc7f93 | |||
| f7fccb5963 | |||
| b40a30b11b | |||
| b21c1dd5e8 | |||
| 3401f287b4 | |||
| 2a6ad97150 | |||
| 212ce3a8ac | |||
| 9a6d290871 | |||
| a61ab37b67 | |||
| e8889fd107 | |||
| 3c2a287eea | |||
| 979db74ca5 | |||
| 94aa43d857 | |||
| db63fcffb5 | |||
| dbd6defe9a | |||
| 270693fc92 | |||
| 46a9eea0f6 | |||
| c9fdfce34e | |||
| bdccd7cb0c | |||
| 99258a38ae | |||
| 69fa333e25 | |||
| adf3aece6f | |||
| b49da12dad | |||
| 9aa34f1e20 | |||
| 18f39ab6fa | |||
| 4d91bcc2d7 | |||
| c2c31677a3 | |||
| f0846134b7 | |||
| 2dabafe691 | |||
| 9a3e651656 | |||
| 5d6af06a73 | |||
| a2136933af | |||
| 5a9fac2a63 | |||
| 6885200c8b | |||
| 7ab209d545 | |||
| 293ca0fcbb | |||
| a1df8fd154 | |||
| 1f54860401 | |||
| 8f1e6d792f | |||
| 78fc89352b | |||
| c2cd191676 | |||
| c759a7a095 | |||
| f37bd75925 | |||
| 83ecf26833 | |||
| 8df2f8095e | |||
| 0f7a5386b9 | |||
| 06c92d4a4a | |||
| ff954c5b73 | |||
| 092600d163 | |||
| 6344b19600 | |||
| a4ea286731 | |||
| 2be1a8ea76 | |||
| d0171eeff3 | |||
| c616930b71 | |||
| d1935c0590 | |||
| 676efbb0df | |||
| 06a92f61a8 | |||
| 43e2dfe2bf | |||
| a8f0721a6f | |||
| 89ac1ea5a9 | |||
| c973b95909 | |||
| 51e0e40123 | |||
| 8e206be7c8 | |||
| db7e81612a | |||
| 92bd18c45a | |||
| ec3d1006b3 | |||
| e0b9766087 | |||
| 681538a20c | |||
| a9bd54423c | |||
| 2983309006 | |||
| fff5fa53ff | |||
| 1cdf1c7cf0 | |||
| 16f878e882 | |||
| 4e2ee58ac5 | |||
| 93ec91e862 | |||
| 4b80f250fb | |||
| 187d5fa418 | |||
| a05be16998 | |||
| 02919c47ce | |||
| 5bab3bbc33 | |||
| 277e1df0af | |||
| ed9eb4624c | |||
| b12dced470 | |||
| 355a45b435 | |||
| 9f58d4e481 | |||
| 691f266441 | |||
| 3cbcfce9d1 | |||
| 01a2ab3756 | |||
| 1e8f2cc170 | |||
| 3da8d20cd6 | |||
| e804849486 | |||
| fd2ca12e9e | |||
| 08ad9eb15f | |||
| 8d9570b6f7 | |||
| 4ac0bc8d3e | |||
| 9fb489ac3e | |||
| f7f3aef17e | |||
| 34df727c98 | |||
| 1a062bb628 | |||
| a212a5bec8 | |||
| e62215718c | |||
| c08e3258cb | |||
| c51225577b | |||
| dd8fb524df | |||
| 82c4d7b280 | |||
| 0f3c3ca600 | |||
| ecd7f1d11e | |||
| 829bc02bf2 | |||
| 52bc07bc84 | |||
| 83235fb96b | |||
| 6ce77652c6 | |||
| 8782bff8ef | |||
| a232f9c575 | |||
| b4f1804e48 | |||
| 62c88dfb6e | |||
| 5b59490928 | |||
| 25241ae222 | |||
| 01fdfa3ab6 | |||
| 50b35939de | |||
| 14190de9e8 | |||
| c0f2bf3077 | |||
| 5d03598b99 | |||
| 63e43819b3 | |||
| a0abcb9f53 | |||
| 93cc664254 | |||
| 27866e65fb | |||
| 8b851258e2 | |||
| 6c1bf756d3 | |||
| c23806e1f6 | |||
| 0cc23b2363 | |||
| 179323819b | |||
| 3d55429443 | |||
| 697ae5e2ca | |||
| 2c12e70cfe | |||
| 5b6f5cb06b | |||
| abc5cfd38c | |||
| e286470432 | |||
| 3722c1e67a | |||
| 88683b767b | |||
| 83b34e2f48 | |||
| 22633e0dc0 | |||
| 9152d0f939 | |||
| 754410f2af | |||
| f2887e9b45 | |||
| b496ead7b3 | |||
| 52d87f5f08 | |||
| 7bd206b9e7 | |||
| bd82d90faf | |||
| 66d06afd6c | |||
| c4b0825c5e | |||
| 0e1e9c1773 | |||
| bea6735395 | |||
| 2d69072a09 | |||
| c17423e475 | |||
| 00cafd7022 | |||
| 86512e84be | |||
| d28584f3d0 | |||
| 162f4bf5dd | |||
| 56b80c0a4c | |||
| ee79d8ba95 | |||
| f858baea93 | |||
| a33e5c67f3 | |||
| 62038f1d03 | |||
| 342e846f28 | |||
| c32ae5979f | |||
| e47aaa8ff0 | |||
| 31d8fcd3fd | |||
| 4c2cff5e7c | |||
| 7a6f40fcbf | |||
| fd8b8084ee | |||
| b24fbc74c3 | |||
| 2871db159d | |||
| 8b4c1c1652 | |||
| 1388cccbc7 | |||
| ddad8f00c6 | |||
| b74e407806 | |||
| 557272fa39 | |||
| 7b36ffc1e5 | |||
| 963b524722 | |||
| d89585fb71 | |||
| db3c1d9ccf | |||
| d90dfb0a08 | |||
| 48bda9e051 | |||
| a35f0b650a | |||
| 009bf3b67f | |||
| fd3936cc59 | |||
| 1f8ad1e46a | |||
| 1ffb32b78f | |||
| 423e203399 | |||
| 26dfda0c01 | |||
| 6289eeb55e | |||
| 54f8a45325 | |||
| d34f381301 | |||
| 5da7554a3b | |||
| 70e337afd0 | |||
| 1742978858 | |||
| ee0b200fbe | |||
| 75ad8b0d46 | |||
| f2e3176708 | |||
| 71cac86634 | |||
| 174d3af7a6 | |||
| c8dfc3ccaa | |||
| fdc9e4448f | |||
| d8a8a1c622 | |||
| 834be77c1d | |||
| 39c143989c | |||
| 65dfdd56da | |||
| 6a4ce66f6e | |||
| 1e9ed989d3 | |||
| 5811e53e82 | |||
| 3bd82b7679 | |||
| 9eee0fb483 | |||
| bceb5f2eb4 | |||
| df611f9bc1 | |||
| 3da0ee4f73 | |||
| 6290f999e2 | |||
| 722c844ea7 | |||
| 5f44556f47 | |||
| d521fca7ef | |||
| 67a607b88c | |||
| 79939f2f1c | |||
| 3f1ee01507 | |||
| 450f19bd79 | |||
| 15ad5a00d1 | |||
| ee46c04295 | |||
| 5a197b4ff1 | |||
| 0729d6e600 | |||
| 2e64f63975 | |||
| f5150f26a8 | |||
| 6d0ff02864 | |||
| f820e3049a | |||
| a52c99524d | |||
| bc85118c51 | |||
| f49eccee72 | |||
| 6588be675f | |||
| 20192c0848 | |||
| 0c0d8fe89d | |||
| 826d3685a1 | |||
| 46ec14afa8 | |||
| 3462afdbcf | |||
| db120ff55b | |||
| 6ff0284a51 | |||
| 5657c7d05b | |||
| 560642c585 | |||
| eaf273a207 | |||
| 82e0274846 | |||
| 967992cc96 | |||
| f4e8b7efaa | |||
| 2906f1c100 | |||
| fe2b72035f | |||
| 1497ae0451 | |||
| eb32e49327 | |||
| 7bc4dc32ac | |||
| 80705c8cd0 | |||
| 9b6458f082 | |||
| a11f2d2e5e | |||
| d8222c0175 | |||
| bd4ea9a028 | |||
| 930f30ac35 | |||
| 8fb54e801f | |||
| 7e01771395 | |||
| b9ee4e79c3 | |||
| 0229463f7b | |||
| 41f094d131 | |||
| 668de6d81f | |||
| 9df1a1774f | |||
| 903fa59056 | |||
| 65d7e7c1dd | |||
| 62cf993904 | |||
| e80b24e906 | |||
| 257ca17b34 | |||
| 4719d733ef | |||
| 49356c3dd7 | |||
| eb9d063040 | |||
| 58e12063c7 | |||
| 2ae9ff5446 | |||
| bae37e30ea | |||
| 7755f0e0c7 | |||
| 34eeca1f03 | |||
| 01e2ed3034 | |||
| 2044bf32d3 | |||
| 2356f89f27 | |||
| 8771551162 | |||
| 9372ae3ddc | |||
| d3ad50dcb4 | |||
| 7c403fcd9b | |||
| 1fb5f7c6e0 | |||
| a0bc61f9de | |||
| 0d98d73870 | |||
| b0fa54ac41 | |||
| 0c79a9a82e | |||
| 8e5a8145b2 | |||
| 92132e8e18 | |||
| 9f76c9225c | |||
| df534acd24 | |||
| 96275d52f5 | |||
| 424df36766 | |||
| a2686bf4f4 | |||
| 688e508175 | |||
| ed47c91453 | |||
| b10bfacf67 | |||
| 1c2f9b54c6 | |||
| 14b5947ed9 | |||
| 7f3c0ca81e | |||
| af29f112ab | |||
| 883967160c | |||
| da6bf57a3f | |||
| bd4a954ff4 | |||
| 1ba8adbd85 | |||
| 5ce9a2ab36 | |||
| 5431e6c61a | |||
| 07b6bb3dbd | |||
| 653810b834 | |||
| 2bb63d8559 | |||
| 896e90654f | |||
| cffa567929 | |||
| be3d7b7e69 | |||
| bdc39ffcc7 | |||
| df6b9e2840 | |||
| 04f1fe1751 | |||
| 548872ce8e | |||
| a942bd6590 | |||
| 59540530bc | |||
| ebd9ec96c4 | |||
| f9e20b8a1d | |||
| f04855c29d | |||
| e2945f02b7 | |||
| 909d3b31db | |||
| 544737c864 | |||
| 9398ad08db | |||
| d2465e8291 | |||
| 0e34d199fb | |||
| a5aa5bca77 | |||
| 6421af5dcb | |||
| aba6307d13 | |||
| 36982ab5f4 | |||
| 3857b4b65b | |||
| dac9ea86d3 | |||
| 0d0f6cf3b8 | |||
| dc1fedf920 | |||
| 7932d5fa95 | |||
| 8d57468ee5 | |||
| 6b4a14ce4a | |||
| 031a0b553b | |||
| 257eedca0c | |||
| adc76e3814 | |||
| 3e150bf303 | |||
| 7e3a73558e | |||
| a924d43bdd | |||
| c822033bee | |||
| 0f4852450c | |||
| b1186968e8 | |||
| 7a98649764 | |||
| bb6fe263e7 | |||
| 5a5a8662a6 | |||
| 24d5645676 | |||
| ef84329a81 | |||
| 88a51531cf | |||
| ac1cab288d | |||
| afc80b89ec | |||
| 8242dca57b | |||
| e398331b38 | |||
| 8dea350a62 | |||
| d0fa08d58d | |||
| e8072934f2 | |||
| 6b10454271 | |||
| 80bf54b2a7 | |||
| e11650c3c7 | |||
| 7f5dfebf7d | |||
| f787044642 | |||
| d45b2e70dc | |||
| d726b16f5f | |||
| 448ee5105d | |||
| effcb942ce | |||
| 6e5828e4a8 | |||
| 7aafc62bf7 | |||
| 6ebd178f28 | |||
| 04da953c71 | |||
| 001878112a | |||
| c6bb4d25f3 | |||
| 0fbf3325e1 | |||
| 3e266650c2 | |||
| ab2cfb8639 | |||
| fea3e51ccd | |||
| 664cdcfb36 | |||
| 48c7318627 | |||
| 31111c645f | |||
| 4eba525bba | |||
| c931b40e4b | |||
| 34a56281ac | |||
| 6351a4a484 | |||
| f079b83dd9 | |||
| 70435784ec | |||
| 0bd4fdbe5b | |||
| 3d5bd034c5 | |||
| d14731beef | |||
| b5a5801f7a | |||
| 737573cee5 | |||
| 1c62b003ad | |||
| 6cabcec51d | |||
| 38328b9394 | |||
| c798975de6 | |||
| 5b6bf2a826 | |||
| bee5054077 | |||
| a586356164 | |||
| 9fb4ecec62 | |||
| 4e3097b5e7 | |||
| 584210bd1f | |||
| 2b761f2f8a | |||
| 71cf7f9db1 | |||
| b495aa0987 | |||
| 17fa25e5af | |||
| 27876c6421 | |||
| 960af2d6e8 | |||
| 3d01cf28d6 | |||
| a7ea70c77a | |||
| 0c33438063 | |||
| 33bbb36dc4 | |||
| 5586947499 | |||
| 137b5434d7 | |||
| 7679c8e0f0 | |||
| a5e4416a14 | |||
| c100dd1f81 | |||
| 036d710776 | |||
| 851892b464 | |||
| 0bf3f1ed61 | |||
| e5a46b464d | |||
| ededa5ddda | |||
| e2e321fc20 | |||
| a6d0112d86 | |||
| 04ced693e8 | |||
| 85937f3f4c | |||
| ec082429ab | |||
| 7c5334ca0e | |||
| 69eaca2c6d | |||
| cf0522203d | |||
| 0c5dfddd64 | |||
| a40ba4ad11 | |||
| a33e842908 | |||
| e8eee6dd8a | |||
| 342e5abe5e | |||
| d7465efbb0 | |||
| 9e5ff5e4e6 | |||
| ff88cb1ac3 | |||
| b81b51f98b | |||
| a94bac81f3 | |||
| 55a951a718 | |||
| 0108615f37 | |||
| 82300f4f1e | |||
| ddf3b76c83 | |||
| c2ed251ca6 | |||
| eaad16edad | |||
| cea1beeac5 | |||
| 59e4f560d6 | |||
| 99652baa96 | |||
| 175b48a4e0 | |||
| 0ae00e881e | |||
| 0bbd4f1f26 | |||
| b0f9f47e9a | |||
| e35a33d562 | |||
| e1bbdadc95 | |||
| b2c71747cd | |||
| 1246c3adb9 | |||
| da155b3d12 | |||
| 7629dfb8af | |||
| ca45a60ff2 | |||
| c1c76a05f5 | |||
| 43196abc5d | |||
| f063190889 | |||
| 24a866baea | |||
| f5b4eb3f1e | |||
| 60793c552f | |||
| 6114c34988 | |||
| 5ec5d0eae3 | |||
| 551e845e56 | |||
| f896bb8431 | |||
| 5a01e98d3c | |||
| 6c12afa996 | |||
| 501745630b | |||
| a7b8d0cf0d | |||
| b3b3642fe2 | |||
| 8740404e4e | |||
| 3f12ef8530 | |||
| cf945dda0c | |||
| 2589d367cc | |||
| 7af9953463 | |||
| b5c25efed4 | |||
| 61ac6c3f0b | |||
| f848eb81e8 | |||
| e08e3da244 | |||
| 8584fcc1ea | |||
| f9f5d5fcbd | |||
| 2dcb7cab72 | |||
| be8bebaa38 | |||
| c97f8e5c62 | |||
| 330f985da6 | |||
| ddc695a296 | |||
| 0d696ee36f | |||
| 2e0f13d92a | |||
| 330c62ae10 | |||
| f84209ceeb | |||
| fc7794a12c | |||
| bbba94ed8f | |||
| bc47f8cc25 | |||
| 2ed1111d83 | |||
| fa5535660b | |||
| 0ae2398061 | |||
| ff39bba2fa | |||
| af46cbffe8 | |||
| 3865563551 | |||
| 6d6bd5eee0 | |||
| 61ede99832 | |||
| a69855f7e4 | |||
| 769f18f2f6 | |||
| 9bfbdb598d | |||
| 1dc05e4066 | |||
| cf29574165 | |||
| ef39e05bb5 | |||
| 764a439a8c | |||
| 270272eb61 | |||
| 820b8e706e | |||
| eae6b35dab | |||
| 454364ccb8 | |||
| 0aeb69b5ad | |||
| 7b552bd299 | |||
| 8dd1a24504 | |||
| d8da9b51e2 | |||
| 22b1db6980 | |||
| 01f61263f8 | |||
| 89a4c2c61f | |||
| f679fbd359 | |||
| fbbb5bc616 | |||
| f8183e187b | |||
| 0b3b7f93b7 | |||
| 8ca0761fb0 | |||
| 61e48acf67 | |||
| 676eb110c7 | |||
| 33a43ffc07 | |||
| 9557da45df | |||
| 89aac5393a | |||
| 3b80a42aa0 | |||
| acc57bda6d | |||
| fd41399961 | |||
| 8833be159b | |||
| 425162db93 | |||
| ee2731af44 | |||
| 414aa56287 | |||
| 1afdbaad1a | |||
| 2bb805e2e0 | |||
| 4b2d426a20 | |||
| f955248044 | |||
| 354e9bd187 | |||
| cceffff659 | |||
| 7422411b24 | |||
| ae0be6f8b4 | |||
| 37b4500513 | |||
| 937590d2b1 | |||
| 2701555582 | |||
| babce03fbd | |||
| 5d65d6c3d3 | |||
| 6b4b49cf8f | |||
| 835ff5ec83 | |||
| 9b1499fd1e | |||
| 86d4ca9b50 | |||
| 7cebee25ff | |||
| bbdb9512f3 | |||
| c98308c499 | |||
| 0ea263129a | |||
| 56698000fa | |||
| cff081c6db | |||
| 7221782940 | |||
| c3a66c3275 | |||
| cae73ff493 | |||
| dbe4a0c6a3 | |||
| ed63e94914 | |||
| fd583308aa | |||
| f20160f3bb | |||
| c771aad44f | |||
| 7e6691e999 | |||
| dec2d7206e | |||
| 7db63c2685 | |||
| 4c8518899a | |||
| 91f5cb7e2f | |||
| 4dff61eb32 | |||
| 15209c3895 | |||
| 9938fa14b1 | |||
| 4b64e34fc2 | |||
| c7944c0e01 | |||
| c87b6f6369 | |||
| 9a0677eafd | |||
| b74056563f |
+15
-14
@@ -1,9 +1,14 @@
|
|||||||
*~
|
*~
|
||||||
|
*.o
|
||||||
|
/lbmk.err.log
|
||||||
|
/docs/
|
||||||
|
/cbutils/
|
||||||
|
/pciroms/
|
||||||
|
/util/dell-flash-unlock/dell_flash_unlock
|
||||||
/TODO
|
/TODO
|
||||||
/ich9utils/
|
/ec/
|
||||||
/tmp/
|
/tmp/
|
||||||
/payload/
|
/elf/
|
||||||
/me_cleaner/
|
|
||||||
*.s[a-w]?
|
*.s[a-w]?
|
||||||
*.vim
|
*.vim
|
||||||
/*.elf
|
/*.elf
|
||||||
@@ -11,20 +16,16 @@
|
|||||||
/*.rom
|
/*.rom
|
||||||
/build_error
|
/build_error
|
||||||
/TODO/
|
/TODO/
|
||||||
/docs/version
|
/config/*/*/seen
|
||||||
/bucts/
|
|
||||||
/coreboot/
|
|
||||||
/crossgcc/
|
|
||||||
/depthcharge/
|
|
||||||
/flashrom/
|
|
||||||
/resources/coreboot/*/seen
|
|
||||||
/grub/
|
|
||||||
/memtest86plus/
|
|
||||||
/seabios/
|
|
||||||
/bin/
|
/bin/
|
||||||
/release/
|
/release/
|
||||||
/descriptors/
|
|
||||||
/*.bin
|
/*.bin
|
||||||
/push
|
/push
|
||||||
/version
|
/version
|
||||||
/versiondate
|
/versiondate
|
||||||
|
/vendorfiles/
|
||||||
|
*me.bin
|
||||||
|
*sch5545ec.bin
|
||||||
|
/mrc/
|
||||||
|
/util/nvmutil/nvm
|
||||||
|
/src/
|
||||||
|
|||||||
@@ -1,71 +0,0 @@
|
|||||||
#
|
|
||||||
# Makefile for compatibility purposes
|
|
||||||
# You can use this, but it's recommended to run build system commands directly
|
|
||||||
#
|
|
||||||
# See docs/maintain/ and docs/git/ for information about the build system
|
|
||||||
#
|
|
||||||
# Copyright (C) 2020, 2021 Leah Rowe <info@minifree.org>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
.PHONY: all download modules ich9m-descriptors payloads roms release clean \
|
|
||||||
crossgcc-clean install-dependencies-ubuntu install-dependencies-debian \
|
|
||||||
install-dependencies-arch install-dependencies-void
|
|
||||||
|
|
||||||
all: roms
|
|
||||||
|
|
||||||
download:
|
|
||||||
./download all
|
|
||||||
|
|
||||||
modules:
|
|
||||||
./build module all
|
|
||||||
|
|
||||||
ich9m-descriptors:
|
|
||||||
./build descriptors ich9m
|
|
||||||
|
|
||||||
payloads:
|
|
||||||
./build payload all
|
|
||||||
|
|
||||||
roms:
|
|
||||||
./build boot roms all
|
|
||||||
|
|
||||||
release:
|
|
||||||
./build release src
|
|
||||||
./build release roms
|
|
||||||
|
|
||||||
clean:
|
|
||||||
./build clean cbutils
|
|
||||||
./build clean flashrom
|
|
||||||
./build clean ich9utils
|
|
||||||
./build clean payloads
|
|
||||||
./build clean seabios
|
|
||||||
./build clean grub
|
|
||||||
./build clean memtest86plus
|
|
||||||
./build clean rom_images
|
|
||||||
|
|
||||||
crossgcc-clean:
|
|
||||||
./build clean crossgcc
|
|
||||||
|
|
||||||
install-dependencies-ubuntu:
|
|
||||||
./build dependencies ubuntu2004
|
|
||||||
|
|
||||||
install-dependencies-debian:
|
|
||||||
./build dependencies debian
|
|
||||||
|
|
||||||
install-dependencies-arch:
|
|
||||||
./build dependencies arch
|
|
||||||
|
|
||||||
install-dependencies-void:
|
|
||||||
./build dependencies void
|
|
||||||
@@ -1,109 +1,85 @@
|
|||||||
Free your BIOS today! GNU GPL style
|
Libreboot
|
||||||
===================================
|
=========
|
||||||
|
|
||||||
Find libreboot documentation at <https://libreboot.org/>
|
Find libreboot documentation at <https://libreboot.org/>
|
||||||
|
|
||||||
Libreboot is
|
The `libreboot` project provides
|
||||||
[freedom-respecting](https://www.gnu.org/philosophy/free-sw.html)
|
[libre](https://libreboot.org/freedom-status.html) *boot
|
||||||
*boot firmware* that initializes the hardware (e.g.
|
firmware* that initializes the hardware (e.g. memory controller, CPU,
|
||||||
memory controller, CPU, peripherals) in your computer so that software can run.
|
peripherals) on specific Intel/AMD x86 and ARM targets, which
|
||||||
Libreboot then starts a bootloader to load your operating system. It replaces the
|
then starts a bootloader for your operating system. Linux/BSD are
|
||||||
proprietary BIOS/UEFI firmware typically found on a computer. Libreboot is
|
well-supported. It replaces proprietary BIOS/UEFI firmware. Help is available
|
||||||
compatible with specific computer models that use the Intel/AMD x86
|
via [\#libreboot IRC](https://web.libera.chat/#libreboot)
|
||||||
architecture. Libreboot works well with GNU+Linux and BSD
|
on [Libera](https://libera.chat/) IRC.
|
||||||
operating systems. User support is available
|
|
||||||
at [\#libreboot](https://webchat.freenode.net/?channels=libreboot) on Freenode
|
|
||||||
IRC.
|
|
||||||
|
|
||||||
Libreboot is a *Free Software* project, but can be considered Open Source.
|
|
||||||
[The GNU website](https://www.gnu.org/philosophy/open-source-misses-the-point.en.html)
|
|
||||||
teaches why you should call it Free Software instead; alternatively, you may
|
|
||||||
call it libre software.
|
|
||||||
|
|
||||||
Libreboot uses [coreboot](https://www.coreboot.org/) for hardware initialization.
|
|
||||||
However, *coreboot* is notoriously difficult to compile and install for most
|
|
||||||
non-technical users. There are many complicated configuration steps required,
|
|
||||||
and coreboot by itself is useless; coreboot only handles basic hardware
|
|
||||||
initialization, and then jumps to a separate *payload* program. The payload
|
|
||||||
program can be anything, for example a Linux kernel, bootloader (such as
|
|
||||||
GNU GRUB), UEFI implementation (such as Tianocore) or BIOS implementation
|
|
||||||
(such as SeaBIOS). While not quite as complicated as building a GNU+Linux
|
|
||||||
distribution from scratch, it may aswell be as far as most non-technical users
|
|
||||||
are concerned.
|
|
||||||
|
|
||||||
Libreboot solves this problem in a novel way:
|
|
||||||
Libreboot is a *coreboot distribution* much like Debian is a *GNU+Linux
|
|
||||||
distribution*. Libreboot provides an *automated build system* that downloads,
|
|
||||||
patches (where necessary) and compiles coreboot, GNU GRUB, various payloads and
|
|
||||||
all other software components needed to build a complete, working *ROM image*
|
|
||||||
that you can install to replace your current BIOS/UEFI firmware, much like a
|
|
||||||
GNU+Linux distribution (e.g. Debian) provides an ISO image that you can use to
|
|
||||||
replace your current operating system (e.g. Windows).
|
|
||||||
|
|
||||||
Information about who works on Libreboot, and who runs the project, can be
|
|
||||||
found on the [who page](https://libreboot.org/who.html) page.
|
|
||||||
|
|
||||||
Why use Libreboot?
|
Why use Libreboot?
|
||||||
==================
|
==================
|
||||||
|
|
||||||
[Free software](https://www.gnu.org/philosophy/free-sw.html) is important for
|
Why should you use *libreboot*?
|
||||||
the same reason that education is important.
|
----------------------------
|
||||||
All children and adults alike should be entitled to a good education.
|
|
||||||
Knowledge begs to be free! In the context of computing, this means that the
|
|
||||||
source code should be fully available to study, and use in whatever way you
|
|
||||||
see fit. In the context of computer hardware, this means that
|
|
||||||
[Right to Repair](https://yewtu.be/watch?v=Npd_xDuNi9k)
|
|
||||||
should be universal, with full access to documents such as the schematics and
|
|
||||||
boardview files.
|
|
||||||
|
|
||||||
**[The four freedoms are paramount!](https://www.gnu.org/philosophy/free-sw.html)**
|
Libreboot gives you freedoms that you otherwise can't get with most other
|
||||||
|
boot firmware. It's extremely powerful and configurable for many use cases.
|
||||||
|
|
||||||
You have rights. The right to privacy, freedom of thought, freedom
|
You have rights. The right to privacy, freedom of thought, freedom of speech
|
||||||
of speech and the right to read. In the context of computing, that means anyone
|
and the right to read. In this context, Libreboot gives you these rights.
|
||||||
can use [free software](https://www.gnu.org/philosophy/free-sw.html). Simply
|
Your freedom matters.
|
||||||
speaking, free software is software that is under the direct sovereignty of the
|
[Right to repair](https://vid.puffyan.us/watch?v=Npd_xDuNi9k) matters.
|
||||||
user and, more importantly, the collective that is the *community*. Libreboot
|
Many people use proprietary (non-libre)
|
||||||
is dedicated to the Free Software community, with the aim of making free software
|
boot firmware, even if they use [a libre OS](https://www.openbsd.org/).
|
||||||
at a *low level* more accessible to non-technical people.
|
Proprietary firmware often contains backdoors (more info on the FAQ), and it
|
||||||
|
and can be buggy. The libreboot project was founded in December 2013,
|
||||||
|
with the express purpose of making coreboot firmware accessible for
|
||||||
|
non-technical users.
|
||||||
|
|
||||||
Many people use [proprietary](https://www.gnu.org/philosophy/proprietary.html)
|
The `libreboot` project uses [coreboot](https://www.coreboot.org/) for [hardware
|
||||||
boot firmware, even if they use GNU+Linux. Non-free boot firmware often
|
initialisation](https://doc.coreboot.org/getting_started/architecture.html).
|
||||||
contains backdoors, can be slow and have severe
|
Coreboot is notoriously difficult to install for most non-technical users; it
|
||||||
bugs. Development and support can be abandoned at any time. By contrast,
|
handles only basic initialization and jumps to a separate
|
||||||
Libreboot is a free software project, where anyone can contribute or inspect
|
[payload](https://doc.coreboot.org/payloads.html) program (e.g.
|
||||||
its code.
|
[GRUB](https://www.gnu.org/software/grub/),
|
||||||
|
[Tianocore](https://www.tianocore.org/)), which must also be configured.
|
||||||
|
*The libreboot software solves this problem*; it is a *coreboot distribution* with
|
||||||
|
an automated build system (named *lbmk*) that builds complete *ROM images*, for
|
||||||
|
more robust installation. Documentation is provided.
|
||||||
|
|
||||||
Libreboot is faster, more secure and more reliable than most non-free
|
How does Libreboot differ from coreboot?
|
||||||
firmware. Libreboot provides many advanced features, like encrypted
|
========================================
|
||||||
/boot/, GPG signature checking before booting a Linux kernel and more!
|
|
||||||
Libreboot gives *you* control over *your* computing.
|
In the same way that *Debian* is a GNU+Linux distribution, `libreboot` is
|
||||||
|
a *coreboot distribution*. If you want to build a ROM image from scratch, you
|
||||||
|
otherwise have to perform expert-level configuration of coreboot, GRUB and
|
||||||
|
whatever other software you need, to prepare the ROM image. With *libreboot*,
|
||||||
|
you can literally download from Git or a source archive, and run `make`, and it
|
||||||
|
will build entire ROM images. An automated build system, named `lbmk`
|
||||||
|
(Libreboot MaKe), builds these ROM images automatically, without any user input
|
||||||
|
or intervention required. Configuration has already been performed in advance.
|
||||||
|
|
||||||
|
If you were to build regular coreboot, without using libreboot's automated
|
||||||
|
build system, it would require a lot more intervention and decent technical
|
||||||
|
knowledge to produce a working configuration.
|
||||||
|
|
||||||
|
Regular binary releases of `libreboot` provide these
|
||||||
|
ROM images pre-compiled, and you can simply install them, with no special
|
||||||
|
knowledge or skill except the ability to follow installation instructions
|
||||||
|
and run commands BSD/Linux.
|
||||||
|
|
||||||
Project goals
|
Project goals
|
||||||
-------------
|
=============
|
||||||
|
|
||||||
- *Recommend and distribute only free software*. Coreboot
|
- *Support as much hardware as possible!* Libreboot aims to eventually
|
||||||
distributes certain pieces of proprietary software which is needed
|
have *maintainers* for every board supported by coreboot, at every
|
||||||
on some systems. Examples can include things like CPU microcode
|
point in time.
|
||||||
updates, memory initialization blobs and so on. The coreboot project
|
|
||||||
sometimes recommends adding more blobs which it does not distribute,
|
|
||||||
such as the Video BIOS or Intel's *Management Engine*. However, a
|
|
||||||
lot of dedicated and talented individuals in coreboot work hard to
|
|
||||||
replace these blobs whenever possible.
|
|
||||||
- *Support as much hardware as possible!* Libreboot supports less
|
|
||||||
hardware than coreboot, because most systems from coreboot still
|
|
||||||
require certain proprietary software to work properly. Libreboot is
|
|
||||||
an attempt to support as much hardware as possible, without any
|
|
||||||
proprietary software.
|
|
||||||
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
- *Make coreboot easy to use*. Coreboot is notoriously difficult
|
||||||
to install, due to an overall lack of user-focused documentation
|
to install, due to an overall lack of user-focused documentation
|
||||||
and support. Most people will simply give up before attempting to
|
and support. Most people will simply give up before attempting to
|
||||||
install coreboot.
|
install coreboot. Libreboot's automated build system and user-friendly
|
||||||
|
installation instructions solves this problem.
|
||||||
|
|
||||||
Libreboot attempts to bridge this divide by providing a build system
|
Libreboot attempts to bridge this divide by providing a build system
|
||||||
automating much of the coreboot image creation and customization.
|
automating much of the coreboot image creation and customization.
|
||||||
Secondly, the project produces documentation aimed at non-technical users.
|
Secondly, the project produces documentation aimed at non-technical users.
|
||||||
Thirdly, the project attempts to provide excellent user support via mailing
|
Thirdly, the project attempts to provide excellent user support via IRC.
|
||||||
lists and IRC.
|
|
||||||
|
|
||||||
Libreboot already comes with a payload (GRUB), flashrom and other
|
Libreboot already comes with a payload (GRUB), flashrom and other
|
||||||
needed parts. Everything is fully integrated, in a way where most of
|
needed parts. Everything is fully integrated, in a way where most of
|
||||||
@@ -123,39 +99,25 @@ re-bases on the latest version of coreboot, with the number of custom
|
|||||||
patches in use minimized. Tested, *stable* (static) releases are then provided
|
patches in use minimized. Tested, *stable* (static) releases are then provided
|
||||||
in Libreboot, based on specific coreboot revisions.
|
in Libreboot, based on specific coreboot revisions.
|
||||||
|
|
||||||
Coreboot is not entirely free software. It has binary blobs in it for some
|
How to help
|
||||||
platforms. What Libreboot does is download several revisions of coreboot, for
|
===========
|
||||||
different boards, and *de-blob* those coreboot revisions. This is done using
|
|
||||||
the *linux-libre* deblob scripts, to find binary blobs in coreboot.
|
|
||||||
|
|
||||||
All new coreboot development should be done in coreboot (upstream), not
|
You can check bugs listed on
|
||||||
libreboot! Libreboot is about deblobbing and packaging coreboot in a
|
the [bug tracker](https://codeberg.org/libreboot/lbmk/issues).
|
||||||
user-friendly way, where most work is already done for the user.
|
|
||||||
|
|
||||||
For example, if you wanted to add a new board to libreboot, you should
|
If you spot a bug and have a fix, the website has instructions for how to send
|
||||||
add it to coreboot first. Libreboot will automatically receive your code
|
patches, and you can also report it. Also, this entire website is
|
||||||
at a later date, when it updates itself.
|
written in Markdown and hosted in a [separate
|
||||||
|
repository](https://codeberg.org/libreboot/lbwww) where you can send patches.
|
||||||
|
|
||||||
The deblobbed coreboot tree used in libreboot is referred to as
|
Any and all development discussion and user support are all done on the IRC
|
||||||
*coreboot-libre*, to distinguish it as a component of *libreboot*.
|
channel. More information is on https://libreboot.org/contact.html.
|
||||||
|
|
||||||
A coreboot *fork* is planned for the future. Nowadays, coreboot drops support
|
LICENSE FOR THIS README
|
||||||
for boards that are "unmaintained", which in some cases just means that nobody
|
=======================
|
||||||
submitted a new status update (to the *board-status* repository), so nowadays
|
|
||||||
Libreboot must maintain multiple versions of coreboot. This is unsustainable,
|
|
||||||
so a fork is planned, re-adding all of the deleted boards, backporting newer
|
|
||||||
coreboot features and, possibly, having support for those boards re-merged
|
|
||||||
upstream, where coreboot and the fork will share code back and forth. As of
|
|
||||||
27 April 2021, work on this fork has not yet begun.
|
|
||||||
|
|
||||||
LICENSE FOR THIS README:
|
It's just a README file. This README file is released under the terms of the
|
||||||
GNU Free Documentation License 1.3 as published by the Free Software Foundation,
|
Creative Commons Zero license, version 1.0 of the license, which you can
|
||||||
with no invariant sections, no front cover texts and no back cover texts. If
|
read here:
|
||||||
you wish it, you may use a later version of the GNU Free Documentation License
|
|
||||||
as published by the Free Software Foundation.
|
|
||||||
|
|
||||||
Copy of the GNU Free Documentation License v1.3 here:
|
<https://creativecommons.org/publicdomain/zero/1.0/legalcode.txt>
|
||||||
<https://www.gnu.org/licenses/fdl-1.3.en.html>
|
|
||||||
|
|
||||||
Info about Free Software Foundation:
|
|
||||||
<https://www.fsf.org/>
|
|
||||||
|
|||||||
@@ -1,107 +1,165 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env sh
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
# generic build script, for building components (all of them)
|
# SPDX-FileCopyrightText: 2014,2015,2020,2021,2023 Leah Rowe <leah@libreboot.org>
|
||||||
#
|
# SPDX-FileCopyrightText: 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
||||||
# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org>
|
# SPDX-FileCopyrightText: 2015, 2016 Klemens Nanni <contact@autoboot.org>
|
||||||
# Copyright (C) 2015 Patrick "P. J." McDermott <pj@pehjota.net>
|
# SPDX-FileCopyrightText: 2022, Caleb La Grange <thonkpeasant@protonmail.com>
|
||||||
# Copyright (C) 2015, 2016 Klemens Nanni <contact@autoboot.org>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
[ "x${DEBUG+set}" = 'xset' ] && set -v
|
||||||
set -u -e
|
set -u -e
|
||||||
|
|
||||||
projectname="$(cat projectname)"
|
export LC_COLLATE=C
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
build=./resources/scripts/build
|
. "include/err.sh"
|
||||||
|
. "include/option.sh"
|
||||||
|
|
||||||
listmodes() {
|
eval "$(setvars "" option aur_notice tmpdir)"
|
||||||
for mode in "${build}"/*; do
|
|
||||||
printf '%s\n' "${mode##*/}"
|
tmpdir_was_set="y"
|
||||||
done
|
set | grep TMPDIR 1>/dev/null 2>/dev/null || tmpdir_was_set="n"
|
||||||
|
if [ "${tmpdir_was_set}" = "y" ]; then
|
||||||
|
tmpdir="${TMPDIR##*/}"
|
||||||
|
tmpdir="${TMPDIR%_*}"
|
||||||
|
if [ "${tmpdir}" = "lbmk" ]; then
|
||||||
|
tmpdir=""
|
||||||
|
tmpdir_was_set="n"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "${tmpdir_was_set}" = "n" ]; then
|
||||||
|
export TMPDIR="/tmp"
|
||||||
|
tmpdir="$(mktemp -d -t lbmk_XXXXXXXX)"
|
||||||
|
export TMPDIR="${tmpdir}"
|
||||||
|
else
|
||||||
|
export TMPDIR="${TMPDIR}"
|
||||||
|
fi
|
||||||
|
tmpdir="${TMPDIR}"
|
||||||
|
|
||||||
|
linkpath="${0}"
|
||||||
|
linkname="${linkpath##*/}"
|
||||||
|
buildpath="./script/${linkname}"
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
xx_ id -u 1>/dev/null 2>/dev/null
|
||||||
|
[ $# -lt 1 ] && fail "Too few arguments. Try: ${0} help"
|
||||||
|
if [ "${1}" = "dependencies" ]; then
|
||||||
|
xx_ install_packages $@
|
||||||
|
lbmk_exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
initialise_command $@ && shift 1
|
||||||
|
|
||||||
|
check_git
|
||||||
|
check_project "fail"
|
||||||
|
git_init
|
||||||
|
|
||||||
|
execute_command $@
|
||||||
|
lbmk_exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
# Takes exactly one mode as parameter
|
initialise_command()
|
||||||
listoptions() {
|
{
|
||||||
for option in "${build}"/"${1}"/*; do
|
[ "$(id -u)" != "0" ] || fail "this command as root is not permitted"
|
||||||
printf '%s\n' "${option##*/}"
|
|
||||||
done
|
check_project
|
||||||
|
|
||||||
|
case "${1}" in
|
||||||
|
help)
|
||||||
|
usage ${0}
|
||||||
|
lbmk_exit 0 ;;
|
||||||
|
list)
|
||||||
|
items "${buildpath}"
|
||||||
|
lbmk_exit 0 ;;
|
||||||
|
version)
|
||||||
|
mkversion
|
||||||
|
lbmk_exit 0 ;;
|
||||||
|
esac
|
||||||
|
option="${1}"
|
||||||
}
|
}
|
||||||
|
|
||||||
help() {
|
install_packages()
|
||||||
|
{
|
||||||
|
if [ $# -lt 2 ]; then
|
||||||
|
printf "You must specify a distro, namely:\n" 1>&2
|
||||||
|
printf "Look at files under config/dependencies/\n" 1>&2
|
||||||
|
printf "Example: ./build dependencies debian\n" 1>&2
|
||||||
|
fail "install_packages: target not specified"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -f "config/dependencies/${2}" ] || fail "Unsupported target"
|
||||||
|
|
||||||
|
. "config/dependencies/${2}"
|
||||||
|
|
||||||
|
xx_ ${pkg_add} ${pkglist}
|
||||||
|
[ -z "${aur_notice}" ] && return 0
|
||||||
|
printf "You must install AUR packages: %s\n" "${aur_notice}" 1>&2
|
||||||
|
}
|
||||||
|
|
||||||
|
# release archives contain .gitignore, but not .git.
|
||||||
|
# lbmk can be run from lbmk.git, or an archive.
|
||||||
|
git_init()
|
||||||
|
{
|
||||||
|
[ -L ".git" ] && fail "Reference .git is a symlink"
|
||||||
|
[ -e ".git" ] && return 0
|
||||||
|
eval "$(setvars "$(date -Rd @${versiondate})" cdate _nogit)"
|
||||||
|
|
||||||
|
git init || fail "${PWD}: cannot initialise Git repository"
|
||||||
|
git add -A . || fail "${PWD}: cannot add files to Git repository"
|
||||||
|
git commit -m "${projectname} ${version}" --date "${cdate}" \
|
||||||
|
--author="lbmk <lbmk@libreboot.org>" || \
|
||||||
|
fail "${PWD}: can't commit ${projectname}/${version}, date ${cdate}"
|
||||||
|
git tag -a "${version}" -m "${projectname} ${version}" || \
|
||||||
|
fail "${PWD}: cannot git-tag ${projectname}/${version}"
|
||||||
|
}
|
||||||
|
|
||||||
|
execute_command()
|
||||||
|
{
|
||||||
|
lbmkcmd="${buildpath}/${option}"
|
||||||
|
[ -f "${lbmkcmd}" ] || fail "Invalid command. Run: ${linkpath} help"
|
||||||
|
"${lbmkcmd}" $@ || fail "execute_command: ${lbmkcmd} ${@}"
|
||||||
|
}
|
||||||
|
|
||||||
|
usage()
|
||||||
|
{
|
||||||
|
progname=${0}
|
||||||
cat <<- EOF
|
cat <<- EOF
|
||||||
USAGE: ./build <MODE> <OPTION>
|
$(mkversion)
|
||||||
|
|
||||||
possible values for 'mode':
|
USAGE: ${progname} <OPTION>
|
||||||
$(listmodes)
|
|
||||||
|
|
||||||
Example: ./build module all
|
possible values for 'OPTION':
|
||||||
Example: ./build module flashrom [static]
|
$(items "${buildpath}")
|
||||||
Example: ./build roms withgrub
|
|
||||||
Example: ./build clean all
|
|
||||||
|
|
||||||
Refer to the ${projectname} documentation for more information.
|
To know what ${projectname} version you're on, type:
|
||||||
|
${progname} version
|
||||||
|
|
||||||
|
Refer to ${projectname} documentation for more info.
|
||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
die() {
|
mkversion()
|
||||||
printf 'Error: %s\n' "${@}" 1>&2
|
{
|
||||||
exit 1
|
printf "revision: %s %s\n" "${projectname}" "${version}"
|
||||||
|
printf "revision date: %s\n" "$(date -Rud @${versiondate})"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ $# -lt 1 ]; then
|
lbmk_exit()
|
||||||
die "Wrong number of arguments specified. See './build help'."
|
{
|
||||||
fi
|
tmp_cleanup || err "lbmk_exit: can't rm tmpdir upon exit $1: ${tmpdir}"
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
mode="${1}"
|
fail()
|
||||||
|
{
|
||||||
|
tmp_cleanup || printf "WARNING: can't rm tmpdir: %s\n" "${tmpdir}" 1>&2
|
||||||
|
err "${1}"
|
||||||
|
}
|
||||||
|
|
||||||
if [ "${mode}" != "dependencies" ]; then
|
tmp_cleanup()
|
||||||
./resources/scripts/misc/versioncheck
|
{
|
||||||
fi
|
[ "${tmpdir_was_set}" = "n" ] || return 0
|
||||||
|
rm -Rf "${tmpdir}" || return 1
|
||||||
|
}
|
||||||
|
|
||||||
[ "${mode}" = help ] && help && exit 0
|
main $@
|
||||||
|
|
||||||
if [ $# -gt 1 ]; then
|
|
||||||
|
|
||||||
option="${2}"
|
|
||||||
shift 2
|
|
||||||
|
|
||||||
case "${option}" in
|
|
||||||
list)
|
|
||||||
printf "Available options for mode '%s':\n\n" "${mode}"
|
|
||||||
listoptions "${mode}"
|
|
||||||
;;
|
|
||||||
all)
|
|
||||||
for option in $(listoptions "${mode}"); do
|
|
||||||
"${build}"/"${mode}"/"${option}" $@
|
|
||||||
done
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
if [ -d "${build}"/"${mode}"/ ]; then
|
|
||||||
if [ -f "${build}"/"${mode}"/"${option}" ]; then
|
|
||||||
"${build}"/"${mode}"/"${option}" $@
|
|
||||||
else
|
|
||||||
help
|
|
||||||
die "Invalid option for '${mode}'. See './build ${mode} list'."
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
help
|
|
||||||
die "Invalid mode '${mode}'. See './build help'."
|
|
||||||
fi
|
|
||||||
esac
|
|
||||||
else
|
|
||||||
help
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|||||||
+191
-178
@@ -11,13 +11,14 @@ CONFIG_LOCALVERSION=""
|
|||||||
CONFIG_CBFS_PREFIX="fallback"
|
CONFIG_CBFS_PREFIX="fallback"
|
||||||
CONFIG_COMPILER_GCC=y
|
CONFIG_COMPILER_GCC=y
|
||||||
# CONFIG_COMPILER_LLVM_CLANG is not set
|
# CONFIG_COMPILER_LLVM_CLANG is not set
|
||||||
|
CONFIG_ARCH_SUPPORTS_CLANG=y
|
||||||
# CONFIG_ANY_TOOLCHAIN is not set
|
# CONFIG_ANY_TOOLCHAIN is not set
|
||||||
# CONFIG_CCACHE is not set
|
# CONFIG_CCACHE is not set
|
||||||
|
# CONFIG_IWYU is not set
|
||||||
# CONFIG_FMD_GENPARSER is not set
|
# CONFIG_FMD_GENPARSER is not set
|
||||||
# CONFIG_UTIL_GENPARSER is not set
|
# CONFIG_UTIL_GENPARSER is not set
|
||||||
# CONFIG_OPTION_BACKEND_NONE is not set
|
CONFIG_OPTION_BACKEND_NONE=y
|
||||||
CONFIG_USE_OPTION_TABLE=y
|
# CONFIG_USE_OPTION_TABLE is not set
|
||||||
CONFIG_STATIC_OPTION_TABLE=y
|
|
||||||
CONFIG_COMPRESS_RAMSTAGE=y
|
CONFIG_COMPRESS_RAMSTAGE=y
|
||||||
CONFIG_INCLUDE_CONFIG_FILE=y
|
CONFIG_INCLUDE_CONFIG_FILE=y
|
||||||
CONFIG_COLLECT_TIMESTAMPS=y
|
CONFIG_COLLECT_TIMESTAMPS=y
|
||||||
@@ -29,11 +30,17 @@ CONFIG_USE_BLOBS=y
|
|||||||
# CONFIG_UBSAN is not set
|
# CONFIG_UBSAN is not set
|
||||||
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
|
CONFIG_HAVE_ASAN_IN_RAMSTAGE=y
|
||||||
# CONFIG_ASAN is not set
|
# CONFIG_ASAN is not set
|
||||||
# CONFIG_NO_STAGE_CACHE is not set
|
CONFIG_NO_STAGE_CACHE=y
|
||||||
CONFIG_TSEG_STAGE_CACHE=y
|
# CONFIG_CBMEM_STAGE_CACHE is not set
|
||||||
# CONFIG_UPDATE_IMAGE is not set
|
# CONFIG_UPDATE_IMAGE is not set
|
||||||
# CONFIG_BOOTSPLASH_IMAGE is not set
|
# CONFIG_BOOTSPLASH_IMAGE is not set
|
||||||
# CONFIG_FW_CONFIG is not set
|
# CONFIG_FW_CONFIG is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Software Bill Of Materials (SBOM)
|
||||||
|
#
|
||||||
|
# CONFIG_SBOM is not set
|
||||||
|
# end of Software Bill Of Materials (SBOM)
|
||||||
# end of General setup
|
# end of General setup
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -44,13 +51,13 @@ CONFIG_TSEG_STAGE_CACHE=y
|
|||||||
# Important: Run 'make distclean' before switching boards
|
# Important: Run 'make distclean' before switching boards
|
||||||
#
|
#
|
||||||
# CONFIG_VENDOR_51NB is not set
|
# CONFIG_VENDOR_51NB is not set
|
||||||
CONFIG_VENDOR_ACER=y
|
# CONFIG_VENDOR_ACER is not set
|
||||||
# CONFIG_VENDOR_ADLINK is not set
|
# CONFIG_VENDOR_ADLINK is not set
|
||||||
# CONFIG_VENDOR_AMD is not set
|
# CONFIG_VENDOR_AMD is not set
|
||||||
# CONFIG_VENDOR_AOPEN is not set
|
# CONFIG_VENDOR_AOPEN is not set
|
||||||
# CONFIG_VENDOR_APPLE is not set
|
# CONFIG_VENDOR_APPLE is not set
|
||||||
# CONFIG_VENDOR_ASROCK is not set
|
# CONFIG_VENDOR_ASROCK is not set
|
||||||
# CONFIG_VENDOR_ASUS is not set
|
CONFIG_VENDOR_ASUS=y
|
||||||
# CONFIG_VENDOR_BAP is not set
|
# CONFIG_VENDOR_BAP is not set
|
||||||
# CONFIG_VENDOR_BIOSTAR is not set
|
# CONFIG_VENDOR_BIOSTAR is not set
|
||||||
# CONFIG_VENDOR_BOSTENTECH is not set
|
# CONFIG_VENDOR_BOSTENTECH is not set
|
||||||
@@ -92,87 +99,118 @@ CONFIG_VENDOR_ACER=y
|
|||||||
# CONFIG_VENDOR_SCALEWAY is not set
|
# CONFIG_VENDOR_SCALEWAY is not set
|
||||||
# CONFIG_VENDOR_SIEMENS is not set
|
# CONFIG_VENDOR_SIEMENS is not set
|
||||||
# CONFIG_VENDOR_SIFIVE is not set
|
# CONFIG_VENDOR_SIFIVE is not set
|
||||||
|
# CONFIG_VENDOR_STARLABS is not set
|
||||||
# CONFIG_VENDOR_SUPERMICRO is not set
|
# CONFIG_VENDOR_SUPERMICRO is not set
|
||||||
# CONFIG_VENDOR_SYSTEM76 is not set
|
# CONFIG_VENDOR_SYSTEM76 is not set
|
||||||
# CONFIG_VENDOR_TI is not set
|
# CONFIG_VENDOR_TI is not set
|
||||||
# CONFIG_VENDOR_UP is not set
|
# CONFIG_VENDOR_UP is not set
|
||||||
CONFIG_BOARD_SPECIFIC_OPTIONS=y
|
CONFIG_BOARD_SPECIFIC_OPTIONS=y
|
||||||
CONFIG_MAINBOARD_PART_NUMBER="G43T-AM3"
|
CONFIG_MAINBOARD_PART_NUMBER="A88XM-E"
|
||||||
CONFIG_MAINBOARD_VERSION="1.0"
|
CONFIG_MAINBOARD_VERSION="1.0"
|
||||||
CONFIG_MAINBOARD_DIR="acer/g43t-am3"
|
CONFIG_MAINBOARD_DIR="asus/a88xm-e"
|
||||||
CONFIG_VGA_BIOS_ID="8086,2e22"
|
CONFIG_VGA_BIOS_ID="1002,9996"
|
||||||
CONFIG_DIMM_MAX=4
|
CONFIG_DIMM_MAX=4
|
||||||
CONFIG_DIMM_SPD_SIZE=256
|
CONFIG_DIMM_SPD_SIZE=256
|
||||||
CONFIG_FMDFILE=""
|
CONFIG_FMDFILE=""
|
||||||
# CONFIG_NO_POST is not set
|
# CONFIG_NO_POST is not set
|
||||||
CONFIG_MAINBOARD_VENDOR="Acer"
|
CONFIG_MAINBOARD_VENDOR="ASUS"
|
||||||
CONFIG_BOARD_ACER_G43T_AM3=y
|
CONFIG_CBFS_SIZE=0x00800000
|
||||||
CONFIG_CBFS_SIZE=0x200000
|
CONFIG_CONSOLE_SERIAL=y
|
||||||
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
|
|
||||||
CONFIG_MAX_CPUS=4
|
CONFIG_MAX_CPUS=4
|
||||||
# CONFIG_VBOOT is not set
|
CONFIG_ONBOARD_VGA_IS_PRIMARY=y
|
||||||
CONFIG_DEVICETREE="devicetree.cb"
|
CONFIG_POST_DEVICE=y
|
||||||
# CONFIG_VGA_BIOS is not set
|
|
||||||
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="Acer"
|
|
||||||
CONFIG_INTEL_GMA_VBT_FILE="src/mainboard/$(MAINBOARDDIR)/data.vbt"
|
|
||||||
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
|
|
||||||
CONFIG_POST_IO=y
|
CONFIG_POST_IO=y
|
||||||
|
CONFIG_UART_FOR_CONSOLE=0
|
||||||
|
CONFIG_EFS_SPI_READ_MODE=2
|
||||||
|
CONFIG_EFS_SPI_SPEED=1
|
||||||
|
CONFIG_EFS_SPI_MICRON_FLAG=0
|
||||||
|
CONFIG_NORMAL_READ_SPI_SPEED=1
|
||||||
|
CONFIG_ALT_SPI_SPEED=1
|
||||||
|
CONFIG_TPM_SPI_SPEED=1
|
||||||
|
# CONFIG_VBOOT is not set
|
||||||
|
CONFIG_IRQ_SLOT_COUNT=11
|
||||||
|
CONFIG_HW_MEM_HOLE_SIZEK=0x200000
|
||||||
|
CONFIG_DEVICETREE="devicetree.cb"
|
||||||
|
# CONFIG_HUDSON_LEGACY_FREE is not set
|
||||||
CONFIG_OVERRIDE_DEVICETREE=""
|
CONFIG_OVERRIDE_DEVICETREE=""
|
||||||
CONFIG_CMOS_DEFAULT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.default"
|
CONFIG_VGA_BIOS=y
|
||||||
|
CONFIG_MAINBOARD_SMBIOS_MANUFACTURER="ASUS"
|
||||||
|
CONFIG_PRERAM_CBMEM_CONSOLE_SIZE=0xc00
|
||||||
|
CONFIG_BOARD_ASUS_A88XM_E=y
|
||||||
|
# CONFIG_BOARD_ASUS_AM1I_A is not set
|
||||||
|
# CONFIG_BOARD_ASUS_F2A85_M is not set
|
||||||
|
# CONFIG_BOARD_ASUS_F2A85_M_PRO is not set
|
||||||
|
# CONFIG_BOARD_ASUS_F2A85_M_LE is not set
|
||||||
|
# CONFIG_BOARD_ASUS_H61M_CS is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8H61_M_LX is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8H61_M_LX3_R2_0 is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8H61_M_PRO is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8H61_M_PRO_CM6630 is not set
|
||||||
|
# CONFIG_BOARD_ASUS_MAXIMUS_IV_GENE_Z is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P2B is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P2B_D is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P2B_DS is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P2B_F is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P2B_LS is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P3B_F is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5GC_MX is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5QC is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5Q_PRO is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5QL_PRO is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5Q_SE is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5Q is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5QL_EM is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5QPL_AM is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P5G41T_M_LX is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8C_WS is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8H77_V is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8Z77_M_PRO is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8Z77_V_LX2 is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8Z77_V is not set
|
||||||
|
# CONFIG_BOARD_ASUS_P8Z77_M is not set
|
||||||
|
# CONFIG_HUDSON_XHCI_FWM is not set
|
||||||
|
# CONFIG_HUDSON_XHCI_ENABLE is not set
|
||||||
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
|
CONFIG_CMOS_LAYOUT_FILE="src/mainboard/$(MAINBOARDDIR)/cmos.layout"
|
||||||
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
|
CONFIG_BOOT_DEVICE_SPI_FLASH_BUS=0
|
||||||
CONFIG_UART_FOR_CONSOLE=0
|
|
||||||
# CONFIG_CONSOLE_POST is not set
|
# CONFIG_CONSOLE_POST is not set
|
||||||
CONFIG_POST_DEVICE=y
|
|
||||||
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
|
CONFIG_MEMLAYOUT_LD_FILE="src/arch/x86/memlayout.ld"
|
||||||
CONFIG_DCACHE_RAM_BASE=0xfeff8000
|
CONFIG_DCACHE_RAM_BASE=0x30000
|
||||||
CONFIG_DCACHE_RAM_SIZE=0x8000
|
CONFIG_DCACHE_RAM_SIZE=0x10000
|
||||||
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
|
CONFIG_C_ENV_BOOTBLOCK_SIZE=0x40000
|
||||||
CONFIG_DCACHE_BSP_STACK_SIZE=0x2000
|
CONFIG_DCACHE_BSP_STACK_SIZE=0x4000
|
||||||
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xe0000000
|
CONFIG_ECAM_MMCONF_BASE_ADDRESS=0xF8000000
|
||||||
CONFIG_ECAM_MMCONF_BUS_NUMBER=256
|
CONFIG_ECAM_MMCONF_BUS_NUMBER=64
|
||||||
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
|
CONFIG_MAX_ACPI_TABLE_SIZE_KB=144
|
||||||
CONFIG_HAVE_INTEL_FIRMWARE=y
|
|
||||||
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
|
CONFIG_MRC_SETTINGS_CACHE_SIZE=0x10000
|
||||||
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
|
CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y
|
||||||
CONFIG_SPI_FLASH_WINBOND=y
|
CONFIG_SPI_FLASH_WINBOND=y
|
||||||
CONFIG_DRIVERS_INTEL_WIFI=y
|
CONFIG_DRIVERS_INTEL_WIFI=y
|
||||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000
|
||||||
CONFIG_CONSOLE_SERIAL=y
|
CONFIG_VGA_BIOS_FILE="../../../pciroms/pci1002,9996.rom"
|
||||||
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="G43T-AM3"
|
CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="A88XM-E"
|
||||||
# CONFIG_HAVE_IFD_BIN is not set
|
|
||||||
CONFIG_PCIEXP_HOTPLUG_BUSES=32
|
|
||||||
CONFIG_PCIEXP_HOTPLUG_MEM=0x800000
|
|
||||||
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM=0x10000000
|
|
||||||
CONFIG_PS2K_EISAID="PNP0303"
|
CONFIG_PS2K_EISAID="PNP0303"
|
||||||
CONFIG_PS2M_EISAID="PNP0F13"
|
CONFIG_PS2M_EISAID="PNP0F13"
|
||||||
CONFIG_GFX_GMA_PANEL_1_PORT="eDP"
|
|
||||||
# CONFIG_PCIEXP_L1_SUB_STATE is not set
|
# CONFIG_PCIEXP_L1_SUB_STATE is not set
|
||||||
CONFIG_PCIEXP_CLK_PM=y
|
# CONFIG_PCIEXP_CLK_PM is not set
|
||||||
CONFIG_DRIVERS_UART_8250IO=y
|
CONFIG_DRIVERS_UART_8250IO=y
|
||||||
CONFIG_HEAP_SIZE=0x4000
|
CONFIG_HEAP_SIZE=0xc0000
|
||||||
CONFIG_BOARD_ROMSIZE_KB_2048=y
|
CONFIG_EC_GPE_SCI=0x50
|
||||||
|
CONFIG_BOARD_ROMSIZE_KB_8192=y
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
|
||||||
CONFIG_COREBOOT_ROMSIZE_KB_2048=y
|
# CONFIG_COREBOOT_ROMSIZE_KB_2048 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_5120 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_6144 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
|
CONFIG_COREBOOT_ROMSIZE_KB_8192=y
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_10240 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_12288 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_32768 is not set
|
||||||
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
|
# CONFIG_COREBOOT_ROMSIZE_KB_65536 is not set
|
||||||
CONFIG_COREBOOT_ROMSIZE_KB=2048
|
CONFIG_COREBOOT_ROMSIZE_KB=8192
|
||||||
CONFIG_ROM_SIZE=0x00200000
|
CONFIG_ROM_SIZE=0x00800000
|
||||||
CONFIG_HAVE_POWER_STATE_AFTER_FAILURE=y
|
|
||||||
CONFIG_HAVE_POWER_STATE_PREVIOUS_AFTER_FAILURE=y
|
|
||||||
CONFIG_POWER_STATE_OFF_AFTER_FAILURE=y
|
|
||||||
# CONFIG_POWER_STATE_ON_AFTER_FAILURE is not set
|
|
||||||
# CONFIG_POWER_STATE_PREVIOUS_AFTER_FAILURE is not set
|
|
||||||
CONFIG_MAINBOARD_POWER_FAILURE_STATE=0
|
|
||||||
# end of Mainboard
|
# end of Mainboard
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -187,99 +225,71 @@ CONFIG_CHIPSET_DEVICETREE=""
|
|||||||
CONFIG_CBFS_MCACHE_SIZE=0x4000
|
CONFIG_CBFS_MCACHE_SIZE=0x4000
|
||||||
CONFIG_ROMSTAGE_ADDR=0x2000000
|
CONFIG_ROMSTAGE_ADDR=0x2000000
|
||||||
CONFIG_VERSTAGE_ADDR=0x2000000
|
CONFIG_VERSTAGE_ADDR=0x2000000
|
||||||
CONFIG_RAMBASE=0xe00000
|
# CONFIG_VGA_BIOS_SECOND is not set
|
||||||
CONFIG_SMM_RESERVED_SIZE=0x100000
|
|
||||||
CONFIG_SMM_MODULE_STACK_SIZE=0x400
|
|
||||||
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
|
CONFIG_ACPI_CPU_STRING="\\_SB.CP%02d"
|
||||||
|
CONFIG_BOTTOMIO_POSITION=0x80000000
|
||||||
CONFIG_EHCI_BAR=0xfef00000
|
CONFIG_EHCI_BAR=0xfef00000
|
||||||
CONFIG_CBFS_CACHE_ALIGN=8
|
CONFIG_AHCI_ROM_ID="1022,7801"
|
||||||
CONFIG_STACK_SIZE=0x1000
|
CONFIG_STACK_SIZE=0x2000
|
||||||
CONFIG_VBT_DATA_SIZE_KB=8
|
CONFIG_VBT_DATA_SIZE_KB=8
|
||||||
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
|
CONFIG_INTEL_GMA_BCLV_OFFSET=0xc8254
|
||||||
CONFIG_INTEL_GMA_BCLV_WIDTH=16
|
CONFIG_INTEL_GMA_BCLV_WIDTH=16
|
||||||
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
|
CONFIG_INTEL_GMA_BCLM_OFFSET=0xc8256
|
||||||
CONFIG_INTEL_GMA_BCLM_WIDTH=16
|
CONFIG_INTEL_GMA_BCLM_WIDTH=16
|
||||||
CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000
|
CONFIG_BOOTBLOCK_IN_CBFS=y
|
||||||
CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000
|
# CONFIG_PCIEXP_ASPM is not set
|
||||||
CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000
|
|
||||||
CONFIG_AZALIA_MAX_CODECS=4
|
|
||||||
CONFIG_PCIEXP_ASPM=y
|
|
||||||
# CONFIG_PCIEXP_COMMON_CLOCK is not set
|
# CONFIG_PCIEXP_COMMON_CLOCK is not set
|
||||||
CONFIG_TTYS0_BASE=0x3f8
|
CONFIG_TTYS0_BASE=0x3f8
|
||||||
CONFIG_TTYS0_LCS=3
|
CONFIG_TTYS0_LCS=3
|
||||||
CONFIG_UART_PCI_ADDR=0x0
|
CONFIG_UART_PCI_ADDR=0x0
|
||||||
|
CONFIG_SOC_AMD_COMMON=y
|
||||||
|
CONFIG_SOC_AMD_COMMON_BLOCK_ACPIMMIO=y
|
||||||
|
CONFIG_SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM=y
|
||||||
|
CONFIG_CBFS_CACHE_ALIGN=8
|
||||||
|
CONFIG_SOC_AMD_COMMON_BLOCK_PCI_MMCONF=y
|
||||||
|
# CONFIG_SOC_AMD_COMMON_BLOCK_SPI_DEBUG is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# CPU
|
# CPU
|
||||||
#
|
#
|
||||||
CONFIG_CPU_INTEL_MODEL_6FX=y
|
CONFIG_CPU_AMD_AGESA=y
|
||||||
CONFIG_CPU_INTEL_MODEL_1067X=y
|
CONFIG_UDELAY_LAPIC_FIXED_FSB=200
|
||||||
CONFIG_CPU_INTEL_MODEL_F3X=y
|
# CONFIG_ENABLE_MRC_CACHE is not set
|
||||||
CONFIG_CPU_INTEL_MODEL_F4X=y
|
CONFIG_CPU_AMD_AGESA_FAMILY15_TN=y
|
||||||
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
|
|
||||||
CONFIG_SSE2=y
|
CONFIG_SSE2=y
|
||||||
CONFIG_CPU_INTEL_SOCKET_LGA775=y
|
CONFIG_LEGACY_SMP_INIT=y
|
||||||
CONFIG_CPU_INTEL_COMMON=y
|
|
||||||
CONFIG_ENABLE_VMX=y
|
|
||||||
CONFIG_SET_IA32_FC_LOCK_BIT=y
|
|
||||||
CONFIG_SET_MSR_AESNI_LOCK_BIT=y
|
|
||||||
CONFIG_CPU_INTEL_COMMON_TIMEBASE=y
|
|
||||||
CONFIG_CPU_INTEL_COMMON_SMM=y
|
|
||||||
CONFIG_MICROCODE_UPDATE_PRE_RAM=y
|
|
||||||
CONFIG_PARALLEL_MP=y
|
|
||||||
CONFIG_XAPIC_ONLY=y
|
CONFIG_XAPIC_ONLY=y
|
||||||
# CONFIG_X2APIC_ONLY is not set
|
CONFIG_UDELAY_LAPIC=y
|
||||||
# CONFIG_X2APIC_RUNTIME is not set
|
CONFIG_LAPIC_MONOTONIC_TIMER=y
|
||||||
CONFIG_UDELAY_TSC=y
|
CONFIG_UNKNOWN_TSC_RATE=y
|
||||||
CONFIG_TSC_MONOTONIC_TIMER=y
|
CONFIG_TSC_SYNC_LFENCE=y
|
||||||
CONFIG_TSC_SYNC_MFENCE=y
|
|
||||||
CONFIG_SETUP_XIP_CACHE=y
|
|
||||||
CONFIG_LOGICAL_CPUS=y
|
CONFIG_LOGICAL_CPUS=y
|
||||||
CONFIG_HAVE_SMI_HANDLER=y
|
CONFIG_SMM_ASEG=y
|
||||||
CONFIG_SMM_TSEG=y
|
CONFIG_X86_AMD_FIXED_MTRRS=y
|
||||||
CONFIG_SMM_MODULE_HEAP_SIZE=0x4000
|
|
||||||
CONFIG_SMM_STUB_STACK_SIZE=0x400
|
|
||||||
CONFIG_CPU_INFO_V2=y
|
|
||||||
CONFIG_SMP=y
|
CONFIG_SMP=y
|
||||||
CONFIG_MMX=y
|
|
||||||
CONFIG_SSE=y
|
CONFIG_SSE=y
|
||||||
CONFIG_SUPPORT_CPU_UCODE_IN_CBFS=y
|
|
||||||
# CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS is not set
|
|
||||||
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_BINS is not set
|
|
||||||
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL_HEADER is not set
|
|
||||||
CONFIG_CPU_MICROCODE_CBFS_NONE=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Northbridge
|
# Northbridge
|
||||||
#
|
#
|
||||||
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
|
CONFIG_NORTHBRIDGE_AMD_AGESA=y
|
||||||
CONFIG_NORTHBRIDGE_INTEL_X4X=y
|
CONFIG_NORTHBRIDGE_AMD_AGESA_FAMILY15_TN=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Southbridge
|
# Southbridge
|
||||||
#
|
#
|
||||||
CONFIG_HPET_MIN_TICKS=0x80
|
CONFIG_SOUTHBRIDGE_AMD_AGESA_HUDSON=y
|
||||||
CONFIG_PCIEXP_HOTPLUG=y
|
CONFIG_SOUTHBRIDGE_SPECIFIC_OPTIONS=y
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_I82801JX=y
|
CONFIG_HUDSON_SATA_MODE=2
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RESET=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RTC=y
|
#
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMCLIB=y
|
# AHCI
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PMBASE=y
|
#
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_GPIO=y
|
# CONFIG_HUDSON_AHCI_ROM is not set
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_EARLY_SMBUS=y
|
CONFIG_ACPI_ENABLE_THERMAL_ZONE=y
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMBUS=y
|
# CONFIG_PCIEXP_HOTPLUG is not set
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SPI_ICH9=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_PIRQ_ACPI_GEN=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_RCBA_PIRQ=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_SMM=y
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_USB_DEBUG=y
|
|
||||||
CONFIG_INTEL_DESCRIPTOR_MODE_CAPABLE=y
|
|
||||||
# CONFIG_VALIDATE_INTEL_DESCRIPTOR is not set
|
|
||||||
CONFIG_SOUTHBRIDGE_INTEL_COMMON_WATCHDOG=y
|
|
||||||
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
|
CONFIG_FIXED_RCBA_MMIO_BASE=0xfed1c000
|
||||||
CONFIG_RCBA_LENGTH=0x4000
|
CONFIG_RCBA_LENGTH=0x4000
|
||||||
CONFIG_FIXED_SMBUS_IO_BASE=0x400
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Super I/O
|
# Super I/O
|
||||||
@@ -287,17 +297,38 @@ CONFIG_FIXED_SMBUS_IO_BASE=0x400
|
|||||||
CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y
|
CONFIG_SUPERIO_ITE_COMMON_PRE_RAM=y
|
||||||
CONFIG_SUPERIO_ITE_ENV_CTRL=y
|
CONFIG_SUPERIO_ITE_ENV_CTRL=y
|
||||||
CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y
|
CONFIG_SUPERIO_ITE_ENV_CTRL_FAN16_CONFIG=y
|
||||||
|
CONFIG_SUPERIO_ITE_ENV_CTRL_8BIT_PWM=y
|
||||||
CONFIG_SUPERIO_ITE_ENV_CTRL_PWM_FREQ2=y
|
CONFIG_SUPERIO_ITE_ENV_CTRL_PWM_FREQ2=y
|
||||||
CONFIG_SUPERIO_ITE_IT8720F=y
|
CONFIG_SUPERIO_ITE_ENV_CTRL_5FANS=y
|
||||||
|
CONFIG_SUPERIO_ITE_ENV_CTRL_7BIT_SLOPE_REG=y
|
||||||
|
CONFIG_SUPERIO_ITE_ENV_CTRL_EXT_ANY_TMPIN=y
|
||||||
|
CONFIG_SUPERIO_ITE_IT8728F=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Embedded Controllers
|
# Embedded Controllers
|
||||||
#
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# Intel Firmware
|
# AMD Platform Initialization
|
||||||
#
|
#
|
||||||
CONFIG_MAINBOARD_USES_IFD_GBE_REGION=y
|
# CONFIG_CPU_AMD_AGESA_BINARY_PI is not set
|
||||||
|
CONFIG_CPU_AMD_AGESA_OPENSOURCE=y
|
||||||
|
CONFIG_IDS_OPTIONS_HOOKED_UP=y
|
||||||
|
CONFIG_IDS_ENABLED=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# Warning: IDS options may not work. Enable at your own risk!
|
||||||
|
#
|
||||||
|
# CONFIG_IDS_CONTROL_ENABLED is not set
|
||||||
|
# CONFIG_IDS_PERF_ANALYSIS is not set
|
||||||
|
# CONFIG_IDS_TRACING_ENABLED is not set
|
||||||
|
CONFIG_CPU_AMD_AGESA_OPENSOURCE_MEM_JEDEC=y
|
||||||
|
# CONFIG_CPU_AMD_AGESA_OPENSOURCE_MEM_XMP_1 is not set
|
||||||
|
# CONFIG_CPU_AMD_AGESA_OPENSOURCE_MEM_XMP_2 is not set
|
||||||
|
# CONFIG_CPU_AMD_AGESA_OPENSOURCE_MEM_CUSTOM is not set
|
||||||
|
# CONFIG_AGESA_EXTRA_TIMESTAMPS is not set
|
||||||
|
# end of AMD Platform Initialization
|
||||||
|
|
||||||
CONFIG_ARCH_X86=y
|
CONFIG_ARCH_X86=y
|
||||||
CONFIG_ARCH_BOOTBLOCK_X86_32=y
|
CONFIG_ARCH_BOOTBLOCK_X86_32=y
|
||||||
CONFIG_ARCH_VERSTAGE_X86_32=y
|
CONFIG_ARCH_VERSTAGE_X86_32=y
|
||||||
@@ -305,60 +336,43 @@ CONFIG_ARCH_ROMSTAGE_X86_32=y
|
|||||||
CONFIG_ARCH_POSTCAR_X86_32=y
|
CONFIG_ARCH_POSTCAR_X86_32=y
|
||||||
CONFIG_ARCH_RAMSTAGE_X86_32=y
|
CONFIG_ARCH_RAMSTAGE_X86_32=y
|
||||||
CONFIG_ARCH_ALL_STAGES_X86_32=y
|
CONFIG_ARCH_ALL_STAGES_X86_32=y
|
||||||
CONFIG_HAVE_EXP_X86_64_SUPPORT=y
|
|
||||||
# CONFIG_USE_EXP_X86_64_SUPPORT is not set
|
|
||||||
CONFIG_AP_IN_SIPI_WAIT=y
|
|
||||||
CONFIG_SIPI_VECTOR_IN_ROM=y
|
|
||||||
CONFIG_RAMTOP=0x1000000
|
|
||||||
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
|
CONFIG_X86_TOP4G_BOOTMEDIA_MAP=y
|
||||||
CONFIG_NUM_IPI_STARTS=2
|
CONFIG_NUM_IPI_STARTS=2
|
||||||
CONFIG_PC80_SYSTEM=y
|
CONFIG_PC80_SYSTEM=y
|
||||||
CONFIG_HAVE_CMOS_DEFAULT=y
|
|
||||||
CONFIG_HPET_ADDRESS=0xfed00000
|
|
||||||
CONFIG_POSTCAR_STAGE=y
|
CONFIG_POSTCAR_STAGE=y
|
||||||
CONFIG_BOOTBLOCK_SIMPLE=y
|
CONFIG_BOOTBLOCK_SIMPLE=y
|
||||||
# CONFIG_BOOTBLOCK_NORMAL is not set
|
# CONFIG_BOOTBLOCK_NORMAL is not set
|
||||||
CONFIG_COLLECT_TIMESTAMPS_TSC=y
|
CONFIG_COLLECT_TIMESTAMPS_TSC=y
|
||||||
CONFIG_HAVE_CF9_RESET=y
|
CONFIG_HAVE_CF9_RESET=y
|
||||||
|
CONFIG_HAVE_CF9_RESET_PREPARE=y
|
||||||
|
CONFIG_DEBUG_HW_BREAKPOINTS=y
|
||||||
|
CONFIG_DEBUG_NULL_DEREF_BREAKPOINTS=y
|
||||||
# end of Chipset
|
# end of Chipset
|
||||||
|
|
||||||
#
|
#
|
||||||
# Devices
|
# Devices
|
||||||
#
|
#
|
||||||
CONFIG_HAVE_VGA_TEXT_FRAMEBUFFER=y
|
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||||
CONFIG_HAVE_LINEAR_FRAMEBUFFER=y
|
|
||||||
CONFIG_MAINBOARD_HAS_LIBGFXINIT=y
|
|
||||||
CONFIG_MAINBOARD_USE_LIBGFXINIT=y
|
|
||||||
# CONFIG_VGA_ROM_RUN is not set
|
# CONFIG_VGA_ROM_RUN is not set
|
||||||
# CONFIG_NO_GFX_INIT is not set
|
CONFIG_NO_GFX_INIT=y
|
||||||
|
|
||||||
#
|
|
||||||
# Display
|
|
||||||
#
|
|
||||||
CONFIG_VGA_TEXT_FRAMEBUFFER=y
|
|
||||||
# CONFIG_GENERIC_LINEAR_FRAMEBUFFER is not set
|
|
||||||
# end of Display
|
|
||||||
|
|
||||||
CONFIG_PCI=y
|
CONFIG_PCI=y
|
||||||
CONFIG_ECAM_MMCONF_SUPPORT=y
|
CONFIG_ECAM_MMCONF_SUPPORT=y
|
||||||
CONFIG_PCIX_PLUGIN_SUPPORT=y
|
CONFIG_PCIX_PLUGIN_SUPPORT=y
|
||||||
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
|
||||||
CONFIG_AZALIA_PLUGIN_SUPPORT=y
|
|
||||||
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
|
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
|
||||||
CONFIG_ECAM_MMCONF_LENGTH=0x10000000
|
CONFIG_ECAM_MMCONF_LENGTH=0x04000000
|
||||||
CONFIG_PCI_ALLOW_BUS_MASTER=y
|
CONFIG_PCI_ALLOW_BUS_MASTER=y
|
||||||
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
|
CONFIG_PCI_SET_BUS_MASTER_PCI_BRIDGES=y
|
||||||
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
|
CONFIG_PCI_ALLOW_BUS_MASTER_ANY_DEVICE=y
|
||||||
CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_ABOVE_4G=y
|
# CONFIG_PCIEXP_SUPPORT_RESIZABLE_BARS is not set
|
||||||
# CONFIG_PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G is not set
|
# CONFIG_PCIEXP_LANE_ERR_STAT_CLEAR is not set
|
||||||
CONFIG_PCIEXP_HOTPLUG_IO=0x2000
|
|
||||||
# CONFIG_EARLY_PCI_BRIDGE is not set
|
# CONFIG_EARLY_PCI_BRIDGE is not set
|
||||||
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
|
CONFIG_SUBSYSTEM_VENDOR_ID=0x0000
|
||||||
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
|
CONFIG_SUBSYSTEM_DEVICE_ID=0x0000
|
||||||
CONFIG_INTEL_GMA_HAVE_VBT=y
|
# CONFIG_VGA_BIOS_DGPU is not set
|
||||||
CONFIG_INTEL_GMA_ADD_VBT=y
|
|
||||||
# CONFIG_SOFTWARE_I2C is not set
|
# CONFIG_SOFTWARE_I2C is not set
|
||||||
CONFIG_RESOURCE_ALLOCATOR_V4=y
|
CONFIG_I2C_TRANSFER_TIMEOUT_US=500000
|
||||||
|
CONFIG_RESOURCE_ALLOCATOR_V3=y
|
||||||
# end of Devices
|
# end of Devices
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -368,11 +382,9 @@ CONFIG_CRB_TPM_BASE_ADDRESS=0xfed40000
|
|||||||
# CONFIG_ELOG is not set
|
# CONFIG_ELOG is not set
|
||||||
CONFIG_CACHE_MRC_SETTINGS=y
|
CONFIG_CACHE_MRC_SETTINGS=y
|
||||||
# CONFIG_MRC_SETTINGS_PROTECT is not set
|
# CONFIG_MRC_SETTINGS_PROTECT is not set
|
||||||
CONFIG_MRC_STASH_TO_CBMEM=y
|
|
||||||
# CONFIG_SMMSTORE is not set
|
|
||||||
CONFIG_SPI_FLASH=y
|
CONFIG_SPI_FLASH=y
|
||||||
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
|
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP=y
|
||||||
CONFIG_BOOT_DEVICE_SPI_FLASH_NO_EARLY_WRITES=y
|
CONFIG_BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY=y
|
||||||
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
|
# CONFIG_SPI_FLASH_NO_FAST_READ is not set
|
||||||
CONFIG_SPI_FLASH_ADESTO=y
|
CONFIG_SPI_FLASH_ADESTO=y
|
||||||
CONFIG_SPI_FLASH_AMIC=y
|
CONFIG_SPI_FLASH_AMIC=y
|
||||||
@@ -389,22 +401,18 @@ CONFIG_HAVE_USBDEBUG=y
|
|||||||
CONFIG_HAVE_USBDEBUG_OPTIONS=y
|
CONFIG_HAVE_USBDEBUG_OPTIONS=y
|
||||||
# CONFIG_USBDEBUG is not set
|
# CONFIG_USBDEBUG is not set
|
||||||
# CONFIG_VPD is not set
|
# CONFIG_VPD is not set
|
||||||
|
CONFIG_DRIVERS_AMD_PI=y
|
||||||
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
|
# CONFIG_DRIVERS_GENERIC_CBFS_SERIAL is not set
|
||||||
|
# CONFIG_DRIVERS_GENERIC_CBFS_UUID is not set
|
||||||
|
# CONFIG_DRIVERS_GENESYSLOGIC_GL9750 is not set
|
||||||
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
|
# CONFIG_DRIVERS_GENESYSLOGIC_GL9755 is not set
|
||||||
CONFIG_DRIVERS_I2C_CK505=y
|
# CONFIG_DRIVERS_GENESYSLOGIC_GL9763E is not set
|
||||||
CONFIG_INTEL_GMA_ACPI=y
|
# CONFIG_DRIVERS_I2C_MAX98396 is not set
|
||||||
CONFIG_GFX_GMA=y
|
|
||||||
CONFIG_GFX_GMA_PANEL_1_ON_EDP=y
|
|
||||||
CONFIG_INTEL_GMA_OPREGION_2_0=y
|
CONFIG_INTEL_GMA_OPREGION_2_0=y
|
||||||
CONFIG_GFX_GMA_DYN_CPU=y
|
# CONFIG_DRIVERS_NXP_UWB_SR1XX is not set
|
||||||
CONFIG_GFX_GMA_GENERATION="G45"
|
|
||||||
CONFIG_GFX_GMA_PCH="No_PCH"
|
|
||||||
CONFIG_GFX_GMA_PANEL_2_PORT="Disabled"
|
|
||||||
CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC"
|
|
||||||
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
|
# CONFIG_DRIVERS_PS2_KEYBOARD is not set
|
||||||
CONFIG_DRIVERS_MC146818=y
|
CONFIG_DRIVERS_MC146818=y
|
||||||
# CONFIG_USE_PC_CMOS_ALTCENTURY is not set
|
CONFIG_USE_PC_CMOS_ALTCENTURY=y
|
||||||
CONFIG_VGA=y
|
|
||||||
# CONFIG_DRIVERS_SIL_3114 is not set
|
# CONFIG_DRIVERS_SIL_3114 is not set
|
||||||
CONFIG_DRIVERS_WIFI_GENERIC=y
|
CONFIG_DRIVERS_WIFI_GENERIC=y
|
||||||
# end of Generic Drivers
|
# end of Generic Drivers
|
||||||
@@ -413,6 +421,12 @@ CONFIG_DRIVERS_WIFI_GENERIC=y
|
|||||||
# Security
|
# Security
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# CBFS verification
|
||||||
|
#
|
||||||
|
# CONFIG_CBFS_VERIFICATION is not set
|
||||||
|
# end of CBFS verification
|
||||||
|
|
||||||
#
|
#
|
||||||
# Verified Boot (vboot)
|
# Verified Boot (vboot)
|
||||||
#
|
#
|
||||||
@@ -431,15 +445,12 @@ CONFIG_PLATFORM_HAS_DRAM_CLEAR=y
|
|||||||
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
|
CONFIG_SECURITY_CLEAR_DRAM_ON_REGULAR_BOOT=y
|
||||||
# end of Memory initialization
|
# end of Memory initialization
|
||||||
|
|
||||||
# CONFIG_STM is not set
|
|
||||||
CONFIG_BOOTMEDIA_LOCK_NONE=y
|
CONFIG_BOOTMEDIA_LOCK_NONE=y
|
||||||
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
|
# CONFIG_BOOTMEDIA_LOCK_CONTROLLER is not set
|
||||||
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
|
# CONFIG_BOOTMEDIA_LOCK_CHIP is not set
|
||||||
# CONFIG_BOOTMEDIA_SMM_BWP is not set
|
|
||||||
# end of Security
|
# end of Security
|
||||||
|
|
||||||
CONFIG_ACPI_HAVE_PCAT_8259=y
|
CONFIG_ACPI_HAVE_PCAT_8259=y
|
||||||
CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y
|
|
||||||
CONFIG_HAVE_ACPI_TABLES=y
|
CONFIG_HAVE_ACPI_TABLES=y
|
||||||
CONFIG_BOOT_DEVICE_SPI_FLASH=y
|
CONFIG_BOOT_DEVICE_SPI_FLASH=y
|
||||||
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
|
CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y
|
||||||
@@ -473,21 +484,23 @@ CONFIG_TTYS0_BAUD=115200
|
|||||||
CONFIG_CONSOLE_CBMEM=y
|
CONFIG_CONSOLE_CBMEM=y
|
||||||
# CONFIG_CONSOLE_SPI_FLASH is not set
|
# CONFIG_CONSOLE_SPI_FLASH is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
|
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7=y
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
|
||||||
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
|
||||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0=y
|
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
|
||||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=0
|
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=7
|
||||||
|
CONFIG_CONSOLE_USE_LOGLEVEL_PREFIX=y
|
||||||
|
CONFIG_CONSOLE_USE_ANSI_ESCAPES=y
|
||||||
# CONFIG_CMOS_POST is not set
|
# CONFIG_CMOS_POST is not set
|
||||||
CONFIG_POST_DEVICE_NONE=y
|
CONFIG_POST_DEVICE_NONE=y
|
||||||
# CONFIG_POST_DEVICE_LPC is not set
|
# CONFIG_POST_DEVICE_LPC is not set
|
||||||
# CONFIG_POST_DEVICE_PCI_PCIE is not set
|
# CONFIG_POST_DEVICE_PCI_PCIE is not set
|
||||||
CONFIG_POST_IO_PORT=0x80
|
CONFIG_POST_IO_PORT=0x80
|
||||||
CONFIG_HWBASE_DEBUG_NULL=y
|
CONFIG_HWBASE_DEBUG_CB=y
|
||||||
# end of Console
|
# end of Console
|
||||||
|
|
||||||
CONFIG_HAVE_ACPI_RESUME=y
|
CONFIG_HAVE_ACPI_RESUME=y
|
||||||
@@ -495,11 +508,15 @@ CONFIG_RESUME_PATH_SAME_AS_BOOT=y
|
|||||||
CONFIG_HAVE_MONOTONIC_TIMER=y
|
CONFIG_HAVE_MONOTONIC_TIMER=y
|
||||||
CONFIG_HAVE_OPTION_TABLE=y
|
CONFIG_HAVE_OPTION_TABLE=y
|
||||||
CONFIG_IOAPIC=y
|
CONFIG_IOAPIC=y
|
||||||
CONFIG_USE_WATCHDOG_ON_BOOT=y
|
CONFIG_GFXUMA=y
|
||||||
|
CONFIG_HAVE_MP_TABLE=y
|
||||||
|
CONFIG_HAVE_PIRQ_TABLE=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# System tables
|
# System tables
|
||||||
#
|
#
|
||||||
|
CONFIG_GENERATE_MP_TABLE=y
|
||||||
|
CONFIG_GENERATE_PIRQ_TABLE=y
|
||||||
CONFIG_GENERATE_SMBIOS_TABLES=y
|
CONFIG_GENERATE_SMBIOS_TABLES=y
|
||||||
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
|
CONFIG_MAINBOARD_SERIAL_NUMBER="123456789"
|
||||||
# end of System tables
|
# end of System tables
|
||||||
@@ -512,23 +529,27 @@ CONFIG_PAYLOAD_NONE=y
|
|||||||
# CONFIG_PAYLOAD_BOOTBOOT is not set
|
# CONFIG_PAYLOAD_BOOTBOOT is not set
|
||||||
# CONFIG_PAYLOAD_FILO is not set
|
# CONFIG_PAYLOAD_FILO is not set
|
||||||
# CONFIG_PAYLOAD_GRUB2 is not set
|
# CONFIG_PAYLOAD_GRUB2 is not set
|
||||||
|
# CONFIG_PAYLOAD_SEAGRUB is not set
|
||||||
# CONFIG_PAYLOAD_LINUXBOOT is not set
|
# CONFIG_PAYLOAD_LINUXBOOT is not set
|
||||||
# CONFIG_PAYLOAD_SEABIOS is not set
|
# CONFIG_PAYLOAD_SEABIOS is not set
|
||||||
# CONFIG_PAYLOAD_UBOOT is not set
|
# CONFIG_PAYLOAD_UBOOT is not set
|
||||||
# CONFIG_PAYLOAD_YABITS is not set
|
# CONFIG_PAYLOAD_YABITS is not set
|
||||||
|
# CONFIG_PAYLOAD_EDK2 is not set
|
||||||
# CONFIG_PAYLOAD_LINUX is not set
|
# CONFIG_PAYLOAD_LINUX is not set
|
||||||
# CONFIG_PAYLOAD_TIANOCORE is not set
|
|
||||||
CONFIG_PAYLOAD_OPTIONS=""
|
CONFIG_PAYLOAD_OPTIONS=""
|
||||||
# CONFIG_PXE is not set
|
# CONFIG_PXE is not set
|
||||||
CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
|
# CONFIG_COMPRESS_SECONDARY_PAYLOAD is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Secondary Payloads
|
# Secondary Payloads
|
||||||
#
|
#
|
||||||
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
|
# CONFIG_COREINFO_SECONDARY_PAYLOAD is not set
|
||||||
|
# CONFIG_GRUB2_SECONDARY_PAYLOAD is not set
|
||||||
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
|
# CONFIG_MEMTEST_SECONDARY_PAYLOAD is not set
|
||||||
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
|
# CONFIG_NVRAMCUI_SECONDARY_PAYLOAD is not set
|
||||||
|
# CONFIG_SEABIOS_SECONDARY_PAYLOAD is not set
|
||||||
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
|
# CONFIG_TINT_SECONDARY_PAYLOAD is not set
|
||||||
|
# CONFIG_COREDOOM_SECONDARY_PAYLOAD is not set
|
||||||
# end of Secondary Payloads
|
# end of Secondary Payloads
|
||||||
# end of Payload
|
# end of Payload
|
||||||
|
|
||||||
@@ -551,23 +572,15 @@ CONFIG_COMPRESS_SECONDARY_PAYLOAD=y
|
|||||||
# CONFIG_GDB_STUB is not set
|
# CONFIG_GDB_STUB is not set
|
||||||
# CONFIG_FATAL_ASSERTS is not set
|
# CONFIG_FATAL_ASSERTS is not set
|
||||||
# CONFIG_DEBUG_CBFS is not set
|
# CONFIG_DEBUG_CBFS is not set
|
||||||
CONFIG_HAVE_DEBUG_RAM_SETUP=y
|
# CONFIG_DEBUG_PIRQ is not set
|
||||||
# CONFIG_DEBUG_RAM_SETUP is not set
|
# CONFIG_DEBUG_MALLOC is not set
|
||||||
CONFIG_HAVE_DEBUG_SMBUS=y
|
|
||||||
# CONFIG_DEBUG_SMBUS is not set
|
|
||||||
# CONFIG_DEBUG_SMI is not set
|
|
||||||
# CONFIG_DEBUG_CONSOLE_INIT is not set
|
# CONFIG_DEBUG_CONSOLE_INIT is not set
|
||||||
# CONFIG_DEBUG_SPI_FLASH is not set
|
# CONFIG_DEBUG_SPI_FLASH is not set
|
||||||
# CONFIG_DEBUG_BOOT_STATE is not set
|
# CONFIG_DEBUG_BOOT_STATE is not set
|
||||||
# CONFIG_DEBUG_ADA_CODE is not set
|
# CONFIG_DEBUG_ADA_CODE is not set
|
||||||
# CONFIG_HAVE_EM100_SUPPORT is not set
|
|
||||||
# end of Debugging
|
# end of Debugging
|
||||||
|
|
||||||
CONFIG_RAMSTAGE_ADA=y
|
CONFIG_DECOMPRESS_OFAST=y
|
||||||
CONFIG_RAMSTAGE_LIBHWBASE=y
|
|
||||||
CONFIG_HWBASE_DYNAMIC_MMIO=y
|
|
||||||
CONFIG_HWBASE_DEFAULT_MMCONF=0xe0000000
|
|
||||||
CONFIG_HWBASE_DIRECT_PCIDEV=y
|
|
||||||
CONFIG_WARNINGS_ARE_ERRORS=y
|
CONFIG_WARNINGS_ARE_ERRORS=y
|
||||||
CONFIG_MAX_REBOOT_CNT=3
|
CONFIG_MAX_REBOOT_CNT=3
|
||||||
CONFIG_RELOCATABLE_MODULES=y
|
CONFIG_RELOCATABLE_MODULES=y
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
tree="default"
|
||||||
|
romtype="normal"
|
||||||
|
arch="x86_64"
|
||||||
|
payload_seabios="y"
|
||||||
|
payload_seabios_withgrub="y"
|
||||||
|
payload_seabios_grubonly="y"
|
||||||
|
payload_memtest="y"
|
||||||
|
grub_scan_disk="ahci"
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
build/coreboot.rom
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
tree="default"
|
||||||
|
romtype="normal"
|
||||||
|
rev="54d0cc9a3cf31963ebf0ca85a87a7e464ef678a7" # 4.18_branch
|
||||||
|
arch="x86_64"
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
pkg_add="pacman -S --needed --noconfirm"
|
||||||
|
pkglist=" \
|
||||||
|
acpica arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib \
|
||||||
|
autogen base-devel bison cmake curl device-mapper doxygen \
|
||||||
|
dtc e2fsprogs flex freetype2 fuse2 gawk gcc-ada gdb gettext git \
|
||||||
|
help2man innoextract libftdi libpciaccess libusb nasm ncurses openssl p7zip \
|
||||||
|
parted pciutils perl perl-libwww python python-setuptools rsync sharutils \
|
||||||
|
subversion swig texinfo ttf-dejavu unarchiver unzip wget xz zlib \
|
||||||
|
"
|
||||||
|
|
||||||
|
aur_notice="bdf-unifont unifont"
|
||||||
Executable
+15
@@ -0,0 +1,15 @@
|
|||||||
|
pkg_add="apt-get -y install"
|
||||||
|
pkglist=" \
|
||||||
|
acpica-tools autoconf autogen automake autopoint autotools-dev bc \
|
||||||
|
binutils-arm-none-eabi bison build-essential cmake curl device-tree-compiler \
|
||||||
|
doxygen e2fsprogs efitools flex fonts-unifont gawk gcc-arm-linux-gnueabi \
|
||||||
|
gcc-arm-none-eabi gdb gettext git gnat help2man innoextract libdevmapper-dev \
|
||||||
|
libfdt-dev libfont-freetype-perl libfreetype6-dev libftdi-dev libfuse-dev \
|
||||||
|
libgnutls28-dev liblz4-tool liblzma-dev libncurses5-dev libncurses-dev \
|
||||||
|
libnewlib-arm-none-eabi libopts25 libopts25-dev libpci-dev libpython3-dev \
|
||||||
|
libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0 libusb-1.0-0-dev \
|
||||||
|
libusb-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted pciutils \
|
||||||
|
perl pkg-config python3 python3-distutils python3-pkg-resources python3-pycryptodome \
|
||||||
|
python3-pyelftools python3-setuptools python-is-python3 sharutils swig unar \
|
||||||
|
unifont unzip uuid-dev wget zlib1g-dev \
|
||||||
|
"
|
||||||
Executable
+12
@@ -0,0 +1,12 @@
|
|||||||
|
pkg_add="dnf -y install"
|
||||||
|
pkglist=" \
|
||||||
|
acpica-tools arm-none-eabi-binutils arm-none-eabi-gcc \
|
||||||
|
arm-none-eabi-gcc arm-none-eabi-newlib autogen bison bzip2 cmake curl \
|
||||||
|
dejavu-fonts-all device-mapper doxygen e2fsprogs flex freetype-devel fuse \
|
||||||
|
gawk gcc gcc-gnat gdb gettext gettext-devel git gprbuild help2man \
|
||||||
|
innoextract intltool libftdi-devel libselinux-devel libusb1 libusb1-devel \
|
||||||
|
nasm ncurses-devel openssl-devel p7zip p7zip-plugins pandoc parted \
|
||||||
|
pciutils-devel perl perl-libwww-perl python-unversioned-command python3 \
|
||||||
|
python3-setuptools rsync sharutils subversion texinfo unar unifont \
|
||||||
|
unifont-fonts unifont-ttf-fonts unzip wget xz zlib-devel \
|
||||||
|
"
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
debian
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
pkg_add="pacman -S --needed --noconfirm"
|
||||||
|
pkglist=" \
|
||||||
|
acpica arm-none-eabi-binutils arm-none-eabi-gcc arm-none-eabi-newlib \
|
||||||
|
autogen base-devel bdf-unifont bison cmake curl device-mapper doxygen \
|
||||||
|
dtc e2fsprogs flex freetype2 fuse2 gawk gcc-ada gdb gettext git \
|
||||||
|
help2man innoextract libftdi libpciaccess libusb nasm ncurses openssl p7zip \
|
||||||
|
parted pciutils perl perl-libwww python python-setuptools rsync sharutils \
|
||||||
|
subversion swig texinfo ttf-dejavu unarchiver unifont-utils unzip wget xz \
|
||||||
|
zlib \
|
||||||
|
"
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
debian
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
ubuntu2004
|
||||||
Symlink
+1
@@ -0,0 +1 @@
|
|||||||
|
debian
|
||||||
Executable
+14
@@ -0,0 +1,14 @@
|
|||||||
|
pkg_add="apt-get -y install"
|
||||||
|
pkglist=" \
|
||||||
|
autoconf autogen automake autopoint autotools-dev bc binutils-arm-none-eabi \
|
||||||
|
bison build-essential cmake curl device-tree-compiler doxygen e2fsprogs efitools \
|
||||||
|
flex gawk gcc-arm-linux-gnueabi gcc-arm-none-eabi gdb gettext git gnat help2man \
|
||||||
|
innoextract libdevmapper-dev libfdt-dev libfont-freetype-perl libfreetype6-dev \
|
||||||
|
libftdi-dev libfuse-dev libgnutls28-dev liblz4-tool liblzma-dev libncurses5-dev \
|
||||||
|
libncurses-dev libnewlib-arm-none-eabi libopts25 libopts25-dev libpci-dev \
|
||||||
|
libpython3-dev libsdl2-dev libselinux1-dev libssl-dev libtool libusb-1.0-0 \
|
||||||
|
libusb-1.0-0-dev lz4 lzma lzma-alone m4 nasm openssl p7zip p7zip-full parted \
|
||||||
|
pciutils perl pkg-config python3 python3-distutils python3-pkg-resources \
|
||||||
|
python3-pycryptodome python3-pyelftools python3-setuptools python-is-python3 \
|
||||||
|
sharutils swig ttf-unifont unar unifont unzip uuid-dev wget zlib1g-dev \
|
||||||
|
"
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
pkg_add="xbps-install -y"
|
||||||
|
pkglist=" \
|
||||||
|
acpica-utils autogen base-devel bison cmake \
|
||||||
|
cross-arm-none-eabi-binutils cross-arm-none-eabi-gcc \
|
||||||
|
cross-arm-none-eabi-libstdc++ cross-arm-none-eabi-newlib curl \
|
||||||
|
dejavu-fonts-ttf device-mapper doxygen e2fsprogs flexflex font-unifont-bdf \
|
||||||
|
freetype fuse gawk gcc-ada gdb gettext gettext-devel git help2man \
|
||||||
|
innoextract libftdi1 libpciaccess libusb nasm ncurses ncurses-devel openssl
|
||||||
|
p7zip parted pciutils perl perl-LWP python python3 python3-setuptools rsync \
|
||||||
|
sharutils subversion texinfo unar unzip wget xz zlib \
|
||||||
|
"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{bios_extract}{
|
||||||
|
rev: 0a7bc1d71735ef97b00dfec0fd54a02fcc5d1bb0
|
||||||
|
loc: bios_extract
|
||||||
|
url: https://review.coreboot.org/bios_extract
|
||||||
|
bkup_url: https://github.com/coreboot/bios_extract/
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{biosutilities}{
|
||||||
|
rev: 03ae0cf0706ede5a2a15da0986c19c776d0e6b26
|
||||||
|
loc: biosutilities
|
||||||
|
url: https://codeberg.org/libreboot/BIOSUtilities
|
||||||
|
bkup_url: https://github.com/platomav/BIOSUtilities
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{coreboot}{
|
||||||
|
rev: HEAD
|
||||||
|
loc: coreboot/coreboot
|
||||||
|
url: https://review.coreboot.org/coreboot
|
||||||
|
bkup_url: https://github.com/coreboot/coreboot.git
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{docs}{
|
||||||
|
rev: 06ac864b9a738b5daec3736ddb0fb2f94f127ee0
|
||||||
|
loc: docs
|
||||||
|
url: https://codeberg.org/vimuser/untitled
|
||||||
|
bkup_url: https://notabug.org/untitled/untitled
|
||||||
|
depend: mdfiles
|
||||||
|
depend: untitledwww
|
||||||
|
}
|
||||||
|
|
||||||
|
{mdfiles}{
|
||||||
|
rev: 6ebb88528e342cae48ee75a6f1bfa1b71002e1c3
|
||||||
|
loc: docs/www/html
|
||||||
|
url: https://codeberg.org/libreboot/lbwww
|
||||||
|
bkup_url: https://git.disroot.org/libreboot/lbwww
|
||||||
|
depend: imgfiles
|
||||||
|
}
|
||||||
|
|
||||||
|
{imgfiles}{
|
||||||
|
rev: 918c0ba07cf45f07836fa8c312fc51b48db32e0a
|
||||||
|
loc: docs/www/html/site/img
|
||||||
|
url: https://codeberg.org/libreboot/lbwww-img
|
||||||
|
bkup_url: https://git.disroot.org/libreboot/lbwww-img
|
||||||
|
}
|
||||||
|
|
||||||
|
{untitledwww}{
|
||||||
|
rev: 78cdadea40143a7e55b8eae48f4239d31ebb5c16
|
||||||
|
loc: docs/www/untitled
|
||||||
|
url: https://codeberg.org/vimuser/untitled-website
|
||||||
|
bkup_url: https://notabug.org/untitled/untitled-website
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{flashrom}{
|
||||||
|
rev: fba29da188b4a3aa8a3cf6f5a3d13c37a5d9e1d7
|
||||||
|
loc: flashrom
|
||||||
|
url: https://review.coreboot.org/flashrom.git
|
||||||
|
bkup_url: https://github.com/flashrom/flashrom
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{grub}{
|
||||||
|
rev: 64e3cee72ab8f5876abfebb263b5e6cf7c4a9a4e
|
||||||
|
loc: grub
|
||||||
|
url: git://git.savannah.gnu.org/grub.git
|
||||||
|
bkup_url: https://codeberg.org/libreboot/grub
|
||||||
|
depend: gnulib
|
||||||
|
}
|
||||||
|
|
||||||
|
{gnulib}{
|
||||||
|
rev: 9f48fb992a3d7e96610c4ce8be969cff2d61a01b
|
||||||
|
loc: grub/gnulib
|
||||||
|
url: git://git.sv.gnu.org/gnulib
|
||||||
|
bkup_url: https://codeberg.org/libreboot/gnulib
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{memtest86plus}{
|
||||||
|
rev: 5dcd424ea7afb857c1171e747ef064d98d26afeb
|
||||||
|
loc: memtest86plus
|
||||||
|
url: https://codeberg.org/libreboot/memtest86plus
|
||||||
|
bkup_url: https://github.com/memtest86plus/memtest86plus.git
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{pico-sdk}{
|
||||||
|
rev: 6a7db34ff63345a7badec79ebea3aaef1712f374
|
||||||
|
loc: pico-sdk
|
||||||
|
url: https://codeberg.org/libreboot/pico-sdk
|
||||||
|
bkup_url: https://github.com/raspberrypi/pico-sdk
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{pico-serprog}{
|
||||||
|
rev: c8c16e9c11fe9e5b7230ff358f79de3f1951e1d9
|
||||||
|
loc: pico-serprog
|
||||||
|
url: https://codeberg.org/libreboot/pico-serprog
|
||||||
|
bkup_url: https://git.disroot.org/libreboot/pico-serprog
|
||||||
|
depend: pico-sdk
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{seabios}{
|
||||||
|
rev: HEAD
|
||||||
|
loc: seabios/seabios
|
||||||
|
url: https://review.coreboot.org/seabios
|
||||||
|
bkup_url: https://github.com/coreboot/seabios
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{stm32-vserprog}{
|
||||||
|
rev: 8fcf0a4d41800631b571fa7bbd1d8b251f0a2111
|
||||||
|
loc: stm32-vserprog
|
||||||
|
url: https://codeberg.org/libreboot/stm32-vserprog
|
||||||
|
bkup_url: https://git.disroot.org/libreboot/stm32-vserprog
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{u-boot}{
|
||||||
|
rev: HEAD
|
||||||
|
loc: u-boot/u-boot
|
||||||
|
url: https://source.denx.de/u-boot/u-boot.git
|
||||||
|
bkup_url: https://github.com/u-boot/u-boot.git
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{uefitool}{
|
||||||
|
rev: 4a41c33596e9bc3ae812e763965d91ac57553e02
|
||||||
|
loc: uefitool
|
||||||
|
url: https://codeberg.org/libreboot/UEFITool
|
||||||
|
bkup_url: https://github.com/LongSoft/UEFITool
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,2 @@
|
|||||||
|
Copyright (C) 2014, 2015, 2016, 2020, 2021, 2023 Leah Rowe <leah@libreboot.org>
|
||||||
|
Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
|
||||||
@@ -0,0 +1,215 @@
|
|||||||
|
set prefix=(memdisk)/boot/grub
|
||||||
|
|
||||||
|
insmod at_keyboard
|
||||||
|
insmod usb_keyboard
|
||||||
|
insmod nativedisk
|
||||||
|
insmod ehci
|
||||||
|
insmod ohci
|
||||||
|
insmod uhci
|
||||||
|
insmod usb
|
||||||
|
insmod usbms
|
||||||
|
insmod regexp
|
||||||
|
|
||||||
|
terminal_input --append at_keyboard
|
||||||
|
terminal_input --append usb_keyboard
|
||||||
|
terminal_output --append cbmemc
|
||||||
|
|
||||||
|
gfxpayload=keep
|
||||||
|
terminal_output --append gfxterm
|
||||||
|
|
||||||
|
if [ -f (cbfsdisk)/background.png ]; then
|
||||||
|
insmod png
|
||||||
|
background_image (cbfsdisk)/background.png
|
||||||
|
elif [ -f (cbfsdisk)/background.jpg ]; then
|
||||||
|
insmod jpeg
|
||||||
|
background_image (cbfsdisk)/background.jpg
|
||||||
|
fi
|
||||||
|
|
||||||
|
set default="0"
|
||||||
|
if [ -f (cbfsdisk)/timeout.cfg ]; then
|
||||||
|
source (cbfsdisk)/timeout.cfg
|
||||||
|
else
|
||||||
|
set timeout=5
|
||||||
|
fi
|
||||||
|
set grub_scan_disk="both"
|
||||||
|
if [ -f (cbfsdisk)/scan.cfg ]; then
|
||||||
|
source (cbfsdisk)/scan.cfg
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f (cbfsdisk)/keymap.gkb ]; then
|
||||||
|
keymap (cbfsdisk)/keymap.gkb
|
||||||
|
elif [ -f (cbfsdisk)/keymap.cfg ]; then
|
||||||
|
source (cbfsdisk)/keymap.cfg
|
||||||
|
else
|
||||||
|
keymap usqwerty
|
||||||
|
fi
|
||||||
|
|
||||||
|
function try_user_config {
|
||||||
|
set root="${1}"
|
||||||
|
for dir in boot grub grub2 boot/grub boot/grub2; do
|
||||||
|
for name in '' osboot_ autoboot_ libreboot_ coreboot_; do
|
||||||
|
if [ -f /"${dir}"/"${name}"grub.cfg ]; then
|
||||||
|
unset superusers
|
||||||
|
configfile /"${dir}"/"${name}"grub.cfg
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
}
|
||||||
|
function search_grub {
|
||||||
|
echo -n "Attempting to load grub.cfg from '${1}' devices"
|
||||||
|
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||||
|
for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
|
||||||
|
try_user_config "(${1}${i},${part})"
|
||||||
|
done
|
||||||
|
# raw devices e.g. (ahci0) instead of (ahci0,1)
|
||||||
|
try_user_config "(${1}${i})"
|
||||||
|
done
|
||||||
|
echo # Insert newline
|
||||||
|
}
|
||||||
|
|
||||||
|
function try_isolinux_config {
|
||||||
|
set root="${1}"
|
||||||
|
for dir in '' /boot; do
|
||||||
|
if [ -f "${dir}"/isolinux/isolinux.cfg ]; then
|
||||||
|
syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg
|
||||||
|
elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then
|
||||||
|
syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
function search_isolinux {
|
||||||
|
echo "\nAttempting to parse isolinux/syslinux config from '${1}' devices"
|
||||||
|
for i in 0 1 2 3 4 5 6 7 8 9 10 11; do
|
||||||
|
for part in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
|
||||||
|
try_isolinux_config "(${1}${i},${part})"
|
||||||
|
done
|
||||||
|
# raw devices e.g. (usb0) instead of (usb0,1)
|
||||||
|
try_isolinux_config "(${1}${i})"
|
||||||
|
done
|
||||||
|
echo # Insert newline
|
||||||
|
}
|
||||||
|
menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
|
||||||
|
|
||||||
|
if [ "${grub_scan_disk}" != "ata" ]; then
|
||||||
|
search_grub ahci
|
||||||
|
fi
|
||||||
|
if [ "${grub_scan_disk}" != "ahci" ]; then
|
||||||
|
search_grub ata
|
||||||
|
fi
|
||||||
|
|
||||||
|
# grub device enumeration is very slow, so checks are hardcoded
|
||||||
|
|
||||||
|
# TODO: add more strings, based on what distros set up when
|
||||||
|
# the user select auto-partitioning on those installers
|
||||||
|
lvmvol="lvm/grubcrypt-bootvol lvm/grubcrypt-rootvol"
|
||||||
|
|
||||||
|
raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9"
|
||||||
|
|
||||||
|
# in practise, doing multiple redundant checks is perfectly fast and
|
||||||
|
# TODO: optimize grub itself, and use */? here for everything
|
||||||
|
|
||||||
|
for vol in ${lvmvol} ${raidvol} ; do
|
||||||
|
try_user_config "${vol}"
|
||||||
|
done
|
||||||
|
|
||||||
|
unset ahcidev
|
||||||
|
unset atadev
|
||||||
|
for i in 11 10 9 8 7 6 5 4 3 2 1 0; do
|
||||||
|
for part in 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1; do
|
||||||
|
if [ "${grub_scan_disk}" != "ata" ]; then
|
||||||
|
ahcidev="(ahci${i},${part}) ${ahcidev}"
|
||||||
|
fi
|
||||||
|
if [ "${grub_scan_disk}" != "ahci" ]; then
|
||||||
|
atadev="(ata${i},${part}) ${atadev}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
|
set pager=0
|
||||||
|
echo -n "Attempting to unlock encrypted volumes"
|
||||||
|
for dev in ${ahcidev} ${atadev} ${lvmvol} ${raidvol}; do
|
||||||
|
if cryptomount "${dev}" ; then break ; fi
|
||||||
|
done
|
||||||
|
set pager=1
|
||||||
|
echo
|
||||||
|
|
||||||
|
# after cryptomount, lvm volumes might be available
|
||||||
|
for vol in ${lvmvol}; do
|
||||||
|
try_user_config "${vol}"
|
||||||
|
done
|
||||||
|
|
||||||
|
search_grub crypto
|
||||||
|
|
||||||
|
if [ "${grub_scan_disk}" != "ata" ]; then
|
||||||
|
# Last resort, if all else fails
|
||||||
|
set root=ahci0,1
|
||||||
|
for p in / /boot/; do
|
||||||
|
if [ -f "${p}vmlinuz" ]; then
|
||||||
|
linux ${p}vmlinuz root=/dev/sda1 rw
|
||||||
|
if [ -f "${p}initrd.img" ]; then
|
||||||
|
initrd ${p}initrd.img
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${grub_scan_disk}" != "ahci" ]; then
|
||||||
|
# Last resort (for setups that use IDE instead of SATA)
|
||||||
|
set root=ata0,1
|
||||||
|
for p in / /boot/; do
|
||||||
|
if [ -f "${p}vmlinuz" ]; then
|
||||||
|
linux ${p}vmlinuz root=/dev/sda1 rw
|
||||||
|
if [ -f "${p}initrd.img" ]; then
|
||||||
|
initrd ${p}initrd.img
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
true # Prevent pager requiring to accept each line instead of whole screen
|
||||||
|
}
|
||||||
|
|
||||||
|
menuentry 'Find and load GRUB config from USB drive [s]' --hotkey='s' {
|
||||||
|
search_grub usb
|
||||||
|
}
|
||||||
|
menuentry 'Find and load ISOLINUX/EXTLINUX from USB drive [u]' --hotkey='u' {
|
||||||
|
search_isolinux usb
|
||||||
|
}
|
||||||
|
menuentry 'Find and load ISOLINUX/EXTLINUX menu via AHCI [a]' --hotkey='a' {
|
||||||
|
search_isolinux ahci
|
||||||
|
}
|
||||||
|
menuentry 'Find and load ISOLINUX/EXTLINUX menu via ATA/IDE [d]' --hotkey='d' {
|
||||||
|
search_isolinux ata
|
||||||
|
}
|
||||||
|
if [ -f (cbfsdisk)/grubtest.cfg ]; then
|
||||||
|
menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey='t' {
|
||||||
|
set root='(cbfsdisk)'
|
||||||
|
if [ -f /grubtest.cfg ]; then
|
||||||
|
configfile /grubtest.cfg
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
if [ -f (cbfsdisk)/seabios.elf ]; then
|
||||||
|
menuentry 'Load SeaBIOS (payload) [b]' --hotkey='b' {
|
||||||
|
set root='cbfsdisk'
|
||||||
|
chainloader /seabios.elf
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
if [ -f (cbfsdisk)/img/grub2 ]; then
|
||||||
|
menuentry 'Return to SeaBIOS [b]' --hotkey='b' {
|
||||||
|
set root='cbfsdisk'
|
||||||
|
chainloader /fallback/payload
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
menuentry 'Poweroff [p]' --hotkey='p' {
|
||||||
|
halt
|
||||||
|
}
|
||||||
|
menuentry 'Reboot [r]' --hotkey='r' {
|
||||||
|
reboot
|
||||||
|
}
|
||||||
|
if [ -f (cbfsdisk)/img/memtest ]; then
|
||||||
|
menuentry 'Load MemTest86+ [m]' --hotkey='m' {
|
||||||
|
set root='cbfsdisk'
|
||||||
|
chainloader /img/memtest
|
||||||
|
}
|
||||||
|
fi
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
set prefix=(memdisk)/boot/grub
|
||||||
|
|
||||||
|
if [ -f (cbfsdisk)/grub.cfg ]; then
|
||||||
|
source (cbfsdisk)/grub.cfg
|
||||||
|
else
|
||||||
|
source (memdisk)/boot/grub/grub_default.cfg
|
||||||
|
fi
|
||||||
@@ -1,152 +1,24 @@
|
|||||||
# Install modules (installed, but not automatically loaded)
|
# Install modules (installed, but not automatically loaded)
|
||||||
grub_install_modules=" \
|
grub_install_modules=" \
|
||||||
adler32 \
|
|
||||||
affs \
|
|
||||||
afs \
|
|
||||||
all_video \
|
|
||||||
archelp \
|
|
||||||
ata \
|
|
||||||
backtrace \
|
|
||||||
bfs \
|
|
||||||
bitmap \
|
|
||||||
bitmap_scale \
|
|
||||||
blocklist \
|
|
||||||
bswap_test \
|
|
||||||
cmdline_cat_test \
|
|
||||||
cmp \
|
|
||||||
cmp_test \
|
|
||||||
cpio \
|
|
||||||
cpio_be \
|
|
||||||
cpuid \
|
|
||||||
crc64 \
|
|
||||||
cs5536 \
|
|
||||||
ctz_test \
|
|
||||||
div \
|
|
||||||
div_test \
|
|
||||||
dm_nv \
|
|
||||||
efiemu \
|
|
||||||
elf \
|
|
||||||
eval \
|
|
||||||
exfat \
|
|
||||||
exfctest \
|
|
||||||
extcmd \
|
|
||||||
f2fs \
|
|
||||||
file \
|
|
||||||
fshelp \
|
|
||||||
functional_test \
|
|
||||||
gdb \
|
|
||||||
gettext \
|
|
||||||
gptsync \
|
|
||||||
gzio \
|
|
||||||
hashsum \
|
|
||||||
hello \
|
|
||||||
hexdump \
|
hexdump \
|
||||||
hfs \
|
|
||||||
hfsplus \
|
|
||||||
hfspluscomp \
|
|
||||||
http \
|
|
||||||
jfs \
|
|
||||||
jpeg \
|
|
||||||
json \
|
|
||||||
linux16 \
|
|
||||||
loadenv \
|
|
||||||
lzopio \
|
|
||||||
macbless \
|
|
||||||
macho \
|
|
||||||
mda_text \
|
|
||||||
minix \
|
|
||||||
minix2 \
|
|
||||||
minix2_be \
|
|
||||||
minix3 \
|
|
||||||
minix3_be \
|
|
||||||
minix_be \
|
|
||||||
mmap \
|
|
||||||
morse \
|
|
||||||
mpi \
|
|
||||||
msdospart \
|
|
||||||
mul_test \
|
|
||||||
multiboot \
|
|
||||||
multiboot2 \
|
|
||||||
nativedisk \
|
|
||||||
net \
|
|
||||||
newc \
|
newc \
|
||||||
nilfs2 \
|
|
||||||
ntfs \
|
|
||||||
ntfscomp \
|
|
||||||
odc \
|
odc \
|
||||||
offsetio \
|
usbserial_common \
|
||||||
part_acorn \
|
usbserial_ftdi \
|
||||||
part_amiga \
|
usbserial_pl2303 \
|
||||||
part_apple \
|
usbserial_usbdebug \
|
||||||
part_dvh \
|
|
||||||
part_plan \
|
|
||||||
part_sun \
|
|
||||||
part_sunpc \
|
|
||||||
parttool \
|
|
||||||
pbkdf2_test \
|
|
||||||
play \
|
|
||||||
png \
|
|
||||||
priority_queue \
|
|
||||||
procfs \
|
|
||||||
progress \
|
|
||||||
random \
|
|
||||||
rdmsr \
|
|
||||||
read \
|
|
||||||
reiserfs \
|
|
||||||
relocator \
|
|
||||||
scsi \
|
|
||||||
search \
|
|
||||||
search_fs_file \
|
|
||||||
search_fs_uuid \
|
|
||||||
search_label \
|
|
||||||
setjmp \
|
|
||||||
setjmp_test \
|
|
||||||
setpci \
|
|
||||||
sfs \
|
|
||||||
shift_test \
|
|
||||||
signature_test \
|
|
||||||
sleep \
|
|
||||||
sleep_test \
|
|
||||||
smbios \
|
|
||||||
spkmodem \
|
|
||||||
squash4 \
|
|
||||||
strtoull_test \
|
|
||||||
tar \
|
|
||||||
terminfo \
|
|
||||||
test_blockarg \
|
|
||||||
testload \
|
|
||||||
testspeed \
|
|
||||||
tftp \
|
|
||||||
tga \
|
|
||||||
time \
|
|
||||||
tr \
|
|
||||||
trig \
|
|
||||||
true \
|
|
||||||
udf \
|
|
||||||
ufs1 \
|
|
||||||
ufs1_be \
|
|
||||||
ufs2 \
|
|
||||||
usbtest \
|
|
||||||
video_bochs \
|
|
||||||
video_cirrus \
|
|
||||||
video_colors \
|
video_colors \
|
||||||
videoinfo \
|
|
||||||
videotest \
|
|
||||||
videotest_checksum \
|
|
||||||
wrmsr \
|
|
||||||
xnu \
|
|
||||||
xnu_uuid \
|
|
||||||
xnu_uuid_test \
|
|
||||||
xzio \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
# Modules (and always loaded)
|
# Modules (and always loaded)
|
||||||
grub_modules=" \
|
grub_modules=" \
|
||||||
acpi \
|
acpi \
|
||||||
afsplitter \
|
|
||||||
ahci \
|
ahci \
|
||||||
aout \
|
|
||||||
at_keyboard \
|
at_keyboard \
|
||||||
|
all_video \
|
||||||
|
ata \
|
||||||
|
bitmap \
|
||||||
|
bitmap_scale \
|
||||||
boot \
|
boot \
|
||||||
bsd \
|
bsd \
|
||||||
btrfs \
|
btrfs \
|
||||||
@@ -156,20 +28,19 @@ cbls \
|
|||||||
cbmemc \
|
cbmemc \
|
||||||
cbtime \
|
cbtime \
|
||||||
chain \
|
chain \
|
||||||
cmosdump \
|
|
||||||
cmostest \
|
|
||||||
configfile \
|
configfile \
|
||||||
|
cpio \
|
||||||
|
cpio_be \
|
||||||
|
crc64 \
|
||||||
crypto \
|
crypto \
|
||||||
cryptodisk \
|
cryptodisk \
|
||||||
date \
|
|
||||||
datehook \
|
|
||||||
datetime \
|
|
||||||
disk \
|
|
||||||
diskfilter \
|
diskfilter \
|
||||||
echo \
|
echo \
|
||||||
ehci \
|
ehci \
|
||||||
|
eval \
|
||||||
|
elf \
|
||||||
ext2 \
|
ext2 \
|
||||||
fat \
|
f2fs \
|
||||||
gcry_arcfour \
|
gcry_arcfour \
|
||||||
gcry_blowfish \
|
gcry_blowfish \
|
||||||
gcry_camellia \
|
gcry_camellia \
|
||||||
@@ -196,16 +67,19 @@ geli \
|
|||||||
gfxmenu \
|
gfxmenu \
|
||||||
gfxterm_background \
|
gfxterm_background \
|
||||||
gfxterm_menu \
|
gfxterm_menu \
|
||||||
|
gzio \
|
||||||
|
hashsum \
|
||||||
halt \
|
halt \
|
||||||
hdparm \
|
|
||||||
help \
|
help \
|
||||||
iorw \
|
iorw \
|
||||||
iso9660 \
|
iso9660 \
|
||||||
|
jpeg \
|
||||||
json \
|
json \
|
||||||
keylayouts \
|
keylayouts \
|
||||||
keystatus \
|
keystatus \
|
||||||
ldm \
|
|
||||||
linux \
|
linux \
|
||||||
|
linux16 \
|
||||||
|
loadenv \
|
||||||
loopback \
|
loopback \
|
||||||
ls \
|
ls \
|
||||||
lsacpi \
|
lsacpi \
|
||||||
@@ -213,13 +87,19 @@ lsmmap \
|
|||||||
lspci \
|
lspci \
|
||||||
luks \
|
luks \
|
||||||
luks2 \
|
luks2 \
|
||||||
|
argon2 \
|
||||||
lvm \
|
lvm \
|
||||||
|
lzopio \
|
||||||
mdraid09 \
|
mdraid09 \
|
||||||
mdraid09_be \
|
mdraid09_be \
|
||||||
mdraid1x \
|
mdraid1x \
|
||||||
memdisk \
|
memdisk \
|
||||||
memrw \
|
memrw \
|
||||||
minicmd \
|
minicmd \
|
||||||
|
mmap \
|
||||||
|
multiboot \
|
||||||
|
multiboot2 \
|
||||||
|
nativedisk \
|
||||||
normal \
|
normal \
|
||||||
ohci \
|
ohci \
|
||||||
part_bsd \
|
part_bsd \
|
||||||
@@ -230,28 +110,42 @@ password \
|
|||||||
password_pbkdf2 \
|
password_pbkdf2 \
|
||||||
pata \
|
pata \
|
||||||
pbkdf2 \
|
pbkdf2 \
|
||||||
pci \
|
|
||||||
pcidump \
|
pcidump \
|
||||||
pgp \
|
pgp \
|
||||||
probe \
|
play \
|
||||||
|
png \
|
||||||
|
procfs \
|
||||||
raid5rec \
|
raid5rec \
|
||||||
raid6rec \
|
raid6rec \
|
||||||
|
read \
|
||||||
reboot \
|
reboot \
|
||||||
regexp \
|
regexp \
|
||||||
romfs \
|
romfs \
|
||||||
|
scsi \
|
||||||
|
search \
|
||||||
|
search_fs_file \
|
||||||
|
search_fs_uuid \
|
||||||
|
search_label \
|
||||||
serial \
|
serial \
|
||||||
syslinuxcfg \
|
syslinuxcfg \
|
||||||
terminal \
|
setjmp \
|
||||||
|
setpci \
|
||||||
|
spkmodem \
|
||||||
|
squash4 \
|
||||||
|
sleep \
|
||||||
|
tar \
|
||||||
test \
|
test \
|
||||||
|
true \
|
||||||
uhci \
|
uhci \
|
||||||
|
udf \
|
||||||
|
ufs1 \
|
||||||
|
ufs1_be \
|
||||||
|
ufs2 \
|
||||||
usb \
|
usb \
|
||||||
usb_keyboard \
|
usb_keyboard \
|
||||||
usbms \
|
usbms \
|
||||||
usbserial_common \
|
|
||||||
usbserial_ftdi \
|
|
||||||
usbserial_pl2303 \
|
|
||||||
usbserial_usbdebug \
|
|
||||||
xfs \
|
xfs \
|
||||||
|
xzio \
|
||||||
zfs \
|
zfs \
|
||||||
zfscrypt \
|
zfscrypt \
|
||||||
zfsinfo \
|
zfsinfo \
|
||||||
+3
-3
@@ -1,7 +1,7 @@
|
|||||||
From 2abd6ada3fbd6a782346354b8fe47477463162fb Mon Sep 17 00:00:00 2001
|
From ce13539fe2103abbd991814d995e06cf96e485f7 Mon Sep 17 00:00:00 2001
|
||||||
From: Leah Rowe <leah@libreboot.org>
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
Date: Sun, 31 Oct 2021 03:47:05 +0000
|
Date: Sun, 31 Oct 2021 03:47:05 +0000
|
||||||
Subject: [PATCH 1/2] mitigate grub's missing characters for borders/arrow
|
Subject: [PATCH 1/3] mitigate grub's missing characters for borders/arrow
|
||||||
characters
|
characters
|
||||||
|
|
||||||
This cleans up the display on the main screen in GRUB.
|
This cleans up the display on the main screen in GRUB.
|
||||||
@@ -12,7 +12,7 @@ Just don't draw a border, at all.
|
|||||||
1 file changed, 2 insertions(+), 47 deletions(-)
|
1 file changed, 2 insertions(+), 47 deletions(-)
|
||||||
|
|
||||||
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
|
diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
|
||||||
index 18240e76c..4d6282b43 100644
|
index b1321eb26..e76094dfd 100644
|
||||||
--- a/grub-core/normal/menu_text.c
|
--- a/grub-core/normal/menu_text.c
|
||||||
+++ b/grub-core/normal/menu_text.c
|
+++ b/grub-core/normal/menu_text.c
|
||||||
@@ -108,47 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
|
@@ -108,47 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
|
||||||
+5
-5
@@ -1,14 +1,14 @@
|
|||||||
From f1f995a20cd246448881b4ee23375d25baf89a9e Mon Sep 17 00:00:00 2001
|
From 70f9e72c3ff6381fe3519612de3b649c0cf26b9a Mon Sep 17 00:00:00 2001
|
||||||
From: Leah Rowe <leah@libreboot.org>
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
Date: Sun, 31 Oct 2021 03:49:26 +0000
|
Date: Sat, 19 Nov 2022 16:30:24 +0000
|
||||||
Subject: [PATCH 2/2] display free as in freedom instead of grub version
|
Subject: [PATCH 2/3] say the name libreboot, in the grub menu
|
||||||
|
|
||||||
---
|
---
|
||||||
grub-core/normal/main.c | 2 +-
|
grub-core/normal/main.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
|
diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
|
||||||
index c4ebe9e22..6784d4154 100644
|
index bd4431000..31308e16a 100644
|
||||||
--- a/grub-core/normal/main.c
|
--- a/grub-core/normal/main.c
|
||||||
+++ b/grub-core/normal/main.c
|
+++ b/grub-core/normal/main.c
|
||||||
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
|
@@ -209,7 +209,7 @@ grub_normal_init_page (struct grub_term_output *term,
|
||||||
@@ -16,7 +16,7 @@ index c4ebe9e22..6784d4154 100644
|
|||||||
grub_term_cls (term);
|
grub_term_cls (term);
|
||||||
|
|
||||||
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
|
||||||
+ msg_formatted = grub_xasprintf (_("FREE AS IN FREEDOM"));
|
+ msg_formatted = grub_xasprintf (_("Libreboot 20231106 release, based on coreboot. https://libreboot.org/"));
|
||||||
if (!msg_formatted)
|
if (!msg_formatted)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
From de6e7cc62522ce1be21bd2f06e7c15cd234b5426 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ax333l <main@axelen.xyz>
|
||||||
|
Date: Thu, 17 Aug 2023 00:00:00 +0000
|
||||||
|
Subject: [PATCH 1/6] Add CC0 license
|
||||||
|
|
||||||
|
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
|
||||||
|
---
|
||||||
|
grub-core/kern/dl.c | 3 ++-
|
||||||
|
util/grub-module-verifierXX.c | 3 ++-
|
||||||
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
|
||||||
|
index 0bf40caa6..4011e2d15 100644
|
||||||
|
--- a/grub-core/kern/dl.c
|
||||||
|
+++ b/grub-core/kern/dl.c
|
||||||
|
@@ -470,7 +470,8 @@ grub_dl_check_license (grub_dl_t mod, Elf_Ehdr *e)
|
||||||
|
|
||||||
|
if (grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3") == 0
|
||||||
|
|| grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv3+") == 0
|
||||||
|
- || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0)
|
||||||
|
+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=GPLv2+") == 0
|
||||||
|
+ || grub_strcmp ((char *) e + s->sh_offset, "LICENSE=CC0") == 0)
|
||||||
|
return GRUB_ERR_NONE;
|
||||||
|
|
||||||
|
return grub_error (GRUB_ERR_BAD_MODULE,
|
||||||
|
diff --git a/util/grub-module-verifierXX.c b/util/grub-module-verifierXX.c
|
||||||
|
index a42c20bd1..7157a30aa 100644
|
||||||
|
--- a/util/grub-module-verifierXX.c
|
||||||
|
+++ b/util/grub-module-verifierXX.c
|
||||||
|
@@ -236,7 +236,8 @@ check_license (const char * const filename,
|
||||||
|
Elf_Shdr *s = find_section (arch, e, ".module_license", module_size);
|
||||||
|
if (s && (strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3") == 0
|
||||||
|
|| strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv3+") == 0
|
||||||
|
- || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0))
|
||||||
|
+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=GPLv2+") == 0
|
||||||
|
+ || strcmp ((char *) e + grub_target_to_host(s->sh_offset), "LICENSE=CC0") == 0))
|
||||||
|
return;
|
||||||
|
grub_util_error ("%s: incompatible license", filename);
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
From 9edaaffac91d593a439e44bac3b6f5558f5a8245 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ax333l <main@axelen.xyz>
|
||||||
|
Date: Thu, 17 Aug 2023 00:00:00 +0000
|
||||||
|
Subject: [PATCH 2/6] Define GRUB_UINT32_MAX
|
||||||
|
|
||||||
|
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
|
||||||
|
---
|
||||||
|
include/grub/types.h | 8 ++++++++
|
||||||
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/grub/types.h b/include/grub/types.h
|
||||||
|
index 0d96006fe..a13f3a60b 100644
|
||||||
|
--- a/include/grub/types.h
|
||||||
|
+++ b/include/grub/types.h
|
||||||
|
@@ -156,6 +156,7 @@ typedef grub_int32_t grub_ssize_t;
|
||||||
|
#define GRUB_SHRT_MAX 0x7fff
|
||||||
|
#define GRUB_SHRT_MIN (-GRUB_SHRT_MAX - 1)
|
||||||
|
#define GRUB_UINT_MAX 4294967295U
|
||||||
|
+#define GRUB_UINT32_MAX 4294967295U
|
||||||
|
#define GRUB_INT_MAX 0x7fffffff
|
||||||
|
#define GRUB_INT_MIN (-GRUB_INT_MAX - 1)
|
||||||
|
#define GRUB_INT32_MAX 2147483647
|
||||||
|
@@ -177,6 +178,13 @@ typedef grub_int32_t grub_ssize_t;
|
||||||
|
#define GRUB_TYPE_U_MAX(type) ((unsigned long long)((typeof (type))(~0)))
|
||||||
|
#define GRUB_TYPE_U_MIN(type) 0ULL
|
||||||
|
|
||||||
|
+# define GRUB_UINT32_C(x) x ## U
|
||||||
|
+# if GRUB_ULONG_MAX >> 31 >> 31 >> 1 == 1
|
||||||
|
+# define GRUB_UINT64_C(x) x##UL
|
||||||
|
+# elif 1
|
||||||
|
+# define GRUB_UINT64_C(x) x##ULL
|
||||||
|
+# endif
|
||||||
|
+
|
||||||
|
typedef grub_uint64_t grub_properly_aligned_t;
|
||||||
|
|
||||||
|
#define GRUB_PROPERLY_ALIGNED_ARRAY(name, size) grub_properly_aligned_t name[((size) + sizeof (grub_properly_aligned_t) - 1) / sizeof (grub_properly_aligned_t)]
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
|||||||
|
From 0044d32121bf52c4547c6b3c78f12d7305f57e6b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ax333l <main@axelen.xyz>
|
||||||
|
Date: Thu, 17 Aug 2023 00:00:00 +0000
|
||||||
|
Subject: [PATCH 4/6] Error on missing Argon2id parameters
|
||||||
|
|
||||||
|
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
|
||||||
|
---
|
||||||
|
grub-core/disk/luks2.c | 13 ++++++++-----
|
||||||
|
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
|
||||||
|
index d5106402f..bc818ea69 100644
|
||||||
|
--- a/grub-core/disk/luks2.c
|
||||||
|
+++ b/grub-core/disk/luks2.c
|
||||||
|
@@ -38,6 +38,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||||
|
enum grub_luks2_kdf_type
|
||||||
|
{
|
||||||
|
LUKS2_KDF_TYPE_ARGON2I,
|
||||||
|
+ LUKS2_KDF_TYPE_ARGON2ID,
|
||||||
|
LUKS2_KDF_TYPE_PBKDF2
|
||||||
|
};
|
||||||
|
typedef enum grub_luks2_kdf_type grub_luks2_kdf_type_t;
|
||||||
|
@@ -90,7 +91,7 @@ struct grub_luks2_keyslot
|
||||||
|
grub_int64_t time;
|
||||||
|
grub_int64_t memory;
|
||||||
|
grub_int64_t cpus;
|
||||||
|
- } argon2i;
|
||||||
|
+ } argon2;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
const char *hash;
|
||||||
|
@@ -160,10 +161,11 @@ luks2_parse_keyslot (grub_luks2_keyslot_t *out, const grub_json_t *keyslot)
|
||||||
|
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing or invalid KDF");
|
||||||
|
else if (!grub_strcmp (type, "argon2i") || !grub_strcmp (type, "argon2id"))
|
||||||
|
{
|
||||||
|
- out->kdf.type = LUKS2_KDF_TYPE_ARGON2I;
|
||||||
|
- if (grub_json_getint64 (&out->kdf.u.argon2i.time, &kdf, "time") ||
|
||||||
|
- grub_json_getint64 (&out->kdf.u.argon2i.memory, &kdf, "memory") ||
|
||||||
|
- grub_json_getint64 (&out->kdf.u.argon2i.cpus, &kdf, "cpus"))
|
||||||
|
+ out->kdf.type = !grub_strcmp (type, "argon2i")
|
||||||
|
+ ? LUKS2_KDF_TYPE_ARGON2I : LUKS2_KDF_TYPE_ARGON2ID;
|
||||||
|
+ if (grub_json_getint64 (&out->kdf.u.argon2.time, &kdf, "time") ||
|
||||||
|
+ grub_json_getint64 (&out->kdf.u.argon2.memory, &kdf, "memory") ||
|
||||||
|
+ grub_json_getint64 (&out->kdf.u.argon2.cpus, &kdf, "cpus"))
|
||||||
|
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Missing Argon2i parameters");
|
||||||
|
}
|
||||||
|
else if (!grub_strcmp (type, "pbkdf2"))
|
||||||
|
@@ -459,6 +461,7 @@ luks2_decrypt_key (grub_uint8_t *out_key,
|
||||||
|
switch (k->kdf.type)
|
||||||
|
{
|
||||||
|
case LUKS2_KDF_TYPE_ARGON2I:
|
||||||
|
+ case LUKS2_KDF_TYPE_ARGON2ID:
|
||||||
|
ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
|
||||||
|
goto err;
|
||||||
|
case LUKS2_KDF_TYPE_PBKDF2:
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
From 0a21695c55f76f1c958bb633481d55b3168562f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ax333l <main@axelen.xyz>
|
||||||
|
Date: Thu, 17 Aug 2023 00:00:00 +0000
|
||||||
|
Subject: [PATCH 5/6] Compile with Argon2id support
|
||||||
|
|
||||||
|
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
|
||||||
|
---
|
||||||
|
Makefile.util.def | 6 +++++-
|
||||||
|
grub-core/Makefile.core.def | 2 +-
|
||||||
|
grub-core/disk/luks2.c | 13 +++++++++++--
|
||||||
|
3 files changed, 17 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.util.def b/Makefile.util.def
|
||||||
|
index 1e9a13d3e..a167825c3 100644
|
||||||
|
--- a/Makefile.util.def
|
||||||
|
+++ b/Makefile.util.def
|
||||||
|
@@ -3,7 +3,7 @@ AutoGen definitions Makefile.tpl;
|
||||||
|
library = {
|
||||||
|
name = libgrubkern.a;
|
||||||
|
cflags = '$(CFLAGS_GNULIB)';
|
||||||
|
- cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json';
|
||||||
|
+ cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json -I$(srcdir)/grub-core/lib/argon2';
|
||||||
|
|
||||||
|
common = util/misc.c;
|
||||||
|
common = grub-core/kern/command.c;
|
||||||
|
@@ -36,6 +36,10 @@ library = {
|
||||||
|
common = grub-core/kern/misc.c;
|
||||||
|
common = grub-core/kern/partition.c;
|
||||||
|
common = grub-core/lib/crypto.c;
|
||||||
|
+ common = grub-core/lib/argon2/argon2.c;
|
||||||
|
+ common = grub-core/lib/argon2/core.c;
|
||||||
|
+ common = grub-core/lib/argon2/ref.c;
|
||||||
|
+ common = grub-core/lib/argon2/blake2/blake2b.c;
|
||||||
|
common = grub-core/lib/json/json.c;
|
||||||
|
common = grub-core/disk/luks.c;
|
||||||
|
common = grub-core/disk/luks2.c;
|
||||||
|
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
|
||||||
|
index 4a06789e5..e939dcc99 100644
|
||||||
|
--- a/grub-core/Makefile.core.def
|
||||||
|
+++ b/grub-core/Makefile.core.def
|
||||||
|
@@ -1238,7 +1238,7 @@ module = {
|
||||||
|
common = disk/luks2.c;
|
||||||
|
common = lib/gnulib/base64.c;
|
||||||
|
cflags = '$(CFLAGS_POSIX) $(CFLAGS_GNULIB)';
|
||||||
|
- cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json';
|
||||||
|
+ cppflags = '$(CPPFLAGS_POSIX) $(CPPFLAGS_GNULIB) -I$(srcdir)/lib/json -I$(srcdir)/lib/argon2';
|
||||||
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
diff --git a/grub-core/disk/luks2.c b/grub-core/disk/luks2.c
|
||||||
|
index bc818ea69..5b9eaa599 100644
|
||||||
|
--- a/grub-core/disk/luks2.c
|
||||||
|
+++ b/grub-core/disk/luks2.c
|
||||||
|
@@ -27,6 +27,7 @@
|
||||||
|
#include <grub/partition.h>
|
||||||
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
+#include <argon2.h>
|
||||||
|
#include <base64.h>
|
||||||
|
#include <json.h>
|
||||||
|
|
||||||
|
@@ -462,8 +463,16 @@ luks2_decrypt_key (grub_uint8_t *out_key,
|
||||||
|
{
|
||||||
|
case LUKS2_KDF_TYPE_ARGON2I:
|
||||||
|
case LUKS2_KDF_TYPE_ARGON2ID:
|
||||||
|
- ret = grub_error (GRUB_ERR_BAD_ARGUMENT, "Argon2 not supported");
|
||||||
|
- goto err;
|
||||||
|
+ ret = argon2_hash (k->kdf.u.argon2.time, k->kdf.u.argon2.memory, k->kdf.u.argon2.cpus,
|
||||||
|
+ passphrase, passphraselen, salt, saltlen, area_key, k->area.key_size,
|
||||||
|
+ k->kdf.type == LUKS2_KDF_TYPE_ARGON2I ? Argon2_i : Argon2_id,
|
||||||
|
+ ARGON2_VERSION_NUMBER);
|
||||||
|
+ if (ret)
|
||||||
|
+ {
|
||||||
|
+ grub_dprintf ("luks2", "Argon2 failed: %s\n", argon2_error_message (ret));
|
||||||
|
+ goto err;
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
case LUKS2_KDF_TYPE_PBKDF2:
|
||||||
|
hash = grub_crypto_lookup_md_by_name (k->kdf.u.pbkdf2.hash);
|
||||||
|
if (!hash)
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
From 6c9a6625c0dc038d1bdbdc13665f40e269e86496 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ax333l <main@axelen.xyz>
|
||||||
|
Date: Thu, 17 Aug 2023 00:00:00 +0000
|
||||||
|
Subject: [PATCH 6/6] Make grub-install work with Argon2
|
||||||
|
|
||||||
|
Signed-off-by: Nicholas Johnson <nick@nicholasjohnson.ch>
|
||||||
|
---
|
||||||
|
util/grub-install.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/util/grub-install.c b/util/grub-install.c
|
||||||
|
index 1ad04db36..a8a3330b8 100644
|
||||||
|
--- a/util/grub-install.c
|
||||||
|
+++ b/util/grub-install.c
|
||||||
|
@@ -448,6 +448,8 @@ probe_mods (grub_disk_t disk)
|
||||||
|
{
|
||||||
|
grub_util_cryptodisk_get_abstraction (disk,
|
||||||
|
push_cryptodisk_module, NULL);
|
||||||
|
+ /* HACK: always push argon2 */
|
||||||
|
+ grub_install_push_module ("argon2");
|
||||||
|
have_abstractions = 1;
|
||||||
|
have_cryptodisk = 1;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
+107
@@ -0,0 +1,107 @@
|
|||||||
|
From 96c0bbe5d406b616360a7fce7cee67d7692c0d6d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Mon, 30 Oct 2023 22:19:21 +0000
|
||||||
|
Subject: [PATCH 1/1] at_keyboard coreboot: force scancodes2+translate
|
||||||
|
|
||||||
|
Scan code set 2 with translation should be assumed in
|
||||||
|
every case, as the default starting position.
|
||||||
|
|
||||||
|
However, GRUB is trying to detect and use other modes
|
||||||
|
such as set 2 without translation, or set 1 without
|
||||||
|
translation from set 2; it also detects no-mode and
|
||||||
|
assumes mode 1, on really old keyboards.
|
||||||
|
|
||||||
|
The current behaviour has been retained, for everything
|
||||||
|
except GRUB_MACHINE_COREBOOT; for the latter, scan code
|
||||||
|
set 2 with translation is hardcoded, and forced in code.
|
||||||
|
|
||||||
|
This is required to make keyboard initialisation work on
|
||||||
|
the MEC5035 EC used by the Dell Latitude E6400, when
|
||||||
|
running GRUB as a coreboot payload on that laptop. The
|
||||||
|
EC reports scancode set 2 with translation when probed,
|
||||||
|
but actually only outputs scancode set 1.
|
||||||
|
|
||||||
|
Since GRUB is attempting to use it without translation,
|
||||||
|
and since the machine reports set 2 with translation,
|
||||||
|
but only ever outputs set 1 scancodes, this results in
|
||||||
|
wrong keypresses for every key.
|
||||||
|
|
||||||
|
This fix fixed that, by forcing set 2 with translation,
|
||||||
|
treating it as set 1, but only on coreboot. This is the
|
||||||
|
same behaviour used in GNU+Linux systems and SeaBIOS.
|
||||||
|
With this change, GRUB keyboard initialisation now works
|
||||||
|
just fine on those machines.
|
||||||
|
|
||||||
|
This has *also* been tested on other coreboot machines
|
||||||
|
running GRUB; several HP EliteBooks, ThinkPads and
|
||||||
|
Dell Precision T1650. All seems to work just fine.
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
grub-core/term/at_keyboard.c | 20 ++++++++++++++++++--
|
||||||
|
1 file changed, 18 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c
|
||||||
|
index f8a129eb7..8207225c2 100644
|
||||||
|
--- a/grub-core/term/at_keyboard.c
|
||||||
|
+++ b/grub-core/term/at_keyboard.c
|
||||||
|
@@ -138,6 +138,7 @@ write_mode (int mode)
|
||||||
|
return (i != GRUB_AT_TRIES);
|
||||||
|
}
|
||||||
|
|
||||||
|
+#if !defined (GRUB_MACHINE_COREBOOT)
|
||||||
|
static int
|
||||||
|
query_mode (void)
|
||||||
|
{
|
||||||
|
@@ -161,10 +162,12 @@ query_mode (void)
|
||||||
|
return 3;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
static void
|
||||||
|
set_scancodes (void)
|
||||||
|
{
|
||||||
|
+#if !defined (GRUB_MACHINE_COREBOOT)
|
||||||
|
/* You must have visited computer museum. Keyboard without scancode set
|
||||||
|
knowledge. Assume XT. */
|
||||||
|
if (!grub_keyboard_orig_set)
|
||||||
|
@@ -173,20 +176,33 @@ set_scancodes (void)
|
||||||
|
ps2_state.current_set = 1;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#if !USE_SCANCODE_SET
|
||||||
|
ps2_state.current_set = 1;
|
||||||
|
return;
|
||||||
|
-#else
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
+#if defined (GRUB_MACHINE_COREBOOT)
|
||||||
|
+ /* enable translation */
|
||||||
|
+ grub_keyboard_controller_write (grub_keyboard_controller_orig
|
||||||
|
+ & ~KEYBOARD_AT_DISABLE);
|
||||||
|
+#else
|
||||||
|
+ /* if not coreboot, disable translation and try mode 2 first, before 1 */
|
||||||
|
grub_keyboard_controller_write (grub_keyboard_controller_orig
|
||||||
|
& ~KEYBOARD_AT_TRANSLATE
|
||||||
|
& ~KEYBOARD_AT_DISABLE);
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
keyboard_controller_wait_until_ready ();
|
||||||
|
grub_outb (KEYBOARD_COMMAND_ENABLE, KEYBOARD_REG_DATA);
|
||||||
|
-
|
||||||
|
write_mode (2);
|
||||||
|
+
|
||||||
|
+#if defined (GRUB_MACHINE_COREBOOT)
|
||||||
|
+ /* mode 2 with translation, so make grub treat as set 1 */
|
||||||
|
+ ps2_state.current_set = 1;
|
||||||
|
+#else
|
||||||
|
+ /* if not coreboot, translation isn't set; test 2 and fall back to 1 */
|
||||||
|
ps2_state.current_set = query_mode ();
|
||||||
|
grub_dprintf ("atkeyb", "returned set %d\n", ps2_state.current_set);
|
||||||
|
if (ps2_state.current_set == 2)
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
+38
@@ -0,0 +1,38 @@
|
|||||||
|
From 0a6abeb40ac4284fbff6ef5958989d561b6290a7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Tue, 31 Oct 2023 10:33:28 +0000
|
||||||
|
Subject: [PATCH 1/1] keylayouts: don't print "Unknown key" message
|
||||||
|
|
||||||
|
on keyboards with stuck keys, this results in GRUB just
|
||||||
|
spewing it repeatedly, preventing use of GRUB.
|
||||||
|
|
||||||
|
in such cases, it's still possible to use the keyboard,
|
||||||
|
and we should let the user at least boot.
|
||||||
|
|
||||||
|
it often appears when people plug in faulty usb keyboards,
|
||||||
|
but can appear for laptop keyboards too; one of my e6400
|
||||||
|
has stuck keys.
|
||||||
|
|
||||||
|
with this patch, grub should be a bit more reliable in
|
||||||
|
terms of user experience, when the keyboard is faulty.
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
grub-core/commands/keylayouts.c | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c
|
||||||
|
index aa3ba34f2..445fa0601 100644
|
||||||
|
--- a/grub-core/commands/keylayouts.c
|
||||||
|
+++ b/grub-core/commands/keylayouts.c
|
||||||
|
@@ -174,7 +174,6 @@ grub_term_map_key (grub_keyboard_key_t code, int status)
|
||||||
|
key = map_key_core (code, status, &alt_gr_consumed);
|
||||||
|
|
||||||
|
if (key == 0 || key == GRUB_TERM_SHIFT) {
|
||||||
|
- grub_printf ("Unknown key 0x%x detected\n", code);
|
||||||
|
return GRUB_TERM_NO_KEY;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
+102
@@ -0,0 +1,102 @@
|
|||||||
|
From 9e7a651a0f15f2e9dec65a77765c3c4fd97b4165 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Sun, 5 Nov 2023 16:14:58 +0000
|
||||||
|
Subject: [PATCH 1/1] don't print missing prefix errors on the screen
|
||||||
|
|
||||||
|
we do actually set the prefix. this patch modifies
|
||||||
|
grub to still set grub_errno and return accordingly,
|
||||||
|
so the behaviour is otherwise identical, but it will
|
||||||
|
no longer print a warning message on the screen.
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
grub-core/commands/keylayouts.c | 2 +-
|
||||||
|
grub-core/commands/loadenv.c | 2 +-
|
||||||
|
grub-core/commands/nativedisk.c | 2 +-
|
||||||
|
grub-core/efiemu/main.c | 3 +--
|
||||||
|
grub-core/font/font.c | 2 +-
|
||||||
|
grub-core/kern/dl.c | 2 +-
|
||||||
|
6 files changed, 6 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c
|
||||||
|
index 445fa0601..00bcf7025 100644
|
||||||
|
--- a/grub-core/commands/keylayouts.c
|
||||||
|
+++ b/grub-core/commands/keylayouts.c
|
||||||
|
@@ -211,7 +211,7 @@ grub_cmd_keymap (struct grub_command *cmd __attribute__ ((unused)),
|
||||||
|
{
|
||||||
|
const char *prefix = grub_env_get ("prefix");
|
||||||
|
if (!prefix)
|
||||||
|
- return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ return (grub_errno = GRUB_ERR_BAD_ARGUMENT);
|
||||||
|
filename = grub_xasprintf ("%s/layouts/%s.gkb", prefix, argv[0]);
|
||||||
|
if (!filename)
|
||||||
|
return grub_errno;
|
||||||
|
diff --git a/grub-core/commands/loadenv.c b/grub-core/commands/loadenv.c
|
||||||
|
index 166445849..699b39bfa 100644
|
||||||
|
--- a/grub-core/commands/loadenv.c
|
||||||
|
+++ b/grub-core/commands/loadenv.c
|
||||||
|
@@ -58,7 +58,7 @@ open_envblk_file (char *filename,
|
||||||
|
prefix = grub_env_get ("prefix");
|
||||||
|
if (! prefix)
|
||||||
|
{
|
||||||
|
- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
|
||||||
|
index 580c8d3b0..6806bff9c 100644
|
||||||
|
--- a/grub-core/commands/nativedisk.c
|
||||||
|
+++ b/grub-core/commands/nativedisk.c
|
||||||
|
@@ -186,7 +186,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)),
|
||||||
|
prefix = grub_env_get ("prefix");
|
||||||
|
|
||||||
|
if (! prefix)
|
||||||
|
- return grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ return (grub_errno = GRUB_ERR_FILE_NOT_FOUND);
|
||||||
|
|
||||||
|
if (prefix)
|
||||||
|
path_prefix = (prefix[0] == '(') ? grub_strchr (prefix, ')') : NULL;
|
||||||
|
diff --git a/grub-core/efiemu/main.c b/grub-core/efiemu/main.c
|
||||||
|
index e7037f4ed..e5d4dbff1 100644
|
||||||
|
--- a/grub-core/efiemu/main.c
|
||||||
|
+++ b/grub-core/efiemu/main.c
|
||||||
|
@@ -231,8 +231,7 @@ grub_efiemu_autocore (void)
|
||||||
|
prefix = grub_env_get ("prefix");
|
||||||
|
|
||||||
|
if (! prefix)
|
||||||
|
- return grub_error (GRUB_ERR_FILE_NOT_FOUND,
|
||||||
|
- N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ return (grub_errno = GRUB_ERR_FILE_NOT_FOUND);
|
||||||
|
|
||||||
|
suffix = grub_efiemu_get_default_core_name ();
|
||||||
|
|
||||||
|
diff --git a/grub-core/font/font.c b/grub-core/font/font.c
|
||||||
|
index 18de52562..2a0fea6c8 100644
|
||||||
|
--- a/grub-core/font/font.c
|
||||||
|
+++ b/grub-core/font/font.c
|
||||||
|
@@ -461,7 +461,7 @@ grub_font_load (const char *filename)
|
||||||
|
|
||||||
|
if (!prefix)
|
||||||
|
{
|
||||||
|
- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
file = try_open_from_prefix (prefix, filename);
|
||||||
|
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
|
||||||
|
index 4011e2d15..af3bd00d0 100644
|
||||||
|
--- a/grub-core/kern/dl.c
|
||||||
|
+++ b/grub-core/kern/dl.c
|
||||||
|
@@ -758,7 +758,7 @@ grub_dl_load (const char *name)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (! grub_dl_dir) {
|
||||||
|
- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
|
||||||
|
+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
From 6237c5762edccc1e1fa4746b1d4aa5e8d81e4883 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Sun, 5 Nov 2023 16:36:22 +0000
|
||||||
|
Subject: [PATCH 1/1] don't print error if module not found
|
||||||
|
|
||||||
|
still set grub_errno accordingly, and otherwise
|
||||||
|
behave the same. in libreboot, we remove a lot of
|
||||||
|
modules but then rely on loading a grub.cfg
|
||||||
|
provided by a distro; in almost all cases that works,
|
||||||
|
but also in almost all cases, that will try to load
|
||||||
|
a module we don't actually need, but then it prints
|
||||||
|
a message. this can annoy some users, so silence it.
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
grub-core/kern/dl.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
|
||||||
|
index af3bd00d0..21d0cedb1 100644
|
||||||
|
--- a/grub-core/kern/dl.c
|
||||||
|
+++ b/grub-core/kern/dl.c
|
||||||
|
@@ -486,7 +486,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
|
||||||
|
|
||||||
|
s = grub_dl_find_section (e, ".modname");
|
||||||
|
if (!s)
|
||||||
|
- return grub_error (GRUB_ERR_BAD_MODULE, "no module name found");
|
||||||
|
+ return (grub_errno = GRUB_ERR_BAD_MODULE);
|
||||||
|
|
||||||
|
mod->name = grub_strdup ((char *) e + s->sh_offset);
|
||||||
|
if (! mod->name)
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
From e5b7ec81421487e71bcaf8b6b5a27f3649a62753 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Sun, 5 Nov 2023 17:25:20 +0000
|
||||||
|
Subject: [PATCH 1/1] don't print empty error messages
|
||||||
|
|
||||||
|
this is part two of the quest to kill the prefix
|
||||||
|
error message. after i disabled prefix-related
|
||||||
|
messages, it still printed "error: ." on screen.
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
grub-core/kern/err.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
|
||||||
|
index 53c734de7..7cac53983 100644
|
||||||
|
--- a/grub-core/kern/err.c
|
||||||
|
+++ b/grub-core/kern/err.c
|
||||||
|
@@ -107,7 +107,8 @@ grub_print_error (void)
|
||||||
|
{
|
||||||
|
if (grub_errno != GRUB_ERR_NONE)
|
||||||
|
{
|
||||||
|
- grub_err_printf (_("error: %s.\n"), grub_errmsg);
|
||||||
|
+ if (grub_strlen(grub_errmsg) > 0)
|
||||||
|
+ grub_err_printf (_("error: %s.\n"), grub_errmsg);
|
||||||
|
grub_err_printed_errors++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
|
|||||||
|
From 81d850494c3cde1da33cc2df44837c839c1f2c60 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Leah Rowe <leah@libreboot.org>
|
||||||
|
Date: Fri, 6 Oct 2023 23:17:06 +0100
|
||||||
|
Subject: [PATCH 1/1] add central Makefile in main directory
|
||||||
|
|
||||||
|
it only does build64. i'm disabling use of 32-bit memtest in lbmk,
|
||||||
|
until i can figure out a more consistent cross-compile method,
|
||||||
|
rather than relying on hostcc.
|
||||||
|
|
||||||
|
a user on irc reported build issues on pop os
|
||||||
|
|
||||||
|
it's not pop's fault. lbmk needs to start handling cross
|
||||||
|
compilers properly. (alternatively, i could rig memtest86+
|
||||||
|
to use crossgcc. i'll explore that later)
|
||||||
|
|
||||||
|
Signed-off-by: Leah Rowe <leah@libreboot.org>
|
||||||
|
---
|
||||||
|
Makefile | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
create mode 100644 Makefile
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..59fcbef
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+# SPDX-License-Identifier: MIT
|
||||||
|
+# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||||
|
+
|
||||||
|
+all:
|
||||||
|
+ make -C build64
|
||||||
|
+
|
||||||
|
+clean:
|
||||||
|
+ make -C build64 clean
|
||||||
|
+
|
||||||
|
+distclean:
|
||||||
|
+ make -C build64 clean
|
||||||
|
--
|
||||||
|
2.39.2
|
||||||
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
out/bios.bin.elf
|
||||||
|
out/vgabios.bin
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
#
|
||||||
|
# Automatically generated file; DO NOT EDIT.
|
||||||
|
# SeaBIOS Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# General Features
|
||||||
|
#
|
||||||
|
CONFIG_COREBOOT=y
|
||||||
|
# CONFIG_QEMU is not set
|
||||||
|
# CONFIG_CSM is not set
|
||||||
|
# CONFIG_QEMU_HARDWARE is not set
|
||||||
|
CONFIG_THREADS=y
|
||||||
|
CONFIG_RELOCATE_INIT=y
|
||||||
|
CONFIG_BOOTMENU=y
|
||||||
|
CONFIG_BOOTSPLASH=y
|
||||||
|
CONFIG_BOOTORDER=y
|
||||||
|
CONFIG_HOST_BIOS_GEOMETRY=y
|
||||||
|
CONFIG_COREBOOT_FLASH=y
|
||||||
|
CONFIG_LZMA=y
|
||||||
|
CONFIG_CBFS_LOCATION=0
|
||||||
|
CONFIG_MULTIBOOT=y
|
||||||
|
CONFIG_ENTRY_EXTRASTACK=y
|
||||||
|
CONFIG_MALLOC_UPPERMEMORY=y
|
||||||
|
CONFIG_ROM_SIZE=0
|
||||||
|
|
||||||
|
#
|
||||||
|
# Hardware support
|
||||||
|
#
|
||||||
|
CONFIG_ATA=y
|
||||||
|
CONFIG_ATA_DMA=y
|
||||||
|
# CONFIG_ATA_PIO32 is not set
|
||||||
|
CONFIG_AHCI=y
|
||||||
|
CONFIG_SDCARD=y
|
||||||
|
CONFIG_MEGASAS=y
|
||||||
|
CONFIG_FLOPPY=y
|
||||||
|
CONFIG_FLASH_FLOPPY=y
|
||||||
|
CONFIG_NVME=y
|
||||||
|
CONFIG_PS2PORT=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_UHCI=y
|
||||||
|
CONFIG_USB_OHCI=y
|
||||||
|
CONFIG_USB_EHCI=y
|
||||||
|
CONFIG_USB_XHCI=y
|
||||||
|
CONFIG_USB_MSC=y
|
||||||
|
CONFIG_USB_UAS=y
|
||||||
|
CONFIG_USB_HUB=y
|
||||||
|
CONFIG_USB_KEYBOARD=y
|
||||||
|
CONFIG_USB_MOUSE=y
|
||||||
|
CONFIG_SERIAL=y
|
||||||
|
CONFIG_SERCON=y
|
||||||
|
CONFIG_LPT=y
|
||||||
|
CONFIG_RTC_TIMER=y
|
||||||
|
CONFIG_HARDWARE_IRQ=y
|
||||||
|
CONFIG_PMTIMER=y
|
||||||
|
CONFIG_TSC_TIMER=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# BIOS interfaces
|
||||||
|
#
|
||||||
|
CONFIG_DRIVES=y
|
||||||
|
CONFIG_CDROM_BOOT=y
|
||||||
|
CONFIG_CDROM_EMU=y
|
||||||
|
CONFIG_PCIBIOS=y
|
||||||
|
CONFIG_APMBIOS=y
|
||||||
|
CONFIG_PNPBIOS=y
|
||||||
|
# CONFIG_OPTIONROMS is not set
|
||||||
|
CONFIG_BOOT=y
|
||||||
|
CONFIG_KEYBOARD=y
|
||||||
|
CONFIG_KBD_CALL_INT15_4F=y
|
||||||
|
CONFIG_MOUSE=y
|
||||||
|
CONFIG_S3_RESUME=y
|
||||||
|
CONFIG_VGAHOOKS=y
|
||||||
|
# CONFIG_DISABLE_A20 is not set
|
||||||
|
CONFIG_TCGBIOS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# VGA ROM
|
||||||
|
#
|
||||||
|
CONFIG_NO_VGABIOS=y
|
||||||
|
# CONFIG_VGA_GEODEGX2 is not set
|
||||||
|
# CONFIG_VGA_GEODELX is not set
|
||||||
|
# CONFIG_VGA_COREBOOT is not set
|
||||||
|
# CONFIG_BUILD_VGABIOS is not set
|
||||||
|
CONFIG_VGA_EXTRA_STACK_SIZE=512
|
||||||
|
|
||||||
|
#
|
||||||
|
# Debugging
|
||||||
|
#
|
||||||
|
CONFIG_DEBUG_LEVEL=0
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
arch="x86_32"
|
||||||
|
tree="default"
|
||||||
|
rev="1e1da7a963007d03a4e0e9a9e0ff17990bb1608d"
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
u-boot
|
||||||
|
u-boot.bin
|
||||||
|
u-boot.dtb
|
||||||
|
u-boot.img
|
||||||
|
u-boot.itb
|
||||||
|
u-boot.elf
|
||||||
+100
@@ -0,0 +1,100 @@
|
|||||||
|
From 27d49512277677afb7f71e093b007b3e2022b83e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||||
|
Date: Fri, 8 Oct 2021 17:33:22 +0300
|
||||||
|
Subject: [PATCH] clk: rockchip: rk3399: Set hardcoded clock rates same as
|
||||||
|
devicetree
|
||||||
|
|
||||||
|
Update hardcoded RK3399 clock rate definitions to match those in its
|
||||||
|
devicetree (rk3399.dtsi), based on clock-controller assigned-clocks.
|
||||||
|
Add and initialize NPLL since it's on that list, though nothing seems to
|
||||||
|
use it in the driver so far.
|
||||||
|
|
||||||
|
Also update VOP ACLK to 400MHz as it divides from CPLL (now 800MHz).
|
||||||
|
All this stops the displayed vendor bitmap from getting disfigured
|
||||||
|
when chainloading U-Boot from coreboot+depthcharge (as RW_LEGACY).
|
||||||
|
|
||||||
|
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||||
|
Link: https://github.com/alpernebbi/u-boot/commit/7e73b7a7550cfdd22a1413c263026e41e56e7617
|
||||||
|
---
|
||||||
|
.../include/asm/arch-rockchip/cru_rk3399.h | 19 ++++++++++---------
|
||||||
|
drivers/clk/rockchip/clk_rk3399.c | 10 ++++++----
|
||||||
|
2 files changed, 16 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||||
|
index d941a129f3e5..54035c0df1f3 100644
|
||||||
|
--- a/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||||
|
+++ b/arch/arm/include/asm/arch-rockchip/cru_rk3399.h
|
||||||
|
@@ -69,7 +69,8 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
|
||||||
|
#define LPLL_HZ (600*MHz)
|
||||||
|
#define BPLL_HZ (600*MHz)
|
||||||
|
#define GPLL_HZ (594*MHz)
|
||||||
|
-#define CPLL_HZ (384*MHz)
|
||||||
|
+#define CPLL_HZ (800*MHz)
|
||||||
|
+#define NPLL_HZ (1000*MHz)
|
||||||
|
#define PPLL_HZ (676*MHz)
|
||||||
|
|
||||||
|
#define PMU_PCLK_HZ (48*MHz)
|
||||||
|
@@ -82,16 +83,16 @@ check_member(rockchip_cru, sdio1_con[1], 0x594);
|
||||||
|
#define ATCLK_CORE_B_HZ (300*MHz)
|
||||||
|
#define PCLK_DBG_B_HZ (100*MHz)
|
||||||
|
|
||||||
|
-#define PERIHP_ACLK_HZ (148500*KHz)
|
||||||
|
-#define PERIHP_HCLK_HZ (148500*KHz)
|
||||||
|
-#define PERIHP_PCLK_HZ (37125*KHz)
|
||||||
|
+#define PERIHP_ACLK_HZ (150*MHz)
|
||||||
|
+#define PERIHP_HCLK_HZ (75*MHz)
|
||||||
|
+#define PERIHP_PCLK_HZ (37500*KHz)
|
||||||
|
|
||||||
|
-#define PERILP0_ACLK_HZ (99000*KHz)
|
||||||
|
-#define PERILP0_HCLK_HZ (99000*KHz)
|
||||||
|
-#define PERILP0_PCLK_HZ (49500*KHz)
|
||||||
|
+#define PERILP0_ACLK_HZ (100*MHz)
|
||||||
|
+#define PERILP0_HCLK_HZ (100*MHz)
|
||||||
|
+#define PERILP0_PCLK_HZ (50*MHz)
|
||||||
|
|
||||||
|
-#define PERILP1_HCLK_HZ (99000*KHz)
|
||||||
|
-#define PERILP1_PCLK_HZ (49500*KHz)
|
||||||
|
+#define PERILP1_HCLK_HZ (100*MHz)
|
||||||
|
+#define PERILP1_PCLK_HZ (50*MHz)
|
||||||
|
|
||||||
|
#define PWM_CLOCK_HZ PMU_PCLK_HZ
|
||||||
|
|
||||||
|
diff --git a/drivers/clk/rockchip/clk_rk3399.c b/drivers/clk/rockchip/clk_rk3399.c
|
||||||
|
index f748fb5189e0..33f02c2d633c 100644
|
||||||
|
--- a/drivers/clk/rockchip/clk_rk3399.c
|
||||||
|
+++ b/drivers/clk/rockchip/clk_rk3399.c
|
||||||
|
@@ -54,10 +54,11 @@ struct pll_div {
|
||||||
|
.fbdiv = (u32)((u64)hz * _refdiv * _postdiv1 * _postdiv2 / OSC_HZ),\
|
||||||
|
.postdiv1 = _postdiv1, .postdiv2 = _postdiv2};
|
||||||
|
|
||||||
|
-static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 2, 2, 1);
|
||||||
|
-static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 2, 2);
|
||||||
|
+static const struct pll_div gpll_init_cfg = PLL_DIVISORS(GPLL_HZ, 1, 4, 1);
|
||||||
|
+static const struct pll_div cpll_init_cfg = PLL_DIVISORS(CPLL_HZ, 1, 3, 1);
|
||||||
|
+static const struct pll_div npll_init_cfg = PLL_DIVISORS(NPLL_HZ, 1, 3, 1);
|
||||||
|
#if !defined(CONFIG_SPL_BUILD)
|
||||||
|
-static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 2, 2, 1);
|
||||||
|
+static const struct pll_div ppll_init_cfg = PLL_DIVISORS(PPLL_HZ, 3, 2, 1);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static const struct pll_div apll_l_1600_cfg = PLL_DIVISORS(1600 * MHz, 3, 1, 1);
|
||||||
|
@@ -682,7 +683,7 @@ static ulong rk3399_spi_set_clk(struct rockchip_cru *cru, ulong clk_id, uint hz)
|
||||||
|
static ulong rk3399_vop_set_clk(struct rockchip_cru *cru, ulong clk_id, u32 hz)
|
||||||
|
{
|
||||||
|
struct pll_div vpll_config = {0};
|
||||||
|
- int aclk_vop = 198 * MHz;
|
||||||
|
+ int aclk_vop = 400 * MHz;
|
||||||
|
void *aclkreg_addr, *dclkreg_addr;
|
||||||
|
u32 div;
|
||||||
|
|
||||||
|
@@ -1336,6 +1337,7 @@ static void rkclk_init(struct rockchip_cru *cru)
|
||||||
|
/* configure gpll cpll */
|
||||||
|
rkclk_set_pll(&cru->gpll_con[0], &gpll_init_cfg);
|
||||||
|
rkclk_set_pll(&cru->cpll_con[0], &cpll_init_cfg);
|
||||||
|
+ rkclk_set_pll(&cru->npll_con[0], &npll_init_cfg);
|
||||||
|
|
||||||
|
/* configure perihp aclk, hclk, pclk */
|
||||||
|
aclk_div = GPLL_HZ / PERIHP_ACLK_HZ - 1;
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
@@ -0,0 +1,513 @@
|
|||||||
|
From ac31b6bc4bcfc328342ec1677db5b80548d43b35 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Date: Mon, 10 Jan 2022 00:56:31 +0000
|
||||||
|
Subject: [PATCH 1/4] video: Add cursor support for video consoles
|
||||||
|
|
||||||
|
So far the video console is completely lacking any cursor, which makes
|
||||||
|
typing and correcting quite irritating.
|
||||||
|
|
||||||
|
Add a simple cursor display by writing a SPACE glyph in the background
|
||||||
|
colour to the next character position on the screen. Any typed character
|
||||||
|
will naturally overwrite it, so we need to only explicitly clear it if
|
||||||
|
the next character will appear somewhere else (newline, backspace).
|
||||||
|
|
||||||
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Reviewed-by: Simon Glass <sjg@chromium.org>
|
||||||
|
Tested-by: Simon Glass <sjg@chromium.org>
|
||||||
|
Link: https://lore.kernel.org/r/20220110005638.21599-2-andre.przywara@arm.com
|
||||||
|
[Alper: Rebase for console_set_font(), reword for CONFIG_VIDEO]
|
||||||
|
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||||
|
---
|
||||||
|
drivers/video/console_core.c | 1 +
|
||||||
|
drivers/video/vidconsole-uclass.c | 42 +++++++++++++++++++++++++++++++
|
||||||
|
include/video_console.h | 1 +
|
||||||
|
3 files changed, 44 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/drivers/video/console_core.c b/drivers/video/console_core.c
|
||||||
|
index b5d0e3dceca3..60de5fcacb82 100644
|
||||||
|
--- a/drivers/video/console_core.c
|
||||||
|
+++ b/drivers/video/console_core.c
|
||||||
|
@@ -30,6 +30,7 @@ static int console_set_font(struct udevice *dev, struct video_fontdata *fontdata
|
||||||
|
debug("height: %d\n", fontdata->height);
|
||||||
|
|
||||||
|
priv->fontdata = fontdata;
|
||||||
|
+ vc_priv->cursor_visible = true;
|
||||||
|
vc_priv->x_charsize = fontdata->width;
|
||||||
|
vc_priv->y_charsize = fontdata->height;
|
||||||
|
if (vid_priv->rot % 2) {
|
||||||
|
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
|
||||||
|
index b5b3b6625902..a6d994bd637c 100644
|
||||||
|
--- a/drivers/video/vidconsole-uclass.c
|
||||||
|
+++ b/drivers/video/vidconsole-uclass.c
|
||||||
|
@@ -56,6 +56,26 @@ static int vidconsole_entry_start(struct udevice *dev)
|
||||||
|
return ops->entry_start(dev);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static void draw_cursor(struct udevice *dev, bool state)
|
||||||
|
+{
|
||||||
|
+ struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||||
|
+ struct video_priv *vid_priv = dev_get_uclass_priv(dev->parent);
|
||||||
|
+ u32 tmp;
|
||||||
|
+
|
||||||
|
+ if (!priv->cursor_visible)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ if (state) {
|
||||||
|
+ tmp = vid_priv->colour_bg;
|
||||||
|
+ vid_priv->colour_bg = vid_priv->colour_fg;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ vidconsole_putc_xy(dev, priv->xcur_frac, priv->ycur, ' ');
|
||||||
|
+
|
||||||
|
+ if (state)
|
||||||
|
+ vid_priv->colour_bg = tmp;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* Move backwards one space */
|
||||||
|
static int vidconsole_back(struct udevice *dev)
|
||||||
|
{
|
||||||
|
@@ -63,6 +83,8 @@ static int vidconsole_back(struct udevice *dev)
|
||||||
|
struct vidconsole_ops *ops = vidconsole_get_ops(dev);
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
+ draw_cursor(dev, false);
|
||||||
|
+
|
||||||
|
if (ops->backspace) {
|
||||||
|
ret = ops->backspace(dev);
|
||||||
|
if (ret != -ENOSYS)
|
||||||
|
@@ -89,6 +111,8 @@ static void vidconsole_newline(struct udevice *dev)
|
||||||
|
const int rows = CONFIG_VAL(CONSOLE_SCROLL_LINES);
|
||||||
|
int i, ret;
|
||||||
|
|
||||||
|
+ draw_cursor(dev, false);
|
||||||
|
+
|
||||||
|
priv->xcur_frac = priv->xstart_frac;
|
||||||
|
priv->ycur += priv->y_charsize;
|
||||||
|
|
||||||
|
@@ -282,6 +306,14 @@ static void vidconsole_escape_char(struct udevice *dev, char ch)
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
+ case 'l':
|
||||||
|
+ draw_cursor(dev, false);
|
||||||
|
+ priv->cursor_visible = 0;
|
||||||
|
+ break;
|
||||||
|
+ case 'h':
|
||||||
|
+ priv->cursor_visible = 1;
|
||||||
|
+ draw_cursor(dev, true);
|
||||||
|
+ break;
|
||||||
|
case 'J': {
|
||||||
|
int mode;
|
||||||
|
|
||||||
|
@@ -456,6 +488,11 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
+ /*
|
||||||
|
+ * We don't need to clear the cursor since we are going to overwrite
|
||||||
|
+ * that character anyway.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
if (priv->escape) {
|
||||||
|
vidconsole_escape_char(dev, ch);
|
||||||
|
return 0;
|
||||||
|
@@ -470,6 +507,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
/* beep */
|
||||||
|
break;
|
||||||
|
case '\r':
|
||||||
|
+ draw_cursor(dev, false);
|
||||||
|
priv->xcur_frac = priv->xstart_frac;
|
||||||
|
break;
|
||||||
|
case '\n':
|
||||||
|
@@ -477,6 +515,7 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
vidconsole_entry_start(dev);
|
||||||
|
break;
|
||||||
|
case '\t': /* Tab (8 chars alignment) */
|
||||||
|
+ draw_cursor(dev, false);
|
||||||
|
priv->xcur_frac = ((priv->xcur_frac / priv->tab_width_frac)
|
||||||
|
+ 1) * priv->tab_width_frac;
|
||||||
|
|
||||||
|
@@ -494,6 +533,8 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ draw_cursor(dev, true);
|
||||||
|
+
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -646,6 +687,7 @@ static int vidconsole_pre_probe(struct udevice *dev)
|
||||||
|
struct video_priv *vid_priv = dev_get_uclass_priv(vid);
|
||||||
|
|
||||||
|
priv->xsize_frac = VID_TO_POS(vid_priv->xsize);
|
||||||
|
+ priv->cursor_visible = false;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
diff --git a/include/video_console.h b/include/video_console.h
|
||||||
|
index 2694e44f6ecf..949abb3861e7 100644
|
||||||
|
--- a/include/video_console.h
|
||||||
|
+++ b/include/video_console.h
|
||||||
|
@@ -59,6 +59,7 @@ struct vidconsole_priv {
|
||||||
|
int escape_len;
|
||||||
|
int row_saved;
|
||||||
|
int col_saved;
|
||||||
|
+ bool cursor_visible;
|
||||||
|
char escape_buf[32];
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
|
|
||||||
|
From ab8ddf81c1442717f6ffddc3460d4e4adbd5b570 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Date: Mon, 10 Jan 2022 00:56:36 +0000
|
||||||
|
Subject: [PATCH 2/4] efi-selftest: Add international characters test
|
||||||
|
|
||||||
|
UEFI relies entirely on unicode output, which actual fonts displayed on
|
||||||
|
the screen might not be ready for.
|
||||||
|
|
||||||
|
Add a test displaying some international characters, to reveal missing
|
||||||
|
glyphs, especially in our builtin fonts.
|
||||||
|
This would be needed to be manually checked on the screen for
|
||||||
|
correctness.
|
||||||
|
|
||||||
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Link: https://lore.kernel.org/r/20220110005638.21599-7-andre.przywara@arm.com
|
||||||
|
---
|
||||||
|
lib/efi_selftest/efi_selftest_textoutput.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
index cc44b38bc23a..175731ae96b6 100644
|
||||||
|
--- a/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
@@ -118,6 +118,11 @@ static int execute(void)
|
||||||
|
efi_st_printf("Unicode not handled properly\n");
|
||||||
|
return EFI_ST_FAILURE;
|
||||||
|
}
|
||||||
|
+ ret = con_out->output_string(con_out, L"Österreich Edelweiß Smørrebrød Smörgås Niño René >Ἑλλάς<\n");
|
||||||
|
+ if (ret != EFI_ST_SUCCESS) {
|
||||||
|
+ efi_st_error("OutputString failed for international chars\n");
|
||||||
|
+ return EFI_ST_FAILURE;
|
||||||
|
+ }
|
||||||
|
efi_st_printf("\n");
|
||||||
|
|
||||||
|
return EFI_ST_SUCCESS;
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
|
|
||||||
|
From 48e918c31a46815325ffd7a77eb7a3ffedf8e59c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Date: Mon, 10 Jan 2022 00:56:37 +0000
|
||||||
|
Subject: [PATCH 3/4] efi_selftest: Add box drawing character selftest
|
||||||
|
|
||||||
|
UEFI applications rely on Unicode output capability, and might use that
|
||||||
|
for drawing pseudo-graphical interfaces using Unicode defined box
|
||||||
|
drawing characters.
|
||||||
|
|
||||||
|
Add a simple test to display the most basic box characters, which would
|
||||||
|
need to be checked manually on the screen for correctness.
|
||||||
|
To facilitate this, add a three second delay after the output at this
|
||||||
|
point.
|
||||||
|
|
||||||
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Link: https://lore.kernel.org/r/20220110005638.21599-8-andre.przywara@arm.com
|
||||||
|
---
|
||||||
|
lib/efi_selftest/efi_selftest_textoutput.c | 11 +++++++++++
|
||||||
|
1 file changed, 11 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/lib/efi_selftest/efi_selftest_textoutput.c b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
index 175731ae96b6..3c6870f74241 100644
|
||||||
|
--- a/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
+++ b/lib/efi_selftest/efi_selftest_textoutput.c
|
||||||
|
@@ -123,6 +123,17 @@ static int execute(void)
|
||||||
|
efi_st_error("OutputString failed for international chars\n");
|
||||||
|
return EFI_ST_FAILURE;
|
||||||
|
}
|
||||||
|
+ ret = con_out->output_string(con_out, L"┌─┬─┐\n");
|
||||||
|
+ ret |= con_out->output_string(con_out, L"│ │ │\n");
|
||||||
|
+ ret |= con_out->output_string(con_out, L"├─┼─┤\n");
|
||||||
|
+ ret |= con_out->output_string(con_out, L"│ │ │\n");
|
||||||
|
+ ret |= con_out->output_string(con_out, L"└─┴─┘\n");
|
||||||
|
+ if (ret != EFI_ST_SUCCESS) {
|
||||||
|
+ efi_st_error("OutputString failed for box drawing chars\n");
|
||||||
|
+ return EFI_ST_FAILURE;
|
||||||
|
+ }
|
||||||
|
+ con_out->output_string(con_out, L"waiting for admiration...\n");
|
||||||
|
+ EFI_CALL(systab.boottime->stall(3000000));
|
||||||
|
efi_st_printf("\n");
|
||||||
|
|
||||||
|
return EFI_ST_SUCCESS;
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
|
|
||||||
|
From 407ca7e821aabf240c2602dd0db56d6398a0c03b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Date: Mon, 10 Jan 2022 00:56:38 +0000
|
||||||
|
Subject: [PATCH 4/4] video: Convert UTF-8 input stream to the 437 code page
|
||||||
|
|
||||||
|
The bitmap fonts (VGA 8x16 and friends) we import from Linux use the
|
||||||
|
437 code page to map their glyphs. For U-Boot's own purposes this is
|
||||||
|
probably fine, but UEFI applications output Unicode, which only matches
|
||||||
|
in the very basic first 127 characters.
|
||||||
|
|
||||||
|
Add a function that converts UTF-8 character sequences into the
|
||||||
|
respective CP437 code point, as far as the characters defined in there
|
||||||
|
allow this. This includes quite some international and box drawing
|
||||||
|
characters, which are used by UEFI applications.
|
||||||
|
|
||||||
|
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
|
||||||
|
Link: https://lore.kernel.org/r/20220110005638.21599-9-andre.przywara@arm.com
|
||||||
|
[Alper: Rebase for makefile changes, use $(SPL_TPL_)VIDEO]
|
||||||
|
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
|
||||||
|
---
|
||||||
|
drivers/video/Makefile | 1 +
|
||||||
|
drivers/video/utf8_cp437.c | 169 ++++++++++++++++++++++++++++++
|
||||||
|
drivers/video/vidconsole-uclass.c | 6 +-
|
||||||
|
include/video_console.h | 9 ++
|
||||||
|
4 files changed, 184 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 drivers/video/utf8_cp437.c
|
||||||
|
|
||||||
|
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
|
||||||
|
index d13af9f3b19b..4b1983990aba 100644
|
||||||
|
--- a/drivers/video/Makefile
|
||||||
|
+++ b/drivers/video/Makefile
|
||||||
|
@@ -20,6 +20,7 @@ obj-$(CONFIG_DISPLAY) += display-uclass.o
|
||||||
|
obj-$(CONFIG_VIDEO_MIPI_DSI) += dsi-host-uclass.o
|
||||||
|
obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video-uclass.o vidconsole-uclass.o
|
||||||
|
obj-$(CONFIG_$(SPL_TPL_)VIDEO) += video_bmp.o
|
||||||
|
+obj-$(CONFIG_$(SPL_TPL_)VIDEO) += utf8_cp437.o
|
||||||
|
obj-$(CONFIG_$(SPL_TPL_)PANEL) += panel-uclass.o
|
||||||
|
obj-$(CONFIG_PANEL_HX8238D) += hx8238d.o
|
||||||
|
obj-$(CONFIG_$(SPL_TPL_)SIMPLE_PANEL) += simple_panel.o
|
||||||
|
diff --git a/drivers/video/utf8_cp437.c b/drivers/video/utf8_cp437.c
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000000..cab68b92b6e3
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/drivers/video/utf8_cp437.c
|
||||||
|
@@ -0,0 +1,169 @@
|
||||||
|
+/*
|
||||||
|
+ * Convert UTF-8 bytes into a code page 437 character.
|
||||||
|
+ * Based on the table in the Code_page_437 Wikipedia page.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include <linux/types.h>
|
||||||
|
+
|
||||||
|
+uint8_t code_points_00a0[] = {
|
||||||
|
+ 255, 173, 155, 156, 7, 157, 7, 21,
|
||||||
|
+ 7, 7, 166, 174, 170, 7, 7, 7,
|
||||||
|
+ 248, 241, 253, 7, 7, 230, 20, 250,
|
||||||
|
+ 7, 7, 167, 175, 172, 171, 7, 168,
|
||||||
|
+ 7, 7, 7, 7, 142, 143, 146, 128,
|
||||||
|
+ 7, 144, 7, 7, 7, 7, 7, 7,
|
||||||
|
+ 7, 165, 7, 7, 7, 7, 153, 7,
|
||||||
|
+ 7, 7, 7, 7, 154, 7, 7, 225,
|
||||||
|
+ 133, 160, 131, 7, 132, 134, 145, 135,
|
||||||
|
+ 138, 130, 136, 137, 141, 161, 140, 139,
|
||||||
|
+ 7, 164, 149, 162, 147, 7, 148, 246,
|
||||||
|
+ 7, 151, 163, 150, 129, 7, 7, 152,
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+uint8_t code_points_2550[] = {
|
||||||
|
+ 205, 186, 213, 214, 201, 184, 183, 187,
|
||||||
|
+ 212, 211, 200, 190, 189, 188, 198, 199,
|
||||||
|
+ 204, 181, 182, 185, 209, 210, 203, 207,
|
||||||
|
+ 208, 202, 216, 215, 206
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static uint8_t utf8_convert_11bit(uint16_t code)
|
||||||
|
+{
|
||||||
|
+ switch (code) {
|
||||||
|
+ case 0x0192: return 159;
|
||||||
|
+ case 0x0393: return 226;
|
||||||
|
+ case 0x0398: return 233;
|
||||||
|
+ case 0x03A3: return 228;
|
||||||
|
+ case 0x03A6: return 232;
|
||||||
|
+ case 0x03A9: return 234;
|
||||||
|
+ case 0x03B1: return 224;
|
||||||
|
+ case 0x03B4: return 235;
|
||||||
|
+ case 0x03B5: return 238;
|
||||||
|
+ case 0x03C0: return 227;
|
||||||
|
+ case 0x03C3: return 229;
|
||||||
|
+ case 0x03C4: return 231;
|
||||||
|
+ case 0x03C6: return 237;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+static uint8_t utf8_convert_2xxx(uint16_t code)
|
||||||
|
+{
|
||||||
|
+ switch (code) {
|
||||||
|
+ case 0x2022: return 7;
|
||||||
|
+ case 0x203C: return 19;
|
||||||
|
+ case 0x207F: return 252;
|
||||||
|
+ case 0x20A7: return 158;
|
||||||
|
+ case 0x2190: return 27;
|
||||||
|
+ case 0x2191: return 24;
|
||||||
|
+ case 0x2192: return 26;
|
||||||
|
+ case 0x2193: return 25;
|
||||||
|
+ case 0x2194: return 29;
|
||||||
|
+ case 0x2195: return 18;
|
||||||
|
+ case 0x21A8: return 23;
|
||||||
|
+ case 0x2219: return 249;
|
||||||
|
+ case 0x221A: return 251;
|
||||||
|
+ case 0x221E: return 236;
|
||||||
|
+ case 0x221F: return 28;
|
||||||
|
+ case 0x2229: return 239;
|
||||||
|
+ case 0x2248: return 247;
|
||||||
|
+ case 0x2261: return 240;
|
||||||
|
+ case 0x2264: return 243;
|
||||||
|
+ case 0x2265: return 242;
|
||||||
|
+ case 0x2310: return 169;
|
||||||
|
+ case 0x2320: return 244;
|
||||||
|
+ case 0x2321: return 245;
|
||||||
|
+ case 0x2500: return 196;
|
||||||
|
+ case 0x2502: return 179;
|
||||||
|
+ case 0x250C: return 218;
|
||||||
|
+ case 0x2510: return 191;
|
||||||
|
+ case 0x2514: return 192;
|
||||||
|
+ case 0x2518: return 217;
|
||||||
|
+ case 0x251C: return 195;
|
||||||
|
+ case 0x2524: return 180;
|
||||||
|
+ case 0x252C: return 194;
|
||||||
|
+ case 0x2534: return 193;
|
||||||
|
+ case 0x253C: return 197;
|
||||||
|
+ case 0x2580: return 223;
|
||||||
|
+ case 0x2584: return 220;
|
||||||
|
+ case 0x2588: return 219;
|
||||||
|
+ case 0x258C: return 221;
|
||||||
|
+ case 0x2590: return 222;
|
||||||
|
+ case 0x2591: return 176;
|
||||||
|
+ case 0x2592: return 177;
|
||||||
|
+ case 0x2593: return 178;
|
||||||
|
+ case 0x25A0: return 254;
|
||||||
|
+ case 0x25AC: return 22;
|
||||||
|
+ case 0x25B2: return 30;
|
||||||
|
+ case 0x25BA: return 16;
|
||||||
|
+ case 0x25BC: return 31;
|
||||||
|
+ case 0x25C4: return 17;
|
||||||
|
+ case 0x25CB: return 9;
|
||||||
|
+ case 0x25D8: return 8;
|
||||||
|
+ case 0x25D9: return 10;
|
||||||
|
+ case 0x263A: return 1;
|
||||||
|
+ case 0x263B: return 2;
|
||||||
|
+ case 0x263C: return 15;
|
||||||
|
+ case 0x2640: return 12;
|
||||||
|
+ case 0x2642: return 11;
|
||||||
|
+ case 0x2660: return 6;
|
||||||
|
+ case 0x2663: return 5;
|
||||||
|
+ case 0x2665: return 3;
|
||||||
|
+ case 0x2666: return 4;
|
||||||
|
+ case 0x266A: return 13;
|
||||||
|
+ case 0x266B: return 14;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+uint8_t convert_uc16_to_cp437(uint16_t code)
|
||||||
|
+{
|
||||||
|
+ if (code < 0x7f) // ASCII
|
||||||
|
+ return code;
|
||||||
|
+ if (code < 0xa0) // high control characters
|
||||||
|
+ return code;
|
||||||
|
+ if (code < 0x100) // international characters
|
||||||
|
+ return code_points_00a0[code - 0xa0];
|
||||||
|
+ if (code < 0x800)
|
||||||
|
+ return utf8_convert_11bit(code);
|
||||||
|
+ if (code >= 0x2550 && code < 0x256d) // block graphics
|
||||||
|
+ return code_points_2550[code - 0x2550];
|
||||||
|
+
|
||||||
|
+ return utf8_convert_2xxx(code);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc)
|
||||||
|
+{
|
||||||
|
+ int shift;
|
||||||
|
+ uint16_t ucs;
|
||||||
|
+
|
||||||
|
+ if (c < 127) // ASCII
|
||||||
|
+ return c;
|
||||||
|
+ if (c == 127)
|
||||||
|
+ return 8; // DEL (?)
|
||||||
|
+
|
||||||
|
+ switch (c & 0xf0) {
|
||||||
|
+ case 0xc0: case 0xd0: // two bytes sequence
|
||||||
|
+ *esc = (1U << 24) | ((c & 0x1f) << 6);
|
||||||
|
+ return 0;
|
||||||
|
+ case 0xe0: // three bytes sequence
|
||||||
|
+ *esc = (2U << 24) | ((c & 0x0f) << 12);
|
||||||
|
+ return 0;
|
||||||
|
+ case 0xf0: // four bytes sequence
|
||||||
|
+ *esc = (3U << 24) | ((c & 0x07) << 18);
|
||||||
|
+ return 0;
|
||||||
|
+ case 0x80: case 0x90: case 0xa0: case 0xb0: // continuation
|
||||||
|
+ shift = (*esc >> 24) - 1;
|
||||||
|
+ ucs = *esc & 0xffffff;
|
||||||
|
+ if (shift) {
|
||||||
|
+ *esc = (shift << 24) | ucs | (c & 0x3f) << (shift * 6);
|
||||||
|
+ return 0;
|
||||||
|
+ }
|
||||||
|
+ *esc = 0;
|
||||||
|
+ return convert_uc16_to_cp437(ucs | (c & 0x3f));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return 0;
|
||||||
|
+}
|
||||||
|
diff --git a/drivers/video/vidconsole-uclass.c b/drivers/video/vidconsole-uclass.c
|
||||||
|
index a6d994bd637c..a4029a58660b 100644
|
||||||
|
--- a/drivers/video/vidconsole-uclass.c
|
||||||
|
+++ b/drivers/video/vidconsole-uclass.c
|
||||||
|
@@ -486,6 +486,7 @@ static int vidconsole_output_glyph(struct udevice *dev, char ch)
|
||||||
|
int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
{
|
||||||
|
struct vidconsole_priv *priv = dev_get_uclass_priv(dev);
|
||||||
|
+ uint8_t cp437;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -527,7 +528,10 @@ int vidconsole_put_char(struct udevice *dev, char ch)
|
||||||
|
priv->last_ch = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
- ret = vidconsole_output_glyph(dev, ch);
|
||||||
|
+ cp437 = convert_utf8_to_cp437(ch, &priv->ucs);
|
||||||
|
+ if (cp437 == 0)
|
||||||
|
+ return 0;
|
||||||
|
+ ret = vidconsole_output_glyph(dev, cp437);
|
||||||
|
if (ret < 0)
|
||||||
|
return ret;
|
||||||
|
break;
|
||||||
|
diff --git a/include/video_console.h b/include/video_console.h
|
||||||
|
index 949abb3861e7..dbfb389f324f 100644
|
||||||
|
--- a/include/video_console.h
|
||||||
|
+++ b/include/video_console.h
|
||||||
|
@@ -59,6 +59,7 @@ struct vidconsole_priv {
|
||||||
|
int escape_len;
|
||||||
|
int row_saved;
|
||||||
|
int col_saved;
|
||||||
|
+ u32 ucs;
|
||||||
|
bool cursor_visible;
|
||||||
|
char escape_buf[32];
|
||||||
|
};
|
||||||
|
@@ -457,4 +458,12 @@ static inline int vidconsole_memmove(struct udevice *dev, void *dst,
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+/*
|
||||||
|
+ * Convert an UTF-8 byte into the corresponding character in the CP437
|
||||||
|
+ * code page. Returns 0 if that character is part of a multi-byte sequence.
|
||||||
|
+ * for which *esc holds the state of. Repeatedly feed in more bytes until
|
||||||
|
+ * the return value returns a non-0 character.
|
||||||
|
+ */
|
||||||
|
+uint8_t convert_utf8_to_cp437(uint8_t c, uint32_t *esc);
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
2.42.0
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user