32 |
|
|
33 |
#define ALIGN_UP(addr, align) ((long)((char *)addr + align - 1) & ~(align - 1)) |
#define ALIGN_UP(addr, align) ((long)((char *)addr + align - 1) & ~(align - 1)) |
34 |
|
|
|
static char *kernel_path = "grubof"; |
|
|
|
|
35 |
#define GRUB_IEEE1275_NOTE_NAME "PowerPC" |
#define GRUB_IEEE1275_NOTE_NAME "PowerPC" |
36 |
#define GRUB_IEEE1275_NOTE_TYPE 0x1275 |
#define GRUB_IEEE1275_NOTE_TYPE 0x1275 |
37 |
|
|
163 |
Elf32_Phdr *phdrs = NULL; |
Elf32_Phdr *phdrs = NULL; |
164 |
Elf32_Phdr *phdr; |
Elf32_Phdr *phdr; |
165 |
FILE *in; |
FILE *in; |
166 |
|
char *kernel_path; |
167 |
off_t phdroff; |
off_t phdroff; |
168 |
int i; |
int i; |
169 |
|
|
170 |
/* Read ELF header. */ |
/* Read ELF header. */ |
171 |
|
kernel_path = grub_util_get_path (dir, "grubof"); |
172 |
in = fopen (kernel_path, "rb"); |
in = fopen (kernel_path, "rb"); |
173 |
if (! in) |
if (! in) |
174 |
grub_util_error ("cannot open %s", kernel_path); |
grub_util_error ("cannot open %s", kernel_path); |
245 |
grub_util_write_image_at (&ehdr, sizeof (ehdr), 0, out); |
grub_util_write_image_at (&ehdr, sizeof (ehdr), 0, out); |
246 |
|
|
247 |
free (phdrs); |
free (phdrs); |
248 |
|
free (kernel_path); |
249 |
} |
} |
250 |
|
|
251 |
static struct option options[] = |
static struct option options[] = |