1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *  Copyright 2007 Red Hat, Inc.
4  *  by Peter Jones <pjones@redhat.com>
5  *  Copyright 2007 IBM, Inc.
6  *  by Konrad Rzeszutek <konradr@linux.vnet.ibm.com>
7  *  Copyright 2008
8  *  by Konrad Rzeszutek <ketuzsezr@darnok.org>
9  *
10  * This code exposes the iSCSI Boot Format Table to userland via sysfs.
11  */
12 
13 #ifndef ISCSI_IBFT_H
14 #define ISCSI_IBFT_H
15 
16 #include <linux/types.h>
17 
18 /*
19  * Physical location of iSCSI Boot Format Table.
20  * If the value is 0 there is no iBFT on the machine.
21  */
22 extern phys_addr_t ibft_phys_addr;
23 
24 #ifdef CONFIG_ISCSI_IBFT_FIND
25 
26 /*
27  * Routine used to find and reserve the iSCSI Boot Format Table. The
28  * physical address is set in the ibft_phys_addr variable.
29  */
30 void reserve_ibft_region(void);
31 
32 /*
33  * Physical bounds to search for the iSCSI Boot Format Table.
34  */
35 #define IBFT_START 0x80000 /* 512kB */
36 #define IBFT_END 0x100000 /* 1MB */
37 
38 #else
reserve_ibft_region(void)39 static inline void reserve_ibft_region(void) {}
40 #endif
41 
42 #endif /* ISCSI_IBFT_H */
43