OS開発クラスの宿題プロジェクトに取り組んでいます。1つのタスクは、割り込み時にSSEレジスタのコンテキストを保存することです。これで、コンテキストの保存と復元が簡単になりました(fxsave / fxsave)。しかし、私はテストに問題があります。同じサンプル日付をレジスタの1つに入れたいのですが、取得するのはエラー割り込み6だけです。コードは次のとおりです。
// load some SSE registers
struct Vec4 {
int x, y, z, w;
} vec = { 0, 1, 2, 3 };
asm volatile ( "movl %0, %%eax"
: /* no output */
: "r"( &vec )
:
);
asm volatile ( "movups (%eax), %xmm0" );
私は解決策をインターネットで検索しました。私が得たのは、それが効果的なアドレス空間と関係があるかもしれないということだけです。しかし、それが何であるかはわかりません。