Re: [Suit] SUIT architecture examples

Michael Richardson <mcr+ietf@sandelman.ca> Mon, 25 June 2018 23:18 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: suit@ietfa.amsl.com
Delivered-To: suit@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0F354130F01 for <suit@ietfa.amsl.com>; Mon, 25 Jun 2018 16:18:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MU2B0xhAwIYQ for <suit@ietfa.amsl.com>; Mon, 25 Jun 2018 16:18:11 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CCA3E130EF2 for <suit@ietf.org>; Mon, 25 Jun 2018 16:18:11 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id 92B5120090; Mon, 25 Jun 2018 19:32:43 -0400 (EDT)
Received: by sandelman.ca (Postfix, from userid 179) id E6AEA1778; Mon, 25 Jun 2018 19:15:05 -0400 (EDT)
Received: from sandelman.ca (localhost [127.0.0.1]) by sandelman.ca (Postfix) with ESMTP id E4A6871; Mon, 25 Jun 2018 19:15:05 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: David Brown <david.brown@linaro.org>
cc: suit <suit@ietf.org>
In-Reply-To: <20180625211251.GA6063@davidb.org>
References: <20180621172040.GA24927@davidb.org> <31986.1529763789@localhost> <20180625211251.GA6063@davidb.org>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha1"; protocol="application/pgp-signature"
Date: Mon, 25 Jun 2018 19:15:05 -0400
Message-ID: <20761.1529968505@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/suit/HxhJ5p9UIN5k5-FqVRKn2encC6M>
Subject: Re: [Suit] SUIT architecture examples
X-BeenThere: suit@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Software Updates for Internet of Things <suit.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/suit>, <mailto:suit-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/suit/>
List-Post: <mailto:suit@ietf.org>
List-Help: <mailto:suit-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/suit>, <mailto:suit-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Jun 2018 23:18:15 -0000

David Brown <david.brown@linaro.org> wrote:
    >> David Brown <david.brown@linaro.org> wrote:
    >> > ### Dual CPU, other bus
    >>
    >> > This configuration has two or more CPUs, each having their own memory.
    >> > There will be a communication channel between them, but it will be used
    >> > as a peripheral, not via shared memory.  In this case, each CPU will
    >> > have to be responsible for its own firmware upgrade.  It is likely that
    >> > one of the CPUs will be considered a master, and will direct the other
    >> > CPU to do the upgrade.  This configuration is commonly used to offload
    >> > specific work to other CPUs.  Firmware dependencies are similar to the
    >> > other solutions above, sometimes allowing only one image to be
    >> > upgraded, other times requiring several to be upgraded atomically.
    >> > Because the updates are happening on multiple CPUs, upgrading the two
    >> > images atomically is challenging.
    >>
    >> Is there sometimes an ordering constrained between images?
    >> I.e. upgrade CPU-A to version X, before you upgrade CPU-B to version X?
    >>
    >> Does the Manifest need to specify this constraint, or would it be implied?

    > The current requirements as I am aware of them, only require the two
    > images either be updated independently, or both be updated atomically.
    > But, maybe it is worth being able to specify a one-directional
    > ordering.  In fact, a one-directional ordering could be used for the
    > atomic case by just having each image specify a dependency on the
    > other image at that version.

The specific case I am painfully familiar with is on many Qualcomm based
Android devices, where a particular main-CPU ROM images requires an baseband
RADIO image at least as new as X, or stuff seriously fails.
And sometimes a ROM image of Y, must have a RADIO image <= Z.

--
Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-