シリアルコンソールが反応しない問題、FSTを吐いているときに、前回間違ってfstのdump()を入れてしまっており 処理が非常に遅くなってしまっていた。dump()を解除するとFSTを取得しながらキーボードを叩くことができるようになった。
interruptがかからない問題は、UARTのメモリマップドレジスタがAXI経由で正しくアクセスできていなかったせいだった。 AXIに載せるときは、32-bitのバス幅の場合は書き込みメモリアドレスは32-bit alignにして、ストローブなどの場所を調整する必要があるということか。
これでPLICから割込みを受け付けることができるようになった。 コード自体が動作していなかったので確認したが、PLICをメモリマップに配置する必要があるらしい。これも実装しなきゃな...