add support for tar flashable idle/startup (sub)kernels #279

Merged
sb10q merged 1 commits from mwojcik/artiq-zynq:tarred_subkernels into master 2023-11-13 18:15:28 +08:00
Owner

This PR adds support for idle/startup kernels in .TAR format. It is basically the same as on ARTIQ, although idle kernel behavior is of course different.

Requires artiq#2263 to fully run.

The tar-no-std library required a small change from the original 0.1.8 version, that's why it's a fork on my GitHub for now - that probably could be moved to Gitea.

Tested with SoC master and 2.0 satellite.

This PR adds support for idle/startup kernels in .TAR format. It is basically the same as on ARTIQ, although idle kernel behavior is of course different. Requires artiq#2263 to fully run. The ``tar-no-std`` library required a small change from the original ``0.1.8`` version, that's why it's a fork on my GitHub for now - that probably could be moved to Gitea. Tested with SoC master and 2.0 satellite.
Owner

What is the purpose of TAR kernels?
Is it the way to run different kernels across master/sats?

What is the purpose of TAR kernels? Is it the way to run different kernels across master/sats?
Author
Owner

What is the purpose of TAR kernels?
Is it the way to run different kernels across master/sats?

Currently, kernels with subkernels can be run only from the PC side, as each subkernel is compiled into a separate binary, then sent through master to appropriate satellite.

So it would be impossible to use them as an idle or startup kernel, as these just take a single ELF file for now.

To help with that we can pack up the main ELF and subkernel ELFs together into a single TAR file and then upload it onto the device - the firmware will unpack it and send the subkernels to appropriate destinations.

> What is the purpose of TAR kernels? > Is it the way to run different kernels across master/sats? Currently, kernels with subkernels can be run only from the PC side, as each subkernel is compiled into a separate binary, then sent through master to appropriate satellite. So it would be impossible to use them as an idle or startup kernel, as these just take a single ELF file for now. To help with that we can pack up the main ELF and subkernel ELFs together into a single TAR file and then upload it onto the device - the firmware will unpack it and send the subkernels to appropriate destinations.
mwojcik force-pushed tarred_subkernels from 5199defaff to 38af2de0c0 2023-11-07 17:30:00 +08:00 Compare
mwojcik force-pushed tarred_subkernels from 38af2de0c0 to b9fd750091 2023-11-09 17:01:01 +08:00 Compare
mwojcik force-pushed tarred_subkernels from b9fd750091 to aebc739c1e 2023-11-13 11:24:26 +08:00 Compare
sb10q merged commit aebc739c1e into master 2023-11-13 18:15:28 +08:00
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/artiq-zynq#279
No description provided.