xref: /openbmc/qemu/pc-bios/vof/main.c (revision fc32b91a88cc9cd560da5488bdca4d69f2bac620)
1fc8c745dSAlexey Kardashevskiy #include "vof.h"
2fc8c745dSAlexey Kardashevskiy 
do_boot(unsigned long addr,unsigned long _r3,unsigned long _r4)3fc8c745dSAlexey Kardashevskiy void do_boot(unsigned long addr, unsigned long _r3, unsigned long _r4)
4fc8c745dSAlexey Kardashevskiy {
5fc8c745dSAlexey Kardashevskiy     register unsigned long r3 __asm__("r3") = _r3;
6fc8c745dSAlexey Kardashevskiy     register unsigned long r4 __asm__("r4") = _r4;
7fc8c745dSAlexey Kardashevskiy     register unsigned long r5 __asm__("r5") = (unsigned long) _prom_entry;
8fc8c745dSAlexey Kardashevskiy 
9*21bde1ecSAlexey Kardashevskiy     ((void (*)(void))(uint32_t)addr)();
10fc8c745dSAlexey Kardashevskiy }
11fc8c745dSAlexey Kardashevskiy 
entry_c(void)12fc8c745dSAlexey Kardashevskiy void entry_c(void)
13fc8c745dSAlexey Kardashevskiy {
14fc8c745dSAlexey Kardashevskiy     register unsigned long r3 __asm__("r3");
15fc8c745dSAlexey Kardashevskiy     register unsigned long r4 __asm__("r4");
16fc8c745dSAlexey Kardashevskiy     register unsigned long r5 __asm__("r5");
17fc8c745dSAlexey Kardashevskiy     uint64_t initrd = r3, initrdsize = r4;
18fc8c745dSAlexey Kardashevskiy 
19fc8c745dSAlexey Kardashevskiy     boot_from_memory(initrd, initrdsize);
20fc8c745dSAlexey Kardashevskiy     ci_panic("*** No boot target ***\n");
21fc8c745dSAlexey Kardashevskiy }
22