• Paul Mackerras's avatar
    KVM: PPC: Book3S: Trim top 4 bits of physical address in RTAS code · b24f36f3
    Paul Mackerras authored
    The in-kernel emulation of RTAS functions needs to read the argument
    buffer from guest memory in order to find out what function is being
    requested.  The guest supplies the guest physical address of the buffer,
    and on a real system the code that reads that buffer would run in guest
    real mode.  In guest real mode, the processor ignores the top 4 bits
    of the address specified in load and store instructions.  In order to
    emulate that behaviour correctly, we need to mask off those bits
    before calling kvm_read_guest() or kvm_write_guest().  This adds that
    masking.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Acked-by: default avatarScott Wood <scottwood@freescale.com>
    b24f36f3
book3s_rtas.c 5.47 KB