[U-Boot] [PATCH] arm: re-implement proper ISB instruction for ARMv7-A

Sandy Patterson apatterson at sightlogix.com
Thu Jul 28 14:41:31 CEST 2016


Ziyuan,

I tested this patch and it works for me with the current u-boot.git/master.

Re the EFI support. The problem was that when you compile in efi_runtime.c
it breaks booting the kernel. Probably rubbing the caching system the wrong
way. With this patch we are able to boot the kernel with the EFI parts
compiled in. I don't believe anyone has tested the functionality of EFI
wtih rk3288.

Sandy Patterson

On Thu, Jul 28, 2016 at 8:03 AM, Ziyuan Xu <xzy.xu at rock-chips.com> wrote:

> Hi Alexander,
>
> On 2016年07月28日 18:39, Alexander Graf wrote:
>
>> On 07/28/2016 12:13 PM, Ziyuan Xu wrote:
>>
>>> For ARMv7-A architecture, the valid ISB instruction is asm
>>> volatile("isb").
>>>
>>> This patch fixes the U-Boot was stuck in invalidate_dcache_all() before
>>> booting linux kernel, which occurred on rk3288-base development board
>>> such as evb-rk3288, rock2-rk3288. And something output via console like:
>>>
>>> => bootz 0x2000000
>>> 0x02000000
>>>     ramdisk start = 0x00000000, ramdisk end = 0x00000000
>>>     Continuing to boot without FDT
>>>     Initial value for argc=3
>>>     Final value for argc=3
>>>     using: ATAGS
>>>
>>>     Starting kernel ...
>>>
>>> Linux kernel exactly the same way(see arch/arm/include/asm/barrier.h).
>>>
>>> Signed-off-by: Ziyuan Xu <xzy.xu at rock-chips.com>
>>>
>>
>> Perfect! So with this, EFI support can still be in and things work fine?
>>
>
> I had not test EFI feature, in fact, I have no experience about it. Any
> progress I will promptly inform you.
>
>
>>
>> Alex
>>
>>
>>
>>
>>
>
>


More information about the U-Boot mailing list