On Thu, Apr 15, 2021 at 10:41:28 -0700, ron minnich wrote:
> HOBS are "bad'.
>
> several reasons.
> 1. They depend on the nature of the C compiler and require use of a keyword
> ("packed") known to be an issue.
>      (i.e. there are alignment and padding requirements that not all
> compilers handle the same way for all versions)

/work/git/linux$ git grep packed | wc -l
15305

So I guess LinuxBoot is out too ;)

>     In fact, interestingly, a recent OpenTitan document describing best
> practices for binary structs calls out bad practices that
>     are used in today's HOBs [they did not know this but I noticed it].
>
> 2. We've seen cases where the components of a HOB change with
> compiler flags
>
> 3. The degree to which they are open is not clear.
>
> It used to be that even the name "HOB" was NDA.

It is mentioned in version 1.2B of the PI specification, released 2010.

www.uefi.org/sites/default/files/resources/PI_Spec_1.2_B.zip

This is the oldest one downloadable from
https://uefi.org/specifications

>      For a long time the components were NDA.

I don't recall that far back.

The specifications used to be hidden behind a click-through license.
I think it was 2013 that we managed to get that removed.

>      At this moment it's not clear how much is open.
> 4. they are not self-describing; you need to have exact knowledge of their
> binary structure to unpack them.
> 
> I'd like to move forward from HOBs to a true self-describing,
> endian-independent, alignment-independent format.
> 
> There are lots of these, and many of them are designed in a way that makes
> decoded fast and reliable.

If you want to argue for alternatives on technical or licensing
merits, you are more than welcome to do so.

/
    Leif

> ron
> 
> On Thu, Apr 15, 2021 at 9:28 AM Ryan O'Leary via groups.io <ryanoleary=
> google....@groups.io> wrote:
> 
> > I can add this topic "Sustainable Firmware" to today's OSF call agenda if
> > anyone is interested in discussions.
> >
> > For instructions on joining the call (it's in 30 mins, but repeats every
> > second week): https://www.opencompute.org/projects/open-system-firmware
> >
> > Thanks,
> > Ryan
> >
> > On Thu, Apr 15, 2021 at 8:22 AM ron minnich <rminn...@gmail.com> wrote:
> >
> >> Loic, it is wonderful to have you here. I think in the OCP OSF call today
> >> (to which you are now invited, if you want; let me know -- same applies to
> >> everyone here who's interested in open compute platform open *system*
> >> firmware standard)
> >>
> >> Documenting ABIs is problematical, since not all OSF systems will be
> >> following an existing ABI. That is a box best not opened. Most of the OSF
> >> participants use both UEFI and LinuxBoot, and it's hard to imagine two more
> >> incompatible systems.
> >>
> >> PIcking the size of flash is a hard one too, and it varies a lot
> >> depending on the system, so we felt it best not to bring that in. Intel,
> >> AMD, Power, ARM -- all have widely varying and incompatible issues.
> >>
> >> I wonder if I can interest you (and others) in a workshop I'm trying to
> >> put together for linuxcon dublin end of september.
> >>
> >> LinuxBoot requires a solid kexec, and kexec is not quite there yet. Our
> >> goal is to improve the situation with kexec. An ancillary goal is to get
> >> the various distros to ship images that are "kexec friendly". We did talk
> >> to Mark about all this a few years ago but it was a bit too early. I think
> >> what with systemd starting to look at kexec, now it's time.
> >>
> >> I'd like to get canonical, red hat, and whoever else is interested in a
> >> room and hammer out what we need to do to make kexec solid. As of now it's
> >> too flaky.
> >>
> >> interested? Linux Conf sounds more and more like it will happen, and it
> >> would be good to get people in the room and figure out kexec -- its current
> >> capabilities, how its being used (e.g. Google has deployed LinuxBoot with
> >> kexec at scale), its limits, and how to make distros "kexec friendly"
> >>
> >>
> >>
> >>
> >>
> >> On Thu, Apr 15, 2021 at 1:19 AM Loïc Minier <loic.min...@canonical.com>
> >> wrote:
> >>
> >>> Hi Ron,
> >>>
> >>> Apologies; I clearly hadn't read enough. I just recently joined the
> >>> OCP-OSF project's mailing-list as I wasn't aware of the effort before, and
> >>> had only read the welcome web page. I've now read through the Governance,
> >>> Charter and Transition schedule docs, and also saw the Pilot's draft
> >>> Checklist gdoc and spreadsheet – I can see this overlaps with existing
> >>> sections and topics. (Are there other consolidated docs or efforts you'd
> >>> encourage new contributors to checkout?)
> >>>
> >>> I did see the idea of keys in the Ownership section of the Checklist
> >>> doc. Is there a good place to document supported ABIs (I understand the
> >>> spirit is not to mandate particular interfaces, but it would still make
> >>> sense to document them)?
> >>>
> >>> There are some questions around existing artifacts, would that be the
> >>> right place to document maximum capacity (eg size of flash)?
> >>>
> >>> Thanks,
> >>> - Loïc
> >>>
> >>> On Thu, 15 Apr 2021 at 07:59, ron minnich <rminn...@gmail.com> wrote:
> >>>
> >>>> I do wonder if you have read the OSF doc. That was a lot of work over a
> >>>> near 3 year period, and your doc looks like the very early drafts of that
> >>>> doc. I think it would pay to take a look.
> >>>>
> >>>> On Wed, Apr 14, 2021 at 10:52 PM Loïc Minier <loic.min...@canonical.com>
> >>>> wrote:
> >>>>
> >>>>> Hi!
> >>>>>
> >>>>> Sorry for the late reply, here's a draft the concepts from this thread
> >>>>> and link them to sustainability levels:
> >>>>>
> >>>>> https://docs.google.com/document/d/1cihVQPf377c2W5ElT4ouvVx6VpDTE6mrAIbakKCEW7Y/edit?usp=sharing
> >>>>> (doc open for comments / suggestions from anyone, ping me if you need
> >>>>> write access)
> >>>>>
> >>>>> Best,
> >>>>> - Loïc Minier
> >>>>>
> >>>>> On Fri, 9 Apr 2021 at 13:45, François Ozog <francois.o...@linaro.org>
> >>>>> wrote:
> >>>>>
> >>>>>>
> >>>>>>
> >>>>>> On Fri, 9 Apr 2021 at 13:32, Heinrich Schuchardt <xypron.g...@gmx.de>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> On 09.04.21 08:59, François Ozog wrote:
> >>>>>>> >
> >>>>>>> >
> >>>>>>> > On Thu, 8 Apr 2021 at 19:34, Heinrich Schuchardt <
> >>>>>>> xypron.g...@gmx.de
> >>>>>>> > <mailto:xypron.g...@gmx.de>> wrote:
> >>>>>>> >
> >>>>>>> >     On 4/8/21 10:46 AM, François Ozog wrote:
> >>>>>>> >     > On Thu, 8 Apr 2021 at 10:30, Loïc Minier
> >>>>>>> >     <loic.min...@canonical.com <mailto:loic.min...@canonical.com>>
> >>>>>>> wrote:
> >>>>>>> >     >
> >>>>>>> >     >> Hi François-Frédéric,
> >>>>>>> >     >>
> >>>>>>> >     >> Like you, I'm particularly keen to connect the dots between
> >>>>>>> >     environmental
> >>>>>>> >     >> sustainability and open source software.
> >>>>>>> >     >>
> >>>>>>> >     >> I love your levels, basically recognizing that if the
> >>>>>>> firmware is not
> >>>>>>> >     >> updatable or maintained anymore, or if it can't fulfill its
> >>>>>>> >     function by
> >>>>>>> >     >> running TAs, the whole system might be rendered obsolete.
> >>>>>>> >     >>
> >>>>>>> >     >> There are two other interesting dimensions I would propose
> >>>>>>> to
> >>>>>>> >     consider:
> >>>>>>> >     >> - resource requirements of the firmware and payloads such
> >>>>>>> as TAs
> >>>>>>> >     – the
> >>>>>>> >     >> firmware/system is rendered obsolete because resources
> >>>>>>> available
> >>>>>>> >     for the
> >>>>>>> >     >> firmware are insufficient, e.g. TAs or binaries grow in
> >>>>>>> size or
> >>>>>>> >     number or
> >>>>>>> >     >> runtime requirements to the point that the device can't
> >>>>>>> function
> >>>>>>> >     >>
> >>>>>>> >     > I missed that one even though we have a call on this topic
> >>>>>>> today
> >>>>>>> >     (see on
> >>>>>>> >     > trusted-substrate.org <http://trusted-substrate.org>) on
> >>>>>>> how to
> >>>>>>> >     make TA lifecycle much easier, starting
> >>>>>>> >     > with Secure DRAM size selection by product maker. There is
> >>>>>>> also an
> >>>>>>> >     > ownership transfer discussion that I had with an industrial
> >>>>>>> player
> >>>>>>> >     that
> >>>>>>> >     > would allow formalization of who can change what
> >>>>>>> "downstream" (here
> >>>>>>> >     > downstream is relative to software chain that starts with
> >>>>>>> firmware
> >>>>>>> >     and ends
> >>>>>>> >     > with applications)
> >>>>>>> >     >
> >>>>>>> >     >> - architectural requirements – the firmware or its payloads
> >>>>>>> start
> >>>>>>> >     >> requiring recent hardware features or a newer API; this is
> >>>>>>> likely
> >>>>>>> >     going to
> >>>>>>> >     >> bring some tradeoffs in security as the bar keeps getting
> >>>>>>> higher;
> >>>>>>> >     this
> >>>>>>> >     >> could connect to your level 2
> >>>>>>> >     >>
> >>>>>>> >     >> Good point. That said, this should not imply an ACPI HAL
> >>>>>>> like
> >>>>>>> >     effort by
> >>>>>>> >     > the firmware. In addition, I remember the Panasonic CTO
> >>>>>>> calling
> >>>>>>> >     for using
> >>>>>>> >     > virtio as a HAL even on non-virtualized environments. Would
> >>>>>>> this
> >>>>>>> >     be part of
> >>>>>>> >     > the picture?
> >>>>>>> >     >
> >>>>>>> >     >> I'd love to help draft language or with recommendations
> >>>>>>> around this!
> >>>>>>> >     >>
> >>>>>>> >     >> That would be great: what about you share a Google doc and
> >>>>>>> we
> >>>>>>> >     discuss it
> >>>>>>> >     > here?
> >>>>>>> >     >
> >>>>>>> >     >> Best,
> >>>>>>> >     >> - Loïc Minier
> >>>>>>> >     >>
> >>>>>>> >     >> On Thu, 8 Apr 2021 at 10:12, François Ozog
> >>>>>>> >     <francois.o...@linaro.org <mailto:francois.o...@linaro.org>>
> >>>>>>> >     >> wrote:
> >>>>>>> >     >>
> >>>>>>> >     >>> Hi
> >>>>>>> >     >>>
> >>>>>>> >     >>> even though I am not an "ecology activist", sustainability
> >>>>>>> is a
> >>>>>>> >     topic dear
> >>>>>>> >     >>> to me. And it can translate into firmware world... So I am
> >>>>>>> >     targeting this
> >>>>>>> >     >>> message to the audience of the two firmware communities I
> >>>>>>> know
> >>>>>>> >     and hope it
> >>>>>>> >     >>> is okay to do so.
> >>>>>>> >     >>>
> >>>>>>> >     >>> March 2021 was a big date for Open Source Firmware
> >>>>>>> >     >>> <https://www.opencompute.org/projects/open-system-firmware
> >>>>>>> >     <https://www.opencompute.org/projects/open-system-firmware>>:
> >>>>>>> that
> >>>>>>> >     was the
> >>>>>>> >     >>> deadline to get
> >>>>>>> >     >>>
> >>>>>>> >     >>> "
> >>>>>>> >     >>> Owners must be able to change firmware and share it --
> >>>>>>> including any
> >>>>>>> >     >>> binary
> >>>>>>> >     >>> components -- with other owners. Starting in March, 2021,
> >>>>>>> OCP
> >>>>>>> >     badging for
> >>>>>>> >     >>> servers will require that systems support OSF.
> >>>>>>> >     >>> "
> >>>>>>> >     >>>
> >>>>>>> >     >>> That's a big step towards sustainability in the OCP world.
> >>>>>>> >     >>>
> >>>>>>> >     >>> More generally, we should have the capacity to
> >>>>>>> characterize firmware
> >>>>>>> >     >>> sustainability for post official firmware End Of Life.
> >>>>>>> >     >>>
> >>>>>>> >     >>> What about the following :
> >>>>>>> >     >>>
> >>>>>>> >     >>> level 0: system cannot evolve or be updated.
> >>>>>>> >     >>>
> >>>>>>> >     >>> level 1: the system can be updated to a bootable minimal
> >>>>>>> >     functionality
> >>>>>>> >     >>> with
> >>>>>>> >     >>> open community effort.It may lack some features. For
> >>>>>>> instance,
> >>>>>>> >     you can
> >>>>>>> >     >>> still look at your TV but lose Netflix 4K because the
> >>>>>>> owners (in OCP
> >>>>>>> >     >>> sense)
> >>>>>>> >     >>> cannot get a signed Netflix TA (either updated or not).
> >>>>>>> >     >>>
> >>>>>>> >     >>> level 2: the TAs and other binaries can be made available
> >>>>>>> >     (signed) to the
> >>>>>>> >     >>> ones maintaining open source firmware projects (TF-A,
> >>>>>>> OP-TEE,
> >>>>>>> >     U-Boot...).
> >>>>>>> >     >>> For instance, owners (in the OCP sense) can get the updated
> >>>>>>> >     Netflix TA
> >>>>>>> >     >>> binary (updated or not) and sign it for inclusion.
> >>>>>>> >
> >>>>>>> >     Getting a binary now does not mean that you will get a new
> >>>>>>> compatible
> >>>>>>> >     binary in two years after a grave security bug has been
> >>>>>>> discovered in
> >>>>>>> >     the WiFi firmware or Netflix uses a new encoding scheme.
> >>>>>>> >
> >>>>>>> >     So isn't level 2 still on the path to obsolescence?
> >>>>>>> >
> >>>>>>> > I think I had the unconscious idea to have the equivalent of Google
> >>>>>>> > Project Trebble
> >>>>>>> > <
> >>>>>>> https://www.computerworld.com/article/3306443/what-is-project-treble-android-upgrade-fix-explained.html
> >>>>>>> >:
> >>>>>>> > the binary blobs are part of an ABI framework so that the project
> >>>>>>> can
> >>>>>>> > evolve but still get access to old "stuff".
> >>>>>>>
> >>>>>>> This project is about supporting SoCs for four years and after that
> >>>>>>> comes obsolescence.
> >>>>>>>
> >>>>>>> If you are buying a mid-range phone without the newest SoC, it boils
> >>>>>>> down to the two years obsolescence of Android One phones which is a
> >>>>>>> shame.
> >>>>>>>
> >>>>>>> > There is nothing such as a free meal: blobs are inevitable and we
> >>>>>>> don't
> >>>>>>> > want proliferation of ABI that could slow innovation.
> >>>>>>> > In other words, can we think of a Trebble for firmware that would
> >>>>>>> allow
> >>>>>>> > evolution of the core open source projects and still be able to
> >>>>>>> use old
> >>>>>>> > blobs?
> >>>>>>> > Making a mind experiment with DRAM initialization binary and a
> >>>>>>> TF-A API
> >>>>>>> > change (which happened last year I think on my platform of
> >>>>>>> interest),
> >>>>>>> > that change could have been made in such a way to maintain
> >>>>>>> compatibility
> >>>>>>> > with the old API.
> >>>>>>> > Is it something thinkable in the U-Boot context ?
> >>>>>>>
> >>>>>>> Looking through the U-Boot code I found the "NXP PFE Ethernet driver"
> >>>>>>> for LS1012A boards that uses a firmware blob. Of course using such a
> >>>>>>> blob does not stop us from developing the rest of U-Boot. Yet
> >>>>>>> obsolescence for LS1018A boards will be dictated by the availability
> >>>>>>> of
> >>>>>>> updates for NXP's blob and license conditions.
> >>>>>>>
> >>>>>>> In a Trebble for Android world: there is an immutable ABI for
> >>>>>> ethernet driver (the most complex to accept has been on the GPU side). 
> >>>>>> So
> >>>>>> you can update the entire system and still use an old blob.
> >>>>>> In a Trebble ofr U-Boot, we would define a similar immutable ABI for
> >>>>>> ethernet.
> >>>>>> Should NXP have compatible licensing conditions, some systems could
> >>>>>> be sustainability "level 2".
> >>>>>> (The goal is not to have all products be level 2 or 3, the goal is to
> >>>>>> understand what is possible with a particular product, and may be make 
> >>>>>> a
> >>>>>> buying decision)
> >>>>>>
> >>>>>>> Best regards
> >>>>>>>
> >>>>>>> Heinrich
> >>>>>>> >
> >>>>>>> >     >>>
> >>>>>>> >     >>> level 3: all firmware components are open source and can
> >>>>>>> thus be
> >>>>>>> >     community
> >>>>>>> >     >>> maintained.
> >>>>>>> >     >>>
> >>>>>>> >     >>> I think :
> >>>>>>> >     >>> Level 2 is the right balance between business value and
> >>>>>>> >     "ecological" goal
> >>>>>>> >     >>> of sustainability.
> >>>>>>> >     >>> Level 3 is not mandatory and not the ultimate goal.
> >>>>>>> >     >>>
> >>>>>>> >     >>> Is this a good way to characterize sustainability?
> >>>>>>> >     >>> How to make at least level 2 happen ?
> >>>>>>> >     >>>
> >>>>>>> >     >>> Cheers
> >>>>>>> >     >>>
> >>>>>>> >     >>> FF
> >>>>>>> >     >>> --
> >>>>>>> >     >>> François-Frédéric Ozog | *Director Linaro Edge & Fog
> >>>>>>> Computing
> >>>>>>> >     Group*
> >>>>>>> >     >>> T: +33.67221.6485
> >>>>>>> >     >>> francois.o...@linaro.org <mailto:francois.o...@linaro.org>
> >>>>>>> |
> >>>>>>> >     Skype: ffozog
> >>>>>>> >     >>> _______________________________________________
> >>>>>>> >     >>> boot-architecture mailing list
> >>>>>>> >     >>> boot-architecture@lists.linaro.org
> >>>>>>> >     <mailto:boot-architecture@lists.linaro.org>
> >>>>>>> >     >>>
> >>>>>>> https://lists.linaro.org/mailman/listinfo/boot-architecture
> >>>>>>> >     <https://lists.linaro.org/mailman/listinfo/boot-architecture>
> >>>>>>> >     >>>
> >>>>>>> >     >>
> >>>>>>> >     >>
> >>>>>>> >     >> --
> >>>>>>> >     >> Loïc Minier
> >>>>>>> >     >>
> >>>>>>> >     >
> >>>>>>> >     >
> >>>>>>> >
> >>>>>>> >
> >>>>>>> >
> >>>>>>> > --
> >>>>>>> >
> >>>>>>> > François-Frédéric Ozog | /Director Linaro Edge & Fog Computing
> >>>>>>> Group/
> >>>>>>> > T: +33.67221.6485
> >>>>>>> > francois.o...@linaro.org <mailto:francois.o...@linaro.org
> >>>>>>> > | Skype: ffozog
> >>>>>>> >
> >>>>>>> >
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>> --
> >>>>>> François-Frédéric Ozog | *Director Linaro Edge & Fog Computing Group*
> >>>>>> T: +33.67221.6485
> >>>>>> francois.o...@linaro.org | Skype: ffozog
> >>>>>>
> >>>>>>
> >>>>>
> >>>>> --
> >>>>> Loïc Minier
> >>>>>
> >>>>>
> >>>
> >>> --
> >>> Loïc Minier
> >>>
> >>> _._,_._,_
> > ------------------------------
> > Groups.io Links:
> >
> > You receive all messages sent to this group.
> >
> > View/Reply Online (#139) <https://OCP-All.groups.io/g/OCP-OSF/message/139>
> > | Reply To Group
> > <ocp-...@ocp-all.groups.io?subject=Re:%20Re%3A%20%5BOCP-OSF%5D%20Firmware%3A%20Sustainability%20vs%20planned%20obsolescence>
> > | Reply To Sender
> > <ryanole...@google.com?subject=Private:%20Re:%20Re%3A%20%5BOCP-OSF%5D%20Firmware%3A%20Sustainability%20vs%20planned%20obsolescence>
> > | Mute This Topic <https://groups.io/mt/81937262/1492462> | New Topic
> > <https://OCP-All.groups.io/g/OCP-OSF/post>
> > Your Subscription <https://OCP-All.groups.io/g/OCP-OSF/editsub/1492462> | 
> > Contact
> > Group Owner <ocp-osf+ow...@ocp-all.groups.io> | Unsubscribe
> > <https://OCP-All.groups.io/g/OCP-OSF/leave/3416184/1492462/253461219/xyzzy>
> > [rminn...@gmail.com]
> > _._,_._,_
> >
> >
> _______________________________________________
> boot-architecture mailing list
> boot-architecture@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/boot-architecture
_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to