summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix remaining typos in various foldersHEADmasterThomas Huth2023-03-2811-16/+15
| | | | | | | Found with the "codespell" utility Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the clients folderThomas Huth2023-03-288-11/+11
| | | | | | | Found with the "codespell" utility Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the board-js2x folderThomas Huth2023-03-282-43/+43
| | | | | | | | | | Found with the "codespell" utility. I kept "busses" which codespell also complains about since it seems to be an old but still valid plural of the word "bus". Signed-off-by: Thomas Huth <thuth@redhat.com> [removed trailing spaces too] Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the llfw folderThomas Huth2023-03-282-5/+5
| | | | | Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the board-js2x folderThomas Huth2023-03-288-21/+20
| | | | | | | | | Found with the "codespell" utility. I kept "busses" which codespell also complains about since it seems to be an old but still valid plural of the word "bus". Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Remove ?PICKAlexey Kardashevskiy2023-02-282-9/+0
| | | | | | | The word is not used and the name does not reflect well what it does. Suggested-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the slof folderThomas Huth2023-02-2817-23/+23
| | | | | | | | | | Found with the "codespell" utility. I kept "busses" which codespell also complains about since it seems to be an old but still valid plural of the word "bus". Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Segher Boessenkool <segher@kernel.crashing.org> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the remaining lib foldersThomas Huth2023-02-289-19/+18
| | | | | | | Found with the "codespell" utility. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the lib/libnet folderThomas Huth2023-02-289-28/+28
| | | | | | | Found with the "codespell" utility. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix typos in the board-qemu folderThomas Huth2023-02-285-8/+8
| | | | | | | Found with the "codespell" utility. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* lib/libnet/ipv6: Silence compiler warning from ClangThomas Huth2023-02-281-3/+2
| | | | | | | | | | | | | | | When compiling the libnet code with Clang (e.g. for the s390-ccw bios), it complains with the following warning: ipv6.c:447:18: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant] unsigned short raw[ip6size]; ^ The warning is completely harmless, of course. Anyway let's rewrite the code a little bit to make the compiler silent again. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* version: update to 20220719qemu-slof-20220719Alexey Kardashevskiy2022-07-191-1/+1
| | | | Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* OF: Add a separate direct kernel loading wordJordan Niethe2022-07-192-3/+8
| | | | | | | | | | | | | | | | | | | | | | Currently, go-64 is used for booting a kernel from qemu (i.e. -kernel). However, there is an expectation from users that this should be able to boot not just vmlinux kernels but things like Zimages too. The bootwrapper of a BE zImage is a 32-bit ELF. Attempting to load that with go-64 means that it will be ran with MSR_SF set (64-bit mode). This crashes early in boot (usually due to what should be 32-bit operations being done with 64-bit registers eventually leading to an incorrect address being generated and branched to). Note that our 64-bit payloads are prepared to enter with MSR_SF cleared and set it themselves very early. Add a new word named go-direct that will execute any simple payload in-place and will enter with MSR_SF cleared. This allows booting a BE zImage from qemu with -machine kernel-addr=0. Signed-off-by: Jordan Niethe <jniethe5@gmail.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* version: update to 20220110qemu-slof-20220110Alexey Kardashevskiy2022-01-101-1/+1
| | | | Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* make.rules: Compile SLOF for power5Cédric Le Goater2022-01-061-1/+1
| | | | | | | | | | By default, SLOF would implement the cpu_to_le64() helper with the 'stdbrx' instruction which is invalid under POWER5+ and 970 CPUs. This breaks the QEMU pseries machine with such CPUs when virtio or USB devices or in use. Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* version: update to 20211112qemu-slof-20211112Alexey Kardashevskiy2021-11-121-1/+1
| | | | Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Silence some trivial compiler warning in the js2x codeThomas Huth2021-10-064-3/+4
| | | | | | | | | We enabled additional compiler warnings in commit 26d8ba170355c9, but so far we did not address the additional warnings in the js2x code yet. This patch fixes at least some of the trivial warnings there. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* js2x: Fix compile and cleanupAlexey Kardashevskiy2021-10-015-16/+21
| | | | | | | | | | | | | | | | | | | | | | This moves shared symbols out from the header file and leaves only the minimum in bmc.h. This fixes a "while (...); {" bug spotted by the modern gcc. This fixes cleanup as otherwise the board-js2x/Makefile's "clean" tries cleaning "rtas" which tries cleaning all libs (not just the ones it uses) and that in turn triggers generation of lib/libtpm/Makefile.dep which fails due to missing ./board-js2x/include/version.h. This fixes create_reloc_table.sh to build with newer toolchains which otherwise fail with: ld: cannot use executable file 'reloc_table.o' as input to a link This adds js2x compile to the travis script to know when it breaks again. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* travis.yml: Compile-test the qemu buildThomas Huth2021-10-011-0/+2
| | | | | | | | | Since we're already using Travis for some testing, we should also compile-test the sources with the pre-installed Advanced Toolchain compiler there. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* travis.yml: Update to Focal FossaThomas Huth2021-10-011-1/+1
| | | | | | | | It's better to use a newer version of the compiler which might catch more issues in the code. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* travis.yml: Fix keywordsThomas Huth2021-10-011-2/+2
| | | | | | | | | | All the documentation on travis-ci.com talks about "jobs:" instead of "matrix:" these days, so let's also use this keywords now. Also fix a typo in "inlcude" - it's weird that Travis did not complain about this, but it's certainly better to have this fixed. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Disable platform hierarchy in case of failureStefan Berger2021-10-011-0/+1
| | | | | | | | In the rare case of a TPM 2 failure, disable the platform hierarchy after disabling the endorsement and owner hierarchies. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* lib/libc/README.txt: Fix "cannel" typoThomas Huth2021-10-011-2/+2
| | | | | | | It should be "channel" instead of "cannel", obviously. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Fix the URL to the Linux kernel coding styleThomas Huth2021-10-011-1/+1
| | | | | | | | It has been moved to a new location in the Linux git repository quite a while ago already. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* slof/fs/accept: Replace TABs with spacesThomas Huth2021-10-011-12/+12
| | | | | | | | | | SLOF coding style is to use spaces in Forth code, not TABs, and the TAB in the (accept) function breaks the right indentation in my editor, so let's replace the TABs in this file with spaces now. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Mention the CR vs. LF problem in the documentationThomas Huth2021-10-011-0/+14
| | | | | | | | | Let's hope that this will help to avoid that people run into the same problem again in the future. At least we've got some lines of documentation this way where we can point people to who try to use "nc" in the wrong way. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Revert "make: Define default rule for .c when V=1 or V=2"Alexey Kardashevskiy2021-10-011-4/+1
| | | | | | | | | | This reverts commit 283d88c46c1d4d2ae65f0a3eaf582d0c124d37db as: - it wrongly assumes the default V=0 (V=1 is the default); - the new rule broke js2x; - does not really solve the original problem of printing partial filenames in gcc error messages. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* version: update to 20210711qemu-slof-20210711Alexey Kardashevskiy2021-07-111-1/+1
| | | | Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Travis: Add script for running tests on TravisStefan Berger2021-07-111-0/+15
| | | | | Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Add test cases and test script to run themStefan Berger2021-07-115-0/+179
| | | | | | | | | | Add test cases for sha1, sha256, sha384, and sha512 and a test script to run the test cases. The tests are passing on little and big endian machines (Fedora 28). Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Use The proper sha function for each PCR bankStefan Berger2021-07-111-10/+32
| | | | | | | | | | Instead of just using sha256 for all PCR banks (and truncating the value or zero-padding it) use the proper hash function for each one of the banks. For unimplemented hashes, fill the buffer with 0xff. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Use assembly for 32 bit rotr in sha256Stefan Berger2021-07-111-4/+10
| | | | | | | | Use assembly for the 32 bit rotr in the sha256 implementation similar to the assembly used in the sha1 and sha512 implementations. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Change format of S_CRTM_VERSION string to ucs-2Stefan Berger2021-07-114-13/+16
| | | | | | | | | | Change the format of the S_CRTM_VERSION string to ucs-2 since this is what seems to be commonly used by other firmwares following insight from a TCG work group member. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Tested-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tpm: Add firmware API call 2HASH-EXT-LOGStefan Berger2021-07-115-0/+49
| | | | | | | | Add a new firmware API call with the name 2HASH-EXT-LOG that will be used by trusted grub for measuring, logging, and extending TPM PCRs. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Add implementations for sha1, sha384, and sha512Stefan Berger2021-07-096-6/+463
| | | | | Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Fix a typo in the sha256 algo descriptionStefan Berger2021-07-091-1/+1
| | | | | Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Fix warningsAlexey Kardashevskiy2021-07-092-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes gcc warnings from -Waddress-of-packed-member and -Wzero-length-bounds. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Thomas Huth <thuth@redhat.com> Tested-by: Stefan Berger <stefanb@linux.ibm.com> --- tpm_drivers.c: In function ‘spapr_send_crq_and_wait’: tpm_drivers.c:153:2: warning: converting a packed ‘struct crq’ pointer (alignment 1) to a ‘uint64_t’ {aka ‘long long unsigned int’} pointer alignment 8) may result in an unaligned pointer value [-Waddress-of-packed-member] 153 | rc = hv_send_crq(unit, (uint64_t *)crq); | ^~ tpm_drivers.c:34:8: note: defined here 34 | struct crq { | ^~~ tpm_drivers.c: In function ‘spapr_vtpm_senddata’: tpm_drivers.c:346:2: warning: converting a packed ‘struct crq’ pointer (alignment 1) to a ‘uint64_t’ {aka ‘long long unsigned int’} pointer (alignment 8) may result in an unaligned pointer value [-Waddress-of-packed-member] 346 | rc = hv_send_crq(spapr_vtpm.unit, (uint64_t *)&crq); | ^~ tpm_drivers.c:34:8: note: defined here 34 | struct crq { | ^~~ [CC] common-libs [CC] common-libs tcgbios.c: In function ‘tpm20_write_EfiSpecIdEventStruct’: tcgbios.c:708:24: warning: array subscript ‘numAlgs’ is outside the bounds of an interior zero-length array ‘struct TCG_EfiSpecIdEventAlgorithmSize[0]’ [-Wzero-length-bounds] 708 | event.hdr.digestSizes[numAlgs].algorithmId = | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ In file included from tpm_drivers.h:20, from tcgbios.c:27: tcgbios_int.h:92:4: note: while referencing ‘digestSizes’ 92 | } digestSizes[0]; | ^~~~~~~~~~~ tcgbios.c:710:24: warning: array subscript ‘numAlgs’ is outside the bounds of an interior zero-length array ‘struct TCG_EfiSpecIdEventAlgorithmSize[0]’ [-Wzero-length-bounds] 710 | event.hdr.digestSizes[numAlgs].digestSize = cpu_to_log16(hsize); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ In file included from tpm_drivers.h:20, from tcgbios.c:27: tcgbios_int.h:92:4: note: while referencing ‘digestSizes’ 92 | } digestSizes[0]; | ^~~~~~~~~~~
* Fix bad header guard in version.hThomas Huth2021-06-151-2/+2
| | | | | | | | | | The #define in version.h does not match the #ifndef in the line before due to a typo in the suffix ("_F" instead of "_H"). Fix it, and while we're at it, also remove the underscore at the beginning to avoid that we're using an identifier here that is reserved by the C standard. Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* tcgbios: Fix details in log entriesStefan Berger2021-06-151-2/+3
| | | | | | | | | | Fix two details of the logs: - Set the filed SpecErrata to 2 as required by specs. - Write the separator into the log entry's event field. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* version: update to 20210217qemu-slof-20210217Alexey Kardashevskiy2021-02-171-1/+1
| | | | Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* Makefile: Actually compile with -WextraAlexey Kardashevskiy2021-02-121-1/+1
| | | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. The only exception is -Wno-unused-parameter, one thing at the time. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* slof/prim: Compile with -WextraAlexey Kardashevskiy2021-02-121-0/+3
| | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* libtpm: Compile with -WextraAlexey Kardashevskiy2021-02-122-7/+8
| | | | | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Note this adds MIN() in tpm_gpt_set_lba1() so it may potentially fail which is unlikely as the length comes from disk-label's block-size which is used in other places. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* libnvram: Compile with -WextraAlexey Kardashevskiy2021-02-123-19/+17
| | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* libhv: Compile with -WextraAlexey Kardashevskiy2021-02-122-2/+2
| | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* libnet: Compile with -WextraAlexey Kardashevskiy2021-02-125-12/+19
| | | | | | | | | | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. This also fixes unused parameters warning by passing meaningful value and doing sanity checks. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- Changes: v2: * updated commit log about using AF_INET/etc * replaced cast to int with size_t in pxelinux_load_cfg * added (alen == 0) in ping()
* e1000: Compile with -WextraAlexey Kardashevskiy2021-02-121-8/+8
| | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* virtio: Compile with -WextraAlexey Kardashevskiy2021-02-122-5/+5
| | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* veth: Compile with -WextraAlexey Kardashevskiy2021-02-122-3/+7
| | | | | | | -Wextra enables a bunch of rather useful checks which this fixes. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
* usb: Compile with -WextraAlexey Kardashevskiy2021-02-125-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -Wextra enables a bunch of rather useful checks which this fixes with one exception of -Wunused-parameter - this fixes it for debug macros only and leave the rest for the future as more functional change is needed. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- Changes: v2: * updated debug macros to fix -Wunused-parameter --- These are not fixed: ====== Building common libraries ====== [CC] usb-core.o [CC] usb-ohci.o [CC] usb-hid.o [CC] usb-xhci.o /home/aik/p/slof/lib/libusb/usb-core.c: In function ‘usb_set_address’: /home/aik/p/slof/lib/libusb/usb-core.c:244:58: warning: unused parameter ‘port’ [-Wunused-parameter] static int usb_set_address(struct usb_dev *dev, uint32_t port) ^~~~ /home/aik/p/slof/lib/libusb/usb-xhci.c: In function ‘xhci_send_enable_slot’: /home/aik/p/slof/lib/libusb/usb-xhci.c:353:67: warning: unused parameter ‘port’ [-Wunused-parameter] static void xhci_send_enable_slot(struct xhci_hcd *xhcd, uint32_t port) ^~~~ /home/aik/p/slof/lib/libusb/usb-ohci.c: In function ‘ohci_dump_regs’: /home/aik/p/slof/lib/libusb/usb-ohci.c:42:46: warning: unused parameter ‘regs’ [-Wunused-parameter] static void ohci_dump_regs(struct ohci_regs *regs) ^~~~ /home/aik/p/slof/lib/libusb/usb-core.c: In function ‘usb_handle_device’: /home/aik/p/slof/lib/libusb/usb-core.c:444:80: warning: unused parameter ‘cfg’ [-Wunused-parameter] static int usb_handle_device(struct usb_dev *dev, struct usb_dev_config_descr *cfg, ^~~ /home/aik/p/slof/lib/libusb/usb-xhci.c: In function ‘fill_setup_trb’: /home/aik/p/slof/lib/libusb/usb-xhci.c:1026:13: warning: unused parameter ‘size’ [-Wunused-parameter] uint32_t size) ^~~~ /home/aik/p/slof/lib/libusb/usb-xhci.c: In function ‘xhci_transfer_bulk’: /home/aik/p/slof/lib/libusb/usb-xhci.c:1217:60: warning: unused parameter ‘td’ [-Wunused-parameter] static int xhci_transfer_bulk(struct usb_pipe *pipe, void *td, void *td_phys, ^~ /home/aik/p/slof/lib/libusb/usb-xhci.c:1217:70: warning: unused parameter ‘td_phys’ [-Wunused-parameter] static int xhci_transfer_bulk(struct usb_pipe *pipe, void *td, void *td_phys, ^~~~~~~ /home/aik/p/slof/lib/libusb/usb-xhci.c: In function ‘xhci_get_pipe_intr’: /home/aik/p/slof/lib/libusb/usb-xhci.c:1364:22: warning: unused parameter ‘len’ [-Wunused-parameter] char *buf, size_t len) ^~~