• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //! Declare functions defined in out-of-line ("outline") asm files.
2 //!
3 //! Kernel calling conventions differ from userspace calling conventions,
4 //! so we also define inline function wrappers which reorder the arguments
5 //! so that they match with the kernel convention as closely as possible,
6 //! to minimize the amount of out-of-line code we need.
7 
8 #[cfg(target_arch = "x86")]
9 mod x86;
10 // For these architectures, pass the `nr` argument last.
11 #[cfg(any(
12     target_arch = "arm",
13     target_arch = "aarch64",
14     target_arch = "mips",
15     target_arch = "mips64",
16     target_arch = "powerpc64",
17     target_arch = "riscv64",
18     target_arch = "x86_64",
19 ))]
20 mod nr_last;
21 
22 #[cfg(any(
23     target_arch = "arm",
24     target_arch = "aarch64",
25     target_arch = "mips",
26     target_arch = "mips64",
27     target_arch = "powerpc64",
28     target_arch = "riscv64",
29     target_arch = "x86_64",
30 ))]
31 pub(in crate::backend) use nr_last::*;
32 #[cfg(target_arch = "x86")]
33 pub(in crate::backend) use x86::*;
34