Some ARM32_PMAP_NEW-related cleanup:
* Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically
compatible with the generic, the SA-1 cache does not have a write-through
mode, and it is useful to know have an indication of this.
* Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at
compile time. We evaluate it like so:
- If SA-1-style MMU is the only type configured -> 1
- If SA-1-style MMU is not configured -> 0
- Otherwise, defer to a run-time variable.
If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time
check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly
code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC
largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve
included with the original new pmap.
* In the new pmap, make pmap_pte_init_generic() check to see if the CPU
has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get
write-through mode. Otherwise, init the PT cache mode to C=1,B=1.
* Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap,
sets page table cacheability to 0 (ARM8 has a write-back cache, but
flushing it is quite expensive).
* In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to
C=1,B=0, since the write-back check in generic gets it wrong for ARM9,
since we use write-through mode all the time on ARM9 right now. (What
this really tells me is that the test for write-through cache is less
than perfect, but we can fix that later.)
* Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap,
does generic initialization, then resets page table cache mode to
C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
2003-04-22 04:24:48 +04:00
|
|
|
# $NetBSD: GENERIC,v 1.15 2003/04/22 00:24:50 thorpej Exp $
|
1998-06-13 03:29:27 +04:00
|
|
|
#
|
2002-02-10 04:53:06 +03:00
|
|
|
# Generic Shark configuration.
|
1998-06-13 03:29:27 +04:00
|
|
|
#
|
|
|
|
|
2002-02-10 04:53:06 +03:00
|
|
|
include "arch/shark/conf/std.shark"
|
1998-06-13 03:29:27 +04:00
|
|
|
|
2002-04-25 19:06:20 +04:00
|
|
|
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
|
|
|
|
|
Some ARM32_PMAP_NEW-related cleanup:
* Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically
compatible with the generic, the SA-1 cache does not have a write-through
mode, and it is useful to know have an indication of this.
* Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at
compile time. We evaluate it like so:
- If SA-1-style MMU is the only type configured -> 1
- If SA-1-style MMU is not configured -> 0
- Otherwise, defer to a run-time variable.
If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time
check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly
code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC
largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve
included with the original new pmap.
* In the new pmap, make pmap_pte_init_generic() check to see if the CPU
has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get
write-through mode. Otherwise, init the PT cache mode to C=1,B=1.
* Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap,
sets page table cacheability to 0 (ARM8 has a write-back cache, but
flushing it is quite expensive).
* In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to
C=1,B=0, since the write-back check in generic gets it wrong for ARM9,
since we use write-through mode all the time on ARM9 right now. (What
this really tells me is that the test for write-through cache is less
than perfect, but we can fix that later.)
* Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap,
does generic initialization, then resets page table cache mode to
C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
2003-04-22 04:24:48 +04:00
|
|
|
#ident "GENERIC-$Revision: 1.15 $"
|
1998-06-13 03:29:27 +04:00
|
|
|
|
2000-08-04 06:23:22 +04:00
|
|
|
# estimated number of users
|
1998-06-13 03:29:27 +04:00
|
|
|
maxusers 32
|
|
|
|
|
|
|
|
# Standard system options
|
|
|
|
|
|
|
|
options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
|
|
|
|
options HZ=64
|
|
|
|
#options NTP # NTP phase/frequency locked loop
|
|
|
|
options NMBCLUSTERS=1024 # XXX, temporarily required
|
|
|
|
#options BOOT_QUIETLY # twiddle instead of normal boot msg output
|
|
|
|
|
|
|
|
# CPU options
|
|
|
|
|
|
|
|
options CPU_SA110 # Support the SA110 core
|
|
|
|
|
|
|
|
# Architecture options
|
|
|
|
|
|
|
|
options SHARK # We are a Shark
|
|
|
|
options NSIO # We are using the National Semi SuperIO
|
2000-11-13 21:40:34 +03:00
|
|
|
makeoptions COPTS="-O2 -march=armv4 -mtune=strongarm"
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# compatibility with old version of OFW, which may have incorrect
|
|
|
|
# properties and/or may set up devices incorrectly.
|
|
|
|
options COMPAT_OLD_OFW
|
|
|
|
|
|
|
|
# FPA options
|
|
|
|
|
1998-06-19 02:32:33 +04:00
|
|
|
#options ARMFPE # ARM Ltd FPE
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# File systems
|
|
|
|
|
|
|
|
file-system FFS # UFS
|
|
|
|
#file-system LFS # log-structured file system
|
|
|
|
file-system MFS # memory file system
|
2000-01-24 02:54:34 +03:00
|
|
|
file-system NFS # Network file system
|
1998-06-19 02:32:33 +04:00
|
|
|
#file-system ADOSFS # AmigaDOS-compatible file system
|
|
|
|
#file-system EXT2FS # second extended file system (linux)
|
1998-06-13 03:29:27 +04:00
|
|
|
#file-system CD9660 # ISO 9660 + Rock Ridge file system
|
|
|
|
file-system MSDOSFS # MS-DOS file system
|
|
|
|
#file-system FDESC # /dev/fd
|
1998-08-14 07:56:21 +04:00
|
|
|
#file-system FILECORE # Acorn filecore file system
|
1998-06-13 03:29:27 +04:00
|
|
|
file-system KERNFS # /kern
|
|
|
|
#file-system NULLFS # loopback file system
|
2000-01-23 04:06:33 +03:00
|
|
|
#file-system OVERLAY # overlay filesystem
|
1998-06-13 03:29:27 +04:00
|
|
|
#file-system PORTAL # portal filesystem (still experimental)
|
|
|
|
#file-system PROCFS # /proc
|
|
|
|
#file-system UMAPFS # NULLFS + uid and gid remapping
|
|
|
|
#file-system UNION # union file system
|
2001-10-19 04:12:24 +04:00
|
|
|
#file-system CODA # Coda file system (needs vcoda below)
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# File system options
|
|
|
|
#options QUOTA # UFS quotas
|
1999-03-26 05:48:18 +03:00
|
|
|
#options FFS_EI # FFS Endian Independant support
|
2000-08-04 06:23:22 +04:00
|
|
|
options SOFTDEP # FFS soft updates support.
|
1998-06-13 03:29:27 +04:00
|
|
|
#options NFSSERVER
|
|
|
|
|
|
|
|
# Networking options
|
|
|
|
|
|
|
|
#options GATEWAY # packet forwarding
|
|
|
|
options INET # IP + ICMP + TCP + UDP
|
1999-11-22 08:17:33 +03:00
|
|
|
options INET6 # IPV6
|
|
|
|
#options IPSEC # IP security
|
|
|
|
#options IPSEC_ESP # IP security (encryption part; define w/IPSEC)
|
|
|
|
#options IPSEC_DEBUG # debug for IP security
|
1998-06-13 03:29:27 +04:00
|
|
|
#options MROUTING # IP multicast routing
|
|
|
|
#options NS # XNS
|
|
|
|
#options NSIP # XNS tunneling over IP
|
|
|
|
#options ISO,TPIP # OSI
|
|
|
|
#options EON # OSI tunneling over IP
|
|
|
|
#options CCITT,LLC,HDLC # X.25
|
1999-03-26 05:48:18 +03:00
|
|
|
#options NETATALK # AppleTalk networking
|
1998-06-13 03:29:27 +04:00
|
|
|
#options PFIL_HOOKS # pfil(9) packet filter hooks (Required
|
|
|
|
# if you enable the pseudo-device ipl).
|
|
|
|
|
1999-03-26 05:48:18 +03:00
|
|
|
#options PPP_BSDCOMP # BSD-Compress compression support for PPP
|
|
|
|
#options PPP_DEFLATE # Deflate compression support for PPP
|
|
|
|
#options PPP_FILTER # Active filter support for PPP (requires bpf)
|
1998-06-13 03:29:27 +04:00
|
|
|
options NFS_BOOT_DHCP # use NetBSD standard DHCP/NFS boot code
|
2001-07-08 20:32:12 +04:00
|
|
|
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# Compatibility options
|
|
|
|
|
|
|
|
#options COMPAT_09 # NetBSD 0.9 compatibility.
|
2003-04-02 04:28:25 +04:00
|
|
|
#options COMPAT_10 # NetBSD 1.0 compatibility.
|
|
|
|
#options COMPAT_11 # NetBSD 1.1 compatibility.
|
|
|
|
options COMPAT_12 # NetBSD 1.2 compatibility.
|
|
|
|
options COMPAT_13 # NetBSD 1.3 compatibility.
|
|
|
|
options COMPAT_14 # NetBSD 1.4 compatibility.
|
|
|
|
options COMPAT_15 # NetBSD 1.5 compatibility.
|
|
|
|
options COMPAT_16 # NetBSD 1.6 compatibility.
|
|
|
|
options COMPAT_43 # 4.3BSD compatibility.
|
2001-07-08 20:32:12 +04:00
|
|
|
#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# Shared memory options
|
|
|
|
|
|
|
|
options SYSVMSG # System V-like message queues
|
|
|
|
options SYSVSEM # System V-like semaphores
|
|
|
|
options SYSVSHM # System V-like memory sharing
|
|
|
|
#options SHMMAXPGS=1024 # 1024 pages is the default
|
|
|
|
|
|
|
|
# Device options
|
|
|
|
|
1999-06-26 10:56:26 +04:00
|
|
|
options MEMORY_DISK_HOOKS # boottime setup of ramdisk
|
2002-04-02 09:30:34 +04:00
|
|
|
#options MEMORY_DISK_ROOT_SIZE=3400 # Size in blocks
|
1999-06-26 10:56:26 +04:00
|
|
|
#options MEMORY_DISK_IS_ROOT # use memory disk as root
|
|
|
|
|
1998-06-13 03:29:27 +04:00
|
|
|
options XSERVER # also need INSECURE for now
|
|
|
|
options INSECURE # disable kernel securelevel
|
|
|
|
|
|
|
|
# Use the following to force the serial to always be the console
|
|
|
|
# device. 19200 is what the serial gets set up as by the firmware
|
|
|
|
# when it hasn't fallen back from PC. If it has fallen back then
|
|
|
|
# the speed will be set at 9600.
|
|
|
|
#options COMCONSOLE,CONADDR=0x3f8,CONUNIT=0,CONSPEED=19200
|
|
|
|
|
|
|
|
# Miscellaneous kernel options
|
|
|
|
options KTRACE # system call tracing, a la ktrace(1)
|
2002-10-06 06:11:54 +04:00
|
|
|
options SYSTRACE # system call vetting via systrace(1)
|
1998-06-13 03:29:27 +04:00
|
|
|
options IRQSTATS # manage IRQ statistics, XXX temp required
|
|
|
|
#options LKM # loadable kernel modules
|
|
|
|
options KMEMSTATS # kernel memory statistics, XXX temp required
|
2002-09-18 06:43:53 +04:00
|
|
|
options USERCONF # userconf(4) support
|
2002-01-27 16:23:08 +03:00
|
|
|
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
|
1998-06-13 03:29:27 +04:00
|
|
|
|
2003-04-18 15:11:51 +04:00
|
|
|
# PMAP options:
|
|
|
|
# Note: These are not defined in std.shark at this time to allow people
|
|
|
|
# with Sharks to experiment with the new pmap.
|
|
|
|
options ARM32_PMAP_NEW
|
|
|
|
|
1998-06-13 03:29:27 +04:00
|
|
|
# Development and Debugging options
|
|
|
|
|
|
|
|
#options ARM700BUGTRACK # track the ARM700 swi bug
|
|
|
|
#options PORTMASTER # Enable PortMaster only options
|
|
|
|
options DIAGNOSTIC # internal consistency checks
|
2001-11-20 15:56:17 +03:00
|
|
|
#options PMAP_DEBUG # Enable pmap_debug_level code
|
1998-06-13 03:29:27 +04:00
|
|
|
#options IPKDB # remote kernel debugging
|
|
|
|
options DDB # in-kernel debugger
|
2003-02-21 11:55:37 +03:00
|
|
|
options SYMTAB_SPACE=220000 # reserve symbol space for DDB
|
2002-09-27 14:08:19 +04:00
|
|
|
# (needed because we boot netbsd.aout)
|
1998-06-13 03:29:27 +04:00
|
|
|
#options DDB_ONPANIC=0 # don't run DDB at panictime
|
1999-03-26 05:48:18 +03:00
|
|
|
#options DDB_HISTORY_SIZE=100 # Enable history editing in DDB
|
2002-12-22 16:50:35 +03:00
|
|
|
#options KERNEL_DEBUG # compile in kernel debugging capability
|
1998-06-13 03:29:27 +04:00
|
|
|
#makeoptions DEBUG="-g" # compile full symbol table
|
|
|
|
|
2000-06-07 08:36:06 +04:00
|
|
|
config netbsd root on ? type ?
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# The main bus device
|
|
|
|
mainbus0 at root
|
|
|
|
|
|
|
|
# The boot cpu
|
|
|
|
cpu0 at mainbus?
|
|
|
|
|
|
|
|
# Open Firmware devices
|
|
|
|
ofbus* at root
|
|
|
|
ofbus* at ofbus?
|
1998-06-18 21:39:17 +04:00
|
|
|
#ofdisk* at ofbus?
|
1998-06-13 03:29:27 +04:00
|
|
|
#ofnet* at ofbus? # don't use with cs0
|
1998-06-18 21:39:17 +04:00
|
|
|
#ofcons* at ofbus? # don't use with pc0
|
1998-06-13 03:29:27 +04:00
|
|
|
ofrtc* at ofisa?
|
|
|
|
ofrom* at ofbus?
|
|
|
|
|
|
|
|
ofisa* at ofbus?
|
|
|
|
ofbus* at ofisa?
|
|
|
|
|
|
|
|
# IDE/ATA disk
|
|
|
|
wdc* at ofisa?
|
2001-11-20 15:56:17 +03:00
|
|
|
wd* at wdc? drive ?
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
atapibus* at wdc?
|
|
|
|
cd* at atapibus? drive?
|
|
|
|
sd* at atapibus? drive?
|
|
|
|
|
|
|
|
# PCCONS@OFW
|
|
|
|
ofisapc* at ofbus?
|
|
|
|
pc* at ofisapc?
|
2000-07-25 02:05:27 +04:00
|
|
|
#options FRENCH_KBD
|
|
|
|
#options FINNISH_KBD
|
|
|
|
#options GERMAN_KBD
|
|
|
|
#options NORWEGIAN_KBD
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# PS/2 Mouse
|
1999-01-24 01:18:41 +03:00
|
|
|
opms0 at spckbd? irq 12
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# CS8900 Ethernet@OFW
|
1998-07-27 05:44:20 +04:00
|
|
|
cs* at ofisa?
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
# Serial @OFW
|
|
|
|
com* at ofisa?
|
|
|
|
|
|
|
|
# Parallel @OFW
|
|
|
|
lpt* at ofisa?
|
|
|
|
|
|
|
|
# Smart Card
|
|
|
|
ofisascr* at ofisa?
|
|
|
|
scr* at ofisascr?
|
|
|
|
|
|
|
|
# ESS Sound@OFW
|
1998-07-30 18:11:42 +04:00
|
|
|
ess* at ofisa?
|
|
|
|
audio* at ess?
|
1998-08-26 16:10:57 +04:00
|
|
|
opl* at ess?
|
|
|
|
midi* at opl?
|
1998-06-13 03:29:27 +04:00
|
|
|
|
1998-09-05 07:32:36 +04:00
|
|
|
# Joystick @OFW
|
|
|
|
joy* at ofisa?
|
|
|
|
|
1998-06-13 03:29:27 +04:00
|
|
|
pseudo-device loop 1 # network loopback
|
|
|
|
pseudo-device bpfilter 8 # packet filter
|
|
|
|
#pseudo-device sl 2 # CSLIP
|
|
|
|
#pseudo-device ppp 2 # PPP
|
|
|
|
#pseudo-device tun 2 # network tunneling over tty
|
|
|
|
#pseudo-device ipfilter 1 # ip filter
|
1999-11-22 08:17:33 +03:00
|
|
|
pseudo-device gif 4 # IPv[46] over IPv[46] tunnel (RFC1933)
|
|
|
|
#pseudo-device faith 1 # IPv[46] tcp relay translation i/f
|
2000-08-04 06:23:22 +04:00
|
|
|
#pseudo-device stf 1 # 6to4 IPv6 over IPv4 encapsulation
|
|
|
|
#pseudo-device strip 4 # STarmode Radio IP (Metricon Ricochet)
|
2000-09-24 19:59:26 +04:00
|
|
|
pseudo-device pty # pseudo-terminals
|
1998-06-13 03:29:27 +04:00
|
|
|
#pseudo-device tb 1 # tablet line discipline
|
1999-12-24 03:15:50 +03:00
|
|
|
pseudo-device vnd 4 # disk-like interface to files
|
1998-06-13 03:29:27 +04:00
|
|
|
#pseudo-device ccd 2 # concatenated disk devices
|
2002-10-14 22:39:22 +04:00
|
|
|
#pseudo-device cgd 4 # cryptographic disk devices
|
1999-03-27 10:11:35 +03:00
|
|
|
pseudo-device rnd # /dev/random and /dev/urandom
|
1998-06-13 03:29:27 +04:00
|
|
|
|
|
|
|
#pseudo-device md 1 # Ramdisk driver
|
|
|
|
#pseudo-device profiler 1 # fiq based profiling device
|
1998-10-14 15:13:14 +04:00
|
|
|
pseudo-device sequencer 1 # MIDI sequencer
|
2000-11-15 02:42:35 +03:00
|
|
|
pseudo-device openfirm # /dev/openfirm
|
2001-10-19 04:12:24 +04:00
|
|
|
#pseudo-device vcoda 4 # coda kernel <-> cachemanager
|
2002-06-17 09:14:02 +04:00
|
|
|
pseudo-device clockctl # user control of clock subsystem
|