[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
__NO_FIXED_MSGBUF
msgbuf のアドレスなんですが、利用可能なメモリーの最後のページに
しませんか? これだとちょっとカーネルを変えた程度ではかわらないので
reboot 前のメッセージが読めます。
# iMac と以前ので共通に使える方法がこれしかみつからなかった。
こんな感じ:
*** pmap.c~ Sun Jan 10 19:24:17 1999
--- pmap.c Sun Jan 10 19:21:12 1999
***************
*** 473,488 ****
* allow for msgbuf
*/
sz = round_page(MSGBUFSIZE);
! for (mp = avail; mp->size; mp++)
! if (mp->size >= sz)
! break;
! if (!mp->size)
panic("not enough memory?");
npgs -= btoc(sz);
! msgbuf_paddr = mp->start;
mp->size -= sz;
- mp->start += sz;
if (mp->size <= 0)
bcopy(mp + 1, mp, (cnt - (mp - avail)) * sizeof *mp);
#endif
--- 473,488 ----
* allow for msgbuf
*/
sz = round_page(MSGBUFSIZE);
! mp = NULL;
! for (mp1 = avail; mp1->size; mp1++)
! if (mp1->size >= sz)
! mp = mp1;
! if (mp == NULL)
panic("not enough memory?");
npgs -= btoc(sz);
! msgbuf_paddr = mp->start + mp->size - sz;
mp->size -= sz;
if (mp->size <= 0)
bcopy(mp + 1, mp, (cnt - (mp - avail)) * sizeof *mp);
#endif
(やっぱり fixed なので NO_FIXED_MSGBUF だと変かな?)