mirror of https://github.com/ipxe/ipxe.git
[bofm] Allow garbage collection of BOFM code in non-BOFM builds
Most builds will not have BOFM enabled. In these builds, allow all BOFM code (including BOFM-only code within the individual drivers) to be garbage-collected at link time in order to save space in the final binary. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/1/head
parent
85eefad90c
commit
d157e249f3
|
@ -13,6 +13,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <ipxe/list.h>
|
#include <ipxe/list.h>
|
||||||
#include <ipxe/pci.h>
|
#include <ipxe/pci.h>
|
||||||
|
#include <config/sideband.h>
|
||||||
|
|
||||||
/** 'IBM ' signature
|
/** 'IBM ' signature
|
||||||
*
|
*
|
||||||
|
@ -316,8 +317,16 @@ struct bofm_operations {
|
||||||
/** BOFM driver table */
|
/** BOFM driver table */
|
||||||
#define BOFM_DRIVERS __table ( struct pci_driver, "bofm_drivers" )
|
#define BOFM_DRIVERS __table ( struct pci_driver, "bofm_drivers" )
|
||||||
|
|
||||||
/** Declare a BOFM driver */
|
/** Declare a BOFM driver
|
||||||
|
*
|
||||||
|
* In the common case of non-BOFM-enabled builds, allow any BOFM code
|
||||||
|
* to be garbage-collected at link time to save space.
|
||||||
|
*/
|
||||||
|
#ifdef CONFIG_BOFM
|
||||||
#define __bofm_driver __table_entry ( BOFM_DRIVERS, 01 )
|
#define __bofm_driver __table_entry ( BOFM_DRIVERS, 01 )
|
||||||
|
#else
|
||||||
|
#define __bofm_driver
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialise BOFM device
|
* Initialise BOFM device
|
||||||
|
|
Loading…
Reference in New Issue