シグナルによるVM実験用サンプル

■ 概要

シグナルの延長で特権命令やアクセス不可の資源へのアクセスのエミュレートを行う ことで,実験的にVMの動作(ハイパーバイザの動作)を行います.(2020/11/17)
具体的には,以下のようなことをします.

Linux/x86 or Linux/x86_64 の環境で動作します. CentOS(32bit)/Debian(64bit)で動作確認済み.
(シグナル発生時のコンテキストの保存方法に依存するため, 上記環境でないと正常動作しません.x86/x86_64の両方には対応しています)
シグナル発行時のコンテキスト保存については,Linuxの linux/arch/x86/kernel/signal.c の以下を参照.

get_sigframe()
setup_sigcontext()
struct sigframe
struct sigcontext