Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Nov 1996 21:27:57 +0800
From:      Peter Wemm <peter@spinner.dialix.com>
To:        "John S. Dyson" <toor@dyson.iquest.net>
Cc:        phk@critter.tfs.com, freebsd-smp@freebsd.org
Subject:   Re: cvs commit: sys/i386/i386 locore.s swtch.s sys/i386/include pmap.h 
Message-ID:  <199611251327.VAA01291@spinner.DIALix.COM>
In-Reply-To: Your message of "Mon, 25 Nov 1996 08:12:16 EST." <199611251312.IAA01616@dyson.iquest.net> 

next in thread | previous in thread | raw e-mail | index | archive | help
"John S. Dyson" wrote:
> > I hope John's not going to have too much of a heart attack.. :-]  It doesn'
    t
> > interfere with the pmap code or the vm system in general, apart from making
> > the maximum npkt space smaller by 4MB.  I'm pretty sure I can get this
> > to fly tonight, and will probably be able to get rid of the idle procs
> > and smp_idleloop() in the process.
> > 
> Don't worry, just feel free to ask for help (if you need it.)

Don't worry.. I will certainly yell "Help!!!" when I need it. :-)

OBTW, easy question.  Is it safe to do a:
	movl	%cr3, %eax
	movl	%eax, %cr3
.. from a non-spl-maskable interrupt handler?

I'm thinking in terms of a lightning quick interprocessor interrupt to
force all cpu's to do an invltlb().

So far as I can see from a quick scan of the code, the only real loads of
%cr3 are during cpu_switch(), initialisation, and tlb flushes.  cpu_switch()
does it from inside cli/sti so it's safe, init code is irrelevant at this
point, and I think the tlb flush is implicitly reentrant since it's
not changing the register.

Have I missed something?

> John

Cheers,
-Peter



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611251327.VAA01291>