summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-05-27patman: Provide an option to run in single-threaded modeSimon Glass
Patman normally sends multiple concurrent requests to the patchwork server, as this is faster. Provide an option to disable this. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Switch over to asyncioSimon Glass
Now that all the pieces are in place, switch over from using an executor to using asyncio. While we are here, import defaultdict to avoid needing to specify its module. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Use defaultdict directlySimon Glass
Import defaultdict to avoid needing to specify its module in multiple places. Fix an extra blank line while here. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add more information to PatchSimon Glass
The cover letter has some information on each patch, so allow this to be stored in the Patch object. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Show patches in yellowSimon Glass
When comments are shown below patches it can be hard to see the patch subject. Use yellow instead of blue, since it stands out better. Pass the colour object into show_responses() rather than creating a new one, since that is tidier. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Simplify test_find_new_responses()Simon Glass
This test uses the find_new_responses() function which combines accessing patchwork and processing the results. Since the test is aimed at testing processing, adjust it to call process_reviews() instead. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Adjust how the fake request() function is providedSimon Glass
Instead of passing the URL and function to each call, put the fake into the Patchwork object instead. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Split out the processing of find_new_responses()Simon Glass
This function does patchwork calls and then processes the results. Move the processing out so we can (later) test it separately. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Split up check_and_show_status()Simon Glass
This function has three phases: - collecting things from patchwork - doing some processing - showing the results to the user / creating a branch Refactor into two functions so we can eventually have the patchwork part fully separated out. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Rename check_patchwork_status()Simon Glass
This function actually shows the status and does some other things. Rename it to better reflect its purpose. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Add reading of series and patch statusSimon Glass
Expand the patchwork module so that it can match the current requirements of the 'patman status' command, i.e. reading the state of a series and the patches associated with it. Since the format of each patchwork response is a little tricky to understand, add examples in comments at the top of each function. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move Patch and Review to patchwork moduleSimon Glass
These relate to information obtained from the patchwork server, so move their definition into the new patchwork module. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Create a module for handling patchworkSimon Glass
At present the patchwork implementation is very simple, just consisting of a function which calls the REST API. We want to create a fake patchwork for use in tests. So start a new module to encapsulate communication with the patchwork server. Use asyncio since it is easier to handle lots of concurrent requests from different parts of the code. Signed-off-by: Simon Glass <[email protected]>
2025-05-27CI: Add a dependency file for patmanSimon Glass
Now that patman has an unusual dependency, add a requirements.txt file and use it in CI Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move code for sending into its own moduleSimon Glass
The control module includes much of the implementation of patman's 'send' feature. As a first step to separating this out, move the sending code into its own file. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Support extra test featuresSimon Glass
Provide support for the -X flag, which preserves the working directory used by tests. Also support -N which shows captured output for tests. Finally, allow selection of a particular test to run. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Tidy up the start-up codeSimon Glass
Much of this was written before the other Python tools and they have evolved. Make a few updates: - Rather than calling sys.exit(), return the exit code from the control module and use it in __main__ - Set up tout as it is used in some places - We now have quite a few tests, so update the comment about that Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Rename test_basic() in test_checkpatchSimon Glass
This currently has the same name as a test in func_test.py so it isn't possible to select one or the other with 'patman test test_basic': both are executed. Rename this one to avoid confusion. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Correct a stray quoteSimon Glass
A quote character was added a few years ago, but was not intended. Drop it. Signed-off-by: Simon Glass <[email protected]>
2025-05-27tools: Plumb in capture controlSimon Glass
Add control of capturing output into u_boot_pylib and the tools which use it. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Allow disabling colour outputSimon Glass
When running tests there is no situation in which we want ANSI output as it makes it much harder to see what is going on in logs, tests, etc. Provide a way to disable this. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Avoid concurrent execution of only one testSimon Glass
There is no point in spinning up multiple processes if there is only one test to execute. Add a check for this. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Add a pagerSimon Glass
It is useful to have a pager when outputting a lot of text. Add support for this in the terminal library, making use of a context manager. Also add a function to indicate whether the output device is a terminal or not, while we are here, to avoid duplicating this code. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Improve ANSI-colour output with backgroundsSimon Glass
The current implementation does not handle background colours very well: - It outputs an incorrect code in some cases, leading to wrong colours - Some functions lack a control for the background Tidy this up so that background colours can be used in more places. Signed-off-by: Simon Glass <[email protected]>
2025-05-27u_boot_pylib: Allow control of capturingSimon Glass
Tests often capture output so they can check it. This means that if the test fails it is not easy to see what the output actually was. Add a -N flag which writes out the output after it has been captured. This is not a perfect solution but it is simple and seems to work well in practice. Signed-off-by: Simon Glass <[email protected]>
2025-05-27binman: Correct a typo in the toolpath commentSimon Glass
Fix the 'ist' typo in the comment for TestFunctional Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move capture_sys_output() into terminal and renameSimon Glass
This function is sometimes useful outside tests. Also it can affect how terminal output is done, e.g. whether ANSI characters should be emitted or not. Move it out of the test_util package and into terminal. Signed-off-by: Simon Glass <[email protected]>
2025-05-27patman: Move all non-test logic into control moduleSimon Glass
It is easier for tests if the top-level control logic is all in one module. Create a new do_patman() function to handle this. Move the existing code into it. Signed-off-by: Simon Glass <[email protected]>
2025-05-27binman: x86: Write skip-at-start when end-at-4gb is usedSimon Glass
The end-at-4gb property implies a value for skip-at-start so add it into the output FDT so that U-Boot can read it. Now that skip-at-start is implemented, we can drop the workarounds used in the x86 code to obtain the correct image-pos value. Signed-off-by: Simon Glass <[email protected]>
2025-05-27binman: Read the skip-at-start value on startupSimon Glass
This value provides an offset for all image-pos values in the image. Read it on startup so that we can take account of it when calculating positions. Signed-off-by: Simon Glass <[email protected]>
2025-05-27buildman: Add a way to build a particular targetSimon Glass
At present buildman only supports building the default target. Generally this is what is wanted, but in some cases boards erroneously have a different target for product extra files. Add a --target option to help. Also add a comment indicating which letters are free for new options. Signed-off-by: Simon Glass <[email protected]>
2025-05-26Merge tag 'v2025.07-rc3' into nextTom Rini
Prepare v2025.07-rc3
2025-05-26Prepare v2025.07-rc3v2025.07-rc3Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-05-25Merge branch 'master' of git://source.denx.de/u-boot-usbTom Rini
2025-05-25Merge tag 'efi-2025-07-rc3-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-07-rc3-3 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/26313 UEFI: * run dhcp if an http boot option is selected * separate device path into its own header and add it to the API docs * rename END to EFI_DP_END * make x86 SMBIOS tables usable in the EFI context
2025-05-25usb: ulpi: Clean up how we enable supportTom Rini
The way we enable ULPI support today isn't something that should work. The "optional" keyword in a choice statement is not a documented feature. To make this work in a supported way, make USB_ULPI something we ask about if USB_HOST is set. Next, we move the choice of what viewer to use to be after the framework portion and to depend on that. We then borrow a few words from the top-level README to make the help text here clearer. Finally we make the Qualcomm driver select ULPI as it's required and we make the tegra driver not duplicate a check that Kconfig now handles for us. Signed-off-by: Tom Rini <[email protected]>
2025-05-25usb: ulpi: Remove unused omap-ulpi-viewport driverTom Rini
The last platform to enable this driver was removed in 2019. Remove this unused code and documentation now. Signed-off-by: Tom Rini <[email protected]>
2025-05-25usb: dwc3: core: Fix timeout checkVaradarajan Narayanan
dwc3_core_init loops 'timeout' times to check if the IP block is out of reset using 'while (timeout--)'. If there is some issue and the block doesn't come out of reset, the loop will run till 'timeout' becomes zero and the post decrement operator would set timeout to 0xffffffff. Though the IP block is not out reset, the subsequent if check 'if !timeout' would fail as timeout is not equal to zero and the function proceeds with the initialization. Use poll API instead to resolve this. Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Reviewed-by: Caleb Connolly <[email protected]>
2025-05-25efi_loader: Run dhcp if an http boot option is selectedIlias Apalodimas
The EFI boot manager relies on having an IP address before trying to boot an EFI HTTP(s) boot entry. However, defining it as a boot or pre-boot command is not always the right answer since it will unconditionally add delay to the board boot, even if we don't boot over the network. So let's do a DHCP request from the boot manager, if 'ipaddr' is empty and fail early if we don't have an address. Signed-off-by: Ilias Apalodimas <[email protected]> Tested-by: Michal Simek <[email protected]>
2025-05-25x86: efi_loader: Ensure the SMBIOS tables are sent via EFISimon Glass
The EFI-loader code has not been fully converted to use bloblist, so relies on the SMBIOS-table address being set in global_data. Set this up in write_tables() so that the SMBIOS tables are actually available. Enable the command for x86 QEMU so that the SMBIOS tests actually run. Signed-off-by: Simon Glass <[email protected]> Fixes: 83ce35d6ebb ("emulation: Use bloblist to hold tables") Reported-by: Niklas Sombert <[email protected]> Tested-by: Niklas Sombert <[email protected]> Tested-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-05-25efi: Rename END to EFI_DP_ENDSimon Glass
This exported symbol has a very generic name. Rename it to indicate that it relates to EFI and device-paths. Fix checkpatch warnings related to use of multiple assignments. Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-05-25efi: Include device-path functions in the EFI API docsSimon Glass
Include these function so they can be browsed in the API docs. Exclude END since it causes a warning, which becomes an error: ./include/efi_device_path.h:22: warning: cannot understand function prototype: 'const struct efi_device_path END; ' Signed-off-by: Simon Glass <[email protected]> Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-05-25efi_loader: Separate device path into its own headerSimon Glass
These functions are useful for the EFI app. As a first step towards making these available outside lib/efi_loader, create a separate header file and include it where needed. Add proper comments to the functions, since many are missing at present. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-05-23net: phy: Do not do CL22 phy reset before ethernet phy driver probeSkyLake.Huang
Remove unnecessary CL22 phy reset before ethernet phy driver probe. Lots of ethernet phys requires driver to load firmware. Before that, CL22 phy reset may lead to malfunction. Signed-off-by: SkyLake.Huang <[email protected]>
2025-05-23net: tftp: don't call stop callback from UDP handlerAlexander Sverdlin
Contrary to doc/develop/driver-model/ethernet.rst contract, eth_ops .free_pkt can be called after .stop, there are several error paths in TFTP, for instance: eth_halt() <= tftp_handler() <= net_process_received_packet() <= eth_rx() ... am65_cpsw_free_pkt() <= eth_rx() Which results in (deliberately "tftpboot"ing non-existing file): TFTP error: 'File not found' (1) Not retrying... am65_cpsw_nuss_port ethernet@8000000port@1: RX dma free_pkt failed -22 Avoid the DMA error message (and follow the documentation) by deferring eth_halt() until net_loop() calls net_start_again() and only do eth_halt_state_only() instead. Fixes: aafda38fb266 ("Add error codes/handling for TFTP-server") Signed-off-by: Alexander Sverdlin <[email protected]>
2025-05-23Merge patch series "BOOTP/DHCPv4 enhancements"Tom Rini
Sean Edmond <[email protected]> says: In our datacenter application, a single DHCP server is servicing 36000+ clients. Improvements are required to the DHCPv4 retransmission behavior to align with RFC and ensure less pressure is exerted on the server: - retransmission backoff interval maximum is configurable (environment variable bootpretransmitperiodmax) - initial retransmission backoff interval is configurable (environment variable bootpretransmitperiodinit) - transaction ID is kept the same for each BOOTP/DHCPv4 request (not recreated on each retry) For our application we'll use: - bootpretransmitperiodmax=16000 - bootpretransmitperiodinit=2000 A new configuration BOOTP_RANDOM_XID has been added to enable a randomized BOOTP/DHCPv4 transaction ID. Enhance DHCPv4 sending/parsing option 209 (PXE config file). A previous patch was accepted. A new patch fixes a possible double free() and addresses latest review comments. Link: https://lore.kernel.org/r/[email protected]
2025-05-23net: bootp: add config option BOOTP_RANDOM_XIDSean Edmond
The new config option BOOTP_RANDOM_XID will randomize the transaction ID for each new BOOT/DHCPv4 exchange. Signed-off-by: Sean Edmond <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-05-23net: bootp: BOOTP/DHCPv4 retransmission improvementsSean Edmond
This patch introduces 3 improvements to align with RFC 951: - retransmission backoff interval maximum is configurable - initial retranmission backoff interval is configurable - transaction ID is kept the same for each BOOTP/DHCPv4 request In applications where thousands of nodes are serviced by a single DHCP server, maximizing the retransmission backoff interval at 2 seconds (the current u-boot default) exerts high pressure on the DHCP server and network layer. RFC 951 “7.2. Client Retransmission Strategy” states that the retransmission backoff interval should be limited to 60 seconds. This patch allows the interval to be configurable using the environment variable "bootpretransmitperiodmax" The initial retranmission backoff period defaults to 250ms, which is also too small for these scenarios with many clients. This patch makes the initial retransmission interval to be configurable using the environment variable "bootpretransmitperiodinit". Also, on a retransmission it is not expected for the transaction ID to change (only the 'secs' field should be updated). Let's save the transaction ID and use the same transaction ID for each BOOTP/DHCPv4 exchange. Signed-off-by: Sean Edmond <[email protected]>
2025-05-23net: Enhancements for dhcp option 209Sean Edmond
- Enable option 209 by default - Set pxelinux_configfile to NULL to avoid potential double free - change hardcoded 209 to a define Signed-off-by: Sean Edmond <[email protected]>
2025-05-23ext4fs: Fix: Read outside partition errorTony Dinh
Use lbaint_t for blknr to avoid overflow in ext4fs_read_file(). Background: blknr (block number) used in ext4fs_read_file() could be increased to a very large value and causes a wrap around at 32 bit signed integer max, thus becomes negative. This results in an out-of-normal range for sector number (during the assignment delayed_start = blknr) where delayed_start sector is typed uint64 lbaint_t. This causes the "Read outside partition" error. This patch was tested on the Synology DS116 (Armada 385) board, and a 4TB Seagate HDD. Signed-off-by: Tony Dinh <[email protected]>