mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-24 14:07:52 -04:00
Kbuild updates for v6.6
- Enable -Wenum-conversion warning option - Refactor the rpm-pkg target - Fix scripts/setlocalversion to consider annotated tags for rt-kernel - Add a jump key feature for the search menu of 'make nconfig' - Support Qt6 for 'make xconfig' - Enable -Wformat-overflow, -Wformat-truncation, -Wstringop-overflow, and -Wrestrict warnings for W=1 builds - Replace <asm/export.h> with <linux/export.h> for alpha, ia64, and sparc - Support DEB_BUILD_OPTIONS=parallel=N for the debian source package - Refactor scripts/Makefile.modinst and fix some modules_sign issues - Add a new Kconfig env variable to warn symbols that are not defined anywhere - Show help messages of config fragments in 'make help' -----BEGIN PGP SIGNATURE----- iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAmT3X/oVHG1hc2FoaXJv eUBrZXJuZWwub3JnAAoJED2LAQed4NsG58oQAIXDrka3r53Flky/uJjSl8ab620o XL3u4PF/ekv6qsZoLlU24WQP8BzcJO6gPHFz88mE9/J1+wHpNKZLZehjpgj1cCY3 LatbEAa3DCZPC/c7P/nz+FT4mjTZpKOeQmvZVfA+xonBHmTyVUKgws0uDB/xuTjE GARyOX7ymD0AAZv84SUUCiaBe5Y2Bkrki67HfteS4bxW8GHg0rZWzrFUUkEkoG54 elNOYR0WYROwyo8Iokd2MedVdK2SPZxvY8i67hXl2K+Qve6tLNk8dbRIENnYI0pk 7oQVmIfC20eu9CteywHlyjt8jpTOeIrRc2yhJKR0YrjjIzKhulRGMh+pFAAwoySd Se60uWCS2AydcXWTrtb+iwFUyM2zRK4SaMlxleqnoE/bWYp6jhg9qbV9xpztWSYI j39k9aX7B19stN1drzJeyXdILRVtaAQCcax3RR+mGgm4Z5fuTDntPepvIv8J3lBg QZ4MCdOdtFw33eQaKa7O3LddD3q1X355xeaIITivEe3rAk5iIJYu3Ty1VY+/XTcH ktSVl83zQ5Ge3tvx8D6kCR9J8jAQyTLIKHxvr/j969HgZKguS2i37eChnPyKcu23 ZMKJcmCJ1O7naQXVrb/TeiaMR0UEo/PSdrUjpEO3LlMpRthNXLVSLfgJGv8WLO7/ pb/HFXHgKaSORiRV =lfUi -----END PGP SIGNATURE----- Merge tag 'kbuild-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull Kbuild updates from Masahiro Yamada: - Enable -Wenum-conversion warning option - Refactor the rpm-pkg target - Fix scripts/setlocalversion to consider annotated tags for rt-kernel - Add a jump key feature for the search menu of 'make nconfig' - Support Qt6 for 'make xconfig' - Enable -Wformat-overflow, -Wformat-truncation, -Wstringop-overflow, and -Wrestrict warnings for W=1 builds - Replace <asm/export.h> with <linux/export.h> for alpha, ia64, and sparc - Support DEB_BUILD_OPTIONS=parallel=N for the debian source package - Refactor scripts/Makefile.modinst and fix some modules_sign issues - Add a new Kconfig env variable to warn symbols that are not defined anywhere - Show help messages of config fragments in 'make help' * tag 'kbuild-v6.6' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (62 commits) kconfig: fix possible buffer overflow kbuild: Show marked Kconfig fragments in "help" kconfig: add warn-unknown-symbols sanity check kbuild: dummy-tools: make MPROFILE_KERNEL checks work on BE Documentation/llvm: refresh docs modpost: Skip .llvm.call-graph-profile section check kbuild: support modules_sign for external modules as well kbuild: support 'make modules_sign' with CONFIG_MODULE_SIG_ALL=n kbuild: move more module installation code to scripts/Makefile.modinst kbuild: reduce the number of mkdir calls during modules_install kbuild: remove $(MODLIB)/source symlink kbuild: move depmod rule to scripts/Makefile.modinst kbuild: add modules_sign to no-{compiler,sync-config}-targets kbuild: do not run depmod for 'make modules_sign' kbuild: deb-pkg: support DEB_BUILD_OPTIONS=parallel=N in debian/rules alpha: remove <asm/export.h> alpha: replace #include <asm/export.h> with #include <linux/export.h> ia64: remove <asm/export.h> ia64: replace #include <asm/export.h> with #include <linux/export.h> sparc: remove <asm/export.h> ...
This commit is contained in:
commit
61401a8724
149 changed files with 1076 additions and 825 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -74,7 +74,7 @@ modules.order
|
||||||
#
|
#
|
||||||
# RPM spec file (make rpm-pkg)
|
# RPM spec file (make rpm-pkg)
|
||||||
#
|
#
|
||||||
/*.spec
|
/kernel.spec
|
||||||
/rpmbuild/
|
/rpmbuild/
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -56,6 +56,15 @@ KCONFIG_OVERWRITECONFIG
|
||||||
If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
|
If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
|
||||||
break symlinks when .config is a symlink to somewhere else.
|
break symlinks when .config is a symlink to somewhere else.
|
||||||
|
|
||||||
|
KCONFIG_WARN_UNKNOWN_SYMBOLS
|
||||||
|
----------------------------
|
||||||
|
This environment variable makes Kconfig warn about all unrecognized
|
||||||
|
symbols in the config input.
|
||||||
|
|
||||||
|
KCONFIG_WERROR
|
||||||
|
--------------
|
||||||
|
If set, Kconfig treats warnings as errors.
|
||||||
|
|
||||||
`CONFIG_`
|
`CONFIG_`
|
||||||
---------
|
---------
|
||||||
If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
|
If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
|
||||||
|
@ -212,6 +221,10 @@ Searching in menuconfig:
|
||||||
first (and in alphabetical order), then come all other symbols,
|
first (and in alphabetical order), then come all other symbols,
|
||||||
sorted in alphabetical order.
|
sorted in alphabetical order.
|
||||||
|
|
||||||
|
In this menu, pressing the key in the (#) prefix will jump
|
||||||
|
directly to that location. You will be returned to the current
|
||||||
|
search results after exiting this new menu.
|
||||||
|
|
||||||
----------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
User interface options for 'menuconfig'
|
User interface options for 'menuconfig'
|
||||||
|
@ -264,6 +277,10 @@ Searching in nconfig:
|
||||||
F8 (SymSearch) searches the configuration symbols for the
|
F8 (SymSearch) searches the configuration symbols for the
|
||||||
given string or regular expression (regex).
|
given string or regular expression (regex).
|
||||||
|
|
||||||
|
In the SymSearch, pressing the key in the (#) prefix will
|
||||||
|
jump directly to that location. You will be returned to the
|
||||||
|
current search results after exiting this new menu.
|
||||||
|
|
||||||
NCONFIG_MODE
|
NCONFIG_MODE
|
||||||
------------
|
------------
|
||||||
This mode shows all sub-menus in one large tree.
|
This mode shows all sub-menus in one large tree.
|
||||||
|
|
|
@ -25,50 +25,38 @@ objects <https://www.aosabook.org/en/llvm.html>`_. Clang is a front-end to LLVM
|
||||||
that supports C and the GNU C extensions required by the kernel, and is
|
that supports C and the GNU C extensions required by the kernel, and is
|
||||||
pronounced "klang," not "see-lang."
|
pronounced "klang," not "see-lang."
|
||||||
|
|
||||||
Clang
|
Building with LLVM
|
||||||
-----
|
------------------
|
||||||
|
|
||||||
The compiler used can be swapped out via ``CC=`` command line argument to ``make``.
|
Invoke ``make`` via::
|
||||||
``CC=`` should be set when selecting a config and during a build. ::
|
|
||||||
|
|
||||||
make CC=clang defconfig
|
make LLVM=1
|
||||||
|
|
||||||
make CC=clang
|
to compile for the host target. For cross compiling::
|
||||||
|
|
||||||
Cross Compiling
|
make LLVM=1 ARCH=arm64
|
||||||
---------------
|
|
||||||
|
|
||||||
A single Clang compiler binary will typically contain all supported backends,
|
The LLVM= argument
|
||||||
which can help simplify cross compiling. ::
|
------------------
|
||||||
|
|
||||||
make ARCH=arm64 CC=clang CROSS_COMPILE=aarch64-linux-gnu-
|
LLVM has substitutes for GNU binutils utilities. They can be enabled
|
||||||
|
individually. The full list of supported make variables::
|
||||||
``CROSS_COMPILE`` is not used to prefix the Clang compiler binary, instead
|
|
||||||
``CROSS_COMPILE`` is used to set a command line flag: ``--target=<triple>``. For
|
|
||||||
example: ::
|
|
||||||
|
|
||||||
clang --target=aarch64-linux-gnu foo.c
|
|
||||||
|
|
||||||
LLVM Utilities
|
|
||||||
--------------
|
|
||||||
|
|
||||||
LLVM has substitutes for GNU binutils utilities. They can be enabled individually.
|
|
||||||
The full list of supported make variables::
|
|
||||||
|
|
||||||
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
make CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
||||||
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
||||||
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
|
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld
|
||||||
|
|
||||||
To simplify the above command, Kbuild supports the ``LLVM`` variable::
|
``LLVM=1`` expands to the above.
|
||||||
|
|
||||||
make LLVM=1
|
|
||||||
|
|
||||||
If your LLVM tools are not available in your PATH, you can supply their
|
If your LLVM tools are not available in your PATH, you can supply their
|
||||||
location using the LLVM variable with a trailing slash::
|
location using the LLVM variable with a trailing slash::
|
||||||
|
|
||||||
make LLVM=/path/to/llvm/
|
make LLVM=/path/to/llvm/
|
||||||
|
|
||||||
which will use ``/path/to/llvm/clang``, ``/path/to/llvm/ld.lld``, etc.
|
which will use ``/path/to/llvm/clang``, ``/path/to/llvm/ld.lld``, etc. The
|
||||||
|
following may also be used::
|
||||||
|
|
||||||
|
PATH=/path/to/llvm:$PATH make LLVM=1
|
||||||
|
|
||||||
If your LLVM tools have a version suffix and you want to test with that
|
If your LLVM tools have a version suffix and you want to test with that
|
||||||
explicit version rather than the unsuffixed executables like ``LLVM=1``, you
|
explicit version rather than the unsuffixed executables like ``LLVM=1``, you
|
||||||
|
@ -78,31 +66,72 @@ can pass the suffix using the ``LLVM`` variable::
|
||||||
|
|
||||||
which will use ``clang-14``, ``ld.lld-14``, etc.
|
which will use ``clang-14``, ``ld.lld-14``, etc.
|
||||||
|
|
||||||
|
To support combinations of out of tree paths with version suffixes, we
|
||||||
|
recommend::
|
||||||
|
|
||||||
|
PATH=/path/to/llvm/:$PATH make LLVM=-14
|
||||||
|
|
||||||
``LLVM=0`` is not the same as omitting ``LLVM`` altogether, it will behave like
|
``LLVM=0`` is not the same as omitting ``LLVM`` altogether, it will behave like
|
||||||
``LLVM=1``. If you only wish to use certain LLVM utilities, use their respective
|
``LLVM=1``. If you only wish to use certain LLVM utilities, use their
|
||||||
make variables.
|
respective make variables.
|
||||||
|
|
||||||
The integrated assembler is enabled by default. You can pass ``LLVM_IAS=0`` to
|
The same value used for ``LLVM=`` should be set for each invocation of ``make``
|
||||||
disable it.
|
if configuring and building via distinct commands. ``LLVM=`` should also be set
|
||||||
|
as an environment variable when running scripts that will eventually run
|
||||||
|
``make``.
|
||||||
|
|
||||||
Omitting CROSS_COMPILE
|
Cross Compiling
|
||||||
|
---------------
|
||||||
|
|
||||||
|
A single Clang compiler binary (and corresponding LLVM utilities) will
|
||||||
|
typically contain all supported back ends, which can help simplify cross
|
||||||
|
compiling especially when ``LLVM=1`` is used. If you use only LLVM tools,
|
||||||
|
``CROSS_COMPILE`` or target-triple-prefixes become unnecessary. Example::
|
||||||
|
|
||||||
|
make LLVM=1 ARCH=arm64
|
||||||
|
|
||||||
|
As an example of mixing LLVM and GNU utilities, for a target like ``ARCH=s390``
|
||||||
|
which does not yet have ``ld.lld`` or ``llvm-objcopy`` support, you could
|
||||||
|
invoke ``make`` via::
|
||||||
|
|
||||||
|
make LLVM=1 ARCH=s390 LD=s390x-linux-gnu-ld.bfd \
|
||||||
|
OBJCOPY=s390x-linux-gnu-objcopy
|
||||||
|
|
||||||
|
This example will invoke ``s390x-linux-gnu-ld.bfd`` as the linker and
|
||||||
|
``s390x-linux-gnu-objcopy``, so ensure those are reachable in your ``$PATH``.
|
||||||
|
|
||||||
|
``CROSS_COMPILE`` is not used to prefix the Clang compiler binary (or
|
||||||
|
corresponding LLVM utilities) as is the case for GNU utilities when ``LLVM=1``
|
||||||
|
is not set.
|
||||||
|
|
||||||
|
The LLVM_IAS= argument
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
As explained above, ``CROSS_COMPILE`` is used to set ``--target=<triple>``.
|
Clang can assemble assembler code. You can pass ``LLVM_IAS=0`` to disable this
|
||||||
|
behavior and have Clang invoke the corresponding non-integrated assembler
|
||||||
|
instead. Example::
|
||||||
|
|
||||||
If ``CROSS_COMPILE`` is not specified, the ``--target=<triple>`` is inferred
|
make LLVM=1 LLVM_IAS=0
|
||||||
from ``ARCH``.
|
|
||||||
|
|
||||||
That means if you use only LLVM tools, ``CROSS_COMPILE`` becomes unnecessary.
|
``CROSS_COMPILE`` is necessary when cross compiling and ``LLVM_IAS=0``
|
||||||
|
is used in order to set ``--prefix=`` for the compiler to find the
|
||||||
|
corresponding non-integrated assembler (typically, you don't want to use the
|
||||||
|
system assembler when targeting another architecture). Example::
|
||||||
|
|
||||||
For example, to cross-compile the arm64 kernel::
|
make LLVM=1 ARCH=arm LLVM_IAS=0 CROSS_COMPILE=arm-linux-gnueabi-
|
||||||
|
|
||||||
make ARCH=arm64 LLVM=1
|
|
||||||
|
|
||||||
If ``LLVM_IAS=0`` is specified, ``CROSS_COMPILE`` is also used to derive
|
Ccache
|
||||||
``--prefix=<path>`` to search for the GNU assembler and linker. ::
|
------
|
||||||
|
|
||||||
make ARCH=arm64 LLVM=1 LLVM_IAS=0 CROSS_COMPILE=aarch64-linux-gnu-
|
``ccache`` can be used with ``clang`` to improve subsequent builds, (though
|
||||||
|
KBUILD_BUILD_TIMESTAMP_ should be set to a deterministic value between builds
|
||||||
|
in order to avoid 100% cache misses, see Reproducible_builds_ for more info):
|
||||||
|
|
||||||
|
KBUILD_BUILD_TIMESTAMP='' make LLVM=1 CC="ccache clang"
|
||||||
|
|
||||||
|
.. _KBUILD_BUILD_TIMESTAMP: kbuild.html#kbuild-build-timestamp
|
||||||
|
.. _Reproducible_builds: reproducible-builds.html#timestamps
|
||||||
|
|
||||||
Supported Architectures
|
Supported Architectures
|
||||||
-----------------------
|
-----------------------
|
||||||
|
@ -135,14 +164,17 @@ yet. Bug reports are always welcome at the issue tracker below!
|
||||||
* - hexagon
|
* - hexagon
|
||||||
- Maintained
|
- Maintained
|
||||||
- ``LLVM=1``
|
- ``LLVM=1``
|
||||||
|
* - loongarch
|
||||||
|
- Maintained
|
||||||
|
- ``LLVM=1``
|
||||||
* - mips
|
* - mips
|
||||||
- Maintained
|
- Maintained
|
||||||
- ``LLVM=1``
|
- ``LLVM=1``
|
||||||
* - powerpc
|
* - powerpc
|
||||||
- Maintained
|
- Maintained
|
||||||
- ``CC=clang``
|
- ``LLVM=1``
|
||||||
* - riscv
|
* - riscv
|
||||||
- Maintained
|
- Supported
|
||||||
- ``LLVM=1``
|
- ``LLVM=1``
|
||||||
* - s390
|
* - s390
|
||||||
- Maintained
|
- Maintained
|
||||||
|
@ -171,7 +203,11 @@ Getting Help
|
||||||
Getting LLVM
|
Getting LLVM
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
We provide prebuilt stable versions of LLVM on `kernel.org <https://kernel.org/pub/tools/llvm/>`_.
|
We provide prebuilt stable versions of LLVM on `kernel.org
|
||||||
|
<https://kernel.org/pub/tools/llvm/>`_. These have been optimized with profile
|
||||||
|
data for building Linux kernels, which should improve kernel build times
|
||||||
|
relative to other distributions of LLVM.
|
||||||
|
|
||||||
Below are links that may be useful for building LLVM from source or procuring
|
Below are links that may be useful for building LLVM from source or procuring
|
||||||
it through a distribution's package manager.
|
it through a distribution's package manager.
|
||||||
|
|
||||||
|
|
|
@ -11382,6 +11382,7 @@ F: scripts/dummy-tools/
|
||||||
F: scripts/mk*
|
F: scripts/mk*
|
||||||
F: scripts/mod/
|
F: scripts/mod/
|
||||||
F: scripts/package/
|
F: scripts/package/
|
||||||
|
F: usr/
|
||||||
|
|
||||||
KERNEL HARDENING (not covered by other areas)
|
KERNEL HARDENING (not covered by other areas)
|
||||||
M: Kees Cook <keescook@chromium.org>
|
M: Kees Cook <keescook@chromium.org>
|
||||||
|
|
172
Makefile
172
Makefile
|
@ -280,8 +280,8 @@ no-dot-config-targets := $(clean-targets) \
|
||||||
# Installation targets should not require compiler. Unfortunately, vdso_install
|
# Installation targets should not require compiler. Unfortunately, vdso_install
|
||||||
# is an exception where build artifacts may be updated. This must be fixed.
|
# is an exception where build artifacts may be updated. This must be fixed.
|
||||||
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
|
no-compiler-targets := $(no-dot-config-targets) install dtbs_install \
|
||||||
headers_install modules_install kernelrelease image_name
|
headers_install modules_install modules_sign kernelrelease image_name
|
||||||
no-sync-config-targets := $(no-dot-config-targets) %install kernelrelease \
|
no-sync-config-targets := $(no-dot-config-targets) %install modules_sign kernelrelease \
|
||||||
image_name
|
image_name
|
||||||
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
|
single-targets := %.a %.i %.ko %.lds %.ll %.lst %.mod %.o %.rsi %.s %.symtypes %/
|
||||||
|
|
||||||
|
@ -510,7 +510,6 @@ LEX = flex
|
||||||
YACC = bison
|
YACC = bison
|
||||||
AWK = awk
|
AWK = awk
|
||||||
INSTALLKERNEL := installkernel
|
INSTALLKERNEL := installkernel
|
||||||
DEPMOD = depmod
|
|
||||||
PERL = perl
|
PERL = perl
|
||||||
PYTHON3 = python3
|
PYTHON3 = python3
|
||||||
CHECK = sparse
|
CHECK = sparse
|
||||||
|
@ -564,14 +563,6 @@ KBUILD_CFLAGS += -funsigned-char
|
||||||
KBUILD_CFLAGS += -fno-common
|
KBUILD_CFLAGS += -fno-common
|
||||||
KBUILD_CFLAGS += -fno-PIE
|
KBUILD_CFLAGS += -fno-PIE
|
||||||
KBUILD_CFLAGS += -fno-strict-aliasing
|
KBUILD_CFLAGS += -fno-strict-aliasing
|
||||||
KBUILD_CFLAGS += -Wall
|
|
||||||
KBUILD_CFLAGS += -Wundef
|
|
||||||
KBUILD_CFLAGS += -Werror=implicit-function-declaration
|
|
||||||
KBUILD_CFLAGS += -Werror=implicit-int
|
|
||||||
KBUILD_CFLAGS += -Werror=return-type
|
|
||||||
KBUILD_CFLAGS += -Werror=strict-prototypes
|
|
||||||
KBUILD_CFLAGS += -Wno-format-security
|
|
||||||
KBUILD_CFLAGS += -Wno-trigraphs
|
|
||||||
|
|
||||||
KBUILD_CPPFLAGS := -D__KERNEL__
|
KBUILD_CPPFLAGS := -D__KERNEL__
|
||||||
KBUILD_RUSTFLAGS := $(rust_common_flags) \
|
KBUILD_RUSTFLAGS := $(rust_common_flags) \
|
||||||
|
@ -824,10 +815,6 @@ endif # may-sync-config
|
||||||
endif # need-config
|
endif # need-config
|
||||||
|
|
||||||
KBUILD_CFLAGS += -fno-delete-null-pointer-checks
|
KBUILD_CFLAGS += -fno-delete-null-pointer-checks
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning,frame-address,)
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
|
|
||||||
|
|
||||||
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
|
||||||
KBUILD_CFLAGS += -O2
|
KBUILD_CFLAGS += -O2
|
||||||
|
@ -858,40 +845,15 @@ ifdef CONFIG_READABLE_ASM
|
||||||
KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
|
KBUILD_CFLAGS += -fno-reorder-blocks -fno-ipa-cp-clone -fno-partial-inlining
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq ($(CONFIG_FRAME_WARN),0)
|
|
||||||
KBUILD_CFLAGS += -Wframe-larger-than=$(CONFIG_FRAME_WARN)
|
|
||||||
endif
|
|
||||||
|
|
||||||
stackp-flags-y := -fno-stack-protector
|
stackp-flags-y := -fno-stack-protector
|
||||||
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
|
stackp-flags-$(CONFIG_STACKPROTECTOR) := -fstack-protector
|
||||||
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
stackp-flags-$(CONFIG_STACKPROTECTOR_STRONG) := -fstack-protector-strong
|
||||||
|
|
||||||
KBUILD_CFLAGS += $(stackp-flags-y)
|
KBUILD_CFLAGS += $(stackp-flags-y)
|
||||||
|
|
||||||
KBUILD_CPPFLAGS-$(CONFIG_WERROR) += -Werror
|
|
||||||
KBUILD_CPPFLAGS += $(KBUILD_CPPFLAGS-y)
|
|
||||||
KBUILD_CFLAGS-$(CONFIG_CC_NO_ARRAY_BOUNDS) += -Wno-array-bounds
|
|
||||||
|
|
||||||
KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings
|
KBUILD_RUSTFLAGS-$(CONFIG_WERROR) += -Dwarnings
|
||||||
KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y)
|
KBUILD_RUSTFLAGS += $(KBUILD_RUSTFLAGS-y)
|
||||||
|
|
||||||
ifdef CONFIG_CC_IS_CLANG
|
|
||||||
# The kernel builds with '-std=gnu11' so use of GNU extensions is acceptable.
|
|
||||||
KBUILD_CFLAGS += -Wno-gnu
|
|
||||||
else
|
|
||||||
|
|
||||||
# gcc inanely warns about local variables called 'main'
|
|
||||||
KBUILD_CFLAGS += -Wno-main
|
|
||||||
endif
|
|
||||||
|
|
||||||
# These warnings generated too much noise in a regular build.
|
|
||||||
# Use make W=1 to enable them (see scripts/Makefile.extrawarn)
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable)
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable)
|
|
||||||
|
|
||||||
# These result in bogus false positives
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer)
|
|
||||||
|
|
||||||
ifdef CONFIG_FRAME_POINTER
|
ifdef CONFIG_FRAME_POINTER
|
||||||
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
KBUILD_CFLAGS += -fno-omit-frame-pointer -fno-optimize-sibling-calls
|
||||||
KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y
|
KBUILD_RUSTFLAGS += -Cforce-frame-pointers=y
|
||||||
|
@ -1026,51 +988,12 @@ endif
|
||||||
# arch Makefile may override CC so keep this after arch Makefile is included
|
# arch Makefile may override CC so keep this after arch Makefile is included
|
||||||
NOSTDINC_FLAGS += -nostdinc
|
NOSTDINC_FLAGS += -nostdinc
|
||||||
|
|
||||||
# Variable Length Arrays (VLAs) should not be used anywhere in the kernel
|
|
||||||
KBUILD_CFLAGS += -Wvla
|
|
||||||
|
|
||||||
# disable pointer signed / unsigned warnings in gcc 4.0
|
|
||||||
KBUILD_CFLAGS += -Wno-pointer-sign
|
|
||||||
|
|
||||||
# In order to make sure new function cast mismatches are not introduced
|
|
||||||
# in the kernel (to avoid tripping CFI checking), the kernel should be
|
|
||||||
# globally built with -Wcast-function-type.
|
|
||||||
KBUILD_CFLAGS += $(call cc-option, -Wcast-function-type)
|
|
||||||
|
|
||||||
# To gain proper coverage for CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE,
|
# To gain proper coverage for CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE,
|
||||||
# the kernel uses only C99 flexible arrays for dynamically sized trailing
|
# the kernel uses only C99 flexible arrays for dynamically sized trailing
|
||||||
# arrays. Enforce this for everything that may examine structure sizes and
|
# arrays. Enforce this for everything that may examine structure sizes and
|
||||||
# perform bounds checking.
|
# perform bounds checking.
|
||||||
KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
|
KBUILD_CFLAGS += $(call cc-option, -fstrict-flex-arrays=3)
|
||||||
|
|
||||||
# disable stringop warnings in gcc 8+
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-truncation)
|
|
||||||
|
|
||||||
# We'll want to enable this eventually, but it's not going away for 5.7 at least
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overflow)
|
|
||||||
|
|
||||||
# Another good warning that we'll want to enable eventually
|
|
||||||
KBUILD_CFLAGS += $(call cc-disable-warning, restrict)
|
|
||||||
|
|
||||||
# Enabled with W=2, disabled by default as noisy
|
|
||||||
ifdef CONFIG_CC_IS_GCC
|
|
||||||
KBUILD_CFLAGS += -Wno-maybe-uninitialized
|
|
||||||
endif
|
|
||||||
|
|
||||||
# The allocators already balk at large sizes, so silence the compiler
|
|
||||||
# warnings for bounds checks involving those possible values. While
|
|
||||||
# -Wno-alloc-size-larger-than would normally be used here, earlier versions
|
|
||||||
# of gcc (<9.1) weirdly don't handle the option correctly when _other_
|
|
||||||
# warnings are produced (?!). Using -Walloc-size-larger-than=SIZE_MAX
|
|
||||||
# doesn't work (as it is documented to), silently resolving to "0" prior to
|
|
||||||
# version 9.1 (and producing an error more recently). Numeric values larger
|
|
||||||
# than PTRDIFF_MAX also don't work prior to version 9.1, which are silently
|
|
||||||
# ignored, continuing to default to PTRDIFF_MAX. So, left with no other
|
|
||||||
# choice, we must perform a versioned check to disable this warning.
|
|
||||||
# https://lore.kernel.org/lkml/20210824115859.187f272f@canb.auug.org.au
|
|
||||||
KBUILD_CFLAGS-$(call gcc-min-version, 90100) += -Wno-alloc-size-larger-than
|
|
||||||
KBUILD_CFLAGS += $(KBUILD_CFLAGS-y) $(CONFIG_CC_IMPLICIT_FALLTHROUGH)
|
|
||||||
|
|
||||||
# disable invalid "can't wrap" optimizations for signed / pointers
|
# disable invalid "can't wrap" optimizations for signed / pointers
|
||||||
KBUILD_CFLAGS += -fno-strict-overflow
|
KBUILD_CFLAGS += -fno-strict-overflow
|
||||||
|
|
||||||
|
@ -1082,15 +1005,6 @@ ifdef CONFIG_CC_IS_GCC
|
||||||
KBUILD_CFLAGS += -fconserve-stack
|
KBUILD_CFLAGS += -fconserve-stack
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Prohibit date/time macros, which would make the build non-deterministic
|
|
||||||
KBUILD_CFLAGS += -Werror=date-time
|
|
||||||
|
|
||||||
# enforce correct pointer usage
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
|
||||||
|
|
||||||
# Require designated initializers for all marked structures
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
|
||||||
|
|
||||||
# change __FILE__ to the relative path from the srctree
|
# change __FILE__ to the relative path from the srctree
|
||||||
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
||||||
|
|
||||||
|
@ -1548,44 +1462,8 @@ modules: modules_prepare
|
||||||
modules_prepare: prepare
|
modules_prepare: prepare
|
||||||
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
|
$(Q)$(MAKE) $(build)=scripts scripts/module.lds
|
||||||
|
|
||||||
export modules_sign_only :=
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_MODULE_SIG),y)
|
|
||||||
PHONY += modules_sign
|
|
||||||
modules_sign: modules_install
|
|
||||||
@:
|
|
||||||
|
|
||||||
# modules_sign is a subset of modules_install.
|
|
||||||
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
|
|
||||||
ifeq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
||||||
modules_sign_only := y
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # CONFIG_MODULES
|
endif # CONFIG_MODULES
|
||||||
|
|
||||||
modinst_pre :=
|
|
||||||
ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
|
|
||||||
modinst_pre := __modinst_pre
|
|
||||||
endif
|
|
||||||
|
|
||||||
modules_install: $(modinst_pre)
|
|
||||||
PHONY += __modinst_pre
|
|
||||||
__modinst_pre:
|
|
||||||
@rm -rf $(MODLIB)/kernel
|
|
||||||
@rm -f $(MODLIB)/source
|
|
||||||
@mkdir -p $(MODLIB)
|
|
||||||
ifdef CONFIG_MODULES
|
|
||||||
@ln -s $(abspath $(srctree)) $(MODLIB)/source
|
|
||||||
@if [ ! $(objtree) -ef $(MODLIB)/build ]; then \
|
|
||||||
rm -f $(MODLIB)/build ; \
|
|
||||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
|
||||||
fi
|
|
||||||
@sed 's:^\(.*\)\.o$$:kernel/\1.ko:' modules.order > $(MODLIB)/modules.order
|
|
||||||
endif
|
|
||||||
@cp -f modules.builtin $(MODLIB)/
|
|
||||||
@cp -f $(objtree)/modules.builtin.modinfo $(MODLIB)/
|
|
||||||
|
|
||||||
###
|
###
|
||||||
# Cleaning is done on three levels.
|
# Cleaning is done on three levels.
|
||||||
# make clean Delete most generated files
|
# make clean Delete most generated files
|
||||||
|
@ -1594,7 +1472,7 @@ endif
|
||||||
# make distclean Remove editor backup files, patch leftover files and the like
|
# make distclean Remove editor backup files, patch leftover files and the like
|
||||||
|
|
||||||
# Directories & files removed with 'make clean'
|
# Directories & files removed with 'make clean'
|
||||||
CLEAN_FILES += include/ksym vmlinux.symvers modules-only.symvers \
|
CLEAN_FILES += vmlinux.symvers modules-only.symvers \
|
||||||
modules.builtin modules.builtin.modinfo modules.nsdeps \
|
modules.builtin modules.builtin.modinfo modules.nsdeps \
|
||||||
compile_commands.json .thinlto-cache rust/test rust/doc \
|
compile_commands.json .thinlto-cache rust/test rust/doc \
|
||||||
rust-project.json .vmlinux.objs .vmlinux.export.c
|
rust-project.json .vmlinux.objs .vmlinux.export.c
|
||||||
|
@ -1608,7 +1486,7 @@ MRPROPER_FILES += include/config include/generated \
|
||||||
certs/signing_key.pem \
|
certs/signing_key.pem \
|
||||||
certs/x509.genkey \
|
certs/x509.genkey \
|
||||||
vmlinux-gdb.py \
|
vmlinux-gdb.py \
|
||||||
*.spec rpmbuild \
|
kernel.spec rpmbuild \
|
||||||
rust/libmacros.so
|
rust/libmacros.so
|
||||||
|
|
||||||
# clean - Delete most, but leave enough to build external modules
|
# clean - Delete most, but leave enough to build external modules
|
||||||
|
@ -1675,7 +1553,6 @@ help:
|
||||||
@echo ' mrproper - Remove all generated files + config + various backup files'
|
@echo ' mrproper - Remove all generated files + config + various backup files'
|
||||||
@echo ' distclean - mrproper + remove editor backup and patch files'
|
@echo ' distclean - mrproper + remove editor backup and patch files'
|
||||||
@echo ''
|
@echo ''
|
||||||
@echo 'Configuration targets:'
|
|
||||||
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
|
@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
|
||||||
@echo ''
|
@echo ''
|
||||||
@echo 'Other generic targets:'
|
@echo 'Other generic targets:'
|
||||||
|
@ -1923,19 +1800,39 @@ help:
|
||||||
@echo ' rust-analyzer - generate rust-project.json rust-analyzer support file'
|
@echo ' rust-analyzer - generate rust-project.json rust-analyzer support file'
|
||||||
@echo ''
|
@echo ''
|
||||||
|
|
||||||
|
ifndef CONFIG_MODULES
|
||||||
|
modules modules_install: __external_modules_error
|
||||||
__external_modules_error:
|
__external_modules_error:
|
||||||
@echo >&2 '***'
|
@echo >&2 '***'
|
||||||
@echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
|
@echo >&2 '*** The present kernel disabled CONFIG_MODULES.'
|
||||||
@echo >&2 '*** You cannot build or install external modules.'
|
@echo >&2 '*** You cannot build or install external modules.'
|
||||||
@echo >&2 '***'
|
@echo >&2 '***'
|
||||||
@false
|
@false
|
||||||
|
endif
|
||||||
|
|
||||||
endif # KBUILD_EXTMOD
|
endif # KBUILD_EXTMOD
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Modules
|
# Modules
|
||||||
|
|
||||||
PHONY += modules modules_install modules_prepare
|
PHONY += modules modules_install modules_sign modules_prepare
|
||||||
|
|
||||||
|
modules_install:
|
||||||
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst \
|
||||||
|
sign-only=$(if $(filter modules_install,$(MAKECMDGOALS)),,y)
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_MODULE_SIG),y)
|
||||||
|
# modules_sign is a subset of modules_install.
|
||||||
|
# 'make modules_install modules_sign' is equivalent to 'make modules_install'.
|
||||||
|
modules_sign: modules_install
|
||||||
|
@:
|
||||||
|
else
|
||||||
|
modules_sign:
|
||||||
|
@echo >&2 '***'
|
||||||
|
@echo >&2 '*** CONFIG_MODULE_SIG is disabled. You cannot sign modules.'
|
||||||
|
@echo >&2 '***'
|
||||||
|
@false
|
||||||
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_MODULES
|
ifdef CONFIG_MODULES
|
||||||
|
|
||||||
|
@ -1953,22 +1850,9 @@ PHONY += modules_check
|
||||||
modules_check: $(MODORDER)
|
modules_check: $(MODORDER)
|
||||||
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
|
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/modules-check.sh $<
|
||||||
|
|
||||||
quiet_cmd_depmod = DEPMOD $(MODLIB)
|
|
||||||
cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
|
|
||||||
$(KERNELRELEASE)
|
|
||||||
|
|
||||||
modules_install:
|
|
||||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modinst
|
|
||||||
$(call cmd,depmod)
|
|
||||||
|
|
||||||
else # CONFIG_MODULES
|
else # CONFIG_MODULES
|
||||||
|
|
||||||
# Modules not configured
|
modules:
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
PHONY += __external_modules_error
|
|
||||||
|
|
||||||
modules modules_install: __external_modules_error
|
|
||||||
@:
|
@:
|
||||||
|
|
||||||
KBUILD_MODULES :=
|
KBUILD_MODULES :=
|
||||||
|
@ -2147,6 +2031,10 @@ kernelversion:
|
||||||
image_name:
|
image_name:
|
||||||
@echo $(KBUILD_IMAGE)
|
@echo $(KBUILD_IMAGE)
|
||||||
|
|
||||||
|
PHONY += run-command
|
||||||
|
run-command:
|
||||||
|
$(Q)$(KBUILD_RUN_COMMAND)
|
||||||
|
|
||||||
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
quiet_cmd_rmfiles = $(if $(wildcard $(rm-files)),CLEAN $(wildcard $(rm-files)))
|
||||||
cmd_rmfiles = rm -rf $(rm-files)
|
cmd_rmfiles = rm -rf $(rm-files)
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,5 @@
|
||||||
generated-y += syscall_table.h
|
generated-y += syscall_table.h
|
||||||
generic-y += agp.h
|
generic-y += agp.h
|
||||||
generic-y += asm-offsets.h
|
generic-y += asm-offsets.h
|
||||||
generic-y += export.h
|
|
||||||
generic-y += kvm_para.h
|
generic-y += kvm_para.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
* arch/alpha/lib/callback_srm.S
|
* arch/alpha/lib/callback_srm.S
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/console.h>
|
#include <asm/console.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
#define HWRPB_CRB_OFFSET 0xc0
|
#define HWRPB_CRB_OFFSET 0xc0
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* Zero an entire page.
|
* Zero an entire page.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
.global clear_page
|
.global clear_page
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* a successful copy). There is also some rather minor exception setup
|
* a successful copy). There is also some rather minor exception setup
|
||||||
* stuff.
|
* stuff.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
/* Allow an exception for an insn; exit if we get one. */
|
/* Allow an exception for an insn; exit if we get one. */
|
||||||
#define EX(x,y...) \
|
#define EX(x,y...) \
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* Copy an entire page.
|
* Copy an entire page.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
.global copy_page
|
.global copy_page
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* exception setup stuff..
|
* exception setup stuff..
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
/* Allow an exception for an insn; exit if we get one. */
|
/* Allow an exception for an insn; exit if we get one. */
|
||||||
#define EXI(x,y...) \
|
#define EXI(x,y...) \
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
|
* added by Ivan Kokshaysky <ink@jurassic.park.msu.ru>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.globl csum_ipv6_magic
|
.globl csum_ipv6_magic
|
||||||
.align 4
|
.align 4
|
||||||
.ent csum_ipv6_magic
|
.ent csum_ipv6_magic
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
* $28 - compare status
|
* $28 - compare status
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#define halt .long 0
|
#define halt .long 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
*
|
*
|
||||||
* Zero an entire page.
|
* Zero an entire page.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
.global clear_page
|
.global clear_page
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
* want to leave a hole (and we also want to avoid repeating lots of work)
|
* want to leave a hole (and we also want to avoid repeating lots of work)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
/* Allow an exception for an insn; exit if we get one. */
|
/* Allow an exception for an insn; exit if we get one. */
|
||||||
#define EX(x,y...) \
|
#define EX(x,y...) \
|
||||||
99: x,##y; \
|
99: x,##y; \
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
destination pages are in the dcache, but it is my guess that this is
|
destination pages are in the dcache, but it is my guess that this is
|
||||||
less important than the dcache miss case. */
|
less important than the dcache miss case. */
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
.global copy_page
|
.global copy_page
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
/* Allow an exception for an insn; exit if we get one. */
|
/* Allow an exception for an insn; exit if we get one. */
|
||||||
#define EXI(x,y...) \
|
#define EXI(x,y...) \
|
||||||
99: x,##y; \
|
99: x,##y; \
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
* may cause additional delay in rare cases (load-load replay traps).
|
* may cause additional delay in rare cases (load-load replay traps).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.globl csum_ipv6_magic
|
.globl csum_ipv6_magic
|
||||||
.align 4
|
.align 4
|
||||||
.ent csum_ipv6_magic
|
.ent csum_ipv6_magic
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
* Try not to change the actual algorithm if possible for consistency.
|
* Try not to change the actual algorithm if possible for consistency.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#define halt .long 0
|
#define halt .long 0
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
||||||
* Try not to change the actual algorithm if possible for consistency.
|
* Try not to change the actual algorithm if possible for consistency.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
* Temp usage notes:
|
* Temp usage notes:
|
||||||
* $1,$2, - scratch
|
* $1,$2, - scratch
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
* as fixes will need to be made in multiple places. The performance gain
|
* as fixes will need to be made in multiple places. The performance gain
|
||||||
* is worth it.
|
* is worth it.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noat
|
.set noat
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.text
|
.text
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
* string once.
|
* string once.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
||||||
* Try not to change the actual algorithm if possible for consistency.
|
* Try not to change the actual algorithm if possible for consistency.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#include <asm/regdef.h>
|
#include <asm/regdef.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
* U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
|
* U - upper subcluster; U0 - subcluster U0; U1 - subcluster U1
|
||||||
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
* Try not to change the actual algorithm if possible for consistency.
|
* Try not to change the actual algorithm if possible for consistency.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
|
|
||||||
.align 4
|
.align 4
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
* L - lower subcluster; L0 - subcluster L0; L1 - subcluster L1
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#include <asm/regdef.h>
|
#include <asm/regdef.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
|
@ -31,7 +31,7 @@ For correctness consider that:
|
||||||
- only minimum number of quadwords may be accessed
|
- only minimum number of quadwords may be accessed
|
||||||
- the third argument is an unsigned long
|
- the third argument is an unsigned long
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
* This is hand-massaged output from the original memcpy.c. We defer to
|
* This is hand-massaged output from the original memcpy.c. We defer to
|
||||||
* memcpy whenever possible; the backwards copy loops are not unrolled.
|
* memcpy whenever possible; the backwards copy loops are not unrolled.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noat
|
.set noat
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.text
|
.text
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* The scheduling comments are according to the EV5 documentation (and done by
|
* The scheduling comments are according to the EV5 documentation (and done by
|
||||||
* hand, so they might well be incorrect, please do tell me about it..)
|
* hand, so they might well be incorrect, please do tell me about it..)
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noat
|
.set noat
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.text
|
.text
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
*
|
*
|
||||||
* Append a null-terminated string from SRC to DST.
|
* Append a null-terminated string from SRC to DST.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* Return the address of a given character within a null-terminated
|
* Return the address of a given character within a null-terminated
|
||||||
* string, or null if it is not found.
|
* string, or null if it is not found.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#include <asm/regdef.h>
|
#include <asm/regdef.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* Copy a null-terminated string from SRC to DST. Return a pointer
|
* Copy a null-terminated string from SRC to DST. Return a pointer
|
||||||
* to the null-terminator in the source.
|
* to the null-terminator in the source.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
|
|
||||||
.align 3
|
.align 3
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* do this instead of the 9 instructions that
|
* do this instead of the 9 instructions that
|
||||||
* binary search needs).
|
* binary search needs).
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
* past count, whereas libc may write to count+1. This follows the generic
|
* past count, whereas libc may write to count+1. This follows the generic
|
||||||
* implementation in lib/string.c and is, IMHO, more sensible.
|
* implementation in lib/string.c and is, IMHO, more sensible.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
|
|
||||||
.align 3
|
.align 3
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
* version has cropped that bit o' nastiness as well as assuming that
|
* version has cropped that bit o' nastiness as well as assuming that
|
||||||
* __stxncpy is in range of a branch.
|
* __stxncpy is in range of a branch.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.set noat
|
.set noat
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
* Return the address of the last occurrence of a given character
|
* Return the address of the last occurrence of a given character
|
||||||
* within a null-terminated string, or null if it is not found.
|
* within a null-terminated string, or null if it is not found.
|
||||||
*/
|
*/
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
#include <asm/regdef.h>
|
#include <asm/regdef.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
# along with GCC; see the file COPYING. If not, write to the
|
# along with GCC; see the file COPYING. If not, write to the
|
||||||
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
# Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
|
||||||
# MA 02111-1307, USA.
|
# MA 02111-1307, USA.
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
.set noreorder
|
.set noreorder
|
||||||
.set noat
|
.set noat
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
# Help: DRAM base at 0x00000000
|
||||||
CONFIG_DRAM_BASE=0x00000000
|
CONFIG_DRAM_BASE=0x00000000
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
# Help: DRAM base at 0xc0000000
|
||||||
CONFIG_DRAM_BASE=0xc0000000
|
CONFIG_DRAM_BASE=0xc0000000
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
# Help: DRAM base at 0xd0000000
|
||||||
CONFIG_DRAM_BASE=0xd0000000
|
CONFIG_DRAM_BASE=0xd0000000
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
|
# Help: Enable Large Physical Address Extension mode
|
||||||
CONFIG_ARM_LPAE=y
|
CONFIG_ARM_LPAE=y
|
||||||
CONFIG_VMSPLIT_2G=y
|
CONFIG_VMSPLIT_2G=y
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Help: Virtualization guest
|
||||||
#
|
#
|
||||||
# Base options for platforms
|
# Base options for platforms
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
generated-y += syscall_table.h
|
generated-y += syscall_table.h
|
||||||
generic-y += agp.h
|
generic-y += agp.h
|
||||||
generic-y += export.h
|
|
||||||
generic-y += kvm_para.h
|
generic-y += kvm_para.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
generic-y += vtime.h
|
generic-y += vtime.h
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
* pNonSys: !pSys
|
* pNonSys: !pSys
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/cache.h>
|
#include <asm/cache.h>
|
||||||
|
@ -49,7 +49,6 @@
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
#include <asm/ftrace.h>
|
#include <asm/ftrace.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#include "minstate.h"
|
#include "minstate.h"
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
#define PSR_BITS_TO_SET \
|
#define PSR_BITS_TO_SET \
|
||||||
(IA64_PSR_BN)
|
(IA64_PSR_BN)
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Inputs:
|
* Inputs:
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
* Support for CPU Hotplug
|
* Support for CPU Hotplug
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/fpu.h>
|
#include <asm/fpu.h>
|
||||||
|
@ -33,7 +33,6 @@
|
||||||
#include <asm/mca_asm.h>
|
#include <asm/mca_asm.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_HOTPLUG_CPU
|
#ifdef CONFIG_HOTPLUG_CPU
|
||||||
#define SAL_PSR_BITS_TO_SET \
|
#define SAL_PSR_BITS_TO_SET \
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
* Table is based upon EAS2.6 (Oct 1999)
|
* Table is based upon EAS2.6 (Oct 1999)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/break.h>
|
#include <asm/break.h>
|
||||||
|
@ -58,7 +58,6 @@
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
# define PSR_DEFAULT_BITS psr.ac
|
# define PSR_DEFAULT_BITS psr.ac
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
* 05/24/2000 eranian Added support for physical mode static calls
|
* 05/24/2000 eranian Added support for physical mode static calls
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.data
|
.data
|
||||||
pal_entry_point:
|
pal_entry_point:
|
||||||
|
|
|
@ -10,9 +10,9 @@
|
||||||
* 3/08/02 davidm Some more tweaking
|
* 3/08/02 davidm Some more tweaking
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_ITANIUM
|
#ifdef CONFIG_ITANIUM
|
||||||
# define L3_LINE_SIZE 64 // Itanium L3 line size
|
# define L3_LINE_SIZE 64 // Itanium L3 line size
|
||||||
|
|
|
@ -12,8 +12,8 @@
|
||||||
* Stephane Eranian <eranian@hpl.hp.com>
|
* Stephane Eranian <eranian@hpl.hp.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// arguments
|
// arguments
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
*
|
*
|
||||||
* 4/06/01 davidm Tuned to make it perform well both for cached and uncached copies.
|
* 4/06/01 davidm Tuned to make it perform well both for cached and uncached copies.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define PIPE_DEPTH 3
|
#define PIPE_DEPTH 3
|
||||||
#define EPI p[PIPE_DEPTH-1]
|
#define EPI p[PIPE_DEPTH-1]
|
||||||
|
|
|
@ -60,9 +60,9 @@
|
||||||
* to fetch the second-half of the L2 cache line into L1, and the tX words are copied in
|
* to fetch the second-half of the L2 cache line into L1, and the tX words are copied in
|
||||||
* an order that avoids bank conflicts.
|
* an order that avoids bank conflicts.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st)
|
#define PREFETCH_DIST 8 // McKinley sustains 16 outstanding L2 misses (8 ld, 8 st)
|
||||||
|
|
||||||
|
|
|
@ -30,8 +30,8 @@
|
||||||
* - fix extraneous stop bit introduced by the EX() macro.
|
* - fix extraneous stop bit introduced by the EX() macro.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Tuneable parameters
|
// Tuneable parameters
|
||||||
|
|
|
@ -8,9 +8,8 @@
|
||||||
* 05/28/05 Zoltan Menyhart Dynamic stride size
|
* 05/28/05 Zoltan Menyhart Dynamic stride size
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* flush_icache_range(start,end)
|
* flush_icache_range(start,end)
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
|
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#ifdef MODULO
|
#ifdef MODULO
|
||||||
# define OP mod
|
# define OP mod
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
|
* (http://www.goodreads.com/book/show/2019887.Ia_64_and_Elementary_Functions)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#ifdef MODULO
|
#ifdef MODULO
|
||||||
# define OP mod
|
# define OP mod
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
* Copyright (C) 2002, 2006 Ken Chen <kenneth.w.chen@intel.com>
|
* Copyright (C) 2002, 2006 Ken Chen <kenneth.w.chen@intel.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Since we know that most likely this function is called with buf aligned
|
* Since we know that most likely this function is called with buf aligned
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
* Stephane Eranian <eranian@hpl.hp.com>
|
* Stephane Eranian <eranian@hpl.hp.com>
|
||||||
* David Mosberger-Tang <davidm@hpl.hp.com>
|
* David Mosberger-Tang <davidm@hpl.hp.com>
|
||||||
*/
|
*/
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
GLOBAL_ENTRY(memcpy)
|
GLOBAL_ENTRY(memcpy)
|
||||||
|
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
* Copyright (C) 2002 Intel Corp.
|
* Copyright (C) 2002 Intel Corp.
|
||||||
* Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
|
* Copyright (C) 2002 Ken Chen <kenneth.w.chen@intel.com>
|
||||||
*/
|
*/
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define EK(y...) EX(y)
|
#define EK(y...) EX(y)
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
Since a stf.spill f0 can store 16B in one go, we use this instruction
|
Since a stf.spill f0 can store 16B in one go, we use this instruction
|
||||||
to get peak speed when value = 0. */
|
to get peak speed when value = 0. */
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
#undef ret
|
#undef ret
|
||||||
|
|
||||||
#define dest in0
|
#define dest in0
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
* 09/24/99 S.Eranian add speculation recovery code
|
* 09/24/99 S.Eranian add speculation recovery code
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
* by Andreas Schwab <schwab@suse.de>).
|
* by Andreas Schwab <schwab@suse.de>).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
GLOBAL_ENTRY(__strncpy_from_user)
|
GLOBAL_ENTRY(__strncpy_from_user)
|
||||||
alloc r2=ar.pfs,3,0,0,0
|
alloc r2=ar.pfs,3,0,0,0
|
||||||
|
|
|
@ -13,8 +13,8 @@
|
||||||
* Copyright (C) 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
|
* Copyright (C) 1999, 2001 David Mosberger-Tang <davidm@hpl.hp.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
GLOBAL_ENTRY(__strnlen_user)
|
GLOBAL_ENTRY(__strnlen_user)
|
||||||
.prologue
|
.prologue
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
* Optimized RAID-5 checksumming functions for IA-64.
|
* Optimized RAID-5 checksumming functions for IA-64.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
GLOBAL_ENTRY(xor_ia64_2)
|
GLOBAL_ENTRY(xor_ia64_2)
|
||||||
.prologue
|
.prologue
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
# Help: Disable -Werror
|
||||||
CONFIG_PPC_DISABLE_WERROR=y
|
CONFIG_PPC_DISABLE_WERROR=y
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
# Help: Common security options for PowerPC builds
|
||||||
|
|
||||||
# This is the equivalent of booting with lockdown=integrity
|
# This is the equivalent of booting with lockdown=integrity
|
||||||
CONFIG_SECURITY=y
|
CONFIG_SECURITY=y
|
||||||
CONFIG_SECURITYFS=y
|
CONFIG_SECURITYFS=y
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Help: Build a 32-bit image
|
||||||
CONFIG_ARCH_RV32I=y
|
CONFIG_ARCH_RV32I=y
|
||||||
CONFIG_32BIT=y
|
CONFIG_32BIT=y
|
||||||
# CONFIG_PORTABLE is not set
|
# CONFIG_PORTABLE is not set
|
||||||
|
|
|
@ -1,2 +1,3 @@
|
||||||
|
# Help: Build a 64-bit image
|
||||||
CONFIG_ARCH_RV64I=y
|
CONFIG_ARCH_RV64I=y
|
||||||
CONFIG_64BIT=y
|
CONFIG_64BIT=y
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
# Help: Enable BTF debug info
|
||||||
CONFIG_DEBUG_INFO_BTF=y
|
CONFIG_DEBUG_INFO_BTF=y
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
# Help: Enable KASan for debugging
|
||||||
CONFIG_KASAN=y
|
CONFIG_KASAN=y
|
||||||
CONFIG_KASAN_INLINE=y
|
CONFIG_KASAN_INLINE=y
|
||||||
CONFIG_KASAN_VMALLOC=y
|
CONFIG_KASAN_VMALLOC=y
|
||||||
|
|
|
@ -2,6 +2,5 @@
|
||||||
generated-y += syscall_table_32.h
|
generated-y += syscall_table_32.h
|
||||||
generated-y += syscall_table_64.h
|
generated-y += syscall_table_64.h
|
||||||
generic-y += agp.h
|
generic-y += agp.h
|
||||||
generic-y += export.h
|
|
||||||
generic-y += kvm_para.h
|
generic-y += kvm_para.h
|
||||||
generic-y += mcs_spinlock.h
|
generic-y += mcs_spinlock.h
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
* Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au)
|
* Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
|
@ -30,7 +31,6 @@
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
|
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define curptr g6
|
#define curptr g6
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
* CompactPCI platform by Eric Brower, 1999.
|
* CompactPCI platform by Eric Brower, 1999.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
|
||||||
|
@ -25,7 +26,6 @@
|
||||||
#include <asm/thread_info.h> /* TI_UWINMASK */
|
#include <asm/thread_info.h> /* TI_UWINMASK */
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <asm/pgtable.h> /* PGDIR_SHIFT */
|
#include <asm/pgtable.h> /* PGDIR_SHIFT */
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.data
|
.data
|
||||||
/* The following are used with the prom_vector node-ops to figure out
|
/* The following are used with the prom_vector node-ops to figure out
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <linux/version.h>
|
#include <linux/version.h>
|
||||||
#include <linux/errno.h>
|
#include <linux/errno.h>
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/threads.h>
|
#include <linux/threads.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
|
@ -33,7 +34,6 @@
|
||||||
#include <asm/estate.h>
|
#include <asm/estate.h>
|
||||||
#include <asm/sfafsr.h>
|
#include <asm/sfafsr.h>
|
||||||
#include <asm/unistd.h>
|
#include <asm/unistd.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* This section from from _start to sparc64_boot_end should fit into
|
/* This section from from _start to sparc64_boot_end should fit into
|
||||||
* 0x0000000000404000 to 0x0000000000408000.
|
* 0x0000000000404000 to 0x0000000000408000.
|
||||||
|
|
|
@ -6,10 +6,10 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/visasm.h>
|
#include <asm/visasm.h>
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
#include <asm/export.h>
|
|
||||||
#define GLOBAL_SPARE g7
|
#define GLOBAL_SPARE g7
|
||||||
#else
|
#else
|
||||||
#define GLOBAL_SPARE g5
|
#define GLOBAL_SPARE g5
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
|
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
|
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
|
@ -14,7 +15,6 @@
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
#include <asm/visasm.h>
|
#include <asm/visasm.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* On entry: %o5=current FPRS value, %g7 is callers address */
|
/* On entry: %o5=current FPRS value, %g7 is callers address */
|
||||||
/* May clobber %o5, %g1, %g2, %g3, %g7, %icc, %xcc */
|
/* May clobber %o5, %g1, %g2, %g3, %g7, %icc, %xcc */
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
* Copyright (C) 1999 David S. Miller (davem@redhat.com)
|
* Copyright (C) 1999 David S. Miller (davem@redhat.com)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
ENTRY(__ashldi3)
|
ENTRY(__ashldi3)
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
ENTRY(__ashrdi3)
|
ENTRY(__ashrdi3)
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
* Copyright (C) 1999, 2007 2012 David S. Miller (davem@davemloft.net)
|
* Copyright (C) 1999, 2007 2012 David S. Miller (davem@davemloft.net)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
#include <asm/backoff.h>
|
#include <asm/backoff.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
* Copyright (C) 2000, 2007 David S. Miller (davem@davemloft.net)
|
* Copyright (C) 2000, 2007 David S. Miller (davem@davemloft.net)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
#include <asm/backoff.h>
|
#include <asm/backoff.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
|
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* Zero out 64 bytes of memory at (buf + offset).
|
/* Zero out 64 bytes of memory at (buf + offset).
|
||||||
* Assumes %g1 contains zero.
|
* Assumes %g1 contains zero.
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
|
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
* BSD4.4 portable checksum routine
|
* BSD4.4 portable checksum routine
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/errno.h>
|
#include <asm/errno.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define CSUM_BIGCHUNK(buf, offset, sum, t0, t1, t2, t3, t4, t5) \
|
#define CSUM_BIGCHUNK(buf, offset, sum, t0, t1, t2, t3, t4, t5) \
|
||||||
ldd [buf + offset + 0x00], t0; \
|
ldd [buf + offset + 0x00], t0; \
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
* BSD4.4 portable checksum routine
|
* BSD4.4 portable checksum routine
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
|
|
||||||
csum_partial_fix_alignment:
|
csum_partial_fix_alignment:
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
|
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <asm/visasm.h>
|
#include <asm/visasm.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/spitfire.h>
|
#include <asm/spitfire.h>
|
||||||
#include <asm/head.h>
|
#include <asm/head.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* What we used to do was lock a TLB entry into a specific
|
/* What we used to do was lock a TLB entry into a specific
|
||||||
* TLB slot, clear the page with interrupts disabled, then
|
* TLB slot, clear the page with interrupts disabled, then
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
* Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com)
|
* Copyright (C) 1999, 2000, 2004 David S. Miller (davem@redhat.com)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/asi.h>
|
#include <asm/asi.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
#define XCC xcc
|
#define XCC xcc
|
||||||
|
|
||||||
|
|
|
@ -5,13 +5,13 @@
|
||||||
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
|
* Copyright (C) 1997 Jakub Jelinek (jakub@redhat.com)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/visasm.h>
|
#include <asm/visasm.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <linux/pgtable.h>
|
#include <linux/pgtable.h>
|
||||||
#include <asm/spitfire.h>
|
#include <asm/spitfire.h>
|
||||||
#include <asm/head.h>
|
#include <asm/head.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* What we used to do was lock a TLB entry into a specific
|
/* What we used to do was lock a TLB entry into a specific
|
||||||
* TLB slot, clear the page with interrupts disabled, then
|
* TLB slot, clear the page with interrupts disabled, then
|
||||||
|
|
|
@ -12,11 +12,11 @@
|
||||||
* Returns 0 if successful, otherwise count of bytes not copied yet
|
* Returns 0 if successful, otherwise count of bytes not copied yet
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
#include <asm/asmmacro.h>
|
#include <asm/asmmacro.h>
|
||||||
#include <asm/page.h>
|
#include <asm/page.h>
|
||||||
#include <asm/thread_info.h>
|
#include <asm/thread_info.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/* Work around cpp -rob */
|
/* Work around cpp -rob */
|
||||||
#define ALLOC #alloc
|
#define ALLOC #alloc
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
|
* Copyright (C) 2005 David S. Miller <davem@davemloft.net>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
#define GLOBAL_SPARE %g7
|
#define GLOBAL_SPARE %g7
|
||||||
|
|
|
@ -5,7 +5,7 @@ This file is part of GNU CC.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <asm/export.h>
|
#include <linux/export.h>
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
.globl __divdi3
|
.globl __divdi3
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.register %g2,#scratch
|
.register %g2,#scratch
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
* and onward.
|
* and onward.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.register %g2, #scratch
|
.register %g2, #scratch
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
* and onward.
|
* and onward.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.register %g2, #scratch
|
.register %g2, #scratch
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.align 32
|
.align 32
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */
|
ENTRY(ip_fast_csum) /* %o0 = iph, %o1 = ihl */
|
||||||
|
|
|
@ -7,11 +7,11 @@
|
||||||
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
|
* Copyright (C) 1998 Jakub Jelinek (jj@ultra.linux.cz)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <asm/ptrace.h>
|
#include <asm/ptrace.h>
|
||||||
#include <asm/psr.h>
|
#include <asm/psr.h>
|
||||||
#include <asm/smp.h>
|
#include <asm/smp.h>
|
||||||
#include <asm/spinlock.h>
|
#include <asm/spinlock.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.align 4
|
.align 4
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
ENTRY(__lshrdi3)
|
ENTRY(__lshrdi3)
|
||||||
cmp %o2, 0
|
cmp %o2, 0
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
* This can also be tweaked for kernel stack overflow detection.
|
* This can also be tweaked for kernel stack overflow detection.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the main variant and is called by C code. GCC's -pg option
|
* This is the main variant and is called by C code. GCC's -pg option
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
* Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net)
|
* Copyright (C) 2000, 2008 David S. Miller (davem@davemloft.net)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <linux/export.h>
|
||||||
#include <linux/linkage.h>
|
#include <linux/linkage.h>
|
||||||
#include <asm/asm.h>
|
#include <asm/asm.h>
|
||||||
#include <asm/export.h>
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
ENTRY(memcmp)
|
ENTRY(memcmp)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue