softeners: implement dfx-mgr softener#159
Draft
artiepoole wants to merge 20 commits intoartie/cargo_publishfrom
Draft
softeners: implement dfx-mgr softener#159artiepoole wants to merge 20 commits intoartie/cargo_publishfrom
artiepoole wants to merge 20 commits intoartie/cargo_publishfrom
Conversation
fbeeb2e to
e5a03cc
Compare
4a1419e to
f95c2a0
Compare
e5a03cc to
d37c8c2
Compare
29903b4 to
5acd412
Compare
9711564 to
663ab46
Compare
d37c8c2 to
7eee048
Compare
811d6ad to
fb79888
Compare
7eee048 to
c9db3af
Compare
c1914f3 to
73f1ff6
Compare
c9db3af to
57b7208
Compare
8a05612 to
b1c8692
Compare
b2b64a8 to
ffce870
Compare
b1c8692 to
c973817
Compare
ffce870 to
b8c948e
Compare
c973817 to
e00bf04
Compare
b8c948e to
b3d3a4a
Compare
e00bf04 to
10316f3
Compare
b3d3a4a to
84a195e
Compare
00943c1 to
07146bc
Compare
fbb2a31 to
ed89cdc
Compare
15a686d to
cdc614a
Compare
ed89cdc to
70df418
Compare
70df418 to
ca57127
Compare
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Add snapcraft configuration for dfx-mgr integration - Add content interface with explicit identifier - Create install and post-refresh hooks for daemon.conf - Add softener_wrapper script for persistent dfx-mgrd monitoring - Temporarily add ubuntu-xilinx PPA (to be removed before merge) This commit sets up the snapcraft infrastructure needed to run dfx-mgr as a backend for FPGA management on supported platforms. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Bump version from 0.1.0 to 0.2.0 - Add initial dfx_mgr dbus method with command string splitting - Add map_error_io_to_fdo helper for Command error handling This version introduces dfx-mgr support as a new softener backend. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Makes FpgadError non-exhaustive to force default match arms, improving forward compatibility for error handling. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Add remove_bitstream method to Platform trait - Make remove_overlay accept Option<slot> for dfx-mgr compatibility - Move firmware path splitting/joining from dbus to platform implementations - Move path utilities to system_io for reuse across platforms - Create XilinxDfxMgrFPGA and XilinxDfxMgrOverlayHandler stubs Major refactoring to push platform-specific logic out of dbus layer and into the platform implementations where it belongs. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Implement basic XilinxDfxMgrFPGA and XilinxDfxMgrOverlayHandler - Add dfx-mgr-client wrapper functions (load, remove, list, etc.) - Add FDT parsing helpers to extract bitstream path from DTBO - Add fdt dependency for device tree parsing - if $SNAP is not defined that's okay just use the non-snap path for dfx-mgr-client This commit provides the core dfx-mgr integration, allowing fpgad to use dfx-mgr as a backend for bitstream loading on supported Xilinx platforms. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Add remove_bitstream subcommand to CLI - Improve display formatting with pretty-print macros - Add corresponding dbus method Enables testing of dfx-mgr bitstream removal functionality. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Add status_message method to Platform trait - Implement platform-specific status formatting - Add TODO comments for overlay status improvements - add binary tests Allows platforms to provide custom status messages. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Add comprehensive documentation for dfx-mgr platform components: - XilinxDfxMgrPlatform, XilinxDfxMgrFPGA, XilinxDfxMgrOverlayHandler - Helper functions and FDT parsing utilities Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Remove unused dfx-mgr wrapper functions (list_uio, list_irbuf, etc.) - Remove required_flags method from OverlayHandler trait - Remove completed TODO comments Cleanup of code that was added during exploration but is not needed. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
- Add FpgadError::Feature variant for missing feature errors - Use cfg macro to provide helpful error when dfx-mgr feature missing - Add check for dfx-mgr-client binary with installation instructions Improves user experience when dfx-mgr features are not available. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Remove unused documentation file that is no longer relevant. Signed-off-by: Artie Poole <stuart.poole@canonical.com>
…er feature gating Signed-off-by: Artie Poole <stuart.poole@canonical.com>
…logic into platform specific code Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
Signed-off-by: Artie Poole <stuart.poole@canonical.com>
97c6507 to
41d4cb0
Compare
02b46e2 to
eb9960b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In order to implement the dfx-mgr softener, a few key details have/had to be ironed out:
how to add softeners as components/how else to do it from the snap side of thingssnapctl list components)how to handlefpgad statuswhen components existget_status_message()dbus method and aplatform.status_message()methodget_overlaysstill ambiguous because it returns the handle from the fs, not useful for dfx-mgr (needs slot)remove platform specific logic from the control/status interface methodswrite_bitstream_direct,apply_overlay,remove_overlayandremove_bitstream(new) return message is platform specific nowdbus.rs, but universal-only helpers moved touniversal_helpers.rsadd cli and dbus interface logic to enabledfx-mgr-client -remove [slot]equivalent functionalitydfx-mgr -load <package>functionalityCLI is updated a bit (get_status_message added, remove bitstream exists, status command changed) - still might have major changes soon.
dfx-mgr's "load_overlay" is currently using
-b ... -o ....and it has to resolve the fliename for-bfrom the file specified by-oand therefore a dtb parser was added to the dependencies.still TODO:
-loadsupport for dfx-mgr