> -# define VDSO_PRELINK          VDSO_HIGH_BASE
> +# ifndef CONFIG_XEN
> +#  define VDSO_PRELINK         VDSO_HIGH_BASE
> +# else
> +#  define VDSO_PRELINK         (0UL - FIX_VDSO * PAGE_SIZE)
> +# endif
> 
> should be Kconfig driven, not #ifdef driven, due to cleanliness and also 
> because lguest wants to have the same thing. Plus:

In fact, with the relocate_vdso stuff it doesn't matter what VDSO_PRELINK
is at compile time.  It saves the small amount of startup cost if it
matches the runtime address, but that is probably not noticeable.

> furthermore, there should be a paravirt_ops method to chose the 
> relocation address, unless i'm missing something. On the native kernel 
> that address will default to 0xffffe000. (if CONFIG_COMPAT_VDSO is 
> selected)

For everything else to work, it needs to be set by changing __FIXADDR_TOP,
which seems to be done by calling reserve_top_address early enough.
It looks like that needs to be properly tied into paravirt_ops somehow.


Thanks,
Roland
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to