> > - The Arm magic kernel code page. This is used on recent Arm kernels to
> > provide efficient access to kernel/CPU features. For example atomic
> > operations, and reading the TLS register (which may or may not be a real
> > hardware register). This is simplified version of the VDSO used on recent
> > x86 and ppc kernels.
>
> On i386 there are AUXENTs to define the address of the VDSO page
> (AT_SYSINFO and AT_SYSINFO_EHDR). If it was supported by the ARM glibc,
> it would avoid some hacks you need to do to intercept calls to it. Can
> you check that ?

Arm does not [yet] use a full VDSO.
As Arm is primarily aimed at embedded targets it was decided that the overhead 
of a VDSO was undesirable.

In particular a fixed page mapping means an application can use shifter tricks 
to generate the address and avoid the PLT indirection.

e.g.:
__aeabi_read_tp:
        mov     r0, #0xffff0fff
        sub     pc, r0, #31

Paul


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to