123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- # Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted provided that the following conditions are
- # met:
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the following
- # disclaimer in the documentation and/or other materials provided
- # with the distribution.
- # * Neither the name of The Linux Foundation nor the names of its
- # contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
- # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
- # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
- # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #
- # Changes from Qualcomm Innovation Center are provided under the following license:
- # Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
- #
- # Redistribution and use in source and binary forms, with or without
- # modification, are permitted (subject to the limitations in the
- # disclaimer below) provided that the following conditions are met:
- #
- # * Redistributions of source code must retain the above copyright
- # notice, this list of conditions and the following disclaimer.
- #
- # * Redistributions in binary form must reproduce the above
- # copyright notice, this list of conditions and the following
- # disclaimer in the documentation and/or other materials provided
- # with the distribution.
- #
- # * Neither the name of Qualcomm Innovation Center, Inc. nor the names of
- # its contributors may be used to endorse or promote products derived
- # from this software without specific prior written permission.
- #
- # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
- # GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
- # HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
- # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
- # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
- # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
- # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- import /vendor/etc/init/hw/init.qti.kernel.rc
- import /vendor/etc/init/hw/init.samsung.rc
- # CAUTION: init.carrier.rc is replaced with init.${ro.product.model}.rc from Q OS
- import /vendor/etc/init/hw/init.${ro.product.vendor.device}.rc
- import /vendor/etc/init/hw/init.${ro.product.vendor.name}.rc
- on early-init
- write /proc/sys/kernel/printk_devkmsg ratelimited
- export MEMTAG_OPTIONS off
- # foreground-boost
- mkdir /dev/cpuctl/foreground-boost
- chown system system /dev/cpuctl/foreground-boost
- chown system system /dev/cpuctl/foreground-boost/tasks
- chmod 0664 /dev/cpuctl/foreground-boost/tasks
- chown system system /dev/cpuctl/foreground-boost/cgroup.procs
- chmod 0664 /dev/cpuctl/foreground-boost/cgroup.procs
- # set property to boost-optimize
- setprop sys.perf.boostopt true
- # midground set
- mkdir /dev/cpuset/midground
- copy /dev/cpuset/cpus /dev/cpuset/midground/cpus
- copy /dev/cpuset/mems /dev/cpuset/midground/mems
- chown root system /dev/cpuset/midground/cgroup.procs
- chmod 0664 /dev/cpuset/midground/cgroup.procs
- chown root system /dev/cpuset/midground/cpus
- chmod 0664 /dev/cpuset/midground/cpus
- write /dev/cpuset/midground/cpus 0-1,5-6
- on init
- wait /dev/block/platform/soc/${ro.boot.bootdevice}
- symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
- chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
- chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
- start logd
- mkdir /dev/cpuctl/general
- copy_per_line /dev/cpuctl/tasks /dev/cpuctl/general/tasks
- chown system system /dev/cpuctl/general
- chown system system /dev/cpuctl/general/tasks
- chmod 0644 /dev/cpuctl/general/tasks
- chown system system /dev/cpuctl/general/cpu.shares
- chmod 0644 /dev/cpuctl/general/cpu.shares
- mkdir /dev/cpuset/foreground-boost
- copy /dev/cpuset/cpus /dev/cpuset/foreground-boost/cpus
- copy /dev/cpuset/mems /dev/cpuset/foreground-boost/mems
- chown system system /dev/cpuset/foreground-boost
- chown system system /dev/cpuset/foreground-boost/tasks
- chmod 0664 /dev/cpuset/foreground-boost/tasks
- chown system system /dev/cpuset/foreground-boost/cgroup.procs
- chmod 0664 /dev/cpuset/foreground-boost/cgroup.procs
- chown system system /dev/cpuset/restricted/cpus
- chmod 0664 /dev/cpuset/restricted/cpus
- on early-fs
- start vold
- on fs
- start hwservicemanager
- mount_all /vendor/etc/fstab.qcom --early
- chown root system /mnt/vendor/persist
- chmod 0771 /mnt/vendor/persist
- restorecon_recursive /mnt/vendor/persist
- mkdir /mnt/vendor/persist/secnvm 0770 system system
- mkdir /mnt/vendor/persist/data 0700 system system
- on post-fs && property:ro.boot.factory.interposer=0
- # #Execute virtualization manager
- # enable vendor.qvirtservice_rs
- # start vendor.qvirtservice_rs
- # set RLIMIT_MEMLOCK to 64MB
- setrlimit 8 67108864 67108864
- #Execute virtualization manager
- enable vendor.qvirtservice
- start vendor.qvirtservice
- on late-fs
- wait_for_prop hwservicemanager.ready true
- #exec_start wait_for_keymaster
- mount_all /vendor/etc/fstab.qcom --late
- on post-fs-data
- mkdir /vendor/data/tombstones 0771 system system
- # Enable WLAN cold boot calibration
- write /sys/kernel/cnss/fs_ready 1
- on early-boot
- verity_update_state
- on boot
- write /dev/cpuset/audio-app/cpus 0-1
- # Add a cpuset for the camera daemon
- # We want all cores for camera
- mkdir /dev/cpuset/camera-daemon
- write /dev/cpuset/camera-daemon/cpus 0-7
- write /dev/cpuset/camera-daemon/mems 0
- chown cameraserver cameraserver /dev/cpuset/camera-daemon
- chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
- chmod 0660 /dev/cpuset/camera-daemon/tasks
- chown system /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
- chmod 0660 /sys/devices/platform/soc/990000.i2c/i2c-0/0-0038/trusted_touch_enable
- chown system /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
- chmod 0660 /sys/devices/platform/soc/990000.spi/spi_master/spi0/spi0.0/trusted_touch_enable
- chown system /sys/devices/system/cpu/hyp_core_ctl/enable
- chown system /sys/devices/system/cpu/hyp_core_ctl/hcc_min_freq
- # set cpuset value by performance team
- write /dev/cpuset/foreground/cpus 0-6
- write /dev/cpuset/foreground-boost/cpus 0-7
- write /dev/cpuset/sf/cpus 0-1,5-6
- # HyPer Permission
- chown root system /dev/cpuctl/top-app/cpu.uclamp.min
- chmod 0664 /dev/cpuctl/top-app/cpu.uclamp.min
- chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq
- chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_low_freq
- chown root system /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq
- chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/memlat/adaptive_high_freq
- chown root system /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq
- chmod 0664 /sys/devices/system/cpu/bus_dcvs/DDR/soc:qcom,memlat:ddr:prime-latfloor/max_freq
- # For CDSP crash
- on property:ro.boot.debug_level=0x494d
- setprop vendor.fastrpc.process.attrs 1
- setprop vendor.fastrpc.debug.trace 1
- on property:vendor.display.lcd_density=560
- setprop dalvik.vm.heapgrowthlimit 256m
- on property:vendor.display.lcd_density=640
- setprop dalvik.vm.heapgrowthlimit 512m
- on init && property:ro.boot.mode=charger
- wait_for_prop vendor.all.modules.ready 1
- mount_all /vendor/etc/charger_fw_fstab.qti --early
- wait /sys/kernel/boot_adsp/boot
- write /sys/kernel/boot_adsp/boot 1
- on charger
- start vendor.power_off_alarm
- write /sys/kernel/cnss/charger_mode 1
- #service vendor.lowi /vendor/bin/sscrpcd
- # class core
- # user system
- # group system wakelock
- # capabilities BLOCK_SUSPEND
- #pd-mapper
- service vendor.pd_mapper /vendor/bin/pd-mapper
- class core
- user system
- group system
- #Peripheral manager
- service vendor.per_mgr /vendor/bin/pm-service
- class core
- user system
- group system
- ioprio rt 4
- service vendor.per_proxy /vendor/bin/pm-proxy
- class core
- user system
- group system
- disabled
- #service vendor.mdm_helper /vendor/bin/mdm_helper
- # class core
- # group system wakelock
- # disabled
- service vendor.mdm_launcher /vendor/bin/sh /vendor/bin/init.mdm.sh
- class core
- oneshot
- on property:init.svc.vendor.per_mgr=running
- start vendor.per_proxy
- on property:sys.shutdown.requested=*
- write /sys/kernel/qcom_rproc/shutdown_in_progress 1
- stop vendor.per_proxy
- on property:vold.decrypt=trigger_restart_framework
- start vendor.cnss_diag
- service vendor.cnss_diag /system/vendor/bin/cnss_diag -q -f -t HELIUM
- class main
- user system
- group system wifi inet sdcard_rw media_rw diag
- oneshot
- on early-boot && property:persist.vendor.pcie.boot_option=*
- write /sys/bus/platform/devices/1c00000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
- write /sys/bus/platform/devices/1c08000.qcom,pcie/debug/boot_option ${persist.vendor.pcie.boot_option}
- service fan_control_turn_on /vendor/bin/fan_service 1
- class late_start
- user root
- disabled
- oneshot
- service fan_control_turn_off /vendor/bin/fan_service 0
- class late_start
- user root
- disabled
- oneshot
|