Added back in the actual call to load().
[people/xl0/gpxe.git] / src / include / etherboot.h
index 3d01fb9..2e76d22 100644 (file)
 #define        TAGGED_IMAGE            /* choose at least one */
 #endif
 
-#undef CODE16
-#if defined(PCBIOS)
-#define        CODE16
-#endif
-
 #define K_ESC          '\033'
 #define K_EOF          '\04'  /* Ctrl-D */
 #define K_INTR         '\03'  /* Ctrl-C */
 #define DEFAULT_BOOTFILE       PXENFSROOTPATH "/boot/pxeboot"
 #endif
 
-/* Clean up console settings... mainly CONSOLE_FIRMWARE and CONSOLE_SERIAL are used
- * in the sources (except start.S and serial.S which cannot include
- * etherboot.h).  At least one of the CONSOLE_xxx has to be set, and
- * CONSOLE_DUAL sets both CONSOLE_CRT and CONSOLE_SERIAL.  If none is set,
- * CONSOLE_CRT is assumed.  */
-#ifdef CONSOLE_CRT
-#define CONSOLE_FIRMWARE
-#endif
-#ifdef CONSOLE_DUAL
-#undef CONSOLE_FIRMWARE
-#define CONSOLE_FIRMWARE
-#undef CONSOLE_SERIAL
-#define CONSOLE_SERIAL
-#endif
-#if    defined(CONSOLE_FIRMWARE) && defined(CONSOLE_SERIAL)
-#undef CONSOLE_DUAL
-#define CONSOLE_DUAL
-#endif
-#if    !defined(CONSOLE_FIRMWARE) && !defined(CONSOLE_SERIAL)
-#define CONSOLE_FIRMWARE
-#endif
-
 #if    !defined(DOWNLOAD_PROTO_TFTP) && !defined(DOWNLOAD_PROTO_NFS) && !defined(DOWNLOAD_PROTO_SLAM) && !defined(DOWNLOAD_PROTO_TFTM) && !defined(DOWNLOAD_PROTO_DISK) && !defined(DOWNLOAD_PROTO_HTTP)
 #error No download protocol defined!
 #endif
@@ -170,6 +143,7 @@ enum {
 #include       "tftp.h"
 #include       "igmp.h"
 #include       "nfs.h"
+#include       "console.h"
 
 struct arptable_t {
        in_addr ipaddr;
@@ -207,10 +181,8 @@ External prototypes
 ***************************************************************************/
 /* main.c */
 struct Elf_Bhdr;
-extern int in_call(in_call_data_t *data, uint32_t opcode, va_list params);
-extern void console_init(void); 
-extern int main(in_call_data_t *data, va_list params);
-extern int loadkernel P((const char *fname));
+extern int main();
+extern int loadkernel P((const char *fname, int (*)(unsigned char *, unsigned int, unsigned int, int)));
 extern char as_main_program;
 /* nic.c */
 extern void rx_qdrain P((void));
@@ -289,67 +261,9 @@ extern void poll_interruptions P((void));
 extern int strcasecmp P((const char *a, const char *b));
 extern char *substr P((const char *a, const char *b));
 extern unsigned long strtoul P((const char *p, const char **, int base));
-extern void printf P((const char *, ...));
-extern int sprintf P((char *, const char *, ...));
 extern int inet_aton P((const char *p, in_addr *i));
-#ifdef PCBIOS
-extern void gateA20_set P((void));
-#define gateA20_unset()
-#else
-#define gateA20_set()
-#define gateA20_unset()
-#endif
-extern void putchar P((int));
-extern int getchar P((void));
-extern int iskey P((void));
-
-/* pcbios.S */
-extern int console_getc P((void));
-extern void console_putc P((int));
-extern int console_ischar P((void));
-extern int getshift P((void));
-extern int int15 P((int));
-#ifdef POWERSAVE
-extern void cpu_nap P((void));
-#endif /* POWERSAVE */
-
-/* basemem.c */
-extern uint32_t get_free_base_memory ( void );
-extern void allot_real_mode_stack ( void );
-extern void forget_real_mode_stack ( void );
-extern void * allot_base_memory ( size_t );
-extern void forget_base_memory ( void*, size_t );
-extern void free_unused_base_memory ( void );
-extern void forget_prefix_base_memory ( void );
-extern void forget_runtime_base_memory ( uint32_t old_addr );
-
-struct e820entry {
-       uint64_t addr;
-       uint64_t size;
-       uint32_t type;
-#define E820_RAM       1
-#define E820_RESERVED  2
-#define E820_ACPI      3 /* usable as RAM once ACPI tables have been read */
-#define E820_NVS       4
-} PACKED;
-#define E820ENTRY_SIZE 20
-#define E820MAX 32
-struct meminfo {
-       uint16_t basememsize;
-       uint16_t pad;
-       uint32_t memsize;
-       uint32_t map_count;
-       struct e820entry map[E820MAX];
-} PACKED;
-extern struct meminfo meminfo;
-extern void get_memsizes(void);
+
 extern unsigned long get_boot_order(unsigned long order, unsigned *index);
-#ifndef NORELOCATE
-extern void relocate(void);
-extern void relocate_to(unsigned long phys_dest);
-#else
-#define relocate() do {} while(0)
-#endif
 extern void disk_init P((void));
 extern unsigned int pcbios_disk_read P((int drv,int c,int h,int s,char *buf));
 
@@ -396,9 +310,6 @@ struct Elf_Bhdr *prepare_boot_params(void *header);
 extern int elf_start(unsigned long machine, unsigned long entry, unsigned long params);
 extern unsigned long currticks P((void));
 extern void exit P((int status));
-extern void _stack;
-extern char _prefix_copy[512];
-extern uint32_t image_basemem;
 
 /* serial.c */
 extern int serial_getc P((void));
@@ -410,9 +321,6 @@ extern void serial_fini P((void));
 /* floppy.c */
 extern int bootdisk P((int dev,int part));
 
-/* pxe_callbacks.c */
-extern int pxe_in_call ( in_call_data_t *in_call_data, va_list params );
-
 /***************************************************************************
 External variables
 ***************************************************************************/