[U-Boot] [PATCH] arm: Add support for semihosting for armv8 fastmodel targets.

Darwin Rambo drambo at broadcom.com
Wed Mar 12 17:45:00 CET 2014



On 14-03-12 09:41 AM, Albert ARIBAUD wrote:
> Hi Darwin,
> 
> On Wed, 12 Mar 2014 09:04:01 -0700, Darwin Rambo <drambo at broadcom.com>
> wrote:
> 
>> The reason for this change is to be able to use the ARM Trusted Firmware
>> (ATF) to load the various ATF images, plus u-boot, which can then load
>> the kernel/ramdisk/dtb with calls to an external host from a standard
>> fastmodel armv8 board file using semihosting, and then launch the kernel
>> without a bootwrapper. This gives us a more realistic boot sequence.
>>
>> Rather than create a new armv8 board similar to armltd/vexpress64, add
>> semihosting calls to the existing one, enabled with CONFIG_SEMIHOSTING.
>> Also add a new board config file vexpress_aemv8a_semi.h. This change is
>> tested and works on the ARM foundation model.
>>
>> Support for armv7 in fastmodel is less useful due to the wide range of
>> available silicon but this change contains an untested armv7 placeholder
>> if desired.
>>
>> The level of semihosting support is minimal, restricted to just what it
>> takes to load images to memory. If more semihosting functionality is
>> required, such as file seek, outputting strings, reading characters, etc,
>> then it can be easily added later.
>>
>> Signed-off-by: Darwin Rambo <drambo at broadcom.com>
>> ---
> 
> If you're only adding semihosting to vexpress_aemv8a, not creating a
> new board, then why add a new header file? Can you not just reuse
> orextend the existing header file, and make the new entry in
> boards.cfg define option CONFIG_SEMIHOSTING instead?  
Good idea, thanks. This meshes well with Tom's recent suggestions.

> 
>> diff --git a/board/armltd/vexpress64/vexpress64.c b/board/armltd/vexpress64/vexpress64.c
>> index 2ec3bc9..9b64f71 100644
>> --- a/board/armltd/vexpress64/vexpress64.c
>> +++ b/board/armltd/vexpress64/vexpress64.c
> 
>> @@ -31,11 +35,6 @@ int dram_init(void)
>>  	return 0;
>>  }
>>  
>> -int timer_init(void)
>> -{
>> -	return 0;
>> -}
>> -
> 
> This removal does not seem to be described in the commit summary.
Will fix. Thanks.

> 
> Amicalement,
> 


More information about the U-Boot mailing list