NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-macppc/48600: Add support for powermac 7200/PPC 601
>Number: 48600
>Category: port-macppc
>Synopsis: Add support for powermac 7200/PPC 601
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: port-macppc-maintainer
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sun Feb 16 19:35:00 +0000 2014
>Originator: scole_mail
>Release: current
>Organization:
>Environment:
NetBSD pmac 6.99.31 NetBSD 6.99.31 (GENERIC-$Revision: 1.311 $) #41: Sat Feb 15
19:12:03 MST 2014
>Description:
I've attached the patches used to get my powermac 7200/90Mhz ppc601 to
boot multiuser, for serial console only. The machine I have doesn't
have working floppy/cdrom/hard-disk, so I only tested with nfs root.
These changes seem pretty stable; I'm able to ssh and compile pkgsrc
packages with crashing or noticable issues.
The main issues I had related to the 601
1) segment registers, especially reg 0xf - trying to set this to certain
values or clearing seemed to wedge machine. So I did't modify until in pmap.c
and only when it seemed required
2) Use rtc realtime register instead of timebase register, which 601 doesn't
have. It's possible I may have missed some asm calls to mftb/mttb
3) alignment exceptions - the 601 will throw alignment exceptions if operands
cross page boundaries. I updated trap.c to handle that, and changed memcpy.S
to always use byte-copy (not word-copy) when in kernel. There may be a more
optimal way to handle. Also, I'm not that familiar with other powerpc's, so my
handler changes may need tweaking for other cpus
4) use CPUFLAGS+= -mcpu=601. Also, the kernel apparently has to be < 4M to
netboot
5) /platinum video - video console is not working. I'm not that familar with
this area, but I'll be glad to test any changes
Here is list of files I changed, those with (*) are new:
src/common/lib/libc/arch/powerpc/string/memcpy.S
src/sys/arch/macppc/conf/GENERIC_601*
src/sys/arch/macppc/conf/std.macppc.601*
src/sys/arch/macppc/stand/ofwboot/Locore.c
src/sys/arch/powerpc/include/cpu.h
src/sys/arch/powerpc/include/trap.h
src/sys/arch/powerpc/oea/oea_machdep.c
src/sys/arch/powerpc/oea/ofwoea_machdep.c
src/sys/arch/powerpc/oea/pmap.c
src/sys/arch/powerpc/powerpc/clock.c
src/sys/arch/powerpc/powerpc/trap.c
src/sys/arch/powerpc/powerpc/fixup.c
These 2 mail threads were useful in getting started...
http://mail-index.netbsd.org/port-macppc/2005/04/22/0004.html
http://mail-index.netbsd.org/port-macppc/2008/09/28/msg000422.html
-----------------------------------------------------------------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 6.99.31 (GENERIC-$Revision: 1.311 $) #41: Sat Feb 15 19:12:03 MST 2014
scole@dstar:/home/scole/nbsd/src/sys/arch/macppc/compile/obj/GENERIC_601
total memory = 256 MB
avail memory = 244 MB
timecounter: Timecounters tick every 10.000 msec
found Grand Central PIC at f3000000
bootpath: enet/netbsd
mainbus0 (root)
cpu0 at mainbus0: 601 (Revision 2), ID 0 (primary)
cpu0: HID0 0x818100a0<CE,BA,BD,ES,EIU,DRF>, powersave: -1
memory0 at mainbus0
bandit0 at mainbus0
pci0 at bandit0 bus 0
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 11 function 0
WARNING: module error: vfs load failed for `pciverbose', error 45
WARNING: module error: vfs load failed for `pciverbose', error 45
pchb0: vendor 0x106b product 0x0001 (rev. 0x03)
obio0 at pci0 dev 16 function 0: addr 0xf3000000
esp0 at obio0 offset 0x10000 irq 12: NCR53C94, 25MHz, SCSI ID 7
scsibus0 at esp0: 8 targets, 8 luns per target
mc0 at obio0 offset 0x11000: irq 14,2,3: address 00:a0:40:02:bb:b5
zsc0 at obio0 irq 15,16
zstty0 at zsc0 channel 0 (console i/o)
zstty1 at zsc0 channel 1
awacs at obio0 offset 0x14000 not configured
swim3 at obio0 offset 0x15000 not configured
cuda0 at obio0 offset 0x16000 irq 18
nadb0 at cuda0: Apple Desktop Bus
iic0 at cuda0: I2C bus
nvram0 at obio0 offset 0x1d000
vmmask 7e000000 schedmask 7e000000 highmask 7e000000
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "rtc" frequency 1000000000 Hz quality 100
scsibus0: waiting 2 seconds for devices to settle...
adbkbd0 at nadb0 addr 2: extended keyboard
wskbd0 at adbkbd0 mux 1
cd0 at scsibus0 target 3 lun 0: <SONY, CD-ROM CDU-8005, 1.0j> cdrom removable
cd0: sync (200.00ns offset 15), 8-bit (5.000MB/s) transfers
boot device: mc0
root on mc0
mountroot: trying nfs...
nfs_boot: trying DHCP/BOOTP
nfs_boot: DHCP next-server: 192.168.0.3
nfs_boot: my_name=macppc
nfs_boot: my_addr=192.168.0.99
nfs_boot: my_mask=255.255.255.0
nfs_boot: gateway=192.168.0.1
root on 192.168.0.3:/export/client/root
root time: 0x53000def
root file system type: nfs
init: copying out path `/sbin/init' 11
192.168.0.3:/export/client/root: inaccurate wcc data (ctime) detected,
disabling wcc (ctime 1392563376.000000000)
short packet len=2
short packet len=2
short packet len=2
Kernel RNG "sysctl" runs test FAILURE: too many runs of 1 0s (2712 > 2685)
cprng sysctl: failed statistical RNG test
NetBSD/macppc (pmac) (ttyZ0)
login: root
Password:
Feb 16 11:37:59 pmac login: ROOT LOGIN (root) on tty ttyZ0
Last login: Sun Feb 16 11:34:22 2014 on ttyZ0
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 6.99.31 (GENERIC-$Revision: 1.311 $) #41: Sat Feb 15 19:12:03 MST 2014
Welcome to NetBSD!
This system is running a development snapshot of the NetBSD operating system,
also known as NetBSD-current. It is very possible that it has serious bugs,
regressions, broken features or other problems. Please bear this in mind
and use the system with care.
You are encouraged to test this version as thoroughly as possible. Should you
encounter any problem, please report it back to the development team using the
send-pr(1) utility (requires a working MTA). If yours is not properly set up,
use the web interface at: http://www.NetBSD.org/support/send-pr.html
Thank you for helping us test and improve NetBSD.
You have new mail.
Terminal type is vt100.
We recommend that you create a non-root account and use su(1) for root access.
pmac# uname -a
NetBSD pmac 6.99.31 NetBSD 6.99.31 (GENERIC-$Revision: 1.311 $) #41: Sat Feb 15
19:12:03 MST 2014
===================================================================
===================================================================
===================================================================
===================================================================
===================================================================
Index: common/lib/libc/arch/powerpc/string/memcpy.S
===================================================================
RCS file: /cvsroot/src/common/lib/libc/arch/powerpc/string/memcpy.S,v
retrieving revision 1.3
diff -b -u -r1.3 memcpy.S
--- common/lib/libc/arch/powerpc/string/memcpy.S 15 Jan 2011 07:31:12
-0000 1.3
+++ common/lib/libc/arch/powerpc/string/memcpy.S 16 Feb 2014 18:18:48
-0000
@@ -63,6 +63,32 @@
cmpwi %r5,0
beqlr-
+#if defined(_KERNEL) /* XXX - " && defined(__ppc601__)" ? */
+ /*
+ * 601 will generate alignment exceptions if operand crosses
+ * 4k page boundary, so do byte copy when exception handler
+ * not available. Maybe want to have a different memcpy for 601
+ * that checks for page boundaries/word alignment...
+ */
+ mfspr %r6, 287 /* mfpvbr %r6 PVR = 287 */
+ srwi %r6, %r6, 0x10 /* get version field from PVR */
+ cmpwi %r6, 0x1 /* 601 CPU = 0x0001 */
+ bne bnorm /* skip byte-only unless 601 */
+
+bcpy:
+ mtctr %r5 /* byte copy everything */
+ li %r6, 0
+bloop:
+ lbzx %r7, %r4, %r6
+ stbx %r7, %r3, %r6
+ addi %r6, %r6, 1
+ bdnz bloop
+ blr
+
+bnorm:
+
+#endif
+
mr %r8, %r3 /* Copy dst (return value) */
addi %r4, %r4, -4 /* Prepare for main loop's auto */
Index: sys/arch/macppc/stand/ofwboot/Locore.c
===================================================================
RCS file: /cvsroot/src/sys/arch/macppc/stand/ofwboot/Locore.c,v
retrieving revision 1.24
diff -b -u -r1.24 Locore.c
--- sys/arch/macppc/stand/ofwboot/Locore.c 17 Jul 2011 20:54:43 -0000
1.24
+++ sys/arch/macppc/stand/ofwboot/Locore.c 16 Feb 2014 18:20:17 -0000
@@ -69,6 +69,12 @@
" mtmsr %r0 \n"
" isync \n"
" \n"
+" \n" /* test for 601 */
+" mfspr %r0,287 \n" /* mfpvbr %r0 PVR = 287 */
+" srwi %r0,%r0,0x10 \n"
+" cmpi 0,1,%r0,0x02 \n" /* 601 CPU = 0x0001 */
+" blt 1f \n" /* skip over non-601 BAT setup */
+ /*non PPC 601 BATs*/
" mtibatu 0,%r0 \n"
" mtibatu 1,%r0 \n"
" mtibatu 2,%r0 \n"
@@ -84,7 +90,41 @@
" li %r9,0x1ffe \n" /* BATU(0, BAT_BL_256M, BAT_Vs) */
" mtibatu 0,%r9 \n"
" mtdbatu 0,%r9 \n"
-" isync \n"
+" b 2f \n"
+
+ /* PPC 601 BATs*/
+"1: mtibatu 0,%r0 \n"
+" mtibatu 1,%r0 \n"
+" mtibatu 2,%r0 \n"
+" mtibatu 3,%r0 \n"
+" \n"
+" li %r9,0x7f \n"
+" mtibatl 0,%r9 \n"
+" li %r9,0x1a \n"
+" mtibatu 0,%r9 \n"
+" \n"
+" lis %r9,0x80 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 1,%r9 \n"
+" lis %r9,0x80 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 1,%r9 \n"
+" \n"
+" lis %r9,0x100 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 2,%r9 \n"
+" lis %r9,0x100 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 2,%r9 \n"
+" \n"
+" lis %r9,0x180 \n"
+" addi %r9,%r9,0x7f \n"
+" mtibatl 3,%r9 \n"
+" lis %r9,0x180 \n"
+" addi %r9,%r9,0x1a \n"
+" mtibatu 3,%r9 \n"
+" \n"
+"2: isync \n"
" \n"
" mtmsr %r8 \n"
" isync \n"
Index: sys/arch/powerpc/include/cpu.h
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/include/cpu.h,v
retrieving revision 1.98
diff -b -u -r1.98 cpu.h
--- sys/arch/powerpc/include/cpu.h 8 Nov 2013 03:59:35 -0000 1.98
+++ sys/arch/powerpc/include/cpu.h 16 Feb 2014 18:21:18 -0000
@@ -316,6 +316,26 @@
: [rtcu] "=r"(rtcp[0]), [rtcl] "=r"(rtcp[1]), [tmp] "=r"(tmp)
:: "cr0");
}
+
+static __inline uint64_t
+rtc_nanosecs(void)
+{
+ /*
+ * 601 RTC/DEC registers share clock of 7.8125 MHz, 128 ns per tick.
+ * DEC has max of 25 bits, FFFFFF => 2.14748352 seconds.
+ * RTCU is seconds, 32 bits.
+ * RTCL is nano-seconds, 23 bit counter from 0 - 999,999,872 (999,999,999
- 128 ns)
+ */
+ uint64_t cycles;
+ uint32_t tmp[2];
+
+ mfrtc(tmp);
+
+ cycles = tmp[0] * 1000000000;
+ cycles += (tmp[1] >> 7);
+
+ return cycles;
+}
#endif /* !_MODULE */
static __inline uint32_t
Index: sys/arch/powerpc/include/trap.h
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/include/trap.h,v
retrieving revision 1.12
diff -b -u -r1.12 trap.h
--- sys/arch/powerpc/include/trap.h 18 Jul 2012 16:44:52 -0000 1.12
+++ sys/arch/powerpc/include/trap.h 16 Feb 2014 18:21:38 -0000
@@ -47,7 +47,8 @@
#define EXC_TRC 0x0d00 /* Trace */
#define EXC_FPA 0x0e00 /* Floating-point Assist */
-/* The following is only available on the 601: */
+/* The following are only available on the 601: */
+#define EXC_IOC 0x0a00 /* I/O Controller Interface Exception
*/
#define EXC_RUNMODETRC 0x2000 /* Run Mode/Trace Exception */
/* The following are only available on 7400(G4): */
@@ -112,12 +113,78 @@
*/
#define EXC_ALI_OPCODE_INDICATOR(dsisr) ((dsisr >> 10) & 0x7f)
+
+#define EXC_ALI_LWARX_LWZ 0x00
+#define EXC_ALI_LDARX 0x01
+#define EXC_ALI_STW 0x02
+#define EXC_ALI_LHZ 0x04
+#define EXC_ALI_LHA 0x05
+#define EXC_ALI_STH 0x06
+#define EXC_ALI_LMW 0x07
+#define EXC_ALI_LFS 0x08
#define EXC_ALI_LFD 0x09
+#define EXC_ALI_STFS 0x0a
#define EXC_ALI_STFD 0x0b
+#define EXC_ALI_LD_LDU_LWA 0x0d
+#define EXC_ALI_STD_STDU 0x0f
+#define EXC_ALI_LWZU 0x10
+#define EXC_ALI_STWU 0x12
+#define EXC_ALI_LHZU 0x14
+#define EXC_ALI_LHAU 0x15
+#define EXC_ALI_STHU 0x16
+#define EXC_ALI_STMW 0x17
+#define EXC_ALI_LFSU 0x18
+#define EXC_ALI_LFDU 0x19
+#define EXC_ALI_STFSU 0x1a
+#define EXC_ALI_STFDU 0x1b
+#define EXC_ALI_LDX 0x20
+#define EXC_ALI_STDX 0x22
+#define EXC_ALI_LWAX 0x25
+#define EXC_ALI_LSWX 0x28
+#define EXC_ALI_LSWI 0x29
+#define EXC_ALI_STSWX 0x2a
+#define EXC_ALI_STSWI 0x2b
+#define EXC_ALI_LDUX 0x30
+#define EXC_ALI_STDUX 0x32
+#define EXC_ALI_LWAUX 0x35
+#define EXC_ALI_STWCX 0x42 /* stwcx. */
+#define EXC_ALI_STDCX 0x43 /* stdcx. */
+#define EXC_ALI_LWBRX 0x48
+#define EXC_ALI_STWBRX 0x4a
+#define EXC_ALI_LHBRX 0x4c
+#define EXC_ALI_STHBRX 0x4e
+#define EXC_ALI_ECIWX 0x54
+#define EXC_ALI_ECOWX 0x56
#define EXC_ALI_DCBZ 0x5f
+#define EXC_ALI_LWZX 0x60
+#define EXC_ALI_STWX 0x62
+#define EXC_ALI_LHZX 0x64
+#define EXC_ALI_LHAX 0x65
+#define EXC_ALI_STHX 0x66
+#define EXC_ALI_LSFX 0x68
+#define EXC_ALI_LDFX 0x69
+#define EXC_ALI_STFSX 0x6a
+#define EXC_ALI_STFDX 0x6b
+#define EXC_ALI_STFIWX 0x6f
+#define EXC_ALI_LWZUX 0x70
+#define EXC_ALI_STWUX 0x72
+#define EXC_ALI_LHZUX 0x74
+#define EXC_ALI_LHAUX 0x75
+#define EXC_ALI_STHUX 0x76
+#define EXC_ALI_LFSUX 0x78
+#define EXC_ALI_LFDUX 0x79
+#define EXC_ALI_STFSUX 0x7a
+#define EXC_ALI_STFDUX 0x7b
/* Macros to extract register information */
#define EXC_ALI_RST(dsisr) ((dsisr >> 5) & 0x1f) /* source or target */
#define EXC_ALI_RA(dsisr) (dsisr & 0x1f)
+/* Helper defines to classify EXC_ALI_ */
+#define DSI_OP_ZERO 0x0001
+#define DSI_OP_UPDATE 0x0002
+#define DSI_OP_INDEXED 0x0004
+#define DSI_OP_ALGEBRAIC 0x0008
+#define DSI_OP_REVERSED 0x0010
+
#endif /* _POWERPC_TRAP_H_ */
Index: sys/arch/powerpc/oea/oea_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/oea/oea_machdep.c,v
retrieving revision 1.68
diff -b -u -r1.68 oea_machdep.c
--- sys/arch/powerpc/oea/oea_machdep.c 3 Nov 2013 22:27:27 -0000 1.68
+++ sys/arch/powerpc/oea/oea_machdep.c 16 Feb 2014 18:22:05 -0000
@@ -496,9 +496,16 @@
* in pmap_bootstrap().
*/
iosrtable[i] = SR601(SR601_Ks, SR601_BUID_MEMFORCED, 0, i);
+
+ /*
+ * XXX Setting segment register 0xf on my powermac 7200
+ * wedges machine so set later in pmap.c
+ */
+ /*
__asm volatile ("mtsrin %0,%1"
:: "r"(iosrtable[i]),
"r"(pa));
+ */
}
#endif /* PPC_OEA601 */
Index: sys/arch/powerpc/oea/ofwoea_machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/oea/ofwoea_machdep.c,v
retrieving revision 1.35
diff -b -u -r1.35 ofwoea_machdep.c
--- sys/arch/powerpc/oea/ofwoea_machdep.c 3 Nov 2013 22:27:27 -0000
1.35
+++ sys/arch/powerpc/oea/ofwoea_machdep.c 16 Feb 2014 18:22:26 -0000
@@ -63,6 +63,7 @@
#include <powerpc/oea/bat.h>
#include <powerpc/oea/ofw_rasconsvar.h>
#include <powerpc/oea/cpufeat.h>
+#include <powerpc/include/oea/spr.h>
#include <powerpc/ofw_cons.h>
#include <powerpc/spr.h>
#include <powerpc/pic/picvar.h>
@@ -120,6 +121,11 @@
#if NKSYMS || defined(DDB) || defined(MODULAR)
void *startsym, *endsym;
#endif
+
+#if PPC_OEA601
+#define TIMEBASE_FREQ (1000000000) /* RTC register */
+#endif
+
#ifdef TIMEBASE_FREQ
u_int timebase_freq = TIMEBASE_FREQ;
#else
@@ -334,7 +340,14 @@
ns_per_tick = 1000000000 / ticks_per_sec;
ticks_per_intr = ticks_per_sec / hz;
cpu_timebase = ticks_per_sec;
+
+#ifdef PPC_OEA601
+ if ((mfpvr() >> 16) == MPC601)
+ curcpu()->ci_lasttb = rtc_nanosecs();
+ else
+#endif
curcpu()->ci_lasttb = mftbl();
+
mtspr(SPR_DEC, ticks_per_intr);
mtmsr(msr);
}
@@ -457,6 +470,24 @@
/*
* cover PCI and register space but not the firmware ROM
*/
+#ifdef PPC_OEA601
+
+ /*
+ * use segment registers for the 601
+ */
+ if ((mfpvr() >> 16 ) == MPC601)
+ oea_batinit(
+ 0x80000000, BAT_BL_256M,
+ 0x90000000, BAT_BL_256M,
+ 0xa0000000, BAT_BL_256M,
+ 0xb0000000, BAT_BL_256M,
+ 0xf0000000, BAT_BL_256M,
+ 0);
+ else
+#endif
+ /*
+ * map to bats
+ */
oea_batinit(0x80000000, BAT_BL_1G,
0xf0000000, BAT_BL_128M,
0xf8000000, BAT_BL_64M,
Index: sys/arch/powerpc/oea/pmap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/oea/pmap.c,v
retrieving revision 1.90
diff -b -u -r1.90 pmap.c
--- sys/arch/powerpc/oea/pmap.c 3 Nov 2013 22:15:57 -0000 1.90
+++ sys/arch/powerpc/oea/pmap.c 16 Feb 2014 18:22:56 -0000
@@ -3403,6 +3403,11 @@
/* PMAP_OEA64_BRIDGE does support these instructions */
#if defined (PMAP_OEA) || defined (PMAP_OEA64_BRIDGE)
for (i = 0; i < 16; i++) {
+#if defined(PPC_OEA601)
+ /* XXX wedges for segment register 0xf , so set later */
+ if ((iosrtable[i] & SR601_T) && ((MFPVR() >> 16) == MPC601))
+ continue;
+#endif
pmap_kernel()->pm_sr[i] = KERNELN_SEGMENT(i)|SR_PRKEY;
__asm volatile ("mtsrin %0,%1"
:: "r"(KERNELN_SEGMENT(i)|SR_PRKEY), "r"(i <<
ADDR_SR_SHFT));
@@ -3530,4 +3535,9 @@
:: "r"(sr), "r"(kernelstart));
}
#endif
+
+#if defined(PMAPDEBUG)
+ if ( pmapdebug )
+ pmap_print_mmuregs();
+#endif
}
Index: sys/arch/powerpc/powerpc/clock.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/powerpc/clock.c,v
retrieving revision 1.13
diff -b -u -r1.13 clock.c
--- sys/arch/powerpc/powerpc/clock.c 25 Apr 2013 00:11:35 -0000 1.13
+++ sys/arch/powerpc/powerpc/clock.c 16 Feb 2014 18:23:19 -0000
@@ -68,7 +68,11 @@
0, /* no poll_pps */
0x7fffffff, /* counter_mask */
0, /* frequency */
+#if PPC_OEA601
+ "rtc", /* name */
+#else
"mftb", /* name */
+#endif
100, /* quality */
NULL, /* tc_priv */
NULL /* tc_next */
@@ -88,8 +92,7 @@
cpu_timebase = ticks_per_sec;
#ifdef PPC_OEA601
if ((mfpvr() >> 16) == MPC601)
- __asm volatile
- ("mfspr %0,%1" : "=r"(ci->ci_lasttb) : "n"(SPR_RTCL_R));
+ ci->ci_lasttb = rtc_nanosecs();
else
#endif
__asm volatile ("mftb %0" : "=r"(ci->ci_lasttb));
@@ -154,8 +157,7 @@
*/
#ifdef PPC_OEA601
if ((mfpvr() >> 16) == MPC601)
- __asm volatile
- ("mfspr %0,%1" : "=r"(tb) : "n"(SPR_RTCL_R));
+ tb = rtc_nanosecs();
else
#endif
__asm volatile ("mftb %0" : "=r"(tb));
@@ -241,7 +243,7 @@
: "=r"(msr), "=r"(scratch) : "K"((u_short)~PSL_EE));
#ifdef PPC_OEA601
if ((mfpvr() >> 16) == MPC601)
- __asm volatile ("mfspr %0,%1" : "=r"(tb) : "n"(SPR_RTCL_R));
+ tb = rtc_nanosecs();
else
#endif
__asm volatile ("mftb %0" : "=r"(tb));
Index: sys/arch/powerpc/powerpc/trap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/powerpc/trap.c,v
retrieving revision 1.148
diff -b -u -r1.148 trap.c
--- sys/arch/powerpc/powerpc/trap.c 2 Aug 2012 14:06:34 -0000 1.148
+++ sys/arch/powerpc/powerpc/trap.c 16 Feb 2014 18:23:34 -0000
@@ -77,6 +77,13 @@
int badaddr(void *, size_t);
int badaddr_read(void *, size_t, int *);
+struct dsi_info {
+ uint16_t indicator;
+ uint16_t flags;
+};
+
+static struct dsi_info* get_dsi_info(register_t);
+
void
trap(struct trapframe *tf)
{
@@ -695,9 +702,12 @@
static int
fix_unaligned(struct lwp *l, struct trapframe *tf)
{
- int indicator = EXC_ALI_OPCODE_INDICATOR(tf->tf_dsisr);
+ struct dsi_info* dsi = get_dsi_info(tf->tf_dsisr);
+
+ if ( !dsi )
+ return -1;
- switch (indicator) {
+ switch (dsi->indicator) {
case EXC_ALI_DCBZ:
{
/*
@@ -716,13 +726,18 @@
return -1;
return 0;
}
+ break;
case EXC_ALI_LFD:
- case EXC_ALI_STFD:
+ case EXC_ALI_LFDU:
+ case EXC_ALI_LDFX:
+ case EXC_ALI_LFDUX:
{
struct pcb * const pcb = lwp_getpcb(l);
const int reg = EXC_ALI_RST(tf->tf_dsisr);
+ const int a_reg = EXC_ALI_RA(tf->tf_dsisr);
double * const fpreg = &pcb->pcb_fpu.fpreg[reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
/*
* Juggle the FPU to ensure that we've initialized
@@ -737,19 +752,260 @@
} else {
fpu_save();
}
- if (indicator == EXC_ALI_LFD) {
+
if (copyin((void *)tf->tf_dar, fpreg,
sizeof(double)) != 0)
return -1;
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing */
+ }
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic
don't pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = tf->tf_dar;
+ }
+
+ fpu_load();
+ return 0;
+ }
+ break;
+
+ case EXC_ALI_STFD:
+ case EXC_ALI_STFDU:
+ case EXC_ALI_STFDX:
+ case EXC_ALI_STFDUX:
+ {
+ struct pcb * const pcb = lwp_getpcb(l);
+ const int reg = EXC_ALI_RST(tf->tf_dsisr);
+ const int a_reg = EXC_ALI_RA(tf->tf_dsisr);
+ double * const fpreg = &pcb->pcb_fpu.fpreg[reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
+
+ /*
+ * Juggle the FPU to ensure that we've initialized
+ * the FPRs, and that their current state is in
+ * the PCB.
+ */
+
+ KASSERT(l == curlwp);
+ if (!fpu_used_p(l)) {
+ memset(&pcb->pcb_fpu, 0, sizeof(pcb->pcb_fpu));
+ fpu_mark_used(l);
} else {
+ fpu_save();
+ }
+
if (copyout(fpreg, (void *)tf->tf_dar,
sizeof(double)) != 0)
return -1;
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing */
}
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic
don't pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = tf->tf_dar;
+ }
+
fpu_load();
return 0;
}
break;
+
+ case EXC_ALI_LHZ:
+ case EXC_ALI_LHZU:
+ case EXC_ALI_LHZX:
+ case EXC_ALI_LHZUX:
+ case EXC_ALI_LHA:
+ case EXC_ALI_LHAU:
+ case EXC_ALI_LHAX:
+ case EXC_ALI_LHAUX:
+ case EXC_ALI_LHBRX:
+ {
+ const register_t ea_addr = tf->tf_dar;
+ const unsigned int t_reg = EXC_ALI_RST(tf->tf_dsisr);
+ const unsigned int a_reg = EXC_ALI_RA(tf->tf_dsisr);
+ register_t* t_reg_addr = &tf->tf_fixreg[t_reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
+
+ /* load into lower 2 bytes of reg */
+ if (copyin((void *)ea_addr,
+ t_reg_addr+2,
+ sizeof(uint16_t)) != 0)
+ return -1;
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic don't
pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = ea_addr;
+ }
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing , indexed address already in ea */
+ }
+
+ if (dsi->flags & DSI_OP_ZERO) {
+ /* clear upper 2 bytes */
+ *t_reg_addr &= 0x0000ffff;
+ } else if (dsi->flags & DSI_OP_ALGEBRAIC) {
+ /* sign extend upper 2 bytes */
+ if (*t_reg_addr & 0x00008000)
+ *t_reg_addr |= 0xffff0000;
+ else
+ *t_reg_addr &= 0x0000ffff;
+ }
+
+ if (dsi->flags & DSI_OP_REVERSED) {
+ /* reverse lower 2 bytes */
+ uint32_t temp = *t_reg_addr;
+
+ *t_reg_addr = ((temp & 0x000000ff) << 8 ) |
+ ((temp & 0x0000ff00) >> 8 );
+ }
+ return 0;
+ }
+ break;
+
+ case EXC_ALI_STH:
+ case EXC_ALI_STHU:
+ case EXC_ALI_STHX:
+ case EXC_ALI_STHUX:
+ case EXC_ALI_STHBRX:
+ {
+ const register_t ea_addr = tf->tf_dar;
+ const unsigned int s_reg = EXC_ALI_RST(tf->tf_dsisr);
+ const unsigned int a_reg = EXC_ALI_RA(tf->tf_dsisr);
+ register_t* s_reg_addr = &tf->tf_fixreg[s_reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
+
+ /* byte-reversed write out of lower 2 bytes */
+ if (dsi->flags & DSI_OP_REVERSED) {
+ uint16_t tmp = *s_reg_addr & 0xffff;
+ tmp = bswap16(tmp);
+
+ if (copyout(&tmp,
+ (void *)ea_addr,
+ sizeof(uint16_t)) != 0)
+ return -1;
+ }
+ /* write out lower 2 bytes */
+ else if (copyout(s_reg_addr+2,
+ (void *)ea_addr,
+ sizeof(uint16_t)) != 0) {
+ return -1;
+ }
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing, indexed address already in ea */
+ }
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic don't
pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = ea_addr;
+ }
+
+ return 0;
+ }
+ break;
+
+ case EXC_ALI_LWARX_LWZ:
+ case EXC_ALI_LWZU:
+ case EXC_ALI_LWZX:
+ case EXC_ALI_LWZUX:
+ case EXC_ALI_LWBRX:
+ {
+ const register_t ea_addr = tf->tf_dar;
+ const unsigned int t_reg = EXC_ALI_RST(tf->tf_dsisr);
+ const unsigned int a_reg = EXC_ALI_RA(tf->tf_dsisr);
+ register_t* t_reg_addr = &tf->tf_fixreg[t_reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
+
+ if (copyin((void *)ea_addr,
+ t_reg_addr,
+ sizeof(uint32_t)) != 0)
+ return -1;
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic don't
pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = ea_addr;
+ }
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing , indexed address already in ea */
+ }
+
+ if (dsi->flags & DSI_OP_ZERO) {
+ /* XXX - 64bit clear upper word */
+ }
+
+ if (dsi->flags & DSI_OP_REVERSED) {
+ /* reverse bytes */
+ register_t temp = bswap32(*t_reg_addr);
+ *t_reg_addr = temp;
+ }
+
+ return 0;
+ }
+ break;
+
+ case EXC_ALI_STW:
+ case EXC_ALI_STWU:
+ case EXC_ALI_STWX:
+ case EXC_ALI_STWUX:
+ case EXC_ALI_STWBRX:
+ {
+ const register_t ea_addr = tf->tf_dar;
+ const unsigned int s_reg = EXC_ALI_RST(tf->tf_dsisr);
+ const unsigned int a_reg = EXC_ALI_RA(tf->tf_dsisr);
+ register_t* s_reg_addr = &tf->tf_fixreg[s_reg];
+ register_t* a_reg_addr = &tf->tf_fixreg[a_reg];
+
+ if (dsi->flags & DSI_OP_REVERSED) {
+ /* byte-reversed write out */
+ register_t temp = bswap32(*s_reg_addr);
+
+ if (copyout(&temp,
+ (void *)ea_addr,
+ sizeof(uint32_t)) != 0)
+ return -1;
+ }
+ /* write out word */
+ else if (copyout(s_reg_addr,
+ (void *)ea_addr,
+ sizeof(uint32_t)) != 0)
+ return -1;
+
+ if (dsi->flags & DSI_OP_INDEXED) {
+ /* do nothing, indexed address already in ea */
+ }
+
+ if (dsi->flags & DSI_OP_UPDATE) {
+ /* this is valid for 601, but to simplify logic don't
pass for any */
+ if (a_reg == 0)
+ return -1;
+ else
+ *a_reg_addr = ea_addr;
+ }
+
+ return 0;
+ }
+ break;
}
return -1;
@@ -892,3 +1148,123 @@
curpcb->pcb_onfault = 0;
return rv;
}
+
+struct dsi_info*
+get_dsi_info(register_t dsisr)
+{
+ static struct dsi_info dsi[] =
+ {
+ /* data cache block zero */
+ {EXC_ALI_DCBZ, 0},
+
+ /* load halfwords */
+ {EXC_ALI_LHZ, DSI_OP_ZERO},
+ {EXC_ALI_LHZU, DSI_OP_ZERO|DSI_OP_UPDATE},
+ {EXC_ALI_LHZX, DSI_OP_ZERO|DSI_OP_INDEXED},
+ {EXC_ALI_LHZUX, DSI_OP_ZERO|DSI_OP_UPDATE|DSI_OP_INDEXED},
+ {EXC_ALI_LHA, DSI_OP_ALGEBRAIC},
+ {EXC_ALI_LHAU, DSI_OP_ALGEBRAIC|DSI_OP_UPDATE},
+ {EXC_ALI_LHAX, DSI_OP_ALGEBRAIC|DSI_OP_INDEXED},
+ {EXC_ALI_LHAUX, DSI_OP_ALGEBRAIC|DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* store halfwords */
+ {EXC_ALI_STH, 0},
+ {EXC_ALI_STHU, DSI_OP_UPDATE},
+ {EXC_ALI_STHX, DSI_OP_INDEXED},
+ {EXC_ALI_STHUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* load words */
+ {EXC_ALI_LWARX_LWZ, DSI_OP_ZERO},
+ {EXC_ALI_LWZU, DSI_OP_ZERO|DSI_OP_UPDATE},
+ {EXC_ALI_LWZX, DSI_OP_ZERO|DSI_OP_INDEXED},
+ {EXC_ALI_LWZUX, DSI_OP_ZERO|DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* store words */
+ {EXC_ALI_STW, 0},
+ {EXC_ALI_STWU, DSI_OP_UPDATE},
+ {EXC_ALI_STWX, DSI_OP_INDEXED},
+ {EXC_ALI_STWUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* load byte-reversed */
+ {EXC_ALI_LHBRX, DSI_OP_REVERSED|DSI_OP_INDEXED|DSI_OP_ZERO},
+ {EXC_ALI_LWBRX, DSI_OP_REVERSED|DSI_OP_INDEXED},
+
+ /* store byte-reversed */
+ {EXC_ALI_STHBRX, DSI_OP_REVERSED|DSI_OP_INDEXED},
+ {EXC_ALI_STWBRX, DSI_OP_REVERSED|DSI_OP_INDEXED},
+
+ /* load float double-precision */
+ {EXC_ALI_LFD, 0},
+ {EXC_ALI_LFDU, DSI_OP_UPDATE},
+ {EXC_ALI_LDFX, DSI_OP_INDEXED},
+ {EXC_ALI_LFDUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* store float double precision */
+ {EXC_ALI_STFD, 0},
+ {EXC_ALI_STFDU, DSI_OP_UPDATE},
+ {EXC_ALI_STFDX, DSI_OP_INDEXED},
+ {EXC_ALI_STFDUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* XXX - ones below here not yet implemented in fix_unaligned() */
+ /* load float single precision */
+ {EXC_ALI_LFS, 0},
+ {EXC_ALI_LFSU, DSI_OP_UPDATE},
+ {EXC_ALI_LSFX, DSI_OP_INDEXED},
+ {EXC_ALI_LFSUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* store float single precision */
+ {EXC_ALI_STFS, 0},
+ {EXC_ALI_STFSU, DSI_OP_UPDATE},
+ {EXC_ALI_STFSX, DSI_OP_INDEXED},
+ {EXC_ALI_STFSUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* multiple */
+ {EXC_ALI_LMW, 0},
+ {EXC_ALI_STMW, 0},
+
+ /* load & store string */
+ {EXC_ALI_LSWI, 0},
+ {EXC_ALI_LSWX, DSI_OP_INDEXED},
+ {EXC_ALI_STSWI, 0},
+ {EXC_ALI_STSWX, DSI_OP_INDEXED},
+
+ /* get/send word from external */
+ {EXC_ALI_ECIWX, DSI_OP_INDEXED},
+ {EXC_ALI_ECOWX, DSI_OP_INDEXED},
+
+ /* store float as integer word */
+ {EXC_ALI_STFIWX, 0},
+
+ /* store conditional */
+ {EXC_ALI_LDARX, DSI_OP_INDEXED}, /* stdcx */
+ {EXC_ALI_STDCX, DSI_OP_INDEXED},
+ {EXC_ALI_STWCX, DSI_OP_INDEXED}, /* lwarx */
+
+#ifdef PPC_OEA64
+ /* 64 bit, load word algebriac */
+ {EXC_ALI_LWAX, DSI_OP_ALGEBRAIC|DSI_OP_INDEXED},
+ {EXC_ALI_LWAUX, DSI_OP_ALGEBRAIC|DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* 64 bit load doubleword */
+ {EXC_ALI_LD_LDU_LWA, 0},
+ {EXC_ALI_LDX, DSI_OP_INDEXED},
+ {EXC_ALI_LDUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+
+ /* 64 bit store double word */
+ {EXC_ALI_STD_STDU, 0},
+ {EXC_ALI_STDX, DSI_OP_INDEXED},
+ {EXC_ALI_STDUX, DSI_OP_UPDATE|DSI_OP_INDEXED},
+#endif
+ };
+
+ int num_elems = sizeof(dsi)/sizeof(dsi[0]);
+ int indicator = EXC_ALI_OPCODE_INDICATOR(dsisr);
+ int i;
+
+ for (i = 0 ; i < num_elems; i++) {
+ if (indicator == dsi[i].indicator){
+ return &dsi[i];
+ }
+ }
+ return 0;
+}
Index: sys/arch/powerpc/powerpc/fixup.c
===================================================================
RCS file: /cvsroot/src/sys/arch/powerpc/powerpc/fixup.c,v
retrieving revision 1.6
diff -b -u -r1.6 fixup.c
--- sys/arch/powerpc/powerpc/fixup.c 7 Nov 2013 15:26:36 -0000 1.6
+++ sys/arch/powerpc/powerpc/fixup.c 16 Feb 2014 18:23:53 -0000
@@ -43,6 +43,8 @@
#include <powerpc/instr.h>
#include <powerpc/spr.h>
+#include <powerpc/include/cpu.h>
+#include <powerpc/include/oea/spr.h>
static inline void
fixup_jump(uint32_t *insnp, const struct powerpc_jump_fixup_info *jfi)
@@ -71,7 +73,13 @@
extern uint32_t __stub_start[], __stub_end[];
#ifdef DEBUG
size_t fixups_done = 0;
- uint64_t cycles = mftb();
+ uint64_t cycles = 0;
+#ifdef PPC_OEA601
+ if ((mfpvr() >> 16) == MPC601)
+ cycles = rtc_nanosecs()/128;
+ else
+#endif
+ cycles = mftb();
#endif
if (stub_start == NULL) {
@@ -209,7 +217,14 @@
}
#ifdef DEBUG
+
+#ifdef PPC_OEA601
+ if ((mfpvr() >> 16) == MPC601)
+ cycles = rtc_nanosecs()/128 - cycles;
+ else
+#endif
cycles = mftb() - cycles;
+
printf("%s: %zu fixup%s done in %"PRIu64" cycles\n", __func__,
fixups_done, fixups_done == 1 ? "" : "s",
cycles);
===================================================================
New file
sys/arch/macppc/conf/std.macppc.601
===================================================================
# $NetBSD: std.macppc,v 1.23 2008/12/11 05:42:18 alc Exp $
#
# Standard/required options for NetBSD/macppc.
machine macppc powerpc
include "conf/std" # MI standard options
# standard ("mandatory") kernel options.
options PPC_OEA # OEA class PowerPC chips
options PPC_OEA601 # 601 cpu
makeoptions PPCDIR="oea" # Tell Makefile.powerpc what dir to use
makeoptions PPC_ARCH_MODE="ppc32"
makeoptions CPUFLAGS+="-mcpu=601"
# Executable support:
options EXEC_ELF32 # (native) ELF32 binary support
options EXEC_AOUT # (native) a.out binary support (deprecated)
options EXEC_SCRIPT # shell script support
options INTSTK=0x2000
# Atheros HAL options
include "external/isc/atheros_hal/conf/std.ath_hal"
New file, diffed between GENERIC. Most of changes are to reduce
kernel size < 4M
GENERIC_601
======================================================================
--- sys/arch/macppc/conf/GENERIC 2013-11-09 08:45:35.000000000 -0700
+++ sys/arch/macppc/conf/GENERIC_601 2014-02-12 09:05:13.000000000 -0700
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.312 2013/10/23 09:28:57 macallan Exp $
+# $NetBSD: GENERIC,v 1.311 2013/06/30 21:38:57 rmind Exp $
#
# GENERIC machine description file
#
@@ -17,16 +17,20 @@
# for this architecture, see the options(4) man page. For an explanation
# of each device driver in this file see the section 4 man page for the
# device.
-
-include "arch/macppc/conf/std.macppc"
+#
+# For PPC 601, need "CPUFLAGS+= -mcpu=601"
+#
+# Openfirmware 1.0.5 require a kernel < 4M for netbooting
+#
+include "arch/macppc/conf/std.macppc.601"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
-#ident "GENERIC-$Revision: 1.312 $"
+ident "GENERIC-$Revision: 1.311 $"
maxusers 32
-options ALTIVEC # Include AltiVec support
+#options ALTIVEC # Include AltiVec support
# Standard system options
options INSECURE # disable kernel security levels
@@ -39,9 +43,9 @@
options SYSVSEM # System V semaphores
options SYSVSHM # System V shared memory
-options MODULAR # new style module(7) framework
+#options MODULAR # new style module(7) framework
-options USERCONF # userconf(4) support
+#options USERCONF # userconf(4) support
#options PIPE_SOCKETPAIR # smaller, but slower pipe(2)
options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel
@@ -51,95 +55,98 @@
#options BUFQ_PRIOCSCAN
# Diagnostic/debugging support options
-#options DIAGNOSTIC # cheap kernel consistency checks
-#options DEBUG # expensive debugging checks/support
+options DIAGNOSTIC # cheap kernel consistency checks
+options DEBUG # expensive debugging checks/support
options ZS_CONSOLE_ABORT# allow break to get into DDB on serial
options DDB # in-kernel debugger
#options DDB_ONPANIC=0 # don't go into ddb on panic.
options DDB_HISTORY_SIZE=512 # enable history editing in DDB
-#options TRAP_PANICWAIT
+options TRAP_PANICWAIT
options DDB_COMMANDONENTER="bt"
-#makeoptions DEBUG="-g" # compile full symbol table
+options PMAPCHECK
+options PMAPDEBUG
+
+makeoptions DEBUG="-g" # compile full symbol table
# Compatibility options
-options COMPAT_09 # NetBSD 0.9,
-options COMPAT_10 # NetBSD 1.0,
-options COMPAT_11 # NetBSD 1.1,
-options COMPAT_12 # NetBSD 1.2,
-options COMPAT_13 # NetBSD 1.3,
-options COMPAT_14 # NetBSD 1.4,
-options COMPAT_15 # NetBSD 1.5,
-options COMPAT_16 # NetBSD 1.6,
-options COMPAT_20 # NetBSD 2.0,
-options COMPAT_30 # NetBSD 3.0,
-options COMPAT_40 # NetBSD 4.0 compatibility.
-options COMPAT_50 # NetBSD 5.0 compatibility.
+#options COMPAT_09 # NetBSD 0.9,
+#options COMPAT_10 # NetBSD 1.0,
+#options COMPAT_11 # NetBSD 1.1,
+#options COMPAT_12 # NetBSD 1.2,
+#options COMPAT_13 # NetBSD 1.3,
+#options COMPAT_14 # NetBSD 1.4,
+#options COMPAT_15 # NetBSD 1.5,
+#options COMPAT_16 # NetBSD 1.6,
+#options COMPAT_20 # NetBSD 2.0,
+#options COMPAT_30 # NetBSD 3.0,
+#options COMPAT_40 # NetBSD 4.0 compatibility.
+#options COMPAT_50 # NetBSD 5.0 compatibility.
options COMPAT_60 # NetBSD 6.0 compatibility.
options COMPAT_43 # and 4.3BSD
#options COMPAT_386BSD_MBRPART # recognize old partition ID
#options COMPAT_LINUX # Linux binary compatibility
#options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended.
-options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
+#options COMPAT_BSDPTY # /dev/[pt]ty?? ptys.
# Wedge support
-options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
-options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
+#options DKWEDGE_AUTODISCOVER # Automatically add dk(4) instances
+#options DKWEDGE_METHOD_GPT # Supports GPT partitions as wedges
# The following two options can break /etc/fstab, so handle with care
#options DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
#options DKWEDGE_METHOD_MBR # Support MBR partitions as wedges
# File systems
file-system FFS # UFS
-file-system EXT2FS # second extended file system (linux)
-file-system LFS # log-structured file system
+#file-system EXT2FS # second extended file system (linux)
+#file-system LFS # log-structured file system
file-system MFS # memory file system
file-system NFS # Network File System client
file-system CD9660 # ISO 9660 + Rock Ridge file system
file-system MSDOSFS # MS-DOS file system
-file-system FDESC # /dev/fd
-file-system KERNFS # /kern
-file-system NULLFS # loopback file system
-file-system OVERLAY # overlay file system
-file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
+#file-system FDESC # /dev/fd
+#file-system KERNFS # /kern
+#file-system NULLFS # loopback file system
+#file-system OVERLAY # overlay file system
+#file-system PUFFS # Userspace file systems (e.g. ntfs-3g & sshfs)
file-system PROCFS # /proc
-file-system UMAPFS # NULLFS + uid and gid remapping
-file-system UNION # union file system
-file-system SMBFS # CIFS; also needs nsmb (below)
+#file-system UMAPFS # NULLFS + uid and gid remapping
+#file-system UNION # union file system
+#file-system SMBFS # CIFS; also needs nsmb (below)
file-system PTYFS # /dev/pts/N support
-file-system TMPFS # Efficient memory file-system
+#file-system TMPFS # Efficient memory file-system
#file-system UDF # experimental - OSTA UDF CD/DVD file-system
#file-system HFS # experimental - Apple HFS+ (read-only)
# File system options
-options QUOTA # legacy UFS quotas
-options QUOTA2 # new, in-filesystem UFS quotas
+#options QUOTA # legacy UFS quotas
+#options QUOTA2 # new, in-filesystem UFS quotas
#options FFS_EI # FFS Endian Independent support
-options WAPBL # File system journaling support
+#options WAPBL # File system journaling support
#options UFS_DIRHASH # UFS Large Directory Hashing - Experimental
-options NFSSERVER # Network File System server
+#options NFSSERVER # Network File System server
#options FFS_NO_SNAPSHOT # No FFS snapshot support
#options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
# immutable) behave as system flags.
-options APPLE_UFS # Apple UFS support in FFS
+#options APPLE_UFS # Apple UFS support in FFS
options NFS_BOOT_DHCP # Support DHCP NFS root
# Networking options
#options GATEWAY # packet forwarding
options INET # IP + ICMP + TCP + UDP
-options INET6 # IPV6
+#options INET6 # IPV6
#options IPSEC # IP security
#options IPSEC_DEBUG # debug for IP security
#options MROUTING # IP multicast routing
#options PIM # Protocol Independent Multicast
-options NETATALK # AppleTalk networking protocols
-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)
-options IPFILTER_LOG # ipmon(8) log support
-options IPFILTER_LOOKUP # ippool(8) support
-options IPFILTER_COMPAT # Compat for IP-Filter
+#options NETATALK # AppleTalk networking protocols
+#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)
+#options IPFILTER_LOG # ipmon(8) log support
+#options IPFILTER_LOOKUP # ippool(8) support
+#options IPFILTER_COMPAT # Compat for IP-Filter
#options IPFILTER_DEFAULT_BLOCK # block all packets by default
#options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG
@@ -158,11 +165,11 @@
# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
-options PCIVERBOSE # verbose PCI device autoconfig messages
-options MIIVERBOSE # verbose PHY autoconfig messages
+#options PCIVERBOSE # verbose PCI device autoconfig messages
+#options MIIVERBOSE # verbose PHY autoconfig messages
#options PCI_CONFIG_DUMP # verbosely dump PCI config space
-options SCSIVERBOSE # human readable SCSI error messages
-options USBVERBOSE # verbose USB device autoconfig messages
+#options SCSIVERBOSE # human readable SCSI error messages
+#options USBVERBOSE # verbose USB device autoconfig messages
# wscons options
#options WSEMUL_SUN # sun terminal emulation
@@ -222,60 +229,60 @@
pchb* at pci? dev ? function ? # PCI-Host bridges
ppb* at pci? dev ? function ? # PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
-puc* at pci? dev ? function ? # PCI "universal" comm. cards
-lpt* at puc? port ? # || ports on > "universal" comm boards
+#puc* at pci? dev ? function ? # PCI "universal" comm. cards
+#lpt* at puc? port ? # || ports on > "universal" comm boards
# PCI Network devices
-an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11)
-ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11
-atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11)
-bge* at pci? dev ? function ? # Broadcom 570x Gigabit Ethernet
-bwi* at pci? dev ? function ? # Broadcom / Apple Airport Extreme
-ep* at pci? dev ? function ? # 3Com 3c59x
-epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet
-ex* at pci? dev ? function ? # 3Com 90x[BC]
-fpa* at pci? dev ? function ? # DEC PCI FDDI (DEFPA) Controller
-fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
-gem* at pci? dev ? function ? # gmac ethernet
-#gm* at pci? dev ? function ? # gmac ethernet (old)
-gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
-le* at pci? dev ? function ? # PCnet-PCI Ethernet
-lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3
-mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet
-ne* at pci? dev ? function ? # NE2000-compatible Ethernet
-pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet
-ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g
-re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S
-rtk* at pci? dev ? function ? # Realtek 8129/8139
-sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet
-sip* at pci? dev ? function ? # SiS 900/7016 Ethernet
-skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet
-sk* at skc? # SysKonnect SK9821 Gigabit Ethernet
-ste* at pci? dev ? function ? # Sundance ST-201 Ethernet
-stge* at pci? dev ? function ? # Sundance/Tamarack TC9021 Gigabit
-#ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet
-tl* at pci? dev ? function ? # ThunderLAN-based Ethernet
-tlp* at pci? dev ? function ? # DECchip 21x4x and clones
-vge* at pci? dev ? function ? # VIA VT612x Gigabit Ethernet
-vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet
-wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b)
-wm* at pci? dev ? function ? # Intel 82543/82544 gigabit
+# an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11)
+# ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11
+# atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11)
+# bge* at pci? dev ? function ? # Broadcom 570x Gigabit Ethernet
+# bwi* at pci? dev ? function ? # Broadcom / Apple Airport Extreme
+# ep* at pci? dev ? function ? # 3Com 3c59x
+# epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet
+# ex* at pci? dev ? function ? # 3Com 90x[BC]
+# fpa* at pci? dev ? function ? # DEC PCI FDDI (DEFPA) Controller
+# fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
+# gem* at pci? dev ? function ? # gmac ethernet
+# #gm* at pci? dev ? function ? # gmac ethernet (old)
+# gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet
+# le* at pci? dev ? function ? # PCnet-PCI Ethernet
+# lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3
+# mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet
+# ne* at pci? dev ? function ? # NE2000-compatible Ethernet
+# pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet
+# ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g
+# re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S
+# rtk* at pci? dev ? function ? # Realtek 8129/8139
+# sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet
+# sip* at pci? dev ? function ? # SiS 900/7016 Ethernet
+# skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet
+# sk* at skc? # SysKonnect SK9821 Gigabit Ethernet
+# ste* at pci? dev ? function ? # Sundance ST-201 Ethernet
+# stge* at pci? dev ? function ? # Sundance/Tamarack TC9021
Gigabit
+# #ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet
+# tl* at pci? dev ? function ? # ThunderLAN-based Ethernet
+# tlp* at pci? dev ? function ? # DECchip 21x4x and clones
+# vge* at pci? dev ? function ? # VIA VT612x Gigabit Ethernet
+# vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet
+# wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b)
+# wm* at pci? dev ? function ? # Intel 82543/82544 gigabit
# PCI SCSI controllers
-adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
-adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
-ahc* at pci? dev ? function ? # Adaptec 294x, aic78x0 SCSI
-bha* at pci? dev ? function ? # BusLogic 9xx SCSI
-esiop* at pci? dev ? function ? # NCR 53c8xx SCSI (enhanced)
-iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
-isp* at pci? dev ? function ? # Qlogic ISP 10x0/2xx0 SCSI/Fibre Chan
-mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030
-pcscp* at pci? dev ? function ? # AMD Am53c974 PCscsi-PCI SCSI
-siop* at pci? dev ? function ? # NCR 53c8xx SCSI
-trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI
+# adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
+# adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
+# ahc* at pci? dev ? function ? # Adaptec 294x, aic78x0 SCSI
+# bha* at pci? dev ? function ? # BusLogic 9xx SCSI
+# esiop* at pci? dev ? function ? # NCR 53c8xx SCSI (enhanced)
+# iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI
+# isp* at pci? dev ? function ? # Qlogic ISP 10x0/2xx0 SCSI/Fibre Chan
+# mpt* at pci? dev ? function ? # LSILogic 9x9 and 53c1030
+# pcscp* at pci? dev ? function ? # AMD Am53c974 PCscsi-PCI SCSI
+# siop* at pci? dev ? function ? # NCR 53c8xx SCSI
+# trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI
# Display devices
-# ofb* at pci? dev ? function ? # Generic Open Firmware Framebuffer
+#ofb* at pci? dev ? function ? # Generic Open Firmware Framebuffer
# OFB_ENABLE_CACHE speeds up the console on many machines, but should
# not be enabled on some older machines, such as the rev. A-D iMacs or any
# O'Hare based machine that uses external cache like the PowerBook 3400c
@@ -286,17 +293,14 @@
# instead.
chipsfb* at pci? function ? # C&T 65550
-gffb* at pci? function ? # NVIDIA GeForce2 MX
machfb* at pci? function ? # ATI Mach 64, Rage, Rage Pro
-tdvfb* at pci? function ? # 3Dfx Voodoo2
-r128fb* at pci? function ? # ATI Rage 128
-voodoofb* at pci? function ? # 3Dfx Voodoo3
-
-# ATI Radeon. Still has problems on some hardware
-radeonfb* at pci? function ?
-options RADEONFB_MMAP_BARS # allow mmap()ing BARs - needed for X
-# generic PCI framebuffer, should work with everything supported by OF
+#radeonfb* at pci? function ? # ATI Radeon. R3xx is problematic
+#options RADEONFB_MMAP_BARS # allow mmap()ing BARs - needed for X
+
+#voodoofb* at pci? function ? # 3Dfx Voodoo3
+#tdvfb* at pci? function ? # 3Dfx Voodoo2
+#r128fb* at pci? function ? # ATI Rage 128
genfb* at pci? function ?
# make sure the console display is always wsdisplay0
@@ -307,60 +311,60 @@
# Other PCI devices
pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver
-acardide* at pci? dev ? function ? # Acard IDE controllers
-aceride* at pci? dev ? function ? # Acer Lab IDE controllers
-ahcisata* at pci? dev ? function ? # AHCI SATA controllers
-artsata* at pci? dev ? function ? # Intel i31244 SATA controller
-cmdide* at pci? dev ? function ? # CMD tech IDE controllers
-cypide* at pci? dev ? function ? # Cypress IDE controllers
-hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers
-iteide* at pci? dev ? function ? # IT Express IDE controllers
-optiide* at pci? dev ? function ? # Opti IDE controllers
-pdcide* at pci? dev ? function ? # Promise IDE controllers
-pdcsata* at pci? dev ? function ? # Promise SATA150 controllers
-satalink* at pci? dev ? function ? # SiI SATALink controllers
-siside* at pci? dev ? function ? # SiS IDE controllers
-slide* at pci? dev ? function ? # Symphony Labs IDE controllers
-stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers
-viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers
-wdc* at pci? dev ? function ? # Kauai ATA
-cbb* at pci? dev ? function ? # PCI-CardBus bridge
+#acardide* at pci? dev ? function ? # Acard IDE controllers
+#aceride* at pci? dev ? function ? # Acer Lab IDE controllers
+#ahcisata* at pci? dev ? function ? # AHCI SATA controllers
+#artsata* at pci? dev ? function ? # Intel i31244 SATA controller
+#cmdide* at pci? dev ? function ? # CMD tech IDE controllers
+#cypide* at pci? dev ? function ? # Cypress IDE controllers
+#hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers
+#iteide* at pci? dev ? function ? # IT Express IDE controllers
+#optiide* at pci? dev ? function ? # Opti IDE controllers
+#pdcide* at pci? dev ? function ? # Promise IDE controllers
+#pdcsata* at pci? dev ? function ? # Promise SATA150 controllers
+#satalink* at pci? dev ? function ? # SiI SATALink controllers
+#siside* at pci? dev ? function ? # SiS IDE controllers
+#slide* at pci? dev ? function ? # Symphony Labs IDE controllers
+#stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers
+#viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers
+#wdc* at pci? dev ? function ? # Kauai ATA
+#cbb* at pci? dev ? function ? # PCI-CardBus bridge
obio* at pci? dev ? function ?
-acphy* at mii? phy ? # DAltima AC101 and AMD Am79c874 PHYs
-amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs
-bmtphy* at mii? phy ? # Broadcom BCM5201/BCM5202 PHYs
-brgphy* at mii? phy ? # Broadcom BCM5400 PHYs
-ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs
-dmphy* at mii? phy ? # Davicom DM9101 PHYs
-exphy* at mii? phy ? # 3Com internal PHYs
-glxtphy* at mii? phy ? # Level One LXT-1000 PHYs
-gphyter* at mii? phy ? # NS83861 Gig-E PHY
-icsphy* at mii? phy ? # Integrated Circuit Systems
ICS189x
-ikphy* at mii? phy ? # Intel 82563 PHYs
-inphy* at mii? phy ? # Intel 82555 PHYs
-iophy* at mii? phy ? # Intel 82553 PHYs
-lxtphy* at mii? phy ? # Level One LXT-970 PHYs
-makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs
-nsphy* at mii? phy ? # NS83840 PHYs
-nsphyter* at mii? phy ? # NS83843 PHYs
-pnaphy* at mii? phy ? # generic HomePNA PHYs
-qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs
-rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs
-rlphy* at mii? phy ? # Realtek 8139/8201L PHYs
-sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs
-tlphy* at mii? phy ? # ThunderLAN PHYs
-tqphy* at mii? phy ? # TDK Semiconductor PHYs
-ukphy* at mii? phy ? # generic unknown PHYs
-urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs
+# acphy* at mii? phy ? # DAltima AC101 and AMD
Am79c874 PHYs
+# amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs
+# bmtphy* at mii? phy ? # Broadcom BCM5201/BCM5202 PHYs
+# brgphy* at mii? phy ? # Broadcom BCM5400 PHYs
+# ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs
+# dmphy* at mii? phy ? # Davicom DM9101 PHYs
+# exphy* at mii? phy ? # 3Com internal PHYs
+# glxtphy* at mii? phy ? # Level One LXT-1000 PHYs
+# gphyter* at mii? phy ? # NS83861 Gig-E PHY
+# icsphy* at mii? phy ? # Integrated Circuit Systems
ICS189x
+# ikphy* at mii? phy ? # Intel 82563 PHYs
+# inphy* at mii? phy ? # Intel 82555 PHYs
+# iophy* at mii? phy ? # Intel 82553 PHYs
+# lxtphy* at mii? phy ? # Level One LXT-970 PHYs
+# makphy* at mii? phy ? # Marvell Semiconductor 88E1000
PHYs
+# nsphy* at mii? phy ? # NS83840 PHYs
+# nsphyter* at mii? phy ? # NS83843 PHYs
+# pnaphy* at mii? phy ? # generic HomePNA PHYs
+# qsphy* at mii? phy ? # Quality Semiconductor QS6612
PHYs
+# rgephy* at mii? phy ? # Realtek 8169S/8110S internal
PHYs
+# rlphy* at mii? phy ? # Realtek 8139/8201L PHYs
+# sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs
+# tlphy* at mii? phy ? # ThunderLAN PHYs
+# tqphy* at mii? phy ? # TDK Semiconductor PHYs
+# ukphy* at mii? phy ? # generic unknown PHYs
+# urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs
# PCI serial interfaces
-com* at puc? port ? # 16x50s on "universal" comm boards
-cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards
+#com* at puc? port ? # 16x50s on "universal" comm boards
+#cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards
#cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards
-bktr* at pci? dev ? function ? # Brooktree video/audio
capture/tuner
-radio* at bktr?
+#bktr* at pci? dev ? function ? # Brooktree video/audio
capture/tuner
+#radio* at bktr?
bm* at obio? # bmac ethernet
mc* at obio? # MACE ethernet
@@ -383,17 +387,17 @@
pmu* at obio? # PMU, *Books and newer PowerMacs
nadb* at adb_bus? # ADB bus enumerator, at cuda or pmu
adbkbd* at nadb? # ADB keyboard
-adbms* at nadb? # ADB mice and touchpads
-adbbt* at nadb? # button device found on *Books
+#adbms* at nadb? # ADB mice and touchpads
+#adbbt* at nadb? # button device found on *Books
wskbd* at wskbddev? console ?
-wsmouse* at wsmousedev?
+#wsmouse* at wsmousedev?
-battery* at pmu? # legacy battery, for ohare-based PowerBooks
-smartbat* at pmu? # Smart battery, found in newer *Books
+#battery* at pmu? # legacy battery, for ohare-based PowerBooks
+#smartbat* at pmu? # Smart battery, found in newer *Books
iic0 at cuda0 # CUDA's IIC bus
-sgsmix0 at iic0 addr 0x8a # additional mixer found in beige G3
+#sgsmix0 at iic0 addr 0x8a # additional mixer found in beige G3
# use with awacs
zsc* at obio?
@@ -410,28 +414,28 @@
iic* at ki2c?
dbcool* at ki2c? # dbCool thermal monitor & fan
control
-deq* at ki2c? # mixer/equalizer, needed by snapper
-wi* at obio? # AirMac
-snapper* at obio? # Snapper audio device
-
-cardslot* at cbb?
-cardbus* at cardslot?
-pcmcia* at cardslot?
-
-com* at pcmcia? function ? # Modems and serial cards
-wdc* at pcmcia? function ? # PCMCIA IDE controllers
-ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet
-mbe* at pcmcia? function ? # MB8696x based Ethernet
-ne* at pcmcia? function ? # NE2000-compatible Ethernet
-awi* at pcmcia? function ? # BayStack 650/660 (802.11FH/DS)
-wi* at pcmcia? function ? # Lucent WaveLan IEEE (802.11)
-ath* at cardbus? function ? # Atheros 5210/5211/5212 802.11
-atw* at cardbus? function ? # ADMtek ADM8211 (802.11)
-ex* at cardbus? function ? # 3Com 3C575TX
-tlp* at cardbus? function ? # DECchip 21143
-ral* at cardbus? function ? # Ralink Technology RT25x0 802.11a/b/g
-rtk* at cardbus? function ? # Realtek 8129/8139
-rtw* at cardbus? function ? # Realtek 8180L (802.11)
+#deq* at ki2c? # mixer/equalizer, needed by snapper
+#wi* at obio? # AirMac
+#snapper* at obio? # Snapper audio device
+
+#cardslot* at cbb?
+#cardbus* at cardslot?
+#pcmcia* at cardslot?
+
+#com* at pcmcia? function ? # Modems and serial cards
+#wdc* at pcmcia? function ? # PCMCIA IDE controllers
+#ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet
+#mbe* at pcmcia? function ? # MB8696x based Ethernet
+#ne* at pcmcia? function ? # NE2000-compatible Ethernet
+#awi* at pcmcia? function ? # BayStack 650/660 (802.11FH/DS)
+#wi* at pcmcia? function ? # Lucent WaveLan IEEE (802.11)
+#ath* at cardbus? function ? # Atheros 5210/5211/5212 802.11
+#atw* at cardbus? function ? # ADMtek ADM8211 (802.11)
+#ex* at cardbus? function ? # 3Com 3C575TX
+#tlp* at cardbus? function ? # DECchip 21143
+#ral* at cardbus? function ? # Ralink Technology RT25x0 802.11a/b/g
+#rtk* at cardbus? function ? # Realtek 8129/8139
+#rtw* at cardbus? function ? # Realtek 8180L (802.11)
# Cryptographic Devices
@@ -444,113 +448,113 @@
scsibus* at scsi?
sd* at scsibus? target ? lun ? # SCSI disks
-st* at scsibus? target ? lun ? # SCSI tape drives
+#st* at scsibus? target ? lun ? # SCSI tape drives
cd* at scsibus? target ? lun ? # SCSI CD-ROM drives
-ch* at scsibus? target ? lun ? # SCSI autochangers
-ss* at scsibus? target ? lun ? # SCSI scanners
-uk* at scsibus? target ? lun ? # SCSI unknown
+#ch* at scsibus? target ? lun ? # SCSI autochangers
+#ss* at scsibus? target ? lun ? # SCSI scanners
+#uk* at scsibus? target ? lun ? # SCSI unknown
wdc* at obio? flags 0x1
atabus* at ata?
wd* at atabus? drive ? flags 0x0000
-atapibus* at atapi?
+#atapibus* at atapi?
-cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
-sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
-uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
+#cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives
+#sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives
+#uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown
# PCI USB controllers
-ohci* at pci? dev ? function ? # USB Open Host Controller
-ehci* at pci? dev ? function ? # USB Enhanced Host Controller
+#ohci* at pci? dev ? function ? # USB Open Host Controller
+#ehci* at pci? dev ? function ? # USB Enhanced Host Controller
-ohci* at cardbus? function ? # USB Open Host Controller
-ehci* at cardbus? function ? # USB Enhanced Host Controller
+#ohci* at cardbus? function ? # USB Open Host Controller
+#ehci* at cardbus? function ? # USB Enhanced Host Controller
-slhci* at pcmcia? function ? # ScanLogic SL811HS
+#slhci* at pcmcia? function ? # ScanLogic SL811HS
-usb* at ehci? # USB bus support
-usb* at ohci? # USB bus support
-usb* at slhci? # USB bus support
-uhub* at usb? # USB Hubs
-uhub* at uhub? port ?
+#usb* at ehci? # USB bus support
+#usb* at ohci? # USB bus support
+#usb* at slhci? # USB bus support
+#uhub* at usb? # USB Hubs
+#uhub* at uhub? port ?
-uhidev* at uhub? port ? configuration ? interface ? # USB HID device
+#uhidev* at uhub? port ? configuration ? interface ? # USB HID device
-pbms* at uhidev? reportid ? # PowerBook 15" mouse
+#pbms* at uhidev? reportid ? # PowerBook 15" mouse
-ums* at uhidev? reportid ? # USB Mice
+#ums* at uhidev? reportid ? # USB Mice
-ukbd* at uhidev? reportid ? # USB Keyboards
+#ukbd* at uhidev? reportid ? # USB Keyboards
-uthum* at uhidev? reportid ? # TEMPerHUM sensors
+#uthum* at uhidev? reportid ? # TEMPerHUM
sensors
-ucycom* at uhidev? reportid ? # USB serial
adapter
+#ucycom* at uhidev? reportid ? # USB serial
adapter
-uhid* at uhidev? reportid ? # USB Generic HID
+#uhid* at uhidev? reportid ? # USB Generic HID
-ulpt* at uhub? port ? configuration ? interface ? # USB Printer
+#ulpt* at uhub? port ? configuration ? interface ? # USB Printer
-umodem* at uhub? port ? configuration ? # USB Modem
-ucom* at umodem?
+#umodem* at uhub? port ? configuration ? # USB Modem
+#ucom* at umodem?
-ubsa* at uhub? port ? # Belkin serial adapter
-ucom* at ubsa? portno ?
+#ubsa* at uhub? port ? # Belkin serial adapter
+#ucom* at ubsa? portno ?
-uplcom* at uhub? port ? # Prolific
serial
-ucom* at uplcom? portno ?
+#uplcom* at uhub? port ? # Prolific
serial
+#ucom* at uplcom? portno ?
-uftdi* at uhub? port ? # FTDI serial
-ucom* at uftdi? portno ?
+#uftdi* at uhub? port ? # FTDI serial
+#ucom* at uftdi? portno ?
-uhso* at uhub? port ? configuration ? # Option N.V. Wireless
WAN modems
+#uhso* at uhub? port ? configuration ? # Option N.V. Wireless
WAN modems
-umass* at uhub? port ? configuration ? interface ? # USB Mass Storage
+#umass* at uhub? port ? configuration ? interface ? # USB Mass
Storage
-uaudio* at uhub? port ? configuration ? # USB audio
+#uaudio* at uhub? port ? configuration ? # USB audio
# D-Link DSB-R100 USB FM radio tuner
-udsbr* at uhub? port ?
-radio* at udsbr?
+#udsbr* at uhub? port ?
+#radio* at udsbr?
# USB Ethernet adapters
-aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters
-axe* at uhub? port ? # ASIX AX88172 based adapters
-cue* at uhub? port ? # CATC USB-EL1201A based adapters
-kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters
-url* at uhub? port ? # Realtek RTL8150L based adapters
-udav* at uhub? port ? # Davicom DM9601 based adapters
-
-ukyopon* at uhub? port ? # Kyocera AIR-EDGE PHONE
-ucom* at ukyopon? portno ?
-
-uscanner* at uhub? port ? # USB scanners
-uyap* at uhub? port ? # Y@P firmware loader
-ugen* at uhub? port ? configuration ? interface ? # USB Generic driver
+#aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters
+#axe* at uhub? port ? # ASIX AX88172 based adapters
+#cue* at uhub? port ? # CATC USB-EL1201A based adapters
+#kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters
+#url* at uhub? port ? # Realtek RTL8150L based adapters
+#udav* at uhub? port ? # Davicom DM9601 based adapters
+
+#ukyopon* at uhub? port ? # Kyocera AIR-EDGE PHONE
+#ucom* at ukyopon? portno ?
+
+#uscanner* at uhub? port ? # USB scanners
+#uyap* at uhub? port ? # Y@P firmware loader
+#ugen* at uhub? port ? configuration ? interface ? # USB Generic driver
# USB 802.11 adapters
-atu* at uhub? port ? # Atmel at76c50x 802.11b
-otus* at uhub? port ? # Atheros AR9001U
-ural* at uhub? port ? # Ralink Technology RT2500USB 802.11a/b/g
-rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g
+#atu* at uhub? port ? # Atmel at76c50x 802.11b
+#otus* at uhub? port ? # Atheros AR9001U
+#ural* at uhub? port ? # Ralink Technology RT2500USB 802.11a/b/g
+#rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g
#zyd* at uhub? port ? # Zydas ZD1211
# PCI IEEE1394 controllers
-fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller
+#fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller
# CardBus IEEE1394 controllers
#fwohci* at cardbus? function ? # IEEE1394 Open Host Controller
-ieee1394if* at fwohci?
-fwip* at ieee1394if? # IP over IEEE1394
-sbp* at ieee1394if? euihi ? euilo ?
+#ieee1394if* at fwohci?
+#fwip* at ieee1394if? # IP over IEEE1394
+#sbp* at ieee1394if? euihi ? euilo ?
# Audio Devices
# PCI audio devices
#clcs* at pci? dev ? function ? # Cirrus Logic CS4280
#cmpci* at pci? dev ? function ? # C-Media CMI8338/8738
-eap* at pci? dev ? function ? # Ensoniq AudioPCI
+#eap* at pci? dev ? function ? # Ensoniq AudioPCI
#eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
#fms* at pci? dev ? function ? # Forte Media FM801
#sv* at pci? dev ? function ? # S3 SonicVibes
@@ -561,7 +565,7 @@
#opl* at fms?
# Audio support
-audio* at audiobus?
+#audio* at audiobus?
# MPU 401 UARTs
#mpu* at cmpci?
@@ -569,23 +573,23 @@
#mpu* at fms?
# MIDI support
-midi* at eap? # 137[01] MIDI port
+#midi* at eap? # 137[01] MIDI port
#midi* at mpu? # MPU 401
#
# accept filters
-pseudo-device accf_data # "dataready" accept filter
-pseudo-device accf_http # "httpready" accept filter
+#pseudo-device accf_data # "dataready" accept filter
+#pseudo-device accf_http # "httpready" accept filter
#pseudo-device crypto # /dev/crypto device
# (disabled, requires generic softints)
#pseudo-device swcrypto # software crypto implementation
-pseudo-device vnd # disk-like interface to files
+#pseudo-device vnd # disk-like interface to files
#options VND_COMPRESSION # compressed vnd(4)
-pseudo-device ccd # concatenated/striped disk devices
+#pseudo-device ccd # concatenated/striped disk devices
#pseudo-device cgd # cryptographic disk devices
-pseudo-device raid # RAIDframe disk driver
-options RAID_AUTOCONFIG # auto-configuration of RAID components
+#pseudo-device raid # RAIDframe disk driver
+#options RAID_AUTOCONFIG # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options RF_INCLUDE_EVENODD=1
# options RF_INCLUDE_RAID5_RS=1
@@ -594,34 +598,34 @@
# options RF_INCLUDE_INTERDECLUSTER=1
# options RF_INCLUDE_PARITY_DECLUSTERING=1
# options RF_INCLUDE_PARITY_DECLUSTERING_DS=1
-pseudo-device fss # file system snapshot device
-pseudo-device md # memory disk device
+#pseudo-device fss # file system snapshot device
+#pseudo-device md # memory disk device
pseudo-device loop # network loopback
pseudo-device bpfilter # packet filter
-pseudo-device ipfilter # IP filter (firewall) and NAT
-pseudo-device ppp # Point-to-Point Protocol
-pseudo-device pppoe # PPP over Ethernet (RFC 2516)
-pseudo-device sl # Serial Line IP
-pseudo-device tun # network tunneling over tty
-pseudo-device tap # virtual Ethernet
+#pseudo-device ipfilter # IP filter (firewall) and NAT
+#pseudo-device ppp # Point-to-Point Protocol
+#pseudo-device pppoe # PPP over Ethernet (RFC 2516)
+#pseudo-device sl # Serial Line IP
+#pseudo-device tun # network tunneling over tty
+#pseudo-device tap # virtual Ethernet
#pseudo-device gre # generic L3 over IP tunnel
-pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
+#pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device faith # IPv[46] tcp relay translation i/f
-pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
-pseudo-device vlan # IEEE 802.1q encapsulation
-pseudo-device bridge # simple inter-network bridging
+#pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation
+#pseudo-device vlan # IEEE 802.1q encapsulation
+#pseudo-device bridge # simple inter-network bridging
#options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too
-pseudo-device agr # IEEE 802.3ad link aggregation
+#pseudo-device agr # IEEE 802.3ad link aggregation
pseudo-device pty # pseudo-terminals
pseudo-device openfirm # /dev/openfirm
pseudo-device wsmux # mouse and keyboard multiplexer
-pseudo-device swwdog # software watchdog driver - swwdog(4)
+#pseudo-device swwdog # software watchdog driver - swwdog(4)
pseudo-device clockctl # user control of clock subsystem
pseudo-device ksyms # /dev/ksyms
-pseudo-device nsmb # SMB requester
+#pseudo-device nsmb # SMB requester
#pseudo-device pf # PF packet filter
#pseudo-device pflog # PF log if
-pseudo-device putter # for puffs and pud
+#pseudo-device putter # for puffs and pud
# userland interface to drivers, including autoconf and properties retrieval
pseudo-device drvctl
>How-To-Repeat:
>Fix:
Home |
Main Index |
Thread Index |
Old Index