Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/powerpc Introduce PPC_NO_UNALIGNED flag to indicate...



details:   https://anonhg.NetBSD.org/src/rev/eea29efc7450
branches:  trunk
changeset: 366547:eea29efc7450
user:      rin <rin%NetBSD.org@localhost>
date:      Mon May 30 14:05:36 2022 +0000

description:
Introduce PPC_NO_UNALIGNED flag to indicate that CPU cannot handle
unaligned memory access, and emulation should be provided to userland.

diffstat:

 sys/arch/powerpc/conf/files.powerpc |  4 +++-
 sys/arch/powerpc/include/cpu.h      |  7 ++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diffs (49 lines):

diff -r 8329a5442747 -r eea29efc7450 sys/arch/powerpc/conf/files.powerpc
--- a/sys/arch/powerpc/conf/files.powerpc       Mon May 30 13:58:51 2022 +0000
+++ b/sys/arch/powerpc/conf/files.powerpc       Mon May 30 14:05:36 2022 +0000
@@ -1,14 +1,16 @@
-#      $NetBSD: files.powerpc,v 1.101 2022/05/07 07:10:46 rin Exp $
+#      $NetBSD: files.powerpc,v 1.102 2022/05/30 14:05:36 rin Exp $
 
 defflag        opt_altivec.h   ALTIVEC K_ALTIVEC PPC_HAVE_SPE
 defflag        opt_openpic.h   OPENPIC_DISTRIBUTE
 defparam opt_ppcparam.h        L2CR_CONFIG L3CR_CONFIG INTSTK CLOCKBASE VERBOSE_INITPPC PPC_CPU_FREQ
 defflag        opt_ppcarch.h   PPC_OEA PPC_OEA601 PPC_OEA64 PPC_OEA64_BRIDGE PPC_MPC8XX PPC_IBM4XX PPC_IBM403 PPC_IBM440 PPC_BOOKE
 defflag opt_ppccache.h CACHE_PROTO_MEI
+defflag        opt_ppcopts.h   PPC_NO_UNALIGNED
 defflag opt_pmap.h     PMAPDEBUG PMAPCHECK PMAPCOUNTERS PMAP_MINIMALTLB PMAP_TLBDEBUG
 defparam opt_pmap.h    PTEGCOUNT PMAP_MEMLIMIT
 
 file   arch/powerpc/powerpc/core_machdep.c             coredump
+file   arch/powerpc/powerpc/fix_unaligned.c            ppc_no_unaligned
 file   arch/powerpc/powerpc/fixup.c
 file   arch/powerpc/powerpc/kgdb_machdep.c             kgdb
 file   arch/powerpc/powerpc/kobj_machdep.c             modular
diff -r 8329a5442747 -r eea29efc7450 sys/arch/powerpc/include/cpu.h
--- a/sys/arch/powerpc/include/cpu.h    Mon May 30 13:58:51 2022 +0000
+++ b/sys/arch/powerpc/include/cpu.h    Mon May 30 14:05:36 2022 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: cpu.h,v 1.120 2021/11/02 11:26:04 ryo Exp $    */
+/*     $NetBSD: cpu.h,v 1.121 2022/05/30 14:05:36 rin Exp $    */
 
 /*
  * Copyright (C) 1999 Wolfgang Solfrank.
@@ -49,6 +49,7 @@
 #include "opt_modular.h"
 #include "opt_multiprocessor.h"
 #include "opt_ppcarch.h"
+#include "opt_ppcopts.h"
 #endif
 
 #ifdef _KERNEL
@@ -471,6 +472,10 @@
 extern int cpu_altivec;
 #endif
 
+#ifdef PPC_NO_UNALIGNED
+bool   fix_unaligned(struct trapframe *, ksiginfo_t *);
+#endif
+
 #endif /* _KERNEL */
 
 /* XXX The below breaks unified pmap on ppc32 */



Home | Main Index | Thread Index | Old Index