• Paul Mackerras's avatar
    KVM: PPC: Book3S HV: Store LPCR value for each virtual core · a0144e2a
    Paul Mackerras authored
    This adds the ability to have a separate LPCR (Logical Partitioning
    Control Register) value relating to a guest for each virtual core,
    rather than only having a single value for the whole VM.  This
    corresponds to what real POWER hardware does, where there is a LPCR
    per CPU thread but most of the fields are required to have the same
    value on all active threads in a core.
    
    The per-virtual-core LPCR can be read and written using the
    GET/SET_ONE_REG interface.  Userspace can can only modify the
    following fields of the LPCR value:
    
    DPFD	Default prefetch depth
    ILE	Interrupt little-endian
    TC	Translation control (secondary HPT hash group search disable)
    
    We still maintain a per-VM default LPCR value in kvm->arch.lpcr, which
    contains bits relating to memory management, i.e. the Virtualized
    Partition Memory (VPM) bits and the bits relating to guest real mode.
    When this default value is updated, the update needs to be propagated
    to the per-vcore values, so we add a kvmppc_update_lpcr() helper to do
    that.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    [agraf: fix whitespace]
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    a0144e2a
book3s_hv_rmhandlers.S 45.3 KB