Wrong looking statement in cpm_common.c

Scott Wood scottwood at freescale.com
Wed May 27 03:56:13 EST 2009


On Mon, May 25, 2009 at 02:00:33PM +1000, Benjamin Herrenschmidt wrote:
> Hi Scott !
> 
> There's this pearl in cpm_common.c :
> 
> void __init udbg_init_cpm(void)
> {
> 	if (cpm_udbg_txdesc) {
> #ifdef CONFIG_CPM2
> 		setbat(1, 0xf0000000, 0xf0000000, 1024*1024, PAGE_KERNEL_NCG);
> #endif
> 		udbg_putc = udbg_putc_cpm;
> 	}
> }
> 
> Now, last I looked, 0xf0000000 (virtual) lands about right in the middle
> of the vmalloc space... so unless there's code somewhere that I missed
> that reserves that region of virtual space for use by that crap above,
> I think somebody is in trouble :-)

:-(

> Additionally, that's the last user of setbat that I can find outside
> of the linear mapping setup proper, so scott, once you've fixed that
> I'll happily make setbat static once for all. We -can- still provide
> a facility for using BATs for early ioremap's but that should be done
> properly, not by whacking setbat with random hard wired virtual
> addresses.

Any suggestions for how to do it properly?

-Scott



More information about the Linuxppc-dev mailing list