mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-10-14 05:55:17 +00:00
No description
- C 96.9%
- Assembly 0.9%
- Rust 0.6%
- Shell 0.6%
- Python 0.5%
- Other 0.3%
On v7 and later cores, cache maintenance operations by set/way are only intended to be used in the context of on/offlining a core, while it has been taken out of the coherency domain. Any use intended to ensure that the contents of the cache have made it to main memory is unreliable, since cacheline migration and non-architected system caches may cause these contents to linger elsewhere, without being visible in main memory once the MMU and caches are disabled. So switch to cache maintenance by virtual address for v7 and later cores. This makes the 32-bit kernel bootable on systems with L3 system caches that are not covered by set/way operations, such as Socionext SynQuacer. Tony says: I gave these a try on top of the earlier "arm: fix Kbuild issue caused by per-task stack protector GCC plugin" and booting still works for me on armv7 including appended dtb: Tested-by: Tony Lindgren <tony@atomide.com> Linus says: No problem, I have tested it on the following: - ARMv7 Cortex A9 x 2 Qualcomm APQ8060 DragonBoard - ARM PB11MPCore (4 x 1176) - ARMv7 Ux500 Cortex A9 x 2 The PB11MPCore is again the crucial board, if it work on that board it works on anything, most of the time :D Tested-by: Linus Walleij <linus.walleij@linaro.org> Note that the first 2 patches are shared with the efi/core branch in TIP, which is the reason why this is sent as a pull request rather than via the patch system. -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEnNKg2mrY9zMBdeK7wjcgfpV0+n0FAl5Xmj0ACgkQwjcgfpV0 +n0Otgf9HTTK21cx4VjqkkLqGXMPa/Bo1FHJ0B8Hy1TRsYYLK17/GuUwQdCmvGB8 5ichFbN2+Ftvr224q8DeZI11MEMFePvllF5Lynhw6YV1TSgegOtTLlDTana1hSdG JlNh6SChIFBGegmYeCe+5JJDcrsmy4chgLIr/BsgPu1oXCzUdb25P4r1qw40UgO9 0URqj+xv0yJ/29gwuAQE+pR/0KLvcPamspnp7Z/3+xSfRObe8PvZvrEJo9YehGmw ehc0K0/4Caxo/6bJDjuTLC2DgObc+cclZNchNwmcZKEvGMuiHhWOyrW3CJ8gRiE9 p8oFLJX4CzvFVy6T/LAIh9sii8bIHw== =WEAc -----END PGP SIGNATURE----- Merge tag 'arm32-efi-cache-ops-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable ARMv7 compliant cache maintenance for the decompressor On v7 and later cores, cache maintenance operations by set/way are only intended to be used in the context of on/offlining a core, while it has been taken out of the coherency domain. Any use intended to ensure that the contents of the cache have made it to main memory is unreliable, since cacheline migration and non-architected system caches may cause these contents to linger elsewhere, without being visible in main memory once the MMU and caches are disabled. So switch to cache maintenance by virtual address for v7 and later cores. This makes the 32-bit kernel bootable on systems with L3 system caches that are not covered by set/way operations, such as Socionext SynQuacer. Tony says: I gave these a try on top of the earlier "arm: fix Kbuild issue caused by per-task stack protector GCC plugin" and booting still works for me on armv7 including appended dtb: Tested-by: Tony Lindgren <tony@atomide.com> Linus says: No problem, I have tested it on the following: - ARMv7 Cortex A9 x 2 Qualcomm APQ8060 DragonBoard - ARM PB11MPCore (4 x 1176) - ARMv7 Ux500 Cortex A9 x 2 The PB11MPCore is again the crucial board, if it work on that board it works on anything, most of the time :D Tested-by: Linus Walleij <linus.walleij@linaro.org> Note that the first 2 patches are shared with the efi/core branch in TIP, which is the reason why this is sent as a pull request rather than via the patch system. |
History
|
|
|---|---|---|
| arch | ||
| block | ||
| certs | ||
| crypto | ||
| Documentation | ||
| drivers | ||
| fs | ||
| include | ||
| init | ||
| ipc | ||
| kernel | ||
| lib | ||
| LICENSES | ||
| mm | ||
| net | ||
| samples | ||
| scripts | ||
| security | ||
| sound | ||
| tools | ||
| usr | ||
| virt | ||
| .clang-format | ||
| .cocciconfig | ||
| .get_maintainer.ignore | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| COPYING | ||
| CREDITS | ||
| Kbuild | ||
| Kconfig | ||
| MAINTAINERS | ||
| Makefile | ||
| README | ||
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.