В рамках понимания виртуализации я пытаюсь расширить поддержку KVM и определить новую инструкцию. Инструкция будет использовать ранее не использовавшиеся коды операций. ref- ref.x86asm.net/coder32.html.
Теперь, скажем, такая инструкция, как «CPUID» (которая вызывает vm-exit), и я хочу добавить новую инструкцию, скажем, «NEWCPUID», которая аналогична «CPUID» по привилегиям и перехватывается гипервизором, но будет отличаются реализацией.
Изучив некоторые онлайн-ресурсы, я смог понять, как определять новые системные вызовы, но я не уверен, какие все файлы в исходном коде linux мне нужны, чтобы добавить код для NEWCPUID? Есть ли лучший способ, чем полагаться только на команду «найти»?
Я столкнулся со следующими проблемами: 1. В какие места в исходном коде Linux мне нужно добавить код? 2. Не знаете, как эту новую инструкцию можно сопоставить с ранее не использовавшимся кодом операции?
Поскольку я совершенно новичок в этой области и хочу этому научиться, может ли кто-нибудь вкратце объяснить мне, как выполнить эту задачу? Мне нужно правильное направление для достижения этого. Если есть ссылка/руководство/блог с описанием процесса, это будет большим подспорьем!