[PATCH v8] Add optimized Makefile support for SoCFPGA handoff

Chee, Tien Fong tienfong.chee at altera.com
Mon Dec 1 08:54:06 CET 2025


Hi Brian,

On 27/11/2025 11:18 am, Chee, Tien Fong wrote:
>
> On 19/11/2025 7:16 pm, Brian Sune wrote:
>> [CAUTION: This email is from outside your organization. Unless you 
>> trust the sender, do not click on links or open attachments as it may 
>> be a fraudulent email attempting to steal your information and/or 
>> compromise your computer.]
>>
>> Add optimized Makefile support for SoCFPGA handoff
>>
>> - Introduce socfpga_g5_handoff_prepare target in U-Boot
>>    arch/arm/mach-socfpga/config.mk
>> - Users can convert the handoff via make prepare.
>> - Detects Altera/Intel SoCFPGA boards from .config
>> - Combines vendor/board extraction into a single shell call
>> - Checks for hps_isw_handoff folder and .hiof files
>> - Uses ls -d instead of find for faster folder detection
>> - Runs BSP generator script only if files exist
>> - Non-blocking: continues if handoff folder or files are missing
>> - HANDOFF_PATH user define allows overriding auto-detected folder
>> - Minimizes subshells and other slow constructs for faster CI
>>
>> Signed-off-by: Brian Sune <briansune at gmail.com>
>> ---
>>   arch/arm/mach-socfpga/config.mk | 50 +++++++++++++++++++++++++++++++++
>>   1 file changed, 50 insertions(+)
>>   create mode 100644 arch/arm/mach-socfpga/config.mk
>>
>> diff --git a/arch/arm/mach-socfpga/config.mk 
>> b/arch/arm/mach-socfpga/config.mk
>> new file mode 100644
>> index 00000000000..df1eb909129
>> --- /dev/null
>> +++ b/arch/arm/mach-socfpga/config.mk
>> @@ -0,0 +1,50 @@
>> +# SPDX-License-Identifier: GPL-2.0+
>> +#
>> +# Brian Sune <briansune at gmail.com>
>> +
>> +ifeq ($(CONFIG_TARGET_SOCFPGA_CYCLONE5),y)
>> +archprepare: socfpga_g5_handoff_prepare
>> +else ifeq ($(CONFIG_TARGET_SOCFPGA_ARRIA5),y)
>> +archprepare: socfpga_g5_handoff_prepare
>> +endif
>> +
>> +socfpga_g5_handoff_prepare:
>> +       @SOCFAMILY="$(SOCFAMILY)"; \
>> +               if [ -z "$$SOCFAMILY" ]; then \
>> +                       exit 0; \
>> +               fi; \
>> +               echo "[INFO] SOC family detected: $$SOCFAMILY";
>> +               @set -- $$(awk -F'"' ' \
>> +                   /^CONFIG_SYS_VENDOR=/ {v=$$2} \
>> +                   /^CONFIG_SYS_BOARD=/ {b=$$2} \
>> +                   END {print v, b}' .config); \
>> +               VENDOR=$$1; \
>> +               BOARD=$$2; \
>> +               if [ -z "$$VENDOR" ] || [ -z "$$BOARD" ]; then \
>> +                       exit 0; \
>> +               fi; \
>> +               BOARD_DIR=$(src)/board/$$VENDOR/$$BOARD; \
>> +               if [ "$$HANDOFF_PATH" ]; then \
>> +                       echo "[INFO] Using manually specified handoff 
>> folder: $$HANDOFF_PATH"; \
>> +               else \
>> + HANDOFF_BASE=$$BOARD_DIR/hps_isw_handoff; \
>> +                       if [ ! -d "$$HANDOFF_BASE" ]; then \
>> +                               exit 0; \
>> +                       fi; \
>> +                       HANDOFF_PATH=$$(ls -d "$$HANDOFF_BASE"/*/ 
>> 2>/dev/null | head -n1); \
>> +                       if [ -z "$$HANDOFF_PATH" ]; then \
>> +                               exit 0; \
>> +                       fi; \
>> +                       echo "[INFO] Auto-detected handoff folder: 
>> $$HANDOFF_PATH"; \
>> +               fi; \
>> +               HIOF_FILE=$$HANDOFF_PATH/$$(basename 
>> $$HANDOFF_PATH).hiof; \
>> +               if [ ! -f "$$HIOF_FILE" ]; then \
>> +                       echo "[WARN] No .hiof file found in 
>> $$HANDOFF_PATH, skipping BSP generation."; \
>> +                       exit 0; \
>> +               fi; \
>> +               echo "[INFO] Found hiof file: $$HIOF_FILE"; \
>> +               echo "[INFO] Running BSP generator..."; \
>> +               python3 
>> $(src)/tools/cv_bsp_generator/cv_bsp_generator.py -i "$$HANDOFF_PATH" 
>> -o "$$BOARD_DIR/qts" || echo "[WARN] BSP generator failed, 
>> continuing..."; \
>> +               echo "[DONE] SoCFPGA QTS handoff conversion complete."


I tried applying it onto the latest main branch using:
     git am -3 < v8-Add-optimized-Makefile-support-for-SoCFPGA-handoff.patch

However, the application fails with :
    Applying: Add optimized Makefile support for SoCFPGA handoff
    error: corrupt patch at line 61
    error: could not build fake ancestor
    Patch failed at 0001 Add optimized Makefile support for SoCFPGA handoff

It looks like the patch file may have been corrupted during generation 
or transmission (possibly formatting or mbox header issues).

Could you please resend the patch in clean git format-patch (mbox) 
format so that I can apply and submit for PR.


Thanks.
Tien Fong





More information about the U-Boot mailing list