[Buildroot] [RFC v2 08/14] package/hexagonMVM: new package
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Wed Feb 5 11:08:11 UTC 2025
Hello,
On Wed, 18 Dec 2024 21:30:47 -0800
Brian Cain via buildroot <buildroot at buildroot.org> wrote:
> MiniVM is a virtual machine used by the Linux kernel for
> the hexagon architecture.
Is it "MiniVM" or hexagonMVM ? Also, with your definition, I'm really
unclear about what hexagonMVM really is. Is it a VM that runs under
Linux? Or the VM under which Linux runs? Or?
> Signed-off-by: Brian Cain <brian.cain at oss.qualcomm.com>
> ---
> package/Config.in | 1 +
> package/hexagonMVM/Config.in | 8 ++++++++
> package/hexagonMVM/hexagonMVM.hash | 5 +++++
> package/hexagonMVM/hexagonMVM.mk | 27 +++++++++++++++++++++++++++
> 4 files changed, 41 insertions(+)
Package name should be lower-case. Maybe hexagon-mvm.
Please update the DEVELOPERS file in this file.
> diff --git a/package/hexagonMVM/Config.in b/package/hexagonMVM/Config.in
> new file mode 100644
> index 0000000000..b00666188b
> --- /dev/null
> +++ b/package/hexagonMVM/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_HEXAGONMVM
> + bool "Hexagon MiniVM"
> + depends on BR2_hexagon && BR2_TOOLCHAIN_CLANG_AT_LEAST_19_0
BR2_TOOLCHAIN_CLANG_AT_LEAST_19_0 doesn't exist as of this commit, so
you have a patch ordering issue.
> + help
> + Hexagon VM implementation. This virtual machine can be used
> + to boot linux or other operating systems / programs.
Ah so its the VM under which Linux runs?
> +
> + https://github.com/quic/hexagonMVM
> diff --git a/package/hexagonMVM/hexagonMVM.hash b/package/hexagonMVM/hexagonMVM.hash
> new file mode 100644
> index 0000000000..3e1ae8e2b4
> --- /dev/null
> +++ b/package/hexagonMVM/hexagonMVM.hash
> @@ -0,0 +1,5 @@
> +
> +#
Minor: drop those two lines.
> +# Locally computed
> +sha256 e5e3ba941af491cab37ece5db85eb7422db9dd0d13464ea528dbf2c01c24b5f0 LICENSE
> +sha256 5345cd83b18b6b8f44d06a54bd1a518d447c311dc1c3ba7b45ffa16785e66e1b 0.2.0.tar.gz
Tarball first, license file afterwards. The tarball name is not good,
but I'll comment on that later.
> diff --git a/package/hexagonMVM/hexagonMVM.mk b/package/hexagonMVM/hexagonMVM.mk
> new file mode 100644
> index 0000000000..7b3529c14c
> --- /dev/null
> +++ b/package/hexagonMVM/hexagonMVM.mk
> @@ -0,0 +1,27 @@
> +################################################################################
> +#
> +# Hexagon MiniVM
> +#
> +################################################################################
> +
> +HEXAGONMVM_VERSION = 0.2.0
> +HEXAGONMVM_SOURCE = $(HEXAGONMVM_VERSION).tar.gz
Drop this line, it will give the tarball a proper name.
> +HEXAGONMVM_SITE = $(call github,quic,hexagonMVM,v$(HEXAGONMVM_VERSION))
> +
> +HEXAGONMVM_LICENSE = BSD-3-Clause
> +HEXAGONMVM_LICENSE_FILES = LICENSE
> +
> +HEXAGONMVM_DEPENDENCIES =
If there are no dependencies, just keep it empty.
> +HEXAGONMVM_INSTALL_IMAGES = YES
> +
> +HEXAGONMVM_CFLAGS=-fno-pie -fno-pic
Spaces around = sign. Why aren't those flags in the package
makefile/build-system already?
> +define HEXAGONMVM_BUILD_CMDS
> + $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(HEXAGONMVM_CFLAGS)" -C $(@D) minivm
> +endef
> +
> +define HEXAGONMVM_INSTALL_IMAGES_CMDS
> + $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(HEXAGONMVM_CFLAGS)" bindir=$(BINARIES_DIR) -C $(@D) install
> +endef
> +
> +$(eval $(generic-package))
Thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
More information about the buildroot
mailing list