なんにせよx86ベタベタなのは失敗だと思う

どうせなら命令形自体を仮想化しておいてアーキテクチャが変わっても対応できるようにするとか
カーネルが仮想マシンとして振舞うエミュレータ的な扱いならアプリ側は何も意識しないで済むし