[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 しかしてなく
て発現していないだけかな。