Hi,
I am trying to boot a genode uImage (tftp,bootm) but gets ATAG not compiled in. Do I need to patch out that error from u-boot , or is there another workaround?
Br
Michael Grunditz
On Thu, 25 Feb 2021 at 00:34, Michael Grunditz michael.grunditz@gmail.com wrote:
Hi,
I am trying to boot a genode uImage (tftp,bootm) but gets ATAG not compiled in. Do I need to patch out that error from u-boot , or is there another workaround?
A little follow up. I used bootelf -p address. That started the kernel but end up in:
Kernel: Unknown cpu exception EC=0 ISS=0 ip=0xffffffc000040cb
It is stack management code.
I have made adjustments to the ram available , since RISC OS lives in the lower part of ram , I specified the upper part in Genode. So I guess it could be that ..
On Thu, 25 Feb 2021 at 13:46, Michael Grunditz michael.grunditz@gmail.com wrote:
On Thu, 25 Feb 2021 at 00:34, Michael Grunditz michael.grunditz@gmail.com wrote:
Hi,
I am trying to boot a genode uImage (tftp,bootm) but gets ATAG not compiled in. Do I need to patch out that error from u-boot , or is there another workaround?
A little follow up. I used bootelf -p address. That started the kernel but end up in:
Kernel: Unknown cpu exception EC=0 ISS=0 ip=0xffffffc000040cb
It is stack management code.
I modded my cmd/boot.c to allow booting aarch64 binaries and cloned down a new Genode source tree. Built run/log and started it with "go 0x40010000". It worked once.. I changed ram size and uart (to match my board) and try booting again. Nothing on serial. Then I tried to echo a char right in the starting point crt0.s, it worked I get that char on serial. OK .. I recloned a new source tree , but same results.
I can't get bootm to work even after removed the atag requirement.
I would be very happy if someone can explain what happens.
On Fri, 26 Feb 2021 at 16:06, Michael Grunditz michael.grunditz@gmail.com wrote:
On Thu, 25 Feb 2021 at 13:46, Michael Grunditz michael.grunditz@gmail.com wrote:
On Thu, 25 Feb 2021 at 00:34, Michael Grunditz michael.grunditz@gmail.com wrote:
Hi,
I am trying to boot a genode uImage (tftp,bootm) but gets ATAG not compiled in. Do I need to patch out that error from u-boot , or is there another workaround?
A little follow up. I used bootelf -p address. That started the kernel but end up in:
Kernel: Unknown cpu exception EC=0 ISS=0 ip=0xffffffc000040cb
It is stack management code.
I modded my cmd/boot.c to allow booting aarch64 binaries and cloned down a new Genode source tree. Built run/log and started it with "go 0x40010000". It worked once.. I changed ram size and uart (to match my board) and try booting again. Nothing on serial. Then I tried to echo a char right in the starting point crt0.s, it worked I get that char on serial. OK .. I recloned a new source tree , but same results.
I can't get bootm to work even after removed the atag requirement.
I would be very happy if someone can explain what happens.Genode::Attached_io_mem_dataspace
I have tried to sort out bootm but it just crash. Doing "go" with a binary does work. Only issue is a exception : 0x140 that is not handled, ignoring that it starts Genode.
Now on to the real stuff! I would like to copy a binary to some physical address. Is Genode::Attached_io_mem_dataspace something that I can use? It didn't crash :) and I print out the local address that makes sense. What is the best way to load a file into a dataspace?
Also .. what is the best way to launch a core that isn't known to Genode? I plan to use psci directly, but if there is a more "system friendly" way I can use all the better.
The thing I want to do is: Map a physical address that is above Genode ram. Copy a binary to it (64 to 32 bit switch , with RISC OS right after) Start a core with the physical address as entry point.
I have tried to do it the other way around, starting Genode from RISC OS , but it seems like hopeless to have a core > 0 as primary cpu.
Cheers!
Michael
The 'Q's are output from core 1. I did a little new kernel call and issued CPU_ON in it. No 32bit yet. I just dumped out a 64bit printloop to array , copied it into the dataspace and called psci with the physical address.
This is fun!
Genode 21.02 <local changes> 1019 MiB RAM and 64533 caps assigned to init [init -> test-log] logic addr: 0x3004 QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
Michael <>