39 |
unsigned int size; |
unsigned int size; |
40 |
}; |
}; |
41 |
|
|
42 |
|
extern intptr_t (*grub_ieee1275_entry_fn) (void *); |
43 |
|
|
44 |
|
#ifndef IEEE1275_CALL_ENTRY_FN |
45 |
|
#define IEEE1275_CALL_ENTRY_FN(args) (*grub_ieee1275_entry_fn) (args) |
46 |
|
#endif |
47 |
|
|
48 |
|
/* All backcalls to the firmware is done by calling an entry function |
49 |
|
which was passed to us from the bootloader. When doing the backcall, |
50 |
|
a structure is passed which specifies what the firmware should do. |
51 |
|
NAME is the requested service. NR_INS and NR_OUTS is the number of |
52 |
|
passed arguments and the expected number of return values, resp. */ |
53 |
|
struct grub_ieee1275_common_hdr |
54 |
|
{ |
55 |
|
char *name; |
56 |
|
int nr_ins; |
57 |
|
int nr_outs; |
58 |
|
}; |
59 |
|
|
60 |
|
#define INIT_IEEE1275_COMMON(p, xname, xins, xouts) \ |
61 |
|
(p)->name = xname; (p)->nr_ins = xins; (p)->nr_outs = xouts |
62 |
|
|
63 |
/* FIXME jrydberg: is this correct cell types? */ |
/* FIXME jrydberg: is this correct cell types? */ |
64 |
typedef intptr_t grub_ieee1275_ihandle_t; |
typedef intptr_t grub_ieee1275_ihandle_t; |
65 |
typedef intptr_t grub_ieee1275_phandle_t; |
typedef intptr_t grub_ieee1275_phandle_t; |
124 |
(int (*hook) (struct grub_ieee1275_devalias *alias)); |
(int (*hook) (struct grub_ieee1275_devalias *alias)); |
125 |
grub_err_t EXPORT_FUNC(grub_children_iterate) (char *devpath, |
grub_err_t EXPORT_FUNC(grub_children_iterate) (char *devpath, |
126 |
int (*hook) (struct grub_ieee1275_devalias *alias)); |
int (*hook) (struct grub_ieee1275_devalias *alias)); |
127 |
|
int EXPORT_FUNC(grub_claimmap) (grub_addr_t addr, grub_size_t size); |
128 |
|
|
129 |
void EXPORT_FUNC(abort) (void); |
void EXPORT_FUNC(abort) (void); |
130 |
|
|