cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

test_debug_virtual.c (981B)


      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
     16struct foo {
     17	unsigned int bar;
     18};
     19
     20static struct foo *foo;
     21
     22static 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}
     42module_init(test_debug_virtual_init);
     43
     44static void __exit test_debug_virtual_exit(void)
     45{
     46	kfree(foo);
     47}
     48module_exit(test_debug_virtual_exit);
     49
     50MODULE_LICENSE("GPL");
     51MODULE_DESCRIPTION("Test module for CONFIG_DEBUG_VIRTUAL");