問題タブ [powerpc]
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.
c++ - グローバル変数が extern 変数で指定した文字列で初期化されない理由
この同じコードは Windows では問題なく動作しますが、SBC (PowerPC) では s_request_view が NULL として渡されます。
なぜ動作が異なるのか、誰かが私を助けてくれますか?
caching - ppc でキャッシュ書き込みポリシーを選択する方法
PowerPC MPC83xx での Linux ブートを最適化しています。nand から ram へのカーネル イメージ コピーを最適化し、キャッシュの書き込みポリシーを確認または変更しようとしています。
リファレンス マニュアルを読むと、プロセッサはデフォルトでライトバック ポリシーを使用します。しかし、これを確認/構成するためのレジスタが見つかりませんでした。
これを変更して、ライトバック/スルー ポリシーを使用してテストを行うにはどうすればよいですか?
ありがとう !
assembly - PowerPC が可変 SPR に移行
私はアセンブリ マクロを C プログラムに書き込んでいますが、これはまったく新しいので、何かに引っかかってしまいました。汎用レジスタから専用レジスタにデータを移動するためのマクロを作成しようとしています。
私の問題は、データを GPR から SPR に移動するために見つけた構文が、別のレジスタに格納されている変数を使用したいのに、一定の SPR 値を取ることです。
私は次のようなものを求めています:
そのようなマクロが利用できない理由はありますか?どうすれば自分でマクロを作成できますか?
よろしくお願いします。
----編集: ---- 現在のように、正しい mtspr セクションにジャンプする巨大なスイッチ ケースが C コードに含まれています。特定の SPR: を読み書きするための 20 のセクションがあり、それぞれがまったく同じように見えますが、一定の値だけ異なります。
c - C コンパイラはビットフィールドで何をしますか?
私は組み込みプロジェクト (PowerPC ターゲット、Freescale Metrowerks Codewarrior コンパイラ) に取り組んでおり、レジスタはメモリ マップされ、適切なビットフィールドで定義され、個々のビット フラグを簡単にいじることができます。
現時点では、この機能を使用して割り込みフラグをクリアし、データ転送を制御しています。まだバグに気づいていませんが、これが安全かどうか気になりました。ビットフィールドを安全に使用する方法はありますか、またはそれぞれを DISABLE_INTERRUPTS ... ENABLE_INTERRUPTS でラップする必要がありますか?
明確にするために:マイクロで提供されるヘッダーには、次のようなフィールドがあります
ビットフィールドにビットを設定することはアトミックではないと思います。これは正しい仮定ですか?コンパイラは実際にビットフィールドに対してどのようなコードを生成しますか? R (raw) フィールドを使用して自分でマスクを実行すると、操作がアトミックではないことを覚えやすくなる場合があります (などの代入がCAN_A.IMASK1.B.BUF00M = 1
アトミックではないことを忘れがちです)。
あなたのアドバイスをいただければ幸いです。
iphone - パシフィストを使用した PowerPC Mac 上の XCode/iPhone SDK
XCode + SDK を PowerPC にインストールできるはずです。これはどれほど簡単ですか?最新バージョン(3.2.2)でできますか?そうでない場合、どのバージョンですか? (最新のXCodeはPowerPCで動かないOSのバージョンが必要だと思います)
assembly - 順序と障壁:PowerPCの「lwsync」に対するx86の同等の命令は何ですか?
私のコードは以下のように単純です。読み取りと書き込み用のrmbとwmbを見つけましたが、一般的なものは見つかりませんでした。lwsyncはPowerPCで利用できますが、x86の代わりとなるものは何ですか?よろしくお願いします。
c++ - C++ で無線強度信号を取得する
ワイヤレス AP を検出し、ID、信号の強度などの情報を取得できる小さな C/C++ プログラムを作成したいと思います... 暗号化 (オープン、WPA、WEP) ... のようなものこれ!airodump や network stumbler のように!
このコードは、パワー PC、コンソール (Wii) で実行されます。
例やチュートリアルの投稿を手伝ってくれる人はいますか?
どうもありがとう!
linux-kernel - PPC Linux で実行時に syscall テーブルをフックする方法は?
件名: PPC アセンブリ言語 - Linux Loadble カーネル モジュール
詳細:システムコール テーブル フックでカーネルから呼び出されたときにローカル TOC 領域 (r2) にアクセスするにはどうすればよいですか?
syscall テーブル フックを使用してシステム コールをインターセプトし、システム コールに関する情報をログに記録してから、元のハンドラにコールを渡す Linux 用のロード可能なカーネル モジュールを作成しました。これはセキュリティ製品の一部です。私のモジュールは問題なく動作し、32 ビットと 64 ビットの両方のカーネルをすべて x86 ハードウェアで実行する、多種多様な Linux カーネル バージョンとディストリビューションで実行される製品コードです。
このコードを PPC プロセッサ用の Linux で実行できるように移植しようとしていますが、いくつかの問題が発生しました。Linux カーネル ソースを使用すると、システム コール テーブルが PPC でどのように異なる方法で実装されているかを簡単に確認できます。テーブル内のエントリを、自分でコンパイルしたハンドラーの関数アドレスに置き換えることができます。問題ありません。
しかし、ここで私が問題を抱えている問題があります。PPC ABI は、CPU の R2 レジスタに格納されているテーブル オブ コンテンツ (TOC) アドレスと呼ばれるものを使用し、そのレジスタに含まれるアドレス (TOC アドレス) からのオフセットを使用して、モジュールのグローバルおよびローカル データをアドレス指定することを期待しています。これは、コンパイラーが呼び出しを行う前にモジュールの TOC アドレスをレジスターにロードすることを知っているため (または、通常、関数が独自のコードによって呼び出されるため、既にそこにあるため)、関数呼び出しが行われる通常のケースでは正常に機能します。
ただし、(実行時にロードされたカーネル モジュールから) 独自の関数のアドレスをシステム コール テーブルに配置すると、カーネルは、コンパイルされた C コードが期待するものではない R2 値でハンドラーを呼び出すため、コードが取得されます。データにアクセスできなくても制御できます。
この状況を処理する方法を示すサンプルコードを知っている人はいますか? カーネルを再コンパイルできません。これは実行時の syscall テーブル フックの簡単なケースですが、私はまだそれを理解していないか、PPC に固有の例を見つけていません。
アイデアは次のとおりです。
R2 値を保存し、レジスタにローカル TOC アドレスをロードし、コードを実行し、元のハンドラーを呼び出す前に古い値を復元するアセンブリ言語スタブを手作業でコーディングします。私にはこれを行うための PPC アセンブリの経験がありませんし、うまくいくかどうかもわかりません。
TOC を使用せずにコードを生成する魔法の gcc オプション。"-mno-toc"
私の PPC6 Linux では動作しない文書化された gcc オプションがあります。システム V.4 と組み込み PowerPC のオプションのみのようです。
どんな助けでも大歓迎です!
ありがとう!
embedded-linux - クロスコンパイル中にmodules.depとld.so.cacheを準備するにはどうすればよいですか?
私はppc用のx86でカーネルモジュールといくつかのライブラリをクロスコンパイルしています。ホストシステムでld.so.cacheとmodules.depを作成することは可能ですか?
PS私はELDKツールを使用しています。
macos - Tigerを実行しているPowerPCMacでMonoDevelop2.4が起動しないのはなぜですか
Tigerを実行しているPowerPCMacでMonoDevelop2.4を実行しようとしています。
ダウンロードページの「古いリリース」ページからMono2.4.3をダウンロードし、インストールしました。OS XMonoDevelop2.4パッケージをダウンロードしてインストールしました。実行しても起動しません。ドック内で少し上下にバウンドしてから消えます。コンソールログのスタックトレースは次のとおりです。
Mac OS Xバージョン10.4.11(ビルド8S165)2010-09-24 14:45:13 +0100 2010-09-24 14:45:17.383 SystemUIServer [174] lang is:en Stacktrace:
at MonoDevelop.Core.Properties.Get(string)<0xffffffff> at MonoDevelop.Core.Properties.Get(string)<0x000cc> at MonoDevelop.Core.Properties.Set(string、object)<0x00048> at MonoDevelop.Core.PropertyService ..cctor()<0x00188> at(wrapper runtime-invoke)object.runtime_invoke_void(object、intptr、intptr、intptr)<0xffffffff> at MonoDevelop.Ide.IdePreferences.get_UserInterfaceTheme()<0xffffffff>atMonoDevelop.Ide.IdePreferences。 get_UserInterfaceTheme()<0x00038> at MonoDevelop.Ide.IdeStartup.Run(string [])<0x0092c> at MonoDevelop.Startup.MonoDevelopMain.Main(string [])<0x000b0> at(wrapper runtime-invoke)MonoDevelop.Startup.MonoDevelopMain .runtime_invoke_int_object(object、intptr、intptr、intptr)<0xffffffff>
私はいくつかのWeb検索を行いましたが、MDにはCSDKが必要であるという提案がありましたが、その2.4.3バージョンへのリンクが見つかりません。もう1つは、MDが起動スクリプトによってデバッグモードで実行されているため、他のMac ppc所有者の問題が発生していますが、バージョン2.4のスクリプトではそうではないようです。
このソフトウェアとOSの組み合わせは機能するはずですか?もしそうなら、私は他に何を試すことができますか?