diff options
| author | Michael Brown | 2025-06-24 14:17:19 +0200 |
|---|---|---|
| committer | Michael Brown | 2025-06-24 14:41:51 +0200 |
| commit | d3e10ebd354928d56ba660cd2ea14af1663702a2 (patch) | |
| tree | e9265e1ecdfb1b9bad6453f00d5c04c38a33728f /src/include/compiler.h | |
| parent | [legacy] Rename the global legacy NIC to "legacy_nic" (diff) | |
| download | ipxe-d3e10ebd354928d56ba660cd2ea14af1663702a2.tar.gz ipxe-d3e10ebd354928d56ba660cd2ea14af1663702a2.tar.xz ipxe-d3e10ebd354928d56ba660cd2ea14af1663702a2.zip | |
[legacy] Allocate legacy driver .bss-like segments at probe time
Some legacy drivers use large static allocations for transmit and
receive buffers. To avoid bloating the .bss segment, we currently
implement these as a single common symbol named "_shared_bss" (which
is permissible since only one legacy driver may be active at any one
time).
Switch to dynamic allocation of these .bss-like segments, to avoid the
requirement for using common symbols.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/compiler.h')
| -rw-r--r-- | src/include/compiler.h | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/src/include/compiler.h b/src/include/compiler.h index ec03f6f96..f8e948829 100644 --- a/src/include/compiler.h +++ b/src/include/compiler.h @@ -623,28 +623,6 @@ char __debug_disable(OBJECT) = ( DBGLVL_MAX & ~DBGLVL_DFLT ); */ #define inline inline __attribute__ (( no_instrument_function )) -/** - * Shared data. - * - * To save space in the binary when multiple-driver images are - * compiled, uninitialised data areas can be shared between drivers. - * This will typically be used to share statically-allocated receive - * and transmit buffers between drivers. - * - * Use as e.g. - * - * @code - * - * struct { - * char rx_buf[NUM_RX_BUF][RX_BUF_SIZE]; - * char tx_buf[TX_BUF_SIZE]; - * } my_static_data __shared; - * - * @endcode - * - */ -#define __shared __asm__ ( "_shared_bss" ) __aligned - #endif /* ASSEMBLY */ /** @} */ |
