diff mbox series

[v3,1/2] package/microchip-hss-payload-generator: add host package

Message ID 20230712125154.1361000-2-jamie.gibbons@microchip.com
State Accepted
Headers show
Series Add Microchip PolarFire SoC Icicle Kit | expand

Commit Message

Jamie Gibbons July 12, 2023, 12:51 p.m. UTC
The Buildroot icicle kit configuration uses the Hart Software Service's
(HSS) payload generator tool. This tool creates a formatted payload
image for the HSS zero-stage bootloader on PolarFire SoC, given a
configuration file and a set of ELF binaries. The configuration
file is used to map the ELF binaries or binary blobs to the
individual application harts (U54s). Add the HSS payload generator as a
host package to support this.

Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
Reviewed-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
---
 DEVELOPERS                                    |  3 +++
 package/Config.in.host                        |  1 +
 .../Config.in.host                            | 11 ++++++++
 .../microchip-hss-payload-generator.mk        | 25 +++++++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 package/microchip-hss-payload-generator/Config.in.host
 create mode 100644 package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk

Comments

Giulio Benetti July 12, 2023, 1:46 p.m. UTC | #1
On 12/07/23 14:51, Jamie Gibbons via buildroot wrote:
> The Buildroot icicle kit configuration uses the Hart Software Service's
> (HSS) payload generator tool. This tool creates a formatted payload
> image for the HSS zero-stage bootloader on PolarFire SoC, given a
> configuration file and a set of ELF binaries. The configuration
> file is used to map the ELF binaries or binary blobs to the
> individual application harts (U54s). Add the HSS payload generator as a
> host package to support this.
> 
> Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
> Reviewed-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>

Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

For next time remember to report the changes on every patch too, not
only on the cover letter.

Thank you

Best regards
Thomas Petazzoni Aug. 8, 2023, 9:56 p.m. UTC | #2
Hello Jamie,

On Wed, 12 Jul 2023 13:51:53 +0100
Jamie Gibbons via buildroot <buildroot@buildroot.org> wrote:

> The Buildroot icicle kit configuration uses the Hart Software Service's
> (HSS) payload generator tool. This tool creates a formatted payload
> image for the HSS zero-stage bootloader on PolarFire SoC, given a
> configuration file and a set of ELF binaries. The configuration
> file is used to map the ELF binaries or binary blobs to the
> individual application harts (U54s). Add the HSS payload generator as a
> host package to support this.
> 
> Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
> Reviewed-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
> ---
>  DEVELOPERS                                    |  3 +++
>  package/Config.in.host                        |  1 +
>  .../Config.in.host                            | 11 ++++++++
>  .../microchip-hss-payload-generator.mk        | 25 +++++++++++++++++++
>  4 files changed, 40 insertions(+)

This was missing a hash file for the package, which provides the hash
of the tarball and the hash of the license file.

> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION = 2023.06
> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_SITE = $(call github,polarfire-soc,hart-software-services,v$(HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION))
> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT
> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = LICENSE.md

I was initially confused by this, because LICENSE.md also mentions than
the repo contains OpenSBI, which is under BSD-2-Clause. But in fact
this package only builds what's in tools/hss-payload-generator, so the
rest is irrelevant. Therefore, I have changed this to:

+# Some parts of the repository are under different licenses, but we
+# are only building/installing the code in
+# tools/hss-payload-generator/.
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT or GPL-2.0+
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = tools/hss-payload-generator/LICENSE.md

Let me know if you think this is incorrect.

I've applied to our "next" branch with those changes. Thanks!

Thanks,

Thomas
Maier, Brandon L Collins via buildroot Aug. 9, 2023, 12:55 p.m. UTC | #3
Hi Thomas,

On Tue, 2023-08-08 at 23:56 +0200, Thomas Petazzoni wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you
> know the content is safe
> 
> Hello Jamie,
> 
> On Wed, 12 Jul 2023 13:51:53 +0100
> Jamie Gibbons via buildroot <buildroot@buildroot.org> wrote:
> 
> > The Buildroot icicle kit configuration uses the Hart Software
> > Service's
> > (HSS) payload generator tool. This tool creates a formatted payload
> > image for the HSS zero-stage bootloader on PolarFire SoC, given a
> > configuration file and a set of ELF binaries. The configuration
> > file is used to map the ELF binaries or binary blobs to the
> > individual application harts (U54s). Add the HSS payload generator
> > as a
> > host package to support this.
> > 
> > Signed-off-by: Jamie Gibbons <jamie.gibbons@microchip.com>
> > Reviewed-by: Valentina Fernandez
> > <valentina.fernandezalanis@microchip.com>
> > ---
> >  DEVELOPERS                                    |  3 +++
> >  package/Config.in.host                        |  1 +
> >  .../Config.in.host                            | 11 ++++++++
> >  .../microchip-hss-payload-generator.mk        | 25
> > +++++++++++++++++++
> >  4 files changed, 40 insertions(+)
> 
> This was missing a hash file for the package, which provides the hash
> of the tarball and the hash of the license file.

Apologies for the omission, thanks for adding this.
> 
> > +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION = 2023.06
> > +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_SITE = $(call
> > github,polarfire-soc,hart-software-
> > services,v$(HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION))
> > +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT
> > +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = LICENSE.md
> 
> I was initially confused by this, because LICENSE.md also mentions
> than
> the repo contains OpenSBI, which is under BSD-2-Clause. But in fact
> this package only builds what's in tools/hss-payload-generator, so
> the
> rest is irrelevant. Therefore, I have changed this to:
> 
> +# Some parts of the repository are under different licenses, but we
> +# are only building/installing the code in
> +# tools/hss-payload-generator/.
> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT or GPL-2.0+
> +HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = tools/hss-
> payload-generator/LICENSE.md
> 
> Let me know if you think this is incorrect.

Thank you for updating this, it is correct.
> 
> I've applied to our "next" branch with those changes. Thanks!

That's great news. Thanks a million for all your feedback.

Thanks,

Jamie
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 0918e9f721..2f039a2405 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1459,6 +1459,9 @@  F:	package/pangomm/
 F:	package/rpm/
 F:	package/yad/
 
+N:	Jamie Gibbons <jamie.gibbons@microchip.com>
+F:	package/microchip-hss-payload-generator
+
 N:	Jan Heylen <jan.heylen@nokia.com>
 F:	package/opentracing-cpp/
 
diff --git a/package/Config.in.host b/package/Config.in.host
index dcadbfdfc1..42856c09df 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -58,6 +58,7 @@  menu "Host utilities"
 	source "package/mender-artifact/Config.in.host"
 	source "package/meson-tools/Config.in.host"
 	source "package/mfgtools/Config.in.host"
+	source "package/microchip-hss-payload-generator/Config.in.host"
 	source "package/mkpasswd/Config.in.host"
 	source "package/moby-buildkit/Config.in.host"
 	source "package/mosquitto/Config.in.host"
diff --git a/package/microchip-hss-payload-generator/Config.in.host b/package/microchip-hss-payload-generator/Config.in.host
new file mode 100644
index 0000000000..6584692729
--- /dev/null
+++ b/package/microchip-hss-payload-generator/Config.in.host
@@ -0,0 +1,11 @@ 
+config BR2_PACKAGE_HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR
+	bool "host microchip-hss-payload-generator"
+	help
+	  Microchip PolarFire SoC Payload Generator. This tool creates a
+	  formatted payload image for the HSS zero-stage bootloader on
+	  PolarFire SoC, given a configuration file and a set of ELF
+	  binaries. The configuration file is used to map the ELF
+	  binaries or binary blobs to the individual application harts
+	  (U54s).
+
+	  https://github.com/polarfire-soc/hart-software-services.git
diff --git a/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk
new file mode 100644
index 0000000000..df62e121e7
--- /dev/null
+++ b/package/microchip-hss-payload-generator/microchip-hss-payload-generator.mk
@@ -0,0 +1,25 @@ 
+################################################################################
+#
+# microchip-hss-payload-generator
+#
+################################################################################
+
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION = 2023.06
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_SITE = $(call github,polarfire-soc,hart-software-services,v$(HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_VERSION))
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE = MIT
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_LICENSE_FILES = LICENSE.md
+HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_DEPENDENCIES = host-elfutils host-libyaml host-openssl
+
+define HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_BUILD_CMDS
+	$(MAKE) -C $(@D)/tools/hss-payload-generator \
+		HOST_INCLUDES="$(HOST_CPPFLAGS)" \
+		LDFLAGS="$(HOST_LDFLAGS)"
+endef
+
+define HOST_MICROCHIP_HSS_PAYLOAD_GENERATOR_INSTALL_CMDS
+	$(INSTALL) -D -m 755 \
+		$(@D)/tools/hss-payload-generator/hss-payload-generator \
+		$(HOST_DIR)/bin/hss-payload-generator
+endef
+
+$(eval $(host-generic-package))