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