Open june-andronick opened 11 months ago
- IOMMU vs SMMU vs System MMU
We should make SMMU/System MMU consistent, but IOMMU is the name for the x86 mechanism, and SMMU is the name for the Arm mechanism, so those should stay separate, i.e. the table header for Arm should become SMMU, but the one for x86 should stay IOMMU, I think.
- "status" in the table should be "verification status" to be clearer
Could be too long for the table header, at least I remember playing around with that and not changing it.
- for verification status: do we ignore SysInit? BV?
Yes, I think that's too much detail for this table. We should think a bit more about how to represent the verification status here, because that is going to get more complex as more verified platforms are being added with various differing feature sets.
- what is the "pending" Ariane RISC-V?
We should remove that. It was going to be the eventual verification target for RISC-V MCS. Ariane is the ETH implementation of RISC-V and the chip HC was going to use (or still is, unclear to me). There is an Ariane config for seL4, but no physical board that the foundation has.
This made some progress. Still on my list to do (most in discussion w @lsf37):
Also needed:
Comparing the machine queue systems with the webpage, I notice the following differences:
star64 | riscv | riscv64 | StarFive JH7110 | SiFive U74-MC
, which is not on the website.Microchip PolarFire Icicle Kit
, but that's not in the list of mq systems.tqma
is missing from the website (I can make a PR for that one).xavier_1 | arm | armv8-a | Xavier NX | Nvidia Carmel
is missing from the website.I think it's worth making it clearer when some platforms are softcores implemented on an FPGA.
mq has a star64 | riscv | riscv64 | StarFive JH7110 | SiFive U74-MC, which is not on the website.
There's a PR for it https://github.com/seL4/docs/pull/181 but it shouldn't be merged until https://github.com/seL4/seL4_tools/pull/174 and https://github.com/seL4/util_libs/pull/167 are merged.
xavier_1 | arm | armv8-a | Xavier NX | Nvidia Carmel
is missing from the website.
It's not supported by seL4 currently.
Thanks @Indanz and @Ivan-Velickovic. I've been comparing (1) the hardware listed on https://docs.sel4.systems/Hardware/ and (2) hardware listed on https://github.com/seL4/ci-actions/blob/master/seL4-platforms/platforms.yml (which I thought would be equivalent to the machine queue, but I'm missing some of the ones mentioned by @Indanz). The aim (discussed with @lsf37) is to find a way to generate another column in the table in (1) to tag boards that are not under CI/test (plus fix any discrepancies between (1) and (2)).
2 are listed in (1) as unmaintained and appear w no_hw_build in (2): Arndale and Inforce
6 are listed in (1) as maintained but absent from (2):
8 are listed in (1) but disabled in (2):
5 are not listed in (1) but appear in (2) (as disabled) without simulation_binary tag:
5-6 have the simulation_binary tag on:
@Indanz additionally mentions Star64 and xavier_1 which I don't see in (2).
@Indanz @lsf37 @Ivan-Velickovic Can you please let me know about my questions in bold above? Thanks :)
We should maybe list unmaintained boards in a separate table, or really highlight in some way that they are unmaintained . Yes?
Yes, I think a separate unmaintained list would be better.
For the Foundation ones: why aren't they in (2)? is it equivalent to being listed in (2) as disabled (see below) and should therefore be tagged as not under CI/test?
Not being listed in the platforms.yml
is equivalent to being listed in platforms.yml
and having the no_hw_build
option being true
. So yes, they should be tagged as not tested in CI.
For the others, should we also just tag them as not under CI/test?
Yes
I understand that TQMA is meant to be added. What about the others? Should they be added to (1) too, and flagged as not under CI/test?
To my knowledge we do not own any of the other boards and so they cannot be placed under (2).
Should we add all 3 above to the list in (1) as simulators?
Yes.
Why aren't these in (2)? Any other differences between (2) and mq?
Star64 has PRs that need to be merged first before we can put it in (2). xavier_1
is not supported at all by seL4 and so should not be in (1) or (2).
Hope this helps.
(regarding the xavier_1
, what I meant is that TS bought the platform and put it in machine queue but we never finished porting it to seL4 and so that's why there's no support in seL4 for it but it's in machine queue)
Many thanks @Ivan-Velickovic , that is very helpful.
how should I add them? manually adding lines or creating a new page under the 'hardware' folder with the info in the headers so it could be extracted?
I think the 'hardware' folder should instead be called platforms probably and we should probably have a page for each simulator. While the simulators might be more self-explanatory than hardware platforms, I think it's still worth it to have a dedicated page for each perhaps including things such as:
Update the https://docs.sel4.systems/Hardware/ page to make sure it's consistent, up to date, and with an easy high-level take-away for a wider audience.