No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Russell King (Oracle) 53ae158f6d Refactor VFP support code and reimplement in C
The VFP related changes to permit kernel mode NEON in softirq context
 resulted in some issues regarding en/disabling of sofirqs from asm code,
 and this made it clear that it would be better to handle more of it from
 C code.
 
 Given that we already have infrastructure that associates undefined
 instruction exceptions with handler code based on value/mask pairs, we
 can easily move the dispatch of VFP and NEON instructions to C code once
 we reimplement the actual VFP support routine (which reasons about how
 to deal with the exception and whether any emulation is needed) in C
 code first.
 
 With those out of the way, we can drop the partial decoding logic in asm
 that reasons about which ISA is being used by user space, as the
 remaining cases are all 32-bit ARM only. This leaves a FPE specific
 routine with some iWMMXT logic that is easily duplicated in C as well,
 allowing us to move the FPE asm code into the FPE asm source file, and
 out of the shared entry code.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQQm/3uucuRGn1Dmh0wbglWLn0tXAUCZGT0cAAKCRAwbglWLn0t
 XG+RAP9hQ6tgzs7BFRjfHTqPTxMnMRfs9P5bfE0BFQZV+r38kgD/U6vd7CqIQpDH
 Xbpilbvfthb3vQzCnNC+/b4H+Ih8bwU=
 =xNtM
 -----END PGP SIGNATURE-----

Merge tag 'arm-vfp-refactor-for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux into devel-stable

Refactor VFP support code and reimplement in C

The VFP related changes to permit kernel mode NEON in softirq context
resulted in some issues regarding en/disabling of sofirqs from asm code,
and this made it clear that it would be better to handle more of it from
C code.

Given that we already have infrastructure that associates undefined
instruction exceptions with handler code based on value/mask pairs, we
can easily move the dispatch of VFP and NEON instructions to C code once
we reimplement the actual VFP support routine (which reasons about how
to deal with the exception and whether any emulation is needed) in C
code first.

With those out of the way, we can drop the partial decoding logic in asm
that reasons about which ISA is being used by user space, as the
remaining cases are all 32-bit ARM only. This leaves a FPE specific
routine with some iWMMXT logic that is easily duplicated in C as well,
allowing us to move the FPE asm code into the FPE asm source file, and
out of the shared entry code.
History 2023-06-27 14:17:19 +01:00
arch ARM: entry: Make asm coproc dispatch code NWFPE only 2023-05-17 15:08:22 +02:00
block for-6.4/block-2023-05-06 2023-05-06 08:28:58 -07:00
certs KEYS: Add missing function documentation 2023-04-24 16:15:52 +03:00
crypto This push fixes the following problems: 2023-05-07 10:57:14 -07:00
Documentation block-6.4-2023-05-13 2023-05-13 09:51:03 -05:00
drivers cxl fixes for v6.4-rc2 2023-05-14 12:32:34 -07:00
fs Some ext4 bug fixes (mostly to address Syzbot reports) for v6.4-rc2. 2023-05-13 17:45:39 -07:00
include - Add the required PCI IDs so that the generic SMN accesses provided by 2023-05-14 07:44:48 -07:00
init Objtool changes for v6.4: 2023-04-28 14:02:54 -07:00
io_uring for-6.4/io_uring-2023-05-07 2023-05-07 10:00:09 -07:00
ipc Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
kernel - Make sure __down_read_common() is always inlined so that the callers' 2023-05-14 08:00:46 -07:00
lib Networking fixes for 6.4-rc2, including fixes from netfilter 2023-05-11 08:42:47 -05:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm Reinstate the dmapool changes which were accidentally removed by 2023-05-06 11:43:08 -07:00
net netfilter pull request 23-05-10 2023-05-10 19:08:58 -07:00
rust Rust changes for v6.4 2023-04-30 11:20:22 -07:00
samples LoongArch changes for v6.4 2023-05-04 12:40:16 -07:00
scripts Locking changes in v6.4: 2023-05-05 12:56:55 -07:00
security integrity-v6.4 2023-04-29 10:11:32 -07:00
sound sound fixes for 6.4-rc1 2023-05-06 08:07:11 -07:00
tools cxl fixes for v6.4-rc2 2023-05-14 12:32:34 -07:00
usr initramfs: Check negative timestamp to prevent broken cpio archive 2023-04-16 17:37:01 +09:00
virt s390: 2023-05-01 12:06:20 -07:00
.clang-format cxl for v6.4 2023-04-30 11:51:51 -07:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for *.dtso files 2023-02-26 15:28:23 +09:00
.gitignore linux-kselftest-kunit-6.4-rc1 2023-04-24 12:31:32 -07:00
.mailmap for-6.4/block-2023-05-06 2023-05-06 08:28:58 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS A handful of late-arriving documentation fixes, plus one Spanish 2023-05-05 13:16:42 -07:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS Devicetree binding fixes for v6.4 2023-05-11 09:01:40 -05:00
Makefile Linux 6.4-rc2 2023-05-14 12:51:40 -07:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

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.