Commit | Line | Data |
---|---|---|
09c434b8 | 1 | // SPDX-License-Identifier: GPL-2.0-only |
e4dace36 FF |
2 | #include <linux/kernel.h> |
3 | #include <linux/module.h> | |
4 | #include <linux/export.h> | |
5 | #include <linux/mm.h> | |
6 | #include <linux/vmalloc.h> | |
7 | #include <linux/slab.h> | |
8 | #include <linux/sizes.h> | |
10fdf838 | 9 | #include <linux/io.h> |
e4dace36 FF |
10 | |
11 | #include <asm/page.h> | |
12 | #ifdef CONFIG_MIPS | |
13 | #include <asm/bootinfo.h> | |
14 | #endif | |
15 | ||
16 | struct foo { | |
17 | unsigned int bar; | |
18 | }; | |
19 | ||
b15f5f1a | 20 | static struct foo *foo; |
e4dace36 FF |
21 | |
22 | static int __init test_debug_virtual_init(void) | |
23 | { | |
24 | phys_addr_t pa; | |
25 | void *va; | |
26 | ||
27 | va = (void *)VMALLOC_START; | |
28 | pa = virt_to_phys(va); | |
29 | ||
30 | pr_info("PA: %pa for VA: 0x%lx\n", &pa, (unsigned long)va); | |
31 | ||
32 | foo = kzalloc(sizeof(*foo), GFP_KERNEL); | |
33 | if (!foo) | |
34 | return -ENOMEM; | |
35 | ||
36 | pa = virt_to_phys(foo); | |
37 | va = foo; | |
38 | pr_info("PA: %pa for VA: 0x%lx\n", &pa, (unsigned long)va); | |
39 | ||
40 | return 0; | |
41 | } | |
42 | module_init(test_debug_virtual_init); | |
43 | ||
44 | static void __exit test_debug_virtual_exit(void) | |
45 | { | |
46 | kfree(foo); | |
47 | } | |
48 | module_exit(test_debug_virtual_exit); | |
49 | ||
50 | MODULE_LICENSE("GPL"); | |
51 | MODULE_DESCRIPTION("Test module for CONFIG_DEBUG_VIRTUAL"); |