summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-04-06util/nvmutil: remove unnecessary debug messagesLeah Rowe
these were put in when i was testing the feature to limit read/written bytes in loading/saving of files
2023-04-06util/nvmutil: serious re-factoring, part 2Leah Rowe
the code is smaller
2023-04-06util/nvmutil: consolidated error messageLeah Rowe
2023-04-06util/nvmutil: serious re-factoring (speed boost!)Leah Rowe
word/setWord no longer mitigates endianness. instead, all bytes are swapped after reading and before writing the file, and only if the host is big endian this improves performance on little endian hosts, which is most machines, and the code is much simpler, so it's more robust and less likely to break mac address endianness made more clear in code, including with a comment that explains it (the nvm section contains little endian words, *except* the mac address whose words are stored big endian)
2023-04-05util/nvmutil: fix faulty zeroes-mac-address checkLeah Rowe
it was resetting the total for each nibble. absolute epic fail on my part. fixed now.
2023-04-05util/nvmutil: minor code cleanupLeah Rowe
2023-04-05util/nvmutil: move mac address parsing to functionLeah Rowe
2023-04-01remove d945gclf_16mbLeah Rowe
i overlooked this one. the normal one was removed, due to boot issues with the board. i need to look at this board before re-adding it to libreboot
2023-04-01readmeLeah Rowe
2023-04-01blobutil: replace fake tabs with tabsLeah Rowe
always use tabs
2023-04-01build/dependencies: add p7zip (for blobutil lzma)Leah Rowe
2023-04-01update .gitignoreLeah Rowe
yeah and don't hardcode me.bin. just don't show any me.bin in git
2023-04-01blobutil: don't hardcode pathsLeah Rowe
2023-04-01blobutil/download: don't hardcode me.bin pathsLeah Rowe
Bruteforce it. Some executables are just using inno archival but some are simple LZMA. This patch handles both of them, and also the event where you have LZMA compressed files (even LZMA compressed files within LZMA compressed archives) within any inno/lzma compressed executable. It recursively scans inside a vendor update, to find a me.bin files for neutering with me_cleaner. This is in preparation for two new ports in Libreboot: * HP EliteBook 8560w * Apple MacBook Air 4,2 (2011) This script can literally be used with multiple vendors now. It is no longer specific just to Lenovo. I originally did this and other recent commits to the file, as one big commit, but I decided to split it all up into small commits.
2023-04-01blobutil/download: split into small functionsLeah Rowe
This patch makes it easier to determine which part does what.
2023-04-01blobutil/download: make more logic top-downLeah Rowe
Basically, I really like OpenBSD coding style, and I want to replicate this, somewhat, in shell scripts.
2023-04-01blobutil/download: move main logic to the topLeah Rowe
Top-down order is easier to read, for greater understanding. What's moved is initialisation. The glue that calls Build_deps and Download_needed still need to be at the bottom.
2023-04-01blobutil/download: move Build_deps to the topLeah Rowe
It's called first, so declare it first!
2023-04-01improved a commentLeah Rowe
2023-04-01blobutil: rename variables to make more senseLeah Rowe
for example, files being downloaded have nothing to do with the ME; they are merely compressed, and contain many files in addition to it
2023-03-25build/boot/roms: bugfix: unitialised variableLeah Rowe
When using e.g. -p grub in build/boot/roms, it will error out. This patch fixes that. E.g. ./build boot roms t440pmrc_12mb -p grub Seldom used feature and it was overlooked. Most people won't use the option that triggered the error.
2023-03-24blobs/inject: use correct offset for haswell mrcLeah Rowe
2023-03-22remove board: d945gclfLeah Rowe
these boards are almost impossible to find, and have always been buggy, it doesn't look like there will be any viable testing or development on it it's currently broken in master, on coreboot. if someone wants to fix and re-add to lbmk, they can do that use older libreboot releases to flash this board, if you wish (i *am* adding te the issue tracker, a note about this commit, with a view to re-adding it one day)
2023-03-21Merge branch 'master' of andreas-hartmann/lbmk into masterLeah Rowe
2023-03-20Added copyright line.andreas-hartmann
2023-03-20Added missing dependencies for Arch.andreas-hartmann
2023-03-19build/release: handle nvmutil20230319Leah Rowe
2023-03-19fix bug: me not being downloaded on some boardsLeah Rowe
rename board configs, and add to sources file the t530/w530 boards in some situations, the files weren't being downloaded
2023-03-19new board: lenovo/w530Leah Rowe
2023-03-19new board: lenovo/t530Leah Rowe
2023-03-18haswell (lenovo t440p/w541): fix S3 suspend/resumeLeah Rowe
MRC caches in a certain way, that Heads was able to work around in their build system, for this board. I've adapted the relevant config differences, from their project as of heads revision 96440b928acb06de5b925ea12014c9c280b23165 The downside is that CBFS now has to be 8MB in size. The upside is that the machine also boots much faster See: https://github.com/osresearch/heads/pull/1282/commits/f0792117efa177ded19878f652c5a28e8cc62a71 https://github.com/osresearch/heads/pull/1282#issuecomment-1400634600 I have not adapted their IFD changes, versus Libreboot, because theirs simply has a different version string, and uses different read/write permission bits for regions as defined in the IFD. This affects: t440p_12mb_mrc w541_12mb_mrc S3 suspend/resume still broken on these targets which use the libre MRC init (replacement code by Angel Pons, recently merged in lbmk): t440p_12mb w541_12mb With clever use of FMAP, the rest of the BIOS region might still be used. However, for our purposes, 8MB CBFS will do just fine. Heads's changes configure MRC so that caching is handled properly, for when the machine returns from sleep. Setting CBFS to be any higher will result in slower boot times, and broken S3 resume, due to MRC cache misalignment (this is based on my understanding, reading through the Heads project looking at their research on this). At some point in the future, Angel's libre MRC code will probably be finished, and merged, with more fine tuning possible to allow bigger CBFS sizes.
2023-03-18haswell: re-add mrc.bin in separate board configsLeah Rowe
libre mrc on haswell is quite buggy for now, but works in a limited fashion this patch re-adds the old configs, but as _mrc for example t440p_12mb_mrc instead of t440p_12mb and t440p_12mb (without _mrc) still uses the libre mrc code
2023-03-18haswell: only use txtmod seabios configurationLeah Rowe
i found that with libre mrc, usb was broken in grub however, it worked nicely in seabios for our purposes, doing seabios-only roms in text mode is best for now i'm going to re-add mrc.bin, but for t440p_12mb_mrc and w541_12mb_mrc, as new config names. the regular t440p_12mb and w541_12mb will continue to use libre mrc, but the _mrc ones will use mrc.bin and retain the grub payload in board.cfg
2023-03-18remove t440p_12mb_cbfs4mb (retain t440_12mb)Leah Rowe
2023-03-18remove x220_16mb (x220 with 16MB flash)Leah Rowe
untested. removing.
2023-03-18haswell boards: use libre mrc.bin replacementLeah Rowe
courtesy of Angel Pons from the coreboot project this uses the following patch set from gerrit, as yet unmerged (in coreboot master) on this date: https://review.coreboot.org/c/coreboot/+/64198/5 logic for downloading mrc blobs has been deleted from lbmk, as this is now completely obsolete (for haswell boards) if other platforms are added later that need mrc.bin, then logic will be re-added again for that
2023-03-17move download/gitmodule script to root directoryLeah Rowe
this fixes the build error: Error: name not set Usage: ./download gitmodule [name] when running: ./download all running "all" runs all scripts under downloads, one of which was the gitmodule script itself, therefore being run without argument
2023-03-17nuke p2b_ls/p3b_f boardsLeah Rowe
they don't even boot in pcbox properly, and the real hardware is not much to talk about useless port delete
2023-03-16debian/ubuntu dependencies scripts: add gettextLeah Rowe
2023-03-06util/nvmutil: optimise rhex() furtherLeah Rowe
reduce the number of calls to read() by using bit shifts. when rnum is zero, read again. in most cases, a nibble will not be zero, so this will usually result in about 13-15 of of 16 nibbles being used. this is in comparison to 8 nibbles being used before, which means that the number of calls to read() are roughly halved. at the same time, the extra amount of logic is minimal (and probably less) when compiled, outside of calls to read(), because shifting is better optimised (on 64-bit machines, the uint64_t will be shifted with just a single instruction, if the compiler is decent), whereas the alternative would be to always precisely use exactly 16 nibbles by counting up to 16, which would involve the use of an and mask and still need a shift, plus... you get the point. this is probably the most efficient code ever written, for generating random numbers between the value of 0 and 15
2023-03-06fix flashrom download errorLeah Rowe
2023-03-05payload/grub: force terminal_output to consoleLeah Rowe
2023-03-05grub.cfg: set default timeout to 5 secondsLeah Rowe
2023-03-05scripts: build cbutils, not specific utilsLeah Rowe
some checks check for specific utils, which are then used to indicate the existence of other utils, which means that building them singularly, as is currently done, may result in errors later if another tool doesn't exist compiled yet this is an obscure bug, fixed by this patch. more of a workaround really. a dirty hack. when checking for any of the coreboot utilities required, build all coreboot utilities that are possibly required the utilities are small enough that this does not add much extra time to build, and in most cases, all of them will be needed anyway
2023-03-05also fix data.vbt path for lenovo/w541Leah Rowe
using the same method as the previous patch for t440p
2023-03-05Fix CONFIG_INTEL_GMA_VBT_FILE for the t440p_12mb configKonstantinos Koukopoulos
2023-03-05update debian dependencies (for sid)Leah Rowe
2023-03-04ICH9M: default to 256MB VRAM, not 352MBLeah Rowe
352MB VRAM causes stability issues, according to some reports users can still set it to the higher level when building, if they wish to
2023-02-21bump seabios revisionLeah Rowe
2023-02-21bump grub revisionLeah Rowe