All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julius Werner <jwerner@chromium.org>
To: Simon Glass <sjg@chromium.org>
Cc: "François Ozog" <francois.ozog@linaro.org>,
	"Julius Werner" <jwerner@chromium.org>,
	"Manish Pandey2" <Manish.Pandey2@arm.com>,
	"Daniel Thompson" <daniel.thompson@linaro.org>,
	"Ed Stuber" <edstuber@amperecomputing.com>,
	"Boot Architecture Mailman List"
	<boot-architecture@lists.linaro.org>,
	undefined <loic.pallardy@st.com>,
	"Harb Abdulhamid OS" <abdulhamid@os.amperecomputing.com>,
	"Arjun Khare" <akhare@amperecomputing.com>,
	"U-Boot Mailing List" <u-boot@lists.denx.de>,
	"tf-a@lists.trustedfirmware.org" <tf-a@lists.trustedfirmware.org>,
	"Paul Isaac's" <paul.isaacs@linaro.org>,
	"Ron Minnich" <rminnich@google.com>,
	"Moe Ammar" <moe@amperecomputing.com>
Subject: Re: [TF-A] Proposal: TF-A to adopt hand-off blocks (HOBs) for information passing between boot stages
Date: Thu, 15 Jul 2021 19:23:15 -0700	[thread overview]
Message-ID: <CAODwPW_FwFN1E84cV1+nC1aiahiwOL-TV=mP_6o8h0y9+pCNvg@mail.gmail.com> (raw)
In-Reply-To: <CAPnjgZ1A_osN9kmfQtanAD_FxAeZsEkA8LJY269+XwsVFToP8w@mail.gmail.com>

> - fuller implementation with more features

Is that a good thing? Didn't we just have a long discussion eschewing
a heavy-handed, bulky hand-off block design in favor of more simple
and flexible structures? I think simplicity is key for this and the
bl_aux_params are trying to be about as simple as they can possibly
get. Particularly in a situation like this where many different
projects will need to implement this independently, any extra clutter
(like versioning, an apparently unused(?) flags field, checksumming)
adds unnecessary extra friction that's best to avoid. (You can *do*
all these things like adding an extra checksum over the whole thing
with bl_aux_params by just defining an extra tag for it, of course,
but none of them are required for platforms for which they don't make
sense.)

> - has comments / more documentation

Is there anything in particular you feel is missing from the
bl_aux_params comments?

> - easily supports everything in one block instead of a linked list (easier to allocate)

I don't understand how this is easier, in fact I see it as a big
drawback. The bl_aux_params design allows structures to be allocated
wherever -- in the easiest case you can just define them as global
variables in the earlier stage (in the respective files that deal with
each tag) and then chain those together. You *can* of course also
allocate them in a contiguous block from a special memory area, and if
you're planning to pass this across more than one stage boundary
that's probably the better choice. But not all platforms have that
requirement, and this design allows them the flexibility to choose.
The coreboot platforms only care about the BL2->BL31 transition, so
why should they switch to a design that forces us to set up an extra
contiguous-block allocator for no good reason?

> - avoids 64-bit tags/size which seem quite unnecessary

Well, earlier there were some concerns about possible tag collisions,
so I think the extra space doesn't hurt to alleviate those fears.
Having 64 bits allows us to split the tag space into many separate
ranges that can then be allocated from independently -- for example,
we could just say that the top 2^63 tags are available for private
vendor tags generated as random numbers (like a GUID). (Your bloblist
seems to waste space on things like a "spare" field instead, so in the
end both implementations still come out to the same overhead per tag,
and bloblist has additional overhead for the header at the front.)

> - ability to link to another bloblist (do we really need this?)

FWIW you can do this by default with bl_aux_params because they're not
required to be contiguous.

  reply	other threads:[~2021-07-16  2:23 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <010001785912437d-ab3ef3d5-960c-4f85-bd2c-7f7853900e7a-000000@email.amazonses.com>
     [not found] ` <CAHFG_=W8LGwtEMW=qrki4DixTtatc4tcdHM5Gekx2eoRHXe-Ng@mail.gmail.com>
     [not found]   ` <CAPnjgZ1HK+Wnw0p+6bZddeMM804sxEmU_BJW8nAu64GG4D-9MA@mail.gmail.com>
     [not found]     ` <010001785e96cf83-06ded054-1d8b-47f3-8096-f205a92305f0-000000@email.amazonses.com>
     [not found]       ` <CAHFG_=WueeAuVB9Z2kg635zEF8skCVAwENU52BoEiu9BGQGMzg@mail.gmail.com>
     [not found]         ` <MW2PR0102MB345115D85F03D5863BB3EDB8EE649@MW2PR0102MB3451.prod.exchangelabs.com>
2021-03-24 22:35           ` [TF-A] Proposal: TF-A to adopt hand-off blocks (HOBs) for information passing between boot stages Simon Glass
     [not found]           ` <0100017866b46da2-7ac1b1ae-03f2-4048-81f8-bd38fb59b99f-000000@email.amazonses.com>
2021-03-25  2:42             ` Julius Werner
     [not found]             ` <010001786743f45c-823a9973-7ac5-4f32-bd9d-a5c244d22b31-000000@email.amazonses.com>
2021-03-26 14:58               ` raghu.ncstate at icloud.com
2021-03-29  7:42                 ` Simon Glass
2021-03-29 10:18                   ` Grant Likely
2021-03-29 22:24                     ` Simon Glass
2021-03-29 23:48                 ` Julius Werner
2021-03-30 19:01                   ` raghu.ncstate at icloud.com
     [not found]             ` <010001786743a2ac-3d2da6df-c6f2-4e19-acaa-628ff7d466c2-000000@email.amazonses.com>
2021-04-08 11:55               ` Manish Pandey2
2021-04-08 17:24                 ` Harb Abdulhamid OS
2021-04-08 18:19                   ` Simon Glass
2021-04-08 18:58                     ` Mark Kettenis
2021-04-12 15:16                       ` François Ozog
2021-04-08 21:22                   ` Julius Werner
     [not found]               ` <01000178b1570317-d1af5a40-d575-49ef-9b91-06abe8d04f4b-000000@email.amazonses.com>
2021-04-08 15:50                 ` François Ozog
2021-04-30 12:13                   ` Manish Pandey2
2021-05-05 17:42                     ` Harb Abdulhamid OS
2021-05-05 22:49                       ` Simon Glass
     [not found]                       ` <010001793ebb08a4-29440b1d-778d-4a80-8def-619c2946e275-000000@email.amazonses.com>
2021-05-14 12:29                         ` Okash Khawaja
     [not found]                         ` <010001796adacdd6-3f239ac5-27bb-4c79-a878-30592929b893-000000@email.amazonses.com>
2021-05-16 10:18                           ` Joanna Farley
     [not found]                           ` <0100017974aff4fb-0af45782-0b60-4724-b300-822f8fe4b799-000000@email.amazonses.com>
2021-05-19  1:57                             ` Madhukar Pappireddy
     [not found]                             ` <0100017982591630-15bf1d32-8f0b-4b2a-bb4d-a2ba39760820-000000@email.amazonses.com>
2021-05-19  2:50                               ` Madhukar Pappireddy
2021-05-19 14:33                                 ` Joanna Farley
2021-05-19 14:41                                   ` Joanna Farley
2021-06-02 14:29                                 ` Joanna Farley
2021-06-02 15:26                                   ` Joanna Farley
2021-06-10 21:57                                     ` Manish Pandey2
2021-06-11 11:51                                       ` François Ozog
2021-06-17 19:37                                         ` Simon Glass
2021-06-17 19:47                                           ` François Ozog
2021-07-08 11:18                                             ` Manish Pandey2
2021-07-08 11:48                                               ` François Ozog
     [not found]                                             ` <0100017a8648f3d5-98a3bce6-b2dc-48cb-84e4-c292bcef5622-000000@email.amazonses.com>
2021-07-08 21:56                                               ` Julius Werner
2021-07-08 22:31                                                 ` Simon Glass
2021-07-09  1:08                                                   ` Julius Werner
2021-07-09  7:05                                                     ` François Ozog
2021-07-09 10:07                                                       ` Daniel Thompson
2021-07-09 15:43                                                         ` Manish Pandey2
2021-07-09 23:06                                                           ` Julius Werner
2021-07-15 14:25                                                             ` François Ozog
2021-07-15 15:03                                                               ` Simon Glass
2021-07-16  2:23                                                                 ` Julius Werner [this message]
     [not found]                                           ` <0100017a1b8bea04-71a338d9-55ac-4163-80c9-2c350d62d425-000000@email.amazonses.com>
2021-06-17 23:45                                             ` raghu.ncstate
2021-06-18 14:43                                               ` Ron Minnich
2021-06-18 16:45                                               ` Simon Glass
2021-06-18 17:17                                               ` Tom Rini
2021-06-21  9:57                                                 ` François Ozog
2021-05-19 21:50                               ` Jeremy Linton
     [not found]                               ` <01000179869c5dac-96846caa-3f3d-4987-8d70-6843f9e46090-000000@email.amazonses.com>
2021-05-20  5:34                                 ` François Ozog
2021-05-20 10:34                               ` Julian Hall
2021-05-20 16:42                                 ` Simon Glass
2021-06-21 10:32                                   ` Alexander Graf
2021-06-21 10:38                                     ` François Ozog
     [not found]                             ` <010001798258ec0b-a221c5f8-618a-456c-9068-b7cc44aa9dec-000000@email.amazonses.com>
2021-05-20  5:45                               ` François Ozog

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAODwPW_FwFN1E84cV1+nC1aiahiwOL-TV=mP_6o8h0y9+pCNvg@mail.gmail.com' \
    --to=jwerner@chromium.org \
    --cc=Manish.Pandey2@arm.com \
    --cc=abdulhamid@os.amperecomputing.com \
    --cc=akhare@amperecomputing.com \
    --cc=boot-architecture@lists.linaro.org \
    --cc=daniel.thompson@linaro.org \
    --cc=edstuber@amperecomputing.com \
    --cc=francois.ozog@linaro.org \
    --cc=loic.pallardy@st.com \
    --cc=moe@amperecomputing.com \
    --cc=paul.isaacs@linaro.org \
    --cc=rminnich@google.com \
    --cc=sjg@chromium.org \
    --cc=tf-a@lists.trustedfirmware.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.