Re: [RFC 2/5] powerpc: kvm: drop 32-bit booke

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxx>


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




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux