3

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);
^

1 Answers1

0

You need to backport functions from older kernel or update those drivers. Cheers

  • I thought the android-msm project maintained a branch of the AOSP (and thereby the kernel) in the android-msm project so that the tags/branches that get built are aligned with the right versions. I'm just getting started with the process so any more insight you can offer is appreciated. – Michael Ngarimu Dec 26 '17 at 17:12
  • Well, not all was supported so You need to update Your drivers to be compatible with 4.4. At last, You can get 4.4 for oppo or something else with msm chipset You are working with. – Ramon-Tomislav Reberšak Jan 14 '18 at 14:07
  • This project has been dead in the water for me without this so thank you. Which drivers do you mean - device drivers within the kernel? Do you have any links or references of how to build Android(-msm) with a different kernel version other than the one that gets pulled by repo? Where to get the correct kernel source if its not part of the android-msm project? And thank you again. – Michael Ngarimu Jan 15 '18 at 20:55
  • Hello, @MichaelNgarimu. Did you find any answers? I'm working on enabling support for msm8994 for newer kernels too. Maybe we can exchange some ideas? My project is being documented here: https://forum.xda-developers.com/android/help/help-building-lineageos-leeco-letv-t3894262/ – Alexandre Schmidt Nov 09 '19 at 21:22
  • @AlexandreSchmidt I did not make any further progress here. – Michael Ngarimu Jun 19 '20 at 07:25