コグノスケ


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

link もっと前
2020年11月22日 >>> 2020年11月9日
link もっと後

2020年11月22日

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日

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に持ってきてもらえば楽ですね。

編集者:すずき(2023/09/24 12:01)

コメント一覧

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



2020年11月19日

世界耐久選手権

WEC 2019-2020年シーズン 第8戦(最終戦)バーレーン8時間 決勝 - TOYOTA GAZOO Racingを読んで。WEC 2019-2020最終戦、トヨタが1-2フィニッシュで優勝とのこと。おめでとうございます。

WECは世界的な耐久レースシリーズで「ル・マン24時間耐久レース」の知名度だけ抜群に高いです。24時間耐久はル・マンだけで、他は大体6時間耐久です。日本も富士SWでレースしてます。2018年から参加チームの懐事情が厳しい(?)のか、2年で1シリーズの不思議な開催方式になりました。

WEC最速はLMP1クラスというんですが、2016年にアウディ、2017年にポルシェが抜け、プライベーターのレベリオン、SMPもいなくなり、今はトヨタしかいません。耐久レースですから、完走自体が素晴らしいことです。が、同クラスの相手がいない「優勝」はちょっと寂しいですね。

残念なことに、同じLMP1クラスと言えども、資金力の差がありすぎて、
LMP1ワークス(アウディ、ポルシェ、トヨタ)>>LMP1プライベーター(レベリオン、SMP)
結果はこうなります。2016年を見るとわかりやすいです。ワークスはプライベーターにはまず負けません。10周差とかブッチ切りで勝ちます。

トヨタもこのまま一人でLMP1でレースを続けるのは嫌だろうし、箱車のプロトタイプカー最高峰LMP1クラスはなくなってしまうのか、悲しいなあ……。とか勝手にしみじみしていたのですが、来年からは名前を一新してLMHクラスになって、トヨタはもちろんアルピーヌ(ルノー)が参戦するっぽいです。

以下は、過去の戦績です。

編集者:すずき(2023/07/11 15:43)

コメント一覧

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



2020年11月18日

新しいメガネ完成

先日メガネが壊れ(2020年11月12日の日記参照)新しく注文した(2020年11月14日の日記参照)メガネが完成しました。フレームは増永眼鏡のGMS-831 24 GRY Crystal(メーカーのサイト)、レンズは東海光学です。全部で7万円くらい。末永く大切に使います。

増永眼鏡のサイトを見るとオシャレな感じです。ブランドものなんですかね?メガネは基本的に店員さんに薦められるがままに買っていて、フレームやレンズのメーカーを意識したことがありません……。

前のメガネも実はAMIPARIS TR-323というメーカーでした。知らなかったわ……。12年も持ったので、とても良い買い物だったと言えましょう。

視力のバランスが直った

前のメガネは10年以上も経っていた(2008年12月21日の日記参照)だけあって、右だけ度が外れていました(左視力0.9右視力0.5)。今回は両眼とも同じ視力(左、右0.9)です。今のメガネの方が視力のバランスは正しいです、が、前のメガネと見え方が違って、変な感じがします。そのうち慣れるでしょう。

レンズの度数はL -2.25, R -3.25でした。中度近視に近づいてきて、メガネなし生活だと辛いというか、見えなくて危険な視力になりつつあります。

以前の度数をお店で聞き忘れてしまったんですが、過去の日記(2008年12月23日の日記参照)に書いていました。今回、左のレンズの度数は変えていないので、L -2.25, R -3.0ですね。

今回作ったメガネはレンズの縁にかなり近い部分でもほとんど歪みがありません。すごいですね。レンズの設計、製造技術も進化していますね。

編集者:すずき(2020/11/20 01:57)

コメント一覧

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



2020年11月17日

Zephyrのcollaborator

目次: Zephyr

ZephyrのRISC-V subsystemのcollaboratorになりました。といっても、特に何の権限もありません。

TSC Project Roles(リンク)によると、本来はcontributorから始まり、collaborator -> maintainerという道を辿るものらしいです。

ところが、RISC-Vは過疎っているらしく「なりたいです」って言ったら「どうぞ」ってあっさり通りました。collaboratorとしてしばらく頑張るとmaintainerに昇格する(かもしれない)仕組みらしいです。

編集者:すずき(2023/09/24 12:00)

コメント一覧

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



2020年11月14日

メガネを購入

メガネが壊れた(2020年11月12日の日記参照)ままだと大変不便なので、早速、品川のパリミキでメガネを買いました。今までとだいぶ雰囲気の違うデザインにしました。出来上がるのは来週くらいかな?あと少しだけ壊れたメガネでがんばります。

在宅なら激しい動きはしませんし、メガネのフレームが半分無くとも、メガネがどこかにぶっ飛んでいくことはありません。余裕です。

編集者:すずき(2020/11/18 22:50)

コメント一覧

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



2020年11月13日

FreeRTOSで遊ぼう その6 - FreeRTOSのパッチがマージされた

目次: FreeRTOS

FreeRTOSにぶん投げたパッチがmergeされたよとメールが来ていました。たった1個ですけど、FreeRTOSに名前が残りましたね……。

だから何が起きる訳でもないんですけど。記念にはなりますね。

編集者:すずき(2023/09/24 08:52)

コメント一覧

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



2020年11月12日

メガネが壊れた

メガネを拭いていたら突然パキッと音がしてフレームが破断しました。


フレームが折れた

蝶番の付け根のヘアピン状の部品が金属疲労で折れたようです。蝶番はいかにも弱そうでいつか壊れると思っていましたが、まさか蝶番は無事で支えが折れるとは思わなんだ……。


フレームの破断面

破断面が細すぎるので接着剤も無理そうです。メガネは新たに買うとしても、今日の移動や仕事が困るなあ。

とても長持ち

日記を見返すと、今のメガネは12年前に買った(2008年12月21日の日記参照)ので、10年以上も良く持った、以外の言葉が見つかりません。とても良い買い物でした。ありがとう。

編集者:すずき(2020/11/18 22:42)

コメント一覧

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



link もっと前
2020年11月22日 >>> 2020年11月9日
link もっと後

管理用メニュー

link 記事を新規作成

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

最近のコメント5件

  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」

最近の記事3件

  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 22年7月8日
    すずき (11/02 20:34)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介一覧が欲しくなったので作りました。5作品乙女ゲームの破滅フラグしかない悪役...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
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 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

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

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/04 15:17