root/lib/test_debug_virtual.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. test_debug_virtual_init
  2. test_debug_virtual_exit

   1 // SPDX-License-Identifier: GPL-2.0-only
   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>
   9 #include <linux/io.h>
  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 
  20 static struct foo *foo;
  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");

/* [<][>][^][v][top][bottom][index][help] */