devmem2 を使用して lwsoc2fpga ブリッジを介してFPGA部品のレジスターにアクセスすると、上記のエラーが表示されることがあります。devmem2 は、EL0 である Linux 用のユーザースペースで動作しています。デフォルトでは、すべての HPS 周辺機器は Privileged と見なされます。この場合、devmem2 がアクセスするにはスレーブを非特権として変更する必要があります。ログは以下の通りです。
root@stratix10swvp:~# devmem2 0xf9001080 w 1
/dev/mem が開きます。
[ 143.622724] CPU2 で検出されたエラー・メッセージ・メッセージの不正モード、コード0xbf000000 -- S Cedar
アドレス0xffffa02b8000でマッピングされたメモリー。
住所0xF9001080で読む (0xffffa02b8080): 0x0000000000000007
[ 143.631637] 内部エラー: Oops - 不正モード: 0 [#2] PREEMPT SMP
[ 143.646851] でリンクされたモジュール: leds_gpio ip_tables x_tables ipv6
[ 143.652846] CPU: 2 PID: 1780 Comm: devmem2(トランセント): G D 4.12.0 #1
[ 143.660032] ハードウェア名: SoCFPGA Stratix 10 SoCDK (DT)
[ 143.665319] タスク: ffff80003bec0000 task.stack: ffff80003b4a0000
[ 143.671214] PC が0xffffa01b62d0
[ 143.674685] LR が0xffffa01aa3d4
[ 143.678157] pc: [<0000ffffa01b62d0>] lr: [<0000ffffa01aa3d4>] pstate: 60000000
[ 143.685516] sp: 0000fffff4c1e710
[ 143.688814] x29: 0000fff4c1e710 x28: 000000000000000000
[ 143.694103] x27: 0000000000000007 x26: 0000000000000001
[ 143.699391] x25: 0000ffffa02b8080 x24: 0000000000000003
[ 143.704679] x23: 0000000000000001 x22: 0000fffff4c1e9e0
[ 143.709967] x21: 0000fffff4c1e9e0 x20: 0000fff4c1e890
[ 143.715256] x19: 0000fffff4c1e790 x18: 0000000000000001
[ 143.720544] x17: 0000ffffa0191ce0 x16: 0000000000411250
[ 143.725832] x15: 0000ffffa02bd030 x14: 0000ffffa0147c8c
[ 143.731121] x13: 0000ffffa02bc000 x12: ffffffffffff
[ 143.736409] x11: 0000fffff4c1e980 x10: 0000fffff4c1e980
[ 143.741698] x9: ffffff80ffffd0 x8: 0000fffff4c1e950
[ 143.746986] x7: 0000000000000001 x6: 0000ffffa0136040
[ 143.752274] x5: 0000ffffa02ad6f0 x4: 0000ffffa0289808
[ 143.757562] x3: 0000fffff4c1e9e0 x2: ffffffffffff
[ 143.762850] x1: 0000fffff4c1e9e0 x0: 0000fff4c1e790
[ 143.768140] Process devmem2 (pid: 1780、スタック制限 = 0xffff80003b4a0000)
[ 143.774980] ---[ end trace 530aa55983d4a86d ]---
セグメンテーション・フォールト
systemd-journald@stratix10swvp からのブロードキャスト・メッセージ (2017-09-24 07:20:59 UTC):
kernel[1711] [ 143.631637] 内部エラー: Oops - 不正モード: 0 [#2] PREEMPT SMP
この問題を解決するには、以下のコマンドで U-Boot の権限を変更できます。
mw 0xffd248000x6000000