xref: /onnv-gate/usr/src/grub/grub-0.97/netboot/etherboot.h (revision 8044:b3af80bbf173)
1*8044SWilliam.Kucharski@Sun.COM /*
2*8044SWilliam.Kucharski@Sun.COM  *  GRUB  --  GRand Unified Bootloader
3*8044SWilliam.Kucharski@Sun.COM  *  Copyright (C) 1999,2000,2001,2002,2003,2004  Free Software Foundation, Inc.
4*8044SWilliam.Kucharski@Sun.COM  *
5*8044SWilliam.Kucharski@Sun.COM  *  This program is free software; you can redistribute it and/or modify
6*8044SWilliam.Kucharski@Sun.COM  *  it under the terms of the GNU General Public License as published by
7*8044SWilliam.Kucharski@Sun.COM  *  the Free Software Foundation; either version 2 of the License, or
8*8044SWilliam.Kucharski@Sun.COM  *  (at your option) any later version.
9*8044SWilliam.Kucharski@Sun.COM  *
10*8044SWilliam.Kucharski@Sun.COM  *  This program is distributed in the hope that it will be useful,
11*8044SWilliam.Kucharski@Sun.COM  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12*8044SWilliam.Kucharski@Sun.COM  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*8044SWilliam.Kucharski@Sun.COM  *  GNU General Public License for more details.
14*8044SWilliam.Kucharski@Sun.COM  *
15*8044SWilliam.Kucharski@Sun.COM  *  You should have received a copy of the GNU General Public License
16*8044SWilliam.Kucharski@Sun.COM  *  along with this program; if not, write to the Free Software
17*8044SWilliam.Kucharski@Sun.COM  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18*8044SWilliam.Kucharski@Sun.COM  */
19*8044SWilliam.Kucharski@Sun.COM 
20*8044SWilliam.Kucharski@Sun.COM /*
21*8044SWilliam.Kucharski@Sun.COM  * Transport layer to use Etherboot NIC drivers in GRUB.
22*8044SWilliam.Kucharski@Sun.COM  */
23*8044SWilliam.Kucharski@Sun.COM 
24*8044SWilliam.Kucharski@Sun.COM #ifndef ETHERBOOT_H
25*8044SWilliam.Kucharski@Sun.COM #define ETHERBOOT_H
26*8044SWilliam.Kucharski@Sun.COM 
27*8044SWilliam.Kucharski@Sun.COM #include "shared.h"
28*8044SWilliam.Kucharski@Sun.COM #include "osdep.h"
29*8044SWilliam.Kucharski@Sun.COM #include "if_ether.h"
30*8044SWilliam.Kucharski@Sun.COM #include "in.h"
31*8044SWilliam.Kucharski@Sun.COM 
32*8044SWilliam.Kucharski@Sun.COM /* Link configuration time in tenths of a second */
33*8044SWilliam.Kucharski@Sun.COM #ifndef VALID_LINK_TIMEOUT
34*8044SWilliam.Kucharski@Sun.COM #define VALID_LINK_TIMEOUT	100 /* 10.0 seconds */
35*8044SWilliam.Kucharski@Sun.COM #endif
36*8044SWilliam.Kucharski@Sun.COM 
37*8044SWilliam.Kucharski@Sun.COM #ifndef	NULL
38*8044SWilliam.Kucharski@Sun.COM #define NULL	((void *)0)
39*8044SWilliam.Kucharski@Sun.COM #endif
40*8044SWilliam.Kucharski@Sun.COM 
41*8044SWilliam.Kucharski@Sun.COM 
42*8044SWilliam.Kucharski@Sun.COM #define gateA20_set() gateA20(1)
43*8044SWilliam.Kucharski@Sun.COM #define gateA20_unset() gateA20(0)
44*8044SWilliam.Kucharski@Sun.COM #if !defined(__sun)
45*8044SWilliam.Kucharski@Sun.COM #define EBDEBUG 0
46*8044SWilliam.Kucharski@Sun.COM #endif
47*8044SWilliam.Kucharski@Sun.COM /* The 'rom_info' maybe arch depended. It must be moved to some other
48*8044SWilliam.Kucharski@Sun.COM  * place */
49*8044SWilliam.Kucharski@Sun.COM struct rom_info {
50*8044SWilliam.Kucharski@Sun.COM 	unsigned short	rom_segment;
51*8044SWilliam.Kucharski@Sun.COM 	unsigned short	rom_length;
52*8044SWilliam.Kucharski@Sun.COM };
53*8044SWilliam.Kucharski@Sun.COM 
54*8044SWilliam.Kucharski@Sun.COM extern void poll_interruptions P((void));
55*8044SWilliam.Kucharski@Sun.COM 
56*8044SWilliam.Kucharski@Sun.COM /* For UNDI drivers */
57*8044SWilliam.Kucharski@Sun.COM extern uint32_t get_free_base_memory ( void );
58*8044SWilliam.Kucharski@Sun.COM extern void *allot_base_memory ( size_t );
59*8044SWilliam.Kucharski@Sun.COM extern void forget_base_memory ( void*, size_t );
60*8044SWilliam.Kucharski@Sun.COM extern void free_unused_base_memory ( void );
61*8044SWilliam.Kucharski@Sun.COM 
62*8044SWilliam.Kucharski@Sun.COM #endif /* ETHERBOOT_H */
63