Project

General

Profile

Actions

Submit #3042

closed

firmware: endianness support for fw_stub.awk

Added by Anonymous over 7 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
06/03/2017
Due date:
% Done:

0%

Estimated time:

Description

Hello,

this patch adds an optional parameter to a firmware specification
tuple for the fw_stub.awk script. The argument is a path to the
big-endian version of the firmware. If it is provided by the user, the
first path in the tuple is treated as little-endian, and two calls of
firmware_register() are generated by the script. The calls are
compiled conditionally according to endianness of target machine.

This is needed for the isp driver firmware to be moved from uit16_t C
arrays in header files to .uu files in sys/contrib/dev/isp.

Example of generated C source code:

#if BYTE_ORDER == BIG_ENDIAN
fp = firmware_register("name", _binary_BigEndianFW_start , (size_t)(_binary_BigEndianFW_end - _binary_BigEndianFW_start), 1234, NULL);
#else
fp = firmware_register("name", _binary_firmware_start , (size_t)(_binary_firmware_end - _binary_firmware_start), 1234, NULL);
#endif


Files

Actions

Also available in: Atom PDF