platform: separate platforms by architecture
A long time ago, the mosys platforms used to be separated by vendor,
which gave them a little bit of structure, and made them easy to
navigate. But a few challenges arose: we don't want to release the
OEM name before we launch a product, and platforms started to be used
by multiple products, often by multiple vendors. Eventually, all the
platforms started landing in platform/experimental/ or
platform/google/, the structure separating by vendors became a useless
organization tool, and we flattened it (CL:575613).
However, separating by architecture is useful:
- Makes for easy code-searches, especially when searching for
platforms of a certain architecture.
- Makes it easy for reviewers to see which types of platforms are
affected by a change.
- Reduces the binary size of mosys. For example, now 32-bit ARM only
needs 4 platforms compiled, whereas it had 7 platforms compiled
before. Combine this with LTO, and we'll strip out a bunch of
unused probing functions too.
- Reduced probing time, as mosys probes platforms sequentially, and
we'll have less platforms to probe in each binary.
BUG=chromium:1070692
TEST=compiles, "mosys -S" shows a much smaller list of platforms
Change-Id: I4f67de82c1f8f36d54dcdab18b65efff349967e5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/mosys/+/2171631
Tested-by: Jack Rosenthal <jrosenth@chromium.org>
Commit-Queue: Jack Rosenthal <jrosenth@chromium.org>
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: C Shapiro <shapiroc@chromium.org>
165 files changed