Adjust memory layout for 2.6.22+ kernels with 32KB setup code
[mknbi.git] / menu-simple.c
index bb3a6da..b1a0ee1 100644 (file)
@@ -3,6 +3,7 @@
 #include       "linux-asm-io.h"
 #include       "string.h"
 #include       "etherboot.h"
+#include       "startmenu.h"
 #include       "elf_boot.h"
 
 /*
@@ -29,7 +30,7 @@ file to be loaded to the data area. The menu program should agree with
 the menu generator on the layout of the data area.
 
 This program is linked to run at 0x60000, and expects to find config
-data at 0x80000. This means the code can be up to 128kB long.
+data at 0x70000. This means the code can be up to 64kB long.
 
 When the program starts it receives 3 parameters from Etherboot:
 
@@ -89,21 +90,18 @@ lines. getline() should be smarter.
 
 Memory layout assumed by mknbi and this program
 
-0x60000-0x7FFFF    128 kB      Menu program
-0x80000-0x8FFFF    64 kB       Menu data (initial)
+0x60000-0x6FFFF    64 kB       Menu program
+0x70000-0x7FFFF    64 kB       Menu data (initial)
 
 */
 
 #define        TIMEOUT         10                      /* seconds */
-#define        MENU_DATA       ((char *)0x80000)
+#define        MENU_DATA       ((char *)0x70000)
 
 static char    *items[10];
 
 extern void printf(const char *, ...);
 extern void ansi_putc(unsigned int);
-extern int console_getc(void);
-extern int console_ischar(void);
-extern unsigned long currticks(void);
 
 void putchar(int c)
 {
@@ -266,5 +264,5 @@ int menu(struct ebinfo *eb, union infoblock *header, struct bootp_t *bootp)
                strcpy(path, items[i]);
        else                    /* use directory of current pathname */
                strcpy(file, items[i]);
-       return (0);
+       return (1);
 }