On 11 July 2011 09:36, Dave Martin <dave.mar...@linaro.org> wrote:
> 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?

We could, but that's dependent on the target system letting us do that.
(for that matter if the target system decided to map another page there
it won't fault access to it and then we're going to get who knows what).

Dave

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

Reply via email to