Skip to content

OpenAMP System Reference Meeting Notes 2023

Nathalie Chan King Choy edited this page May 17, 2023 · 24 revisions

Table of Contents

2023-05-17

Attended

  • Tammy, Tanmay, Tomas, Nathalie, Dan, Hari

Agenda

Notes

  • Recap from Linaro Connect
    • BOF: Not big quantity (the after lunch slot :P), but high quality attendance
      • Good engagement from Arm & TI
    • Tomas:
      • Lot more focus on automotive & embedded than previous years
      • OpenAMP being mentioned left & right in Blueprints, so we have more visibility now
      • Linaro Connect was sold out, so that was good.
      • Good to be back. Valuable F2F discussions.
    • Dan:
      • Like the engagement from the non-OpenAMP ppl who are now interested in OpenAMP
      • Discussed plans w/ Bill & Arnaud for enhancing virtio support in libopenamp
        • Have both back-end & front-end support in libopenamp
        • Touched on possibility of rewriting libmetal in Rust. Would be a stretch goal.
    • Tomas:
      • Arm group didn't know about a lot of the stuff we are doing & very interested in OpenAMP work.
    • Nathalie:
      • I will be reaching out this week to 1 of them who will be participating in our calls, to get him on the mailing lists.
  • Individual updates
    • Tanmay: Porting Arnaud's demo to Xilinx platform is still work in progress.
    • Dan: Working on a plan to merge the virtio-exp branch into main. Most comments are related to source layout. WIP.
    • Tammy: No update.
    • Hari: No update. Had to work on internal issues.
  • Task tracking updated
    • Tanmay is working on RPMsg in U-Boot, so has not had a chance to continue on 10
    • Tammy has updated the headers for 12
    • Dan has no status changes
  • Tammy: Is Rust a new idea for OpenAMP?
    • Dan: It keeps being brought up.
    • Tammy: Know Rust is supported by Zephyr. Is it gaining popularity in multicore, or just in general?
    • Dan: Rust is very popular among Linaro engineers, visible on Linaro Connect agenda. Think everyone will eventually have to learn it. Currently not big fan.
    • Tomas:
      • Linux took a decision that they are starting to accept Rust drivers into kernel, so that was a big boost for Rust language.
      • Linaro also has a Rust training for Linaro members. They have some projects around virtio where they are implementing w/ Rust VMM.
      • Rust is definitely a safer language. Concern about Rust adding too many modern concepts - maybe OK for a language, but not ideal for safe language.
      • Interesting, but not big fan after prelim reading.

2023-04-19

Attended

  • Tanmay, Tomas, Arnaud, Bruce, Nathalie, Tammy, Hari, Bill

Agenda

Decisions/conclusions

  • Decision: Release openamp, libmetal & system reference. Rest will get tagged later.
  • Use mailing list for discussion of intern's code? Yes.

Action items

  • Bill & Arnaud to discuss on Tue: What gaps in release test plan? What else can we automate in release test plan? What can we get to run on every PR?
  • Bill to answer Raveem KG in https://github.com/OpenAMP/open-amp/discussions/479
  • Tanmay to discuss w/ Mark & Ben if moving the demos & examples from library repos to system-reference would impact AMD Xilinx production build
  • (DONE) Bill, Dan & Arnaud to coordinate for Tue on Discord
  • (DONE) Nathalie: Cancel May 3 call
  • Tammy to review & comment on checkpatch PR
  • Arnaud to discuss w/ intern if should add him to the OpenAMP Discord

Notes

  • Tomas: ChatGPT & testing
    • Any help we can get to have more tests would be great
    • Tomas showed some query results for OpenAMP & DT related code generated by ChatGPT
    • Can train it by pointing it to some code or documentation
    • Idea for a hackathon: to use ChatGPT or Co-pilot to create tests
    • ChatGPT4 is paid & produces better results, so expect it will continue to improve
    • Nathalie: AMD Legal has advised against use for now b/c license violation issues.
    • Bill: Linaro has also said that any use of ChatGPT has to go to the execs for review.
    • Tomas: OK to play with it until there is more clarity as long as you don't publish the code.
    • Bill: Can also help you clear the cobwebs to begin a task
    • Tomas: Also helps take care of the template type things like includes, etc. So you can get on to the fun part.
    • Tammy: Very cool. thanks for sharing.
    • Bill: Have to define the problem in a way that it can engage. Didn't come back with ACPI tables for Beaglebone Black.
    • Tomas: After some practice, you learn how
    • Nathalie: Has anyone tried Bing w/ AI? It produces footnote references, which might help w/ attribution issues?
  • Arnaud: Proposal from student Raveem KG to contribute to OpenAMP
    • Seems like he has tried Zynq board. Not sure his level of expertise.
    • Can propose ideas. Maybe Xilinx/AMD demos and examples be moved from openamp/libmetal repositories to openamp-system-reference. CI. Documentation. Other examples.
    • Bill: Getting the CI to do better testing, even if 100% simulated. Can ignore real HW for a while. Linux-Linux? Can leverage what we did in the demo & run real QEMU-based systems.
    • Arnaud: QEMU is best candidate for improving CI tests & increasing coverage.
  • Bill & Arnaud to discuss on Tue: What gaps in release test plan? What else can we automate in release test plan? What can we get to run on every PR?
  • Bill to answer Raveem KG in https://github.com/OpenAMP/open-amp/discussions/479
  • Arnaud:
    • Should AMD Xilinx demos and examples be moved from openamp/libmetal repositories to openamp-system-reference? This question is related to the pull request from Sergei https://github.com/OpenAMP/libmetal/pull/231
    • Today implementation is for Linux & AMD Xilinx platform. Would like to move examples & demos to system reference so that just library code in the library repositories.
    • Bill: How does that intersect AMD Xilinx production build? Think the examples are included…
    • Tanmay to discuss w/ Mark & Ben if moving the demos & examples from library repos to system-reference would impact AMD Xilinx production build
    • Tanmay: Some internal/non-open source libraries required to build these demos (w/ RPU BSP). Can build w/ Yocto, but no cmake command to build the demos.
    • Bill: To build the Xilinx way
    • Tanmay: Arnaud's concern is right - these are not generic demos. Can discuss internally how to make it compile generically
    • Bill: Can decouple:
      • Xilinx nightly product build has all that stuff. Can we move from 1 repo to another & not break the build?
      • Getting to build in a generic fashion is an OpenAMP problem we can tackle separately
    • Arnaud: Don't need to solve in short term. This question is triggered by Sergei's PR https://github.com/OpenAMP/libmetal/pull/231. Can keep code we have until we make a decision, but don't want to integrate more code like this until we have a decision.
    • Bill: The generic ones are pretty usable & platforms only need thin layer. The early ones are grandfathered in. Would like to get rid of device-specific stuff & set good example in library.
  • Anything to discuss for Connect?
    • Bill: We have the BOF slot, which is longer than we need. BOF ~1h and OpenAMP meeting ~1h. There's a meeting that Tomas & Nathalie are invited to for TSC that takes last 15 min of that slot. So, we might have to max the BOF to 1h and 45min for OpenAMP meeting.
    • Bill: Slides are due today. Will be working on them this afternoon. BOF slides will be minimal. May redo the Virtio presentation & keep as back-up slide set in case we run out of topics. Need list of topics we'll bring if we run out of topics.
    • Arnaud can show demo as follow-up to talk. Zephyr demo w/ authentication of remoteproc FW & try to load it. Can set up while Bill gives intro.
    • Bill: Would like some discussion topics for BOF, not just demos. Will have docker demos on computer as backup.
    • Arnaud: Can take opportunity to discuss Virtio & plan for next 6 mo. But, this might take >1h.
    • Bill: Hope is that ppl will attend & start telling us the problems that they face engaging w/ an AMP system. Need to be prepared in case we don't have questions from the audience.
    • Bill, Arnaud & Dan will meet Tue afternoon. Likely Tomas, Nathalie, Loic, Eric will be tied up in LPM.
    • Bill, Dan & Arnaud to coordinate for Tue on Discord
  • Nathalie: Cancel May 3 call
  • Individual updates
    • Bill:
      • ZCU102 is operational in UK LAVA lab & has run 295 jobs as of this morning. Need to integrate the 2nd UART on ZCU102 & KV260 for it to be a good OpenAMP platform.
      • Doxygen integration for OpenAMP docs. Have made a PR for what is likely to get done before mid-May. Arnaud & Tammy can decide if want to wait, or pull it in. It does build on a PR, but the links you get are hardcoded to assume the real content, but nothing is there until the PR lands.
    • Tammy
      • Submitted PR for function headers. Arnaud commented & approved. Need Ed's approval before merge. Have ben updating over last 2 weeks.
        • Arnaud: Will release without Ed's approval if no answer by end of this week.
      • Arnaud: Planning to integrate it in this release.
    • Bill: Are we OK to tag the 2023.04 doc release in mid-May?
    • Arnaud: Can do. We don't specify what repos will be in release. Should we tag system reference?
    • Bill: Yes, will tag CI builds & demos. So, the April release might not be done on the other repos until the end of May.
    • Arnaud: If we release in April, do we have to release OpenAMP library & libmetal mid-month to give time for releasing the others?
    • Bill: No. The others will catch up. Would like to fix the docs & tag the docs & then rebuild everything from the tags & include in the demos. Arnaud should release the libraries & these other tasks will come later.
    • Arnaud: We should discuss plan for October.
    • Decision: Release openamp, libmetal & system reference. Rest will get tagged later.
    • Arnaud: Added Tammy as member of openamp project to review PRs.
      • Tammy to review & comment on checkpatch PR
    • Arnaud:
      • Will share code of intern for virtio MMIO. Use mailing list for discussion of intern's code? Yes.
      • Arnaud to discuss w/ intern if should add him to the OpenAMP Discord
    • Nathalie: Did we say we were going to move to community channel?
      • Bill: Created an openamp-dev private channel on Linaro server & added the contributors.
    • Tanmay:
      • Focused on RPMsg in U-Boot. Can discuss in OpenAMP-RP call later.
      • Have been asked to spend more time reviewing PRs in libraries. Have not had a chance yet, but planning to be more active.
    • Hari:
      • Was busy with internal product release/builds last couple weeks.
      • Tanmay: Example for TI?
      • Hari: TI RPMsg char on TI website. Has ping & echo application.
      • Bill: TI still using own implementation of RPMsg?
      • Hari: Yes
      • Tanmay: Extending current work to add RPMsg
  • Nathalie: Reminder to please update the tracking sheet https://docs.google.com/spreadsheets/d/1N5eO0FDX-gqpJtBleh_iGn-k9gr3j-w8ByjPFsjIoB4/edit?usp=sharing

2023-04-05

Attended

  • Bill, Tammy, Dan, Nathalie, Nishanth, Bruce, Hari, Arnaud, Tanmay,

Agenda

  • TI Platform
  • Arnaud, Tammy: April release topics (e.g. doc update)
  • Bill, Nathalie: OpenAMP BOF deck
  • Nathalie: Should we update OpenAMP governance page to reflect what we’ve established by the work the System Reference group has done (e.g. docs, CI)
  • Nathalie: Are there any tasks we want to track as a group (e.g. where there are interdependencies between devs) for Q2 work? Any work from our webinar tracking sheet that we should continue tracking?
  • All: Individual updates

Decisions/conclusions

  • Let's track April - August tasks for now

Action items

  • Arnaud: Tammy can start with a couple files Pull Request & we can discuss on that concrete example
  • Bill can schedule a remote working session over Zoom for next week with Tammy, Arnaud, (Ed optional)
  • Bill will polish up the deck & submit to Connect organizers so that it can be included in the schedule blurb
  • Nathalie, Bill, Arnaud to update OpenAMP Governance page at Connect to reflect latest project status & practices
  • (DONE) Nathalie start a new System Reference tracking sheet til end of August & Nishanth to add a milestone for TI platform
  • Bill to share Jailhouse notes with Dan

Notes

  • TI platform
    • BeagleBone AI-64 or BeaglePlay
      • AI-64 has many micro controllers, so would likely be the most interesting
        • Google summer of code student
        • Could generate video encode, decode, camera pipeline & would show lots of interesting communication w/ OpenAMP
    • Nishanth looking at AM62 platform w/ Rust
      • M4 can showcase basic communication works
      • Gets interesting from BeaglePlay perspective
        • BP goes from within to outside the SOC for sensors. To investigate if it adds value.
        • BP has 1352 sensor & sensor gateway
      • Shows that OpenAMP isn't just tied to C or Linux
    • To investigate: Can OpenAMP go beyond SoC? Beagle guys have done their custom protocol on top of grey bus
    • Bill: Could be in scope for OpenAMP organization & project. Some discussion if RPMsg over mailbox could be in scope.
    • Bill: Was trying to push grey bus inside Linaro for convergence of Virtio IIC & GPIO, but they decided to go with Virtio IIC to keep it simple. We're extending Virtio OpenAMP libs, so Virtio IIC would come into play as testcase. Would be interesting to contrast w/ what Beagle is doing w/ grey bus.
    • Nishanth: Looks like lot of duplication, would be good to compare notes.
  • Docs update
    • Tammy needs input on ticket #477 from Ed & Bill wrt API
      • Bill: Looks like most of this effort is in OpenAMP library?
      • Tammy: Correct, haven't looked at Libmetal yet
      • Arnaud: Tammy can start with a couple files Pull Request & we can discuss on that concrete example
      • Bill can schedule a remote working session over Zoom for next week with Tammy, Arnaud, (Ed optional)
      • Code freeze is 4/15, but documentation can be accepted later
    • Bill: Looked into GitHub Action & Readthedocs automation & Breathe.
      • Think you can add Breathe annotations, but the only required are the ones for TOC, which wouldn't be too much work
      • Will give Breathe another shot.
      • If that doesn't work, will back up to seeing if Readthedocs can build it
      • If that doesn't work, will back up to GitHub Action
      • Tammy: Tried Breathe, but wasn't successful.
      • Bill: Breathe is already integrated on Readthedocs servers. Think if we put it in the config, it will run for us & convert into XML that could be consumed by Sphinx. TBD If will change the formatting.
      • Tammy: OK if it changes the formatting
      • Bill: Targeting to have something working in automation by end of next week
  • OpenAMP BOF slides
    • Bill will polish up the deck & submit to Connect organizers so that it can be included in the schedule blurb
  • Nathalie, Bill, Arnaud to update OpenAMP Governance page at Connect to reflect latest project status & practices
  • Nathalie start a new System Reference tracking sheet til end of August & Nishanth to add a milestone for TI platform
  • Individual updates
    • Bill:
      • We have jailhouse working on ZCU102. GIC demo runs & Zephyr on A53 runs.
      • Thinking about adding that when re-spin OpenAMP Docker image.
      • Jailhouse has a lot of things that weren't upstream 5yrs ago & still not upstream yet :(
      • Nishanth: Had upstreamed GIC code to Jailhouse master on TI boards
      • Bill: They are still using 5.10 for CI. Found their 5.15 kernel
      • Bill to share Jailhouse notes with Dan
    • Arnaud:
      • Preparing presentation for Connect & will have a board that could demo with during BOF
      • Bill: Let's encourage folks to join the first hour, including the demo. 2nd hour will be an OpenAMP F2F meeting. Timing is flexible.
      • Intern working on Virtio MMIO: Started to modify some code to add mgmt of mailbox for notification to allocate some space for IPC. Can start FW on coprocessor & probe the Virtio IIC on Linux. Next, have to try Dan's work to extend for Virtio IIC.
      • Bill: Hardcoding the features & queue sizes?
      • Arnaud: Added shared memory space for virtio MMIO & put address in Linux DT & fill the virtio MMIO when we load the FW. Then virtio MMIO can detect that it's on Virtio IIC & probe the driver. In remoteproc we parse the child node to find virtio MMIO. He should start to work on OpenAMP part this month. For now, wrap everything in Zephyr to enable part of the protocol.
      • Can give more details in dedicated virtio call next week
    • Tanmay
      • Debugging Zephyr
      • Xilinx RPMsg driver is upstream now. Patch is accepted for next branch & likely in next release.
      • Need to work on attach/detach feature & will upstream later.
      • Remoteproc is working & RPMsg is working
      • Bill: Marked the story for RPMsg in Jira as done & will close the epic when the 6.4 kernel is released with that support. We can open a new card for attach/detach.
    • Nishanth
      • Trying to get Rust working. Looked at libmetal in Rust. Is anyone interested in formalizing it? Someone had worked on it 2 yrs back & abandoned it. Should it go into Rust or OpenAMP repo?
      • Full Rust implementation of libmetal. Not sure if that will lead to OpenAMP library as well.
      • Bill: Expect the libs will evolve a lot over next 2 years. Understand desire for a pure Rust, but it will be playing catch-up for next 2 years. Have you considered wrapping?
      • Nishanth: Can shim, but could probably done in pure Rust implementation. Can see how it goes. Is anyone else looking at it?
      • Bill: No one has
    • Tammy: Update given during docs topic
    • Dan: Plan to resurrect VxWorks on R5 cores on ZCU102 w/ OpenAMP support w/ goal to release binary SDK to run VxWorks instead of Zephyr in hypervisorless virtio setup
    • Hari: Trying to refactor R5 driver
    • TI coming to Connect? John will represent & will touch base w/ OpenAMP

2023-03-22

Attended

  • Bruce, Tomas, Bill, Dan, Arnaud, Tammy, Tanmay, Nathalie

Agenda

  • Bill, Arnaud, Dan: Quick summary of last week’s Virtio spin-off call
  • All: Starting on slide deck for OpenAMP BOF presentation (making something short is always harder than making it long…)
  • Tammy & Arnaud: Update on docs for 2023.04 release
  • Individual updates

Decisions/conclusions

  • Goal is ~5 slides for 10 min of presentation as intro at BOF
  • Decision: Document only within header file

Action items

  • Bill will publish the notes & share the recording from the Virtio spin-off call
  • Bill to discuss w/ Mathieu about joining the AMP BOF
  • Bill & Arnaud to reply on doc data structures thread from Tammy
  • Arnaud will look at Zephyr for what could be leveraged for automatic checking of pull requests for Doxygen-compatible comments
  • Nathalie: Make a copy of Dec deck & share to rest of group as editors
  • Nathalie: Find out call-in capability for Session Room 1
  • Tammy will submit a pull request for the input parameters mods (Separate commits for libs & apps & tests. OK to submit in same pull request)

Notes

  • Bill, Arnaud, Dan: Quick summary of last week’s Virtio spin-off call
    • Good kick off meeting but missed Arnaud b/c of daylight savings misalignment
    • Bill will publish the notes & share the recording from the Virtio spin-off call
    • Logistics: Call time, meeting at Connect
    • Upstreaming: What will it take to get upstream on RTOS side
    • What threads/chunks of work that can be tackled independently
  • All: Starting on slide deck for OpenAMP BOF presentation (making something short is always harder than making it long…)
    • Linaro Connect Schedule
    • Nathalie: We have the December webinar deck & need to compress it down to 10 min
    • Bill:
      • Intro, mention the webinar, point to the demos & slides. Focus on what we have done since then & what we plan to do in next 6 months (e.g. Virtio work)
      • We can have as many ppl up front as we want
      • Bill can add 2 more presenters: Tomas & Arnaud, so we have 3 Linaro members supporting the work
    • Arnaud: Mathieu?
    • Bill: We should ask him to be there.
    • Bill to discuss w/ Mathieu about joining the AMP BOF
    • Bill requested 40 min & got 2hrs
      • Can have expanded BOF for 1hr
      • Then can have an open OpenAMP meeting after (entire OpenAMP, not just system reference)
    • Nathalie: What's the room layout? Conducive to discussion or presenter/audience layout?
    • Bill: We can move the first few rows of chairs into a circle for the meeting
    • Nathalie: Make a copy of Dec deck & share to rest of group as editors
    • Goal is ~5 slides for 10 min of presentation as intro at BOF
    • Arnaud can also do some demo wrt remoteproc & advertise the BOF at the end of his session (12pm on Thur)
      • Bill: This is good b/c it was on the what's next list
    • Tomas: Does Session Room 1 allow ppl to call in?
      • Bill: Think that room will be really big. We won't make any voting resolutions during this meeting.
      • Nathalie: Find out call-in capability for Session Room 1
  • Tammy & Arnaud: Update on docs for 2023.04 release
    • Input parameters
      • Tammy sent Input Parameters modifications email - it didn't display correctly (should have line breaks)
      • Tammy: Think the output would be the same
      • Arnaud: Would like something readable in the code as much as possible. Think ":" will help
      • Tammy: leaning towards indented view
      • Tammy: Document only within header files?
        • Arnaud: Yes
      • Tammy: Not sure if there is script we could put into GH Action. Don't anticipate a lot of mods, so maybe don't need. Can't commit bandwidth.
      • Arnaud: Would like to see automatic check to pull request to make sure Doxygen comments are complete & compatible. Would like to avoid running Doxygen to check. But, can start with manual.
      • Tammy: Have list of other things to do in long term, maybe after April
      • Arnaud: Not expecting for April. Long term is OK. Would like to be able to run a check before releasing libs
      • Tammy: Wonder if Zephyr has any policies we can leverage
      • Arnaud will look at Zephyr for what could be leveraged for automatic checking of pull requests for Doxygen-compatible comments
      • Tammy will submit a pull request for the input parameters mods
      • Arnaud: We do separate commits between libs & apps & tests. OK to do in same pull request.
    • Data structures: Want a consistent format & update all the data structures to match
      • Tammy: Can we remove "Definition at line of <file></file>"? Would like to show the field description instead
      • Bill: Think the source references are useful, but doesn't have to be verbose, maybe click?
      • Tammy: Can only do what Doxygen allows
      • Bill: Maybe if had 1 for the whole structure, the rest of the fields should be defined in the same place.
      • Arnaud: Where does clicking on the link take you? Rpmsg.h
      • Tammy: It's not sending you to GitHub, it's pointing to local copy on your computer in the HTML Doxygen artifacts.
      • Bill: It will be a particular version of OpenAMP, so probably can reference the version it was built with at the top level & let Doxygen do it's references to its pretty-printed source
      • Arnaud: Zephyr or TF-M docs can show version per release & point to master
      • Bill: Tammy generates HTML for a particular version. Can have multiple versions on website.
      • Tammy: Keep the reference to definition? The one under Detailed Description is useful, but can only keep all or delete all. We have the header file & the fields, so doesn't buy you much more.
      • Bill, Arnaud: OK to remove. As long as you can find the file the definition is in.
      • Tammy: File is there
      • Arnaud:
        • There is a link at the bottom of the page that gives the path for the file where it is defined. Could be enough.
        • TF-M docs do keep the reference to each line
      • Bill: Showed Zephyr docs
        • Tammy: They have a lot more integrated than just pure doxygen and they show everything (not just what has doxy comments)
      • Bill: Our API is small enough. We should set a goal to document everything worth documenting.
      • Bill & Arnaud to reply on doc data structures thread from Tammy
  • Tanmay update
    • Zephyr demo
      • Trying to get RPU-RPU communication. Found a bug & fixed it but can't get call-back ISR for RPU-RPU. Same code works for APU-RPU communication. Debugging.
      • Ported 1 demo from upstream OpenAMP System Reference Zephyr example to communicate w/ sample driver w/ Xilinx IPM driver. Works in lock-step mode now. Would like to get APU-RPU & RPU-RPU communication both working.
      • Bill: Not limited to lockstep only, just focusing on it - will do split mode for RPU-RPU?
      • Tanmay: Not limited. Will do split for RPU-RPU.
    • How to synchronize? Platform specific? Address in DT to point resource table?
      • Arnaud: ST board Zephyr adds resource table at specific address in specific section. Table is available for Linux from firware load. Don't need to define area in DT, except defining memory region that will register in remoteproc. No DT node to specify address of resource table. How do you specify on AMD distribution?
      • Tanmay: Vendor-specific property DT. FW linker script is compiled accordingly for resource table available at specific address.
      • Arnaud: Linux is able to get ELF section w/ resource table if you provide good name
      • Bill: Finding the resource table is an issue if you pre-load. If you use Linux load, it parses the ELF file.
      • Tanmay: Loading through Linux is nota problme. Loading demo when RPU is preloaded, then it'sa problem.
      • Bill: OK, you're trying to work out method of pre-loading
      • Arnaud: You could define memory region in Linux DT w/ address of resource table & in remoteproc driver, you can get it w/ specific name for resource table address. ST gets it from a SW register. You can get it from DT & provide it in same way.
      • Bill: Memory location w/ address of resource table, not table itself.
    • Will this be a vendor-specific thing or standard method to synch resource table, via DT?
      • Bill: Wouldn't be a bad idea for vendors to opt-into if they want. Having a pattern to follow is good. Having a bare pointer is dangerous, maybe data structure better. Wendy wanted to put version # of FW in there too. Can be indirection.
      • Arnaud: It's more reliable to get the address + the size of the resource table. B/c if have to flush the cache, need to know the size.
  • Bill update
    • Linaro is interested in running Zephyr on A53 & other A cores. 1st crack run Zephyr under Jailhouse. Trying to get Jailhouse on a newer kernel (challenging). Will keep trying 1 more day.
    • Zephyr on Xen & maybe on baremetal next
    • This as test vehicle for Virtio
    • Jailhouse is interesting b/c they need what we're doing for virtio, but Xen doesn't need
    • Disappointed with Jailhouse compatibilitiy with upstream kernel
    • Tomas: For Xen, even if iti has its own way for doing stuff, Stefano's team is working on virtio solution for automotive.
    • Bill: at least Xen hypervisor helps. Jailhouse doesn't provide help, it's almost like hypervisorless virtio.
    • Arnaud: NuttX OS has integrated virtio. They are interested in Dan's work in OpenAMP to be able to rebase on OpenAMP virtio framework
    • Bill: they want to consume virtio from us?
    • Arnaud: Yes
    • Dan: They wanted to know how to run the regular virtio support from OpenAMP
  • Dan: No updates
  • Tammy: No other updates
  • Tanmay: Yocto 2022.2 release from Xilinx is up. Contains KV260 support in QEMU. Could consider updating in Docker.
    • Bill: in Docker, consumed Xilinx QEMU from Zephyr SDK. Cant use the pre-builts b/c under login. If build myself, it's hard to port b/c sysroot. Will take a look, but might not have a chance before Connect. If not new set of binaries, then updating Zephyr SDK to do both might be 1 way to go.

2023-03-08

Attended

  • Bill, Dan, Nathalie, Arnaud, Hari, Tammy

Agenda

  • Should we break out the virtio discussion to another call w/ the new Linaro virtio resource?
  • Linaro Connect:
    • Who submitted for the CFP & what topics?
      • Bill: OpenAMP BOF (Birds Of a Feather)
      • Arnaud: management of the coprocessor firmware in OP-TEE
    • Any updates on who is able to attend Connect?
    • Should we plan F2F or sprint?
  • Individual updates on OpenAMP System Reference-related work

Decisions/conclusions

  • No official "demo day"/"demo hours" at Connect, so may end up joining a demo room during hacking time
  • Split virtio technical discussion into a separate call (but hold off on inviting Arnaud's intern for now)

Action items

  • Hari to check with Nishanth if TI is approved for Linaro Connect
  • Nathalie: Start thread on email regarding OpenAMP F2F at Linaro Connect
  • Nathalie: Reach out to NXP OpenAMP folks to see if they are attending Linaro Connect

Notes

  • Virtio breakout w/ new Linaro resource?
    • Dan: Interested, let's use another slot. Cadence should be based on how much updates. Let's start w/ kick-off w/ intro & plans. Free next week at 8:30PT (due to daylight async w/ Europe)
    • Arnaud intersted & available next week
    • Bill will schedule for 9:30am PT next Wed
  • Linaro connect submissions
    • BOF: Open discussion session
      • Requested longer slot (40min)
      • 15min: Short intro about what HPP & OpenAMP, point ppl to the Dec webinar materials + Status update of where we are at
      • 25min: Open discussion
      • Official presenters: Can list those who know we're attending
      • Android team will have BOF in hacking room instead of official slot. This is an option for us if we get rejected.
    • No official demo time at connect - grass roots session being organized during hacking time (see the high-level schedule of time blocks on the Connect page)
    • Dan will be attending
    • Hari to check with Nishanth if TI is approved for Linaro Connect
    • Tammy's request did not get approved
    • Arnaud's session: ST work to capability to authenticate coprocessor FW w/ OP-TEE
      • Plan to start the upstreaming of this work
      • Trying to do in a generic way & would like to get feedback
      • Linux & OP-TEE maintainer can get some intro, so will need to synchronize both
    • Detailed schedule publish 3/15. Rough outline schedule
    • F2F:
      • Bill & Arnaud available Tue
      • Or session during hacking time
      • Nathalie: Start thread on email regarding OpenAMP F2F at Linaro Connect
      • Nathalie: Reach out to NXP OpenAMP folks to see if they are attending Linaro Connect
  • Bill update
    • Refreshing the demos. Trying to make the container work on Arm-based Mac (Arm native, Double emulation does work)
    • Looking at builds
    • Linaro working on Jailhouse & running Zephyr in Jailhouse on QEMU and KV260. Had started the work when NXP was asking for it. Will look at doing same thing for Xen.
    • Goal: OpenAMP working for Linux in a Xen guest as base. Also useful for the virtio work.
  • Arnaud update:
    • Have an intern starting on virtio MMIO: Address virtio IIC with virtio MMIO between main & co-processor. Looking at using virtio MMIO in remote processor context.
    • Bill: Should we invite ST intern to virtio call?
    • Arnaud: Not yet as just started.
    • Bill:
      • Trying to write up the work we foresee doing as an SOW
      • Will share w/ Arnaud & Dan & Stefano once it is drafted
      • Will try to do before next Wed call
    • Arnaud: Virtio to be addressed in automotive group?
    • Bill: 2 projects
      • Virtio unification in HPP: Got resourcing. Will decouple from automotive b/c not a high priority for automotive.
      • Orka (Alex Benee from QEMU group): improve virtio for Xen using QEMU & Rust. Not specifically looking at AMP

2023-02-22

Attended

  • Bruce, Tanmay, Dan, Nishanth, Nathalie, Tomas, Tammy, Bill, Hari

Agenda

  • What to work on by end of Q2?

Decisions/conclusions

  • Would be good to sync release of doc & lib for 2023.04.
  • Can discuss Google Summer of Code 2024 at end of this year

Action items

  • Bill to put on agenda for RP call in 2 weeks to discuss fixing up of API reference guide (requires touching a lot of files)
  • Nathalie to reach out to NXP to figure out which calls they want to participate in
  • Nathalie: Put in calendar reminders for Google Summer of Code consideration

Notes

  • Remoteproc & RPMsg
    • Tanmay working on ZynqMP upstreaming. Think this will complete in the next quarter. There is the turnaround time to get Mathieu's feedback & then address it.
      • Once RPMsg part is upstream, Tanmay can start upstreaming Zephyr part
    • Linaro is putting someone on Zephyr for these topics & they will start looking at ZynqMP
    • Multi Virtio devices is staged for this year
    • RPMSg flow control: if someone gets motivated to tackle, then it may happen. Otherwise not prioritizing.
  • Other VirtIO devices
    • Linaro putting an additional engineer on implementing Virtio in OpenAMP libraries. Need to figure out how to coordinate that w/ Dan's work, so that it doesn't all fall to Dan.
      • Let's align on specifics (e.g. what types of devices to go after)
    • Bill is working on description of work items for the virtio unification project
      • Someone working on openamp libraries, testing it in Zephyr
      • Include back-end implementation
    • In-kernel support would be a different resource, if it gets resourced. TBD.
  • System DT
    • System DT used for OpenAMP parts of Yocto
    • System DT used for splitting things between Zephyr, baremetal, Linux, etc. Some parts here could be simplified.
      • Bruce: Simplification & make it more useful in not too distant future. Likely to complete by end of Q2
    • DT comparison & verification will be used to test the further Yocto integration
      • Currently adding functionality to map the address ranges, which is framework to get all that info & then it can be used for comparisons & verification
      • Think building blocks will be there & put into sample assists
      • TBD what interest will drive specific implementations
  • CI
    • Want something up & operational by end of Q2
    • Test coverage TBD, will evolve
  • Documentation
    • Before we make April release, Bill hopes to work on automation.
    • Would be good to sync release of doc & lib for 2023.04.
    • Markup in some of the docs was not ideal. Could fix it up to be more consistent, then the API reference guide could be more accurate. Would like to see this happen for April release.
      • Will require touching a lot of files in OpenAMP directory & decide on style on where to place (e.g. only in header files) -> The maintainers will have to decide when they want to accept it.
      • Tammy will see if can get some time before April to work on docs
      • Bill to put on agenda for RP call in 2 weeks to discuss fixing up of API reference guide (requires touching a lot of files)
  • Nishanth: Hari & I looking at Beagle AI64. TBD if there is an intersection point. A72, C7, C6, R5 heterogeneous system. Considering another low-cost board that is simpler.
    • Bill: R5 are easiest target for demo. Bringing in DSPs pulls in proprietary toolchain & RTOS support.
    • Nishanth: Looking at Zephyr for R5. Bit early from demo perspective to step in.
    • Bill: Some of the demos just need R5, GICv2, GICv3, UART, which basic support is there for.
  • Nathalie to reach out to NXP to figure out which calls they want to participate in
  • Nishanth: Are we involved in any Google Summer of Code projects? Starting conversation wrt Beagle.
    • Bill: Getting Zephyr ported to AI64 on R5 might be too small. Maybe need some stretch goals.
    • Nishanth: Looking at some other heterogeneous type projects.
    • Bill: We haven't done that before, but can consider for 2024.
    • Nishanth: We started planning for it in January. Early Feb is deadline for foundations to present their proposals. Then project acceptance deadline is coming up in a few weeks.
    • Nathalie: Put in calendar reminders for Google Summer of Code consideration

2023-02-08

Attended

  • Bill, Tomas, Hari, Dan, Tammy, Tanmay, Nathalie

Agenda

  • Linaro Connect CFP is March 1, so we should sketch BOF / demo proposal outline this call & finalize in our next call
  • Does the date for next TSC make sense? Reasoning was to be able to discuss Virtio proposal after Linaro had a chance to discuss internally. Also, Arnaud OOO on that date (but then Loic not available later in the poll, so would have to push out several weeks)
  • Tanmay: zephyr ipm driver for zynqmp platform. First draft is here: https://github.com/TanmayShah-xilinx/zephyr-openamp-staging/commit/064807297f332f9cd9f9dfb7b5a795c7170ea66a
  • Individual updates

Decisions/conclusions

  • Let's keep the TSC meeting date as-is
  • Tanmay can create the pull request and further discussion can happen there
  • Let's try to make an ongoing roadmap - quarter by quarter targets

Action items

  • Everyone: For next call: What does everyone want to get done in the next quarter? Can refer to Dec webinar future work slides to seed your thinking.
  • Bill will start a BOF proposal slide deck w/ title & exec summary and send out for review later this week
  • Bill will send an email to the board list asking for any objections for the expenditure for Docker, readthedocs, and GitHub upgrade
  • Nathalie: Invite Stefano to TSC give an update on System DT, Bruce as back-up
  • Tanmay: Create pull request RFC for Zephyr IPM driver for ZynqMP with overlay for default UART change

Notes

  • Linaro Connect CFP BOF
    • Title & Description should be pretty easy
    • There is a place to drop slides - maybe PDF outline of what we're planning
    • List of co-presenters: Not huge list, but a couple names: Tomas, Bill, Arnaud?, Dan?
    • Bill will start a BOF proposal slide deck w/ title & exec summary and send out for review later this week
  • TSC date
    • Some internal discussions at Linaro have happened
    • Bill updated the presentation to v1.1 w/ more automotive context
    • Don't think resourcing will sort out in Feb
    • Mathieu can commit some time to review, would like to do more but not sure if that would be possible
    • RTOS execution resource in Zephyr context needs to be worked out
    • While Arnaud is not available, Loic is the voting member from ST and he responded as available on that date
    • Let's go ahead with the TSC date
    • Nathalie: Invite Stefano to TSC give an update on System DT, Bruce as back-up
  • Tanmay: Zephyr ipm driver
    • Trying to get system reference ZynqMP platform example
    • Found this driver was missing. Created basic version
    • Showed demo running
    • Printing physical data buffer directly
    • App code: Works fine when compiled for RPU0. When compile for RPU1, firmware on RPU1 is crashing when call into Zephyr library. Think some special linking is needed for RPU1 b/c code should not be accessing same memory region, need to figure out.
    • Will create pull request for code as-is to openamp-staging. Do we need to wait for RPU1 issue to be resolved?
    • Bill: Suggest to create the pull request so it's easy to find the work, mark as RFC.
    • Dan: Check the MPU if you can access that memory. I had to move some of my text sections somewhere else & enlarge size of area that RPU able to access. Default is 64MB & rest is protected. Not sure what RPU1 address is…
      • Dan: Do you have timer support, k_sleep?
      • Tanmay: Yes
      • Dan: Test if k_sleep works. Could try busy wait version.
      • Tanmay: Tried replacing w/ busy loop. Still didn't get ipm_callback - doesn't seem to be registered w/ driver. RPU can ping APU but callback not working for RPU1.
      • Dan: Gut feeling is that it doesn't seem like memory access issue
      • Hari: In same cluster?
      • Tanmay: Yes. Saw K3 R5. Is there Zephyr?
      • Hari: There is interest, but not supported w/ RPMsg yet.
      • Tanmay: Think this will work for Dan b/c have callback for RPU0
    • Tanmay: Where to create PR against?
      • Dan: Main of Zephyr, ideally upstream Zephyr.
    • Bill: Can't change the default UART for upstream Zephyr. Would have to create overlay.
      • Tanmay: Create overlay for default UART change.
    • Tanmay: Should be OK for lockstep mode b/c don't use 2 RPUs
    • Bill: Linaro has an engineer working to create memory map for R5, which will help this a lot. Think the IPI stuff here is good.
    • Tanmay: Made change in DTS for zynqmp-ipi, based on Linux DT bindings - not sure if should have these or leave it out of this patch. Ideally this would be generated from System DT.
      • Bill: System DT won't be upstream in near term, so need a solution before then.
      • Tanmay: to create the pull request & we can discuss there
  • Bill update: Fixed the openamp GitHub billing ($5/mo). Looking to get Docker & readthedocs more official status
    • Bill will send an email to the board list asking for any objections for the expenditure for Docker, readthedocs, and GitHub upgrade
  • Tomas: December demo had some work that was rushed to make it work (e.g. DT + Yocto). Do we have plan for next step for demo & list of what to fix up?
    • Bill:
      • Not yet. Good idea to start doing that.
      • Presentation has next steps, so we can continue along those lines.
      • Would be great to get TI & NXP in the next demo.
    • Tomas: Sometimes good to set a date and get ppl to sign up to shoot for that, so we have a roadmap that we can try to resource.
    • Bill: Instead of big bang demo, let's shoot for continuous roadmap. Even goals per quarter would be appropriate.
    • For next call: What does everyone want to get done in the next quarter? Can refer to Dec webinar future work slides to seed your thinking.

2023-01-25

Attended

  • Dan, Tanmay, Tammy, Nathalie, Hari, Arnaud, Bill

Agenda

  • Welcome Hari & what is System Reference working group doing?
  • Who's going to Linaro Connect? Possibility of Tue afternoon/evening F2F for OpenAMP?
  • Demo/BOF at Linaro Connect?
  • Which Discord to use?
  • HPP plans for 2023
  • GitHub, Docker, Readthedocs
  • Posting materials from Dec webinar

Decisions/conclusions

  • Move over to Linaro server OpenAMP community Discord

Action items

  • Hari will check with Praneeth if could get travel budget
  • Bill will ask Linaro Events if the static link will generate stats or if we only track users landing on the resource page
  • Bill will ask Linaro Events if they will allow us to post the video on OpenAMP YouTube channel so that we can add a TOC
  • Nathalie to check the membership contract to see if assignees are required to attend Linaro Connect.
  • Nathalie to increase text that is hyperlinked to make it easier to see & explain how to download the slides from the resource page

Notes

  • Welcome Hari
    • TI for 15 yrs, different role in pre-silicon development
    • Back in remoteproc/RPMsg team, will work on upstreaming
  • What is System Reference working group doing?
    • Examples to run on different vendor platforms w/o vendor toolchain/SDK
    • Using OpenAMP library
    • Trying to use upstream kernel, Zephyr as lead RTOS
  • Maybe of interest to TI: Could show both TI & OpenAMP RPMsg implementation so customers have a path to intersect
  • Who's going to Linaro Connect?
    • Bill (will be around Tuesday), Arnaud (if can resolve conflict), Nathalie & Tomas (might be tied up in member meetings)
    • Tammy: If paper gets accepted
    • Dan: Think it would be a good opportunity to meet F2F & will try to convince management
    • Tanmay: Unknown
      • Nathalie to check the membership contract to see if assignees are required to attend Linaro Connect.
    • Hari will check with Praneeth if could get travel budget
    • TBD if there will be demo session on Connect schedule. If so, not the usual full afternoon on last day. Likely to be different day ~1.5h if it happens.
  • Arnaud: Should we plan for something at Connect if there are demos?
    • Bill: Yes, something that would fit into a lightning talk (~10 min with ~1-2 min demo) and we may propose to do a BOF that starts with the lightning talk then open up for Q/A/discussion.
    • Nathalie: Believe proposals are due March 1
  • Should we keep private Discord organized by Arnaud or use Linaro OpenAMP Discord? Doesn't make sense to keep 2 servers.
    • Arnaud: If we need private discussion, we can always spin up a private thread or email. Prefer to move to the public chat.
    • Bill: We have openamp-system, documentation, general. In Linaro, we just have openamp-community. We could create openamp-dev, openamp-documentation, etc. on Linaro server if we want.
    • The link for joining the OpenAMP community Discord on Linaro server is https://discord.gg/8quFQBWq42
  • Bill: HPP for 2023
    • Finish up leftovers from last year
    • We wanted to create generic reference platform in QEMU, which could be interesting but unclear if we would get help with that. TBD if will keep that task.
    • Virtio unification project that was shared at Linaro TSC & will present to LEDGE next week.
    • Will present HPP roadmap once it is more firm
  • Bill: GitHub, Docker, Readthedocs fees
    • Dec demo was using Bill's personal GitHub for Docker b/c using large file extension. Requires $5/mo to get the extension. Would like to move that over to OpenAMP billing - working on figuring out how to charge it to the project via Linaro.
    • Updated GitHub billing contact from Ed to Bill
    • OpenAMP Docker account is free account run by Bill. For redundancy, may be better to switch over to a team account to have other owners, which requires upgrade to team tier. Will look at this more once we figure out the GitHub billing.
    • Linaro vs. OpenAMP team in DockerHub: Prefer to have the Docker download path to have OpenAMP branding, so rather keep it to OpenAMP project instead of all Linaro community projects
    • Bill will look into moving readthedocs from personal account to OpenAMP project
  • Nathalie: Blog post on system reference presentation
    • Access to PDF - can it be downloaded directly from Linaro? Yes
    • Nathalie to increase text that is hyperlinked to make it easier to see & explain how to download the slides from the resource page
  • System Reference webinar video
    • YouTube could allow us to put in a TOC or we could split up into multiple videos for each section and post those
    • Bill will ask Linaro Events if they will allow us to post the video on OpenAMP YouTube channel so that we can add a TOC

2023-01-18

Attended

  • Arnaud, Nathalie, Tanmay, Dan

Agenda

  • Nathalie: Scheduling 2023 meeting series
  • All: Discuss brainstorm list on what makes sense to work on next

Decisions/conclusions

  • Let's start the meeting series next week, 1hr slot at the usual time

Action items

  • (DONE) Dan to send Tanmay link about mailbox
  • Tanmay to share link to Xilinx GitHub for FreeRTOS on R5 example

Notes

  • Scheduling 2023 meeting series
    • Dan's conflict: If we start next week & go on 2 week cadence, it should be fine
    • Works for Arnaud & Tanmay
  • Discuss brainstorm list on what makes sense to work on next
    • Added Tanmay's goal to the brainstorm list Google Doc for making Zephyr demo work on AMD Xilinx platform
      • Dan:
        • https://github.com/OpenAMP/zephyr-openamp-staging/blob/virtio-exp/samples/virtio/hvl_net_rng_reloc/src/xlnx_ipi.c
        • https://github.com/danmilea/hypervisorless_virtio_zcu102/tree/main/zephyr_r5
    • Arnaud mentioned the virtio convergence proposal. Dan would like to see demo on HW instead of QEMU. Also added notes on this to the brainstorm list Google Doc.
  • Bill presented slides created with ST & AMD Xilinx to Linaro TSC about creating blueline of convergence of virtio remoteproc implementation & virtio generic implementation for virtual machine
    • Related to the work that Dan started, to have something generic that works for both cases
    • Would like virtio working for both
    • With transport layer, Virtio MMIO
    • Also virtio client
    • Specification to add RPMsg
    • Linaro will discuss and get back to us
    • Likely will influence work in System Reference working group
    • Dan: Would like to provide demos that work on HW instead of QEMU
    • Arnaud will have an intern for 6 months to help on this work in March (communication between Linux & Zephyr)
  • Dan: Are there any other options for open source OS to run on R5 instead of Zephyr?
    • Tanmay: FreeRTOS is supported on R5. Provide examples in PetaLinux that builds & runs with FreeRTOS. Available on Xilinx GitHub. Also bare metal, which is in OpenAMP repo.