master
c 21 lines 598 Bytes
Raw
1 #include "vof.h"
2
3 void do_boot(unsigned long addr, unsigned long _r3, unsigned long _r4)
4 {
5 register unsigned long r3 __asm__("r3") = _r3;
6 register unsigned long r4 __asm__("r4") = _r4;
7 register unsigned long r5 __asm__("r5") = (unsigned long) _prom_entry;
8
9 ((void (*)(void))(uint32_t)addr)();
10 }
11
12 void entry_c(void)
13 {
14 register unsigned long r3 __asm__("r3");
15 register unsigned long r4 __asm__("r4");
16 register unsigned long r5 __asm__("r5");
17 uint64_t initrd = r3, initrdsize = r4;
18
19 boot_from_memory(initrd, initrdsize);
20 ci_panic("*** No boot target ***\n");
21 }