svn commit: r211666 - in user/imp/tbemd: bin/sh contrib/top
share/man/man4 sys/pci tools/regression/bin/sh/expansion
Warner Losh
imp at FreeBSD.org
Sun Aug 22 23:31:17 UTC 2010
Author: imp
Date: Sun Aug 22 23:31:16 2010
New Revision: 211666
URL: http://svn.freebsd.org/changeset/base/211666
Log:
merge @211665 (by hand!)
Added:
user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0
- copied unchanged from r211665, head/tools/regression/bin/sh/expansion/pathname4.0
Modified:
user/imp/tbemd/bin/sh/expand.c
user/imp/tbemd/share/man/man4/rl.4
user/imp/tbemd/sys/pci/if_rl.c
Directory Properties:
user/imp/tbemd/ (props changed)
user/imp/tbemd/cddl/contrib/opensolaris/ (props changed)
user/imp/tbemd/contrib/bind9/ (props changed)
user/imp/tbemd/contrib/ee/ (props changed)
user/imp/tbemd/contrib/expat/ (props changed)
user/imp/tbemd/contrib/file/ (props changed)
user/imp/tbemd/contrib/gdb/ (props changed)
user/imp/tbemd/contrib/gdtoa/ (props changed)
user/imp/tbemd/contrib/gnu-sort/ (props changed)
user/imp/tbemd/contrib/groff/ (props changed)
user/imp/tbemd/contrib/less/ (props changed)
user/imp/tbemd/contrib/libpcap/ (props changed)
user/imp/tbemd/contrib/llvm/ (props changed)
user/imp/tbemd/contrib/llvm/tools/clang/ (props changed)
user/imp/tbemd/contrib/ncurses/ (props changed)
user/imp/tbemd/contrib/netcat/ (props changed)
user/imp/tbemd/contrib/ntp/ (props changed)
user/imp/tbemd/contrib/one-true-awk/ (props changed)
user/imp/tbemd/contrib/openbsm/ (props changed)
user/imp/tbemd/contrib/openpam/ (props changed)
user/imp/tbemd/contrib/pf/ (props changed)
user/imp/tbemd/contrib/sendmail/ (props changed)
user/imp/tbemd/contrib/tcpdump/ (props changed)
user/imp/tbemd/contrib/tcsh/ (props changed)
user/imp/tbemd/contrib/top/ (props changed)
user/imp/tbemd/contrib/top/install-sh (props changed)
user/imp/tbemd/contrib/tzcode/stdtime/ (props changed)
user/imp/tbemd/contrib/tzcode/zic/ (props changed)
user/imp/tbemd/contrib/tzdata/ (props changed)
user/imp/tbemd/contrib/wpa/ (props changed)
user/imp/tbemd/crypto/openssh/ (props changed)
user/imp/tbemd/crypto/openssl/ (props changed)
user/imp/tbemd/lib/libc/ (props changed)
user/imp/tbemd/lib/libc/stdtime/ (props changed)
user/imp/tbemd/lib/libutil/ (props changed)
user/imp/tbemd/lib/libz/ (props changed)
user/imp/tbemd/sbin/ (props changed)
user/imp/tbemd/sbin/ipfw/ (props changed)
user/imp/tbemd/share/zoneinfo/ (props changed)
user/imp/tbemd/sys/ (props changed)
user/imp/tbemd/sys/amd64/include/xen/ (props changed)
user/imp/tbemd/sys/cddl/contrib/opensolaris/ (props changed)
user/imp/tbemd/sys/contrib/dev/acpica/ (props changed)
user/imp/tbemd/sys/contrib/pf/ (props changed)
user/imp/tbemd/sys/contrib/x86emu/ (props changed)
user/imp/tbemd/sys/dev/xen/xenpci/ (props changed)
user/imp/tbemd/usr.bin/csup/ (props changed)
user/imp/tbemd/usr.bin/procstat/ (props changed)
user/imp/tbemd/usr.sbin/zic/ (props changed)
Modified: user/imp/tbemd/bin/sh/expand.c
==============================================================================
--- user/imp/tbemd/bin/sh/expand.c Sun Aug 22 23:20:58 2010 (r211665)
+++ user/imp/tbemd/bin/sh/expand.c Sun Aug 22 23:31:16 2010 (r211666)
@@ -109,7 +109,6 @@ STATIC void expmeta(char *, char *);
STATIC void addfname(char *);
STATIC struct strlist *expsort(struct strlist *);
STATIC struct strlist *msort(struct strlist *, int);
-STATIC int pmatch(const char *, const char *, int);
STATIC char *cvtnum(int, char *);
STATIC int collate_range_cmp(int, int);
@@ -1101,7 +1100,7 @@ expandmeta(struct strlist *str, int flag
for (;;) { /* fast check for meta chars */
if ((c = *p++) == '\0')
goto nometa;
- if (c == '*' || c == '?' || c == '[' || c == '!')
+ if (c == '*' || c == '?' || c == '[')
break;
}
savelastp = exparg.lastp;
@@ -1168,8 +1167,6 @@ expmeta(char *enddir, char *name)
break;
}
}
- } else if (*p == '!' && p[1] == '!' && (p == name || p[-1] == '/')) {
- metaflag = 1;
} else if (*p == '\0')
break;
else if (*p == CTLQUOTEMARK)
@@ -1353,18 +1350,6 @@ msort(struct strlist *list, int len)
int
patmatch(const char *pattern, const char *string, int squoted)
{
-#ifdef notdef
- if (pattern[0] == '!' && pattern[1] == '!')
- return 1 - pmatch(pattern + 2, string);
- else
-#endif
- return pmatch(pattern, string, squoted);
-}
-
-
-STATIC int
-pmatch(const char *pattern, const char *string, int squoted)
-{
const char *p, *q;
char c;
@@ -1406,7 +1391,7 @@ pmatch(const char *pattern, const char *
}
}
do {
- if (pmatch(p, q, squoted))
+ if (patmatch(p, q, squoted))
return 1;
if (squoted && *q == CTLESC)
q++;
Modified: user/imp/tbemd/share/man/man4/rl.4
==============================================================================
--- user/imp/tbemd/share/man/man4/rl.4 Sun Aug 22 23:20:58 2010 (r211665)
+++ user/imp/tbemd/share/man/man4/rl.4 Sun Aug 22 23:31:16 2010 (r211666)
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd November 1, 2008
+.Dd August 22, 2010
.Dt RL 4
.Os
.Sh NAME
@@ -203,6 +203,13 @@ SOHO (PRAGMATIC) UE-1211C
.El
.Sh LOADER TUNABLES
.Bl -tag -width indent
+.It Va dev.rl.%unit.prefer_iomap
+This tunable controls which register mapping should be used on the
+specified device.
+Non-zero value enables I/O space register mapping.
+For controllers that have no I/O space register mapping this tunable
+should be set to 0 to use I/O space register mapping.
+The default value is 1 to use I/O space register mapping.
.It Va dev.rl.%unit.twister_enable
Non-zero value enables the long cable tuning on the specified device.
Disabled by default.
Modified: user/imp/tbemd/sys/pci/if_rl.c
==============================================================================
--- user/imp/tbemd/sys/pci/if_rl.c Sun Aug 22 23:20:58 2010 (r211665)
+++ user/imp/tbemd/sys/pci/if_rl.c Sun Aug 22 23:31:16 2010 (r211666)
@@ -125,16 +125,6 @@ MODULE_DEPEND(rl, miibus, 1, 1, 1);
/* "device miibus" required. See GENERIC if you get errors here. */
#include "miibus_if.h"
-/*
- * Default to using PIO access for this driver. On SMP systems,
- * there appear to be problems with memory mapped mode: it looks like
- * doing too many memory mapped access back to back in rapid succession
- * can hang the bus. I'm inclined to blame this on crummy design/construction
- * on the part of RealTek. Memory mapped mode does appear to work on
- * uniprocessor systems though.
- */
-#define RL_USEIOSPACE
-
#include <pci/if_rlreg.h>
/*
@@ -225,14 +215,6 @@ static void rl_watchdog(struct rl_softc
static void rl_setwol(struct rl_softc *);
static void rl_clrwol(struct rl_softc *);
-#ifdef RL_USEIOSPACE
-#define RL_RES SYS_RES_IOPORT
-#define RL_RID RL_PCI_LOIO
-#else
-#define RL_RES SYS_RES_MEMORY
-#define RL_RID RL_PCI_LOMEM
-#endif
-
static device_method_t rl_methods[] = {
/* Device interface */
DEVMETHOD(device_probe, rl_probe),
@@ -806,7 +788,7 @@ rl_attach(device_t dev)
struct sysctl_ctx_list *ctx;
struct sysctl_oid_list *children;
int error = 0, hwrev, i, pmc, rid;
- int unit;
+ int prefer_iomap, unit;
uint16_t rl_did = 0;
char tn[32];
@@ -828,10 +810,31 @@ rl_attach(device_t dev)
pci_enable_busmaster(dev);
- /* Map control/status registers. */
- rid = RL_RID;
- sc->rl_res = bus_alloc_resource_any(dev, RL_RES, &rid, RF_ACTIVE);
+ /*
+ * Map control/status registers.
+ * Default to using PIO access for this driver. On SMP systems,
+ * there appear to be problems with memory mapped mode: it looks
+ * like doing too many memory mapped access back to back in rapid
+ * succession can hang the bus. I'm inclined to blame this on
+ * crummy design/construction on the part of RealTek. Memory
+ * mapped mode does appear to work on uniprocessor systems though.
+ */
+ prefer_iomap = 1;
+ snprintf(tn, sizeof(tn), "dev.rl.%d.prefer_iomap", unit);
+ TUNABLE_INT_FETCH(tn, &prefer_iomap);
+ if (prefer_iomap) {
+ sc->rl_res_id = PCIR_BAR(0);
+ sc->rl_res_type = SYS_RES_IOPORT;
+ sc->rl_res = bus_alloc_resource_any(dev, sc->rl_res_type,
+ &sc->rl_res_id, RF_ACTIVE);
+ }
+ if (prefer_iomap == 0 || sc->rl_res == NULL) {
+ sc->rl_res_id = PCIR_BAR(1);
+ sc->rl_res_type = SYS_RES_MEMORY;
+ sc->rl_res = bus_alloc_resource_any(dev, sc->rl_res_type,
+ &sc->rl_res_id, RF_ACTIVE);
+ }
if (sc->rl_res == NULL) {
device_printf(dev, "couldn't map ports/memory\n");
error = ENXIO;
@@ -1029,7 +1032,8 @@ rl_detach(device_t dev)
if (sc->rl_irq[0])
bus_release_resource(dev, SYS_RES_IRQ, 0, sc->rl_irq[0]);
if (sc->rl_res)
- bus_release_resource(dev, RL_RES, RL_RID, sc->rl_res);
+ bus_release_resource(dev, sc->rl_res_type, sc->rl_res_id,
+ sc->rl_res);
if (ifp)
if_free(ifp);
Copied: user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0 (from r211665, head/tools/regression/bin/sh/expansion/pathname4.0)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ user/imp/tbemd/tools/regression/bin/sh/expansion/pathname4.0 Sun Aug 22 23:31:16 2010 (r211666, copy of r211665, head/tools/regression/bin/sh/expansion/pathname4.0)
@@ -0,0 +1,28 @@
+# $FreeBSD$
+
+failures=0
+
+check() {
+ testcase=$1
+ expect=$2
+ eval "set -- $testcase"
+ actual="$*"
+ if [ "$actual" != "$expect" ]; then
+ failures=$((failures+1))
+ printf '%s\n' "For $testcase, expected $expect actual $actual"
+ fi
+}
+
+set -e
+T=$(mktemp -d ${TMPDIR:-/tmp}/sh-test.XXXXXX)
+trap 'rm -rf $T' 0
+cd -P $T
+
+mkdir !!a
+touch !!a/fff
+
+chmod u-r .
+check '!!a/ff*' '!!a/fff'
+chmod u+r .
+
+exit $((failures != 0))
More information about the svn-src-user
mailing list