Hi,
I'm in the process of moving my TI AM437x (Cortex A9) Genode implementation to 17.02 and trying to get familiar with the lower level structural changes (of which there are many) in base-hw as I progress. After cleaning up some of my deprecated usages, correctly wrapping my components that used libc, and ignoring for now the new unified sd_card driver implementation, I got a successful build which unsurprisingly wanders off into oblivion after completing "kernel initialization".
The first question I have is from the build output which includes the line "core link address is 0x91000000" Where is that address generated and what is its purpose? It looks like my load address plus half the available ram.
The console log from the boot process (attached) shows some strange memory allocations for IO memory :
:io_mem_alloc: Allocator 0x910d012c dump: Block: [0x0,0x80449000] size=0x80449000 avail=0x80449000 max_avail=0x80449000 Block: [0x81000000,0x8145d000] size=0x45d000 avail=0x45d000 max_avail=0x8044900 Block: [0xa0000000,0xffffffff] size=0x5fffffff avail=0x5fffffff max_avail=0x5ff => mem_size=3767164927 (3592 MB) / mem_avail=3767164927 (3592 MB) How are the above blocks being allocated as io memory?
In prior releases (the "good-old-days"), a Native_region was declared to exactly define the regions of physical memory that were to be tagged as io memory. There appears to be no equivalent in 17.02. What am I missing?
Bob