]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors
authorNicholas Piggin <npiggin@gmail.com>
Fri, 2 Apr 2021 02:41:24 +0000 (12:41 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 18 Apr 2021 13:19:29 +0000 (23:19 +1000)
commite588face0bd99966e39320800cc5ad690428e807
tree848a0382141cafb06180982674d8365f79b9cc5a
parentd64ff1da8c10c1f786fc052d860e27adb720f6a5
powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors

Starting with ISA v3.1, LPCR[AIL] no longer controls the interrupt
mode for HV=1 interrupts. Instead, a new LPCR[HAIL] bit is defined
which behaves like AIL=3 for HV interrupts when set.

Set HAIL on bare metal to give us mmu-on interrupts and improve
performance.

This also fixes an scv bug: we don't implement scv real mode (AIL=0)
vectors because they are at an inconvenient location, so we just
disable scv support when AIL can not be set. However powernv assumes
that LPCR[AIL] will enable AIL mode so it enables scv support despite
HV interrupts being AIL=0, which causes scv interrupts to go off into
the weeds.

Fixes: e3292c1450ef ("powerpc/64s: system call support for scv/rfscv instructions")
Cc: stable@vger.kernel.org # v5.9+
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20210402024124.545826-1-npiggin@gmail.com
arch/powerpc/include/asm/reg.h
arch/powerpc/kernel/setup_64.c