From a8e33e1ce5fab5e104f1d178de96213112553928 Mon Sep 17 00:00:00 2001 From: maoxiaochuan Date: Fri, 13 Sep 2024 11:16:53 +0800 Subject: [PATCH] Update to 2c60245b2bb 1.drivers/mmc:ls_mmc:Enhance compatibiltiy 2.mmc:support HS200 3.support boot abi2.0 kernel(linux 6.9 have be tested) 4.update set_env.sh 5.some bugs fix --- arch/loongarch/config.mk | 15 ++- arch/loongarch/lib/bootm.c | 93 ++++++++++++++++--- arch/loongarch/lib/spl.c | 4 +- board/loongson/common/Kconfig | 4 + board/loongson/common/bootparam.c | 36 +++++-- board/loongson/common/loongson_efi_systab.c | 13 ++- board/loongson/common/loongson_update_menu.c | 2 +- board/loongson/common/platform.c | 2 + board/loongson/ls2k300/ls2k300.c | 6 ++ common/command.c | 3 +- configs/loongson_2k300_mini_dp_defconfig | 1 + configs/loongson_2k300_pai_defconfig | 1 + drivers/mmc/ls_mmc.c | 5 + drivers/ram/loongson/libmem_config_new_abi.a | Bin 0 -> 245320 bytes drivers/ram/loongson/ls_ddr4.c | 20 ++-- drivers/video/loongson_fb.c | 17 ++-- scripts/Makefile.spl | 6 +- set_env.sh | 71 +++++++------- 18 files changed, 222 insertions(+), 77 deletions(-) create mode 100644 drivers/ram/loongson/libmem_config_new_abi.a diff --git a/arch/loongarch/config.mk b/arch/loongarch/config.mk index 14830572..4aba68b6 100644 --- a/arch/loongarch/config.mk +++ b/arch/loongarch/config.mk @@ -10,10 +10,17 @@ 64bit-bfd := elf64-loongarch ifdef CONFIG_64BIT -PLATFORM_CPPFLAGS += -mabi=lp64 -KBUILD_LDFLAGS += -m $(64bit-emul) -OBJCOPYFLAGS += -O $(64bit-bfd) -CONFIG_STANDALONE_LOAD_ADDR ?= 0x9000000080200000 +ifneq ($(CONFIG_GCC_VERSION), $(firstword $(shell echo "130000 $(CONFIG_GCC_VERSION)" | tr ' ' '\n' | sort -n))) +PLATFORM_CPPFLAGS += $(call cc-option, -mabi-lp64d) +PLATFORM_CPPFLAGS += $(call cc-option, -fpermissive) +PLATFORM_CPPFLAGS += $(call cc-option, -mno-relax) +KBUILD_LDFLAGS += --no-warn-rwx-segments +else +PLATFORM_CPPFLAGS += $(call cc-option, -mabi-lp64) +endif +KBUILD_LDFLAGS += -m $(64bit-emul) +OBJCOPYFLAGS += -O $(64bit-bfd) +CONFIG_STANDALONE_LOAD_ADDR ?= 0x9000000080200000 else PLATFORM_CPPFLAGS += -mabi=lp32 KBUILD_LDFLAGS += -m $(32bit-emul) diff --git a/arch/loongarch/lib/bootm.c b/arch/loongarch/lib/bootm.c index 85a3fd2a..50236efd 100644 --- a/arch/loongarch/lib/bootm.c +++ b/arch/loongarch/lib/bootm.c @@ -14,6 +14,8 @@ #include #include #include +#include +#include #if defined(CONFIG_LOONGSON_BOOT_FIXUP) extern void *build_boot_param(void); @@ -28,6 +30,9 @@ static int linux_argc; static char **linux_argv; static char *linux_argp; +// 新的传参规范里面无需把 command line 拆开成一个一个 直接字符串传进去就好 +static char *linux_command_line; + static char **linux_env; static char *linux_env_p; static int linux_env_idx; @@ -256,13 +261,52 @@ static void boot_prep_linux(bootm_headers_t *images) } } +/* + * 判断使用哪种传参方式 + * 0 代表旧的传参 + * 1 代表新的传参 + */ +static int judge_boot_param_type(bootm_headers_t *images) +{ + char* kernel_type; + kernel_type = image_get_name(images->legacy_hdr_os); + + if (!strncmp(kernel_type, "Linux-5", 7)) + return 0; + else if (!strncmp(kernel_type, "Linux-4", 7)) + return 0; + + return 1; +} + +static const char* boot_smbios_type2_board_name(void) +{ + struct udevice *dev; + ofnode parent_node, node; + + const char* board_name = NULL; + uclass_first_device(UCLASS_SYSINFO, &dev); + if (dev) { + parent_node = dev_read_subnode(dev, "smbios"); + if (!ofnode_valid(parent_node)) + return NULL; + + node = ofnode_find_subnode(parent_node, "baseboard"); + if (!ofnode_valid(node)) + return NULL; + + board_name = ofnode_read_string(node, "product"); + } + return board_name; +} + static void boot_jump_linux(bootm_headers_t *images) { typedef void __noreturn (*kernel_entry_t)(int, ulong, ulong, ulong); kernel_entry_t kernel = (kernel_entry_t)map_to_sysmem((void*)images->ep); #if defined(CONFIG_LOONGSON_BOOT_FIXUP) void *fw_arg2 = NULL, *fw_arg3 = NULL; - void *fdt = NULL, *bootparam = NULL; + void *bootparam = NULL; #endif debug("## Transferring control to Linux (at address %p) ...\n", kernel); @@ -277,21 +321,44 @@ static void boot_jump_linux(bootm_headers_t *images) #endif #if defined(CONFIG_LOONGSON_BOOT_FIXUP) - fdt = env_get("fdt_addr"); - if (fdt) { - fdt = (void *)simple_strtoul(fdt, NULL, 16); - if (fdt_check_header(fdt)) { - printf("Warning: invalid device tree. Used linux default dtb\n"); - fdt = NULL; + bootparam = build_boot_param(); + if (judge_boot_param_type(images)) { + int i; + const char* board_name; + // 见于 龙芯CPU统一系统架构规范(LA架构嵌入式系列).pdf 的 4.1 传参约定 一节 + fw_arg2 = (void*)(*(unsigned long long *)(bootparam + 8)); + board_name = boot_smbios_type2_board_name(); + + // 新的传参规范里面无需把 command line 拆开成一个一个 直接字符串传进去就好 + // 下标 0 的元素必定为 NULL 无视即可 + linux_command_line = (char*)calloc(256, sizeof(char)); + sprintf(linux_command_line, "%s", linux_argv[1]); + for (i = 2; i < linux_argc; ++i) { + sprintf(linux_command_line, "%s %s", linux_command_line, linux_argv[i]); } + // 把要匹配的板卡名字放到 command line 里面 + sprintf(linux_command_line, "%s bp_start=0x%.llx", linux_command_line, (unsigned long long)bootparam); + if (board_name) + sprintf(linux_command_line, "%s board_name=%s", linux_command_line, board_name); + + kernel(0, (ulong)linux_command_line, (ulong)fw_arg2, (ulong)fw_arg3); + } else { + void *fdt = NULL; + fdt = env_get("fdt_addr"); + if (fdt) { + fdt = (void *)simple_strtoul(fdt, NULL, 16); + if (fdt_check_header(fdt)) { + printf("Warning: invalid device tree. Used linux default dtb\n"); + fdt = NULL; + } + } + + fw_arg2 = bootparam; + fw_arg3 = fdt; + + kernel(linux_argc, (ulong)linux_argv, (ulong)fw_arg2, (ulong)fw_arg3); } - bootparam = build_boot_param(); - fw_arg2 = bootparam; - fw_arg3 = fdt; - - kernel(linux_argc, (ulong)linux_argv, (ulong)fw_arg2, - (ulong)fw_arg3); #else if (images->ft_len) { kernel(-2, (ulong)images->ft_addr, 0, 0); diff --git a/arch/loongarch/lib/spl.c b/arch/loongarch/lib/spl.c index 832dcda9..1e09c20b 100644 --- a/arch/loongarch/lib/spl.c +++ b/arch/loongarch/lib/spl.c @@ -55,14 +55,14 @@ void __noreturn board_init_f(ulong dummy) ulong new_sp; #ifdef DBG_ASM - printstr("Enter board_init_f...\r\n"); + printf("Enter board_init_f...\r\n"); #endif spl_mach_init(); ret = spl_early_init(); if (ret) { debug("spl_early_init() failed: %d\n", ret); #ifdef DBG_ASM - printstr("spl_early_init() failed.\r\n"); + printf("spl_early_init() failed.\r\n"); #endif hang(); } diff --git a/board/loongson/common/Kconfig b/board/loongson/common/Kconfig index 1f09b532..192646a7 100644 --- a/board/loongson/common/Kconfig +++ b/board/loongson/common/Kconfig @@ -60,4 +60,8 @@ config LOONGSON_BOARD_MMC_FS default n select CMD_UNZIP +config LOONGSON_MMC_HIGH_PERFORMANCE + bool "Change MMC-PAD to 0x7, will support HS200 mode" + default n + endmenu diff --git a/board/loongson/common/bootparam.c b/board/loongson/common/bootparam.c index fbfbb585..5c48dfa6 100644 --- a/board/loongson/common/bootparam.c +++ b/board/loongson/common/bootparam.c @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -19,9 +20,10 @@ #if defined(BOOT_PARAMS_BPI) -#ifdef ACPI_SUPPORT -const efi_guid_t smbios_guid = SMBIOS_TABLE_GUID; -#endif +// 无需一定要有 ACPI +// #ifdef ACPI_SUPPORT +// const efi_guid_t smbios_guid = SMBIOS_TABLE_GUID; +// #endif extern struct efi_system_table systab; extern efi_status_t efi_init_systab(void); @@ -134,13 +136,16 @@ u64 init_vbios(struct boot_params *bp, u64 offset) void loongson_smbios_init(void) { + const efi_guid_t smbios_guid = SMBIOS_TABLE_GUID; + write_smbios_table((ulong)SMBIOS_PHYSICAL_ADDRESS); -#ifdef ACPI_SUPPORT + // 无需一定要有 ACPI +// #ifdef ACPI_SUPPORT /* And expose them to our EFI payload */ - return efi_install_configuration_table(&smbios_guid, + efi_install_configuration_table(&smbios_guid, (void *)SMBIOS_PHYSICAL_ADDRESS); -#endif +// #endif } #ifdef ACPI_SUPPORT @@ -156,6 +161,24 @@ void loongson_acpi_init(void) } #endif +void loongson_fdt_init(void) +{ + // 新的传参规范里面 可以把 fdt 放在 efi table 里面 + const efi_guid_t fdt_guid = EFI_FDT_GUID; + void* fdt = (void*)env_get("fdt_addr"); + if (fdt) { + fdt = (void *)simple_strtoul(fdt, NULL, 16); + if (fdt_check_header(fdt)) { + printf("Warning: invalid device tree. Used linux default dtb\n"); + fdt = NULL; + } + } + + if (fdt) + efi_install_configuration_table(&fdt_guid, + (void *)fdt); +} + int init_boot_param(struct boot_params *bp) { u64 __maybe_unused tab_offset = sizeof(struct boot_params); @@ -184,6 +207,7 @@ int init_boot_param(struct boot_params *bp) #ifdef ACPI_SUPPORT loongson_acpi_init(); #endif + loongson_fdt_init(); return 0; } diff --git a/board/loongson/common/loongson_efi_systab.c b/board/loongson/common/loongson_efi_systab.c index c2951487..9cc084e2 100644 --- a/board/loongson/common/loongson_efi_systab.c +++ b/board/loongson/common/loongson_efi_systab.c @@ -19,6 +19,9 @@ enum efi_table_id { MAX_EFI_TABLES, }; +// 给16个efi table(不够可以加) 目前就 FDT SMBIOS ACPI +struct efi_configuration_table efi_tables[16]; + static struct efi_boot_services efi_boot_services = { .hdr = { .signature = EFI_BOOT_SERVICES_SIGNATURE, @@ -37,6 +40,14 @@ struct efi_runtime_services efi_runtime_services = { static u16 firmware_vendor[] = L"LoongSon"; +/* + * 由于 EFI 在 uboot 里面只有 x86 做了完善 + * 所以 这些 efi 的 table 由此处自行实现 + * 然后由于 tables 这个变量是需要手动赋值的 + * 以前的 NULL 是会导致写入崩溃的 + * 所以自行创建 efi_tables + */ + struct efi_system_table systab = { .hdr = { .signature = EFI_SYSTEM_TABLE_SIGNATURE, @@ -47,7 +58,7 @@ struct efi_system_table systab = { .fw_revision = FW_VERSION << 16 | FW_PATCHLEVEL << 8, .runtime = 0, .nr_tables = 0, - .tables = NULL, + .tables = efi_tables, }; /** diff --git a/board/loongson/common/loongson_update_menu.c b/board/loongson/common/loongson_update_menu.c index e67033b1..e2ff28de 100644 --- a/board/loongson/common/loongson_update_menu.c +++ b/board/loongson/common/loongson_update_menu.c @@ -87,7 +87,7 @@ static char *updatemenu_dtb[] = { "Update DTB (dtb.bin) to spi flash (by mmc)=loongson_update mmc dtb\0", #endif "Update DTB (dtb.bin) to spi flash (by tftp)=loongson_update tftp dtb\0", - "Clean DTB parts=sf probe;sf erase dtb 0x10000\0", + "Clean DTB parts=mtd erase dtb\0", NULL }; diff --git a/board/loongson/common/platform.c b/board/loongson/common/platform.c index 92275fca..a03b3071 100644 --- a/board/loongson/common/platform.c +++ b/board/loongson/common/platform.c @@ -609,6 +609,8 @@ void abort_key_handle_custom(int abort) abort_key_try_update_uboot_then_install_system, }; + mdelay(2000); + if (abort < 0 || abort >= sizeof(func_set) / sizeof(abort_key_handle_func)) return; ret = func_set[abort](); diff --git a/board/loongson/ls2k300/ls2k300.c b/board/loongson/ls2k300/ls2k300.c index 94733b79..fa0769b8 100644 --- a/board/loongson/ls2k300/ls2k300.c +++ b/board/loongson/ls2k300/ls2k300.c @@ -81,7 +81,13 @@ static void dev_fixup(void) //enhance the io driving force val = readl(LS_GENERAL_CFG4); +// MMC 高驱动力下可到 hs200 +#ifdef CONFIG_LOONGSON_MMC_HIGH_PERFORMANCE + val |= (0x3 << PAD_CTRL_DVO) | (0x3 << PAD_CTRL_GMAC) | (0x3 << PAD_CTRL_USB) + | (0x7 << PAD_CTRL_EMMC) | (0x7 << PAD_CTRL_SDIO); +#else val |= (0x3 << PAD_CTRL_DVO) | (0x3 << PAD_CTRL_GMAC) | (0x3 << PAD_CTRL_USB); +#endif writel(val, LS_GENERAL_CFG4); // All UARTs in 2 wire mode diff --git a/common/command.c b/common/command.c index 41c91c6d..93690f77 100644 --- a/common/command.c +++ b/common/command.c @@ -583,7 +583,8 @@ static int cmd_call(struct cmd_tbl *cmdtp, int flag, int argc, return result; } -enum command_ret_t cmd_process(int flag, int argc, char *const argv[], +// enum command_ret_t +int cmd_process(int flag, int argc, char *const argv[], int *repeatable, ulong *ticks) { enum command_ret_t rc = CMD_RET_SUCCESS; diff --git a/configs/loongson_2k300_mini_dp_defconfig b/configs/loongson_2k300_mini_dp_defconfig index 6992fa76..515b9762 100644 --- a/configs/loongson_2k300_mini_dp_defconfig +++ b/configs/loongson_2k300_mini_dp_defconfig @@ -26,6 +26,7 @@ CONFIG_CPU_1000MHZ=y CONFIG_LOONGSON_RECOVER=y CONFIG_LOONGSON_GENERAL_LOAD=y CONFIG_LOONGSON_BOARD_MMC_FS=y +CONFIG_LOONGSON_MMC_HIGH_PERFORMANCE=y CONFIG_SPL_PAYLOAD="u-boot.img" CONFIG_PHYS_64BIT=y CONFIG_SYS_LOAD_ADDR=0x9000000003000000 diff --git a/configs/loongson_2k300_pai_defconfig b/configs/loongson_2k300_pai_defconfig index ddf97527..c531ffb1 100644 --- a/configs/loongson_2k300_pai_defconfig +++ b/configs/loongson_2k300_pai_defconfig @@ -26,6 +26,7 @@ CONFIG_CPU_1000MHZ=y CONFIG_LOONGSON_RECOVER=y CONFIG_LOONGSON_GENERAL_LOAD=y CONFIG_LOONGSON_BOARD_MMC_FS=y +CONFIG_LOONGSON_MMC_HIGH_PERFORMANCE=y CONFIG_SPL_PAYLOAD="u-boot.img" CONFIG_PHYS_64BIT=y CONFIG_SYS_LOAD_ADDR=0x9000000003000000 diff --git a/drivers/mmc/ls_mmc.c b/drivers/mmc/ls_mmc.c index a3c3a1dc..503ae5d8 100644 --- a/drivers/mmc/ls_mmc.c +++ b/drivers/mmc/ls_mmc.c @@ -290,6 +290,10 @@ static int sdio_send_cmd(struct udevice *dev, struct mmc_cmd *cmd, struct mmc_da sdio_writel(host, SDICMDARG, cmd->cmdarg); sdio_writel(host, SDICMDCON, SDIO_MAKE_CMD(cmd_index, flag)); + // 部分EMMC芯片需要延迟 + // 否则指令发送频率一高会有数据传输问题 + udelay(1); + while ((cmd_fin == 0) && timeout--) { sdiintmsk = sdio_readl(host, SDIINTMSK); cmd_fin = SDIO_GET_CMDINT(sdiintmsk); @@ -345,6 +349,7 @@ out: sdio_writel(host, SDIINTMSK, (sdiintmsk & 0x1fe)); sdio_writel(host, SDIINTEN, 0x0); + return err; } diff --git a/drivers/ram/loongson/libmem_config_new_abi.a b/drivers/ram/loongson/libmem_config_new_abi.a new file mode 100644 index 0000000000000000000000000000000000000000..6610616bc5fbecc8f5809f36b5ce6e07217d739e GIT binary patch literal 245320 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 == LS_CONNECTOR_VGA) { for (i = 0; i < ARRAY_SIZE(vgamode); i++) { - if (vgamode[i].hactive == timing->hactive.typ + if (vgamode[i].hactive == timing->hactive.typ && vgamode[i].vactive == timing->vactive.typ) { mode_id = i; break; @@ -251,7 +251,7 @@ static void config_pll(void __iomem *pll_base, struct ls_pll_cfg *pix_pll) writel((out | 1), pll_base); #elif defined(CONFIG_SOC_LS2K1000) - ulong out = ((ulong)(pix_pll->l1_loopc) << 32) | + ulong out = ((ulong)(pix_pll->l1_loopc) << 32) | (pix_pll->l1_frefc << 26) | (1UL << 42) | (0x3 << 10) | (0x1 << 7); writeq(0, pll_base); @@ -419,9 +419,12 @@ static int ls_dc_init(struct ls_video_priv *priv) static int ls_read_edid(struct ls_video_priv *priv, int block, u8 *buf) { + int ret = 0; +#if defined(CONFIG_DM_I2C) int shift = block * EDID_SIZE; struct udevice *chip; - int ret; +#endif + #ifdef CONFIG_VIDEO_BRIDGE if (priv->conn_type == LS_CONNECTOR_BRIDGE) { ret = video_bridge_read_edid(priv->connector, buf, EDID_SIZE); @@ -441,7 +444,7 @@ static int ls_read_edid(struct ls_video_priv *priv, int block, u8 *buf) return dm_i2c_read(chip, shift, buf, EDID_SIZE); } #endif - return 0; + return ret; } extern int ls_fill_display_timing_by_name(struct display_timing* timing, char* name); @@ -658,7 +661,7 @@ static int ls_video_probe(struct udevice *dev) debug("%s uc_plat: base 0x%lx, size 0x%x\n", dev->name, uc_plat->base, uc_plat->size); - + priv->ddc_bus = NULL; priv->connector = NULL; priv->conn_type = LS_CONNECTOR_UNKNOWN; @@ -716,10 +719,10 @@ static int ls_video_probe(struct udevice *dev) panel_enable_backlight(priv->connector); } - debug("%s - connector type: %s, pix fmt: %d, display resolution: %d x %d\n", dev->name, + debug("%s - connector type: %s, pix fmt: %d, display resolution: %d x %d\n", dev->name, priv->conn_type == LS_CONNECTOR_PANEL ? "Panel" : priv->conn_type == LS_CONNECTOR_VGA ? "VGA" : - priv->conn_type == LS_CONNECTOR_HDMI ? "HDMI" : + priv->conn_type == LS_CONNECTOR_HDMI ? "HDMI" : priv->conn_type == LS_CONNECTOR_BRIDGE ? "Bridge" :"Unknown", priv->pix_fmt, priv->timing.hactive.typ, priv->timing.vactive.typ); diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index d1bd9aa8..43ab8dca 100644 --- a/scripts/Makefile.spl +++ b/scripts/Makefile.spl @@ -124,7 +124,11 @@ PLATFORM_LIBS := $(filter-out %/lib.a, $(filter-out -lgcc, $(PLATFORM_LIBS))) $( endif ifdef CONFIG_LOONGSON_DDR4 -PLATFORM_LIBS += -L $(abspath $(srctree)/drivers/ram/loongson/) -lmem_config +ifneq ($(CONFIG_GCC_VERSION), $(firstword $(shell echo "130000 $(CONFIG_GCC_VERSION)" | tr ' ' '\n' | sort -n))) +PLATFORM_LIBS += $(abspath $(srctree)/drivers/ram/loongson/libmem_config_new_abi.a) +else +PLATFORM_LIBS += $(abspath $(srctree)/drivers/ram/loongson/libmem_config.a) +endif endif u-boot-spl-init := $(head-y) diff --git a/set_env.sh b/set_env.sh index ba3030ce..63e11bb9 100755 --- a/set_env.sh +++ b/set_env.sh @@ -1,52 +1,61 @@ #!/bin/bash -# AUTHOR: maoxiaochuan@loongson.cn -# Date: 2021-12-3 -# ORG: Loongson-GD - #set -x -function setup_mips_env() -{ - echo "====>setup env for MIPS..." - CC_PREFIX=/opt/mips64el-linux-gcc-8.x/host - export PATH=$CC_PREFIX/bin:$PATH - export LD_LIBRARY_PATH=$CC_PREFIX/lib:$LD_LIBRARY_PATH - export LD_LIBRARY_PATH=$CC_PREFIX/mips64el-buildroot-linux-gnu/lib64:$LD_LIBRARY_PATH - -# CC_PREFIX=/opt/mips-loongson-gcc8-linux-gnu-2021-06-04 -# export PATH=$CC_PREFIX/bin:$PATH -# export LD_LIBRARY_PATH=$CC_PREFIX/lib:$LD_LIBRARY_PATH - - export ARCH=mips -# export CROSS_COMPILE=mips-linux-gnu- - export CROSS_COMPILE=mips64el-linux- -} +abi1_toolchain_list=("/opt/loongson-gnu-toolchain-x86_64-loongarch64-linux-gnu" \ + "/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.4" \ + "/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1" \ + "/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.2" \ + "/opt/toolchain-loongarch64-linux-gnu-gcc8-host-x86_64-2022-07-18") +abi2_toolchain_list=("/opt/loongarch64-linux-gnu-gcc13.3" \ + "/opt/loongarch64-linux-gnu-gcc14.2") +real_target=0 +real_toolchain="" function setup_loongarch_env() { echo "====>setup env for LoongArch..." -# CC_PREFIX=/opt/toolchain-loongarch64-linux-gnu-gcc8-host-x86_64-2022-07-18 - CC_PREFIX=/opt/loongson-gnu-toolchain-x86_64-loongarch64-linux-gnu - export PATH=$CC_PREFIX/bin:$PATH - export LD_LIBRARY_PATH=$CC_PREFIX/lib:$LD_LIBRARY_PATH - export LD_LIBRARY_PATH=$CC_PREFIX/loongarch64-linux-gnu/lib64:$LD_LIBRARY_PATH + CC_PREFIX=$real_toolchain + export PATH=$PATH:$CC_PREFIX/bin + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CC_PREFIX/lib + export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CC_PREFIX/loongarch64-linux-gnu/lib64 export ARCH=loongarch export CROSS_COMPILE=loongarch64-linux-gnu- } +for i in ${abi1_toolchain_list[*]} +do + real_toolchain=$i + if [ -d $real_toolchain ]; then + real_target=1 + break; + fi +done if [ $# -eq 1 ] ; then - if [ "$1" == "mips" ]; then - setup_mips_env - else - setup_loongarch_env + if [[ "$1" == "abi2" ]]; then + real_target=0 + real_toolchain="" + for i in ${abi2_toolchain_list[*]} + do + real_toolchain=$i + if [ -d $real_toolchain ]; then + real_target=1 + break; + fi + done fi -else - setup_loongarch_env fi +if [ $real_target -eq 0 ]; then + echo "没有找到相关工具链的文件夹" +fi +echo "当前声明的工具链为:" +echo $real_toolchain + +setup_loongarch_env + #set +x