- Mar 19, 2023
- Mar 18, 2023
-
-
Leah Rowe authored
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.
-
Leah Rowe authored
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
-
Leah Rowe authored
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
-
Leah Rowe authored
-
Leah Rowe authored
untested. removing.
-
Leah Rowe authored
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
-
- Mar 17, 2023
-
-
Leah Rowe authored
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
-
Leah Rowe authored
they don't even boot in pcbox properly, and the real hardware is not much to talk about useless port delete
-
- Mar 16, 2023
-
-
Leah Rowe authored
-
- Mar 06, 2023
-
-
Leah Rowe authored
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
-
Leah Rowe authored
-
- Mar 05, 2023
-
-
Leah Rowe authored
-
Leah Rowe authored
-
Leah Rowe authored
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
-
Leah Rowe authored
using the same method as the previous patch for t440p
-
-
Leah Rowe authored
-
- Mar 04, 2023
-
-
Leah Rowe authored
352MB VRAM causes stability issues, according to some reports users can still set it to the higher level when building, if they wish to
-
- Feb 21, 2023
- Feb 19, 2023
- Feb 13, 2023
-
-
Alper Nebi Yasak authored
U-Boot can be configured via environment variables which can be saved to various storage devices. This usually defaults to MMC or SPI depending on where it boots from, but assumes the device's layout is controlled by U-Boot. We should store the environment in SPI flash, but we also need to configure coreboot FMAPs to reserve the area U-Boot would use as its environment storage. For now, disable environment storage by setting ENV_IS_NOWHERE=y to avoid overwriting random regions of SPI or MMC if someone tries to save the variables. Signed-off-by:
Alper Nebi Yasak <alpernebiyasak@gmail.com>
-
Alper Nebi Yasak authored
Set default U-Boot revision to v2023.01 and rebase patches on top of that. Upstream kconfig status is a bit unstable, so updating configs with `make oldconfig` would miss important upstream changes. For each board, run `make savedefconfig` and `diffconfig -m` at the old version to get a diff from upstream defconfigs. Fix those affected by upstream changes, like SYS_TEXT_BASE being renamed to TEXT_BASE. Then append those to the new version's defconfigs and run `make olddefconfig` to get updated configs. Signed-off-by:
Alper Nebi Yasak <alpernebiyasak@gmail.com>
-
- Jan 28, 2023
-
-
Leah Rowe authored
-
Leah Rowe authored
-
Leah Rowe authored
the way nvmutil is designed, setWord() is only ever called under non-error conditions. however, if one part is valid but the other one isn't, and a command is run that touches both parts, errno is non-zero write writeGbeFile is called in situations where one part is valid, but the other isn't, AND the writes to gbe (in memory) results in a non-change, writeGbeFile is not called; in this situation, errno is not being reset, despite non-error condition this patch fixed the bug, resulting in zero status upon exit under such conditions
-
Leah Rowe authored
-
Leah Rowe authored
the current code writes part 1 first, and part 0 next, on the disk, due to the way the swap works. with this change, swap still swaps the two parts of the file, on disk, but writes the new file sequentially. this change might speed up i/o on the file system, on HDDs. on SSDs, this change likely makes no difference at all.
-
Leah Rowe authored
-
Leah Rowe authored
-
Leah Rowe authored
don't use malloc(). instead, just load random bytes into a uint64_t
-
- Jan 27, 2023
-
-
Leah Rowe authored
this will make the code more flexible, if (when) i add changes that allow multiple commands to be used in a single run, on any given number of files
-