The upshot is I want to run code on the Hexagon DSP.
I've tried building Android-MSM for msm8994-eng (for a Nexus 6P) and msm8998-eng (for Intrinsyc APQ8098) but I get build errors with both.
I'm building on Ubuntu 14.04 with openjdk-8.
Not finding a lot of help in either the project or filing tickets for the board so as a last ditch effort thought I'd ask here.
Anyone with experience building Android-MSM for either msm8994 or msm8998?
The specific build error for msm8998-eng (for Intrinsyc APQ8098) is:
In file included from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/seqlock.h:35:0,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/time.h:5,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/uapi/linux/timex.h:56,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/timex.h:56,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/sched.h:19,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/arch/arm64/include/asm/compat.h:25,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/arch/arm64/include/asm/stat.h:23,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/stat.h:5,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/module.h:10,
from /media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/drivers/soc/qcom/qdsp6v2/apr_tal.c:15:
/media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/drivers/soc/qcom/qdsp6v2/apr_tal.c:290:40: error: 'struct apr_svc_ch_dev' has no member named 'lock'
spin_lock_init(&apr_svc_ch[i][j][k].lock);
^
/media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/include/linux/spinlock.h:99:24: note: in definition of macro 'raw_spin_lock_init'
__raw_spin_lock_init((lock), #lock, &__key); \
^
/media/openq835/OpenQ-835_Android-N_v1.0/OpenQ-835-v1.0/Source_Package/APQ8098_LA.UM.5.8.r1-01900-8x98.0_OpenQ835-v1.0/kernel/msm-4.4/drivers/soc/qcom/qdsp6v2/apr_tal.c:290:5: note: in expansion of macro 'spin_lock_init'
spin_lock_init(&apr_svc_ch[i][j][k].lock);
^
You need to backport functions from older kernel or update those drivers. Cheers