#       $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
file    arch/powerpc/powerpc/lock_stubs.S
file    arch/powerpc/powerpc/openpic.c                  openpic
file    arch/powerpc/powerpc/pmap_subr.c                ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601
file    arch/powerpc/powerpc/powerpc_machdep.c
file    arch/powerpc/powerpc/process_machdep.c
file    arch/powerpc/powerpc/setfault.S
file    arch/powerpc/powerpc/sig_machdep.c
file    arch/powerpc/powerpc/sigcode.S                  compat_16
file    arch/powerpc/powerpc/softint_machdep.c
file    arch/powerpc/powerpc/sys_machdep.c
file    arch/powerpc/powerpc/syscall.c
file    arch/powerpc/powerpc/vm_machdep.c
file    arch/powerpc/powerpc/setjmp.S                   ddb | kgdb
file    arch/powerpc/powerpc/db_memrw.c                 ddb | kgdb
file    arch/powerpc/powerpc/db_disasm.c                ddb
file    arch/powerpc/powerpc/db_interface.c             ddb | kgdb
file    arch/powerpc/powerpc/db_trace.c                 ddb
file    arch/powerpc/powerpc/fpu.c
file    arch/powerpc/powerpc/intr_stubs.c               ppc_booke

file    uvm/pmap/pmap_pvt.c                             modular | (ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601)

# IBM 4xx Family files (40x)
file    arch/powerpc/ibm4xx/pmap.c                      ppc_ibm4xx
file    arch/powerpc/ibm4xx/trap.c                      ppc_ibm4xx
file    arch/powerpc/ibm4xx/clock.c                     ppc_ibm4xx
file    arch/powerpc/ibm4xx/copyinstr.c                 ppc_ibm4xx
file    arch/powerpc/ibm4xx/copyoutstr.c                ppc_ibm4xx

# MPC (Motorola PowerPC) 6xx Family files (60x,74x,75x,74xx), IBM 970 family (bridge mode??)
#
defparam opt_oea.h EXTMAP_RANGES=20
file    arch/powerpc/oea/altivec.c                      (ppc_oea |ppc_oea64 | ppc_oea64_bridge) & altivec
file    arch/powerpc/oea/cpu_subr.c                     ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601
file    arch/powerpc/oea/cpu_speedctl.c                 ppc_oea64 | ppc_oea64_bridge
file    arch/powerpc/oea/oea_machdep.c                  ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601
file    arch/powerpc/oea/pmap.c                         ppc_oea | ppc_oea601
file    arch/powerpc/oea/pmap64.c                       ppc_oea64
file    arch/powerpc/oea/pmap64_bridge.c                ppc_oea64_bridge
file    arch/powerpc/oea/pmap_kernel.c                  ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601
file    arch/powerpc/powerpc/trap.c                     ppc_oea | ppc_oea64 | ppc_oea64_bridge | ppc_oea601

# PPC BookE (MPC85xx) Family files
file    arch/powerpc/booke/booke_machdep.c              ppc_booke
file    arch/powerpc/booke/booke_cache.c                ppc_booke
file    arch/powerpc/booke/booke_pmap.c                 ppc_booke
file    arch/powerpc/booke/booke_stubs.c                ppc_booke
file    arch/powerpc/booke/copyin.c                     ppc_booke
file    arch/powerpc/booke/copyout.c                    ppc_booke
file    arch/powerpc/booke/kcopy.c                      ppc_booke
file    arch/powerpc/booke/spe.c                        ppc_booke
file    arch/powerpc/booke/trap.c                       ppc_booke

# MPC8xx (Power QUICC 1) Family files
file    arch/powerpc/mpc8xx/mpc8xx_machdep.c            ppc_mpc8xx
file    arch/powerpc/mpc8xx/mpc8xx_cache.c              ppc_mpc8xx
file    arch/powerpc/mpc8xx/mpc8xx_pmap.c               ppc_mpc8xx
file    arch/powerpc/mpc8xx/mpc8xx_stubs.c              ppc_mpc8xx
file    arch/powerpc/mpc8xx/copyin.c                    ppc_mpc8xx
file    arch/powerpc/mpc8xx/copyout.c                   ppc_mpc8xx
file    arch/powerpc/mpc8xx/kcopy.c                     ppc_mpc8xx
file    arch/powerpc/mpc8xx/trap.c                      ppc_mpc8xx

# Common PMAP files
file    uvm/pmap/pmap.c                                 ppc_booke
file    uvm/pmap/pmap_segtab.c                          ppc_booke
file    uvm/pmap/pmap_tlb.c                             ppc_booke
#file   uvm/pmap/pmap_pv.c                              ppc_booke

# Binary compatibility with previous NetBSD releases (COMPAT_XX)
file    arch/powerpc/powerpc/compat_13_machdep.c        compat_13
file    arch/powerpc/powerpc/compat_16_machdep.c        compat_16

include "compat/freebsd/files.freebsd"

include "compat/netbsd32/files.netbsd32"
file    arch/powerpc/powerpc/netbsd32_sigcode.S         compat_16 & compat_netbsd32

# OSS audio driver compatibility
include "compat/ossaudio/files.ossaudio"

# Linux binary compatibility (COMPAT_LINUX)
include "compat/linux/files.linux"
include "compat/linux/arch/powerpc/files.linux_powerpc"
file arch/powerpc/powerpc/linux_sigcode.S               compat_linux
file arch/powerpc/powerpc/linux_trap.c                  compat_linux
file arch/powerpc/powerpc/linux_syscall.c               compat_linux

# Stack-less Just-In-Time compiler
include "external/bsd/sljit/conf/files.sljit"