From 10627280dfc548ceb2d70e4f41ebeb3a4f8acef6 Mon Sep 17 00:00:00 2001 From: "Igor Zalatov (from Citadel PC)" Date: Thu, 7 Oct 2021 19:17:20 +0300 Subject: [PATCH] Add xiongmai-opensdk-xm510 package --- br-ext-chip-xiongmai/Config.in | 1 + .../unknown_unknown_xm510_openipc_defconfig | 1 + br-ext-chip-xiongmai/external.mk | 1 + .../package/xiongmai-opensdk-xm510/Config.in | 6 +++++ .../xiongmai-opensdk-xm510/hisi_gpio.mk | 22 +++++++++++++++++++ .../xiongmai-opensdk-xm510/src/lib/wrapper.c | 17 ++++++++++++++ 6 files changed, 48 insertions(+) create mode 100644 general/package/xiongmai-opensdk-xm510/Config.in create mode 100644 general/package/xiongmai-opensdk-xm510/hisi_gpio.mk create mode 100644 general/package/xiongmai-opensdk-xm510/src/lib/wrapper.c diff --git a/br-ext-chip-xiongmai/Config.in b/br-ext-chip-xiongmai/Config.in index 5bd1ba3c..16da2e59 100644 --- a/br-ext-chip-xiongmai/Config.in +++ b/br-ext-chip-xiongmai/Config.in @@ -19,6 +19,7 @@ source "$BR2_EXTERNAL_XIONGMAI_PATH/package/node-exporter/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/opus-openipc/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/uacme-openipc/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/vtund-openipc/Config.in" +source "$BR2_EXTERNAL_XIONGMAI_PATH/package/xiongmai-opensdk-xm510/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/xiongmai-osdrv-xm510/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/xiongmai-osdrv-xm530/Config.in" source "$BR2_EXTERNAL_XIONGMAI_PATH/package/yaml-cli/Config.in" diff --git a/br-ext-chip-xiongmai/configs/unknown_unknown_xm510_openipc_defconfig b/br-ext-chip-xiongmai/configs/unknown_unknown_xm510_openipc_defconfig index 6dd5c382..a3a59794 100644 --- a/br-ext-chip-xiongmai/configs/unknown_unknown_xm510_openipc_defconfig +++ b/br-ext-chip-xiongmai/configs/unknown_unknown_xm510_openipc_defconfig @@ -76,6 +76,7 @@ BR2_PACKAGE_MOTORS=y # BR2_PACKAGE_SSHPASS is not set BR2_PACKAGE_UACME_OPENIPC=y BR2_PACKAGE_VTUND_OPENIPC=y +BR2_PACKAGE_XIONGMAI_OPENSDK_XM510=y BR2_PACKAGE_XIONGMAI_OSDRV_XM510=y # BR2_PACKAGE_XIONGMAI_OSDRV_XM530 is not set BR2_PACKAGE_YAML_CLI=y diff --git a/br-ext-chip-xiongmai/external.mk b/br-ext-chip-xiongmai/external.mk index 2ee1a888..e92156ee 100644 --- a/br-ext-chip-xiongmai/external.mk +++ b/br-ext-chip-xiongmai/external.mk @@ -19,6 +19,7 @@ include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/node-exporter/node-exporter.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/opus-openipc/opus-openipc.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/uacme-openipc/uacme-openipc.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/vtund-openipc/vtund-openipc.mk +include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/xiongmai-opensdk-xm510/xiongmai-opensdk-xm510.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/xiongmai-osdrv-xm510/xiongmai-osdrv-xm510.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/xiongmai-osdrv-xm530/xiongmai-osdrv-xm530.mk include $(BR2_EXTERNAL_XIONGMAI_PATH)/package/yaml-cli/yaml-cli.mk \ No newline at end of file diff --git a/general/package/xiongmai-opensdk-xm510/Config.in b/general/package/xiongmai-opensdk-xm510/Config.in new file mode 100644 index 00000000..e0b3ed7e --- /dev/null +++ b/general/package/xiongmai-opensdk-xm510/Config.in @@ -0,0 +1,6 @@ +config BR2_PACKAGE_XIONGMAI_OPENSDK_XM510 + bool "xiongmai_opensdk_xm510" + help + Library for running uclibc applications in musl environment + + https://openipc.org diff --git a/general/package/xiongmai-opensdk-xm510/hisi_gpio.mk b/general/package/xiongmai-opensdk-xm510/hisi_gpio.mk new file mode 100644 index 00000000..3b10096e --- /dev/null +++ b/general/package/xiongmai-opensdk-xm510/hisi_gpio.mk @@ -0,0 +1,22 @@ +################################################################################ +# +# xiongmai_opensdk_xm510 +# +################################################################################ + +XIONGMAI_OPENSDK_XM510_LICENSE = MIT +XIONGMAI_OPENSDK_XM510_LICENSE_FILES = LICENSE + +define XIONGMAI_OPENSDK_XM510_EXTRACT_CMDS + cp $(BR2_EXTERNAL_HISILICON_PATH)/package/xiongmai_opensdk_xm510/src/wrapper.c $(@D)/ +endef + +define XIONGMAI_OPENSDK_XM510_BUILD_CMDS + (cd $(@D); $(TARGET_CC) -fPIC -shared -s wrapper.c -o libwrapper.so ) +endef + +define XIONGMAI_OPENSDK_XM510_INSTALL_TARGET_CMDS + install -m 0755 -D $(@D)/libwrapper.so $(TARGET_DIR)/lib/libwrapper.so +endef + +$(eval $(generic-package)) diff --git a/general/package/xiongmai-opensdk-xm510/src/lib/wrapper.c b/general/package/xiongmai-opensdk-xm510/src/lib/wrapper.c new file mode 100644 index 00000000..298c4f53 --- /dev/null +++ b/general/package/xiongmai-opensdk-xm510/src/lib/wrapper.c @@ -0,0 +1,17 @@ +#define _GNU_SOURCE +#include +#include +#include + +int __uClibc_main(int (*main)(int, char **, char **), int argc, char **argv, + int (*init)(int, char **, char **), void (*fini)(void), + void (*rtld_fini)(void), void *stack_end) { + exit(main(argc, argv, environ)); +} + +void *mmap64(void *start, size_t len, int prot, int flags, int fd, + uint64_t off); + +void *xmap(void *start, size_t len, int prot, int flags, int fd, uint32_t off) { + return mmap64(start, len, prot, flags, fd, off); +}