Loading AndroidKernel.mk +31 −1 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ ifeq ($(KERNEL_TARGET),) INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel endif ifneq ($(TARGET_KERNEL_APPEND_DTB), true) $(info Using DTB Image) INSTALLED_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb.img endif TARGET_KERNEL_MAKE_ENV := $(strip $(TARGET_KERNEL_MAKE_ENV)) ifeq ($(TARGET_KERNEL_MAKE_ENV),) KERNEL_MAKE_ENV := Loading Loading @@ -160,14 +165,31 @@ $(KERNEL_CONFIG): $(KERNEL_OUT) echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) oldconfig; fi $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) ifeq ($(TARGET_KERNEL_APPEND_DTB), true) TARGET_PREBUILT_INT_KERNEL_IMAGE := $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/Image $(TARGET_PREBUILT_INT_KERNEL_IMAGE): $(KERNEL_USR) $(TARGET_PREBUILT_INT_KERNEL_IMAGE): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) $(hide) echo "Building kernel modules..." $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) Image $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) modules $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) modules_install $(mv-modules) $(clean-module-folder) $(TARGET_PREBUILT_INT_KERNEL): $(TARGET_PREBUILT_INT_KERNEL_IMAGE) $(hide) echo "Building kernel..." $(hide) rm -rf $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) else TARGET_PREBUILT_INT_KERNEL_IMAGE := $(TARGET_PREBUILT_INT_KERNEL) $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) $(hide) echo "Building kernel..." $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) modules $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) modules_install $(mv-modules) $(clean-module-folder) endif $(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \ Loading @@ -187,6 +209,14 @@ $(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) oldconfig; fi # Creating a dtb.img once the kernel is compiled if TARGET_KERNEL_APPEND_DTB is set to be false $(INSTALLED_DTBIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) $(hide) if [ -d "$(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/" ]; then \ cat $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/qcom/*.dtb > $@; \ else \ cat $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/qcom/*.dtb > $@; \ fi .PHONY: kerneltags kerneltags: $(KERNEL_OUT) $(KERNEL_CONFIG) $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) tags Loading Documentation/admin-guide/kernel-parameters.txt +16 −1 Original line number Diff line number Diff line Loading @@ -2689,7 +2689,11 @@ nosmt=force: Force disable SMT, cannot be undone via the sysfs control file. nospectre_v2 [X86] Disable all mitigations for the Spectre variant 2 nospectre_v1 [PPC] Disable mitigations for Spectre Variant 1 (bounds check bypass). With this option data leaks are possible in the system. nospectre_v2 [X86,PPC_FSL_BOOK3E] Disable all mitigations for the Spectre variant 2 (indirect branch prediction) vulnerability. System may allow data leaks with this option, which is equivalent to spectre_v2=off. Loading Loading @@ -3800,6 +3804,17 @@ (that will set all pages holding image data during restoration read-only). noswap_randomize Kernel uses random disk offsets to help with wear-levelling of SSD devices, while saving the hibernation snapshot image to disk. Use this parameter to disable this feature for SSD devices in scenarios when, such randomization is addressed at the firmware level and hibenration image is not re-generated frequently. (Useful for improving hibernation resume time as snapshot pages are available in disk serially and can be read in bigger chunks without seeking) retain_initrd [RAM] Keep initrd memory after extraction rfkill.default_state= Loading Documentation/devicetree/bindings/arm/msm/msm.txt +11 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,12 @@ SoCs: - QCS401 compatible = "qcom,qcs401" - QCS404 compatible = "qcom,qcs404" - QCS407 compatible = "qcom,qcs407" - SDXPRAIRIE compatible = "qcom,sdxprairie" Loading Loading @@ -195,6 +201,8 @@ compatible = "qcom,qcs405-rumi" compatible = "qcom,qcs405-iot" compatible = "qcom,qcs403-iot" compatible = "qcom,qcs401-iot" compatible = "qcom,qcs404-iot" compatible = "qcom,qcs407-iot" compatible = "qcom,sa8155-adp-star" compatible = "qcom,sa8155p-adp-star" compatible = "qcom,sa8195p-adp-star" Loading @@ -209,6 +217,7 @@ compatible = "qcom,sa8155p-adp-alcor" compatible = "qcom,sdxprairie-rumi" compatible = "qcom,sdxprairie-mtp" compatible = "qcom,sdxprairie-cdp" compatible = "qcom,sa515m-ccard" compatible = "qcom,sdmmagpie-rumi" compatible = "qcom,sdmmagpie-idp" compatible = "qcom,sdmmagpie-atp" Loading @@ -221,5 +230,7 @@ compatible = "qcom,trinket-rumi" compatible = "qcom,trinket-idp" compatible = "qcom,trinket-qrd" compatible = "qcom,atoll-rumi" compatible = "qcom,atoll-idp" compatible = "qcom,atoll-qrd" compatible = "qcom,qcs610-iot" compatible = "qcom,qcs410-iot" Documentation/devicetree/bindings/arm/msm/qcom,osm.txt +2 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,8 @@ Properties: Definition: must be "qcom,clk-cpu-osm" or "qcom,clk-cpu-osm-sdmshrike" or "qcom,clk-cpu-osm-sm6150" or "qcom,clk-cpu-osm-sdmmagpie" or "qcom,clk-cpu-osm-trinket". "qcom,clk-cpu-osm-trinket" or "qcom,clk-cpu-osm-atoll". - reg Usage: required Loading Documentation/devicetree/bindings/arm/msm/subsystem_notif_virt.txt 0 → 100644 +49 −0 Original line number Diff line number Diff line Subsystem Notification Virtual Driver The guest VM uses this driver to communicate subsystem state notifications to a backend driver via the virtual device's registers. [Root level node] Required Properties: -compatible : Should be "qcom,subsys-notif-virt" -reg : The start and size of the virtual device's register set. -reg-names : Should be "vdev_base" for virtual device's base address. [Child nodes] -subsys-names : The name of the subsystem that the driver is registering to notifications for. -offset : The offset from the virtual device's register base where the subsystem state will be written. -type : The type of the subsystem. "virtual" - When the subsystem is loaded by the host VM "native" - When the subsystem is loaded by the guest VM Required Property for "virtual" subsystem types: -interrupts : Tuple defining the interrupt which the driver must register for to receive subsystem state notifications from the backend. -interrupt-names: Must be "state-irq" Example: subsys_notif_virt: qcom,subsys_notif_virt@2D000000 { compatible = "qcom,subsys-notif-virt"; reg = <0x2D000000 0x400>; reg-names = "vdev_base"; adsp { subsys-name = "adsp"; interrupts = <0 43 0>; interrupt-names = "state-irq"; type = "virtual"; offset = <0>; }; mpss { subsys-name = "modem"; type = "native"; offset = <256>; }; }; Loading
AndroidKernel.mk +31 −1 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ ifeq ($(KERNEL_TARGET),) INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel endif ifneq ($(TARGET_KERNEL_APPEND_DTB), true) $(info Using DTB Image) INSTALLED_DTBIMAGE_TARGET := $(PRODUCT_OUT)/dtb.img endif TARGET_KERNEL_MAKE_ENV := $(strip $(TARGET_KERNEL_MAKE_ENV)) ifeq ($(TARGET_KERNEL_MAKE_ENV),) KERNEL_MAKE_ENV := Loading Loading @@ -160,14 +165,31 @@ $(KERNEL_CONFIG): $(KERNEL_OUT) echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) oldconfig; fi $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) ifeq ($(TARGET_KERNEL_APPEND_DTB), true) TARGET_PREBUILT_INT_KERNEL_IMAGE := $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/Image $(TARGET_PREBUILT_INT_KERNEL_IMAGE): $(KERNEL_USR) $(TARGET_PREBUILT_INT_KERNEL_IMAGE): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) $(hide) echo "Building kernel modules..." $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) Image $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) modules $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) modules_install $(mv-modules) $(clean-module-folder) $(TARGET_PREBUILT_INT_KERNEL): $(TARGET_PREBUILT_INT_KERNEL_IMAGE) $(hide) echo "Building kernel..." $(hide) rm -rf $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) else TARGET_PREBUILT_INT_KERNEL_IMAGE := $(TARGET_PREBUILT_INT_KERNEL) $(TARGET_PREBUILT_INT_KERNEL): $(KERNEL_OUT) $(KERNEL_HEADERS_INSTALL) $(hide) echo "Building kernel..." $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) $(KERNEL_CFLAGS) modules $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) INSTALL_MOD_PATH=$(BUILD_ROOT_LOC)../$(KERNEL_MODULES_INSTALL) INSTALL_MOD_STRIP=1 $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) modules_install $(mv-modules) $(clean-module-folder) endif $(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) $(hide) if [ ! -z "$(KERNEL_HEADER_DEFCONFIG)" ]; then \ Loading @@ -187,6 +209,14 @@ $(KERNEL_HEADERS_INSTALL): $(KERNEL_OUT) echo $(KERNEL_CONFIG_OVERRIDE) >> $(KERNEL_OUT)/.config; \ $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) oldconfig; fi # Creating a dtb.img once the kernel is compiled if TARGET_KERNEL_APPEND_DTB is set to be false $(INSTALLED_DTBIMAGE_TARGET): $(TARGET_PREBUILT_INT_KERNEL) $(hide) if [ -d "$(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/" ]; then \ cat $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/vendor/qcom/*.dtb > $@; \ else \ cat $(KERNEL_OUT)/arch/$(KERNEL_ARCH)/boot/dts/qcom/*.dtb > $@; \ fi .PHONY: kerneltags kerneltags: $(KERNEL_OUT) $(KERNEL_CONFIG) $(MAKE) -C $(TARGET_KERNEL_SOURCE) O=$(BUILD_ROOT_LOC)$(KERNEL_OUT) $(KERNEL_MAKE_ENV) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) $(real_cc) tags Loading
Documentation/admin-guide/kernel-parameters.txt +16 −1 Original line number Diff line number Diff line Loading @@ -2689,7 +2689,11 @@ nosmt=force: Force disable SMT, cannot be undone via the sysfs control file. nospectre_v2 [X86] Disable all mitigations for the Spectre variant 2 nospectre_v1 [PPC] Disable mitigations for Spectre Variant 1 (bounds check bypass). With this option data leaks are possible in the system. nospectre_v2 [X86,PPC_FSL_BOOK3E] Disable all mitigations for the Spectre variant 2 (indirect branch prediction) vulnerability. System may allow data leaks with this option, which is equivalent to spectre_v2=off. Loading Loading @@ -3800,6 +3804,17 @@ (that will set all pages holding image data during restoration read-only). noswap_randomize Kernel uses random disk offsets to help with wear-levelling of SSD devices, while saving the hibernation snapshot image to disk. Use this parameter to disable this feature for SSD devices in scenarios when, such randomization is addressed at the firmware level and hibenration image is not re-generated frequently. (Useful for improving hibernation resume time as snapshot pages are available in disk serially and can be read in bigger chunks without seeking) retain_initrd [RAM] Keep initrd memory after extraction rfkill.default_state= Loading
Documentation/devicetree/bindings/arm/msm/msm.txt +11 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,12 @@ SoCs: - QCS401 compatible = "qcom,qcs401" - QCS404 compatible = "qcom,qcs404" - QCS407 compatible = "qcom,qcs407" - SDXPRAIRIE compatible = "qcom,sdxprairie" Loading Loading @@ -195,6 +201,8 @@ compatible = "qcom,qcs405-rumi" compatible = "qcom,qcs405-iot" compatible = "qcom,qcs403-iot" compatible = "qcom,qcs401-iot" compatible = "qcom,qcs404-iot" compatible = "qcom,qcs407-iot" compatible = "qcom,sa8155-adp-star" compatible = "qcom,sa8155p-adp-star" compatible = "qcom,sa8195p-adp-star" Loading @@ -209,6 +217,7 @@ compatible = "qcom,sa8155p-adp-alcor" compatible = "qcom,sdxprairie-rumi" compatible = "qcom,sdxprairie-mtp" compatible = "qcom,sdxprairie-cdp" compatible = "qcom,sa515m-ccard" compatible = "qcom,sdmmagpie-rumi" compatible = "qcom,sdmmagpie-idp" compatible = "qcom,sdmmagpie-atp" Loading @@ -221,5 +230,7 @@ compatible = "qcom,trinket-rumi" compatible = "qcom,trinket-idp" compatible = "qcom,trinket-qrd" compatible = "qcom,atoll-rumi" compatible = "qcom,atoll-idp" compatible = "qcom,atoll-qrd" compatible = "qcom,qcs610-iot" compatible = "qcom,qcs410-iot"
Documentation/devicetree/bindings/arm/msm/qcom,osm.txt +2 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,8 @@ Properties: Definition: must be "qcom,clk-cpu-osm" or "qcom,clk-cpu-osm-sdmshrike" or "qcom,clk-cpu-osm-sm6150" or "qcom,clk-cpu-osm-sdmmagpie" or "qcom,clk-cpu-osm-trinket". "qcom,clk-cpu-osm-trinket" or "qcom,clk-cpu-osm-atoll". - reg Usage: required Loading
Documentation/devicetree/bindings/arm/msm/subsystem_notif_virt.txt 0 → 100644 +49 −0 Original line number Diff line number Diff line Subsystem Notification Virtual Driver The guest VM uses this driver to communicate subsystem state notifications to a backend driver via the virtual device's registers. [Root level node] Required Properties: -compatible : Should be "qcom,subsys-notif-virt" -reg : The start and size of the virtual device's register set. -reg-names : Should be "vdev_base" for virtual device's base address. [Child nodes] -subsys-names : The name of the subsystem that the driver is registering to notifications for. -offset : The offset from the virtual device's register base where the subsystem state will be written. -type : The type of the subsystem. "virtual" - When the subsystem is loaded by the host VM "native" - When the subsystem is loaded by the guest VM Required Property for "virtual" subsystem types: -interrupts : Tuple defining the interrupt which the driver must register for to receive subsystem state notifications from the backend. -interrupt-names: Must be "state-irq" Example: subsys_notif_virt: qcom,subsys_notif_virt@2D000000 { compatible = "qcom,subsys-notif-virt"; reg = <0x2D000000 0x400>; reg-names = "vdev_base"; adsp { subsys-name = "adsp"; interrupts = <0 43 0>; interrupt-names = "state-irq"; type = "virtual"; offset = <0>; }; mpss { subsys-name = "modem"; type = "native"; offset = <256>; }; };