Moving from 16.11 to 17.02 with base-hw kernel

Bob Stewart robjsstewart at ...196...
Mon Mar 13 22:23:22 CET 2017


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





-------------- next part --------------
TFTP from server 192.168.0.102; our IP address is 192.168.0.109                 
Filename 'uImageN'.                                                             
Load address: 0x82000000                                                        
Loading: #################################################################      
         #################################################################      
         #################################################################      
         #################################################################      
         #################################################################      
         ####################################                                   
         191.4 KiB/s                                                            
done                                                                            
Bytes transferred = 1845555 (1c2933 hex)                                        
## Booting kernel from Legacy Image at 82000000 ...                             
   Image Name:                                                                  
   Image Type:   ARM Linux Kernel Image (gzip compressed)                       
   Data Size:    1845491 Bytes = 1.8 MiB                                        
   Load Address: 81000000                                                       
   Entry Point:  81000000                                                       
   Verifying Checksum ... OK                                                    
   Uncompressing Kernel Image ... OK                                            
                                                                                
Starting kernel ...                                                             
                                                                                
:virt_alloc: Allocator 0x910cf0b4 dump:                                         
 Block: [0x1000,0x80000000] size=0x7ffff000 avail=0x7ffff000 max_avail=0x7ffff00
 Block: [0x80405000,0x81000000] size=0xbfb000 avail=0xbfb000 max_avail=0x7ffff00
 Block: [0x8145d000,0x91000000] size=0xfba3000 avail=0xfba3000 max_avail=0x7fff0
 Block: [0x91459000,0x9145a000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x9145a000,0xe0000000] size=0x4eba6000 avail=0x4eba6000 max_avail=0x4e0
 Block: [0xf0002000,0xf0003000] size=0x1000 avail=0x0 max_avail=0x7ffff000      
 Block: [0xf0004000,0xf0005000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0006000,0xf0007000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0017000,0xf0018000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0019000,0xf001a000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf001a000,0xf001b000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf001b000,0xf001c000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf001c000,0xf001d000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf001d000,0xf001e000] size=0x1000 avail=0x0 max_avail=0x7ffff000      
 Block: [0xf001e000,0xf001f000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf001f000,0xf0020000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0020000,0xf0021000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0021000,0xf0022000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0022000,0xf0023000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0023000,0xf0024000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0024000,0xf0025000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0025000,0xf0026000] size=0x1000 avail=0x0 max_avail=0xffc3000       
 Block: [0xf0026000,0xf0027000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0027000,0xf0028000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0028000,0xf0029000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf0029000,0xf002a000] size=0x1000 avail=0x0 max_avail=0xffc3000       
 Block: [0xf002a000,0xf002b000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0xf002b000,0xf002c000] size=0x1000 avail=0x0 max_avail=0xffc3000       
 Block: [0xf002c000,0xfffef000] size=0xffc3000 avail=0xffc3000 max_avail=0xffc30
 => mem_size=4013023232 (3827 MB) / mem_avail=4012924928 (3827 MB)              
                                                                                
:phys_alloc: Allocator 0x910ce048 dump:                                         
 Block: [0x80449000,0x8044a000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044a000,0x8044b000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044b000,0x8044c000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044c000,0x8044d000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044d000,0x8044e000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044e000,0x8044f000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8044f000,0x80450000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80450000,0x80451000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80451000,0x80452000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80452000,0x80453000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80453000,0x80454000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80454000,0x80455000] size=0x1000 avail=0x0 max_avail=0x1eba3000      
 Block: [0x80455000,0x80456000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80456000,0x80457000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80457000,0x80458000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80458000,0x80459000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80459000,0x8045a000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8045a000,0x8045b000] size=0x1000 avail=0x0 max_avail=0x1eba3000      
 Block: [0x8045b000,0x8045c000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8045c000,0x8045d000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8045d000,0x8045e000] size=0x1000 avail=0x0 max_avail=0x1eba3000      
 Block: [0x8045e000,0x8045f000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x8045f000,0x80460000] size=0x1000 avail=0x0 max_avail=0x1eba3000      
 Block: [0x80460000,0x80461000] size=0x1000 avail=0x0 max_avail=0x0             
 Block: [0x80461000,0x81000000] size=0xb9f000 avail=0xb9f000 max_avail=0x1eba300
 Block: [0x8145d000,0xa0000000] size=0x1eba3000 avail=0x1eba3000 max_avail=0x1e0
 => mem_size=527802368 (503 MB) / mem_avail=527704064 (503 MB)                  
                                                                                
: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)              
                                                                                
:io_port_alloc: Allocator 0x910d1198 dump:                                      
 => mem_size=0 (0 MB) / mem_avail=0 (0 MB)                                      
                                                                                
:irq_alloc: Allocator 0x910d2204 dump:                                          
 Block: [0x0,0x1] size=0x1 avail=0x1 max_avail=0x1                              
 Block: [0x2,0x1d] size=0x1b avail=0x1b max_avail=0x3e2                         
 Block: [0x1e,0x400] size=0x3e2 avail=0x3e2 max_avail=0x3e2                     
 => mem_size=1022 (0 MB) / mem_avail=1022 (0 MB)                                
                                                                                
:rom_fs: ROM modules:                                                           
 ROM: [8110c000,8111b63c) 437x_platform_client                                  
 ROM: [81446000,81459a00) Autopilot                                             
 ROM: [8140a000,81421400) ap_cli                                                
 ROM: [81422000,81434c20) ap_sensors                                            
 ROM: [8145a000,8145b86c) config                                                
 ROM: [8112f000,8113d39c) ctrl_module                                           
 ROM: [81407000,81409518) data_store.lib.so                                     
 ROM: [8125a000,8127c3dc) ffat_fs                                               
 ROM: [8114b000,8115eecc) gpio_drv                                              
 ROM: [81186000,81195028) i2c_drv                                               
 ROM: [810e0000,81100180) init                                                  
 ROM: [8127d000,812f89c4) ld.lib.so                                             
 ROM: [812f9000,813e9678) libc.lib.so                                           
 ROM: [813ea000,8140679c) libm.lib.so                                           
 ROM: [81435000,81445a58) motor_ctl                                             
 ROM: [81101000,8110b290) platform_drv                                          
 ROM: [81196000,811a9374) pruss_drv                                             
 ROM: [81171000,81185670) pwm_drv                                               
 ROM: [8111c000,8112e228) report_rom                                            
 ROM: [81240000,8124c304) shared_memory                                         
 ROM: [8124d000,812596a4) soc_leds                                              
 ROM: [8113e000,8114a5b0) timer                                                 
 ROM: [8115f000,811700b4) uart_drv                                              
 ROM: [811aa000,8123f6fc) usb_drv                                               
                                                                                
                                                                                
kernel initialized                                                              
Genode 17.02 <local changes>                                                    



More information about the users mailing list