link もっと前
   2020年 11月 30日 -
      2020年 11月 21日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

2020年 11月 23日

link permalink

link 編集する

調子が良くない Windows 10

最近ノート PC というか Windows 10 の調子が良くなくて、いきなりハングアップして Ctrl+Alt+Del すら受け付けなくなったり、タスクバーの文字が全部消えて操作できなくなったり、謎の動きをしています。

おかしくなると大抵操作不能で、そのまま電源を切るしかありませんが、今日のヘンテコ現象はちょっと違っていてスクリーンショットを取れました。


Wi-Fi のグラフがおかしくなった

Wi-Fi の有効、無効を切り替えても直らず、PC を再起動したら直りました。いったい何だったんでしょうね?

[編集者: すずき]
[更新: 2020年 11月 24日 01:55]

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年 11月 22日

link permalink

link 編集する

OpenSSL の AES アクセラレータを強制的に無効にする

たまに必要になって、いつも調べなおしている気がするので、早く探せるようにメモしておきます。

OpenSSL は AES などいくつかの処理でハードウェアアクセラレータを使うように実装されています。基本的には /proc/cpuinfo のフラグを見て自動的に設定しますが、たまにアクセラレータを強制的に有効 or 無効にしたくなるときがあります。

OpenSSL: ARM 系 CPU の機能フラグを上書きできる箇所

void OPENSSL_cpuid_setup(void)
{
    const char *e;
    struct sigaction ill_oact, ill_act;
    sigset_t oset;
    static int trigger = 0;

    if (trigger)
        return;
    trigger = 1;

    if ((e = getenv("OPENSSL_armcap"))) {
        OPENSSL_armcap_P = (unsigned int)strtoul(e, NULL, 0);    //★これ
        return;
    }

ソースコード(OpenSSL の GitHub へのリンク)をみると、OPENSSL_armcap という環境変数で CPU の持つ機能フラグを好きな値で上書きできることがわかります。

実際使ってみよう

ROCKPro64(Rockchip RK3399, Cortex-A72 + Cortex-A53)で測ってみます。

ROCKPro64 でのベンチマーク結果
# AES アクセラレータ ON

$ openssl speed -evp aes-128-gcm

type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm     168921.74k   499845.48k   837985.11k  1005767.68k  1070077.27k  1046943.06k


# AES アクセラレータ OFF

$ OPENSSL_armcap=0 openssl speed -evp aes-128-gcm

type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes  16384 bytes
aes-128-gcm      46764.84k    51727.58k    53175.72k    53730.99k    54086.31k    54220.12k

OFF にするとどのサイズでもほぼ同じ速度になり、いかにもソフトウェア処理っぽい結果になります。アクセラレータの ON/OFF が効いていそうですね。

[編集者: すずき]
[更新: 2020年 11月 23日 16:23]

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2020年 11月 21日

link permalink

link 編集する

Zephyr のダウンロードとモジュール

目次: Zephyr を調べる - まとめリンク

Zephyr は本体(GitHub へのリンク)と、モジュールに分かれています。

モジュールを 1つも使わなくても Zephyr は動きますが、sanitycheck を実行するときモジュールに依存したテストでビルドエラーが出て、ノイズになってしまいます。

Zephyr のモジュール管理

Zephyr は west という独自のモジュール管理ツールを持っています。インストール方法は公式ドキュメント(Installing west - Zephyr Project Documentation)にあるとおりです。

west のインストール
$ pip3 install --user -U west

Zephyr とモジュールのダウンロード方法も公式ドキュメント(Getting Started Guide - Zephyr Project Documentation)にあるとおりの手順です。

Zephyr のダウンロード(公式手順)
$ mkdir work
$ cd work

$ west init
$ west update

非常に楽ですね。

今まで使っていた Zephyr にモジュールだけ足したい

あまり推奨されるやり方ではないですが、今まで使っていた「素の」Zephyr のツリーを再利用して、モジュールだけ追加したい場合はどうしたら良いでしょうか?

ポイントは west init で生成される .west/config というファイルを手動で作ることです。work というディレクトリに今まで使っていた Zephyr のコードがあるとします。

west のコンフィグファイルを作る
$ cd work

$ west topdir

FATAL ERROR: no west workspace found from "/home/username/work"; "west topdir" requires one.
Things to try:
  - Change directory to somewhere inside a west workspace and retry.
  - Set ZEPHYR_BASE to a zephyr repository path in a west workspace.
  - Run "west init" to set up a workspace here.
  - Run "west init -h" for additional information.

$ mkdir .west
$ cat > .west/config
[manifest]
path = zephyr
file = west.yml

$ west topdir

/home/username/work

コンフィグを作って west topdir が動作したら、west update も実行できるようになっているはずです。モジュールは数が多く手動でダウンロードすると大変ですが、west に持ってきてもらえば楽ですね。

[編集者: すずき]
[更新: 2020年 11月 24日 01:39]

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2020年 11月 30日 -
      2020年 11月 21日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 11/24 01:55

カレンダー

<2020>
<<<11>>>
1234567
891011121314
15161718192021
22232425262728
2930-----

最近のコメント 5件

  • link 20年09月10日
    すずき 「追加情報。最新の Debian Test...」
    (更新:10/07 16:48)
  • link 20年09月20日
    hdk 「最近は音楽聞く時やビデオ視聴時はミニコン...」
    (更新:09/24 21:43)
  • link 20年09月20日
    すずき 「ありゃー、同じ壊れ方ですね。\n新たなヘ...」
    (更新:09/24 00:23)
  • link 20年09月20日
    hdk 「うちのATH-AD300もやはり頭にプラ...」
    (更新:09/23 12:26)
  • link 20年07月10日
    すずき 「鳥のゲームは知りませんでした。色々やって...」
    (更新:08/11 18:59)

最近の記事 3件

link もっとみる
  • link 20年11月23日
    すずき 「[調子が良くない Windows 10] 最近ノート PC という...」
    (更新:11/24 01:55)
  • link 20年11月21日
    すずき 「[Zephyr のダウンロードとモジュール] 目次: Zephyr...」
    (更新:11/24 01:39)
  • link 20年02月22日
    すずき 「[Zephyr を調べる - まとめリンク] 日記が増えすぎて、一...」
    (更新:11/24 01:38)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報