Date: Tue, 03 Apr 2007 17:16:32 -0700 From: Peter Grehan <grehan@freebsd.org> To: Andrew Turner <andrew@fubar.geek.nz> Cc: freebsd-ppc@freebsd.org Subject: Re: Exception in openfirmware calling Message-ID: <4612EE60.8040103@freebsd.org> In-Reply-To: <20070404081638.536ca636@hermies.int.fubar.geek.nz> References: <20070331141428.5f7cb6b4@hermies.int.fubar.geek.nz> <4612AA47.4060802@freebsd.org> <20070404081638.536ca636@hermies.int.fubar.geek.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
> I've used the ofw_stack code from NetBSD for now. It creates a new > stack with a real address. That will work, though I don't like the way it's implemented: the calls in all of the OFW routines is a little ugly. My plan was to have a call_onstack() routine that would allow a function to be executed on a specified stack. This can be used in other places too, such as when the initial thread has to switch over to it's allocated stack. > Unfortunately there is still an exception in an address that looks like > it is from openfirmware [1]. DAR 0xD575A998 That looks like a kernel virtual address: is it possible that a stack parameter is still getting through ? The BSD OFW routines try and allocate their parameters in bss (which should be 1:1 mapped), but sometimes a buffer will get passed through: e.g. a read/write. later, Peter.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4612EE60.8040103>