From 22fd9334886105c15586ff239a69171cb6e2d4e7 Mon Sep 17 00:00:00 2001 From: Russell Reynolds <129880470+sosRR@users.noreply.github.com> Date: Tue, 23 Jan 2024 08:58:05 -0600 Subject: [PATCH] initial upload --- ...ndroid.hardware.gatekeeper@1.0-service-qti | Bin 0 -> 15392 bytes ...rdware.keymaster@4.0-strongbox-service-qti | Bin 0 -> 23992 bytes ...android.hardware.keymaster@4.1-service-qti | Bin 0 -> 24056 bytes ...roid.hardware.security.keymint-service-qti | Bin 0 -> 36840 bytes recovery/root/system/bin/qseecomd | Bin 0 -> 28480 bytes recovery/root/system/bin/runatboot.sh | 48 + recovery/root/system/bin/sec_nvm | Bin 0 -> 97216 bytes recovery/root/system/bin/set_permissive.sh | 2 + recovery/root/system/bin/spdaemon | Bin 0 -> 28456 bytes ...dor.qti.hardware.qteeconnector@1.0-service | Bin 0 -> 15704 bytes .../bin/vendor.qti.hardware.vibrator.service | Bin 0 -> 41920 bytes .../system/bin/vendor.qti.spu@1.1-service | Bin 0 -> 86080 bytes .../system/bin/vendor.qti.spu@2.0-service | Bin 0 -> 69560 bytes recovery/root/system/etc/event-log-tags | 507 +++++++ recovery/root/system/etc/recovery.fstab | 50 + recovery/root/system/etc/task_profiles.json | 703 +++++++++ recovery/root/system/etc/twrp.flags | 59 + .../etc/vintf/compatibility_matrix.device.xml | 1299 +++++++++++++++++ recovery/root/system/etc/vintf/manifest.xml | 154 ++ 19 files changed, 2822 insertions(+) create mode 100644 recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti create mode 100644 recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti create mode 100644 recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti create mode 100644 recovery/root/system/bin/android.hardware.security.keymint-service-qti create mode 100644 recovery/root/system/bin/qseecomd create mode 100644 recovery/root/system/bin/runatboot.sh create mode 100644 recovery/root/system/bin/sec_nvm create mode 100644 recovery/root/system/bin/set_permissive.sh create mode 100644 recovery/root/system/bin/spdaemon create mode 100644 recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service create mode 100644 recovery/root/system/bin/vendor.qti.hardware.vibrator.service create mode 100644 recovery/root/system/bin/vendor.qti.spu@1.1-service create mode 100644 recovery/root/system/bin/vendor.qti.spu@2.0-service create mode 100644 recovery/root/system/etc/event-log-tags create mode 100644 recovery/root/system/etc/recovery.fstab create mode 100644 recovery/root/system/etc/task_profiles.json create mode 100644 recovery/root/system/etc/twrp.flags create mode 100644 recovery/root/system/etc/vintf/compatibility_matrix.device.xml create mode 100644 recovery/root/system/etc/vintf/manifest.xml diff --git a/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti b/recovery/root/system/bin/android.hardware.gatekeeper@1.0-service-qti new file mode 100644 index 0000000000000000000000000000000000000000..150a18cdddfbd1c1e53261070a741a96edfaed7c GIT binary patch literal 15392 zcmeHO4RBP|6~4O*Bw&C@KvI!p1Bikp?1n&yRI&*KLP1EA6wpx~Z+Bm^3;Pq^ZunOM zVcH0auArb|i~^F)fJMO}RK|c}i&!f%Kq+?GCF)ERaUcauT9fTLZ|_N-&)u<8XWE(0 z-sJ6f&v))Q=ic+~yKi4|-@3v%GxRzgqher(nIa`e7zKf{jCVObOC@D6eX-r)cIzf7Di+U)>kmKn=IcmZ9H09I{`p4j>$KXq2@XKTHug2g{$KV%2N2B#~ zM-09$2EQi;-vs=v5L;W?W3=xAeuTC$$f+=|qV+Q^27hM^exDK-&bToWgsvOL^e|@( zaP<5jqXV9Pz*J!-fp0X&d4nycaT!Er>yI-<&!z&0Wxc!&E<*#G!)5e=<3PL}4xE8F zH<2rSb;}ke2rj49COAD#KNB9DnvnV3uRLN3FrLD{%OQOBf>va{ntx?;XbC!6Wp6@n|?m62eOBGJIeC1-%=kq&cZ&ih( zRFaoFZPF}vrAu;49vGa{>nSXmJ-5_9K@iO5EUV~q+613pc6usi+2)p-fwVzZ1ivgg z{k~bY!a^i-MVHHK6a8KpnZm--TmgQSBt$%AnFT@ZOR#y}Zm(z79ILsoFv}ze*r64I zOY&6s9fBmwUbzs*;aTBk5FL0B?5<+qlswxUl5J`9jF>9m6fKpcN=eS1Zx&2u^Q@WO zjM-$Dd^Xux30*B@qSY(=89&*APx1>2Be>yAixm=EAv^sNb4zYpNbBhEpcf=Vfzd6--0H?jlK;cYleQ{ASW5%IxWw#hhuv#$eU0<)YK>f<#GNTjh7U ze7x@RR`8nbo_l!BjmRpqa8ARF$3+rKu~7k5&3PU0NfAo!CefD^wa( zJijF>ssk#1AT_tt!4R z1qHmS;&EM}(yrnYh(w$a5imdetC2z^s(AJNKUu}oJroU6RlItguCn?>&%H)pm35qV zxg?jvV$zRAA<>6!m|;p0Ao^{9!P)`80^A5V7&@^V&;)oCuo&` zACSCNUl&m;ejftb0ebWk(bx6Dcz!rsz#9RH$2O0{;RoIn;fvJqMgg}Ej*Xyy2q(() zaSM}%Tej-A^?Ihyvx(dL?MSK{@M5wO_bjL@A&_#f@ngRtalZn-0eJQK04iSM8Hi^f zo`D~gftN-Z&JAbPXVTyZ8CU?9*1VC1bK!T{$DM2R!Oj{MfOY3I+=EWTee`sqjs?c# zv%t^Svq0-!7W{G`>wsnLbiw5Oj!#Fjz$HU^<1M||HuTXouQ~X418eLLatok^RhL{c zq%?NTJKoR?df=5b{Qgl3fJgiTz!J=LPGH7g2dqUd3|Aw zy1;_dQ_i*CX6az;sgj18^!8R5%Qs-tnqcW@(6K{(b)dUZcc%JU({az z`8RDTy1tu5y``fK+Fk;i5RC5z)F0dTc*)p(TS`vqs!QJg={|YW6R*ie=tl+|;dQ!T zIE8hzPGh-Wr0ANy9LkP_Z7lZ+*rh@qQm5s2G>4}Kn+<90gAJCBkYRA+QP8DZ*z5Wv zR)#rEe~4XcfpG?F*vF35>7^5OmNyyPbcskBKSF}x4Z#;Y&=*qH3&BCA;XZyOAw<4`hEfQ%}XXsPJy`Lb%tPgD1-PZjXQb# zf<#t!T^0X}T`W+`&u zK7}19!5E312{~Vc!$Yxe$cLbRdjJ=}JPZQJ1Mv*RGZ4=}JOl9z#4`}j zKs*ES4Ez@|Ai(o~L+!>hwWId5o&5FLHpl!>TRKa;d>o!F;hFrY#C%;K59EB1@p(yk zuE%F`gTB%DZFqZELVi0vOJR4>-{^1QsgW0yufj7rJd+-{b#8t~vbA5ps82tiZZw?3 z1NDlo1aupEblv=X;9rTtKM4FgQTRo`w?yHs!0T`6j@|9Q9QYAY_$9y>MBzQaTchwY z@EfA=%YlC-3cnioccSo*0^bsa-vGQm>HGcv74RdX@SA`yh{A6H-rB>{d5U8^1Mv*R zGZ4=}JOl9z#4`}jKs*ES48$`K&%pn82Ex41D1S(X{Q*ju&o{l1yhP+VwM$teY3dz(@m+>rL@QGD1o zrj#aLp}maFJn)UK$ar^fy^*)4_XRSz41Z%$%1=l(MJmHc<`~&)413(TUfBZ&ItDs7CgFB!L6l_? zM0LF!1mgYDNo#6>=!F~LZ}94t#Z2TSk7JB&xZ`_ zbR!>Td4a->j{6?ld$-s*ds6DUuP^Q`y3qCY*}lh)-(j3TrY<<{>x{l@Yih1NHz<49 zk^YStqf55Ech&oHMd0SBs~4wj-uI8j?aTgV+VJ*?XFj|C_>B%*np_o4Qa!R>zfs-MKSo{%+po zKjoab_T<(F4qrFjyK_l-z4Y)W%bs1_^7^*@M<0E5=aK7wSeY>(cVJ${(}SML`^d0- z=khyiAGs@oRmmIHm{wQN@Km1#e>^zq zy%mE#cyevtQ}2`x-u%dL#%eZa>}I;R^wqFNym?|v##B@P&C2DYdjL}VBg@lZk7tFh z#}Ka&YS%~Q460(zfI6;SWUqZ+ht?@F;oE3QWbbP1lleMF_(S$B8vDDsJ)yBXQlz4d zkKSP{TEu#_!4e=jiARu@u~k2mN7R}aL5$DiLdj7bRVMj z+WGT5D6mgtPxoEIB5tUSPx-TP`vTsM?z@C^-$i@8H&g$~9`-9L=Y`*nnT6j#3CD21 z1k``RDo|jZ`XB4PIOc9L!tMJoV}zm`F~@}@lYvHdblXQ7 zEH-`@>oxH;=E}Zw&W zq4+nz7Uu@p$9fNwpO)_VLw@tY7E?s_^xg^~%`<4C6m9=;1y|eC_d>!Q+>StN-vtVa hO>Gd3{C$jc&H2-aEExzbhxU2d_{rE}jZ!1Be*xS>_OSo} literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti b/recovery/root/system/bin/android.hardware.keymaster@4.0-strongbox-service-qti new file mode 100644 index 0000000000000000000000000000000000000000..dab1d33a8f789e6b7d7fa8af81d43e904adc93a5 GIT binary patch literal 23992 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 RF literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti b/recovery/root/system/bin/android.hardware.keymaster@4.1-service-qti new file mode 100644 index 0000000000000000000000000000000000000000..1ecb1e55e3966dd34d0a71afba494e95b788060b GIT binary patch literal 24056 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 LMjLgBx?A#Jmr} /sys/class/touchscreen/primary/forcereflash +echo novatek_ts-csot-NT36672C-2302240D-605b-genevn.bin > /sys/class/touchscreen/primary/doreflash +echo "Reflashing firmware..." +echo 0 > /sys/class/touchscreen/primary/forcereflash +fi + +is_fastboot=$(getprop init.svc.fastbootd) +if [ "$is_fastboot" != "running" ]; then + mount /vendor_dlkm + insmod /vendor_dlkm/lib/modules/ili9882_mmi.ko + insmod /vendor_dlkm/lib/modules/msm_drm.ko + insmod /vendor_dlkm/lib/modules/mmi_annotate.ko + insmod /vendor_dlkm/lib/modules/mmi_info.ko + insmod /vendor_dlkm/lib/modules/mmi_relay.ko + insmod /vendor_dlkm/lib/modules/mmi_charger.ko + insmod /vendor_dlkm/lib/modules/mmi_sys_temp.ko + insmod /vendor_dlkm/lib/modules/moto_f_mass_storage.ko + insmod /vendor_dlkm/lib/modules/sensors_class.ko + insmod /vendor_dlkm/lib/modules/touchscreen_mmi.ko + insmod /vendor_dlkm/lib/modules/stmicro_mmi.ko + insmod /vendor_dlkm/lib/modules/goodix_brl_mmi.ko + insmod /vendor_dlkm/lib/modules/sx937x_sar.ko + insmod /vendor_dlkm/lib/modules/bm_adsp_ulog.ko + insmod /vendor_dlkm/lib/modules/qti_glink_charger.ko + insmod /vendor_dlkm/lib/modules/qpnp_adaptive_charge.ko + insmod /vendor_dlkm/lib/modules/q6_pdr_dlkm.ko + insmod /vendor_dlkm/lib/modules/q6_notifier_dlkm.ko + insmod /vendor_dlkm/lib/modules/snd_event_dlkm.ko + insmod /vendor_dlkm/lib/modules/gpr_dlkm.ko + insmod /vendor_dlkm/lib/modules/spf_core_dlkm.ko + insmod /vendor_dlkm/lib/modules/adsp_loader_dlkm.ko +fi + +mkdir /firmware +SLOT=$(getprop ro.boot.slot_suffix) +mount /dev/block/bootdevice/by-name/modem$SLOT /firmware -O ro +echo "1" > /proc/sys/kernel/firmware_config/force_sysfs_fallback +echo "1" > /sys/kernel/boot_adsp/boot +exit 0 diff --git a/recovery/root/system/bin/sec_nvm b/recovery/root/system/bin/sec_nvm new file mode 100644 index 0000000000000000000000000000000000000000..49c8545f806a0eb90cc551224f29654b9e54acb2 GIT binary patch literal 97216 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 Yqha+oN046DO%P*V;fhQNZkzu90sdDIk^lez literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/set_permissive.sh b/recovery/root/system/bin/set_permissive.sh new file mode 100644 index 0000000..0e8368f --- /dev/null +++ b/recovery/root/system/bin/set_permissive.sh @@ -0,0 +1,2 @@ +#!/system/bin/sh +setenforce 0 diff --git a/recovery/root/system/bin/spdaemon b/recovery/root/system/bin/spdaemon new file mode 100644 index 0000000000000000000000000000000000000000..333cd813278c2bc1cb80c2a0942ef15f168a6785 GIT binary patch literal 28456 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 VmQ4c?juHRNa$V|Z7%}XY{SPLDDi#0$ literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service b/recovery/root/system/bin/vendor.qti.hardware.qteeconnector@1.0-service new file mode 100644 index 0000000000000000000000000000000000000000..033f8b1333ab58e501c5b71dee54da5ee3e927ed GIT binary patch literal 15704 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 literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/vendor.qti.hardware.vibrator.service b/recovery/root/system/bin/vendor.qti.hardware.vibrator.service new file mode 100644 index 0000000000000000000000000000000000000000..03e606fdbf1cdeec8b2f58d94977f1cb74857743 GIT binary patch literal 41920 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 gM&ChXLmQ;EF=oCZLnZxx0Uj}ySO5S3 literal 0 HcmV?d00001 diff --git a/recovery/root/system/bin/vendor.qti.spu@2.0-service b/recovery/root/system/bin/vendor.qti.spu@2.0-service new file mode 100644 index 0000000000000000000000000000000000000000..d36607f5659bab0ed17315e55f534c815805710d GIT binary patch literal 69560 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 +system /system ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey +system /system erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount,avb_keys=/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.a> +system_ext /system_ext ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +system_ext /system_ext erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +product /product ext4 ro,barrier=1,discard wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +product /product erofs ro wait,slotselect,avb=vbmeta_system,logical,first_stage_mount +vendor /vendor ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +vendor /vendor erofs ro wait,slotselect,avb,logical,first_stage_mount +vendor_dlkm /vendor_dlkm ext4 ro,barrier=1,discard wait,slotselect,avb,logical,first_stage_mount +vendor_dlkm /vendor_dlkm erofs ro wait,slotselect,avb,logical,first_stage_mount +/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,check,formattable,first_stage_mount +/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,inlinecrypt latemount,wait,check,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized+wrappedkey_v0,keydirectory=/metadata/vold/metadata_encryption,metadata_encryption=aes-256-xts:wrappedkey_v0,quota,reservedsize=128M,sysfs_path=/sys/devices/platform/soc/1d84000.ufshc,checkpoint=fs +/dev/block/bootdevice/by-name/misc /misc emmc defaults defaults diff --git a/recovery/root/system/etc/task_profiles.json b/recovery/root/system/etc/task_profiles.json new file mode 100644 index 0000000..2db70f9 --- /dev/null +++ b/recovery/root/system/etc/task_profiles.json @@ -0,0 +1,703 @@ +{ + "Attributes": [ + { + "Name": "LowCapacityCPUs", + "Controller": "cpuset", + "File": "background/cpus" + }, + { + "Name": "HighCapacityCPUs", + "Controller": "cpuset", + "File": "foreground/cpus" + }, + { + "Name": "MaxCapacityCPUs", + "Controller": "cpuset", + "File": "top-app/cpus" + }, + { + "Name": "AudioAppCapacityCPUs", + "Controller": "cpuset", + "File": "audio-app/cpus" + }, + + { + "Name": "MemLimit", + "Controller": "memory", + "File": "memory.limit_in_bytes" + }, + { + "Name": "MemSoftLimit", + "Controller": "memory", + "File": "memory.soft_limit_in_bytes" + }, + { + "Name": "MemSwappiness", + "Controller": "memory", + "File": "memory.swappiness" + }, + { + "Name": "UClampMin", + "Controller": "cpu", + "File": "cpu.uclamp.min" + }, + { + "Name": "UClampMax", + "Controller": "cpu", + "File": "cpu.uclamp.max" + }, + { + "Name": "UClampLatencySensitive", + "Controller": "cpu", + "File": "cpu.uclamp.latency_sensitive" + }, + { + "Name": "FreezerState", + "Controller": "freezer", + "File": "cgroup.freeze" + } + ], + + "Profiles": [ + { + "Name": "HighEnergySaving", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "background" + } + } + ] + }, + { + "Name": "Frozen", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "FreezerState", + "Value": "1" + } + } + ] + }, + { + "Name": "Unfrozen", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "FreezerState", + "Value": "0" + } + } + ] + }, + { + "Name": "NormalPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "system" + } + } + ] + }, + { + "Name": "ServicePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "system-background" + } + } + ] + }, + { + "Name": "HighPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "foreground" + } + } + ] + }, + { + "Name": "MaxPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "top-app" + } + } + ] + }, + { + "Name": "RealtimePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "rt" + } + } + ] + }, + { + "Name": "CameraServicePerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppPerformance", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "schedtune", + "Path": "audio-app" + } + } + ] + }, + { + "Name": "NNApiHALPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "nnapi-hal" + } + } + ] + }, + + { + "Name": "CpuPolicySpread", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "UClampLatencySensitive", + "Value": "1" + } + } + ] + }, + { + "Name": "CpuPolicyPack", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "UClampLatencySensitive", + "Value": "0" + } + } + ] + }, + + { + "Name": "VrKernelCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "VrServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/background" + } + } + ] + }, + { + "Name": "VrServiceCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system" + } + } + ] + }, + { + "Name": "VrServiceCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system/performance" + } + } + ] + }, + { + "Name": "VrProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/background" + } + } + ] + }, + { + "Name": "VrProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application" + } + } + ] + }, + { + "Name": "VrProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "application/performance" + } + } + ] + }, + + { + "Name": "ProcessCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "background" + } + } + ] + }, + { + "Name": "ProcessCapacityNormal", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "" + } + } + ] + }, + { + "Name": "ProcessCapacityHigh", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "foreground" + } + } + ] + }, + { + "Name": "ProcessCapacityMax", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "top-app" + } + } + ] + }, + + { + "Name": "ServiceCapacityLow", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "ServiceCapacityRestricted", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "restricted" + } + } + ] + }, + + { + "Name": "CameraServiceCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon" + } + } + ] + }, + { + "Name": "AudioAppCapacity", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "cpuset", + "Path": "audio-app" + } + } + ] + }, + + { + "Name": "BlkIOForeground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "BlkIOBackground", + "Actions" : [ + { + "Name" : "JoinCgroup", + "Params" : + { + "Controller": "blkio", + "Path": "bg" + } + } + ] + }, + + { + "Name": "LowIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "background" + } + } + ] + }, + { + "Name": "NormalIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "HighIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + { + "Name": "MaxIoPriority", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "blkio", + "Path": "" + } + } + ] + }, + + { + "Name": "TimerSlackHigh", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "10000000" + } + } + ] + }, + { + "Name": "TimerSlackNormal", + "Actions": [ + { + "Name": "SetTimerSlack", + "Params": + { + "Slack": "50000" + } + } + ] + }, + + { + "Name": "SFMainPolicy", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + { + "Name": "SFRenderEnginePolicy", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "system-background" + } + } + ] + }, + + { + "Name": "PerfBoost", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "50%", + "Clamp": "0" + } + } + ] + }, + { + "Name": "PerfClamp", + "Actions": [ + { + "Name": "SetClamps", + "Params": + { + "Boost": "0", + "Clamp": "30%" + } + } + ] + }, + + { + "Name": "LowMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "16MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "150" + + } + } + ] + }, + { + "Name": "HighMemoryUsage", + "Actions": [ + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSoftLimit", + "Value": "512MB" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "MemSwappiness", + "Value": "100" + } + } + ] + }, + { + "Name": "SystemMemoryProcess", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "memory", + "Path": "system" + } + } + ] + } + ], + + "AggregateProfiles": [ + { + "Name": "SCHED_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "SCHED_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_SYSTEM", + "Profiles": [ "ServicePerformance", "LowIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "SCHED_SP_RT_APP", + "Profiles": [ "RealtimePerformance", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_DEFAULT", + "Profiles": [ "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_BACKGROUND", + "Profiles": [ "HighEnergySaving", "ProcessCapacityLow", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "CPUSET_SP_FOREGROUND", + "Profiles": [ "HighPerformance", "ProcessCapacityHigh", "HighIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_TOP_APP", + "Profiles": [ "MaxPerformance", "ProcessCapacityMax", "MaxIoPriority", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_SYSTEM", + "Profiles": [ "ServiceCapacityLow", "TimerSlackNormal" ] + }, + { + "Name": "CPUSET_SP_RESTRICTED", + "Profiles": [ "ServiceCapacityRestricted", "TimerSlackNormal" ] + }, + { + "Name": "Dex2OatBootComplete", + "Profiles": [ "SCHED_SP_BACKGROUND" ] + } + ] +} diff --git a/recovery/root/system/etc/twrp.flags b/recovery/root/system/etc/twrp.flags new file mode 100644 index 0000000..85c706c --- /dev/null +++ b/recovery/root/system/etc/twrp.flags @@ -0,0 +1,59 @@ +# Android fstab file. +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK + +# Currently we dont have e2fsck compiled. So fs check would failed. + +# +# Boot partitions +/boot emmc /dev/block/bootdevice/by-name/boot flags=display="Boot";slotselect;backup=1;flashimg=1 +/dtbo emmc /dev/block/bootdevice/by-name/dtbo flags=display="DTBO";slotselect;backup=1;flashimg=1 +/vendor_boot emmc /dev/block/bootdevice/by-name/vendor_boot flags=display="Vendor Boot";slotselect;backup=1;flashimg=1 +/vbmeta emmc /dev/block/bootdevice/by-name/vbmeta flags=display="VBMeta";slotselect;backup=1;flashimg=1 +/vbmeta_system emmc /dev/block/bootdevice/by-name/vbmeta_system flags=display="System VBMeta";slotselect;backup=1;flashimg=1 +/recovery emmc /dev/block/bootdevice/by-name/recovery flags=display="Recovery";slotselect;backup=1;flashimg=1 +/logo emmc /dev/block/bootdevice/by-name/logo flags=display="Logo";slotselect;backup=1 +/misc emmc /dev/block/bootdevice/by-name/misc flags=display="Misc" + +# Logical partitions +/system ext4 system flags=display="System" +/system erofs system flags=display="System" +/system_ext ext4 system_ext flags=display="System EXT" +/system_ext erofs system_ext flags=display="System EXT" +/product ext4 product flags=display="Product" +/product erofs product flags=display="Product" +/vendor ext4 vendor flags=display="Vendor" +/vendor erofs vendor flags=display="Vendor" +/vendor_dlkm ext4 vendor_dlkm flags=display="Vendor DLKM" +/vendor_dlkm erofs vendor_dlkm flags=display="Vendor DLKM" + +# Flashable logical partitions +/system_image emmc /dev/block/bootdevice/by-name/system flags=display="System Image";backup=1;flashimg=1 +/system_ext_image emmc /dev/block/bootdevice/by-name/system_ext flags=display="System EXT Image";backup=1;flashimg=1 +/product_image emmc /dev/block/bootdevice/by-name/product flags=display="Product Image";backup=1;flashimg=1 +/vendor_image emmc /dev/block/bootdevice/by-name/vendor flags=display="Vendor Image";backup=1;flashimg=1 +/vendor_dlkm_image emmc /dev/block/bootdevice/by-name/vendor_dlkm flags=display="Vendor DLKM Image";backup=1;flashimg=1 + +# Data partitions +/metadata ext4 /dev/block/by-name/metadata flags=display="Metadata" + +# Firmware partitions +/persist ext4 /dev/block/bootdevice/by-name/persist flags=display="Persist" +/persist_image emmc /dev/block/bootdevice/by-name/persist flags=display="Persist";backup=1;flashimg=1 +/prodpersist ext4 /dev/block/bootdevice/by-name/prodpersist flags=display="Product Persist" +/prodpersist_image emmc /dev/block/bootdevice/by-name/prodpersist flags=display="Product Persist";backup=1;flashimg=1 +/firmware ext4 /dev/block/bootdevice/by-name/modem flags=display="Firmware";slotselect;fsflags="context=u:object_r:firmware_file:s0" +/bt_firmware ext4 /dev/block/bootdevice/by-name/bluetooth flags=display="Bluetooth";slotselect;fsflags="context=u:object_r:bt_firmware_file:s0" +/fsg ext4 /dev/block/bootdevice/by-name/fsg flags=display="FSG";slotselect;fsflags="context=u:object_r:fsg_file:s0" +/dsp ext4 /dev/block/bootdevice/by-name/dsp flags=display="DSP";slotselect +/modem_image emmc /dev/block/bootdevice/by-name/modem flags=display="Modem";slotselect;backup=1;flashimg=1 +/bluetooth_image emmc /dev/block/bootdevice/by-name/bluetooth flags=display="Bluetooth";slotselect;backup=1;flashimg=1 +/dsp_image emmc /dev/block/bootdevice/by-name/dsp flags=display="DSP";slotselect;backup=1;flashimg=1 +/efs1 emmc /dev/block/bootdevice/by-name/modemst1 flags=display="EFS";backup=1 +/efs2 emmc /dev/block/bootdevice/by-name/modemst2 flags=backup=1;subpartitionof=/efs1 +/efsc emmc /dev/block/bootdevice/by-name/fsc flags=backup=1;subpartitionof=/efs1 +/efsg emmc /dev/block/bootdevice/by-name/fsg flags=backup=1;subpartitionof=/efs1 + +# Removable storage +/usbotg vfat /dev/block/sdg1 /dev/block/sdg flags=display="USB OTG";storage;wipeingui;removable +/external_sd auto /dev/block/mmcblk1p1 /dev/block/mmcblk1 flags=display="Micro SDCard";storage;wipeingui;removable diff --git a/recovery/root/system/etc/vintf/compatibility_matrix.device.xml b/recovery/root/system/etc/vintf/compatibility_matrix.device.xml new file mode 100644 index 0000000..761d9e2 --- /dev/null +++ b/recovery/root/system/etc/vintf/compatibility_matrix.device.xml @@ -0,0 +1,1299 @@ + + + + android.hardware.automotive.evs + 1.1 + + IEvsEnumerator + default + hw/1 + + + + android.hardware.gnss + 1.0-1 + 2.0-1 + + IGnss + default + gnss_vendor + + + + android.hardware.media.c2 + 1.0 + + IComponentStore + default + software + + + + android.hardware.nfc + 1.0 + + INfc + default + + + + android.hardware.radio + 1.0-4 + + IRadio + slot1 + slot2 + + + ISap + slot1 + slot2 + + + + android.hardware.radio.config + 1.0-1 + + IRadioConfig + default + + + + android.hardware.uwb + 1.0 + + IUwb + default + + + + android.hardware.wifi.supplicant + 1.0-2 + + ISupplicant + default + wigigp2p + + + + com.dsi.ant + 1.0 + + IAnt + default + + + + com.motorola.hardware.biometric.fingerprint + 1.0 + + IMotoFingerPrint + default + + + IMotoFingerPrintSensorTest + default + + + + com.motorola.hardware.display.panel + 1.0-1 + + IDisplayPanel + default + + + + com.motorola.hardware.display.rollable + 1.0 + + IRollableDisplay + default + + + + com.motorola.hardware.display.stylus + 1.0-1 + + IMotStylus + default + + + + com.motorola.hardware.display.touch + 1.0-2 + + IMotTouch + default + + + + com.qualcomm.qti.dpm.api + 1.0 + + IdpmQmi + dpmQmiService + + + + com.qualcomm.qti.imscmservice + 2.0-2 + + IImsCmService + qti.ims.connectionmanagerservice + + + + com.qualcomm.qti.uceservice + 2.0-1 + 2.2 + 2.3 + + IUceService + com.qualcomm.qti.uceservice + + + + com.qualcomm.qti.wifidisplayhal + 1.0 + + IDSManager + wifidisplaydshal + + + IHDCPSession + wifidisplayhdcphal + + + + com.quicinc.cne.api + 1.0-1 + + IApiService + cnd + + + + com.quicinc.cne.server + 2.0-2 + + IServer + cnd + + + + motorola.hardware.audio.adspd + 1.0 + + IADSP + default + + + + motorola.hardware.camera.desktop + 1.0 + 2.0 + + ICameraDesktop + default + + + + motorola.hardware.camera.imgtuner + 1.0 + 2.0 + + IImageTuning + default + + + + motorola.hardware.fdrcontrol + 1.0-2 + + IFdrControl + default + + + + motorola.hardware.fmradio + 1.0 + + IMotFMRadio + default + + + + motorola.hardware.health + 2.0 + + IMotHealth + default + + + + motorola.hardware.health.storage + 1.0 + + IMotStorage + default + + + + motorola.hardware.input + 1.0 + + IMotInput + default + + + + motorola.hardware.light + 1.0 + + IMotLight + default + + + + motorola.hardware.paramupdater + 1.0 + + IParamUpdater + default + + + + motorola.hardware.paramupdater + 1.0 + + IParamUpdater + default + + + + motorola.hardware.power + + IPowerExt + default + + + + motorola.hardware.sxf + + IMotoSxf + default + + + + motorola.hardware.sxf + + IMotoSxf + default + + + + motorola.hardware.vibrator + 1.0 + + IMotVibrator + default + + + + motorola.hardware.wifi.supplicant + 1.0-1 + + ISupplicantMot + default + + + + motorola.hardware.wireless.powershare + 1.0 + 2.0 + + IMotPowerShare + default + + + + motorola.hardware.wireless.wlc + 1.0 + + IMotWlc + default + + + + vendor.display.color + 1.0-7 + + IDisplayColor + default + + + + vendor.display.config + 1.0-15 + 2.0 + + IDisplayConfig + default + + + + vendor.display.postproc + 1.0 + + IDisplayPostproc + default + + + + vendor.egistec.hardware.fingerprint + 4.0 + + IBiometricsFingerprintRbs + default + + + + vendor.goodix.hardware.biometrics.fingerprint + 2.1 + + IGoodixFingerprintDaemon + default + + + + vendor.nxp.hardware.nfc + 1.0-1 + 2.0 + + INqNfc + default + + + + vendor.nxp.nxpnfc + 2.0 + + INxpNfc + default + + + + vendor.nxp.nxpnfclegacy + 1.0 + + INxpNfcLegacy + default + + + + vendor.nxp.nxpnfclegacy + 1.0 + + INxpNfcLegacy + default + + + + vendor.qti.automotive.qcarcam + 1.0 + + IQcarCamera + default + + + + vendor.qti.data.factory + 1.0 + 2.0-5 + + IFactory + default + + + + vendor.qti.diaghal + 1.0 + + Idiag + default + + + + vendor.qti.dvr + 1.0 + + IDvrDisplay + default + + + + vendor.qti.esepowermanager + 1.0-1 + + IEsePowerManager + default + + + + vendor.qti.gnss + 1.0-2 + 2.0-1 + 3.0 + 4.0-1 + + ILocHidlGnss + gnss_vendor + + + + vendor.qti.gnss + + ILocAidlGnss + default + + + + vendor.qti.hardware.AGMIPC + 1.0 + + IAGM + default + + + + vendor.qti.hardware.ListenSoundModel + 1.0 + + IListenSoundModel + default + + + + vendor.qti.hardware.alarm + 1.0 + + IAlarm + default + + + + vendor.qti.hardware.audiohalext + 1.0 + + IAudioHalExt + default + + + + vendor.qti.hardware.bluetooth_audio + 2.0-1 + + IBluetoothAudioProvidersFactory + default + + + + vendor.qti.hardware.bluetooth_sar + 1.0-1 + + IBluetoothSar + default + + + + vendor.qti.hardware.btconfigstore + 1.0 + 2.0 + + IBTConfigStore + default + + + + vendor.qti.hardware.cacert + 1.0 + + IService + default + + + + vendor.qti.hardware.camera.aon + 1.0-1 + + IAONService + aoncameraservice + + + + vendor.qti.hardware.camera.postproc + 1.0 + + IPostProcService + camerapostprocservice + + + + vendor.qti.hardware.capabilityconfigstore + 1.0 + + ICapabilityConfigStore + default + + + + vendor.qti.hardware.cryptfshw + 1.0 + + ICryptfsHw + default + + + + vendor.qti.hardware.cvp + 1.0 + + ICvp + cvphalservice + + + + vendor.qti.hardware.data.connection + 1.0-1 + + IDataConnection + slot1 + slot2 + + + + vendor.qti.hardware.data.connectionfactory + + IFactory + slot0 + slot1 + + + + vendor.qti.hardware.data.iwlan + 1.0-1 + + IIWlan + slot1 + slot2 + + + + vendor.qti.hardware.data.latency + 1.0 + + ILinkLatency + default + + + + vendor.qti.hardware.debugutils + 1.0 + + IDebugUtils + default + + + + vendor.qti.hardware.display.allocator + 1.0 + 3.0 + 4.0 + + IQtiAllocator + default + + + + vendor.qti.hardware.display.composer + 2.0-1 + 3.0 + 3.1 + + IQtiComposer + default + + + + vendor.qti.hardware.display.config + 1-5 + + IDisplayConfig + default + + + + vendor.qti.hardware.display.demura + 1.0 + 2.0 + + IDemuraFileFinder + default + + + + vendor.qti.hardware.display.mapper + 2.0 + 3.0 + 4.0 + + IQtiMapper + default + + + + vendor.qti.hardware.dpmservice + 1.0-1 + + IDpmService + DpmService + + + + vendor.qti.hardware.dsp + 1.0 + + IDspService + dspservice + + + + vendor.qti.hardware.eid + 1.0 + + IEid + default + + + + vendor.qti.hardware.embmssl + 1.0-1 + + IEmbms + embmsslServer0 + + + + vendor.qti.hardware.fingerprint + 1.0 + + IQtiExtendedFingerprint + default + + + + vendor.qti.hardware.fm + 1.0 + + IFmHci + default + + + + vendor.qti.hardware.improvetouch.blobmanager + 1.0 + + IBlobManager + BlobManagerService + + + + vendor.qti.hardware.improvetouch.gesturemanager + 1.0 + + IGestureManager + GestureManagerService + + + + vendor.qti.hardware.improvetouch.touchcompanion + 1.0 + + ITouchCompanion + TouchCompanionService + + + + vendor.qti.hardware.iop + 2.0 + + IIop + default + + + + vendor.qti.hardware.limits + 1.0-1 + + ILimits + default + + + + vendor.qti.hardware.mwqemadapter + 1.0 + + IMwqemAdapter + MwqemAdapter + + + + vendor.qti.hardware.pal + 1.0 + + IPAL + default + + + + vendor.qti.hardware.perf + 2.0-3 + + IPerf + default + + + + vendor.qti.hardware.power.powermodule + 1.0 + + IPowerModule + default + + + + vendor.qti.hardware.qccsyshal + 1.0-1 + + IQccsyshal + qccsyshal + + + + vendor.qti.hardware.qccvndhal + 1.0 + + IQccvndhal + qccvndhal + + + + vendor.qti.hardware.qconfig + 1.0 + + IQConfig + default + + + + vendor.qti.hardware.qdutils_disp + 1.0 + + IQdutilsDisp + default + + + + vendor.qti.hardware.qseecom + 1.0 + + IQSEECom + default + + + + vendor.qti.hardware.qteeconnector + 1.0 + + IAppConnector + default + + + IGPAppConnector + default + + + + vendor.qti.hardware.qxr + + IQXRCoreService + default + + + + vendor.qti.hardware.qxr + + IQXRCamService + default + + + + vendor.qti.hardware.qxr + + IQXRSplitService + default + + + + vendor.qti.hardware.qxr + + IQXRModService + default + + + + vendor.qti.hardware.qxr + + IQXRAudioService + default + + + + vendor.qti.hardware.radio.am + 1.0 + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.am + + IQcRilAudio + slot1 + slot2 + + + + vendor.qti.hardware.radio.ims + 1.0-8 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.ims + 1-6 + + IImsRadio + imsradio0 + imsradio1 + + + + vendor.qti.hardware.radio.internal.deviceinfo + 1.0 + + IDeviceInfo + deviceinfo + + + + vendor.qti.hardware.radio.lpa + 1.0-2 + + IUimLpa + UimLpa0 + UimLpa1 + + + + vendor.qti.hardware.radio.qcrilhook + 1.0 + + IQtiOemHook + oemhook0 + oemhook1 + + + + vendor.qti.hardware.radio.qtiradio + 1.0 + 2.0-6 + + IQtiRadio + slot1 + slot2 + + + + vendor.qti.hardware.radio.qtiradio + 1-5 + + IQtiRadioStable + slot1 + slot2 + + + + vendor.qti.hardware.radio.uim + 1.1-2 + + IUim + Uim0 + Uim1 + + + + vendor.qti.hardware.radio.uim_remote_client + 1.0 + + IUimRemoteServiceClient + uimRemoteClient0 + uimRemoteClient1 + + + + vendor.qti.hardware.radio.uim_remote_server + 1.0 + + IUimRemoteServiceServer + uimRemoteServer0 + uimRemoteServer1 + + + + vendor.qti.hardware.scve.objecttracker + 1.0 + + IObjectTracker + objectTracker + + + + vendor.qti.hardware.scve.panorama + 1.0 + + IPanoramaStitching + panoStitching + + + IPanoramaTracking + panoTracking + + + + vendor.qti.hardware.seccam + 1.0 + + ISecCam + default + + + + vendor.qti.hardware.secureprocessor.device + 1.0 + + ISecureProcessor + qti-tee + + + + vendor.qti.hardware.sensorscalibrate + 1.0 + + ISensorsCalibrate + default + + + + vendor.qti.hardware.servicetracker + 1.0-2 + + IServicetracker + default + + + + vendor.qti.hardware.slmadapter + 1.0 + + ISlmAdapter + SlmAdapter + + + + vendor.qti.hardware.soter + 1.0 + + ISoter + default + + + + vendor.qti.hardware.sxrhal + 1.0 + + ISxrCrypto + sxrhalservice + + + + vendor.qti.hardware.systemhelper + 1.0 + + ISystemEvent + default + + + ISystemResource + default + + + + vendor.qti.hardware.trustedui + 1.0-2 + + ITrustedInput + default + qtee-vm + + + ITrustedUI + default + qtee-vm + + + + vendor.qti.hardware.tui_comm + 1.0 + + ITuiComm + default + + + + vendor.qti.hardware.vpp + 1.1-3 + 2.0 + + IHidlVppService + vppService + + + + vendor.qti.hardware.wifi.hostapd + 1.0-3 + + IHostapdVendor + default + wigighostapd + + + + vendor.qti.hardware.wifi.supplicant + 2.0-3 + + ISupplicantVendor + default + + + + vendor.qti.hardware.wifi.wificfr + 1.0 + + IWificfr + wificfr + + + + vendor.qti.hardware.wifi.wifilearner + 1.0 + + IWifiStats + wifiStats + + + + vendor.qti.hardware.wifi.wifimyftm + 1.0 + + IWifiMyFtm + default + + + + vendor.qti.hardware.wifidisplaysession + 1.0 + + IWifiDisplaySession + wifidisplaysession + + + IWifiDisplaySessionAudioTrack + wifidisplaysessionaudiotrack + + + IWifiDisplaySessionImageTrack + wifidisplaysessionimagetrack + + + IWifiDisplaySessionVideoTrack + wifidisplaysessionvideotrack + + + + vendor.qti.hardware.wipower + 1.0 + + IWipower + default + + + + vendor.qti.ims.callinfo + 1.0 + + IService + default + + + + vendor.qti.ims.factory + 1.0-1 + 2.0-1 + + IImsFactory + default + + + + vendor.qti.imsrtpservice + 3.0 + + IRTPService + imsrtpservice + + + + vendor.qti.memory.pasrmanager + 1.0-1 + + IPasrManager + pasrhal + + + + vendor.qti.mstatservice + 1.0 + + IMStatService + mstatservice + + + + vendor.qti.power.pasrmanager + 1.0 + + IPasrManager + default + + + + vendor.qti.qesdhal + 1.0-1 + + IQesdhal + default + + + + vendor.qti.qspmhal + 1.0 + + IQspmhal + default + + + + vendor.qti.spu + 1.0-1 + 2.0 + + ISPUManager + default + + + + vendor.qti.voiceprint + 1.0 + + IQtiVoicePrintService + default + + + + vendor.trustonic.tee + 1.1 + + ITee + default + + + + vendor.trustonic.tee.tui + 1.0 + + ITui + default + + + + vendor.trustonic.teeregistry + 1.0 + + ITeeRegistry + default + + + + vendor.zui.hardware.ifaa + 1.0 + + IIFAADevice + default + + + + vendor.zuialarm.hardware.alarm + 1.0 + + IAlarm + default + + + + 30 + 26.0 + 27.0 + 28.0 + 29.0 + 30.0 + 31.0 + + + 1.0 + + diff --git a/recovery/root/system/etc/vintf/manifest.xml b/recovery/root/system/etc/vintf/manifest.xml new file mode 100644 index 0000000..4e924d7 --- /dev/null +++ b/recovery/root/system/etc/vintf/manifest.xml @@ -0,0 +1,154 @@ + + + + android.frameworks.displayservice + hwbinder + 1.0 + + IDisplayService + default + + @1.0::IDisplayService/default + + + android.frameworks.schedulerservice + hwbinder + 1.0 + + ISchedulingPolicyService + default + + @1.0::ISchedulingPolicyService/default + + + android.frameworks.sensorservice + hwbinder + 1.0 + + ISensorManager + default + + @1.0::ISensorManager/default + + + android.hidl.manager + hwbinder + 1.2 + + IServiceManager + default + + @1.2::IServiceManager/default + + + android.hidl.memory + passthrough + 1.0 + + IMapper + ashmem + + @1.0::IMapper/ashmem + + + android.hidl.token + hwbinder + 1.0 + + ITokenManager + default + + @1.0::ITokenManager/default + + + android.system.net.netd + hwbinder + 1.1 + + INetd + default + + @1.1::INetd/default + + + android.system.wifi.keystore + hwbinder + 1.0 + + IKeystore + default + + @1.0::IKeystore/default + + + netutils-wrapper + 1.0 + + + vendor.qti.hardware.qccsyshal + hwbinder + 1.1 + + IQccsyshal + qccsyshal + + @1.1::IQccsyshal/qccsyshal + + + vendor.qti.hardware.radio.atcmdfwd + hwbinder + 1.0 + + IAtCmdFwd + AtCmdFwdService + + @1.0::IAtCmdFwd/AtCmdFwdService + + + vendor.qti.hardware.sigma_miracast + hwbinder + 1.0 + + Isigma_miracast + sigmahal + sigmahal64 + + @1.0::Isigma_miracast/sigmahal + @1.0::Isigma_miracast/sigmahal64 + + + vendor.qti.hardware.systemhelper + hwbinder + 1.0 + + ISystemEvent + default + + + ISystemResource + default + + @1.0::ISystemEvent/default + @1.0::ISystemResource/default + + + vendor.qti.hardware.wifi.keystore + hwbinder + 1.0 + + IKeystoreExt + default + + @1.0::IKeystoreExt/default + + + 28 + 29 + 30 + 31 + +