20 |
|
|
21 |
#include <alloca.h> |
#include <alloca.h> |
22 |
#include <stdint.h> |
#include <stdint.h> |
|
|
|
|
#include <grub/machine/ieee1275.h> |
|
23 |
#include <grub/kernel.h> |
#include <grub/kernel.h> |
24 |
|
#include <grub/machine/kernel.h> |
25 |
|
#include <grub/ieee1275/ieee1275.h> |
26 |
|
|
27 |
/* OpenFirmware entry point passed to us from the real bootloader. */ |
/* OpenFirmware entry point passed to us from the real bootloader. */ |
28 |
intptr_t (*grub_ieee1275_entry_fn) (void *); |
int (*grub_ieee1275_entry_fn) (void *); |
29 |
|
|
30 |
grub_ieee1275_phandle_t grub_ieee1275_chosen; |
grub_ieee1275_phandle_t grub_ieee1275_chosen; |
31 |
|
|
76 |
extern char _start; |
extern char _start; |
77 |
extern char _end; |
extern char _end; |
78 |
|
|
79 |
grub_ieee1275_entry_fn = (intptr_t (*)(void *)) r3; |
grub_ieee1275_entry_fn = (int (*)(void *)) r3; |
80 |
|
|
81 |
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_PARTITION_0); |
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_PARTITION_0); |
82 |
|
|
91 |
else |
else |
92 |
{ |
{ |
93 |
/* Assume we were entered from Open Firmware. */ |
/* Assume we were entered from Open Firmware. */ |
94 |
grub_ieee1275_entry_fn = (intptr_t (*)(void *)) r5; |
grub_ieee1275_entry_fn = (int (*)(void *)) r5; |
95 |
} |
} |
96 |
|
|
97 |
grub_ieee1275_finddevice ("/chosen", &grub_ieee1275_chosen); |
grub_ieee1275_finddevice ("/chosen", &grub_ieee1275_chosen); |