少々手直ししてコミット
久しぶりにコードをコミットした。リハビリ中な気分。
+#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra +END(getcurcpu)
nopで埋め忘れてる。
+#ifdef MULTIPROCESSOR +LEAF(getcurcpu, 0) + GET_CPU_INFO(v0, v1) + jr ra + nop +END(getcurcpu)
+ error = uvm_pglistalloc(size, 0, -1, 0, 0, + &mlist, 1, UVM_PLA_NOWAIT);
上限アドレスの指定は-1Lじゃなくて0xffffffff。
また、alloc_contiguous_pagesを呼んでる全ての関数で直後にbzero()してるので、アロケート時点でそもそもZEROフィルするように変更。
+ error = uvm_pglistalloc(roundup(size, USPACE), 0, 0xffffffff, 0, 0, + &mlist, 1, UVM_PLA_NOWAIT | UVM_PLA_ZERO);