Loading .gitignore +5 −0 Original line number Diff line number Diff line Loading @@ -116,3 +116,8 @@ all.config # fetched Android config fragments android/configs/android-*.cfg # #Ignoring Android.bp link file # Android.bp Android.bpdeleted 100644 → 0 +0 −27 Original line number Diff line number Diff line cc_binary_host { name: "unifdef", srcs: ["scripts/unifdef.c"], sanitize: { never: true, } } gensrcs { name: "qseecom-kernel-includes", // move to out/ as root for header generation because of scripts/unifdef // storage - at the expense of extra ../ references cmd: "pushd out && mkdir -p scripts && rm -f scripts/unifdef && ln -s ../../$(location unifdef) scripts/unifdef && ../$(location scripts/headers_install.sh) `dirname ../$(out)` ../ $(in) && popd", tools: ["unifdef"], tool_files: ["scripts/headers_install.sh"], export_include_dirs: ["include/uapi"], srcs: ["include/uapi/linux/qseecom.h"], output_extension: "h", } cc_library_headers { name: "qseecom-kernel-headers", generated_headers: ["qseecom-kernel-includes"], export_generated_headers: ["qseecom-kernel-includes"], } Androidbp 0 → 100644 +45 −0 Original line number Diff line number Diff line cc_binary_host { name: "unifdef", srcs: ["scripts/unifdef.c"], sanitize: { never: true, }, } genrule { name: "gen-headers_install.sh", srcs: ["scripts/headers_install.sh"], tools: ["unifdef"], out: ["headers_install.sh"], cmd: "sed 's+scripts/unifdef+$(location unifdef)+g' $(in) > $(out)", } cc_prebuilt_binary { name: "headers_install.sh", device_supported: false, host_supported: true, srcs: [":gen-headers_install.sh"], } // Use the following for verbose output from kernel_headers.py. // kernel_headers_verbose = "--verbose " // Use the following for minimal output from kernel_headers.py. kernel_headers_verbose = "" build = ["gen_headers_arm.bp", "gen_headers_arm64.bp"] cc_library_headers { name: "qti_kernel_headers", arch: { arm: { generated_headers: ["qti_generate_kernel_headers_arm"], export_generated_headers: ["qti_generate_kernel_headers_arm"], }, arm64: { generated_headers: ["qti_generate_kernel_headers_arm64"], export_generated_headers: ["qti_generate_kernel_headers_arm64"], }, }, vendor: true, recovery_available: true, } Documentation/devicetree/bindings/qdsp/msm-fastrpc.txt +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ Optional properties: - qcom,fastrpc-glink: Flag to use glink instead of smd for IPC - qcom,fastrpc-vmid-heap-shared: Flag for Dynamic heap feature, to share HLOS memory buffer to ADSP - qcom,secure-domains: FastRPC secure domain configuration Optional subnodes: - qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context Loading Documentation/kbuild/makefiles.txt +52 −48 Original line number Diff line number Diff line Loading @@ -43,10 +43,10 @@ This document describes the Linux kernel Makefiles. --- 6.10 Generic header files === 7 Kbuild syntax for exported headers --- 7.1 header-y --- 7.2 genhdr-y --- 7.3 destination-y --- 7.4 generic-y --- 7.1 no-export-headers-y --- 7.2 generic-y --- 7.3 generated-y --- 7.4 mandatory-y === 8 Kbuild Variables === 9 Makefile language Loading Loading @@ -1234,7 +1234,22 @@ When kbuild executes, the following steps are followed (roughly): that may be shared between individual architectures. The recommended approach how to use a generic header file is to list the file in the Kbuild file. See "7.4 generic-y" for further info on syntax etc. See "7.2 generic-y" for further info on syntax etc. --- 6.11 Post-link pass If the file arch/xxx/Makefile.postlink exists, this makefile will be invoked for post-link objects (vmlinux and modules.ko) for architectures to run post-link passes on. Must also handle the clean target. This pass runs after kallsyms generation. If the architecture needs to modify symbol locations, rather than manipulate the kallsyms, it may be easier to add another postlink target for .tmp_vmlinux? targets to be called from link-vmlinux.sh. For example, powerpc uses this to check relocation sanity of the linked vmlinux file. === 7 Kbuild syntax for exported headers Loading @@ -1246,53 +1261,21 @@ The pre-processing does: - drop include of compiler.h - drop all sections that are kernel internal (guarded by ifdef __KERNEL__) Each relevant directory contains a file name "Kbuild" which specifies the headers to be exported. See subsequent chapter for the syntax of the Kbuild file. --- 7.1 header-y header-y specifies header files to be exported. Example: #include/linux/Kbuild header-y += usb/ header-y += aio_abi.h The convention is to list one file per line and preferably in alphabetic order. header-y also specifies which subdirectories to visit. A subdirectory is identified by a trailing '/' which can be seen in the example above for the usb subdirectory. Subdirectories are visited before their parent directories. --- 7.2 genhdr-y genhdr-y specifies generated files to be exported. Generated files are special as they need to be looked up in another directory when doing 'make O=...' builds. All headers under include/uapi/, include/generated/uapi/, arch/<arch>/include/uapi/ and arch/<arch>/include/generated/uapi/ are exported. Example: #include/linux/Kbuild genhdr-y += version.h --- 7.3 destination-y When an architecture has a set of exported headers that needs to be exported to a different directory destination-y is used. destination-y specifies the destination directory for all exported headers in the file where it is present. A Kbuild file may be defined under arch/<arch>/include/uapi/asm/ and arch/<arch>/include/asm/ to list asm files coming from asm-generic. See subsequent chapter for the syntax of the Kbuild file. Example: #arch/xtensa/platforms/s6105/include/platform/Kbuild destination-y := include/linux --- 7.1 no-export-headers In the example above all exported headers in the Kbuild file will be located in the directory "include/linux" when exported. no-export-headers is essentially used by include/uapi/linux/Kbuild to avoid exporting specific headers (e.g. kvm.h) on architectures that do not support it. It should be avoided as much as possible. --- 7.4 generic-y --- 7.2 generic-y If an architecture uses a verbatim copy of a header from include/asm-generic then this is listed in the file Loading @@ -1319,6 +1302,27 @@ See subsequent chapter for the syntax of the Kbuild file. Example: termios.h #include <asm-generic/termios.h> --- 7.3 generated-y If an architecture generates other header files alongside generic-y wrappers, generated-y specifies them. This prevents them being treated as stale asm-generic wrappers and removed. Example: #arch/x86/include/asm/Kbuild generated-y += syscalls_32.h --- 7.4 mandatory-y mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm to define the minimun set of headers that must be exported in include/asm. The convention is to list one subdir per line and preferably in alphabetic order. === 8 Kbuild Variables The top Makefile exports the following variables: Loading Loading
.gitignore +5 −0 Original line number Diff line number Diff line Loading @@ -116,3 +116,8 @@ all.config # fetched Android config fragments android/configs/android-*.cfg # #Ignoring Android.bp link file # Android.bp
Android.bpdeleted 100644 → 0 +0 −27 Original line number Diff line number Diff line cc_binary_host { name: "unifdef", srcs: ["scripts/unifdef.c"], sanitize: { never: true, } } gensrcs { name: "qseecom-kernel-includes", // move to out/ as root for header generation because of scripts/unifdef // storage - at the expense of extra ../ references cmd: "pushd out && mkdir -p scripts && rm -f scripts/unifdef && ln -s ../../$(location unifdef) scripts/unifdef && ../$(location scripts/headers_install.sh) `dirname ../$(out)` ../ $(in) && popd", tools: ["unifdef"], tool_files: ["scripts/headers_install.sh"], export_include_dirs: ["include/uapi"], srcs: ["include/uapi/linux/qseecom.h"], output_extension: "h", } cc_library_headers { name: "qseecom-kernel-headers", generated_headers: ["qseecom-kernel-includes"], export_generated_headers: ["qseecom-kernel-includes"], }
Androidbp 0 → 100644 +45 −0 Original line number Diff line number Diff line cc_binary_host { name: "unifdef", srcs: ["scripts/unifdef.c"], sanitize: { never: true, }, } genrule { name: "gen-headers_install.sh", srcs: ["scripts/headers_install.sh"], tools: ["unifdef"], out: ["headers_install.sh"], cmd: "sed 's+scripts/unifdef+$(location unifdef)+g' $(in) > $(out)", } cc_prebuilt_binary { name: "headers_install.sh", device_supported: false, host_supported: true, srcs: [":gen-headers_install.sh"], } // Use the following for verbose output from kernel_headers.py. // kernel_headers_verbose = "--verbose " // Use the following for minimal output from kernel_headers.py. kernel_headers_verbose = "" build = ["gen_headers_arm.bp", "gen_headers_arm64.bp"] cc_library_headers { name: "qti_kernel_headers", arch: { arm: { generated_headers: ["qti_generate_kernel_headers_arm"], export_generated_headers: ["qti_generate_kernel_headers_arm"], }, arm64: { generated_headers: ["qti_generate_kernel_headers_arm64"], export_generated_headers: ["qti_generate_kernel_headers_arm64"], }, }, vendor: true, recovery_available: true, }
Documentation/devicetree/bindings/qdsp/msm-fastrpc.txt +1 −0 Original line number Diff line number Diff line Loading @@ -13,6 +13,7 @@ Optional properties: - qcom,fastrpc-glink: Flag to use glink instead of smd for IPC - qcom,fastrpc-vmid-heap-shared: Flag for Dynamic heap feature, to share HLOS memory buffer to ADSP - qcom,secure-domains: FastRPC secure domain configuration Optional subnodes: - qcom,msm_fastrpc_compute_cb : Child nodes representing the compute context Loading
Documentation/kbuild/makefiles.txt +52 −48 Original line number Diff line number Diff line Loading @@ -43,10 +43,10 @@ This document describes the Linux kernel Makefiles. --- 6.10 Generic header files === 7 Kbuild syntax for exported headers --- 7.1 header-y --- 7.2 genhdr-y --- 7.3 destination-y --- 7.4 generic-y --- 7.1 no-export-headers-y --- 7.2 generic-y --- 7.3 generated-y --- 7.4 mandatory-y === 8 Kbuild Variables === 9 Makefile language Loading Loading @@ -1234,7 +1234,22 @@ When kbuild executes, the following steps are followed (roughly): that may be shared between individual architectures. The recommended approach how to use a generic header file is to list the file in the Kbuild file. See "7.4 generic-y" for further info on syntax etc. See "7.2 generic-y" for further info on syntax etc. --- 6.11 Post-link pass If the file arch/xxx/Makefile.postlink exists, this makefile will be invoked for post-link objects (vmlinux and modules.ko) for architectures to run post-link passes on. Must also handle the clean target. This pass runs after kallsyms generation. If the architecture needs to modify symbol locations, rather than manipulate the kallsyms, it may be easier to add another postlink target for .tmp_vmlinux? targets to be called from link-vmlinux.sh. For example, powerpc uses this to check relocation sanity of the linked vmlinux file. === 7 Kbuild syntax for exported headers Loading @@ -1246,53 +1261,21 @@ The pre-processing does: - drop include of compiler.h - drop all sections that are kernel internal (guarded by ifdef __KERNEL__) Each relevant directory contains a file name "Kbuild" which specifies the headers to be exported. See subsequent chapter for the syntax of the Kbuild file. --- 7.1 header-y header-y specifies header files to be exported. Example: #include/linux/Kbuild header-y += usb/ header-y += aio_abi.h The convention is to list one file per line and preferably in alphabetic order. header-y also specifies which subdirectories to visit. A subdirectory is identified by a trailing '/' which can be seen in the example above for the usb subdirectory. Subdirectories are visited before their parent directories. --- 7.2 genhdr-y genhdr-y specifies generated files to be exported. Generated files are special as they need to be looked up in another directory when doing 'make O=...' builds. All headers under include/uapi/, include/generated/uapi/, arch/<arch>/include/uapi/ and arch/<arch>/include/generated/uapi/ are exported. Example: #include/linux/Kbuild genhdr-y += version.h --- 7.3 destination-y When an architecture has a set of exported headers that needs to be exported to a different directory destination-y is used. destination-y specifies the destination directory for all exported headers in the file where it is present. A Kbuild file may be defined under arch/<arch>/include/uapi/asm/ and arch/<arch>/include/asm/ to list asm files coming from asm-generic. See subsequent chapter for the syntax of the Kbuild file. Example: #arch/xtensa/platforms/s6105/include/platform/Kbuild destination-y := include/linux --- 7.1 no-export-headers In the example above all exported headers in the Kbuild file will be located in the directory "include/linux" when exported. no-export-headers is essentially used by include/uapi/linux/Kbuild to avoid exporting specific headers (e.g. kvm.h) on architectures that do not support it. It should be avoided as much as possible. --- 7.4 generic-y --- 7.2 generic-y If an architecture uses a verbatim copy of a header from include/asm-generic then this is listed in the file Loading @@ -1319,6 +1302,27 @@ See subsequent chapter for the syntax of the Kbuild file. Example: termios.h #include <asm-generic/termios.h> --- 7.3 generated-y If an architecture generates other header files alongside generic-y wrappers, generated-y specifies them. This prevents them being treated as stale asm-generic wrappers and removed. Example: #arch/x86/include/asm/Kbuild generated-y += syscalls_32.h --- 7.4 mandatory-y mandatory-y is essentially used by include/uapi/asm-generic/Kbuild.asm to define the minimun set of headers that must be exported in include/asm. The convention is to list one subdir per line and preferably in alphabetic order. === 8 Kbuild Variables The top Makefile exports the following variables: Loading