問題タブ [msr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - インラインアセンブリコードの正確な解釈?
インラインアセンブリの正確な解釈は本当に不思議です。
私は基本的にインラインアセンブリがどのように見えるかを知っています:
以下は例です:
どちらにも「クロバー」部分はありません。
まず、cpuGetMSR では、
正しい解釈ですか?しかし、rdmsr はどこに行くのでしょうか? cpuGetMSR() と cpuSetMsr() の解釈を手伝ってくれる人が必要です。ありがとう
encryption - MSR DUKPT の MAC バリアント?
現在、ChipCard EMV デバイスの復号化に取り組んでいます。以下は、トランザクションを使用した後の関連データです (タグ長値としての TLV 形式)。
このデバイスの BDK は0123456789ABCDEFFEDCBA9876543210
. 復号化命令ごとに、DFDF59 には次のタグが含まれていることが言及されています。
命令ごとに、 「 MSR DUKPT の MAC バリアント」と記載されています。ここで、MAC はメッセージ認証コードを表し、「TLV 形式でデータを解析します。暗号化されたデータ タグについては、TDES_Decrypt_CBC を使用して復号化します」。
KSN、BDK、暗号化データDFDF59を使って3DES DUKPTを使ってみました。それはうまくいきません。解読分野の誰かが私にアドバイスをくれますか? 私たちのベンダーは、彼らの知識を共有することに非常に消極的です...
ここで MAC が復号化で実際にどのような役割を果たしているのかわかりません.... MAC は単なる整合性チェックだと思っていました.... KSN と BDK から生成された 3DES DUKPT のセッション キーを使用しています。これは、このデバイスの他の復号化には機能しますが、DFDF59 (チップカード EMV 復号化) は解決しません.... そのため、正しいセッションキーを使用しているかどうか疑問に思い始めます....お気軽にそこにアイデアを投げ出すだけです。ありがとうございました!
linux-kernel - /dev/cpu/cpu0/msr と /sys/class/powercap/energy_uj からのエネルギー測定値の違い
MSR_PKG_ENERGY_STATUS を使用し、/sys/class/powercap/energy_uj ファイルを読み取るだけでなく、/dev/cpu/cpu0/msr ファイルを使用してエネルギー消費量を測定できることがわかりました。これら 2 つは特定のプログラムに対してほぼ同じ値を示しますが、2 つのファイルのどちらがより正確な結果を提供するのか、エネルギーの読み取り値を取得するために複数のインターフェイスが必要なのかを知りたいです。両者は相互に依存していますか?
intel - 大規模プログラムの LBR
Intel プロセッサの Last Branch Record 機能。多くの分岐がある大規模なプログラムに適していますか? はいの場合、Haswell の場合、16 個の MSR レジスタを使用するだけでパス全体を見つけるにはどうすればよいですか?
linux - wrsmr コマンドで入力が MSR に登録されない
私は次の環境を持っています:ubuntu 12.04
kernel 3.2.0-29-generic-pae
すべてがにインストールされていparallels version 11.0.1
ます。コマンドmsr-tools
を使用してインストールしました。apt-get
私の問題は、msr レジスタに値を書き込む次のコマンドを実行しても、何も起こらないことです。エラーは返されませんが、 を使用しrdmsr
てまったく同じレジスタを読み取ると、以前の値が表示されます。
ここで何が欠けていますか?wrmsr コマンドを実行しても、入力が msr レジスタに登録されないのはなぜですか? ここに私が試したことの要約があります
linux-kernel - すべての CPU でカーネル コードを実行する方法は?
x87 FPU の FOP 互換モードを有効にするカーネル モジュールを作成しようとしています。これは、IA32_MISC_ENABLE
MSR のビット 2 を設定することによって行われます。コードは次のとおりです。
動作しているように見えますが、複数のinsmod/rmmod
サイクルdmesg
で、互換モードがまだ有効になっていないという出力が得られることがありますwrmsr
. 少し考えた後、モジュールコードが異なる論理CPUで実行されたためであることに気付きました(4コア* HT = 8論理CPUのCore i7を使用しています)rmmod
。このサイクルを約 20 回繰り返した後、一貫した「有効な」印刷が得られ、ユーザー空間アプリケーションはそれで問題なく動作しました。
そこで私の質問は、システムに存在するすべての論理 CPU でコードを実行して、すべての論理 CPU で互換モードを有効にするにはどうすればよいかということです。
intel - Haswell マイクロアーキテクチャには、パフォーマンスに Stalled-cycles-backend がありません
Haswell CPU( Intel Core i7-4790 ) に perf をインストールしました。しかし、「perf リスト」には「stalled-cycles-frontend」も「stalled-cycles-backend」も含まれていません。http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.htmlを確認しましたが、表 19 からストール サイクル バックエンドに関連するパフォーマンス イベントが見つかりませんでした。 7 (第 4 世代インテル Core プロセッサーのプロセッサー コアにおける非アーキテクチャ パフォーマンス イベント)。
私の質問は、Haswell CPU コアで perf または他のツールを使用してストール サイクル バックエンドを測定するにはどうすればよいかということです。カーネルは 3.19 で、perf バージョンも 3.19 です。
ありがとう
linux - Linux perf ツールのブランチ サンプリングを有効にする方法
Linux perf ツールを使用してプログラムのブランチ情報を収集します。コマンドと結果は次のとおりです。
/pro/cpuinfo の内容は次のとおりです。
apic
そしてbts
、flags
入力が強化され(欲しいのですが、「**」でカプセル化されているだけです)、この場合に他に何がインポートされるのかわかりません。他の 7 つのプロセッサはプロセッサ 0 と同じです。
/boot/grub/grub.cfg を変更すると、ブート パラメーター「lapic」が追加されます。
エントリに追加するだけlapic
です。linux
しかし、再起動後は意味がありません。
私の質問:
1) エラー情報は何を意味しますか?
2) パフォーマンス ツールのブランチ サンプリングは Intel Branch Trace Store (BTS) を使用しますか? または最後のブランチ レコード (LBR) ですか?
3) LBR サポートを調べるにはどうすればよいですか?
4) x86 32 ビットと 64 ビットの間の LBR と BTS サポートの違いは何ですか?
私のOSはUbuntu 14.04 64bit
:
パフォーマンスのインストール手順:
アップデート:
/proc/interrupts の内容:
ubuntu 16.10 64bit
PCにインストールしてperf record -b
正常に実行します。linux-tools-4.2.0-27-generic
カーネルかlinux-cloud-tools-4.2.0-27-generic
パッケージが間違っているのではないかと思います。