[U-Boot] Should I create a new UCLASS for Bootstate or Add new Ops to UCLASS_BOOTCOUNT ??

Philipp Tomsich philipp.tomsich at theobroma-systems.com
Mon Sep 9 23:28:53 UTC 2019


Joel,

> On 10.09.2019, at 01:07, Simon Glass <sjg at chromium.org> wrote:
> 
> Hi Joel,
> 
> On Sat, 7 Sep 2019 at 18:34, Joel Peshkin <joel.peshkin at broadcom.com> wrote:
>> 
>> 
>> Hi Simon,
>> 
>>   I need to create and upstream driver for a set of functions that manage volatile information that persist across reboots.   These are simple registers that survive reboot but get cleared on power-cycle.   The key operations we need to implement are ...
>> 
>> boot_state_set_alternate_image_once()
>>    Called before rebooting  (from uboot proper or from Linux)... sets flags to cause the next reboot to select an alternate image
>> 
>> boot_state_getandclear_alternate_image()
>>    Called during boot (during SPL or TPL if using dual-uboot images as we do).  Gets the status of the alternate_image flag and clears it.

Could you elaborate how these are used?
This sounds a lot like an A/B partition scheme, but I’d like to fully understand the use cases and what data is stored where before commenting in more detail.

>> In our implementation, we have registers that always clear on power-cycle, but survive the soft reboot.  Other implementations, where there is no such register, would still only use the alternate image once as long as the boot attempt reaches the getandclear_alternate_image() function, so drivers similar to those available in bootcount could easily handle the same function.
>> 
>>   Would you prefer that I create a new UCLASS or is it OK to extend the UCLASS_BOOTCOUNT operations and upstream the new operations, supported on a subset of the drivers that implement UCLASS_BOOTCOUNT ??
> 
> I think that adding new operations makes sense for now.
> 
> I've added a few other people for thoughts.
> 
> Regards,
> Simon



More information about the U-Boot mailing list