]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit
powerpc: Update to new option-vector-5 format for CAS
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>
Tue, 28 Feb 2017 06:03:48 +0000 (17:03 +1100)
committerTim Gardner <tim.gardner@canonical.com>
Wed, 8 Mar 2017 17:29:45 +0000 (10:29 -0700)
commitba46da7c1cc57d83f6af66bfe8f10516151c7923
tree178e8e63b67afd9400a5f1e93be57fe9c60099da
parenteb035b81f802e615996a371cd84b6a073366a215
powerpc: Update to new option-vector-5 format for CAS

BugLink: http://bugs.launchpad.net/bugs/1671169
On POWER9 the ibm,client-architecture-support (CAS) negotiation process
has been updated to change how the host to guest negotiation is done for
the new hash/radix mmu as well as the nest mmu, process tables and guest
translation shootdown (GTSE).

This is documented in the unreleased PAPR ACR "CAS option vector
additions for P9".

The host tells the guest which options it supports in
ibm,arch-vec-5-platform-support. The guest then chooses a subset of these
to request in the CAS call and these are agreed to in the
ibm,architecture-vec-5 property of the chosen node.

Thus we read ibm,arch-vec-5-platform-support and make our selection before
calling CAS. We then parse the ibm,architecture-vec-5 property of the
chosen node to check whether we should run as hash or radix.

ibm,arch-vec-5-platform-support format:

index value pairs: <index, val> ... <index, val>

index: Option vector 5 byte number
val:   Some representation of supported values

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
Acked-by: Paul Mackerras <paulus@ozlabs.org>
[mpe: Don't print about unknown options, be consistent with OV5_FEAT]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 014d02cbf16b3106dc8e93281d2a9c189751ed5e)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
arch/powerpc/include/asm/prom.h
arch/powerpc/kernel/prom_init.c
arch/powerpc/mm/init_64.c