summaryrefslogtreecommitdiffstats
path: root/src/include/compiler.h
diff options
context:
space:
mode:
authorMichael Brown2005-05-02 18:21:52 +0200
committerMichael Brown2005-05-02 18:21:52 +0200
commit60b82eb5cdfeea33cddc7740a3eb30d41d4192a4 (patch)
tree34883b316032f86d1b200d0ae7680aa3e3156307 /src/include/compiler.h
parentCorrect symbol violations reported by "make symcheck" (diff)
downloadipxe-60b82eb5cdfeea33cddc7740a3eb30d41d4192a4.tar.gz
ipxe-60b82eb5cdfeea33cddc7740a3eb30d41d4192a4.tar.xz
ipxe-60b82eb5cdfeea33cddc7740a3eb30d41d4192a4.zip
Moved definition of __shared into compiler.h
Diffstat (limited to 'src/include/compiler.h')
-rw-r--r--src/include/compiler.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/include/compiler.h b/src/include/compiler.h
index 4fe4f025..df0a01a6 100644
--- a/src/include/compiler.h
+++ b/src/include/compiler.h
@@ -71,6 +71,23 @@ __asm__ ( ".equ\tDEBUG_LEVEL, " DEBUG_SYMBOL_STR );
#define __unused __attribute__((unused))
#define __used __attribute__((used))
+/*
+ * 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.
+ *
+ * struct {
+ * char rx_buf[NUM_RX_BUF][RX_BUF_SIZE];
+ * char tx_buf[TX_BUF_SIZE];
+ * } my_static_data __shared;
+ *
+ */
+
+#define __shared __asm__ ( "_shared_bss" );
+
#endif /* ASSEMBLY */
#endif /* COMPILER_H */