Skip to content
Snippets Groups Projects
Commit fc2f012e authored by Jens Wiklander's avatar Jens Wiklander
Browse files

fvp: generic driver


Build support for generic driver on FVP.

Reviewed-by: default avatarPascal Brand <pascal.brand@linaro.org>
Signed-off-by: default avatarJens Wiklander <jens.wiklander@linaro.org>
parent 23ef2056
No related branches found
No related tags found
No related merge requests found
...@@ -11,7 +11,6 @@ GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt ...@@ -11,7 +11,6 @@ GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
OPTEE_OS_PATH ?= $(ROOT)/optee_os OPTEE_OS_PATH ?= $(ROOT)/optee_os
OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client
OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export
OPTEE_LINUXDRIVER_PATH ?= $(ROOT)/optee_linuxdriver
OPTEE_TEST_PATH ?= $(ROOT)/optee_test OPTEE_TEST_PATH ?= $(ROOT)/optee_test
OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out
...@@ -209,17 +208,6 @@ optee-client-clean-common: ...@@ -209,17 +208,6 @@ optee-client-clean-common:
$(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_CLEAN_COMMON_FLAGS) \ $(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_CLEAN_COMMON_FLAGS) \
clean clean
OPTEE_LINUXDRIVER_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL) \
LOCALVERSION= M=$(OPTEE_LINUXDRIVER_PATH)
optee-linuxdriver-common: linux
$(MAKE) -C $(LINUX_PATH) $(OPTEE_LINUXDRIVER_COMMON_FLAGS) modules
OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS ?= M=$(OPTEE_LINUXDRIVER_PATH)
optee-linuxdriver-clean-common:
$(MAKE) -C $(LINUX_PATH) $(OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS) clean
################################################################################ ################################################################################
# xtest / optee_test # xtest / optee_test
################################################################################ ################################################################################
......
...@@ -27,9 +27,9 @@ endif ...@@ -27,9 +27,9 @@ endif
################################################################################ ################################################################################
# Targets # Targets
################################################################################ ################################################################################
all: arm-tf edk2 linux optee-os optee-client optee-linuxdriver generate-dtb xtest all: arm-tf edk2 linux optee-os optee-client xtest
all-clean: arm-tf-clean busybox-clean edk2-clean optee-os-clean \ all-clean: arm-tf-clean busybox-clean edk2-clean optee-os-clean \
optee-client-clean optee-linuxdriver-clean optee-client-clean
-include toolchain.mk -include toolchain.mk
...@@ -76,7 +76,7 @@ define edk2-call ...@@ -76,7 +76,7 @@ define edk2-call
-f ArmPlatformPkg/Scripts/Makefile EDK2_ARCH=AARCH64 \ -f ArmPlatformPkg/Scripts/Makefile EDK2_ARCH=AARCH64 \
EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \ EDK2_DSC=ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc \
EDK2_TOOLCHAIN=GCC49 EDK2_BUILD=RELEASE \ EDK2_TOOLCHAIN=GCC49 EDK2_BUILD=RELEASE \
EDK2_MACROS="-n 6 -D ARM_FOUNDATION_FVP=1" EDK2_MACROS="-n 6 -D ARM_FOUNDATION_FVP=1 -D ARM_FVP_BOOT_ANDROID_FROM_SEMIHOSTING=1"
endef endef
edk2: edk2-common edk2: edk2-common
...@@ -120,19 +120,6 @@ optee-client: optee-client-common ...@@ -120,19 +120,6 @@ optee-client: optee-client-common
optee-client-clean: optee-client-clean-common optee-client-clean: optee-client-clean-common
OPTEE_LINUXDRIVER_COMMON_FLAGS += ARCH=arm64
optee-linuxdriver: optee-linuxdriver-common
OPTEE_LINUXDRIVER_CLEAN_COMMON_FLAGS += ARCH=arm64
optee-linuxdriver-clean: optee-linuxdriver-clean-common
generate-dtb: linux
$(LINUX_PATH)/scripts/dtc/dtc \
-O dtb \
-o $(FOUNDATION_PATH)/fdt.dtb \
-b 0 \
-i . $(OPTEE_LINUXDRIVER_PATH)/fdts/fvp-foundation-gicv2-psci.dts
################################################################################ ################################################################################
# xtest / optee_test # xtest / optee_test
################################################################################ ################################################################################
...@@ -166,8 +153,7 @@ filelist-tee: ...@@ -166,8 +153,7 @@ filelist-tee:
@echo "# OP-TEE device" >> $(GEN_ROOTFS_FILELIST) @echo "# OP-TEE device" >> $(GEN_ROOTFS_FILELIST)
@echo "dir /lib/modules 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "dir /lib/modules 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "dir /lib/modules/$(call KERNEL_VERSION) 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "dir /lib/modules/$(call KERNEL_VERSION) 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "file /lib/modules/$(call KERNEL_VERSION)/optee.ko $(OPTEE_LINUXDRIVER_PATH)/core/optee.ko 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "file /lib/modules/$(call KERNEL_VERSION)/optee.ko $(LINUX_PATH)/drivers/tee/optee/optee.ko 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "file /lib/modules/$(call KERNEL_VERSION)/optee_armtz.ko $(OPTEE_LINUXDRIVER_PATH)/armtz/optee_armtz.ko 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "# OP-TEE Client" >> $(GEN_ROOTFS_FILELIST) @echo "# OP-TEE Client" >> $(GEN_ROOTFS_FILELIST)
@echo "file /bin/tee-supplicant $(OPTEE_CLIENT_EXPORT)/bin/tee-supplicant 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "file /bin/tee-supplicant $(OPTEE_CLIENT_EXPORT)/bin/tee-supplicant 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "dir $(ROOTFS_LIBPATH) 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "dir $(ROOTFS_LIBPATH) 755 0 0" >> $(GEN_ROOTFS_FILELIST)
...@@ -175,7 +161,7 @@ filelist-tee: ...@@ -175,7 +161,7 @@ filelist-tee:
@echo "slink $(ROOTFS_LIBPATH)/libteec.so.1 libteec.so.1.0 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "slink $(ROOTFS_LIBPATH)/libteec.so.1 libteec.so.1.0 755 0 0" >> $(GEN_ROOTFS_FILELIST)
@echo "slink $(ROOTFS_LIBPATH)/libteec.so libteec.so.1 755 0 0" >> $(GEN_ROOTFS_FILELIST) @echo "slink $(ROOTFS_LIBPATH)/libteec.so libteec.so.1 755 0 0" >> $(GEN_ROOTFS_FILELIST)
update_rootfs: busybox optee-client optee-linuxdriver xtest filelist-tee update_rootfs: busybox optee-client xtest filelist-tee
cat $(GEN_ROOTFS_PATH)/filelist-final.txt $(GEN_ROOTFS_PATH)/filelist-tee.txt > $(GEN_ROOTFS_PATH)/filelist.tmp cat $(GEN_ROOTFS_PATH)/filelist-final.txt $(GEN_ROOTFS_PATH)/filelist-tee.txt > $(GEN_ROOTFS_PATH)/filelist.tmp
cd $(GEN_ROOTFS_PATH); \ cd $(GEN_ROOTFS_PATH); \
$(LINUX_PATH)/usr/gen_init_cpio $(GEN_ROOTFS_PATH)/filelist.tmp | gzip > $(GEN_ROOTFS_PATH)/filesystem.cpio.gz $(LINUX_PATH)/usr/gen_init_cpio $(GEN_ROOTFS_PATH)/filelist.tmp | gzip > $(GEN_ROOTFS_PATH)/filesystem.cpio.gz
...@@ -189,13 +175,14 @@ run: all ...@@ -189,13 +175,14 @@ run: all
$(MAKE) run-only $(MAKE) run-only
run-only: run-only:
@ln -sf $(LINUX_PATH)/arch/arm64/boot/Image $(FOUNDATION_PATH) @ln -sf $(LINUX_PATH)/arch/arm64/boot/Image $(FOUNDATION_PATH)/kernel
@ln -sf $(GEN_ROOTFS_PATH)/filesystem.cpio.gz $(FOUNDATION_PATH) @ln -sf $(GEN_ROOTFS_PATH)/filesystem.cpio.gz $(FOUNDATION_PATH)/ramdisk.img
@ln -sf $(LINUX_PATH)/arch/arm64/boot/dts/arm/foundation-v8.dtb $(FOUNDATION_PATH)/fdt.dtb
@cd $(FOUNDATION_PATH); \ @cd $(FOUNDATION_PATH); \
$(FOUNDATION_PATH)/models/Linux64_GCC-4.7/Foundation_Platform \ $(FOUNDATION_PATH)/models/Linux64_GCC-4.7/Foundation_Platform \
--cores=4 \ --cores=4 \
--secure-memory \ --secure-memory \
--visualization \ --visualization \
--gicv3 \ --gicv3 \
--data="$(ARM_TF_PATH)/build/fvp/release/bl1.bin"@0x0 \ --data="$(ARM_TF_PATH)/build/fvp/debug/bl1.bin"@0x0 \
--data="$(ARM_TF_PATH)/build/fvp/release/fip.bin"@0x8000000 --data="$(ARM_TF_PATH)/build/fvp/debug/fip.bin"@0x8000000
CONFIG_DRM=y CONFIG_TEE=y
CONFIG_OPTEE=y
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment