mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-22 17:55:57 +01:00
Move all non-README links to cirosantilli.com where the file is not cut off...
This commit is contained in:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -10,10 +10,10 @@ tmp.*
|
|||||||
*.gitignore
|
*.gitignore
|
||||||
gitignore.*
|
gitignore.*
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#prebuilt
|
# https://cirosantilli.com/linux-kernel-module-cheat#prebuilt
|
||||||
/lkmc-*.zip
|
/lkmc-*.zip
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
# https://cirosantilli.com/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
||||||
*.dat
|
*.dat
|
||||||
|
|
||||||
# Python trash.
|
# Python trash.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#docker
|
# https://cirosantilli.com/linux-kernel-module-cheat#docker
|
||||||
FROM ubuntu:18.04
|
FROM ubuntu:18.04
|
||||||
COPY setup /
|
COPY setup /
|
||||||
RUN /setup -y
|
RUN /setup -y
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ The perfect emulation setup to study and develop the <<linux-kernel>> v5.1, kern
|
|||||||
|
|
||||||
TL;DR: <<qemu-buildroot-setup-getting-started>>
|
TL;DR: <<qemu-buildroot-setup-getting-started>>
|
||||||
|
|
||||||
The source code for this page is located at: https://github.com/cirosantilli/linux-kernel-module-cheat[]. Due to link:https://github.com/isaacs/github/issues/1610[a GitHub limitation], this README is too long and not fully rendered on github.com. Either use: https://www.cirosantilli.com/linux-kernel-module-cheat or <<build-the-documentation,build the docs yourself>>.
|
The source code for this page is located at: https://github.com/cirosantilli/linux-kernel-module-cheat[]. Due to link:https://github.com/isaacs/github/issues/1610[a GitHub limitation], this README is too long and not fully rendered on github.com. Either use: https://cirosantilli.com/linux-kernel-module-cheat or <<build-the-documentation,build the docs yourself>>.
|
||||||
|
|
||||||
toc::[]
|
toc::[]
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#asciidoctor-extract-header-ids
|
# https://cirosantilli.com/linux-kernel-module-cheat#asciidoctor-extract-header-ids
|
||||||
|
|
||||||
require 'asciidoctor'
|
require 'asciidoctor'
|
||||||
require 'asciidoctor/extensions'
|
require 'asciidoctor/extensions'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#asciidoctor-extract-link-targets
|
# https://cirosantilli.com/linux-kernel-module-cheat#asciidoctor-extract-link-targets
|
||||||
|
|
||||||
require 'asciidoctor'
|
require 'asciidoctor'
|
||||||
require 'asciidoctor/extensions'
|
require 'asciidoctor/extensions'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
#
|
#
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#asciidoctor-link-target-up-rb
|
# https://cirosantilli.com/linux-kernel-module-cheat#asciidoctor-link-target-up-rb
|
||||||
|
|
||||||
require 'asciidoctor'
|
require 'asciidoctor'
|
||||||
require 'asciidoctor/extensions'
|
require 'asciidoctor/extensions'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#asciidoctor-link-target-up-rb
|
# https://cirosantilli.com/linux-kernel-module-cheat#asciidoctor-link-target-up-rb
|
||||||
|
|
||||||
require 'asciidoctor'
|
require 'asciidoctor'
|
||||||
require 'asciidoctor/extensions'
|
require 'asciidoctor/extensions'
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#baremetal-setup
|
https://cirosantilli.com/linux-kernel-module-cheat#baremetal-setup
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ int main(void) {
|
|||||||
uint64_t CurrentEL;
|
uint64_t CurrentEL;
|
||||||
__asm__ ("mrs %0, CurrentEL;" : "=r" (CurrentEL) : :);
|
__asm__ ("mrs %0, CurrentEL;" : "=r" (CurrentEL) : :);
|
||||||
printf("CurrentEL 0x%" PRIX64 "\n", CurrentEL);
|
printf("CurrentEL 0x%" PRIX64 "\n", CurrentEL);
|
||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-exception-levels */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-exception-levels */
|
||||||
printf("CurrentEL.EL 0x%" PRIX64 "\n", CurrentEL >> 2);
|
printf("CurrentEL.EL 0x%" PRIX64 "\n", CurrentEL >> 2);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-multicore */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-multicore */
|
||||||
|
|
||||||
#include <lkmc.h>
|
#include <lkmc.h>
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ cpu0_only:
|
|||||||
|
|
||||||
#if !LKMC_GEM5
|
#if !LKMC_GEM5
|
||||||
/* Wake up CPU 1 from initial sleep!
|
/* Wake up CPU 1 from initial sleep!
|
||||||
* See:https://github.com/cirosantilli/linux-kernel-module-cheat#arm-psci
|
* See:https://cirosantilli.com/linux-kernel-module-cheat#arm-psci
|
||||||
*/
|
*/
|
||||||
/* PCSI function identifier: CPU_ON. */
|
/* PCSI function identifier: CPU_ON. */
|
||||||
ldr w0, =0xc4000003
|
ldr w0, =0xc4000003
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#semihosting */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#semihosting */
|
||||||
|
|
||||||
.global lkmc_start
|
.global lkmc_start
|
||||||
lkmc_start:
|
lkmc_start:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-svc-instruction */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-svc-instruction */
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <inttypes.h>
|
#include <inttypes.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-svc-instruction */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-svc-instruction */
|
||||||
|
|
||||||
#include <lkmc.h>
|
#include <lkmc.h>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ int main(void) {
|
|||||||
uint32_t spsr;
|
uint32_t spsr;
|
||||||
__asm__ ("mrs %0, spsr" : "=r" (spsr) : :);
|
__asm__ ("mrs %0, spsr" : "=r" (spsr) : :);
|
||||||
printf("SPSR 0x%" PRIX32 "\n", spsr);
|
printf("SPSR 0x%" PRIX32 "\n", spsr);
|
||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-exception-levels */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-exception-levels */
|
||||||
printf("SPSR.M 0x%" PRIX32 "\n", spsr & 0xF);
|
printf("SPSR.M 0x%" PRIX32 "\n", spsr & 0xF);
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-multicore */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-multicore */
|
||||||
|
|
||||||
#include <lkmc.h>
|
#include <lkmc.h>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ lkmc_start:
|
|||||||
ldr x0, =lkmc_vector_table
|
ldr x0, =lkmc_vector_table
|
||||||
msr vbar_el1, x0
|
msr vbar_el1, x0
|
||||||
|
|
||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#aarch64-baremetal-neon-setup */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#aarch64-baremetal-neon-setup */
|
||||||
mov x1, 0x3 << 20
|
mov x1, 0x3 << 20
|
||||||
msr cpacr_el1, x1
|
msr cpacr_el1, x1
|
||||||
isb
|
isb
|
||||||
@@ -15,7 +15,7 @@ lkmc_start:
|
|||||||
ldr x0, =stack_top
|
ldr x0, =stack_top
|
||||||
mov sp, x0
|
mov sp, x0
|
||||||
|
|
||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#magic-failure-string */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#magic-failure-string */
|
||||||
adr x0, lkmc_baremetal_on_exit_callback
|
adr x0, lkmc_baremetal_on_exit_callback
|
||||||
bl on_exit
|
bl on_exit
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ lkmc_start:
|
|||||||
mov r0, 1 << 30 /* Create value with FPEXC (bit 30) set in r0 */
|
mov r0, 1 << 30 /* Create value with FPEXC (bit 30) set in r0 */
|
||||||
vmsr fpexc, r0 /* Enable VFP and SIMD extensions */
|
vmsr fpexc, r0 /* Enable VFP and SIMD extensions */
|
||||||
|
|
||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#magic-failure-string */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#magic-failure-string */
|
||||||
ldr r0, =lkmc_baremetal_on_exit_callback
|
ldr r0, =lkmc_baremetal_on_exit_callback
|
||||||
bl on_exit
|
bl on_exit
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bisection
|
# https://cirosantilli.com/linux-kernel-module-cheat#bisection
|
||||||
set -eu
|
set -eu
|
||||||
cd ../..
|
cd ../..
|
||||||
./build-gem5 --arch aarch64 --gem5-build-id bisect
|
./build-gem5 --arch aarch64 --gem5-build-id bisect
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bisection
|
# https://cirosantilli.com/linux-kernel-module-cheat#bisection
|
||||||
set -eu
|
set -eu
|
||||||
cd ../..
|
cd ../..
|
||||||
./build-gem5 --gem5-build-id bisect
|
./build-gem5 --gem5-build-id bisect
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bisection
|
# https://cirosantilli.com/linux-kernel-module-cheat#bisection
|
||||||
set -eu
|
set -eu
|
||||||
./build-linux --clean "$@"
|
./build-linux --clean "$@"
|
||||||
./build-linux "$@"
|
./build-linux "$@"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bisection
|
# https://cirosantilli.com/linux-kernel-module-cheat#bisection
|
||||||
set -eu
|
set -eu
|
||||||
git submodule update --recursive
|
git submodule update --recursive
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class Main(common.LkmcCliFunction):
|
|||||||
},
|
},
|
||||||
description='''\
|
description='''\
|
||||||
Convert a BST vs heap stat file into a gnuplot input
|
Convert a BST vs heap stat file into a gnuplot input
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
https://cirosantilli.com/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
||||||
''',
|
''',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env gnuplot
|
#!/usr/bin/env gnuplot
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
# https://cirosantilli.com/linux-kernel-module-cheat#bst-vs-heap-vs-hashmap
|
||||||
#
|
#
|
||||||
# A stacked plot with a single xlabel as shown at:
|
# A stacked plot with a single xlabel as shown at:
|
||||||
#
|
#
|
||||||
|
|||||||
4
build
4
build
@@ -68,7 +68,7 @@ It is currently not possible to configure individual components from the command
|
|||||||
when you build with this script. TODO.
|
when you build with this script. TODO.
|
||||||
|
|
||||||
Without any args, build only what is necessary for:
|
Without any args, build only what is necessary for:
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#qemu-buildroot-setup
|
https://cirosantilli.com/linux-kernel-module-cheat#qemu-buildroot-setup
|
||||||
|
|
||||||
....
|
....
|
||||||
./%(prog)s
|
./%(prog)s
|
||||||
@@ -367,7 +367,7 @@ so looping over all of them would waste time.
|
|||||||
default=True,
|
default=True,
|
||||||
help='''\
|
help='''\
|
||||||
Don't run any apt-get commands. To make it easier to use with other archs:
|
Don't run any apt-get commands. To make it easier to use with other archs:
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#supported-hosts
|
https://cirosantilli.com/linux-kernel-module-cheat#supported-hosts
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class Main(common.BuildCliFunction):
|
|||||||
description='''\
|
description='''\
|
||||||
Download and build Android AOSP.
|
Download and build Android AOSP.
|
||||||
|
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#android
|
https://cirosantilli.com/linux-kernel-module-cheat#android
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ class Main(common.LkmcCliFunction):
|
|||||||
'show_time': False,
|
'show_time': False,
|
||||||
},
|
},
|
||||||
description='''\
|
description='''\
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#build-the-documentation
|
https://cirosantilli.com/linux-kernel-module-cheat#build-the-documentation
|
||||||
''',
|
''',
|
||||||
)
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
@@ -70,13 +70,13 @@ from the README to example sources to GitHub rather than locally.
|
|||||||
'git',
|
'git',
|
||||||
'grep',
|
'grep',
|
||||||
'--fixed-strings',
|
'--fixed-strings',
|
||||||
self.env['github_repo_id_url'] + '#',
|
self.env['homepage_url'] + '#',
|
||||||
LF
|
LF
|
||||||
],
|
],
|
||||||
cwd=self.env['root_dir']
|
cwd=self.env['root_dir']
|
||||||
).splitlines():
|
).splitlines():
|
||||||
url_index = grep_line.index(self.env['github_repo_id_url'])
|
url_index = grep_line.index(self.env['homepage_url'])
|
||||||
hash_start_index = url_index + len(self.env['github_repo_id_url'])
|
hash_start_index = url_index + len(self.env['homepage_url'])
|
||||||
if len(grep_line) > hash_start_index:
|
if len(grep_line) > hash_start_index:
|
||||||
hash_str = grep_line_hash_re.search(grep_line[hash_start_index + 1:]).group(1)
|
hash_str = grep_line_hash_re.search(grep_line[hash_start_index + 1:]).group(1)
|
||||||
if not hash_str in header_ids:
|
if not hash_str in header_ids:
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ top of it.
|
|||||||
help='''\
|
help='''\
|
||||||
Like --custom-config-file, but select the gem5 Linux kernel fork
|
Like --custom-config-file, but select the gem5 Linux kernel fork
|
||||||
config as the custom config file. Ignore --custom-config-file if given.
|
config as the custom config file. Ignore --custom-config-file if given.
|
||||||
See: https://github.com/cirosantilli/linux-kernel-module-cheat#gem5-arm-linux-kernel-patches
|
See: https://cirosantilli.com/linux-kernel-module-cheat#gem5-arm-linux-kernel-patches
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
@@ -195,7 +195,7 @@ Run `make modules_install` after `make`.
|
|||||||
common_make_args +
|
common_make_args +
|
||||||
self.sh.add_newlines(self.env['extra_make_args'])
|
self.sh.add_newlines(self.env['extra_make_args'])
|
||||||
),
|
),
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#proc-version
|
# https://cirosantilli.com/linux-kernel-module-cheat#proc-version
|
||||||
extra_env={
|
extra_env={
|
||||||
'KBUILD_BUILD_VERSION': '1',
|
'KBUILD_BUILD_VERSION': '1',
|
||||||
'KBUILD_BUILD_TIMESTAMP': 'Thu Jan 1 00:00:00 UTC 1970',
|
'KBUILD_BUILD_TIMESTAMP': 'Thu Jan 1 00:00:00 UTC 1970',
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class Main(common.BuildCliFunction):
|
|||||||
description='''\
|
description='''\
|
||||||
Build our Linux kernel modules without using Buildroot.
|
Build our Linux kernel modules without using Buildroot.
|
||||||
|
|
||||||
See also: https://github.com/cirosantilli/linux-kernel-module-cheat#host
|
See also: https://cirosantilli.com/linux-kernel-module-cheat#host
|
||||||
''')
|
''')
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
'--make-args',
|
'--make-args',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Build just enough to run ./test:
|
# Build just enough to run ./test:
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#automated-tests
|
# https://cirosantilli.com/linux-kernel-module-cheat#automated-tests
|
||||||
set -eu
|
set -eu
|
||||||
test_size=1
|
test_size=1
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class Main(build_userland.Main):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
description='''\
|
description='''\
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#userland-setup-getting-started-natively
|
https://cirosantilli.com/linux-kernel-module-cheat#userland-setup-getting-started-natively
|
||||||
''',
|
''',
|
||||||
defaults={
|
defaults={
|
||||||
'archs': [platform.processor()],
|
'archs': [platform.processor()],
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#xen
|
# https://cirosantilli.com/linux-kernel-module-cheat#xen
|
||||||
set -eux
|
set -eux
|
||||||
cd submodules/xen
|
cd submodules/xen
|
||||||
make \
|
make \
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#buildroot_packages-directory
|
https://cirosantilli.com/linux-kernel-module-cheat#buildroot_packages-directory
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#kernel_modules-buildroot-package
|
https://cirosantilli.com/linux-kernel-module-cheat#kernel_modules-buildroot-package
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-module-dependencies */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-module-dependencies */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-module-dependencies */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-module-dependencies */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel_modules-buildroot-package */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel_modules-buildroot-package */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
16
common.py
16
common.py
@@ -102,14 +102,14 @@ consts['sha'] = common.git_sha(consts['root_dir'])
|
|||||||
consts['release_dir'] = os.path.join(consts['out_dir'], 'release')
|
consts['release_dir'] = os.path.join(consts['out_dir'], 'release')
|
||||||
consts['release_zip_file'] = os.path.join(consts['release_dir'], 'lkmc-{}.zip'.format(consts['sha']))
|
consts['release_zip_file'] = os.path.join(consts['release_dir'], 'lkmc-{}.zip'.format(consts['sha']))
|
||||||
consts['github_repo_id'] = 'cirosantilli/linux-kernel-module-cheat'
|
consts['github_repo_id'] = 'cirosantilli/linux-kernel-module-cheat'
|
||||||
consts['github_repo_id_url'] = 'https://github.com/' + consts['github_repo_id']
|
consts['homepage_url'] = 'https://cirosantilli.com/linux-kernel-module-cheat'
|
||||||
consts['asm_ext'] = '.S'
|
consts['asm_ext'] = '.S'
|
||||||
consts['c_ext'] = '.c'
|
consts['c_ext'] = '.c'
|
||||||
consts['cxx_ext'] = '.cpp'
|
consts['cxx_ext'] = '.cpp'
|
||||||
consts['header_ext'] = '.h'
|
consts['header_ext'] = '.h'
|
||||||
consts['kernel_module_ext'] = '.ko'
|
consts['kernel_module_ext'] = '.ko'
|
||||||
consts['obj_ext'] = '.o'
|
consts['obj_ext'] = '.o'
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#baremetal-cpp
|
# https://cirosantilli.com/linux-kernel-module-cheat#baremetal-cpp
|
||||||
consts['baremetal_build_in_exts'] = [
|
consts['baremetal_build_in_exts'] = [
|
||||||
consts['asm_ext'],
|
consts['asm_ext'],
|
||||||
consts['c_ext'],
|
consts['c_ext'],
|
||||||
@@ -338,7 +338,7 @@ Use the given directory as the gem5 source tree. Ignore `--gem5-worktree`.
|
|||||||
'--gem5-worktree',
|
'--gem5-worktree',
|
||||||
help='''\
|
help='''\
|
||||||
Create and use a git worktree of the gem5 submodule.
|
Create and use a git worktree of the gem5 submodule.
|
||||||
See: https://github.com/cirosantilli/linux-kernel-module-cheat#gem5-worktree
|
See: https://cirosantilli.com/linux-kernel-module-cheat#gem5-worktree
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -367,7 +367,7 @@ Use the given directory as the Linux source tree.
|
|||||||
'--initramfs',
|
'--initramfs',
|
||||||
default=False,
|
default=False,
|
||||||
help='''\
|
help='''\
|
||||||
See: https://github.com/cirosantilli/linux-kernel-module-cheat#initramfs
|
See: https://cirosantilli.com/linux-kernel-module-cheat#initramfs
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
self.add_argument(
|
self.add_argument(
|
||||||
@@ -376,7 +376,7 @@ See: https://github.com/cirosantilli/linux-kernel-module-cheat#initramfs
|
|||||||
help='''\
|
help='''\
|
||||||
For Buildroot: create a CPIO root filessytem.
|
For Buildroot: create a CPIO root filessytem.
|
||||||
For QEMU use that CPUI root filesystem initrd instead of the default ext2.
|
For QEMU use that CPUI root filesystem initrd instead of the default ext2.
|
||||||
See: https://github.com/cirosantilli/linux-kernel-module-cheat#initrd
|
See: https://cirosantilli.com/linux-kernel-module-cheat#initrd
|
||||||
'''
|
'''
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -595,7 +595,7 @@ Valid emulators: {}
|
|||||||
|
|
||||||
"native" means running natively on host. It is only supported for userland,
|
"native" means running natively on host. It is only supported for userland,
|
||||||
and you must have built the program for native running, see:
|
and you must have built the program for native running, see:
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#userland-setup-getting-started-natively
|
https://cirosantilli.com/linux-kernel-module-cheat#userland-setup-getting-started-natively
|
||||||
Incompatible archs are skipped.
|
Incompatible archs are skipped.
|
||||||
'''.format(emulators_string)
|
'''.format(emulators_string)
|
||||||
)
|
)
|
||||||
@@ -1497,9 +1497,9 @@ Force rebuild even if sources didn't change.
|
|||||||
'help': '''
|
'help': '''
|
||||||
Use the given GCC -O optimization level.
|
Use the given GCC -O optimization level.
|
||||||
For some scripts, there are hard technical challenges why it cannot
|
For some scripts, there are hard technical challenges why it cannot
|
||||||
be implemented, e.g.: https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-o0
|
be implemented, e.g.: https://cirosantilli.com/linux-kernel-module-cheat#kernel-o0
|
||||||
and for others such as gem5 have their custom mechanism:
|
and for others such as gem5 have their custom mechanism:
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#gem5-debug-build
|
https://cirosantilli.com/linux-kernel-module-cheat#gem5-debug-build
|
||||||
''',
|
''',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
'''
|
'''
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#default-command-line-arguments
|
https://cirosantilli.com/linux-kernel-module-cheat#default-command-line-arguments
|
||||||
'''
|
'''
|
||||||
|
|
||||||
def set_args(args, script_name):
|
def set_args(args, script_name):
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class Main(common.BuildCliFunction):
|
|||||||
def __init__(self):
|
def __init__(self):
|
||||||
super().__init__(
|
super().__init__(
|
||||||
description='''\
|
description='''\
|
||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#rootfs_overlay
|
https://cirosantilli.com/linux-kernel-module-cheat#rootfs_overlay
|
||||||
''')
|
''')
|
||||||
|
|
||||||
def build(self):
|
def build(self):
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#gem5-run-benchmark
|
# https://cirosantilli.com/linux-kernel-module-cheat#gem5-run-benchmark
|
||||||
|
|
||||||
set -eu
|
set -eu
|
||||||
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
root_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#hello-host
|
https://cirosantilli.com/linux-kernel-module-cheat#hello-host
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ ccflags-y := \
|
|||||||
$(CCFLAGS)
|
$(CCFLAGS)
|
||||||
|
|
||||||
ifeq ($(ARCH),x86)
|
ifeq ($(ARCH),x86)
|
||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#floating-point-in-kernel-modules
|
# https://cirosantilli.com/linux-kernel-module-cheat#floating-point-in-kernel-modules
|
||||||
CFLAGS_REMOVE_float.o += -mno-sse -mno-sse2
|
CFLAGS_REMOVE_float.o += -mno-sse -mno-sse2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#your-first-kernel-module-hack
|
https://cirosantilli.com/linux-kernel-module-cheat#your-first-kernel-module-hack
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#anonymous-inode */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#anonymous-inode */
|
||||||
|
|
||||||
#include <linux/anon_inodes.h>
|
#include <linux/anon_inodes.h>
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#character-devices */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#character-devices */
|
||||||
|
|
||||||
#include <linux/fs.h> /* register_chrdev, unregister_chrdev */
|
#include <linux/fs.h> /* register_chrdev, unregister_chrdev */
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#automatically-create-character-device-file-on-insmod */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#automatically-create-character-device-file-on-insmod */
|
||||||
|
|
||||||
#include <linux/cdev.h>
|
#include <linux/cdev.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#debugfs */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#debugfs */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-module-dependencies */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-module-dependencies */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-module-dependencies */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-module-dependencies */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#dump_stack */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#dump_stack */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#floating-point-in-kernel-modules */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#floating-point-in-kernel-modules */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#file-operations */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#file-operations */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/errno.h> /* EFAULT */
|
#include <linux/errno.h> /* EFAULT */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#qemu-buildroot-setup-getting-started */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#qemu-buildroot-setup-getting-started */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#qemu-buildroot-setup-getting-started */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#qemu-buildroot-setup-getting-started */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#init_module */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#init_module */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#ioctl */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#ioctl */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#irq-ko */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#irq-ko */
|
||||||
|
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kprobes
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kprobes
|
||||||
*
|
*
|
||||||
* Adapted from: https://github.com/torvalds/linux/blob/v4.17/samples/kprobes/kprobe_example.c
|
* Adapted from: https://github.com/torvalds/linux/blob/v4.17/samples/kprobes/kprobe_example.c
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kstrto */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kstrto */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kthread */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kthread */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kthreads */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kthreads */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#config_fortify_source */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#config_fortify_source */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#mmap */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#mmap */
|
||||||
|
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#module_info */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#module_info */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#pr_debug */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#pr_debug */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#netlink-sockets */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#netlink-sockets */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-panic-and-oops */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-panic-and-oops */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-panic-and-oops */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-panic-and-oops */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-module-parameters */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#kernel-module-parameters */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#pci_min */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#pci_min */
|
||||||
|
|
||||||
#include <linux/cdev.h>
|
#include <linux/cdev.h>
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#arm-pmccntr-register */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#arm-pmccntr-register */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/errno.h> /* EFAULT */
|
#include <linux/errno.h> /* EFAULT */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#poll */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#poll */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#procfs */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#procfs */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#qemu-edu */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#qemu-edu */
|
||||||
|
|
||||||
#include <linux/cdev.h> /* cdev_ */
|
#include <linux/cdev.h> /* cdev_ */
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#ring0 */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#ring0 */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#schedule */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#schedule */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/kthread.h>
|
#include <linux/kthread.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#seq_file */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#seq_file */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/errno.h> /* EFAULT */
|
#include <linux/errno.h> /* EFAULT */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#seq_file-single_open */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#seq_file-single_open */
|
||||||
|
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/errno.h> /* EFAULT */
|
#include <linux/errno.h> /* EFAULT */
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#sleep */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#sleep */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#config_fortify_source */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#config_fortify_source */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#sysfs */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#sysfs */
|
||||||
|
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/kobject.h>
|
#include <linux/kobject.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#timers */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#timers */
|
||||||
|
|
||||||
#include <linux/jiffies.h>
|
#include <linux/jiffies.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#vermagic */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#vermagic */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#vermagic */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#vermagic */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#virt_to_phys */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#virt_to_phys */
|
||||||
|
|
||||||
#include <asm/io.h> /* virt_to_phys */
|
#include <asm/io.h> /* virt_to_phys */
|
||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#wait-queues */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#wait-queues */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#wait-queues */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#wait-queues */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#warn_on */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#warn_on */
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#workqueue-from-workqueue */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#workqueue-from-workqueue */
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#workqueues */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#workqueues */
|
||||||
|
|
||||||
#include <linux/delay.h> /* usleep_range */
|
#include <linux/delay.h> /* usleep_range */
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#kernel-configs-about
|
https://cirosantilli.com/linux-kernel-module-cheat#kernel-configs-about
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#buildroot-kernel-config
|
# https://cirosantilli.com/linux-kernel-module-cheat#buildroot-kernel-config
|
||||||
|
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_POSIX_MQUEUE=y
|
CONFIG_POSIX_MQUEUE=y
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#buildroot-kernel-config
|
# https://cirosantilli.com/linux-kernel-module-cheat#buildroot-kernel-config
|
||||||
|
|
||||||
# CONFIG_LOCALVERSION_AUTO is not set
|
# CONFIG_LOCALVERSION_AUTO is not set
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#buildroot-kernel-config
|
# https://cirosantilli.com/linux-kernel-module-cheat#buildroot-kernel-config
|
||||||
|
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
CONFIG_IKCONFIG=y
|
CONFIG_IKCONFIG=y
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#linux-kernel-min-config
|
# https://cirosantilli.com/linux-kernel-module-cheat#linux-kernel-min-config
|
||||||
|
|
||||||
## gem5 x86
|
## gem5 x86
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#nfs
|
# https://cirosantilli.com/linux-kernel-module-cheat#nfs
|
||||||
CONFIG_NFSD=y
|
CONFIG_NFSD=y
|
||||||
CONFIG_NFSD_V2_ACL=y
|
CONFIG_NFSD_V2_ACL=y
|
||||||
CONFIG_NFSD_V3=y
|
CONFIG_NFSD_V3=y
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# https://github.com/cirosantilli/linux-kernel-module-cheat#selinux
|
# https://cirosantilli.com/linux-kernel-module-cheat#selinux
|
||||||
CONFIG_AUDIT=y
|
CONFIG_AUDIT=y
|
||||||
CONFIG_SECURITY=y
|
CONFIG_SECURITY=y
|
||||||
CONFIG_SECURITY_NETWORK=y
|
CONFIG_SECURITY_NETWORK=y
|
||||||
|
|||||||
2
lkmc.c
2
lkmc.c
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#lkmc-c */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#lkmc-c */
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|||||||
2
lkmc.h
2
lkmc.h
@@ -1,4 +1,4 @@
|
|||||||
/* https://github.com/cirosantilli/linux-kernel-module-cheat#lkmc-c */
|
/* https://cirosantilli.com/linux-kernel-module-cheat#lkmc-c */
|
||||||
|
|
||||||
#ifndef LKMC_H
|
#ifndef LKMC_H
|
||||||
#define LKMC_H
|
#define LKMC_H
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
https://github.com/cirosantilli/linux-kernel-module-cheat#lkmc-directory
|
https://cirosantilli.com/linux-kernel-module-cheat#lkmc-directory
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user