[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1f1beb34-65cc-4038-a8b2-de8af3e0703e@csgroup.eu>
Date: Fri, 13 Dec 2024 07:25:01 +0100
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Arnd Bergmann <arnd@...db.de>, Arnd Bergmann <arnd@...nel.org>,
kvm@...r.kernel.org
Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Huacai Chen <chenhuacai@...nel.org>, Jiaxun Yang <jiaxun.yang@...goat.com>,
Michael Ellerman <mpe@...erman.id.au>, Nicholas Piggin <npiggin@...il.com>,
Naveen N Rao <naveen@...nel.org>, Madhavan Srinivasan <maddy@...ux.ibm.com>,
Alexander Graf <graf@...zon.com>, Crystal Wood <crwood@...hat.com>,
Anup Patel <anup@...infault.org>, Atish Patra <atishp@...shpatra.org>,
Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt
<palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>,
Sean Christopherson <seanjc@...gle.com>, Paolo Bonzini
<pbonzini@...hat.com>, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H. Peter Anvin" <hpa@...or.com>, Vitaly Kuznetsov <vkuznets@...hat.com>,
David Woodhouse <dwmw2@...radead.org>, Paul Durrant <paul@....org>,
Marc Zyngier <maz@...nel.org>, linux-kernel@...r.kernel.org,
linux-mips@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
kvm-riscv@...ts.infradead.org, linux-riscv@...ts.infradead.org
Subject: Re: [RFC 2/5] powerpc: kvm: drop 32-bit booke
Le 12/12/2024 à 22:08, Arnd Bergmann a écrit :
> On Thu, Dec 12, 2024, at 19:35, Christophe Leroy wrote:
>> Le 12/12/2024 à 13:55, Arnd Bergmann a écrit :
>>> From: Arnd Bergmann <arnd@...db.de>
>
>>>
>>> Support for 64-bit hosts remains unchanged, for both 32-bit and
>>> 64-bit guests.
>>>
>
>>> arch/powerpc/include/asm/kvm_book3s_32.h | 36 --
>>> arch/powerpc/include/asm/kvm_booke.h | 4 -
>>> arch/powerpc/include/asm/kvm_booke_hv_asm.h | 2 -
>>> arch/powerpc/kvm/Kconfig | 22 +-
>>> arch/powerpc/kvm/Makefile | 15 -
>>> arch/powerpc/kvm/book3s_32_mmu_host.c | 396 --------------
>>> arch/powerpc/kvm/booke.c | 268 ----------
>>> arch/powerpc/kvm/booke.h | 8 -
>>> arch/powerpc/kvm/booke_emulate.c | 44 --
>>> arch/powerpc/kvm/booke_interrupts.S | 535 -------------------
>>> arch/powerpc/kvm/bookehv_interrupts.S | 102 ----
>>> arch/powerpc/kvm/e500.c | 553 --------------------
>>> arch/powerpc/kvm/e500.h | 40 --
>>> arch/powerpc/kvm/e500_emulate.c | 100 ----
>>> arch/powerpc/kvm/e500_mmu_host.c | 54 --
>>> arch/powerpc/kvm/e500mc.c | 5 +-
>>> arch/powerpc/kvm/trace_booke.h | 14 -
>>> 17 files changed, 4 insertions(+), 2194 deletions(-)
>>> delete mode 100644 arch/powerpc/include/asm/kvm_book3s_32.h
>>> delete mode 100644 arch/powerpc/kvm/book3s_32_mmu_host.c
>>> delete mode 100644 arch/powerpc/kvm/booke_interrupts.S
>>> delete mode 100644 arch/powerpc/kvm/e500.c
>>
>> Left over ?
>>
>> arch/powerpc/kernel/head_booke.h:#include <asm/kvm_asm.h>
>> arch/powerpc/kernel/head_booke.h:#include <asm/kvm_booke_hv_asm.h>
>> arch/powerpc/kernel/head_booke.h: b
>> kvmppc_handler_\intno\()_\srr1
>
> As far as I can tell, these are still needed for e5500/e6500,
> but you know more about the platform than I do.
$ git grep kvmppc_handler_ arch/powerpc/
arch/powerpc/kvm/bookehv_interrupts.S:
_GLOBAL(kvmppc_handler_\intno\()_\srr1)
In your patch you remove the include of head_booke.h from there:
diff --git a/arch/powerpc/kvm/bookehv_interrupts.S
b/arch/powerpc/kvm/bookehv_interrupts.S
index 8b4a402217ba..c75350fc449e 100644
--- a/arch/powerpc/kvm/bookehv_interrupts.S
+++ b/arch/powerpc/kvm/bookehv_interrupts.S
@@ -18,13 +18,9 @@
#include <asm/asm-offsets.h>
#include <asm/bitsperlong.h>
-#ifdef CONFIG_64BIT
#include <asm/exception-64e.h>
#include <asm/hw_irq.h>
#include <asm/irqflags.h>
-#else
-#include "../kernel/head_booke.h" /* for THREAD_NORMSAVE() */
-#endif
#define LONGBYTES (BITS_PER_LONG / 8)
$ git grep head_booke.h
arch/powerpc/kernel/asm-offsets.c:#include "head_booke.h"
arch/powerpc/kernel/head_44x.S:#include "head_booke.h"
arch/powerpc/kernel/head_85xx.S:#include "head_booke.h"
$ git grep head_85xx.o
arch/powerpc/kernel/Makefile:obj-$(CONFIG_PPC_85xx) +=
head_85xx.o
CONFIG_PPC_85xx depends on CONFIG_PPC32.
CONFIG_E5500_CPU and CONFIG_E6500_CPU both depend on CONFIG_PPC64.
So yes it is used on e5500/e6500 but only when they run a 32 bits kernel
built with CONFIG_PPC_85xx. Isn't it what you want to get rid of with
this patch ?
Am I missing something ?
Christophe
Powered by blists - more mailing lists