On Sat, Jul 09, 2011 at 12:29:01AM +0100, Peter Maydell wrote:
> On 8 July 2011 19:32, Nicolas Pitre <nicolas.pi...@linaro.org> wrote:
> > On Fri, 8 Jul 2011, Dave Martin wrote:
> >> On Fri, Jul 08, 2011 at 12:21:27AM +0100, David Gilbert wrote:
> >> > Nicolas just added; Richard's argument is that if it was actually a
> >> > VDSO I'd just have linked against a symbol and if the symbol wasn't
> >> > there then I would have got a fairly normal linker error - I wouldn't
> >> > have needed any special code; and to be honest I think that would also
> >> > solve the problem that accessing that wacky address is also a pain for
> >> > things like qemu because we're going to have to intercept that read.
> >>
> >> Note that pre-existing code already calls into the vectors page.
> >
> > Right, qemu must be intercepting it already.  The kernel helpers located
> > at a fixed address in the vector page have been around for more than 6
> > years.
> 
> QEMU supports calls into the fixed vector page (it just special cases
> attempts to execute at addresses >= 0xffff0000 and emits code to do
> "cause special purpose exception" so we get control back at runtime).
> What it doesn't support is attempts to do a load from the vector page,
> because so far nobody has had a need to probe the vector page for what
> it supports.

To solve that particular problem, can you just map a page in RAM with the
right content for __kernel_helper_version?

The value there can be a static feature of QEMU, indicating which kuser
helper functions QEMU knows how to emulate.

User processes shouldn't read anything else from the vectors page, at least
for now.

Cheers
---Dave

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to