EDD breaks x86-64 build
CC arch/x86_64/kernel/setup.oarch/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.
Quoted 11 lines · Jeff Garzik
CC
arch/x86_64/kernel/setup.oarch/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 oncearch/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