NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
~~~ #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int disableCache_init(void) { printk(KERN_ALERT "Disabling L1 and L2 caches.\n"); __asm__(".intel_syntax noprefix\n\t" "mov eax,cr0\n\t" "or eax,(1 << 30)\n\t" "mov cr0,eax\n\t" "wbinvd\n\t" ".att_syntax noprefix\n\t" : : : "eax" ); return 0; } static void disableCache_exit(void) { printk(KERN_ALERT "Enabling L1 and L2 caches.\n"); __asm__(".intel_syntax noprefix\n\t" "mov eax,cr0\n\t" "and eax,~(1 << 30)\n\t" "mov cr0,eax\n\t" "wbinvd\n\t" ".att_syntax noprefix\n\t" : : : "eax" ); } module_init(disableCache_init); module_exit(disableCache_exit); ~~~