Subject: Re: NEWS5000 doesn't boot
To: Tsubai Masanari <tsubai@iri.co.jp>
From: Jason R Thorpe <thorpej@zembu.com>
List: port-mips
Date: 08/01/2000 21:30:30
On Wed, Aug 02, 2000 at 12:59:47PM +0900, Tsubai Masanari wrote:

 > But why is the cache flush needed in setregs() and pmap_procwr() is
 > not enough?

Yah, you shouldn't need it in setregs() at all!  PowerPC and MIPS used
the setregs() hack, and then is@netbsd.org just fixed it for everone in
kern_exec.c (he was seeing failures on 68040 and 68060).

 > 	/* copy out the process's signal trapoline code */
 > 	if (szsigcode) {
 > 		if (copyout((char *)pack.ep_emul->e_sigcode,
 > 		    p->p_sigacts->ps_sigcode = (char *)PS_STRINGS - szsigcode,
 > 		    szsigcode)) {
 > #ifdef DEBUG
 > 			printf("execve: sig trampoline copyout failed\n");
 > #endif
 > 			goto exec_abort;
 > 		}
 > #ifdef PMAP_NEED_PROCWR
 > 		/* This is code. Let the pmap do what is needed. */
 > 		pmap_procwr(p, (vaddr_t)p->p_sigacts->ps_sigcode, szsigcode);
 > #endif
 > 	}
 > 

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>