From 3d6123e69ab879c72ff489afc5bf93ef0b7a94ce Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 8 Mar 2005 18:53:11 +0000 Subject: Initial revision --- src/include/callbacks.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/include/callbacks.h (limited to 'src/include/callbacks.h') diff --git a/src/include/callbacks.h b/src/include/callbacks.h new file mode 100644 index 000000000..2a7547850 --- /dev/null +++ b/src/include/callbacks.h @@ -0,0 +1,45 @@ +/* Callout/callback interface for Etherboot + * + * This file provides the mechanisms for making calls from Etherboot + * to external programs and vice-versa. + * + * Initial version by Michael Brown , January 2004. + * + * $Id$ + */ + +#ifndef CALLBACKS_H +#define CALLBACKS_H + +/* Opcodes and flags for in_call() + */ +#define EB_OPCODE(x) ( (x) & 0xffff ) +#define EB_OPCODE_MAIN (0x0000) +#define EB_OPCODE_CHECK (0x6948) /* 'Hi' */ +#define EB_OPCODE_PXE (0x7850) /* 'Px' */ +#define EB_OPCODE_PXENV (0x7650) /* 'Pv' */ +#define EB_USE_INTERNAL_STACK ( 1 << 16 ) +#define EB_CALL_FROM_REAL_MODE ( 1 << 17 ) /* i386 only */ +#define EB_SKIP_OPCODE ( 1 << 18 ) + +/* Standard return codes + */ +#define EB_CHECK_RESULT (0x6f486948) /* 'HiHo' */ + +/* Include arch-specific callbacks bits + */ +#include "callbacks_arch.h" + +/* Skip the definitions that won't make sense to the assembler */ +#ifndef ASSEMBLY + +#include + +#ifndef in_call_data_t +typedef struct {} empty_struct_t; +#define in_call_data_t empty_struct_t +#endif + +#endif /* ASSEMBLY */ + +#endif /* CALLBACKS_H */ -- cgit v1.2.3-55-g7522