summaryrefslogtreecommitdiff
path: root/scripts
Commit message (Collapse)AuthorAgeFilesLines
* scripts: rkimage: Use non-deprecated functions for sha256/512Sascha Hauer2023-05-021-9/+13
| | | | | | | SHA256_Init() and SHA512_Init() are deprecated since OpensSSL 3.0. Use EVP functions instead to calculate hashes. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* treewide: use non-executable stack annotations for blobsAhmad Fatoum2023-05-023-0/+4
| | | | | | | | | | | | | | | | | | | | | | We are building the non-sandbox platforms with -z noexecstack, because the ELF section attributes don't matter. This is different for sandbox, where we compile assembly files directly only for embedding blobs. This currently yields a build warning: binutils-2.39/bin/ld: warning: defaultenv/defaultenv-2-reboot-mode.bbenv.gz.o: missing .note.GNU-stack section implies executable stack binutils-2.39/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker Let's add the non-executable stack annotations, so sandbox may run with non-executable stack. This way we are left with a single linker warning that needs to be resolved: binutils-2.39/bin/ld: warning: barebox has a LOAD segment with RWX permissions Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Link: https://lore.barebox.org/20230424115548.114858-2-ahmad@a3f.at Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2023-04-195-29/+68
|\
| * kbuild: drop reliance on echo -e extension for DT fragmentsAhmad Fatoum2023-04-171-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We are using echo -e, so the \n in the string being echo'd are interpreted. As -e is not POSIX and dash doesn't provide it, we use a strange /usr/bin/env echo -e construct hoping that whatever non-builtin echo is first in the search path supports -e. As the new lines are just used to separate CPP directives, we can just pass the directives as $(CPP) flags. This has the same result, but is portable and avoids NixOS complaining when building barebox. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
| * scripts: gen-dtb-s: reference OF IMD entries automaticallyAhmad Fatoum2023-04-171-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently require IMD_OF_USED to get the DT compatible into the barebox image data meta section. As the PBL is already referencing the DT to pass it along to barebox proper, let's add a reference from the DT to the image data section to make IMD_OF_USED unnecessary. -- v1 -> v2: - use dword, to fix build for 64-bit (Sascha) - place IMD reference before STRUCT_ALIGNMENT Suggested-by: Antony Pavlov <antonynpavlov@gmail.com> Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230404101706.2237453-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * scripts: common: drop unused mman.h includeAhmad Fatoum2023-04-111-1/+0
| | | | | | | | | | | | | | | | | | | | <sys/mman.h> is for mmap use of which there is none in scripts/common.c. Drop it. This has the additional benefit that the file is now compilable with x86_64-w64-mingw32-gcc. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411093844.1297004-4-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * scripts: compiler.h: add Windows supportAhmad Fatoum2023-04-111-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We lack endianness conversion functions for Windows. Import them from the public-domain portable_endian.h[1]. We skip the 64-bit XBox support though as it's unlikely we'll need to run imx-usb-loader on that particular game console. While at it, only define min when it's undefined. This works around one of the winapi headers indirectly included defining it. [1]: https://gist.github.com/panzi/6856583 Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411093844.1297004-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * imx-usb-loader: don't depend on arpa/inet.h for endianness conversionAhmad Fatoum2023-04-111-25/+24
| | | | | | | | | | | | | | | | | | | | We already have <scripts/compiler.h>, which offers endianness conversion for non-Linux platforms like MacOS. Let's use that to reduce our dependency on external implementation-defined headers. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411093844.1297004-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/imx-image'Sascha Hauer2023-04-192-11/+161
|\ \
| * | scripts: imx-image: add FlexSPI image supportMarco Felsch2023-04-042-1/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By this commit board files can request building FlexSPI compatible images via the .imxcfg parameters: - flexspi_fcfbofs, - flexspi_ivtofs. If specified imx-image will build one image which can be deployed to eMMC/SD/QSPI using the appropriate update handlers. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228-v2023-02-0-topic-flexspi-v2-15-3d33126d2434@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts: imx-image: header_v2: add header_len parameterMarco Felsch2023-04-041-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Make header_len a parameter which is required for later on i.MX8MM FlexSPI image support. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228-v2023-02-0-topic-flexspi-v2-14-3d33126d2434@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts: imx-image: header_v2: factor out offset parameterMarco Felsch2023-04-041-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the offset variable a parameter to make it possible to write multiple ivt headers on multiple offsets. While on it use uint32_t to match the data.image_ivt_offset type. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228-v2023-02-0-topic-flexspi-v2-13-3d33126d2434@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | scripts: imx-image: convert flag variables into boolMarco Felsch2023-04-041-6/+6
| |/ | | | | | | | | | | | | | | Use 'bool' instead of 'int' for local true/false flag variables. Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228-v2023-02-0-topic-flexspi-v2-12-3d33126d2434@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | treewide: fix includes missed by multiarch supportAhmad Fatoum2023-04-112-6/+6
| | | | | | | | | | | | | | | | | | | | | | Found by manual inspection of the results of: rg '#include\s*<mach/[^/]+>' | rg -v 'arch/(powerpc|sandbox|mips|x86|kvx)' Fixes: 68b778c24314 ("ARM: Drop mach dir include path") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230411071436.1630752-13-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts: imx: Ignore ';' and '\n' in quotesAlbert Schwarzkopf2023-04-111-2/+4
|/ | | | | | | | | | | | The current behaviour treats semicolons the same as end of line. This breaks when they are found inside quoted strings, as is the case for PKCS#11 URIs for example. Ignore newlines and semicolons in quotes when parsing commands. Signed-off-by: Albert Schwarzkopf <a.schwarzkopf@phytec.de> Link: https://lore.barebox.org/20230327084827.1854478-1-a.schwarzkopf@phytec.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/of-overlay' into nextSascha Hauer2023-03-163-1/+25
|\
| * kbuild: Add target to build dtb overlay filesSascha Hauer2023-03-103-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | Device tree overlay files have the suffix dtso in source format and dtbo in binary format. Add the necessary targets to build dtbo files from dtso files and also dtbo.o files to include into the barebox binary. The overlay files shouldn't include the device tree snippets from CONFIG_EXTERNAL_DTS_FRAGMENTS which makes it necessary to specify these fragments as an argument to cmd_dtc. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/dtc-warnings' into nextSascha Hauer2023-03-161-2/+2
|\ \
| * | scripts: dtc: disable interrupt_provider warningsSascha Hauer2023-03-021-2/+2
| |/ | | | | | | | | | | | | | | The kernel disabled interrupt provider warnings with -Wno-interrupt_provide. Do likewise to avoid generating warnings that we would have to fix in the imported kernel dts files. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/arm' into nextSascha Hauer2023-03-166-18/+9
|\ \
| * | ARM: zynq: Move mach header files to include/mach/zynqSascha Hauer2023-03-062-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently arch specific headers can be included with longer possible as there won't be a single mach anymore. Move all zynq specific header files to include/mach/zynq/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: i.MX: Move mach header files to include/mach/imxSascha Hauer2023-03-062-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently arch specific headers can be included with #include <mach/xxx.h>. With upcoming multi-arch support this is no longer possible as there won't be a single mach anymore. Move all i.MX specific header files to include/mach/imx/ to prepare for multi-arch support. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | ARM: remove samsung archSascha Hauer2023-03-013-9/+0
| |/ | | | | | | | | | | | | | | | | arch/arm/mach-samsung/ hasn't seen any active maintenance or interest for a long time. Remove the architecture, boards and defconfig files Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230228135727.1602351-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: Don't try to transfer more data than contained in the imageUwe Kleine-König2023-03-161-1/+1
|/ | | | | | | | | | | | | | | | On platforms that don't have a 2nd stage (in my case i.MX25) it usually happens the transfer limit for the first (and only) upload is bigger than the actual file length. Then it's the right thing to load the complete image (minus its header), but not more. This fixes a failure to boot via USB on i.MX25 that ends in dl_command err=-1, last_trans=0 Fixes: 3367ebc55ebe ("scripts: imx-usb-loader: simplify code flow for file size calculations") Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.barebox.org/20230315183338.78433-1-u.kleine-koenig@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/ratp'Sascha Hauer2023-02-232-2/+3
|\
| * bbremote: Fix RATP handshake, errata #7321 for RFC916Jules Maselbas2023-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Side A Side B 1. CLOSED LISTEN 2. [OPEN request] SYN_SENT --> <SN=0><CTL=SYN> --> SYN_RECEIVED 3. ESTABLISHED <-- <SN=0><AN=1><CTL=SYN,ACK> <-- 4. --> <SN=1><AN=0><CTL=ACK> ... 5. ... <SN=0><AN=1><CTL=SYN,ACK> <-- (retransmit) 6. (packet sent by A at 4. finally arrives to B) ... --> ESTABLISHED 7. (packet resent by B at 5. finally arrives to A) CLOSED (C2) <-- ... 8. --> <SN=1><AN=1><CTL=RST> --> (connection reset) The Figure above illustrate the current issue RATP can face during the three-way handshake, and how behavior C2 can cause a connection to be closed immediately after being established. In the Figure above, side A try to establish a connection with side B, which is in the LISTEN state. Commented line: 1. side A is in the CLOSED state and side B is in the LISTEN state; 2. side A open a new connection and send a SYN packet and is received by side B which enters the SYN_RECEIVED state and send back a SYN-ACK; 3. side A receive the SYN-ACK packet from B; 4. side A respond with an ACK packet and move to the ESTABLISHED state. Meanwhile; 5. side B hasn't received yet the ACK from side A and decide to retransmit the SYN-ACK packet; 6. side B finally receive the ACK from side A and move to the ESTABLISHED state; 7. side A finally receive the duplicated SYN-ACK packet from side B, execute behavior C2: the received packet doesn't have the expected SN and has the SYN flag set, thus respond by sending a legal reset. 8. side B receive the reset and close the connection. One solution could be to tweak the initial RTO value of side B in order to prevent sending a duplicated SYN-ACK packet, however the initial RTT value is likely inaccurate during the handshake. This solution seems a bit brittle. The second solution would be to consider that a host has crashed only if the packet received has the SYN flag set but not the ACK flag. The rational is that the first step during handshake is to send a packet only containing the SYN flag, however a packet containing both ACK and SYN flags must have come after the initial handshake exchange and can be considered as a duplicated and be dropped. I proposed the following errata to RFC916 [1]: [Page 29] - If SYN was set we assume that the other end crashed and has - attempted to open a new connection. We respond by sending a - legal reset: + If the SYN flag was set but the ACK was not set then we assume + that the other end crashed and has attempted to open a new connection. + We respond by sending a legal reset: [Page 30] - If neither RST, FIN, nor SYN flags were set it is assumed that - this packet is a duplicate of one already received. Send an - ACK back: + If neither RST nor FIN flags were set, or if SYN and ACK flags + were set, it is assumed that this packet is a duplicate of one + already received. Send an ACK back: [1] https://www.rfc-editor.org/errata/eid7321 Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230207162055.10050-2-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * bbremote: Fix default payload value in BBPacketJules Maselbas2023-02-131-1/+2
| | | | | | | | | | | | | | | | | | | | The payload variable is expected to typeof bytes, however the default value in BBPacket contructor is of type str, a simple way to declare a byte literal in Python is to prefix the string literal with `b`. Signed-off-by: Jules Maselbas <jmaselbas@kalray.eu> Link: https://lore.barebox.org/20230207162055.10050-1-jmaselbas@kalray.eu Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts/dtc: update-dts-source.sh: don't fail if libfdt/ existsAhmad Fatoum2023-02-221-1/+1
| | | | | | | | | | | | | | | | | | | | Script is apparently meant to be run without deleting the existing contents, but that fails because libfdt may already exist. Thus give mkdir a -p argument. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230217173057.1839835-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | scripts/dtc: Update to upstream version v1.7.0Ahmad Fatoum2023-02-2228-433/+985
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the following commits from upstream dtc: 039a99414e77 Bump version to v1.7.0 9b62ec84bb2d Merge remote-tracking branch 'gitlab/main' 3f29d6d85c24 pylibfdt: add size_hint parameter for get_path 2022bb10879d checks: Update #{size,address}-cells check for 'dma-ranges' abbd523bae6e pylibfdt: Work-around SWIG limitations with flexible arrays a41509bea3e7 libfdt: Replace deprecated 0-length arrays with proper flexible arrays 2cd89f862cdb dtc: Warning rather than error on possible truncation of cell values 55778a03df61 libfdt: tests: add get_next_tag_invalid_prop_len 73590342fc85 libfdt: prevent integer overflow in fdt_next_tag 035fb90d5375 libfdt: add fdt_get_property_by_offset_w helper 98a07006c48d Makefile: fix infinite recursion by dropping non-existent `%.output` a036cc7b0c10 Makefile: limit make re-execution to avoid infinite spin c6e92108bcd9 libdtc: remove duplicate judgments e37c25677dc9 Don't generate erroneous fixups from reference to path 50454658f2b5 libfdt: Don't mask fdt_get_name() returned error e64a204196c9 manual.txt: Follow README.md and remove Jon f508c83fe6f0 Update README in MANIFEST.in and setup.py to README.md c2ccf8a77dd2 Add description of Signed-off-by lines 90b9d9de42ca Split out information for contributors to CONTRIBUTING.md 0ee1d479b23a Remove Jon Loeliger from maintainers list b33a73c62c1c Convert README to README.md 7ad60734b1c1 Allow static building with meson fd9b8c96c780 Allow static building with make fda71da26e7f libfdt: Handle failed get_name() on BEGIN_NODE c7c7f17a83d5 Fix test script to run also on dash shell 01f23ffe1679 Add missing relref_merge test to meson test list ed310803ea89 pylibfdt: add FdtRo.get_path() c001fc01a43e pylibfdt: fix swig build in install 26c54f840d23 tests: add test cases for label-relative path references ec7986e682cf dtc: introduce label relative path references 651410e54cb9 util: introduce xstrndup helper 4048aed12b81 setup.py: fix out of tree build ff5afb96d0c0 Handle integer overflow in check_property_phandle_args() ca7294434309 README: Explain how to add a new API function c0c2e115f82e Fix a UB when fdt_get_string return null cd5f69cbc0d4 tests: setprop_inplace: use xstrdup instead of unchecked strdup a04f69025003 pylibfdt: add Property.as_*int*_array() 83102717d7c4 pylibfdt: add Property.as_stringlist() d152126bb029 Fix Python crash on getprop deallocation 17739b7ef510 Support 'r' format for printing raw bytes with fdtget 45f3d1a095dd libfdt: overlay: make overlay_get_target() public c19a4bafa514 libfdt: fix an incorrect integer promotion 1cc41b1c969f pylibfdt: Add packaging metadata db72398cd437 README: Update pylibfdt install instructions 383e148b70a4 pylibfdt: fix with Python 3.10 23b56cb7e189 pylibfdt: Move setup.py to the top level 69a760747d8d pylibfdt: Split setup.py author name and email 0b106a77dbdc pylibfdt: Use setuptools_scm for the version c691776ddb26 pylibfdt: Use setuptools instead of distutils 5216f3f1bbb7 libfdt: Add static lib to meson build 4eda2590f481 CI: Cirrus: bump used FreeBSD from 12.1 to 13.0 0a3a9d3449c8 checks: Add an interrupt-map check 8fd24744e361 checks: Ensure '#interrupt-cells' only exists in interrupt providers d8d1a9a77863 checks: Drop interrupt provider '#address-cells' check 52a16fd72824 checks: Make interrupt_provider check dependent on interrupts_extended_is_cell 37fd700685da treesource: Maintain phandle label/path on output e33ce1d6a8c7 flattree: Use '\n', not ';' to separate asm pseudo-ops d24cc189dca6 asm: Use assembler macros instead of cpp macros ff3a30c115ad asm: Use .asciz and .ascii instead of .string 5eb5927d81ee fdtdump: fix -Werror=int-to-pointer-cast 0869f8269161 libfdt: Add ALIGNMENT error string 69595a167f06 checks: Fix bus-range check 72d09e2682a4 Makefile: add -Wsign-compare to warning options b587787ef388 checks: Fix signedness comparisons warnings 69bed6c2418f dtc: Wrap phandle validity check 910221185560 fdtget: Fix signedness comparisons warnings d966f08fcd21 tests: Fix signedness comparisons warnings ecfb438c07fa dtc: Fix signedness comparisons warnings: pointer diff 5bec74a6d135 dtc: Fix signedness comparisons warnings: reservednum 24e7f511fd4a fdtdump: Fix signedness comparisons warnings b6910bec1161 Bump version to v1.6.1 21d61d18f968 Fix CID 1461557 4c2ef8f4d14c checks: Introduce is_multiple_of() e59ca36fb70e Make handling of cpp line information more tolerant 0c3fd9b6aceb checks: Drop interrupt_cells_is_cell check 6b3081abc4ac checks: Add check_is_cell() for all phandle+arg properties 2dffc192a77f yamltree: Remove marker ordering dependency 61e513439e40 pylibfdt: Rework "avoid unused variable warning" lines c8bddd106095 tests: add a positive gpio test case ad4abfadb687 checks: replace strstr and strrchr with strends 09c6a6e88718 dtc.h: add strends for suffix matching 9bb9b8d0b4a0 checks: tigthen up nr-gpios prop exception b07b62ee3342 libfdt: Add FDT alignment check to fdt_check_header() a2def5479950 libfdt: Check that the root-node name is empty 4ca61f84dc21 libfdt: Check that there is only one root node 34d708249a91 dtc: Remove -O dtbo support 8e7ff260f755 libfdt: Fix a possible "unchecked return value" warning 88875268c05c checks: Warn on node-name and property name being the same 9d2279e7e6ee checks: Change node-name check to match devicetree spec f527c867a8c6 util: limit gnu_printf format attribute to gcc >= 4.4.0 183df9e9c2b9 gitignore: Ignore the swp files 0db6d09584e1 gitignore: Add cscope files 307afa1a7be8 Update Jon Loeliger's email ca16a723fa9d fdtdump: Fix gcc11 warning 64990a272e8f srcpos: increase MAX_SRCFILE_DEPTH 163f0469bf2e dtc: Allow overlays to have .dtbo extension 3b01518e688d Set last_comp_version correctly in new dtb and fix potential version issues in fdt_open_into f7e5737f26aa tests: Fix overlay_overlay_nosugar test case 7cd5d5fe43d5 libfdt: Tweak description of assume-aligned load helpers a7c404099349 libfdt: Internally perform potentially unaligned loads bab85e48a6f4 meson: increase default timeout for tests f8b46098824d meson: do not assume python is installed, skip tests 30a56bce4f0b meson: fix -Wall warning 5e735860c478 libfdt: Check for 8-byte address alignment in fdt_ro_probe_() 67849a327927 build-sys: add meson build 05874d08212d pylibfdt: allow build out of tree 3bc3a6b9fe0c dtc: Fix signedness comparisons warnings: Wrap (-1) e1147b159e92 dtc: Fix signedness comparisons warnings: change types 04cf1fdc0fcf convert-dtsv0: Fix signedness comparisons warning b30013edb878 libfdt: Fix kernel-doc comments cbca977ea121 checks: Allow PCI bridge child nodes without an address 73e0f143b73d libfdt: fdt_strerror(): Fix comparison warning 6c2be7d85315 libfdt: fdt_get_string(): Fix sequential write comparison warnings 82525f41d59e libfdt: libfdt_wip: Fix comparison warning fb1f65f15832 libfdt: fdt_create_with_flags(): Fix comparison warning f28aa271000b libfdt: fdt_move(): Fix comparison warnings 3d7c6f44195a libfdt: fdt_add_string_(): Fix comparison warning 10f682788c30 libfdt: fdt_node_offset_by_phandle(): Fix comparison warning 07158f4cf2a2 libfdt: overlay: Fix comparison warning ce9e1f25a7de libfdt: fdt_resize(): Fix comparison warning faa76fc10bc5 libfdt: fdt_splice_(): Fix comparison warning 54dca0985316 libfdt: fdt_get_string(): Fix comparison warnings f8e11e61624e libfdt: fdt_grab_space_(): Fix comparison warning 0c43d4d7bf5a libfdt: fdt_mem_rsv(): Fix comparison warnings 442ea3dd1579 libfdt: fdt_offset_ptr(): Fix comparison warnings ca19c3db2bf6 Makefile: Specify cflags for libyaml 7bb86f1c0956 libfdt: fix fdt_check_node_offset_ w/ VALID_INPUT 3d522abc7571 dtc: Include stdlib.h in util.h 808cdaaf524f dtc: Avoid UB when shifting 3e3138b4a956 libfdt: fix fdt_check_full buffer overrun 9d7888cbf19c dtc: Consider one-character strings as strings 8259d59f59de checks: Improve i2c reg property checking fdabcf2980a4 checks: Remove warning for I2C_OWN_SLAVE_ADDRESS 2478b1652c8d libfdt: add extern "C" for C++ f68bfc2668b2 libfdt: trivial typo fix 7be250b4d059 libfdt: Correct condition for reordering blocks 81e0919a3e21 checks: Add interrupt provider test 85e5d839847a Makefile: when building libfdt only, do not add unneeded deps b28464a550c5 Fix some potential unaligned accesses in dtc 87a656ae5ff9 check: Inform about missing ranges 73d6e9ecb417 libfdt: fix undefined behaviour in fdt_splice_() 2525da3dba9b Bump version to v1.6.0 62cb4ad286ff Execute tests on FreeBSD with Cirrus CI 1f9a41750883 tests: Allow running the testsuite on already installed binary / libraries c5995ddf4c20 tests: Honour NO_YAML make variable e4ce227e89d7 tests: Properly clean up .bak file from tests 9b75292c335c tests: Honour $(NO_PYTHON) flag from Makefile in run_tests.sh 6c253afd07d4 Encode $(NO_PYTHON) consistently with other variables 95ec8ef706bd tests: No need to explicitly pass $PYTHON from Make to run_tests.sh 2b5f62d109a2 tests: Let run_tests.sh run Python tests without Makefile assistance 76b43dcbd18a checks: Add 'dma-ranges' check e5c92a4780c6 libfdt: Use VALID_INPUT for FDT_ERR_BADSTATE checks e5cc26b68bc0 libfdt: Add support for disabling internal checks 28fd7590aad2 libfdt: Improve comments in some of the assumptions fc207c32341b libfdt: Fix a few typos 0f61c72dedc4 libfdt: Allow exclusion of fdt_check_full() f270f45fd5d2 libfdt: Add support for disabling ordering check/fixup c18bae9a4c96 libfdt: Add support for disabling version checks fc03c4a2e04e libfdt: Add support for disabling rollback handling 77563ae72b7c libfdt: Add support for disabling sanity checks 57bc6327b80b libfdt: Add support for disabling dtb checks 464962489dcc Add a way to control the level of checks in the code 0c5326cb2845 libfdt: De-inline fdt_header_size() cc6a5a071504 Revert "yamltree: Ensure consistent bracketing of properties with phandles" 0e9225eb0dfe Remove redundant YYLOC global declaration cab09eedd644 Move -DNO_VALGRIND into CPPFLAGS 0eb1cb0b531e Makefile: pass $(CFLAGS) also during dependency generation c40aeb60b47a travis.yml: Run tests on the non-x86 builders, too 9f86aff444f4 Add .cirrus.yml for FreeBSD build 34c82275bae6 Avoid gnu_printf attribute when using Clang 743000931bc9 tests: default to 'cc' if CC not set adcd676491cc Add test-case for trailing zero d9c55f855b65 Remove trailing zero from the overlay path 7a22132c79ec pylibfdt: Adjust for deprecated test methods dbe80d577ee2 tests: add extension to sed -i for GNU/BSD sed compatibility af57d440d887 libfdt: Correct prototype for fdt_ro_probe_() 6ce585ac153b Use correct inttypes.h format specifier 715028622547 support byacc in addition to bison fdf3f6d897ab pylibfdt: Correct the type for fdt_property_stub() 430419c28100 tests: fix some python warnings 588a29ff2e4e util: use gnu_printf format attribute bc876708ab1d fstree: replace lstat with stat 4c3c4ccb9916 dumptrees: pass outputdir as first argument aa522da9fff6 tests: allow out-of-tree test run 0d0d0fa51b1f fdtoverlay: Return non-zero exit code if overlays can't be applied 4605eb047b38 Add .editorconfig 18d7b2f4ee45 yamltree: Ensure consistent bracketing of properties with phandles 67f790c1adcc libfdt.h: add explicit cast from void* to uint8_t* in fdt(32|64)_st b111122ea5eb pylibfdt: use python3 shebang Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230217173057.1839835-2-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | kwboot: add missing header to fix musl buildAhmad Fatoum2023-02-171-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | Building kwboot for musl instead of glibc results in a couple of errors: error: unknown type name 'fd_set' error: storage size of 'tv' isn't known 142 | struct timeval tv; warning: implicit declaration of function 'FD_ZERO' warning: implicit declaration of function 'FD_SET' warning: implicit declaration of function 'select' warning: implicit declaration of function 'FD_ISSET' POSIX specifies[1] that all these symbols shall be defined by <sys/select.h>, so include this missing header. [1]: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/select.h.html Reported-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Link: https://lore.kernel.org/openembedded-core/Y91ObtiQCtnpGaRH@mail.local/ Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Reviewed-by: Marco Felsch <m.felsch@pengutronix.de> Link: https://lore.barebox.org/20230217070810.3353123-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* include: printk: retire printk_once for pr_debug_onceAhmad Fatoum2023-02-031-1/+1
| | | | | | | | | | printk is just printf and KERN_DEBUG is just "", so printk_once(KERN_DEBUG doesn't do what's promised. Replace instead with pr_debug_once, which does what one would expect. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20230202133415.319020-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* pbl: Add Kconfig option to enable DEBUG globally in PBLAhmad Fatoum2022-12-161-0/+4
| | | | | | | | | | | CONFIG_INITCALL_DEBUG=y is a very useful tool for debugging barebox hangs, but it's not so useful if the hang happens very early. Define a new CONFIG_DEBUG_PBL symbol that will define DEBUG globally in PBL to get more insight into boot hangs. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221212164212.2358450-3-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/misc'Sascha Hauer2022-10-132-3/+3
|\
| * lds: introduce <asm/barebox.lds.h>Ahmad Fatoum2022-10-112-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We have a separate linker script for each architecture and one more for PBL if supported. All linker scripts include <asm-generic/barebox.lds.h>. In future, we may want to use a linker script common to more than one architecture. Prepare for this by having each architecture define a <asm/barebox.lds.h>. Currently, these files contain little more than 1-2 #include directives, but this will change in later commits. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20221010061122.2084009-6-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | imx-usb-loader: skip initial SDP_ERROR_STATUS query for SDPSAhmad Fatoum2022-10-041-4/+6
|/ | | | | | | | | | | | | | | | | | We do an initial do_status() every time, which fails for i.MX8MP and i.MX8MN: found i.MX8MP USB device [1fc9:0146] 4 in err=-9, last_trans=0 00 00 00 00 status failed If we instead skip it for SDPS (i.e. hid_endpoint), upload works as expected (tested on i.MX8M Nano). Reported-by: Hans Christian Lønstad <hcl@datarespons.no> Fixes: 23e2203150b6 ("imx-usb-loader: Add i.MX8MP support") Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220927173101.1696673-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/sha256'Sascha Hauer2022-09-141-0/+11
|\
| * kbuild: make sha256sum command available generallyAhmad Fatoum2022-08-191-0/+11
| | | | | | | | | | | | | | | | | | | | | | We currently use the command only for generation a SHA256 sum of the barebox proper binary. In preparation for using it in othe Makefiles as well, move it to a central location and use the occasion to give it a short comment. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220818050447.2072932-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | bbremote: Print usage when no command is givenSascha Hauer2022-09-121-0/+6
| | | | | | | | | | | | | | | | | | Instead of dumping a backtrace, print usage information when no subcommand is given. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220908093005.3035259-6-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | bbremote: Convert to python3Sascha Hauer2022-09-128-33/+52
| | | | | | | | | | | | | | | | This is the long overdue conversion from python2 to python3. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220908093005.3035259-3-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | remove local pyserialSascha Hauer2022-09-1213-3875/+0
|/ | | | | | | | | | A copy of pyserial has been put into the tree because RFC2217 support was broken back then. This issue is long fixed, so remove the local copy. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220908093005.3035259-2-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* Merge branch 'for-next/socfpga'Sascha Hauer2022-08-111-0/+8
|\
| * scripts: socfgpa_xml_to_config: document pincfgSteffen Trumtrar2022-08-081-0/+8
| | | | | | | | | | | | Signed-off-by: Steffen Trumtrar <s.trumtrar@pengutronix.de> Link: https://lore.barebox.org/20220801120708.2511165-1-s.trumtrar@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | Merge branch 'for-next/misc'Sascha Hauer2022-08-111-1/+7
|\ \
| * | kbuild: make FIT public key overwritableStefano Manni2022-08-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The path to the public key used to verify FIT images can be specified with Kconfig variable. For a better build system integration we also want to be able to specify the path in environment variables. Signed-off-by: Stefano Manni <stefano.manni@gmail.com> Link: https://lore.barebox.org/02bcbd486b7f41e5dc86bf9d228dcbf6e1fe9957.camel@gmail.com Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
* | | Merge branch 'for-next/imx'Sascha Hauer2022-08-111-85/+90
|\ \ \
| * | | scripts: imx-usb-loader: add i.MX8MN supportAhmad Fatoum2022-08-081-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add VID/PID for i.MX8MN imx-usb-loader support. Everything else is equivalent to the i.MX8MP, which also speaks SDPS instead of the older more complicated SDP. Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de> Link: https://lore.barebox.org/20220805080754.1622205-1-a.fatoum@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx-usb-loader: drop some unnecessary castingSascha Hauer2022-08-081-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the buffer pointer in transfer() to type void * to drop some unnecessary type casting from the callers. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220714072722.2863571-13-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx-usb-loader: verify correct image lengthSascha Hauer2022-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When verifying the uploaded file we may only check the already uploaded part of the image, not the whole image. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220714072722.2863571-12-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx-usb-loader: simplify read_memory()Sascha Hauer2022-08-081-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In read_memory() we transfer at maximum 64 bytes, so the returned number of actually sent bytes will never be greater than 64 and we can drop the corresponding checks. Then it is checked if there are really 64 bytes transferred. We don't do this elsewhere, so drop it here as well. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220714072722.2863571-11-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
| * | | imx-usb-loader: Fix first stage lengthSascha Hauer2022-08-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On most SoCs the IVT header is not at the beginning of the image but at offset 0x400. As we skip the leading 0x400 bytes while uploading we can substract that offset from the image size we upload. This shouldn't make a difference now, but in future we might change the two-staged upload process: Now we upload the PBL once and afterwards the full image incuding the same PBL again. It would be more elegant to upload the PBL only once and only the rest of the image afterwards. If we do so, it it important to exactly upload the first stage so that barebox on the other end receives exactly the second stage at the offset it expects it to be. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20220714072722.2863571-10-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>