add riscv64 support

Signed-off-by: Polyos Project <polyos@iscas.ac.cn>
This commit is contained in:
Polyos Project (陈荣)
2023-12-21 13:28:16 +08:00
parent 051a4d3032
commit 39e467913b
4 changed files with 18 additions and 2 deletions
+2
View File
@@ -25,6 +25,8 @@ if (target_cpu == "arm") {
kernel_image = "uImage"
} else if (target_cpu == "arm64") {
kernel_image = "Image"
} else if (target_cpu == "riscv64") {
kernel_image = "Image"
} else if (target_cpu == "x86_64") {
kernel_image = "bzImage"
}
+3
View File
@@ -38,6 +38,9 @@ fi
elif [ "$5" == "arm64" ];then
cp ${2}/kernel/OBJ/${8}/arch/arm64/boot/Image ${3}/Image
elif [ "$5" == "riscv64" ];then
cp ${2}/kernel/OBJ/${8}/arch/riscv/boot/Image ${3}/Image
elif [ "$5" == "x86_64" ];then
cp ${2}/kernel/OBJ/${8}/arch/x86/boot/bzImage ${3}/bzImage
fi
+7 -1
View File
@@ -33,18 +33,24 @@ KERNEL_HOSTCC := $(CLANG_HOST_TOOLCHAIN)/clang
KERNEL_PREBUILT_MAKE := make
CLANG_CC := $(CLANG_HOST_TOOLCHAIN)/clang
KERNEL_CROSS_COMPILE :=
ifeq ($(KERNEL_ARCH), arm)
KERNEL_TARGET_TOOLCHAIN := $(PREBUILTS_GCC_DIR)/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin
KERNEL_TARGET_TOOLCHAIN_PREFIX := $(KERNEL_TARGET_TOOLCHAIN)/arm-linux-gnueabi-
else ifeq ($(KERNEL_ARCH), arm64)
KERNEL_TARGET_TOOLCHAIN := $(PREBUILTS_GCC_DIR)/linux-x86/aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin
KERNEL_TARGET_TOOLCHAIN_PREFIX := $(KERNEL_TARGET_TOOLCHAIN)/aarch64-linux-gnu-
else ifeq ($(KERNEL_ARCH), riscv64)
PATH := $(CLANG_HOST_TOOLCHAIN):$(PATH)
KERNEL_ARCH := riscv
KERNEL_TARGET_TOOLCHAIN_PREFIX :=
KERNEL_CROSS_COMPILE += LLVM=1
KERNEL_CROSS_COMPILE += LLVM_IAS=1
else ifeq ($(KERNEL_ARCH), x86_64)
KERNEL_TARGET_TOOLCHAIN := gcc
KERNEL_TARGET_TOOLCHAIN_PREFIX :=
endif
KERNEL_CROSS_COMPILE :=
ifeq ($(DEVICE_NAME), hispark_phoenix)
KERNEL_CROSS_COMPILE += CONFIG_MSP="y"
endif
+6 -1
View File
@@ -40,7 +40,12 @@ elif [ "$KERNEL_ARCH" == "x86_64" ];then
kernel_image="bzImage"
fi
export KERNEL_IMAGE=${kernel_image}
LINUX_KERNEL_IMAGE_FILE=${LINUX_KERNEL_OBJ_OUT}/arch/${KERNEL_ARCH}/boot/${kernel_image}
if [ "$KERNEL_ARCH" == "riscv64" ];then
LINUX_KERNEL_IMAGE_FILE=${LINUX_KERNEL_OBJ_OUT}/arch/riscv/boot/Image
else
LINUX_KERNEL_IMAGE_FILE=${LINUX_KERNEL_OBJ_OUT}/arch/${KERNEL_ARCH}/boot/${kernel_image}
fi
if [ "$DEVICE_NAME" == "hispark_phoenix" ];then
export SDK_SOURCE_DIR=${OHOS_ROOT_PATH}/device/soc/hisilicon/hi3751v350/sdk_linux/source