Age | Commit message (Collapse) | Author |
|
also removed some unnecessary checks
fixed the check of pwrite's return value
(it should check for -1)
|
|
|
|
added a few that were more useful
deleted a few obnoxious ones
|
|
the byteswap() function is used for big endian host
compatibility, but it can also be used to swap words
in the stored mac address
|
|
|
|
|
|
these were put in when i was testing the feature to
limit read/written bytes in loading/saving of files
|
|
the code is smaller
|
|
|
|
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)
|
|
it was resetting the total for each nibble. absolute
epic fail on my part.
fixed now.
|
|
|
|
|
|
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
|
|
|
|
always use tabs
|
|
|
|
yeah and don't hardcode me.bin. just don't show any me.bin in git
|
|
|
|
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.
|
|
This patch makes it easier to determine which part does what.
|
|
Basically, I really like OpenBSD coding style, and I want to
replicate this, somewhat, in shell scripts.
|
|
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.
|
|
It's called first, so declare it first!
|
|
|
|
for example, files being downloaded have nothing to do
with the ME; they are merely compressed, and contain many
files in addition to it
|
|
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.
|
|
|
|
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)
|
|
|
|
|
|
|
|
|
|
rename board configs, and add to sources file the
t530/w530 boards
in some situations, the files weren't being downloaded
|
|
|
|
|
|
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.
|
|
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
|
|
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
|
|
|
|
untested. removing.
|
|
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
|
|
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
|
|
they don't even boot in pcbox properly, and the real
hardware is not much to talk about
useless port
delete
|
|
|
|
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
|
|
|
|
|
|
|
|
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
|