Skip to contentSkip to conversation

EDD breaks x86-64 build

DISCUSSION Jeff Garzik 2 participants 2 messages Jun 30, 2004

lore
Share & tools
lore
#0 lore raw

CC arch/x86_64/kernel/setup.o
arch/x86_64/kernel/setup.c: In function `copy_edd':
arch/x86_64/kernel/setup.c:415: error: `EDD_MBR_SIGNATURE' undeclared (first use in this function) arch/x86_64/kernel/setup.c:415: error: (Each undeclared identifier is reported only once arch/x86_64/kernel/setup.c:415: error: for each function it appears in.) arch/x86_64/kernel/setup.c:417: error: `EDD_MBR_SIG_NR' undeclared (first use in this function) make[1]: *** [arch/x86_64/kernel/setup.o] Error 1
make: *** [arch/x86_64/kernel] Error 2

config and dmesg attached, if interested.

#1 lore raw
Quoted 11 lines · Jeff Garzik

CC arch/x86_64/kernel/setup.o
arch/x86_64/kernel/setup.c: In function `copy_edd':
arch/x86_64/kernel/setup.c:415: error: `EDD_MBR_SIGNATURE' undeclared (first use in this function)
arch/x86_64/kernel/setup.c:415: error: (Each undeclared identifier is reported only once
arch/x86_64/kernel/setup.c:415: error: for each function it appears in.) arch/x86_64/kernel/setup.c:417: error: `EDD_MBR_SIG_NR' undeclared (first use in this function)
make[1]: *** [arch/x86_64/kernel/setup.o] Error 1
make: *** [arch/x86_64/kernel] Error 2

Arrgh. On i386 it's in include/asm-i386/setup.h On x86_64 it belongs in include/asm-x86_64/bootsetup.h.

Patch below defines EDD_MBR_SIG_NR and EDD_MBR_SIGNATURE on x86_64.

===== include/asm-x86_64/bootsetup.h 1.4 vs edited =====

include/asm-x86_64/bootsetup.h +2 -1
@@ -26,8 +26,9 @@
 #define INITRD_START (*(unsigned int *) (PARAM+0x218))
 #define INITRD_SIZE (*(unsigned int *) (PARAM+0x21c))
 #define EDID_INFO (*(struct edid_info *) (PARAM+0x440))
-#define DISK80_SIGNATURE (*(unsigned int*) (PARAM+DISK80_SIG_BUFFER))
 #define EDD_NR     (*(unsigned char *) (PARAM+EDDNR))
+#define EDD_MBR_SIG_NR (*(unsigned char *) (PARAM+EDD_MBR_SIG_NR_BUF))
+#define EDD_MBR_SIGNATURE ((unsigned int *) (PARAM+EDD_MBR_SIG_BUF))
 #define EDD_BUF     ((struct edd_info *) (PARAM+EDDBUF))
 #define COMMAND_LINE saved_command_line
 #define COMMAND_LINE_SIZE 256