mirror of
https://github.com/ipxe/ipxe
synced 2025-12-23 13:30:57 +03:00
[build] Expose build timestamp, build name, and product names
Expose the build timestamp (measured in seconds since the Epoch) and the build name (e.g. "rtl8139.rom" or "ipxe.efi"), and provide the product name and product short name in a single centralised location. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -23,12 +23,12 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
#include <ipxe/version.h>
|
||||
#include <ipxe/efi/efi.h>
|
||||
#include <ipxe/efi/Protocol/DriverBinding.h>
|
||||
#include <ipxe/efi/Protocol/ComponentName2.h>
|
||||
#include <ipxe/efi/efi_strings.h>
|
||||
#include <ipxe/efi/efi_driver.h>
|
||||
#include <config/general.h>
|
||||
|
||||
/** @file
|
||||
*
|
||||
@@ -207,7 +207,7 @@ int efi_driver_install ( struct efi_driver *efidrv ) {
|
||||
efi_snprintf ( efidrv->wname,
|
||||
( sizeof ( efidrv->wname ) /
|
||||
sizeof ( efidrv->wname[0] ) ),
|
||||
PRODUCT_SHORT_NAME "%s%s",
|
||||
"%s%s%s", product_short_name,
|
||||
( efidrv->name ? " - " : "" ),
|
||||
( efidrv->name ? efidrv->name : "" ) );
|
||||
|
||||
|
||||
@@ -28,12 +28,12 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#include <ipxe/iobuf.h>
|
||||
#include <ipxe/in.h>
|
||||
#include <ipxe/pci.h>
|
||||
#include <ipxe/version.h>
|
||||
#include <ipxe/efi/efi.h>
|
||||
#include <ipxe/efi/efi_pci.h>
|
||||
#include <ipxe/efi/efi_driver.h>
|
||||
#include <ipxe/efi/efi_strings.h>
|
||||
#include <ipxe/efi/efi_snp.h>
|
||||
#include <config/general.h>
|
||||
#include <usr/autoboot.h>
|
||||
|
||||
/** EFI simple network protocol GUID */
|
||||
@@ -988,12 +988,12 @@ static int efi_snp_probe ( struct net_device *netdev ) {
|
||||
efi_snprintf ( snpdev->driver_name,
|
||||
( sizeof ( snpdev->driver_name ) /
|
||||
sizeof ( snpdev->driver_name[0] ) ),
|
||||
PRODUCT_SHORT_NAME " %s", netdev->dev->driver_name );
|
||||
"%s %s", product_short_name, netdev->dev->driver_name );
|
||||
efi_snprintf ( snpdev->controller_name,
|
||||
( sizeof ( snpdev->controller_name ) /
|
||||
sizeof ( snpdev->controller_name[0] ) ),
|
||||
PRODUCT_SHORT_NAME " %s (%s)",
|
||||
netdev->name, netdev_addr ( netdev ) );
|
||||
"%s %s (%s)", product_short_name, netdev->name,
|
||||
netdev_addr ( netdev ) );
|
||||
snpdev->name2.GetDriverName = efi_snp_get_driver_name;
|
||||
snpdev->name2.GetControllerName = efi_snp_get_controller_name;
|
||||
snpdev->name2.SupportedLanguages = "en";
|
||||
|
||||
@@ -59,7 +59,6 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||
#include <ipxe/efi/efi_hii.h>
|
||||
#include <ipxe/efi/efi_snp.h>
|
||||
#include <ipxe/efi/efi_strings.h>
|
||||
#include <config/general.h>
|
||||
|
||||
/** EFI configuration access protocol GUID */
|
||||
static EFI_GUID efi_hii_config_access_protocol_guid
|
||||
@@ -162,7 +161,7 @@ efi_snp_hii_package_list ( struct efi_snp_device *snpdev ) {
|
||||
struct device *dev = netdev->dev;
|
||||
struct efi_ifr_builder ifr;
|
||||
EFI_HII_PACKAGE_LIST_HEADER *package;
|
||||
const char *product_name;
|
||||
const char *name;
|
||||
EFI_GUID package_guid;
|
||||
EFI_GUID formset_guid;
|
||||
EFI_GUID varstore_guid;
|
||||
@@ -173,7 +172,7 @@ efi_snp_hii_package_list ( struct efi_snp_device *snpdev ) {
|
||||
efi_ifr_init ( &ifr );
|
||||
|
||||
/* Determine product name */
|
||||
product_name = ( PRODUCT_NAME[0] ? PRODUCT_NAME : PRODUCT_SHORT_NAME );
|
||||
name = ( product_name[0] ? product_name : product_short_name );
|
||||
|
||||
/* Generate GUIDs */
|
||||
efi_snp_hii_random_guid ( &package_guid );
|
||||
@@ -181,13 +180,13 @@ efi_snp_hii_package_list ( struct efi_snp_device *snpdev ) {
|
||||
efi_snp_hii_random_guid ( &varstore_guid );
|
||||
|
||||
/* Generate title string (used more than once) */
|
||||
title_id = efi_ifr_string ( &ifr, "%s (%s)", product_name,
|
||||
title_id = efi_ifr_string ( &ifr, "%s (%s)", name,
|
||||
netdev_addr ( netdev ) );
|
||||
|
||||
/* Generate opcodes */
|
||||
efi_ifr_form_set_op ( &ifr, &formset_guid, title_id,
|
||||
efi_ifr_string ( &ifr,
|
||||
"Configure " PRODUCT_SHORT_NAME),
|
||||
efi_ifr_string ( &ifr, "Configure %s",
|
||||
product_short_name ),
|
||||
&efi_hii_platform_setup_formset_guid,
|
||||
&efi_hii_ibm_ucm_compliant_formset_guid, NULL );
|
||||
efi_ifr_guid_class_op ( &ifr, EFI_NETWORK_DEVICE_CLASS );
|
||||
@@ -197,7 +196,7 @@ efi_snp_hii_package_list ( struct efi_snp_device *snpdev ) {
|
||||
efi_ifr_text_op ( &ifr,
|
||||
efi_ifr_string ( &ifr, "Name" ),
|
||||
efi_ifr_string ( &ifr, "Firmware product name" ),
|
||||
efi_ifr_string ( &ifr, "%s", product_name ) );
|
||||
efi_ifr_string ( &ifr, "%s", name ) );
|
||||
efi_ifr_text_op ( &ifr,
|
||||
efi_ifr_string ( &ifr, "Version" ),
|
||||
efi_ifr_string ( &ifr, "Firmware version" ),
|
||||
|
||||
Reference in New Issue
Block a user