[PATCH v2 2/5] arm64/xen: introduce asm/xen header files on arm64
Ian Campbell
Ian.Campbell at citrix.com
Tue Jun 4 05:24:26 EDT 2013
On Mon, 2013-06-03 at 16:33 +0100, Stefano Stabellini wrote:
> asm/xen/hypercall.h, asm/xen/hypervisor.h, asm/xen/interface.h and
> asm/xen/page.h are indentical so to avoid code duplication we are just
"identical"
> including the original arm header files here.
>
> asm/xen/events.h is slightly different, so introduce a different file
> here (use xchg to implement xchg_xen_ulong and pass regs->pstate to
> raw_irqs_disabled_flags).
>
> Also introduce asm/hypervisor.h and asm/sync_bitops.h.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell at citrix.com>
[...]
> +/* sync_bitops functions are equivalent to the SMP implementation of the
> + * original functions, independently from CONFIG_SMP being defined.
> + *
> + * We need them because _set_bit etc are not SMP safe if !CONFIG_SMP. But
> + * under Xen you might be communicating with a completely external entity
> + * who might be on another CPU (e.g. two uniprocessor guests communicating
> + * via event channels and grant tables). So we need a variant of the bit
> + * ops which are SMP safe even on a UP kernel.
> + */
> +
> +#define sync_set_bit(nr, p) set_bit(nr, p)
Oh, arm64 seems to have optimised bitops now, which means I can ditch
the skanky versions in Xen in favour of these. Nice.
Ian.
More information about the linux-arm-kernel
mailing list