memory: spilt code to module and tool

This commit is contained in:
Cheng Jian
2021-07-03 19:01:24 +08:00
parent 6c666155e8
commit 426344e30a
38 changed files with 30 additions and 2470 deletions
@@ -1 +0,0 @@
cmd_/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.ko := aarch64-linux-gnu-ld -EL -r -T /usr/src/linux-headers-3.14.0-20150821.kylin.3.desktop/scripts/module-common.lds --build-id -o /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.ko /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.o /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.mod.o
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,2 +0,0 @@
/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.ko
/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.o
@@ -1,30 +0,0 @@
#include <linux/module.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>
MODULE_INFO(vermagic, VERMAGIC_STRING);
__visible struct module __this_module
__attribute__((section(".gnu.linkonce.this_module"))) = {
.name = KBUILD_MODNAME,
.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
.exit = cleanup_module,
#endif
.arch = MODULE_ARCH_INIT,
};
static const struct modversion_info ____versions[]
__used
__attribute__((section("__versions"))) = {
{ 0x146be775, __VMLINUX_SYMBOL_STR(module_layout) },
{ 0x8d2e268b, __VMLINUX_SYMBOL_STR(param_ops_ulong) },
{ 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
{ 0xf8e398fc, __VMLINUX_SYMBOL_STR(memstart_addr) },
};
static const char __module_depends[]
__used
__attribute__((section(".modinfo"))) =
"depends=";
@@ -1 +0,0 @@
kernel//home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/memory/kv2p/kv2p.ko
@@ -1 +0,0 @@
cmd_/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.ko := aarch64-linux-gnu-ld -EL -r -T /usr/src/linux-headers-3.14.0-20150821.kylin.3.desktop/scripts/module-common.lds --build-id -o /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.ko /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.o /home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.mod.o
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,2 +0,0 @@
/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.ko
/home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.o
@@ -1,39 +0,0 @@
#include <linux/module.h>
#include <linux/vermagic.h>
#include <linux/compiler.h>
MODULE_INFO(vermagic, VERMAGIC_STRING);
__visible struct module __this_module
__attribute__((section(".gnu.linkonce.this_module"))) = {
.name = KBUILD_MODNAME,
.init = init_module,
#ifdef CONFIG_MODULE_UNLOAD
.exit = cleanup_module,
#endif
.arch = MODULE_ARCH_INIT,
};
static const struct modversion_info ____versions[]
__used
__attribute__((section("__versions"))) = {
{ 0x146be775, __VMLINUX_SYMBOL_STR(module_layout) },
{ 0x37a0cba, __VMLINUX_SYMBOL_STR(kfree) },
{ 0xa87cf413, __VMLINUX_SYMBOL_STR(clear_bit) },
{ 0x15625c2c, __VMLINUX_SYMBOL_STR(misc_deregister) },
{ 0xdc435006, __VMLINUX_SYMBOL_STR(device_create_file) },
{ 0xae8c4d0c, __VMLINUX_SYMBOL_STR(set_bit) },
{ 0x71603d38, __VMLINUX_SYMBOL_STR(kmem_cache_alloc) },
{ 0x442f54a5, __VMLINUX_SYMBOL_STR(kmalloc_caches) },
{ 0x4bc5f446, __VMLINUX_SYMBOL_STR(misc_register) },
{ 0x4813cae7, __VMLINUX_SYMBOL_STR(remap_pfn_range) },
{ 0x41182cc0, __VMLINUX_SYMBOL_STR(pgprot_default) },
{ 0xf8e398fc, __VMLINUX_SYMBOL_STR(memstart_addr) },
{ 0x27e1a049, __VMLINUX_SYMBOL_STR(printk) },
};
static const char __module_depends[]
__used
__attribute__((section(".modinfo"))) =
"depends=";
@@ -1 +0,0 @@
kernel//home/gatieme/Work/GitHub/LDD-LinuxDeviceDrivers/study/kernel/02-memory/00-code/mmap/mmap_test.ko
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.
@@ -0,0 +1,30 @@
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(void)
{
int fd = open("1.bat", O_RDWR|O_CREAT|O_TRUNC, 0777);
ftruncate(fd, 5000);
int pagesize = sysconf(_SC_PAGE_SIZE);
printf("pagesize = %d\n", pagesize);
char *addr_mmap_p = mmap(NULL, pagesize, PROT_WRITE, MAP_PRIVATE, fd, 0);
char *addr_mmap_s = mmap(NULL, pagesize, PROT_WRITE, MAP_SHARED, fd, 0);
unsigned long *addr_malloc = malloc(sizeof(unsigned long));
printf("addr_mmap_p: %p, addr_mmap_s: %p, addr_malloc: %p\n",
addr_mmap_p, addr_mmap_s, addr_malloc);
addr_mmap_p[pagesize - 1] = 0;
addr_mmap_s[pagesize - 1] = 0;
*addr_malloc = 0;
char c = getchar();
return 0;
}