acpi_os_nameとacpi_osiセマンティクス

acpi_os_nameとacpi_osiセマンティクス

私のラップトップが休止状態にあるときに奇妙な動作が発生します。最新バージョンのWindowsを実行しているふりをして、これが役立つことを確認したいと思います。

マイクロソフト_OSIを使用してACPIでWindowsのバージョンを識別する方法 _OSIカーネルのコマンドラインにマッピングされているとしますacpi_osi

しかし、カーネル文書acpi_os_nameチートに言及する:

    acpi_os_name=   [HW,ACPI] Tell ACPI BIOS the name of the OS
                    Format: To spoof as Windows 98: ="Microsoft Windows"

奇妙なことは、このGentooページ修正するのではなく、Windowsであるふりをするのacpi_os_nameです。acpi_osi

カーネル文書は、これがサポートされているオペレーティングシステム用であるacpi_osiことを示しています。

    acpi_osi=       [HW,ACPI] Modify list of supported OS interface strings
                    [...]  
                    acpi_osi=!*             # remove all strings
                    acpi_osi=!              # disable all built-in OS vendor strings

文書がほとんどないようで、私には次のような質問が提起されます。

  1. 2つの違い/相互作用は何ですか?

    1.1 一方が他方よりも優先されますか?

  2. 設定した場合は、「サポートされている」OSacpi_os_nameとして追加する必要がありますか?acpi_osi

  3. acpi_osi=!他の値を設定する前にすべて無効にする必要がありますか?

  4. 文字列を無効にすることと削除することの違いは何ですか?再起動後も持続しますか?

  5. ACPI / UEFIサポートまたは期待値が何であるかを確認する方法はありますか?

答え1

5)に対する部分的な答え

ACPIで一致する文字列を一覧表示しますWindows

(cd /tmp && mkdir acpi && cd acpi && sudo acpidump -b && for i in *; do echo $i:; strings -a $i | grep -i windows; done)

私の結果は次のとおりです

[...]
dsdt.dat:
Windows 2001
Windows 2001 SP1
Windows 2001 SP2
Windows 2001.1
Windows 2006
Windows 2009
Windows 2012
Windows 2013
Windows 2015
[...]
ssdt9.dat:
Windows 2013

ssdt9なぜ認識はわからないWindows 2013

関連情報