問題タブ [efi]

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.

0 投票する
1 に答える
578 参照

memory-management - efiアプリケーションで物理アドレスが4GBを超えるメモリを割り当てますか?

「物理アドレス」が4GBを超えるメモリバッファをefiアプリケーションで割り当てることができるかどうか疑問に思っていますか?

元。PC には 6GB の DRAM がインストールされており、efi アプリケーションは 4KB のバッファを割り当て、その物理メモリ アドレスは 0x100000000(=4GB) です。

大丈夫ですか ?

0 投票する
1 に答える
1869 参照

driver - efiシェルでAHCI経由でSATAドライブに直接アクセスしますか?

EFI シェルで AHCI 経由で SATA ドライブにアクセス (読み取り/書き込み) したい場合、この目的で使用される読み取り/書き込みインターフェイスはありますか?

つまり、EFI シェル アプリケーションはドライブにアクセスするために AHCI 仕様を実装する必要がありますか? (コマンドをビルドし、コマンドを発行し、コマンドの完了を処理します...)

または、アプリケーションが特定の「読み取り/書き込み」インターフェイス (Windows の SCSI_PATH_THROUGH など) を呼び出すだけで、「EFI ahci ドライバー」がこれらを低レベルのアクセス ルーチンに変換しますか?

0 投票する
1 に答える
1099 参照

uefi - 組み込みシステムのブルズアイ カバレッジ - 小さなフットプリント データ ファイルではありません

Bullseye run for EFI (EDK II) システムで数週間戦っています。最後にすべてをリンクし、コードをコンパイルすると、すべてが機能するようです (組み込みシステムには Bullseye チュートリアルを使用し、このトピック: Bullseye for EDK Based Application を使用しました)。

テストを実行し、Bullseye COV ファイルのシンボルを受け取りました。2番目のリンクによると:

出力データをファイルにリダイレクトし (EDK2 シェル内で > ディレクティブを使用)、covpost で処理して、ビルド プロセスで作成された cov ファイルにマージできます。

この出力をファイルにリダイレクトしましたが、COV ファイルにマージしようとすると、次のメッセージが表示されます。

Copyright (c) Bullseye Testing Technology 1990-2014

例外: be_test: 小さいフットプリント データ ファイルではありません

いくつかのアイデア?

ありがとう。

0 投票する
0 に答える
592 参照

macos - OS X Yosemite で Tianocore をビルドできない

OS X Yosemite で EFI 開発キット (EDK2) をビルドしようとしています。私は最新の開発ツールを持っています。ビルドまで、ここで説明されているとおりに指示に従いましたUnixPkgEmulatorPkg次に、ドキュメントで推奨されているようにビルドしようとしました。Apple の出荷が必要なフォーマットをサポートしていないnasmというエラー メッセージを回避するために、Homebrew 経由でインストールする必要がありました。nasm

これで、 に関するエラーnasmは回避されますが、ビルドは次のエラーで失敗します。

インストールする必要がありgccますか? もしそうなら、どのバージョンですか?Xcode 6.1 および Apple clang 6.0 の実行 (LLVM 3.5svn ベース)

0 投票する
6 に答える
17193 参照

firmware - UEFI の「アプリケーション」は実際にどのような用途に使用されていますか?

私は PC ファームウェアのプログラミングに興味があり、UEFI 仕様を勉強しています。驚いたことに、ファームウェアに組み込まれている OS 全体の仕様のようです。他の OS が存在しなくても、UEFI ブート サービスを使用して直接実行される UEFI "アプリケーション" を作成することもできます。

「Hello, world!」を作成する方法を示すブログ記事を見つけました。UEFI プリブート環境で実行できるアプリケーション。これは...興味深いと同時に奇妙です。通常の OS で「Hello, world」プログラムを実行します。ありがとうございます。

UEFI アプリケーションは実際にどのようなユースケースに適していますか? ファンシーなブート構成画面? 「実際の」市販の PC ファームウェアは、UEFI アプリケーションを使用して、ブートローダーとブート構成ユーティリティ以外のものを実装していますか?

0 投票する
2 に答える
2708 参照

linux - Apple の EFI 環境の EFI-Stub にカーネル パラメータを渡す

皆さん、こんばんは。iMac デュアルブート OS-X と Ubuntu のブート プロセスを可能な限り短縮しようとしています。これまでのところ、AppleのEFIブートマネージャーから直接grub(およびその後Ubuntu)を起動できました。AppleのファームウェアがOsX自体を起動するために期待するものとして、grubバイナリを(ハードリンク、エイリアス、フォルダのツリーなどを介して)マスカレードすることでこれを達成しました。(例:

)
今、私はさらに一歩進んで、GRUB を排除しようとしています。最新の Linux ディストリビューションには EFI スタブがカーネルに組み込まれていることを知っています。そのため、原則として、GRUB2 などの (セカンダリ) ブート マネージャーを必要とせずに (EFI/UEFI ファームウェアを介して) カーネルを直接起動できます。 、 例えば。(このような:

) Apple の問題は、それが「独特な」EFI 実装であることです。Linux カーネルの EFI スタブが機能するためには、パラメーターを渡すことができる必要があります (ルート パス、初期 RAM ディスクなど)。これは、セカンダリ ブート マネージャー (GRUB、rEFInd、ELILO など) を使用して簡単に実現できます。彼らはコマンドライン文字列をEFIバイナリに渡します)が、これはまさに私がバイパスしたいものです。Apple の EFI ファームウェアによってロードされた任意の EFI バイナリにパラメータを渡す方法はありますか? (私は com.apple.Boot.plist で試しましたが、役に立ちませんでした。) または、代わりに、ブートプロセス中にコマンドラインなしで (おそらくテキストファイルを介して) Linux カーネルにパラメータを渡す方法はありますか?

0 投票する
1 に答える
310 参照

io - UEFI で I/O デバイスをエミュレートする方法はありますか?

OS の背後で実行されている UEFI ランタイム ドライバーで I/O デバイス (スーパー IO コントローラーなど) をエミュレートする方法はありますか?

0 投票する
1 に答える
699 参照

c++ - Visual Studio 2008 ツール チェーンで EDK II ライブラリをアプリケーションにスタティック リンクする方法

パッケージに EDK II アプリケーションとライブラリがあり、ライブラリ ソース コードでコンパイルすると問題なく動作します。ここで、ライブラリのソース コードを削除し、そのライブラリを .lib ファイルを介してアプリケーションにリンクしたいと考えています。

アプリケーション プロジェクトからライブラリ ソース コードの参照を削除すると、このアプリケーションのビルド中に次のメッセージが表示されます。

これを解決するには、DSC ドキュメントで、以下に示すようにライブラリ インスタンスを make ファイルに追加する必要があると述べています。

問題は、このエントリをメイク ファイル/EDK II ビルド システムに追加する方法です。

ツール チェーンとして VS2008 を使用しています。