summaryrefslogtreecommitdiffstats
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/i386/include/libkir.h2
-rw-r--r--src/arch/i386/include/librm.h16
2 files changed, 14 insertions, 4 deletions
diff --git a/src/arch/i386/include/libkir.h b/src/arch/i386/include/libkir.h
index 0923e222e..ba7995ce4 100644
--- a/src/arch/i386/include/libkir.h
+++ b/src/arch/i386/include/libkir.h
@@ -12,7 +12,9 @@
/* Access to variables in .data16 and .text16 in a way compatible with librm */
#define __data16( variable ) variable
+#define __data16_array( variable, array ) variable array
#define __text16( variable ) variable
+#define __text16_array( variable,array ) variable array
#define __use_data16( variable ) variable
#define __use_text16( variable ) variable
#define __from_data16( variable ) variable
diff --git a/src/arch/i386/include/librm.h b/src/arch/i386/include/librm.h
index 17fcc78ba..490f6eefa 100644
--- a/src/arch/i386/include/librm.h
+++ b/src/arch/i386/include/librm.h
@@ -20,12 +20,20 @@ extern char *data16;
extern char *text16;
#define __data16( variable ) \
- _data16_ ## variable __asm__ ( #variable ) \
- __attribute__ (( section ( ".data16" ) ))
+ __attribute__ (( section ( ".data16" ) )) \
+ _data16_ ## variable __asm__ ( #variable )
+
+#define __data16_array( variable, array ) \
+ __attribute__ (( section ( ".data16" ) )) \
+ _data16_ ## variable array __asm__ ( #variable )
#define __text16( variable ) \
- _text16_ ## variable __asm__ ( #variable ) \
- __attribute__ (( section ( ".text16.data" ) ))
+ __attribute__ (( section ( ".text16.data" ) )) \
+ _text16_ ## variable __asm__ ( #variable )
+
+#define __text16_array( variable, array ) \
+ __attribute__ (( section ( ".text16.data" ) )) \
+ _text16_ ## variable array __asm__ ( #variable )
#define __use_data16( variable ) \
( * ( ( typeof ( _data16_ ## variable ) * ) \