• Stefano Stabellini's avatar
    xen/arm: hypercalls · aa2466d2
    Stefano Stabellini authored
    Use r12 to pass the hypercall number to the hypervisor.
    
    We need a register to pass the hypercall number because we might not
    know it at compile time and HVC only takes an immediate argument.
    
    Among the available registers r12 seems to be the best choice because it
    is defined as "intra-procedure call scratch register".
    
    Use the ISS to pass an hypervisor specific tag.
    
    
    Changes in v2:
    - define an HYPERCALL macro for 5 arguments hypercall wrappers, even if
    at the moment is unused;
    - use ldm instead of pop;
    - fix up comments.
    Signed-off-by: default avatarStefano Stabellini <stefano.stabellini@eu.citrix.com>
    Reviewed-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    aa2466d2
hypercall.S 3.28 KB