作为理解虚拟化的一部分,我正在尝试扩展对 KVM 的支持并定义一个新指令。该指令将使用以前未使用的操作码。参考 ref.x86asm.net/coder32.html。
现在,让我们说一个像“CPUID”这样的指令(它会导致 vm-exit),我想添加一个新指令,比如 -“NEWCPUID”,它类似于特权中的“CPUID”并且被管理程序捕获,但会实现方式不同。
浏览了一些网上资源后,我能够理解如何定义新的系统调用,但我不确定我需要在 linux 源代码中的哪些文件中添加 NEWCPUID 的代码?有没有比仅依赖“查找”命令更好的方法?
我面临以下挑战: 1.我需要在linux源代码中的哪些地方添加代码?2. 不确定这条新指令如何映射到以前未使用的操作码?
由于我对这个领域完全陌生并且愿意学习这个,有人可以简单地解释我如何完成这项任务吗?我需要正确的方向来实现这一目标。如果有描述该过程的参考/教程/博客,那将有很大帮助!