[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: hang with fMSX
>kernel は死ななくても
>/usr/bin/tr: No child processes.
>/usr/bin/awk: No child processes.
>/usr/bin/sed: No child processes.
>Illegal instruction (core dumped)
>とかいろいろ変なことを言われます。
未確認ですが、(カーネルは生きている場合)これで少しは状況がかわりますか?
# ちょっと余計なコードも入ってるけど気にしないでください。
*** sys/arch/macppc/macppc/machdep.c~ Thu Oct 15 19:54:56 1998
--- sys/arch/macppc/macppc/machdep.c Tue Oct 13 21:01:06 1998
***************
*** 655,660 ****
--- 655,661 ----
{
struct trapframe *tf = trapframe(p);
struct ps_strings arginfo;
+ paddr_t sigcode;
bzero(tf, sizeof *tf);
tf->fixreg[1] = -roundup(-stack + 8, 16);
***************
*** 689,694 ****
--- 690,706 ----
tf->srr0 = pack->ep_entry;
tf->srr1 = PSL_MBO | PSL_USERSET | PSL_FE_DFLT;
p->p_addr->u_pcb.pcb_flags = 0;
+
+ /* sync I-cache for signal trampoline code */
+ if (p->p_vmspace->vm_map.pmap != p->p_addr->u_pcb.pcb_pm)
+ printf("vm_map.pmap != u_pcb.pcb_pm\n");
+
+ sigcode = pmap_extract(p->p_vmspace->vm_map.pmap,
+ (vaddr_t)p->p_sigacts->ps_sigcode);
+ if (sigcode)
+ syncicache((void *)sigcode, 32); /* XXX */
+ else
+ printf("??? sigcode == 0\n");
}
/*
あと ohare を積んでいる場合、PCI が cache coherent になっているかどうか
ちょっと疑問なところがあります。(っていうか linux-pmac では coherent で
ないことにしているように見える)
でも本当に coherent でなければファイルをコピーしたら内容がバケたりする
んですよね。そんなことないなら大丈夫なのかな。それとも PIO しかしてなく
て発現していないだけかな。