2012-04-17 21 views
1

私はLinuxのCR0に書き込もうとしていますが、segフォールトが継続しています。これはi386:x86_64の組み立てのためのものです。これを回避する方法はありますか?CR0への書き込みのためのSegフォールト

ベローは、segフォールトを設定するコードの一部です。

+2

あなたは何をしようとしていますか?コメントから、あなたはシステムコールを実行しようとしているようですが、 '0xffffffff'は' sys_write'の番号ではありません。 – Job

+0

mem操作にmemを使用できないため、0xfffffffに書きました。少なくとも1つのレジスタが必要です。 cr0はレジスタですが、私は安全の手段としてeaxしか使っていませんでした。基本的に私はユーザー空間からプロテクションモードをオフにしたい。しかし、私が最近知ったことから、最近のcpuはかなり進歩しており、そのセグメントにその特権がない場合、特定のレジスタを混乱させないように保護されたセグメントにコードを配置します。 –

答えて

6

CR0は保護されたレジスタです。ユーザースペースのLinuxアプリケーションでは変更できません。