From owner-p4-projects@FreeBSD.ORG Sun Jul 29 03:26:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 530EB16A41A; Sun, 29 Jul 2007 03:26:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2704D16A417 for ; Sun, 29 Jul 2007 03:26:37 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 07B7F13C45D for ; Sun, 29 Jul 2007 03:26:37 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6T3QaIK039283 for ; Sun, 29 Jul 2007 03:26:36 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6T3QaLJ039280 for perforce@freebsd.org; Sun, 29 Jul 2007 03:26:36 GMT (envelope-from andrew@freebsd.org) Date: Sun, 29 Jul 2007 03:26:36 GMT Message-Id: <200707290326.l6T3QaLJ039280@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 124292 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 03:26:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124292 Change 124292 by andrew@andrew_hermies on 2007/07/29 03:25:55 Attach the install/remove buttons up to a call to install_patches/rollback_patches Affected files ... .. //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#7 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#4 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#8 edit Differences ... ==== //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#7 (text+ko) ==== @@ -27,6 +27,7 @@ import socket import facund.network import threading +import types class Directory: def __init__(self, name, computer): @@ -88,6 +89,41 @@ else: print 'TODO: Handle this command (%d)' % (command,); + def buildInstallArg(self, location, patches): + arg = facund.Array() + arg.append(facund.String(location)) + + if isinstance(patches, types.StringTypes): + arg.append(facund.String(patches)) + elif isinstance(patches, types.ListType): + items = facund.Array() + for patch in patches: + items.append(facund.String(patch)) + arg.append(items) + return arg + + def installUpdates(self, isInstall, installTypes): + args = facund.Array() + if isinstance(installTypes, types.TupleType): + args.append(self.buildInstallArg(installTypes[0], + installTypes[1])) + elif isinstance(installTypes, types.ListType): + for item in installTypes: + args.append(self.buildInstallArg(item[0], + item[1])) + + if isInstall: + callType = "install_patches" + else: + callType = "rollback_patches" + call = facund.Call(callType, args) + self.__connection.doCall(call) + # Wait for the response + call.acquireLock() + call.releaseLock() + print call.getResponse() + + def getUpdateList(self, dir = None): if dir is None: for dir in self.__dirs: ==== //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#4 (text+ko) ==== @@ -75,3 +75,11 @@ def getCurrentComputer(self): return self.__currentComputer + + def installUpdates(self, updates): + computer = self.getCurrentComputer() + computer.installUpdates(True, updates) + + def removeUpdates(self, updates): + computer = self.getCurrentComputer() + computer.installUpdates(False, updates) ==== //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#8 (text+ko) ==== @@ -42,6 +42,11 @@ def setController(self, controller): self.__controller = controller + installButton = self.__xml.get_widget('installButton') + installButton.connect('clicked', self.onInstallClick) + removeButton = self.__xml.get_widget('deinstallButton') + removeButton.connect('clicked', self.onRemoveClick) + def setUpdateViewModel(self, model): '''Sets the model to use to for the computer tree''' self.__updateViewModel = model @@ -85,7 +90,7 @@ def onConnectClick(self, widget): '''Signal handler for the connect button''' - treeView = self.__xml.get_widget('computerView') + #treeView = self.__xml.get_widget('computerView') computer = self.__controller.getCurrentComputer() computer.connect() self.setConnected(computer.getConnectionStatus()) @@ -95,7 +100,7 @@ def onDisconnectClick(self, widget): '''Signal handler for the connect button''' - treeView = self.__xml.get_widget('computerView') + #treeView = self.__xml.get_widget('computerView') computer = self.__controller.getCurrentComputer() computer.disconnect() self.setConnected(computer.getConnectionStatus()) @@ -104,6 +109,12 @@ # Disable the install/remove buttons self.setInstallable(False, False) + def onInstallClick(self, widget): + self.__controller.installUpdates(('base', 'all')) + + def onRemoveClick(self, widget): + self.__controller.installUpdates(('base', 'all')) + def onSelectComputer(self, widget): '''Signal handler for when the selected item is changed''' cursor = widget.get_cursor() From owner-p4-projects@FreeBSD.ORG Sun Jul 29 05:35:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 527ED16A420; Sun, 29 Jul 2007 05:35:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EDBF16A41B for ; Sun, 29 Jul 2007 05:35:23 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0001F13C458 for ; Sun, 29 Jul 2007 05:35:22 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6T5ZMSJ059151 for ; Sun, 29 Jul 2007 05:35:22 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6T5ZMvp059148 for perforce@freebsd.org; Sun, 29 Jul 2007 05:35:22 GMT (envelope-from andrew@freebsd.org) Date: Sun, 29 Jul 2007 05:35:22 GMT Message-Id: <200707290535.l6T5ZMvp059148@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 124296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 05:35:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=124296 Change 124296 by andrew@andrew_hermies on 2007/07/29 05:35:18 Start processing a install_patches call Add an assert to facund_has_update to check the value passed is valid Affected files ... .. //depot/projects/soc2007/andrew-update/backend/facund-be.c#18 edit Differences ... ==== //depot/projects/soc2007/andrew-update/backend/facund-be.c#18 (text+ko) ==== @@ -107,6 +107,7 @@ struct stat sb; char install_link[PATH_MAX], sha_base[PATH_MAX], sum[65]; + assert(pos < watched_db_count); snprintf(sha_base, PATH_MAX, "%s\n", watched_db[pos].db_base); SHA256_Data(sha_base, strlen(sha_base), sum); snprintf(install_link, PATH_MAX, "%s/%s-install", @@ -659,8 +660,24 @@ } static struct facund_response * -facund_call_install_patches(const char *id __unused, struct facund_object *obj __unused) +facund_call_install_patches(const char *id, struct facund_object *obj) { + const struct facund_object *cur; + unsigned int pos; + + if (obj == NULL) { + /* TODO: Don't use magic numbers */ + return facund_response_new(id, 1, "No data sent", NULL); + } + + if (facund_object_get_type(obj) != FACUND_ARRAY) { + return facund_response_new(id, 1, "Bad data sent", NULL); + } + + for (pos = 0; (cur = facund_object_get_array_item(obj, pos)) != NULL; + pos++) { + facund_object_print(__DECONST(struct facund_object *, cur)); + } printf("STUB: %s\n", __func__); return NULL; } From owner-p4-projects@FreeBSD.ORG Sun Jul 29 06:26:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F13816A41A; Sun, 29 Jul 2007 06:26:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FA6D16A418 for ; Sun, 29 Jul 2007 06:26:28 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 017FE13C458 for ; Sun, 29 Jul 2007 06:26:28 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6T6QRUg063330 for ; Sun, 29 Jul 2007 06:26:27 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6T6QRWB063327 for perforce@freebsd.org; Sun, 29 Jul 2007 06:26:27 GMT (envelope-from peter@freebsd.org) Date: Sun, 29 Jul 2007 06:26:27 GMT Message-Id: <200707290626.l6T6QRWB063327@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124298 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 06:26:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124298 Change 124298 by peter@peter_overcee on 2007/07/29 06:26:18 Cleanup various bits. * Since we're giant locked, and will never do spl's again, toss the stupid in_intr detection. It'll be mutex locked at some point if ttys ever allow it. * likewise, we don't need to detect the timeout is running. Giant means it can't happen. * assert &Giant to make sure this is the case. * clean up some stuff that looks silly. * remove some unused relics. * turn off actual polling. Affected files ... .. //depot/projects/hammer/sys/dev/si/si.c#22 edit .. //depot/projects/hammer/sys/dev/si/si.h#6 edit Differences ... ==== //depot/projects/hammer/sys/dev/si/si.c#22 (text+ko) ==== @@ -83,7 +83,9 @@ */ #define POLL /* turn on poller to scan for lost interrupts */ +#if 0 #define REALPOLL /* on each poll, scan for work regardless */ +#endif #define POLLHZ (hz/10) /* 10 times per second */ #define SI_I_HIGH_WATER (TTYHOG - 2 * SI_BUFFERSIZE) #define INT_COUNT 25000 /* max of 125 ints per second */ @@ -166,7 +168,6 @@ { B115200, 11520, }, { -1, -1 }, }; -static volatile int in_intr = 0; /* Inside interrupt handler? */ #ifdef POLL static int si_pollrate; /* in addition to irq */ @@ -594,6 +595,7 @@ siopen(struct tty *tp, struct cdev *dev) { + mtx_assert(&Giant, MA_OWNED); #ifdef POLL /* * We've now got a device, so start the poller. @@ -611,6 +613,7 @@ { struct si_port *pp; + mtx_assert(&Giant, MA_OWNED); pp = tp->t_sc; (void) si_command(pp, FCLOSE, SI_NOWAIT); } @@ -620,6 +623,7 @@ { struct si_port *pp; + mtx_assert(&Giant, MA_OWNED); pp = tp->t_sc; if (sig) si_command(pp, SBREAK, SI_WAIT); @@ -645,6 +649,7 @@ DPRINT((0, DBG_ENTRY|DBG_IOCTL, "si_Sioctl(%s,%lx,%x,%x)\n", devtoname(dev), cmd, data, flag)); + mtx_assert(&Giant, MA_OWNED); #if 1 DPRINT((0, DBG_IOCTL, "TCSI_PORT=%x\n", TCSI_PORT)); @@ -786,6 +791,7 @@ BYTE val; DPRINT((pp, DBG_ENTRY|DBG_PARAM, "siparam(%x,%x)\n", tp, t)); + mtx_assert(&Giant, MA_OWNED); cflag = t->c_cflag; iflag = t->c_iflag; oflag = t->c_oflag; @@ -954,6 +960,7 @@ pp = tp->t_sc; DPRINT((pp, DBG_ENTRY|DBG_MODEM, "simodem(%x,%x)\n", sigon, sigoff)); + mtx_assert(&Giant, MA_OWNED); ccbp = pp->sp_ccb; /* Find channel address */ if (sigon == 0 && sigoff == 0) { x = ccbp->hi_ip; @@ -988,6 +995,7 @@ si_modem_state(struct si_port *pp, struct tty *tp, int hi_ip) { /* if a modem dev */ + mtx_assert(&Giant, MA_OWNED); if (hi_ip & IP_DCD) { if (!(pp->sp_last_hi_ip & IP_DCD)) { DPRINT((pp, DBG_INTR, "modem carr on t_line %d\n", @@ -1023,8 +1031,7 @@ DPRINT((0, DBG_POLL, "si_poll()\n")); oldspl = spltty(); - if (in_intr) - goto out; + mtx_assert(&Giant, MA_OWNED); lost = 0; for (i = 0; i < si_numunits; i++) { sc = devclass_get_softc(si_devclass, i); @@ -1061,7 +1068,6 @@ } if (lost || si_realpoll) si_intr(NULL); /* call intr with fake vector */ -out: splx(oldspl); timeout(si_poll, (caddr_t)0L, si_pollrate); @@ -1090,11 +1096,9 @@ BYTE c; sc = arg; + mtx_assert(&Giant, MA_OWNED); DPRINT((0, arg == NULL ? DBG_POLL:DBG_INTR, "si_intr\n")); - if (in_intr) - return; - in_intr = 1; /* * When we get an int we poll all the channels and do ALL pending @@ -1184,9 +1188,8 @@ /* * Continue on if it's closed */ - if (ccbp->hi_stat == IDLE_CLOSE) { + if (ccbp->hi_stat == IDLE_CLOSE) continue; - } /* * Do modem state change if not a local device @@ -1206,9 +1209,8 @@ * Do input break processing */ if (ccbp->hi_state & ST_BREAK) { - if (isopen) { + if (isopen) ttyld_rint(tp, TTY_BI); - } ccbp->hi_state &= ~ST_BREAK; /* A Bit iffy this */ DPRINT((pp, DBG_INTR, "si_intr break\n")); } @@ -1222,7 +1224,7 @@ * if the user cannot get an interrupt signal through. */ - more_rx: /* XXX Sorry. the nesting was driving me bats! :-( */ + more_rx: if (!isopen) { ccbp->hi_rxopos = ccbp->hi_rxipos; @@ -1234,9 +1236,8 @@ * the incoming buffers and let the auto flow control * assert.. */ - if (tp->t_state & TS_TBLOCK) { + if (tp->t_state & TS_TBLOCK) goto end_rx; - } /* * Process read characters if not skipped above @@ -1244,9 +1245,8 @@ op = ccbp->hi_rxopos; ip = ccbp->hi_rxipos; c = ip - op; - if (c == 0) { + if (c == 0) goto end_rx; - } n = c & 0xff; if (n > 250) @@ -1336,15 +1336,13 @@ */ for(x = 0; x < n; x++) { i = si_rxbuf[x]; - if (ttyld_rint(tp, i) - == -1) { + if (ttyld_rint(tp, i) == -1) pp->sp_delta_overflows++; - } } } goto more_rx; /* try for more until RXbuf is empty */ - end_rx: /* XXX: Again, sorry about the gotos.. :-) */ + end_rx: /* * Do TX stuff @@ -1354,7 +1352,6 @@ } /* end of for (all ports on this controller) */ } /* end of for (all controllers) */ - in_intr = 0; DPRINT((0, arg == NULL ? DBG_POLL:DBG_INTR, "end si_intr\n")); } @@ -1376,9 +1373,10 @@ struct clist *qp; BYTE ipos; int nchar; - int oldspl, count, n, amount, buffer_full; + int oldspl, count, n, amount; oldspl = spltty(); + mtx_assert(&Giant, MA_OWNED); qp = &tp->t_outq; pp = tp->t_sc; @@ -1390,17 +1388,14 @@ if (tp->t_state & (TS_TIMEOUT|TS_TTSTOP)) goto out; - buffer_full = 0; ccbp = pp->sp_ccb; count = (int)ccbp->hi_txipos - (int)ccbp->hi_txopos; DPRINT((pp, DBG_START, "count %d\n", (BYTE)count)); while ((nchar = qp->c_cc) > 0) { - if ((BYTE)count >= 255) { - buffer_full++; + if ((BYTE)count >= 255) break; - } amount = min(nchar, (255 - (BYTE)count)); ipos = (unsigned int)ccbp->hi_txipos; n = q_to_b(&tp->t_outq, si_txbuf, amount); @@ -1417,11 +1412,10 @@ count = (int)ccbp->hi_txipos - (int)ccbp->hi_txopos; } - if (count != 0 && nchar == 0) { + if (count != 0 && nchar == 0) tp->t_state |= TS_BUSY; - } else { + else tp->t_state &= ~TS_BUSY; - } /* wakeup time? */ ttwwakeup(tp); @@ -1429,8 +1423,7 @@ DPRINT((pp, DBG_START, "count %d, nchar %d, tp->t_state 0x%x\n", (BYTE)count, nchar, tp->t_state)); - if (tp->t_state & TS_BUSY) - { + if (tp->t_state & TS_BUSY) { int time; time = ttspeedtab(tp->t_ospeed, chartimes); @@ -1446,12 +1439,10 @@ time = hz/10; } - if ((pp->sp_state & (SS_LSTART|SS_INLSTART)) == SS_LSTART) { + if ((pp->sp_state & SS_LSTART) != 0) untimeout(si_lstart, (caddr_t)pp, pp->lstart_ch); - } else { - pp->sp_state |= SS_LSTART; - } DPRINT((pp, DBG_START, "arming lstart, time=%d\n", time)); + pp->sp_state |= SS_LSTART; pp->lstart_ch = timeout(si_lstart, (caddr_t)pp, time); } @@ -1477,16 +1468,14 @@ pp, pp->sp_state)); oldspl = spltty(); + mtx_assert(&Giant, MA_OWNED); + pp->sp_state &= ~SS_LSTART; tp = pp->sp_tty; - if ((tp->t_state & TS_ISOPEN) == 0 || - (pp->sp_state & SS_LSTART) == 0) { + if ((tp->t_state & TS_ISOPEN) == 0) { splx(oldspl); return; } - pp->sp_state &= ~SS_LSTART; - pp->sp_state |= SS_INLSTART; - /* deal with the process exit case */ ttwwakeup(tp); @@ -1494,7 +1483,6 @@ /* nudge protocols - eg: ppp */ ttyld_start(tp); - pp->sp_state &= ~SS_INLSTART; splx(oldspl); } @@ -1507,6 +1495,7 @@ volatile struct si_channel *ccbp; struct si_port *pp; + mtx_assert(&Giant, MA_OWNED); pp = tp->t_sc; ccbp = pp->sp_ccb; @@ -1548,6 +1537,7 @@ pp, cmd, waitflag, ccbp->hi_stat)); oldspl = spltty(); /* Keep others out */ + mtx_assert(&Giant, MA_OWNED); /* wait until it's finished what it was doing.. */ /* XXX: sits in IDLE_BREAK until something disturbs it or break @@ -1556,13 +1546,7 @@ x != IDLE_CLOSE && x != IDLE_BREAK && x != cmd) { - if (in_intr) { /* Prevent sleep in intr */ - DPRINT((pp, DBG_PARAM, - "cmd intr collision - completing %d\trequested %d\n", - x, cmd)); - splx(oldspl); - return; - } else if (ttysleep(pp->sp_tty, (caddr_t)&pp->sp_state, TTIPRI|PCATCH, + if (ttysleep(pp->sp_tty, (caddr_t)&pp->sp_state, TTIPRI|PCATCH, "sicmd1", 1)) { splx(oldspl); return; @@ -1588,13 +1572,7 @@ ccbp->hi_stat = cmd; /* Post it */ if (waitflag) { - if (in_intr) { /* If in interrupt handler */ - DPRINT((pp, DBG_PARAM, - "attempt to sleep in si_intr - cmd req %d\n", - cmd)); - splx(oldspl); - return; - } else while(ccbp->hi_stat != IDLE_OPEN && + while(ccbp->hi_stat != IDLE_OPEN && ccbp->hi_stat != IDLE_BREAK) { if (ttysleep(pp->sp_tty, (caddr_t)&pp->sp_state, TTIPRI|PCATCH, "sicmd2", 0)) ==== //depot/projects/hammer/sys/dev/si/si.h#6 (text+ko) ==== @@ -302,7 +302,7 @@ /* 0x0040 -- */ /* 0x0080 -- */ #define SS_LSTART 0x0100 /* lstart timeout pending */ -#define SS_INLSTART 0x0200 /* running an lstart induced t_oproc */ +/* 0x0200 -- */ /* 0x0400 -- */ /* 0x0800 -- */ From owner-p4-projects@FreeBSD.ORG Sun Jul 29 06:38:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F22816A418; Sun, 29 Jul 2007 06:38:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCDC416A46B for ; Sun, 29 Jul 2007 06:38:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CFFB613C45E for ; Sun, 29 Jul 2007 06:38:43 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6T6chaU063967 for ; Sun, 29 Jul 2007 06:38:43 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6T6chwU063964 for perforce@freebsd.org; Sun, 29 Jul 2007 06:38:43 GMT (envelope-from peter@freebsd.org) Date: Sun, 29 Jul 2007 06:38:43 GMT Message-Id: <200707290638.l6T6chwU063964@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124299 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 06:38:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=124299 Change 124299 by peter@peter_overcee on 2007/07/29 06:38:33 Increase timeout from 1/1000th of a second to 1/4 second. 1 tick was almost fine at 100hz, but is way too short at 1000hz. 1/4 second is far more reasonable since it is a catastrophic failure of the card (firmware crashed or something). If the timeout fires, it actually causes the driver to break. So an accidental misfire is a Bad Thing(TM). Affected files ... .. //depot/projects/hammer/sys/dev/si/si.c#23 edit Differences ... ==== //depot/projects/hammer/sys/dev/si/si.c#23 (text+ko) ==== @@ -1547,7 +1547,9 @@ x != IDLE_BREAK && x != cmd) { if (ttysleep(pp->sp_tty, (caddr_t)&pp->sp_state, TTIPRI|PCATCH, - "sicmd1", 1)) { + "sicmd1", hz/4)) { + /* This is very very bad. The card has crashed. */ + /* XXX the driver breaks at this point */ splx(oldspl); return; } From owner-p4-projects@FreeBSD.ORG Sun Jul 29 08:39:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34BC216A419; Sun, 29 Jul 2007 08:39:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BBC4116A417 for ; Sun, 29 Jul 2007 08:39:12 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AEE3F13C465 for ; Sun, 29 Jul 2007 08:39:12 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6T8dC71074489 for ; Sun, 29 Jul 2007 08:39:12 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6T8dC2L074486 for perforce@freebsd.org; Sun, 29 Jul 2007 08:39:12 GMT (envelope-from peter@freebsd.org) Date: Sun, 29 Jul 2007 08:39:12 GMT Message-Id: <200707290839.l6T8dC2L074486@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124300 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 08:39:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124300 Change 124300 by peter@peter_overcee on 2007/07/29 08:38:16 Add a whole bunch of magic field decoding. Add a dumper/decoder for the si_port structure. Turn on minimal WARNS. Not pretty, but functional. Affected files ... .. //depot/projects/hammer/usr.sbin/sicontrol/Makefile#2 edit .. //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#5 edit Differences ... ==== //depot/projects/hammer/usr.sbin/sicontrol/Makefile#2 (text+ko) ==== @@ -4,5 +4,6 @@ MAN= sicontrol.8 CFLAGS+= -I${.CURDIR}/../../sys +WARNS?= 2 .include ==== //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#5 (text+ko) ==== @@ -76,6 +76,7 @@ static int alldev = 0; void ccb_stat(int, char **); +void port_stat(int, char **); void debug(int, char **); void dostat(void); int getnum(char *); @@ -101,6 +102,7 @@ {"nport", nport}, {"mstate", mstate}, {"ccbstat", ccb_stat}, + {"portstat", port_stat}, {"ttystat", tty_stat}, {0, 0} }; @@ -118,9 +120,10 @@ #define U_NPORT 3 #define U_MSTATE 4 #define U_STAT_CCB 5 -#define U_STAT_TTY 6 +#define U_STAT_PORT 6 +#define U_STAT_TTY 7 -#define U_MAX 7 +#define U_MAX 8 #define U_ALL -1 char *usage[] = { "debug [[add|del|set debug_levels] | [off]]\n", @@ -129,6 +132,7 @@ "nport\n", "mstate\n", "ccbstat\n", + "portstat\n", "ttystat\n", 0 }; @@ -401,6 +405,169 @@ printf("SLXOS: total of %d ports\n", ports); } +const char *s_stat(int stat) +{ + switch (stat) { + case IDLE_OPEN: return "IDLE_OPEN"; + case LOPEN: return "LOPEN"; + case MOPEN: return "MOPEN"; + case MPEND: return "MPEND"; + case CONFIG: return "CONFIG"; + case CLOSE: return "CLOSE"; + case SBREAK: return "SBREAK"; + case EBREAK: return "EBREAK"; + case IDLE_CLOSE:return "IDLE_CLOSE"; + case IDLE_BREAK:return "IDLE_BREAK"; + case FCLOSE: return "FCLOSE"; + case RESUME: return "RESUME"; + case WFLUSH: return "WFLUSH"; + case RFLUSH: return "RFLUSH"; + default: return "??"; + } +} +const char *s_mr1(int mr1) +{ + static char msg[200]; + + sprintf(msg, "%dbit, %s, parity:[", 5 + (mr1 & MR1_8_BITS), mr1 & MR1_ODD ? "odd" : "even"); + if (mr1 & MR1_WITH) + strcat(msg, "with;"); + if (mr1 & MR1_FORCE) + strcat(msg, "force;"); + if (mr1 & MR1_NONE) + strcat(msg, "none;"); + if (mr1 & MR1_SPECIAL) + strcat(msg, "special;"); + strcpy(msg + strlen(msg) - 1, "]"); + sprintf(msg + strlen(msg), ", err: %s", mr1 & MR1_BLOCK ? "block" : "none"); + sprintf(msg + strlen(msg), ", cts: %s", mr1 & MR1_CTSCONT ? "auto" : "none"); + return (msg); +} +const char *s_mr2(int mr2) +{ + static char msg[200]; + + switch (mr2 & 0xf) { + case MR2_1_STOP: strcpy(msg, "1stop"); break; + case MR2_2_STOP: strcpy(msg, "2stop"); break; + default: sprintf(msg, "??stop (0x%x)", mr2 & 0xf); break; + } + if (mr2 & MR2_RTSCONT) strcat(msg, ", rtscont"); + if (mr2 & MR2_CTSCONT) strcat(msg, ", ctscont"); + switch (mr2 & 0xc0) { + case MR2_NORMAL: strcat(msg, ", mode:normal"); break; + case MR2_AUTO: strcat(msg, ", mode:auto"); break; + case MR2_LOCAL: strcat(msg, ", mode:local"); break; + case MR2_REMOTE: strcat(msg, ", mode:remote"); break; + } + return (msg); +} +const char *s_clk(int clk) +{ + switch (clk & 0xf) { + case 0x0: return "75"; + case 0x1: return "110/115200"; + case 0x2: return "38400"; + case 0x3: return "150"; + case 0x4: return "300"; + case 0x5: return "600"; + case 0x6: return "1200"; + case 0x7: return "2000"; + case 0x8: return "2400"; + case 0x9: return "4800"; + case 0xa: return "7200"; + case 0xb: return "9600"; + case 0xc: return "19200"; + case 0xd: return "57600"; + case 0xe: return "?0xe"; + case 0xf: return "?0xf"; + } + return ("gcc sucks"); +} +const char *s_op(int op) +{ + static char msg[200]; + + sprintf(msg, "cts:%s", (op & OP_CTS) ? "on" : "off"); + sprintf(msg + strlen(msg), ", dsr:%s", (op & OP_DSR) ? "on" : "off"); + return (msg); +} + +const char *s_ip(int ip) +{ + static char msg[200]; + + sprintf(msg, "rts:%s", (ip & IP_RTS) ? "on" : "off"); + sprintf(msg + strlen(msg), ", dcd:%s", (ip & IP_DCD) ? "on" : "off"); + sprintf(msg + strlen(msg), ", dtr:%s", (ip & IP_DTR) ? "on" : "off"); + sprintf(msg + strlen(msg), ", ri:%s", (ip & IP_RI) ? "on" : "off"); + return (msg); +} + +const char *s_state(int state) +{ + return (state & ST_BREAK ? "break:on" : "break:off"); +} + +const char *s_prtcl(int pr) +{ + static char msg[200]; + + sprintf(msg, "tx xon any:%s", (pr & SP_TANY) ? "on" : "off"); + sprintf(msg + strlen(msg), ", tx xon/xoff:%s", (pr & SP_TXEN) ? "on" : "off"); + sprintf(msg + strlen(msg), ", cooking:%s", (pr & SP_CEN) ? "on" : "off"); + sprintf(msg + strlen(msg), ", rx xon/xoff:%s", (pr & SP_RXEN) ? "on" : "off"); + sprintf(msg + strlen(msg), ", dcd/dsr check:%s", (pr & SP_DCEN) ? "on" : "off"); + sprintf(msg + strlen(msg), ", parity check:%s", (pr & SP_PAEN) ? "on" : "off"); + return (msg); +} +const char *s_break(int br) +{ + static char msg[200]; + + sprintf(msg, "ignore rx brk:%s", (br & BR_IGN) ? "on" : "off"); + sprintf(msg + strlen(msg), ", brk interrupt:%s", (br & BR_INT) ? "on" : "off"); + sprintf(msg + strlen(msg), ", parmrking:%s", (br & BR_PARMRK) ? "on" : "off"); + sprintf(msg + strlen(msg), ", parign:%s", (br & BR_PARIGN) ? "on" : "off"); + return (msg); +} + +const char * +s_xstat(int xs) +{ + static char msg[200]; + + msg[0] = 0; + /* MTA definitions, not TA */ + if (xs & 0x01) strcat(msg, "TION "); /* Tx interrupts on (MTA only) */ + if (xs & 0x02) strcat(msg, "RTSEN "); /* RTS FLOW enabled (MTA only) */ + if (xs & 0x04) strcat(msg, "RTSLOW "); /* XOFF received (TA only) */ + if (xs & 0x08) strcat(msg, "RXEN "); /* Rx XON/XOFF enabled */ + if (xs & 0x10) strcat(msg, "ANYXO "); /* XOFF pending/sent or RTS dropped */ + if (xs & 0x20) strcat(msg, "RXSE "); /* Rx XOFF sent */ + if (xs & 0x40) strcat(msg, "NPEND "); /* Rx XON pending or XOFF pending */ + if (xs & 0x40) strcat(msg, "FPEND "); /* Rx XOFF pending */ + return (msg); +} + +const char * +s_cstat(int cs) +{ + static char msg[200]; + + msg[0] = 0; + /* MTA definitions, not TA */ + if (cs & 0x01) strcat(msg, "TEMR "); /* Tx empty requested (MTA only) */ + if (cs & 0x02) strcat(msg, "TEMA "); /* Tx empty acked (MTA only) */ + if (cs & 0x04) strcat(msg, "EN "); /* Cooking enabled (on MTA means port is also || */ + if (cs & 0x08) strcat(msg, "HIGH "); /* Buffer previously hit high water */ + if (cs & 0x10) strcat(msg, "CTSEN "); /* CTS automatic flow-control enabled */ + if (cs & 0x20) strcat(msg, "DCDEN "); /* DCD/DTR checking enabled */ + if (cs & 0x40) strcat(msg, "BREAK "); /* Break detected */ + if (cs & 0x80) strcat(msg, "RTSEN "); /* RTS automatic flow control enabled (MTA only) */ + return (msg); +} + void ccb_stat(int ac, char **av) { @@ -419,31 +586,31 @@ /* WORD module - address of module struct */ printf("\tuart_type 0x%x\n", CCB.type); /* BYTE type - Uart type */ /* BYTE fill - */ - printf("\tx_status 0x%x\n", CCB.x_status); /* BYTE x_status - XON / XOFF status */ - printf("\tc_status 0x%x\n", CCB.c_status); /* BYTE c_status - cooking status */ + printf("\tx_status 0x%x %s\n", CCB.x_status, s_xstat(CCB.x_status)); /* BYTE x_status - XON / XOFF status */ + printf("\tc_status 0x%x %s\n", CCB.c_status, s_cstat(CCB.c_status)); /* BYTE c_status - cooking status */ printf("\thi_rxipos 0x%x\n", CCB.hi_rxipos); /* BYTE hi_rxipos - stuff into rx buff */ printf("\thi_rxopos 0x%x\n", CCB.hi_rxopos); /* BYTE hi_rxopos - stuff out of rx buffer */ printf("\thi_txopos 0x%x\n", CCB.hi_txopos); /* BYTE hi_txopos - Stuff into tx ptr */ printf("\thi_txipos 0x%x\n", CCB.hi_txipos); /* BYTE hi_txipos - ditto out */ - printf("\thi_stat 0x%x\n", CCB.hi_stat); /* BYTE hi_stat - Command register */ + printf("\thi_stat 0x%x %s\n", CCB.hi_stat, s_stat(CCB.hi_stat));/* BYTE hi_stat - Command register */ printf("\tdsr_bit 0x%x\n", CCB.dsr_bit); /* BYTE dsr_bit - Magic bit for DSR */ printf("\ttxon 0x%x\n", CCB.txon); /* BYTE txon - TX XON char */ printf("\ttxoff 0x%x\n", CCB.txoff); /* BYTE txoff - ditto XOFF */ printf("\trxon 0x%x\n", CCB.rxon); /* BYTE rxon - RX XON char */ printf("\trxoff 0x%x\n", CCB.rxoff); /* BYTE rxoff - ditto XOFF */ - printf("\thi_mr1 0x%x\n", CCB.hi_mr1); /* BYTE hi_mr1 - mode 1 image */ - printf("\thi_mr2 0x%x\n", CCB.hi_mr2); /* BYTE hi_mr2 - mode 2 image */ - printf("\thi_csr 0x%x\n", CCB.hi_csr); /* BYTE hi_csr - clock register */ - printf("\thi_op 0x%x\n", CCB.hi_op); /* BYTE hi_op - Op control */ - printf("\thi_ip 0x%x\n", CCB.hi_ip); /* BYTE hi_ip - Input pins */ - printf("\thi_state 0x%x\n", CCB.hi_state); /* BYTE hi_state - status */ - printf("\thi_prtcl 0x%x\n", CCB.hi_prtcl); /* BYTE hi_prtcl - Protocol */ + printf("\thi_mr1 0x%x %s\n", CCB.hi_mr1, s_mr1(CCB.hi_mr1)); /* BYTE hi_mr1 - mode 1 image */ + printf("\thi_mr2 0x%x %s\n", CCB.hi_mr2, s_mr2(CCB.hi_mr2)); /* BYTE hi_mr2 - mode 2 image */ + printf("\thi_csr 0x%x in:%s out:%s\n", CCB.hi_csr, s_clk(CCB.hi_csr >> 4), s_clk(CCB.hi_csr)); /* BYTE hi_csr - clock register */ + printf("\thi_op 0x%x %s\n", CCB.hi_op, s_op(CCB.hi_op)); /* BYTE hi_op - Op control */ + printf("\thi_ip 0x%x %s\n", CCB.hi_ip, s_ip(CCB.hi_ip)); /* BYTE hi_ip - Input pins */ + printf("\thi_state 0x%x %s\n", CCB.hi_state, s_state(CCB.hi_state)); /* BYTE hi_state - status */ + printf("\thi_prtcl 0x%x %s\n", CCB.hi_prtcl, s_prtcl(CCB.hi_prtcl)); /* BYTE hi_prtcl - Protocol */ printf("\thi_txon 0x%x\n", CCB.hi_txon); /* BYTE hi_txon - host copy tx xon stuff */ printf("\thi_txoff 0x%x\n", CCB.hi_txoff); /* BYTE hi_txoff - */ printf("\thi_rxon 0x%x\n", CCB.hi_rxon); /* BYTE hi_rxon - */ printf("\thi_rxoff 0x%x\n", CCB.hi_rxoff); /* BYTE hi_rxoff - */ printf("\tclose_prev 0x%x\n", CCB.close_prev); /* BYTE close_prev - Was channel previously closed */ - printf("\thi_break 0x%x\n", CCB.hi_break); /* BYTE hi_break - host copy break process */ + printf("\thi_break 0x%x %s\n", CCB.hi_break, s_break(CCB.hi_break)); /* BYTE hi_break - host copy break process */ printf("\tbreak_state 0x%x\n", CCB.break_state); /* BYTE break_state - local copy ditto */ printf("\thi_mask 0x%x\n", CCB.hi_mask); /* BYTE hi_mask - Mask for CS7 etc. */ printf("\tmask_z280 0x%x\n", CCB.mask_z280); /* BYTE mask_z280 - Z280's copy */ @@ -453,7 +620,65 @@ /* BYTE res1[0xA0] - */ } +const char *sp_state(int st) +{ + + if (st & SS_LSTART) + return("lstart "); + else + return(""); +} + void +port_stat(int ac, char **av) +{ + struct si_pstat sip; +#define PRT sip.tc_siport + + if (ac != 0) + prusage(U_STAT_PORT, 1); + sip.tc_dev = tc.tc_dev; + if (ioctl(ctlfd, TCSI_PORT, &sip) < 0) + err(1, "TCSI_PORT on %s", Devname); + printf("%s: ", Devname); + + printf("\tsp_pend 0x%x %s\n", PRT.sp_pend, s_stat(PRT.sp_pend)); + printf("\tsp_last_hi_ip 0x%x %s\n", PRT.sp_last_hi_ip, s_ip(PRT.sp_last_hi_ip)); + printf("\tsp_state 0x%x %s\n", PRT.sp_state, sp_state(PRT.sp_state)); + printf("\tsp_delta_overflows 0x%d\n", PRT.sp_delta_overflows); +} + +const char *pt_state(int ts) +{ + static char buf[200]; + + buf[0] = 0; + if (ts & TS_SO_OLOWAT) strcat(buf, "TS_SO_OLOWAT "); + if (ts & TS_ASYNC) strcat(buf, "TS_ASYNC "); + if (ts & TS_BUSY) strcat(buf, "TS_BUSY "); + if (ts & TS_CARR_ON) strcat(buf, "TS_CARR_ON "); + if (ts & TS_FLUSH) strcat(buf, "TS_FLUSH "); + if (ts & TS_ISOPEN) strcat(buf, "TS_ISOPEN "); + if (ts & TS_TBLOCK) strcat(buf, "TS_TBLOCK "); + if (ts & TS_TIMEOUT) strcat(buf, "TS_TIMEOUT "); + if (ts & TS_TTSTOP) strcat(buf, "TS_TTSTOP "); + if (ts & TS_XCLUDE) strcat(buf, "TS_XCLUDE "); + if (ts & TS_BKSL) strcat(buf, "TS_BKSL "); + if (ts & TS_CNTTB) strcat(buf, "TS_CNTTB "); + if (ts & TS_ERASE) strcat(buf, "TS_ERASE "); + if (ts & TS_TYPEN) strcat(buf, "TS_TYPEN "); + if (ts & TS_CAN_BYPASS_L_RINT) strcat(buf, "TS_CAN_BYPASS_L_RINT "); + if (ts & TS_CONNECTED) strcat(buf, "TS_CONNECTED "); + if (ts & TS_SNOOP) strcat(buf, "TS_SNOOP "); + if (ts & TS_SO_OCOMPLETE) strcat(buf, "TS_OCOMPLETE "); + if (ts & TS_ZOMBIE) strcat(buf, "TS_ZOMBIE "); + if (ts & TS_CAR_OFLOW) strcat(buf, "TS_CAR_OFLOW "); + if (ts & TS_DTR_WAIT) strcat(buf, "TS_DTR_WAIT "); + if (ts & TS_GONE) strcat(buf, "TS_GONE "); + if (ts & TS_CALLOUT) strcat(buf, "TS_CALLOUT "); + return (buf); +} +void tty_stat(int ac, char **av) { struct si_pstat sip; @@ -466,21 +691,20 @@ err(1, "TCSI_TTY on %s", Devname); printf("%s: ", Devname); - printf("\tt_outq.c_cc %d.\n", TTY.t_outq.c_cc); /* struct clist t_outq */ - printf("\tt_dev 0x%x\n", TTY.t_dev); /* dev_t t_dev */ + printf("\tt_outq.c_cc %d\n", TTY.t_outq.c_cc); /* struct clist t_outq */ printf("\tt_flags 0x%x\n", TTY.t_flags); /* int t_flags */ - printf("\tt_state 0x%x\n", TTY.t_state); /* int t_state */ - printf("\tt_ihiwat %d.\n", TTY.t_ihiwat); /* int t_ihiwat */ - printf("\tt_ilowat %d.\n", TTY.t_ilowat); /* int t_ilowat */ - printf("\tt_ohiwat %d.\n", TTY.t_ohiwat); /* int t_ohiwat */ - printf("\tt_olowat %d.\n", TTY.t_olowat); /* int t_olowat */ + printf("\tt_state 0x%x %s\n", TTY.t_state, pt_state(TTY.t_state)); /* int t_state */ + printf("\tt_ihiwat %d\n", TTY.t_ihiwat); /* int t_ihiwat */ + printf("\tt_ilowat %d\n", TTY.t_ilowat); /* int t_ilowat */ + printf("\tt_ohiwat %d\n", TTY.t_ohiwat); /* int t_ohiwat */ + printf("\tt_olowat %d\n", TTY.t_olowat); /* int t_olowat */ printf("\tt_iflag 0x%x\n", TTY.t_iflag); /* t_iflag */ printf("\tt_oflag 0x%x\n", TTY.t_oflag); /* t_oflag */ printf("\tt_cflag 0x%x\n", TTY.t_cflag); /* t_cflag */ printf("\tt_lflag 0x%x\n", TTY.t_lflag); /* t_lflag */ printf("\tt_cc %p\n", (void *)TTY.t_cc); /* t_cc */ - printf("\tt_termios.c_ispeed 0x%x\n", TTY.t_termios.c_ispeed); /* t_termios.c_ispeed */ - printf("\tt_termios.c_ospeed 0x%x\n", TTY.t_termios.c_ospeed); /* t_termios.c_ospeed */ + printf("\tt_termios.c_ispeed %d\n", TTY.t_termios.c_ispeed); /* t_termios.c_ispeed */ + printf("\tt_termios.c_ospeed %d\n", TTY.t_termios.c_ospeed); /* t_termios.c_ospeed */ } int From owner-p4-projects@FreeBSD.ORG Sun Jul 29 10:57:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0D81616A478; Sun, 29 Jul 2007 10:57:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4F4716A418 for ; Sun, 29 Jul 2007 10:57:06 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94CA913C49D for ; Sun, 29 Jul 2007 10:57:06 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TAv6TG095625 for ; Sun, 29 Jul 2007 10:57:06 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TAv5HT095622 for perforce@freebsd.org; Sun, 29 Jul 2007 10:57:05 GMT (envelope-from peter@freebsd.org) Date: Sun, 29 Jul 2007 10:57:05 GMT Message-Id: <200707291057.l6TAv5HT095622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124306 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 10:57:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=124306 Change 124306 by peter@peter_overcee on 2007/07/29 10:56:36 IFC @124303 Affected files ... .. //depot/projects/hammer/lib/libelf/elf_begin.3#2 integrate .. //depot/projects/hammer/lib/libelf/elf_memory.3#2 integrate .. //depot/projects/hammer/sys/contrib/pf/net/if_pfsync.c#27 integrate .. //depot/projects/hammer/sys/dev/pci/pci.c#62 integrate .. //depot/projects/hammer/sys/net/bpf.c#49 integrate .. //depot/projects/hammer/sys/netgraph/netgraph.h#29 integrate .. //depot/projects/hammer/sys/netinet/ip_carp.c#25 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.c#41 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#84 integrate .. //depot/projects/hammer/sys/netinet/ip_mroute.c#39 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#77 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#69 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#46 integrate .. //depot/projects/hammer/sys/netinet/tcp_usrreq.c#47 integrate .. //depot/projects/hammer/sys/netinet/tcp_var.h#46 integrate .. //depot/projects/hammer/sys/sys/mutex.h#32 integrate .. //depot/projects/hammer/tools/tools/net80211/Makefile#3 integrate .. //depot/projects/hammer/tools/tools/net80211/README#2 integrate .. //depot/projects/hammer/tools/tools/net80211/wlandebug/Makefile#4 delete .. //depot/projects/hammer/tools/tools/net80211/wlandebug/wlandebug.8#2 delete .. //depot/projects/hammer/tools/tools/net80211/wlandebug/wlandebug.c#5 delete .. //depot/projects/hammer/usr.bin/truss/i386-fbsd.c#13 integrate .. //depot/projects/hammer/usr.bin/truss/main.c#14 integrate .. //depot/projects/hammer/usr.bin/truss/powerpc-fbsd.c#4 integrate .. //depot/projects/hammer/usr.bin/truss/syscalls.c#23 integrate .. //depot/projects/hammer/usr.sbin/Makefile#80 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi_user.c#9 integrate .. //depot/projects/hammer/usr.sbin/wlandebug/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/wlandebug/wlandebug.8#1 branch .. //depot/projects/hammer/usr.sbin/wlandebug/wlandebug.c#1 branch Differences ... ==== //depot/projects/hammer/lib/libelf/elf_begin.3#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libelf/elf_begin.3,v 1.2 2006/11/13 09:46:15 ru Exp $ +.\" $FreeBSD: src/lib/libelf/elf_begin.3,v 1.3 2007/07/28 15:35:03 jkoshy Exp $ .\" .Dd June 21, 2006 .Os @@ -273,7 +273,7 @@ .Sh SEE ALSO .Xr elf 3 , .Xr elf_end 3 , -.Xr elf_error 3 , +.Xr elf_errno 3 , .Xr elf_memory 3 , .Xr elf_next 3 , .Xr elf_rand 3 , ==== //depot/projects/hammer/lib/libelf/elf_memory.3#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libelf/elf_memory.3,v 1.2 2006/11/13 09:46:15 ru Exp $ +.\" $FreeBSD: src/lib/libelf/elf_memory.3,v 1.3 2007/07/28 15:35:03 jkoshy Exp $ .\" .Dd June 28, 2006 .Os @@ -117,6 +117,6 @@ .Xr elf 3 , .Xr elf_begin 3 , .Xr elf_end 3 , -.Xr elf_error 3 , +.Xr elf_errno 3 , .Xr elf_kind 3 , .Xr gelf 3 ==== //depot/projects/hammer/sys/contrib/pf/net/if_pfsync.c#27 (text+ko) ==== @@ -34,7 +34,7 @@ #include "opt_pf.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.35 2007/07/03 12:16:07 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.36 2007/07/28 07:31:29 rwatson Exp $"); #ifdef DEV_BPF #define NBPFILTER DEV_BPF @@ -282,12 +282,12 @@ ifp->if_hdrlen = PFSYNC_HDRLEN; pfsync_setmtu(pfsyncif, ETHERMTU); #ifdef __FreeBSD__ - callout_init(&pfsyncif->sc_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_tmo, CALLOUT_MPSAFE); #ifdef PFSYNC_TDB - callout_init(&pfsyncif->sc_tdb_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_tdb_tmo, CALLOUT_MPSAFE); #endif - callout_init(&pfsyncif->sc_bulk_tmo, NET_CALLOUT_MPSAFE); - callout_init(&pfsyncif->sc_bulkfail_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_bulk_tmo, CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_bulkfail_tmo, CALLOUT_MPSAFE); #else timeout_set(&pfsyncif->sc_tmo, pfsync_timeout, pfsyncif); timeout_set(&pfsyncif->sc_tdb_tmo, pfsync_tdb_timeout, pfsyncif); ==== //depot/projects/hammer/sys/dev/pci/pci.c#62 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.353 2007/05/16 23:42:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.354 2007/07/29 02:44:41 marcel Exp $"); #include "opt_bus.h" @@ -3265,6 +3265,14 @@ map |= (pci_addr_t)pci_read_config(child, *rid + 4, 4) << 32; if (pci_mapbase(testval) == 0) goto out; + + /* + * Restore the original value of the BAR. We may have reprogrammed + * the BAR of the low-level console device and when booting verbose, + * we need the console device addressable. + */ + pci_write_config(child, *rid, map, 4); + if (PCI_BAR_MEM(testval)) { if (type != SYS_RES_MEMORY) { if (bootverbose) ==== //depot/projects/hammer/sys/net/bpf.c#49 (text+ko) ==== @@ -33,7 +33,7 @@ * * @(#)bpf.c 8.4 (Berkeley) 1/9/95 * - * $FreeBSD: src/sys/net/bpf.c,v 1.178 2007/06/17 21:51:43 csjp Exp $ + * $FreeBSD: src/sys/net/bpf.c,v 1.179 2007/07/28 07:31:29 rwatson Exp $ */ #include "opt_bpf.h" @@ -405,7 +405,7 @@ mac_create_bpfdesc(td->td_ucred, d); #endif mtx_init(&d->bd_mtx, devtoname(dev), "bpf cdev lock", MTX_DEF); - callout_init(&d->bd_callout, NET_CALLOUT_MPSAFE); + callout_init(&d->bd_callout, CALLOUT_MPSAFE); knlist_init(&d->bd_sel.si_note, &d->bd_mtx, NULL, NULL, NULL); return (0); ==== //depot/projects/hammer/sys/netgraph/netgraph.h#29 (text+ko) ==== @@ -37,7 +37,7 @@ * * Author: Julian Elischer * - * $FreeBSD: src/sys/netgraph/netgraph.h,v 1.67 2006/10/17 10:59:39 glebius Exp $ + * $FreeBSD: src/sys/netgraph/netgraph.h,v 1.68 2007/07/28 07:31:30 rwatson Exp $ * $Whistle: netgraph.h,v 1.29 1999/11/01 07:56:13 julian Exp $ */ @@ -1097,7 +1097,7 @@ int ng_uncallout(struct callout *c, node_p node); int ng_callout(struct callout *c, node_p node, hook_p hook, int ticks, ng_item_fn *fn, void * arg1, int arg2); -#define ng_callout_init(c) callout_init(c, NET_CALLOUT_MPSAFE) +#define ng_callout_init(c) callout_init(c, CALLOUT_MPSAFE) /* Flags for netgraph functions. */ #define NG_NOFLAGS 0x00000000 /* no special options */ ==== //depot/projects/hammer/sys/netinet/ip_carp.c#25 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/netinet/ip_carp.c,v 1.50 2007/06/12 16:24:53 bms Exp $ */ +/* $FreeBSD: src/sys/netinet/ip_carp.c,v 1.51 2007/07/28 07:31:30 rwatson Exp $ */ /* * Copyright (c) 2002 Michael Shalayeff. All rights reserved. @@ -384,9 +384,9 @@ sc->sc_imo.imo_max_memberships = IP_MIN_MEMBERSHIPS; sc->sc_imo.imo_multicast_vif = -1; - callout_init(&sc->sc_ad_tmo, NET_CALLOUT_MPSAFE); - callout_init(&sc->sc_md_tmo, NET_CALLOUT_MPSAFE); - callout_init(&sc->sc_md6_tmo, NET_CALLOUT_MPSAFE); + callout_init(&sc->sc_ad_tmo, CALLOUT_MPSAFE); + callout_init(&sc->sc_md_tmo, CALLOUT_MPSAFE); + callout_init(&sc->sc_md6_tmo, CALLOUT_MPSAFE); ifp->if_softc = sc; if_initname(ifp, CARP_IFNAME, unit); ==== //depot/projects/hammer/sys/netinet/ip_dummynet.c#41 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.107 2007/06/17 00:33:34 mjacob Exp $ + * $FreeBSD: src/sys/netinet/ip_dummynet.c,v 1.108 2007/07/28 07:31:30 rwatson Exp $ */ #define DUMMYNET_DEBUG @@ -2141,7 +2141,7 @@ taskqueue_thread_enqueue, &dn_tq); taskqueue_start_threads(&dn_tq, 1, PI_NET, "dummynet"); - callout_init(&dn_timeout, NET_CALLOUT_MPSAFE); + callout_init(&dn_timeout, CALLOUT_MPSAFE); callout_reset(&dn_timeout, 1, dummynet, NULL); /* Initialize curr_time adjustment mechanics. */ ==== //depot/projects/hammer/sys/netinet/ip_fw2.c#84 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.169 2007/07/03 12:46:06 mlaier Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.170 2007/07/28 07:31:30 rwatson Exp $ */ #define DEB(x) @@ -4937,7 +4937,7 @@ sizeof(ipfw_dyn_rule), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); IPFW_DYN_LOCK_INIT(); - callout_init(&ipfw_timeout, NET_CALLOUT_MPSAFE); + callout_init(&ipfw_timeout, CALLOUT_MPSAFE); bzero(&default_rule, sizeof default_rule); ==== //depot/projects/hammer/sys/netinet/ip_mroute.c#39 (text+ko) ==== @@ -52,7 +52,7 @@ * and PIM-SMv2 and PIM-DM support, advanced API support, * bandwidth metering and signaling * - * $FreeBSD: src/sys/netinet/ip_mroute.c,v 1.135 2007/05/10 15:58:47 rwatson Exp $ + * $FreeBSD: src/sys/netinet/ip_mroute.c,v 1.136 2007/07/28 07:31:30 rwatson Exp $ */ #include "opt_inet.h" @@ -639,12 +639,12 @@ pim_assert = 0; mrt_api_config = 0; - callout_init(&expire_upcalls_ch, NET_CALLOUT_MPSAFE); + callout_init(&expire_upcalls_ch, CALLOUT_MPSAFE); bw_upcalls_n = 0; bzero((caddr_t)bw_meter_timers, sizeof(bw_meter_timers)); - callout_init(&bw_upcalls_ch, NET_CALLOUT_MPSAFE); - callout_init(&bw_meter_ch, NET_CALLOUT_MPSAFE); + callout_init(&bw_upcalls_ch, CALLOUT_MPSAFE); + callout_init(&bw_meter_ch, CALLOUT_MPSAFE); } static void ==== //depot/projects/hammer/sys/netinet/tcp_input.c#77 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.363 2007/07/27 00:57:06 silby Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.366 2007/07/29 01:31:33 mjacob Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -57,6 +57,8 @@ #include #include +#define TCPSTATES /* for logging */ + #include #include #include @@ -98,7 +100,7 @@ SYSCTL_STRUCT(_net_inet_tcp, TCPCTL_STATS, stats, CTLFLAG_RW, &tcpstat , tcpstat, "TCP statistics (struct tcpstat, netinet/tcp_var.h)"); -static int tcp_log_in_vain = 0; +int tcp_log_in_vain = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, log_in_vain, CTLFLAG_RW, &tcp_log_in_vain, 0, "Log all incoming TCP segments to closed ports"); @@ -648,33 +650,21 @@ * Our (SYN|ACK) response was rejected. * Check with syncache and remove entry to prevent * retransmits. + * + * NB: syncache_chkrst does its own logging of failure + * causes. */ - if ((thflags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) { - if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) - log(LOG_DEBUG, "%s; %s: Listen socket: " - "Our SYN|ACK was rejected, connection " - "attempt aborted by remote endpoint\n", - s, __func__); + if (thflags & TH_RST) { syncache_chkrst(&inc, th); goto dropunlock; } /* - * Spurious RST. Ignore. - */ - if (thflags & TH_RST) { - if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) - log(LOG_DEBUG, "%s; %s: Listen socket: " - "Spurious RST, segment rejected\n", - s, __func__); - goto dropunlock; - } - /* * We can't do anything without SYN. */ if ((thflags & TH_SYN) == 0) { if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " - "SYN is missing, segment rejected\n", + "SYN is missing, segment ignored\n", s, __func__); tcpstat.tcps_badsyn++; goto dropunlock; @@ -706,7 +696,7 @@ if ((thflags & TH_FIN) && drop_synfin) { if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " - "SYN|FIN segment rejected (based on " + "SYN|FIN segment ignored (based on " "sysctl setting)\n", s, __func__); tcpstat.tcps_badsyn++; goto dropunlock; @@ -783,7 +773,7 @@ if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " "Connection attempt from broad- or multicast " - "link layer address rejected\n", s, __func__); + "link layer address ignored\n", s, __func__); goto dropunlock; } if (isipv6) { @@ -793,7 +783,7 @@ if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " "Connection attempt to/from self " - "rejected\n", s, __func__); + "ignored\n", s, __func__); goto dropunlock; } if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst) || @@ -801,7 +791,7 @@ if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " "Connection attempt from/to multicast " - "address rejected\n", s, __func__); + "address ignored\n", s, __func__); goto dropunlock; } #endif @@ -811,7 +801,7 @@ if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " "Connection attempt from/to self " - "rejected\n", s, __func__); + "ignored\n", s, __func__); goto dropunlock; } if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) || @@ -821,7 +811,7 @@ if ((s = tcp_log_addrs(&inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Listen socket: " "Connection attempt from/to broad- " - "or multicast address rejected\n", + "or multicast address ignored\n", s, __func__); goto dropunlock; } @@ -1578,8 +1568,22 @@ */ if ((so->so_state & SS_NOFDREF) && tp->t_state > TCPS_CLOSE_WAIT && tlen) { + char *s; + KASSERT(headlocked, ("%s: trimthenstep6: tcp_close.3: head " "not locked", __func__)); + if ((s = tcp_log_addrs(&tp->t_inpcb->inp_inc, th, NULL, NULL))) { +#ifdef TCPDEBUG + log(LOG_DEBUG, "%s; %s: %s: Received data after socket " + "was closed, sending RST and removing tcpcb\n", + s, __func__, tcpstates[tp->t_state]); +#else + log(LOG_DEBUG, "%s; %s: Received data after socket " + "was closed, sending RST and removing tcpcb\n", + s, __func__); +#endif + free(s, M_TCPLOG); + } tp = tcp_close(tp); tcpstat.tcps_rcvafterclose++; rstreason = BANDLIM_UNLIMITED; ==== //depot/projects/hammer/sys/netinet/tcp_subr.c#69 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.292 2007/07/27 00:57:06 silby Exp $ + * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.294 2007/07/28 12:20:39 andre Exp $ */ #include "opt_compat.h" @@ -133,6 +133,10 @@ SYSCTL_INT(_net_inet_tcp, TCPCTL_DO_RFC1323, rfc1323, CTLFLAG_RW, &tcp_do_rfc1323, 0, "Enable rfc1323 (high performance TCP) extensions"); +static int tcp_log_debug = 1; +SYSCTL_INT(_net_inet_tcp, OID_AUTO, log_debug, CTLFLAG_RW, + &tcp_log_debug, 0, "Log errors caused by incoming TCP segments"); + static int tcp_tcbhashsize = 0; SYSCTL_INT(_net_inet_tcp, OID_AUTO, tcbhashsize, CTLFLAG_RDTUN, &tcp_tcbhashsize, 0, "Size of TCP control-block hashtable"); @@ -592,12 +596,8 @@ tcp_mssdflt; /* Set up our timeouts. */ - if (NET_CALLOUT_MPSAFE) - callout_init_mtx(&tp->t_timers->tt_timer, &inp->inp_mtx, - CALLOUT_RETURNUNLOCKED); - else - callout_init_mtx(&tp->t_timers->tt_timer, &inp->inp_mtx, - (CALLOUT_RETURNUNLOCKED|CALLOUT_NETGIANT)); + callout_init_mtx(&tp->t_timers->tt_timer, &inp->inp_mtx, + CALLOUT_RETURNUNLOCKED); if (tcp_do_rfc1323) tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); @@ -2098,6 +2098,10 @@ 2 * INET_ADDRSTRLEN; #endif /* INET6 */ + /* Is logging enabled? */ + if (tcp_log_debug == 0 && tcp_log_in_vain == 0) + return (NULL); + s = malloc(size, M_TCPLOG, M_ZERO|M_NOWAIT); if (s == NULL) return (NULL); ==== //depot/projects/hammer/sys/netinet/tcp_syncache.c#46 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.124 2007/07/27 00:57:06 silby Exp $ + * $FreeBSD: src/sys/netinet/tcp_syncache.c,v 1.127 2007/07/28 20:13:40 silby Exp $ */ #include "opt_inet.h" @@ -143,6 +143,7 @@ struct mtx sch_mtx; TAILQ_HEAD(sch_head, syncache) sch_bucket; struct callout sch_timer; + int sch_nextc; u_int sch_length; u_int sch_oddeven; u_int32_t sch_secbits_odd[SYNCOOKIE_SECRET_SIZE]; @@ -157,6 +158,8 @@ static int syncache_respond(struct syncache *); static struct socket *syncache_socket(struct syncache *, struct socket *, struct mbuf *m); +static void syncache_timeout(struct syncache *sc, struct syncache_head *sch, + int docallout); static void syncache_timer(void *); static void syncookie_generate(struct syncache_head *, struct syncache *, u_int32_t *); @@ -233,12 +236,6 @@ #define ENDPTS6_EQ(a, b) (memcmp(a, b, sizeof(*a)) == 0) -#define SYNCACHE_TIMEOUT(sc) do { \ - (sc)->sc_rxmits++; \ - (sc)->sc_rxttime = ticks + \ - TCPTV_RTOBASE * tcp_backoff[(sc)->sc_rxmits - 1]; \ -} while (0) - #define SCH_LOCK(sch) mtx_lock(&(sch)->sch_mtx) #define SCH_UNLOCK(sch) mtx_unlock(&(sch)->sch_mtx) #define SCH_LOCK_ASSERT(sch) mtx_assert(&(sch)->sch_mtx, MA_OWNED) @@ -262,7 +259,6 @@ syncache_init(void) { int i; - struct syncache_head *sch; tcp_syncache.cache_count = 0; tcp_syncache.hashsize = TCP_SYNCACHE_HASHSIZE; @@ -305,17 +301,6 @@ tcp_syncache.zone = uma_zcreate("syncache", sizeof(struct syncache), NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); uma_zone_set_max(tcp_syncache.zone, tcp_syncache.cache_limit); - - /* - * Start the syncache head timers running. They each run ten times - * a second, and are spread out so that they are not all running on - * the same clock tick. - */ - for (i = 0; i < tcp_syncache.hashsize; i++) { - sch = &tcp_syncache.hashbase[i]; - callout_reset(&(sch)->sch_timer, i * (hz / 10), - syncache_timer, (void *)(sch)); - } } /* @@ -345,8 +330,8 @@ TAILQ_INSERT_HEAD(&sch->sch_bucket, sc, sc_hash); sch->sch_length++; - /* Set the retransmit timer for this socket. */ - SYNCACHE_TIMEOUT(sc); + /* Reinitialize the bucket row's timer. */ + syncache_timeout(sc, sch, 1); SCH_UNLOCK(sch); @@ -372,6 +357,22 @@ } /* + * Engage/reengage time on bucket row. + */ +static void +syncache_timeout(struct syncache *sc, struct syncache_head *sch, int docallout) +{ + sc->sc_rxttime = ticks + + TCPTV_RTOBASE * (tcp_backoff[sc->sc_rxmits]); + sc->sc_rxmits++; + if (sch->sch_nextc > sc->sc_rxttime) + sch->sch_nextc = sc->sc_rxttime; + if (!TAILQ_EMPTY(&sch->sch_bucket) && docallout) + callout_reset(&sch->sch_timer, sch->sch_nextc - ticks, + syncache_timer, (void *)sch); +} + +/* * Walk the timer queues, looking for SYN,ACKs that need to be retransmitted. * If we have retransmitted an entry the maximum number of times, expire it. * One separate timer for each bucket row. @@ -396,13 +397,16 @@ * then the RST will be sent by the time the remote * host does the SYN/ACK->ACK. */ - if (sc->sc_rxttime >= tick) { + if (sc->sc_rxttime > tick) { + if (sc->sc_rxttime < sch->sch_nextc) + sch->sch_nextc = sc->sc_rxttime; continue; } if (sc->sc_rxmits > tcp_syncache.rexmt_limit) { if ((s = tcp_log_addrs(&sc->sc_inc, NULL, NULL, NULL))) { - log(LOG_DEBUG, "%s; %s: Response timeout\n", + log(LOG_DEBUG, "%s; %s: Retransmits exhausted, " + "giving up and removing syncache entry\n", s, __func__); free(s, M_TCPLOG); } @@ -410,13 +414,20 @@ tcpstat.tcps_sc_stale++; continue; } + if ((s = tcp_log_addrs(&sc->sc_inc, NULL, NULL, NULL))) { + log(LOG_DEBUG, "%s; %s: Response timeout, " + "retransmitting (%u) SYN|ACK\n", + s, __func__, sc->sc_rxmits); + free(s, M_TCPLOG); + } (void) syncache_respond(sc); tcpstat.tcps_sc_retransmitted++; - SYNCACHE_TIMEOUT(sc); + syncache_timeout(sc, sch, 0); } - callout_reset(&(sch)->sch_timer, hz / 10, - syncache_timer, (void *)(sch)); + if (!TAILQ_EMPTY(&(sch)->sch_bucket)) + callout_reset(&(sch)->sch_timer, (sch)->sch_nextc - tick, + syncache_timer, (void *)(sch)); } /* @@ -475,11 +486,39 @@ { struct syncache *sc; struct syncache_head *sch; + char *s = NULL; sc = syncache_lookup(inc, &sch); /* returns locked sch */ SCH_LOCK_ASSERT(sch); - if (sc == NULL) + + /* + * Any RST to our SYN|ACK must not carry ACK, SYN or FIN flags. + * See RFC 793 page 65, section SEGMENT ARRIVES. + */ + if (th->th_flags & (TH_ACK|TH_SYN|TH_FIN)) { + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Spurious RST with ACK, SYN or " + "FIN flag set, segment ignored\n", s, __func__); + tcpstat.tcps_badrst++; + goto done; + } + + /* + * No corresponding connection was found in syncache. + * If syncookies are enabled and possibly exclusively + * used, or we are under memory pressure, a valid RST + * may not find a syncache entry. In that case we're + * done and no SYN|ACK retransmissions will happen. + * Otherwise the the RST was misdirected or spoofed. + */ + if (sc == NULL) { + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Spurious RST without matching " + "syncache entry (possibly syncookie only), " + "segment ignored\n", s, __func__); + tcpstat.tcps_badrst++; goto done; + } /* * If the RST bit is set, check the sequence number to see @@ -497,9 +536,21 @@ if (SEQ_GEQ(th->th_seq, sc->sc_irs) && SEQ_LEQ(th->th_seq, sc->sc_irs + sc->sc_wnd)) { syncache_drop(sc, sch); + if ((s = tcp_log_addrs(inc, th, NULL, NULL))) + log(LOG_DEBUG, "%s; %s: Our SYN|ACK was rejected, " + "connection attempt aborted by remote endpoint\n", + s, __func__); tcpstat.tcps_sc_reset++; + } else if ((s = tcp_log_addrs(inc, th, NULL, NULL))) { + log(LOG_DEBUG, "%s; %s: RST with invalid SEQ %u != IRS %u " + "(+WND %u), segment ignored\n", + s, __func__, th->th_seq, sc->sc_irs, sc->sc_wnd); + tcpstat.tcps_badrst++; } + done: + if (s != NULL) + free(s, M_TCPLOG); SCH_UNLOCK(sch); } @@ -736,7 +787,7 @@ /* * If the SYN,ACK was retransmitted, reset cwnd to 1 segment. */ - if (sc->sc_rxmits > 1) + if (sc->sc_rxmits) tp->snd_cwnd = tp->t_maxseg; tcp_timer_activate(tp, TT_KEEP, tcp_keepinit); @@ -807,7 +858,6 @@ "(probably spoofed)\n", s, __func__); goto failed; } - tcpstat.tcps_sc_recvcookie++; } else { /* Pull out the entry to unlock the bucket row. */ TAILQ_REMOVE(&sch->sch_bucket, sc, sc_hash); @@ -909,6 +959,7 @@ struct mbuf *ipopts = NULL; u_int32_t flowtmp; int win, sb_hiwat, ip_ttl, ip_tos, noopt; + char *s; #ifdef INET6 int autoflowlabel = 0; #endif @@ -919,6 +970,8 @@ INP_INFO_WLOCK_ASSERT(&tcbinfo); INP_LOCK_ASSERT(inp); /* listen socket */ + KASSERT((th->th_flags & (TH_RST|TH_ACK|TH_SYN)) == TH_SYN, + ("%s: unexpected tcp flags", __func__)); /* * Combine all so/tp operations very early to drop the INP lock as @@ -966,6 +1019,11 @@ * * XXX: should the syncache be re-initialized with the contents * of the new SYN here (which may have different options?) + * + * XXX: We do not check the sequence number to see if this is a + * real retransmit or a new connection attempt. The question is + * how to handle such a case; either ignore it as spoofed, or + * drop the current entry and create a new one? */ sc = syncache_lookup(inc, &sch); /* returns locked entry */ SCH_LOCK_ASSERT(sch); @@ -997,8 +1055,16 @@ KASSERT(sc->sc_label != NULL, ("%s: label not initialized", __func__)); #endif + /* Retransmit SYN|ACK and reset retransmit count. */ + if ((s = tcp_log_addrs(&sc->sc_inc, th, NULL, NULL))) { + log(LOG_DEBUG, "%s; %s: Reveived duplicate SYN, " + "resetting timer and retransmitting SYN|ACK\n", + s, __func__); + free(s, M_TCPLOG); + } if (syncache_respond(sc) == 0) { - SYNCACHE_TIMEOUT(sc); + sc->sc_rxmits = 0; + syncache_timeout(sc, sch, 1); tcpstat.tcps_sndacks++; tcpstat.tcps_sndtotal++; } @@ -1450,6 +1516,7 @@ sc->sc_tsoff = data - ticks; /* after XOR */ } + tcpstat.tcps_sc_sendcookie++; return; } @@ -1552,6 +1619,7 @@ sc->sc_rxmits = 0; sc->sc_peer_mss = tcp_sc_msstab[mss]; + tcpstat.tcps_sc_recvcookie++; return (sc); } ==== //depot/projects/hammer/sys/netinet/tcp_usrreq.c#47 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.158 2007/06/15 22:54:11 mjacob Exp $ + * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.159 2007/07/29 01:31:33 mjacob Exp $ */ #include "opt_ddb.h" @@ -87,7 +87,9 @@ /* * TCP protocol interface to socket abstraction. */ -extern char *tcpstates[]; /* XXX ??? */ +#ifdef TCPDEBUG +extern const char *tcpstates[]; +#endif static int tcp_attach(struct socket *); static int tcp_connect(struct tcpcb *, struct sockaddr *, ==== //depot/projects/hammer/sys/netinet/tcp_var.h#46 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.154 2007/07/27 00:57:06 silby Exp $ + * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.155 2007/07/28 12:20:39 andre Exp $ */ #ifndef _NETINET_TCP_VAR_H_ @@ -494,6 +494,7 @@ extern struct inpcbhead tcb; /* head of queue of active tcpcb's */ extern struct inpcbinfo tcbinfo; extern struct tcpstat tcpstat; /* tcp statistics */ +extern int tcp_log_in_vain; extern int tcp_mssdflt; /* XXX */ extern int tcp_minmss; extern int tcp_delack_enabled; ==== //depot/projects/hammer/sys/sys/mutex.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD: src/sys/sys/mutex.h,v 1.99 2007/07/27 11:59:57 rwatson Exp $ + * $FreeBSD: src/sys/sys/mutex.h,v 1.100 2007/07/28 07:31:30 rwatson Exp $ */ #ifndef _SYS_MUTEX_H_ @@ -408,7 +408,6 @@ } while (0) #define NET_ASSERT_GIANT() do { \ } while (0) -#define NET_CALLOUT_MPSAFE CALLOUT_MPSAFE struct mtx_args { struct mtx *ma_mtx; ==== //depot/projects/hammer/tools/tools/net80211/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ -# $FreeBSD: src/tools/tools/net80211/Makefile,v 1.3 2006/08/07 00:05:32 sam Exp $ +# $FreeBSD: src/tools/tools/net80211/Makefile,v 1.4 2007/07/28 00:18:23 thompsa Exp $ -SUBDIR= stumbler w00t wlandebug wesside wlaninject wlanstats wlanwatch +SUBDIR= stumbler w00t wesside wlaninject wlanstats wlanwatch .include ==== //depot/projects/hammer/tools/tools/net80211/README#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/tools/tools/net80211/README,v 1.2 2006/08/07 00:05:32 sam Exp $ +$FreeBSD: src/tools/tools/net80211/README,v 1.3 2007/07/28 00:18:23 thompsa Exp $ This directory has various tools for use with the net80211 layer. Some may not work depending on the capabilities of the underyling @@ -7,7 +7,6 @@ stumbler view nearby networks using raw packet interface w00t variety of programs that use the raw packet interface wesside WEP frag attack tool using raw packet interface -wlandebug manipulate net80211 debug flags symbolically wlaninject inject 802.11 packets using the raw packet interface wlanstats dump net80211 statistics wlanwatch monitor net80211 events via the routing socket ==== //depot/projects/hammer/usr.bin/truss/i386-fbsd.c#13 (text+ko) ==== @@ -31,7 +31,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/usr.bin/truss/i386-fbsd.c,v 1.28 2007/06/26 22:42:37 delphij Exp $"; + "$FreeBSD: src/usr.bin/truss/i386-fbsd.c,v 1.29 2007/07/28 23:15:04 marcel Exp $"; #endif /* not lint */ /* @@ -167,7 +167,7 @@ iorequest.piod_op = PIOD_READ_D; iorequest.piod_offs = (void *)parm_offset; iorequest.piod_addr = fsc.args; - iorequest.piod_len = nargs * sizeof(unsigned long); + iorequest.piod_len = (1+nargs) * sizeof(unsigned long); ptrace(PT_IO, cpid, (caddr_t)&iorequest, 0); if (iorequest.piod_len == 0) return; ==== //depot/projects/hammer/usr.bin/truss/main.c#14 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/truss/main.c,v 1.45 2007/06/26 22:42:37 delphij Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/truss/main.c,v 1.46 2007/07/28 23:00:42 marcel Exp $"); /* * The main module for truss. Suprisingly simple, but, then, the other @@ -58,7 +58,7 @@ #include "truss.h" #include "extern.h" -#define MAXARGS 5 +#define MAXARGS 6 static void usage(void) ==== //depot/projects/hammer/usr.bin/truss/powerpc-fbsd.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/usr.bin/truss/powerpc-fbsd.c,v 1.3 2007/06/26 22:42:37 delphij Exp $"; + "$FreeBSD: src/usr.bin/truss/powerpc-fbsd.c,v 1.4 2007/07/28 23:15:04 marcel Exp $"; #endif /* not lint */ /* @@ -118,6 +118,9 @@ unsigned int regargs; struct syscall *sc; + /* Account for a 64-bit argument with corresponding alignment. */ + nargs += 2; + cpid = trussinfo->curthread->tid; clear_fsc(); ==== //depot/projects/hammer/usr.bin/truss/syscalls.c#23 (text+ko) ==== @@ -31,7 +31,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/usr.bin/truss/syscalls.c,v 1.53 2007/04/10 04:03:34 delphij Exp $"; + "$FreeBSD: src/usr.bin/truss/syscalls.c,v 1.55 2007/07/28 23:18:39 marcel Exp $"; #endif /* not lint */ /* @@ -72,6 +72,20 @@ #include "extern.h" #include "syscall.h" +/* 64-bit alignment on 32-bit platforms. */ +#ifdef __powerpc__ +#define QUAD_ALIGN 1 +#else +#define QUAD_ALIGN 0 +#endif + +/* Number of slots needed for a 64-bit argument. */ +#ifdef __LP64__ +#define QUAD_SLOTS 1 +#else +#define QUAD_SLOTS 2 +#endif + /* * This should probably be in its own file, sorted alphabetically. */ @@ -82,19 +96,13 @@ { "readlink", 1, 3, { { Name, 0 } , { Readlinkres | OUT, 1 }, { Int, 2 }}}, { "lseek", 2, 3, -#ifdef __LP64__ - { { Int, 0 }, {Quad, 2 }, { Whence, 3 }}}, -#else - { { Int, 0 }, {Quad, 2 }, { Whence, 4 }}}, -#endif + { {Int, 0}, {Quad, 1 + QUAD_ALIGN}, + {Whence, 1 + QUAD_SLOTS + QUAD_ALIGN}}}, { "linux_lseek", 2, 3, { { Int, 0 }, {Int, 1 }, { Whence, 2 }}}, { "mmap", 2, 6, -#ifdef __LP64__ - { { Ptr, 0 }, {Int, 1}, {Mprot, 2}, {Mmapflags, 3}, {Int, 4}, {Quad, 5}}}, -#else - { { Ptr, 0 }, {Int, 1}, {Mprot, 2}, {Mmapflags, 3}, {Int, 4}, {Quad, 6}}}, -#endif + { {Ptr, 0}, {Int, 1}, {Mprot, 2}, {Mmapflags, 3}, {Int, 4}, + {Quad, 5 + QUAD_ALIGN}}}, { "mprotect", 1, 3, { { Ptr, 0 }, {Int, 1}, {Mprot, 2}}}, { "open", 1, 3, @@ -488,13 +496,13 @@ int pid = trussinfo->pid; switch (sc->type & ARG_MASK) { case Hex: - asprintf(&tmp, "0x%lx", args[sc->offset]); + asprintf(&tmp, "0x%x", (int)args[sc->offset]); break; case Octal: - asprintf(&tmp, "0%lo", args[sc->offset]); + asprintf(&tmp, "0%o", (int)args[sc->offset]); break; case Int: - asprintf(&tmp, "%ld", args[sc->offset]); + asprintf(&tmp, "%d", (int)args[sc->offset]); break; case Name: { ==== //depot/projects/hammer/usr.sbin/Makefile#80 (text+ko) ==== @@ -1,5 +1,5 @@ # From: @(#)Makefile 5.20 (Berkeley) 6/12/93 -# $FreeBSD: src/usr.sbin/Makefile,v 1.370 2007/07/14 21:49:24 rwatson Exp $ +# $FreeBSD: src/usr.sbin/Makefile,v 1.371 2007/07/28 00:12:21 thompsa Exp $ .include @@ -182,6 +182,7 @@ vipw \ watch \ watchdogd \ + wlandebug \ ${_wlconfig} \ wpa \ ${_ypbind} \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 29 11:50:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 391FC16A468; Sun, 29 Jul 2007 11:50:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DFD5D16A41B for ; Sun, 29 Jul 2007 11:50:19 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C878713C474 for ; Sun, 29 Jul 2007 11:50:19 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TBoJtt000818 for ; Sun, 29 Jul 2007 11:50:19 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TBoJlC000814 for perforce@freebsd.org; Sun, 29 Jul 2007 11:50:19 GMT (envelope-from andrew@freebsd.org) Date: Sun, 29 Jul 2007 11:50:19 GMT Message-Id: <200707291150.l6TBoJlC000814@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 124309 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 11:50:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=124309 Change 124309 by andrew@andrew_hermies on 2007/07/29 11:49:45 Decode lines from the tag file. These contain information about patch levels avaliable to us Affected files ... .. //depot/projects/soc2007/andrew-update/backend/facund-be.c#19 edit Differences ... ==== //depot/projects/soc2007/andrew-update/backend/facund-be.c#19 (text+ko) ==== @@ -58,6 +58,8 @@ #define DEFAULT_CONFIG_FILE "/etc/freebsd-update-control.conf" #define UPDATE_DATA_DIR "/var/db/freebsd-update" +static struct fbsd_tag_line *facund_tag_decode_line(const char *); +static void facund_tag_free(struct fbsd_tag_line *); static int facund_has_update(unsigned int); static void *look_for_updates(void *); static int facund_read_base_dirs(const char *); @@ -93,19 +95,128 @@ char *db_base; char *db_dir; int db_fd; + + char *db_tag_file; }; static unsigned int watched_db_count = 0; static struct fbsd_update_db *watched_db = NULL; +struct fbsd_tag_line { + char *tag_platform; + char *tag_release; + char *tag_patch; + char tag_tindexhash[65]; + char tag_eol[11]; +}; + /* + * Decodes the data in a line from the tag file + */ +static struct fbsd_tag_line * +facund_tag_decode_line(const char *buf) +{ + struct fbsd_tag_line *line; + unsigned int len, item; + const char *str, *ptr; + + if (buf == NULL) + return NULL; + + line = calloc(sizeof(struct fbsd_tag_line), 1); + if (line == NULL) + return NULL; + + str = buf; + ptr = NULL; + + for (item = 0, ptr = strchr(str, '|'); ptr != NULL; + ptr = strchr(str, '|')) { + len = ptr - str; + + switch (item) { + case 0: + if (strncmp("freebsd-update", str, len) != 0) + goto facund_decode_tag_line_exit; + break; + case 1: + line->tag_platform = malloc(len + 1); + if (line->tag_platform == NULL) + goto facund_decode_tag_line_exit; + + strlcpy(line->tag_platform, str, len + 1); + break; + case 2: + line->tag_release = malloc(len + 1); + if (line->tag_release == NULL) + goto facund_decode_tag_line_exit; + + strlcpy(line->tag_release, str, len + 1); + break; + case 3: + line->tag_patch = malloc(len + 1); + if (line->tag_patch == NULL) + goto facund_decode_tag_line_exit; + + strlcpy(line->tag_patch, str, len + 1); + break; + case 4: + if (len != 64) + goto facund_decode_tag_line_exit; + + strlcpy(line->tag_tindexhash, str, 65); + break; + } + + str = ptr + 1; + item++; + } + if (item != 5) { + goto facund_decode_tag_line_exit; + } else { + if (strlen(str) != 11) + goto facund_decode_tag_line_exit; + + strlcpy(line->tag_eol, str, 11); + } + + return line; + +facund_decode_tag_line_exit: + /* Clean up on failure */ + facund_tag_free(line); + + return NULL; +} + +static void +facund_tag_free(struct fbsd_tag_line *line) +{ + if (line == NULL) + return; + + if (line->tag_platform != NULL) + free(line->tag_platform); + + if (line->tag_release != NULL) + free(line->tag_release); + + if (line->tag_patch != NULL) + free(line->tag_patch); + + free(line); +} + +/* * Looks for updates on the system with a root of basedir */ static int facund_has_update(unsigned int pos) { struct stat sb; - char install_link[PATH_MAX], sha_base[PATH_MAX], sum[65]; + FILE *tag_fd; + char install_link[PATH_MAX], sha_base[PATH_MAX], sum[65], buf[1024]; + struct fbsd_tag_line *line; assert(pos < watched_db_count); snprintf(sha_base, PATH_MAX, "%s\n", watched_db[pos].db_base); @@ -115,8 +226,17 @@ /* Look for the install link and check if it is a symlink */ if (lstat(install_link, &sb) == 0) { - if (S_ISLNK(sb.st_mode)) + if (S_ISLNK(sb.st_mode)) { + tag_fd = fopen(watched_db[pos].db_tag_file, "r"); + while (fgets(buf, sizeof buf, tag_fd) != NULL) { + line = facund_tag_decode_line(buf); + if (line != NULL) { + facund_tag_free(line); + } + } + fclose(tag_fd); return 1; + } } return 0; } @@ -324,7 +444,18 @@ strlcpy(watched_db[pos].db_base, ptr, len); asprintf(&watched_db[pos].db_dir, "%s" UPDATE_DATA_DIR, watched_db[pos].db_base); - printf("%s\n", watched_db[pos].db_dir); + if (watched_db[pos].db_dir == NULL) { + free(watched_db[pos].db_base); + return -1; + } + + asprintf(&watched_db[pos].db_tag_file, "%s/tag", + watched_db[pos].db_dir); + if (watched_db[pos].db_dir == NULL) { + free(watched_db[pos].db_base); + free(watched_db[pos].db_dir); + return -1; + } ptr = next_ptr; if (ptr[0] == '\0') { From owner-p4-projects@FreeBSD.ORG Sun Jul 29 12:19:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81F6B16A421; Sun, 29 Jul 2007 12:19:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57D4A16A41F for ; Sun, 29 Jul 2007 12:19:59 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3355D13C46C for ; Sun, 29 Jul 2007 12:19:59 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TCJx54003926 for ; Sun, 29 Jul 2007 12:19:59 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TCJwqI003923 for perforce@freebsd.org; Sun, 29 Jul 2007 12:19:58 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 29 Jul 2007 12:19:58 GMT Message-Id: <200707291219.l6TCJwqI003923@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124311 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 12:19:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=124311 Change 124311 by gcooper@optimus-revised_pkgtools on 2007/07/29 12:19:07 Add API definitions for socket communication. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sun Jul 29 14:55:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE6E116A468; Sun, 29 Jul 2007 14:55:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3D0CA16A418 for ; Sun, 29 Jul 2007 14:55:48 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2054213C465 for ; Sun, 29 Jul 2007 14:55:48 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TEtmCU024743 for ; Sun, 29 Jul 2007 14:55:48 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TEtls5024734 for perforce@freebsd.org; Sun, 29 Jul 2007 14:55:47 GMT (envelope-from thioretic@FreeBSD.org) Date: Sun, 29 Jul 2007 14:55:47 GMT Message-Id: <200707291455.l6TEtls5024734@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124314 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 14:55:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=124314 Change 124314 by thioretic@thioretic on 2007/07/29 14:55:46 Some semantics verification and resulting cleanups. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#23 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#23 (text+ko) ==== @@ -1345,7 +1345,9 @@ } return (NULL); } + dcl->devclass_ptr = dc; TAILQ_INSERT_TAIL(&dcp->filters, dcl, link); + bus_data_generation_update(); } return (dc); } @@ -1404,7 +1406,6 @@ if (!dl) return (ENOMEM); - isfilter = driverinfo_isfilter (driver); /* * Compile the driver's methods. Also increase the reference count * so that the class doesn't get freed when the last instance @@ -1416,10 +1417,15 @@ drv_internal_t drv_intnl; drv_intnl = driverinfo_create_driver_drv_internal (driver); - if (!drv_intnl && !(di = driverinfo_add_driver(intnl))) - if (drv_intnl) free (drv_intnl); + if (!drv_intnl && !(di = driverinfo_add_driver(drv_intnl))) + if (drv_intnl){ + free (drv_intnl); + return (1); + } } + isfilter = driverinfo_isfilter (driver); + /* * Make sure the devclass which the driver is implementing exists. */ @@ -1442,7 +1448,7 @@ BUS_DRIVER_ADDED(dc->devices[i], driver); } else { - devclass_filter2devices(dc, driver); + devclass_filter2devices(pdc, driver); } bus_data_generation_update(); @@ -1970,8 +1976,6 @@ dev->devclass = dc; snprintf(dev->nameunit, buflen, "%s%d", dc->name, dev->unit); - devclass_device2filters (dc, dev); - return (0); } @@ -2015,6 +2019,12 @@ device_set_driver (dev, driver); if (DEVICE_PROBE(dev)<=0){ device_attach(dev); + else { + dev->driver = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); + dev->driver_level=DRL_LOWEST; + dev->raw--; + if(!dev->raw) + dev->state = DS_ATTACHED; } } @@ -2039,7 +2049,7 @@ for (i=0, i<=dc->maxunit; i++){ if ((dc->devices[i]) && - ((dc->devices[i])->state >= DS_ALIVE)) + ((dc->devices[i])->state == DS_ATTACHED)) filter_probe_and_attach (dv->devices[i], filter); } } @@ -2082,12 +2092,13 @@ return (NULL); TAILQ_INIT(&(dev->parents)); pd = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); + if (!pd){free(dev); return(NULL);} pd->device_ptr = parent; - TAILQ_INSERT_TAIL(&(dev->parents), pd, link); - TAILQ_INIT(&(dev->children)); + TAILQ_INSERT_TAIL(&dev->parents, pd, link); + TAILQ_INIT(&dev->children); kobj_init((kobj_t) dev, &drv_compat_ctrl_driver) for (level=DRL_LOWEST; level<=DRL_TOPMOST; level++) - TAILQ_INIT(&((dev->drivers)[level])); + TAILQ_INIT(&dev->drivers[level]); dev->devclass = NULL; dev->state = DS_NOTPRESENT; dev->refs = 0; @@ -3212,7 +3223,7 @@ level = driverinfo_flags2idx(flags); if (driver != NULL){ - TAILQ_FOREACH(dil, &(dev->drivers[level]), link){ + TAILQ_FOREACH(dil, &dev->drivers[level], link){ if (dil->pdriver == di) break; } From owner-p4-projects@FreeBSD.ORG Sun Jul 29 15:00:55 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 58AE016A41B; Sun, 29 Jul 2007 15:00:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0C65A16A41A for ; Sun, 29 Jul 2007 15:00:55 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFE9B13C461 for ; Sun, 29 Jul 2007 15:00:54 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TF0sUr025090 for ; Sun, 29 Jul 2007 15:00:54 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TF0sIL025087 for perforce@freebsd.org; Sun, 29 Jul 2007 15:00:54 GMT (envelope-from thioretic@FreeBSD.org) Date: Sun, 29 Jul 2007 15:00:54 GMT Message-Id: <200707291500.l6TF0sIL025087@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124315 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 15:00:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=124315 Change 124315 by thioretic@thioretic on 2007/07/29 15:00:03 Propogate all changes in soc2007/thioretic_gidl to new soc2007/thioretic_gidl2 Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/kern/subr_bus.c#2 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/kern/subr_bus.c#2 (text+ko) ==== @@ -1345,7 +1345,9 @@ } return (NULL); } + dcl->devclass_ptr = dc; TAILQ_INSERT_TAIL(&dcp->filters, dcl, link); + bus_data_generation_update(); } return (dc); } @@ -1404,7 +1406,6 @@ if (!dl) return (ENOMEM); - isfilter = driverinfo_isfilter (driver); /* * Compile the driver's methods. Also increase the reference count * so that the class doesn't get freed when the last instance @@ -1416,10 +1417,15 @@ drv_internal_t drv_intnl; drv_intnl = driverinfo_create_driver_drv_internal (driver); - if (!drv_intnl && !(di = driverinfo_add_driver(intnl))) - if (drv_intnl) free (drv_intnl); + if (!drv_intnl && !(di = driverinfo_add_driver(drv_intnl))) + if (drv_intnl){ + free (drv_intnl); + return (1); + } } + isfilter = driverinfo_isfilter (driver); + /* * Make sure the devclass which the driver is implementing exists. */ @@ -1442,7 +1448,7 @@ BUS_DRIVER_ADDED(dc->devices[i], driver); } else { - devclass_filter2devices(dc, driver); + devclass_filter2devices(pdc, driver); } bus_data_generation_update(); @@ -1970,8 +1976,6 @@ dev->devclass = dc; snprintf(dev->nameunit, buflen, "%s%d", dc->name, dev->unit); - devclass_device2filters (dc, dev); - return (0); } @@ -2015,6 +2019,12 @@ device_set_driver (dev, driver); if (DEVICE_PROBE(dev)<=0){ device_attach(dev); + else { + dev->driver = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); + dev->driver_level=DRL_LOWEST; + dev->raw--; + if(!dev->raw) + dev->state = DS_ATTACHED; } } @@ -2039,7 +2049,7 @@ for (i=0, i<=dc->maxunit; i++){ if ((dc->devices[i]) && - ((dc->devices[i])->state >= DS_ALIVE)) + ((dc->devices[i])->state == DS_ATTACHED)) filter_probe_and_attach (dv->devices[i], filter); } } @@ -2082,12 +2092,13 @@ return (NULL); TAILQ_INIT(&(dev->parents)); pd = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); + if (!pd){free(dev); return(NULL);} pd->device_ptr = parent; - TAILQ_INSERT_TAIL(&(dev->parents), pd, link); - TAILQ_INIT(&(dev->children)); + TAILQ_INSERT_TAIL(&dev->parents, pd, link); + TAILQ_INIT(&dev->children); kobj_init((kobj_t) dev, &drv_compat_ctrl_driver) for (level=DRL_LOWEST; level<=DRL_TOPMOST; level++) - TAILQ_INIT(&((dev->drivers)[level])); + TAILQ_INIT(&dev->drivers[level]); dev->devclass = NULL; dev->state = DS_NOTPRESENT; dev->refs = 0; @@ -3212,7 +3223,7 @@ level = driverinfo_flags2idx(flags); if (driver != NULL){ - TAILQ_FOREACH(dil, &(dev->drivers[level]), link){ + TAILQ_FOREACH(dil, &dev->drivers[level], link){ if (dil->pdriver == di) break; } From owner-p4-projects@FreeBSD.ORG Sun Jul 29 18:31:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED50D16A41F; Sun, 29 Jul 2007 18:31:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCB5A16A41A for ; Sun, 29 Jul 2007 18:31:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A7E5813C458 for ; Sun, 29 Jul 2007 18:31:33 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TIVX8G062401 for ; Sun, 29 Jul 2007 18:31:33 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TIVV1M062397 for perforce@freebsd.org; Sun, 29 Jul 2007 18:31:31 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sun, 29 Jul 2007 18:31:31 GMT Message-Id: <200707291831.l6TIVV1M062397@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124321 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 18:31:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124321 Change 124321 by rpaulo@rpaulo_epsilon on 2007/07/29 18:31:07 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/trap.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/busdma_machdep.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/identcpu.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/intr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/pmap.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/vm_machdep.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/conf/CRB#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/include/armreg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/pmap.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/include/pte.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/conf/Makefile.arm#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#21 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/contrib/pf/net/if_pfsync.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/amrr/amrr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/if_ndis/if_ndis.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/dev/pci/pci.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/re/if_re.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_udav.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ufoma.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ums.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#20 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/devfs/devfs_vnops.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/fifofs/fifo_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/i386/trap.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/isa/clock.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_kse.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thread.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_bus.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_domain.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_usrreq.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_mount.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/modules/iscsi/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/soc2007/rpaulo-macbook/net/bpf.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridge.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridgevar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_ethersubr.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/netisr.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/netgraph.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_bpf.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_eiface.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_carp.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_dummynet.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw2.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_mroute.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.h#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_structs.h#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.c#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#15 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.h#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_input.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.h#1 branch .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_usrreq.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_var.h#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_usrreq.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/kernel.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/mutex.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/proc.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/vmmeter.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_meter.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vm_page.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/trap.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.319 2007/07/26 15:32:54 jhb Exp $"); /* * AMD64 Trap and System call handling @@ -159,7 +159,8 @@ { struct thread *td = curthread; struct proc *p = td->td_proc; - int i = 0, ucode = 0, type, code; + int i = 0, ucode = 0, code; + u_int type; register_t addr = 0; ksiginfo_t ksi; @@ -622,7 +623,8 @@ struct trapframe *frame; vm_offset_t eva; { - int code, type, ss; + int code, ss; + u_int type; long esp; struct soft_segment_descriptor softseg; char *msg; ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/busdma_machdep.c#5 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.34 2007/07/27 14:46:43 cognet Exp $"); /* * ARM bus dma support routines @@ -763,8 +763,12 @@ if (__predict_true(pmap == pmap_kernel())) { (void) pmap_get_pde_pte(pmap, vaddr, &pde, &ptep); if (__predict_false(pmap_pde_section(pde))) { - curaddr = (*pde & L1_S_FRAME) | - (vaddr & L1_S_OFFSET); + if (*pde & L1_S_SUPERSEC) + curaddr = (*pde & L1_SUP_FRAME) | + (vaddr & L1_SUP_OFFSET); + else + curaddr = (*pde & L1_S_FRAME) | + (vaddr & L1_S_OFFSET); if (*pde & L1_S_CACHE_MASK) { map->flags &= ~DMAMAP_COHERENT; @@ -1087,36 +1091,36 @@ { char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align]; - if (op & BUS_DMASYNC_PREWRITE) + if (op & BUS_DMASYNC_PREWRITE) { cpu_dcache_wb_range((vm_offset_t)buf, len); + cpu_l2cache_wb_range((vm_offset_t)buf, len); + } + if (op & BUS_DMASYNC_PREREAD) { + cpu_idcache_wbinv_range((vm_offset_t)buf, len); + cpu_l2cache_wbinv_range((vm_offset_t)buf, len); + } if (op & BUS_DMASYNC_POSTREAD) { - if ((vm_offset_t)buf & arm_dcache_align_mask) + if ((vm_offset_t)buf & arm_dcache_align_mask) { memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~ arm_dcache_align_mask), - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~ - arm_dcache_align_mask), - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy(_tmp_clend, (void *)(((vm_offset_t)buf + len) & ~ - arm_dcache_align_mask), - (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~ - arm_dcache_align_mask)); + (vm_offset_t)buf & arm_dcache_align_mask); + } + if (((vm_offset_t)buf + len) & arm_dcache_align_mask) { + memcpy(_tmp_clend, (void *)((vm_offset_t)buf + len), + arm_dcache_align - (((vm_offset_t)(buf) + len) & + arm_dcache_align_mask)); + } cpu_dcache_inv_range((vm_offset_t)buf, len); + cpu_l2cache_inv_range((vm_offset_t)buf, len); + if ((vm_offset_t)buf & arm_dcache_align_mask) memcpy((void *)((vm_offset_t)buf & - ~arm_dcache_align_mask), - _tmp_cl, - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); + ~arm_dcache_align_mask), _tmp_cl, + (vm_offset_t)buf & arm_dcache_align_mask); if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy((void *)(((vm_offset_t)buf + len) & ~ - arm_dcache_align_mask), _tmp_clend, - (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~ - arm_dcache_align_mask)); + memcpy((void *)((vm_offset_t)buf + len), _tmp_clend, + arm_dcache_align - (((vm_offset_t)(buf) + len) & + arm_dcache_align_mask)); } } @@ -1131,14 +1135,20 @@ (void *)(bpage->vaddr_nocache != 0 ? bpage->vaddr_nocache : bpage->vaddr), bpage->datacount); - if (bpage->vaddr_nocache == 0) + if (bpage->vaddr_nocache == 0) { cpu_dcache_wb_range(bpage->vaddr, bpage->datacount); + cpu_l2cache_wb_range(bpage->vaddr, + bpage->datacount); + } } if (op & BUS_DMASYNC_POSTREAD) { - if (bpage->vaddr_nocache == 0) + if (bpage->vaddr_nocache == 0) { cpu_dcache_inv_range(bpage->vaddr, bpage->datacount); + cpu_l2cache_inv_range(bpage->vaddr, + bpage->datacount); + } bcopy((void *)(bpage->vaddr_nocache != 0 ? bpage->vaddr_nocache : bpage->vaddr), (void *)bpage->datavaddr, bpage->datacount); @@ -1175,10 +1185,6 @@ _bus_dmamap_sync_bp(dmat, map, op); if (map->flags & DMAMAP_COHERENT) return; - if ((op && BUS_DMASYNC_POSTREAD) && (map->len >= 2 * PAGE_SIZE)) { - cpu_dcache_wbinv_all(); - return; - } CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags); switch(map->flags & DMAMAP_TYPE_MASK) { case DMAMAP_LINEAR: ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $"); #include #include @@ -147,6 +147,10 @@ arm7tdmi_cache_flushID, /* idcache_wbinv_all */ (void *)arm7tdmi_cache_flushID, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -205,6 +209,10 @@ arm8_cache_purgeID, /* idcache_wbinv_all */ (void *)arm8_cache_purgeID, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -262,6 +270,10 @@ arm9_idcache_wbinv_all, /* idcache_wbinv_all */ arm9_idcache_wbinv_range, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -320,6 +332,10 @@ arm10_idcache_wbinv_all, /* idcache_wbinv_all */ arm10_idcache_wbinv_range, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -378,6 +394,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -435,6 +455,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -492,6 +516,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -552,6 +580,10 @@ xscale_cache_purgeID, /* idcache_wbinv_all */ xscale_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -602,15 +634,19 @@ /* Cache operations */ xscalec3_cache_syncI, /* icache_sync_all */ - xscale_cache_syncI_rng, /* icache_sync_range */ + xscalec3_cache_syncI_rng, /* icache_sync_range */ xscalec3_cache_purgeD, /* dcache_wbinv_all */ xscalec3_cache_purgeD_rng, /* dcache_wbinv_range */ xscale_cache_flushD_rng, /* dcache_inv_range */ xscalec3_cache_cleanD_rng, /* dcache_wb_range */ - xscalec3_cache_purgeID, /* idcache_wbinv_all */ + xscalec3_cache_purgeID, /* idcache_wbinv_all */ xscalec3_cache_purgeID_rng, /* idcache_wbinv_range */ + xscalec3_l2cache_purge, /* l2cache_wbinv_all */ + xscalec3_l2cache_purge_rng, /* l2cache_wbinv_range */ + xscalec3_l2cache_flush_rng, /* l2cache_inv_range */ + xscalec3_l2cache_clean_rng, /* l2cache_wb_range */ /* Other functions */ @@ -1889,9 +1925,7 @@ xscale_setup(args) char *args; { -#ifndef CPU_XSCALE_CORE3 uint32_t auxctl; -#endif int cpuctrl, cpuctrlmask; /* @@ -1911,7 +1945,8 @@ | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE - | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC; + | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC | \ + CPU_CONTROL_L2_ENABLE; #ifndef ARM32_DISABLE_ALIGNMENT_FAULTS cpuctrl |= CPU_CONTROL_AFLT_ENABLE; @@ -1925,6 +1960,9 @@ if (vector_page == ARM_VECTORS_HIGH) cpuctrl |= CPU_CONTROL_VECRELOC; +#ifdef CPU_XSCALE_CORE3 + cpuctrl |= CPU_CONTROL_L2_ENABLE; +#endif /* Clear out the cache */ cpu_idcache_wbinv_all(); @@ -1937,7 +1975,6 @@ /* cpu_control(cpuctrlmask, cpuctrl);*/ cpu_control(0xffffffff, cpuctrl); -#ifndef CPU_XSCALE_CORE3 /* Make sure write coalescing is turned on */ __asm __volatile("mrc p15, 0, %0, c1, c0, 1" : "=r" (auxctl)); @@ -1946,9 +1983,12 @@ #else auxctl &= ~XSCALE_AUXCTL_K; #endif +#ifdef CPU_XSCALE_CORE3 + auxctl |= XSCALE_AUXCTL_LLR; + auxctl |= XSCALE_AUXCTL_MD_MASK; +#endif __asm __volatile("mcr p15, 0, %0, c1, c0, 1" : : "r" (auxctl)); -#endif } #endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 CPU_XSCALE_80219 */ ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/elf_trampoline.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.17 2007/02/19 00:57:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.18 2007/07/27 14:42:25 cognet Exp $"); #include #include #include @@ -48,6 +48,7 @@ extern void *_end; void __start(void); +void __startC(void); #define GZ_HEAD 0xa @@ -66,7 +67,14 @@ defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ defined(CPU_XSCALE_80219) #define cpu_idcache_wbinv_all xscale_cache_purgeID +#elif defined(CPU_XSCALE_81342) +#define cpu_idcache_wbinv_all xscalec3_cache_purgeID #endif +#ifdef CPU_XSCALE_81342 +#define cpu_l2cache_wbinv_all xscalec3_l2cache_purge +#else +#define cpu_l2cache_wbinv_all() +#endif int arm_picache_size; @@ -138,7 +146,7 @@ static void arm9_setup(void); void -_start(void) +_startC(void) { int physaddr = KERNPHYSADDR; int tmp1; @@ -207,6 +215,7 @@ arm9_setup(); #endif cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); #endif __start(); } @@ -520,7 +529,7 @@ extern char func_end[]; -#define PMAP_DOMAIN_KERNEL 15 /* +#define PMAP_DOMAIN_KERNEL 0 /* * Just define it instead of including the * whole VM headers set. */ @@ -595,10 +604,11 @@ kernel = (char *)&_end; altdst = 4 + load_kernel((unsigned int)kernel, (unsigned int)curaddr, - (unsigned int)&func_end , 0); + (unsigned int)&func_end + 800 , 0); if (altdst > dst) dst = altdst; cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); __asm __volatile("mrc p15, 0, %0, c1, c0, 0\n" "bic %0, %0, #1\n" /* MMU_ENABLE */ "mcr p15, 0, %0, c1, c0, 0\n" @@ -616,7 +626,7 @@ sp = sp &~3; dst = (void *)(sp + 4); memcpy((void *)dst, (void *)&load_kernel, (unsigned int)&func_end - - (unsigned int)&load_kernel); + (unsigned int)&load_kernel + 800); do_call(dst, kernel, dst + (unsigned int)(&func_end) - - (unsigned int)(&load_kernel), sp); + (unsigned int)(&load_kernel) + 800, sp); } ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/identcpu.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.11 2007/07/27 14:49:11 cognet Exp $"); #include #include #include @@ -374,6 +374,12 @@ printf(" IC disabled"); else printf(" IC enabled"); +#ifdef CPU_XSCALE_81342 + if ((ctrl & CPU_CONTROL_L2_ENABLE) == 0) + printf(" L2 disabled"); + else + printf(" L2 enabled"); +#endif break; default: break; ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/intr.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.16 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.17 2007/07/27 14:26:42 cognet Exp $"); #include #include #include @@ -57,6 +57,27 @@ void arm_handler_execute(struct trapframe *, int); +#ifdef INTR_FILTER +static void +intr_disab_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + arm_mask_irq(nb); +} + +static void +intr_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + arm_unmask_irq(nb); +} + +#endif + void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -68,8 +89,14 @@ return; event = intr_events[irq]; if (event == NULL) { +#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, + (void (*)(void *))arm_unmask_irq, intr_eoi_src, + intr_disab_eoi_src, "intr%d:", irq); +#else + error = intr_event_create(&event, (void *)irq, 0, (void (*)(void *))arm_unmask_irq, "intr%d:", irq); +#endif if (error) return; intr_events[irq] = event; @@ -102,19 +129,33 @@ arm_handler_execute(struct trapframe *frame, int irqnb) { struct intr_event *event; - struct intr_handler *ih; struct thread *td = curthread; +#ifdef INTR_FILTER + int i; +#else int i, thread, ret; + struct intr_handler *ih; +#endif PCPU_INC(cnt.v_intr); td->td_intr_nesting_level++; while ((i = arm_get_next_irq()) != -1) { +#ifndef INTR_FILTER arm_mask_irq(i); +#endif intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - if (!event || TAILQ_EMPTY(&event->ie_handlers)) + if (!event || TAILQ_EMPTY(&event->ie_handlers)) { +#ifdef INTR_FILTER + arm_mask_irq(i); +#endif continue; + } +#ifdef INTR_FILTER + intr_event_handle(event, frame); + /* XXX: Log stray IRQs */ +#else /* Execute fast handlers. */ ret = 0; thread = 0; @@ -139,6 +180,7 @@ intr_event_schedule_thread(event); else arm_unmask_irq(i); +#endif } td->td_intr_nesting_level--; } ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/pmap.c#5 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.83 2007/06/11 21:29:26 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $"); #include #include #include @@ -676,8 +676,14 @@ pmap_copy_page_func = pmap_copy_page_generic; pmap_zero_page_func = pmap_zero_page_generic; xscale_use_minidata = 0; - pte_l1_s_cache_mode_pt = pte_l2_l_cache_mode_pt = - pte_l2_s_cache_mode_pt = 0; + /* Make sure it is L2-cachable */ + pte_l1_s_cache_mode |= L1_S_XSCALE_TEX(TEX_XSCALE_T); + pte_l1_s_cache_mode_pt = pte_l1_s_cache_mode &~ L1_S_XSCALE_P; + pte_l2_l_cache_mode |= L2_XSCALE_L_TEX(TEX_XSCALE_T) ; + pte_l2_l_cache_mode_pt = pte_l1_s_cache_mode; + pte_l2_s_cache_mode |= L2_XSCALE_T_TEX(TEX_XSCALE_T); + pte_l2_s_cache_mode_pt = pte_l2_s_cache_mode; + #else pmap_copy_page_func = pmap_copy_page_xscale; pmap_zero_page_func = pmap_zero_page_xscale; @@ -2818,33 +2824,35 @@ * Low level mapping routines..... ***************************************************/ +#ifdef ARM_HAVE_SUPERSECTIONS /* Map a super section into the KVA. */ void pmap_kenter_supersection(vm_offset_t va, uint64_t pa, int flags) { - pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_OFFSET) | - (((pa >> 32) & 0x8) << 20) | L1_S_PROT(PTE_KERNEL, + pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_FRAME) | + (((pa >> 32) & 0xf) << 20) | L1_S_PROT(PTE_KERNEL, VM_PROT_READ|VM_PROT_WRITE) | L1_S_DOM(PMAP_DOMAIN_KERNEL); struct l1_ttable *l1; - vm_offset_t va_end; + vm_offset_t va0, va_end; KASSERT(((va | pa) & L1_SUP_OFFSET) == 0, - ("Not a valid section mapping")); + ("Not a valid super section mapping")); if (flags & SECTION_CACHE) pd |= pte_l1_s_cache_mode; else if (flags & SECTION_PT) pd |= pte_l1_s_cache_mode_pt; - va = va & L1_SUP_OFFSET; + va0 = va & L1_SUP_FRAME; va_end = va + L1_SUP_SIZE; SLIST_FOREACH(l1, &l1_list, l1_link) { + va = va0; for (; va < va_end; va += L1_S_SIZE) { l1->l1_kva[L1_IDX(va)] = pd; PTE_SYNC(&l1->l1_kva[L1_IDX(va)]); } } - } +#endif /* Map a section into the KVA. */ @@ -3681,7 +3689,11 @@ * These should only happen for pmap_kernel() */ KASSERT(pm == pmap_kernel(), ("huh")); - pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); + /* XXX: what to do about the bits > 32 ? */ + if (l1pd & L1_S_SUPERSEC) + pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET); + else + pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); } else { /* * Note that we can't rely on the validity of the L1 @@ -3744,7 +3756,11 @@ * These should only happen for pmap_kernel() */ KASSERT(pmap == pmap_kernel(), ("huh")); - pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); + /* XXX: what to do about the bits > 32 ? */ + if (l1pd & L1_S_SUPERSEC) + pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET); + else + pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); if (l1pd & L1_S_PROT_W || (prot & VM_PROT_WRITE) == 0) { m = PHYS_TO_VM_PAGE(pa); vm_page_hold(m); ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/vm_machdep.c#4 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.32 2007/06/04 23:57:29 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $"); #include #include @@ -118,11 +118,13 @@ pcb1 = td1->td_pcb; pcb2 = (struct pcb *)(td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE) - 1; #ifdef __XSCALE__ +#ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE); if (td2->td_altkstack) pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages * PAGE_SIZE); #endif +#endif td2->td_pcb = pcb2; bcopy(td1->td_pcb, pcb2, sizeof(*pcb2)); mdp2 = &p2->p_md; @@ -338,7 +340,9 @@ td->td_frame = (struct trapframe *) ((u_int)td->td_kstack + USPACE_SVC_STACK_TOP - sizeof(struct pcb)) - 1; #ifdef __XSCALE__ +#ifndef CPU_XSCALE_CORE3 pmap_use_minicache(td->td_kstack, td->td_kstack_pages * PAGE_SIZE); +#endif #endif } @@ -462,6 +466,14 @@ vm_offset_t alloc_firstaddr; +#ifdef ARM_HAVE_SUPERSECTIONS +#define S_FRAME L1_SUP_FRAME +#define S_SIZE L1_SUP_SIZE +#else +#define S_FRAME L1_S_FRAME +#define S_SIZE L1_S_SIZE +#endif + vm_offset_t arm_ptovirt(vm_paddr_t pa) { @@ -472,11 +484,11 @@ for (i = 0; dump_avail[i + 1]; i += 2) { if (pa >= dump_avail[i] && pa < dump_avail[i + 1]) break; - addr += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - - (dump_avail[i] & L1_S_FRAME); + addr += (dump_avail[i + 1] & S_FRAME) + S_SIZE - + (dump_avail[i] & S_FRAME); } KASSERT(dump_avail[i + 1] != 0, ("Trying to access invalid physical address")); - return (addr + (pa - (dump_avail[i] & L1_S_FRAME))); + return (addr + (pa - (dump_avail[i] & S_FRAME))); } void @@ -492,20 +504,26 @@ */ for (i = 0; dump_avail[i + 1]; i+= 2) { - to_map += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE - - (dump_avail[i] & L1_S_FRAME); + to_map += (dump_avail[i + 1] & S_FRAME) + S_SIZE - + (dump_avail[i] & S_FRAME); } alloc_firstaddr = mapaddr = KERNBASE - to_map; for (i = 0; dump_avail[i + 1]; i+= 2) { - vm_offset_t size = (dump_avail[i + 1] & L1_S_FRAME) + - L1_S_SIZE - (dump_avail[i] & L1_S_FRAME); + vm_offset_t size = (dump_avail[i + 1] & S_FRAME) + + S_SIZE - (dump_avail[i] & S_FRAME); vm_offset_t did = 0; - while (size > 0 ) { + while (size > 0) { +#ifdef ARM_HAVE_SUPERSECTIONS + pmap_kenter_supersection(mapaddr, + (dump_avail[i] & L1_SUP_FRAME) + did, + SECTION_CACHE); +#else pmap_kenter_section(mapaddr, (dump_avail[i] & L1_S_FRAME) + did, SECTION_CACHE); - mapaddr += L1_S_SIZE; - did += L1_S_SIZE; - size -= L1_S_SIZE; +#endif + mapaddr += S_SIZE; + did += S_SIZE; + size -= S_SIZE; } } } ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/armreg.h#2 (text+ko) ==== @@ -35,7 +35,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/armreg.h,v 1.5 2006/11/07 22:36:56 cognet Exp $ + * $FreeBSD: src/sys/arm/include/armreg.h,v 1.6 2007/07/27 14:54:27 cognet Exp $ */ #ifndef MACHINE_ARMREG_H @@ -227,17 +227,22 @@ #define CPU_CONTROL_VECRELOC 0x00002000 /* V: Vector relocation */ #define CPU_CONTROL_ROUNDROBIN 0x00004000 /* RR: Predictable replacement */ #define CPU_CONTROL_V4COMPAT 0x00008000 /* L4: ARMv4 compat LDR R15 etc */ +#define CPU_CONTROL_L2_ENABLE 0x04000000 /* L2 Cache enabled */ #define CPU_CONTROL_IDC_ENABLE CPU_CONTROL_DC_ENABLE /* XScale Auxillary Control Register (CP15 register 1, opcode2 1) */ #define XSCALE_AUXCTL_K 0x00000001 /* dis. write buffer coalescing */ #define XSCALE_AUXCTL_P 0x00000002 /* ECC protect page table access */ +/* Note: XSCale core 3 uses those for LLR DCcahce attributes */ #define XSCALE_AUXCTL_MD_WB_RA 0x00000000 /* mini-D$ wb, read-allocate */ #define XSCALE_AUXCTL_MD_WB_RWA 0x00000010 /* mini-D$ wb, read/write-allocate */ #define XSCALE_AUXCTL_MD_WT 0x00000020 /* mini-D$ wt, read-allocate */ #define XSCALE_AUXCTL_MD_MASK 0x00000030 +/* Xscale Core 3 only */ +#define XSCALE_AUXCTL_LLR 0x00000400 /* Enable L2 for LLR Cache */ + /* Cache type register definitions */ #define CPU_CT_ISIZE(x) ((x) & 0xfff) /* I$ info */ #define CPU_CT_DSIZE(x) (((x) >> 12) & 0xfff) /* D$ info */ ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/cpufunc.h#2 (text+ko) ==== @@ -38,7 +38,7 @@ * * Prototypes for cpu, mmu and tlb related functions. * - * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.11 2007/03/21 03:28:16 kevlo Exp $ + * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.12 2007/07/27 14:39:41 cognet Exp $ */ #ifndef _MACHINE_CPUFUNC_H_ @@ -140,6 +140,10 @@ void (*cf_idcache_wbinv_all) (void); void (*cf_idcache_wbinv_range) (vm_offset_t, vm_size_t); + void (*cf_l2cache_wbinv_all) (void); + void (*cf_l2cache_wbinv_range) (vm_offset_t, vm_size_t); + void (*cf_l2cache_inv_range) (vm_offset_t, vm_size_t); + void (*cf_l2cache_wb_range) (vm_offset_t, vm_size_t); /* Other functions */ @@ -189,6 +193,10 @@ #define cpu_idcache_wbinv_all() cpufuncs.cf_idcache_wbinv_all() #define cpu_idcache_wbinv_range(a, s) cpufuncs.cf_idcache_wbinv_range((a), (s)) +#define cpu_l2cache_wbinv_all() cpufuncs.cf_l2cache_wbinv_all() +#define cpu_l2cache_wb_range(a, s) cpufuncs.cf_l2cache_wb_range((a), (s)) +#define cpu_l2cache_inv_range(a, s) cpufuncs.cf_l2cache_inv_range((a), (s)) +#define cpu_l2cache_wbinv_range(a, s) cpufuncs.cf_l2cache_wbinv_range((a), (s)) #define cpu_flush_prefetchbuf() cpufuncs.cf_flush_prefetchbuf() #define cpu_drain_writebuf() cpufuncs.cf_drain_writebuf() @@ -435,19 +443,22 @@ #ifdef CPU_XSCALE_81342 +void xscalec3_l2cache_purge (void); +void xscalec3_cache_purgeID (void); +void xscalec3_cache_purgeD (void); void xscalec3_cache_cleanID (void); void xscalec3_cache_cleanD (void); +void xscalec3_cache_syncI (void); -void xscalec3_cache_purgeID (void); -void xscalec3_cache_purgeID_E (u_int entry); -void xscalec3_cache_purgeD (void); -void xscalec3_cache_purgeD_E (u_int entry); +void xscalec3_cache_purgeID_rng (vm_offset_t start, vm_size_t end); +void xscalec3_cache_purgeD_rng (vm_offset_t start, vm_size_t end); +void xscalec3_cache_cleanID_rng (vm_offset_t start, vm_size_t end); +void xscalec3_cache_cleanD_rng (vm_offset_t start, vm_size_t end); +void xscalec3_cache_syncI_rng (vm_offset_t start, vm_size_t end); -void xscalec3_cache_syncI (void); -void xscalec3_cache_cleanID_rng (vm_offset_t start, vm_size_t end); -void xscalec3_cache_cleanD_rng (vm_offset_t start, vm_size_t end); -void xscalec3_cache_purgeID_rng (vm_offset_t start, vm_size_t end); -void xscalec3_cache_purgeD_rng (vm_offset_t start, vm_size_t end); +void xscalec3_l2cache_flush_rng (vm_offset_t, vm_size_t); +void xscalec3_l2cache_clean_rng (vm_offset_t start, vm_size_t end); +void xscalec3_l2cache_purge_rng (vm_offset_t start, vm_size_t end); void xscalec3_setttb (u_int ttb); ==== //depot/projects/soc2007/rpaulo-macbook/arm/include/pmap.h#4 (text+ko) ==== @@ -44,7 +44,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30 * - * $FreeBSD: src/sys/arm/include/pmap.h,v 1.26 2007/06/11 21:29:26 cognet Exp $ + * $FreeBSD: src/sys/arm/include/pmap.h,v 1.27 2007/07/27 14:45:04 cognet Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -264,14 +264,16 @@ #define L1_S_PROT_MASK (L1_S_PROT_U|L1_S_PROT_W) #define L1_S_CACHE_MASK_generic (L1_S_B|L1_S_C) -#define L1_S_CACHE_MASK_xscale (L1_S_B|L1_S_C|L1_S_XSCALE_TEX(TEX_XSCALE_X)) +#define L1_S_CACHE_MASK_xscale (L1_S_B|L1_S_C|L1_S_XSCALE_TEX(TEX_XSCALE_X)|\ + L1_S_XSCALE_TEX(TEX_XSCALE_T)) #define L2_L_PROT_U (L2_AP(AP_U)) #define L2_L_PROT_W (L2_AP(AP_W)) #define L2_L_PROT_MASK (L2_L_PROT_U|L2_L_PROT_W) #define L2_L_CACHE_MASK_generic (L2_B|L2_C) -#define L2_L_CACHE_MASK_xscale (L2_B|L2_C|L2_XSCALE_L_TEX(TEX_XSCALE_X)) +#define L2_L_CACHE_MASK_xscale (L2_B|L2_C|L2_XSCALE_L_TEX(TEX_XSCALE_X) | \ + L2_XSCALE_L_TEX(TEX_XSCALE_T)) #define L2_S_PROT_U_generic (L2_AP(AP_U)) #define L2_S_PROT_W_generic (L2_AP(AP_W)) @@ -282,7 +284,8 @@ #define L2_S_PROT_MASK_xscale (L2_S_PROT_U|L2_S_PROT_W) #define L2_S_CACHE_MASK_generic (L2_B|L2_C) -#define L2_S_CACHE_MASK_xscale (L2_B|L2_C|L2_XSCALE_T_TEX(TEX_XSCALE_X)) +#define L2_S_CACHE_MASK_xscale (L2_B|L2_C|L2_XSCALE_T_TEX(TEX_XSCALE_X)| \ + L2_XSCALE_T_TEX(TEX_XSCALE_X)) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 29 22:11:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B453116A421; Sun, 29 Jul 2007 22:11:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58FA716A41F for ; Sun, 29 Jul 2007 22:11:10 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 48AAE13C46B for ; Sun, 29 Jul 2007 22:11:10 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TMBAa3090012 for ; Sun, 29 Jul 2007 22:11:10 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TMB9wI090007 for perforce@freebsd.org; Sun, 29 Jul 2007 22:11:09 GMT (envelope-from lulf@FreeBSD.org) Date: Sun, 29 Jul 2007 22:11:09 GMT Message-Id: <200707292211.l6TMB9wI090007@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124327 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 22:11:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124327 Change 124327 by lulf@lulf_carrot on 2007/07/29 22:11:09 - Refactor a lot of code. - Put all plex-operations in geom_vinum_plex.c - Create a cleaner separation between a plex and a volume. - Make normal plex operation code cleaner like the raid5 code. - Move functions from geom_vinum_event.c to geom_vinum_create.c where they belong now. - Change some error code names. - Cleanup growing of striped plexes. There was a plan putting BIO related functions in geom_vinum_bio.c but it's hard to define a BIO related function in a way that doesn't put them all there since many handles BIOs in one way or the other. - Update copyright on files I've done heavy work on this summer (please comment this if I'm not doing this right). Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#14 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#30 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#24 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#9 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#18 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_move.c#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#21 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#12 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#11 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#19 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#23 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#24 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#14 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#14 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004 Lukas Ertl, 2005 Chris Jones + * Copyright (c) 2004 Lukas Ertl, 2005 Chris Jones, 2007 Ulf Lilleengen * All rights reserved. * * Portions of this software were developed for the FreeBSD Project ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#30 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,9 +50,11 @@ "Debug level"); #endif -int gv_create(struct g_geom *, struct gctl_req *); -void gv_attach(struct gv_softc *, struct gctl_req *); -void gv_detach(struct gv_softc *, struct gctl_req *); +static int gv_create(struct g_geom *, struct gctl_req *); +static void gv_attach(struct gv_softc *, struct gctl_req *); +static void gv_detach(struct gv_softc *, struct gctl_req *); +static void gv_parityop(struct gv_softc *, struct gctl_req *); + static void gv_orphan(struct g_consumer *cp) @@ -196,7 +198,7 @@ } /* Handle userland request of attaching object. */ -void +static void gv_attach(struct gv_softc *sc, struct gctl_req *req) { struct gv_volume *v; @@ -260,7 +262,7 @@ } /* Handle userland request of detaching object. */ -void +static void gv_detach(struct gv_softc *sc, struct gctl_req *req) { struct gv_plex *p; @@ -292,7 +294,7 @@ } /* Handle userland requests for creating new objects. */ -int +static int gv_create(struct g_geom *gp, struct gctl_req *req) { struct gv_softc *sc; @@ -473,6 +475,59 @@ gctl_error(req, "Unknown verb parameter"); } +static void +gv_parityop(struct gv_softc *sc, struct gctl_req *req) +{ + struct gv_plex *p; + int *flags, *rebuild, type; + char *plex; + + plex = gctl_get_param(req, "plex", NULL); + if (plex == NULL) { + gctl_error(req, "no plex given"); + return; + } + + flags = gctl_get_paraml(req, "flags", sizeof(*flags)); + if (flags == NULL) { + gctl_error(req, "no flags given"); + return; + } + + rebuild = gctl_get_paraml(req, "rebuild", sizeof(*rebuild)); + if (rebuild == NULL) { + gctl_error(req, "no operation given"); + return; + } + + type = gv_object_type(sc, plex); + if (type != GV_TYPE_PLEX) { + gctl_error(req, "'%s' is not a plex", plex); + return; + } + p = gv_find_plex(sc, plex); + + if (p->state != GV_PLEX_UP) { + gctl_error(req, "plex %s is not completely accessible", + p->name); + return; + } + + if (p->org != GV_PLEX_RAID5) { + gctl_error(req, "plex %s is not a RAID5 plex", p->name); + return; + } + + /* Put it in the event queue. */ + /* XXX: The state of the plex might have changed when this event is + * picked up ... We should perhaps check this afterwards. */ + if (*rebuild) + gv_post_event(sc, GV_EVENT_PARITY_REBUILD, p, NULL, 0, 0); + else + gv_post_event(sc, GV_EVENT_PARITY_CHECK, p, NULL, 0, 0); +} + + static struct g_geom * gv_taste(struct g_class *mp, struct g_provider *pp, int flags __unused) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#24 (text+ko) ==== @@ -117,12 +117,9 @@ void gv_done(struct bio *); void gv_volume_start(struct gv_softc *, struct bio *); -void gv_plex_start(struct gv_plex *, struct bio *); -void gv_plex_done(struct gv_plex *, struct bio *); + void gv_bio_done(struct gv_softc *, struct bio *); void gv_cleanup(struct gv_softc *); -int gv_sync_request(struct gv_plex *, struct gv_plex *, - off_t, off_t, int, caddr_t); void gv_create_drive(struct gv_softc *, struct gv_drive *); void gv_create_volume(struct gv_softc *, struct gv_volume *); void gv_create_plex(struct gv_softc *, struct gv_plex *); @@ -130,10 +127,19 @@ int gv_stripe_active(struct gv_plex *, struct bio *); +/* geom_vinum_plex.c */ +void gv_plex_start(struct gv_plex *, struct bio *); +void gv_plex_raid5_done(struct gv_plex *, struct bio *); +void gv_plex_normal_done(struct gv_plex *, struct bio *); +int gv_grow_request(struct gv_plex *, off_t, off_t, int, caddr_t); +void gv_grow_complete(struct gv_plex *, struct bio *); void gv_init_request(struct gv_sd *, off_t, caddr_t, off_t); +void gv_init_complete(struct gv_plex *, struct bio *); void gv_parity_request(struct gv_plex *, int, off_t); -int gv_grow_request(struct gv_plex *, off_t, off_t, int, caddr_t); -void gv_grow_complete(struct gv_plex *, struct bio *); -void gv_parityop(struct gv_softc *, struct gctl_req *); +void gv_parity_complete(struct gv_plex *, struct bio *); +void gv_rebuild_complete(struct gv_plex *, struct bio *); +int gv_sync_request(struct gv_plex *, struct gv_plex *, off_t, off_t, int, + caddr_t); +int gv_sync_complete(struct gv_plex *, struct bio *); #endif /* !_GEOM_VINUM_H_ */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#4 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2006-2007 Ulf Lilleengen + * Copyright (c) 2007, Lukas Ertl, 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,6 +26,7 @@ #include +#include #include #include #include @@ -39,6 +40,254 @@ #include /* + * Create a new drive object, either by user request, during taste of the drive + * itself, or because it was referenced by a subdisk during taste. + */ +void +gv_create_drive(struct gv_softc *sc, struct gv_drive *d) +{ + struct g_geom *gp; + struct g_provider *pp; + struct g_consumer *cp, *cp2; + struct gv_drive *d2; + struct gv_hdr *hdr; + struct gv_freelist *fl; + + KASSERT(d != NULL, ("gv_create_drive: NULL d")); + + gp = sc->geom; + + pp = NULL; + cp = cp2 = NULL; + + /* The drive already has a consumer if it was tasted before. */ + if (d->consumer != NULL) { + cp = d->consumer; + cp->private = d; + pp = cp->provider; + } else if (!(d->flags & GV_DRIVE_REFERENCED)) { + if (gv_find_drive(sc, d->name) != NULL) { + printf("VINUM: drive '%s' already exists\n", d->name); + g_free(d); + return; + } + + pp = g_provider_by_name(d->device); + if (pp == NULL) { + printf("VINUM: create '%s': device '%s' disappeared?\n", + d->name, d->device); + g_free(d); + return; + } + + g_topology_lock(); + cp = g_new_consumer(gp); + if (g_attach(cp, pp) != 0) { + g_destroy_consumer(cp); + g_topology_unlock(); + printf("VINUM: create drive '%s': couldn't attach\n", + d->name); + g_free(d); + return; + } + g_topology_unlock(); + + d->consumer = cp; + cp->private = d; + } + + /* + * If this was just a "referenced" drive, we're almost finished, but + * insert this drive not on the head of the drives list, as + * gv_drive_is_newer() expects a "real" drive from LIST_FIRST(). + */ + if (d->flags & GV_DRIVE_REFERENCED) { + snprintf(d->device, GV_MAXDRIVENAME, "???"); + d2 = LIST_FIRST(&sc->drives); + if (d2 == NULL) + LIST_INSERT_HEAD(&sc->drives, d, drive); + else + LIST_INSERT_AFTER(d2, d, drive); + return; + } + + /* + * Update access counts of the new drive to those of an already + * existing drive. + */ + LIST_FOREACH(d2, &sc->drives, drive) { + if ((d == d2) || (d2->consumer == NULL)) + continue; + + cp2 = d2->consumer; + g_topology_lock(); + if ((cp2->acr || cp2->acw || cp2->ace) && + (g_access(cp, cp2->acr, cp2->acw, cp2->ace) != 0)) { + g_detach(cp); + g_destroy_consumer(cp); + g_topology_unlock(); + printf("VINUM: create drive '%s': couldn't update " + "access counts\n", d->name); + if (d->hdr != NULL) + g_free(d->hdr); + g_free(d); + return; + } + g_topology_unlock(); + break; + } + + d->size = pp->mediasize - GV_DATA_START; + d->avail = d->size; + d->vinumconf = sc; + LIST_INIT(&d->subdisks); + LIST_INIT(&d->freelist); + + /* The header might have been set during taste. */ + if (d->hdr == NULL) { + hdr = g_malloc(sizeof(*hdr), M_WAITOK | M_ZERO); + hdr->magic = GV_MAGIC; + hdr->config_length = GV_CFG_LEN; + bcopy(hostname, hdr->label.sysname, GV_HOSTNAME_LEN); + strncpy(hdr->label.name, d->name, GV_MAXDRIVENAME); + microtime(&hdr->label.date_of_birth); + d->hdr = hdr; + } + + /* We also need a freelist entry. */ + fl = g_malloc(sizeof(struct gv_freelist), M_WAITOK | M_ZERO); + fl->offset = GV_DATA_START; + fl->size = d->avail; + LIST_INSERT_HEAD(&d->freelist, fl, freelist); + d->freelist_entries = 1; + + if (gv_find_drive(sc, d->name) == NULL) + LIST_INSERT_HEAD(&sc->drives, d, drive); + + gv_set_drive_state(d, GV_DRIVE_UP, 0); +} + +void +gv_create_volume(struct gv_softc *sc, struct gv_volume *v) +{ + KASSERT(v != NULL, ("gv_create_volume: NULL v")); + + v->vinumconf = sc; + v->flags |= GV_VOL_NEWBORN; + LIST_INIT(&v->plexes); + LIST_INSERT_HEAD(&sc->volumes, v, volume); + v->wqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); + bioq_init(v->wqueue); +} + +void +gv_create_plex(struct gv_softc *sc, struct gv_plex *p) +{ + struct gv_volume *v; + + KASSERT(p != NULL, ("gv_create_plex: NULL p")); + + /* Find the volume this plex should be attached to. */ + v = gv_find_vol(sc, p->volume); + if (v == NULL) { + printf("VINUM: create plex '%s': volume '%s' not found\n", + p->name, p->volume); + g_free(p); + return; + } + if (!(v->flags & GV_VOL_NEWBORN)) + p->flags |= GV_PLEX_ADDED; + p->vol_sc = v; + v->plexcount++; + p->vinumconf = sc; + p->flags |= GV_PLEX_NEWBORN; + LIST_INSERT_HEAD(&v->plexes, p, in_volume); + LIST_INIT(&p->subdisks); + TAILQ_INIT(&p->packets); + LIST_INSERT_HEAD(&sc->plexes, p, plex); + p->bqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); + bioq_init(p->bqueue); + p->wqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); + bioq_init(p->wqueue); + p->rqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); + bioq_init(p->rqueue); +} + +void +gv_create_sd(struct gv_softc *sc, struct gv_sd *s) +{ + struct gv_plex *p; + struct gv_drive *d; + + KASSERT(s != NULL, ("gv_create_sd: NULL s")); + + /* Find the drive where this subdisk should be put on. */ + d = gv_find_drive(sc, s->drive); + if (d == NULL) { + /* + * It's possible that the subdisk references a drive that + * doesn't exist yet (during the taste process), so create a + * practically empty "referenced" drive. + */ + if (s->flags & GV_SD_TASTED) { + d = g_malloc(sizeof(struct gv_drive), + M_WAITOK | M_ZERO); + d->flags |= GV_DRIVE_REFERENCED; + strncpy(d->name, s->drive, GV_MAXDRIVENAME); + gv_create_drive(sc, d); + } else { + printf("VINUM: create sd '%s': drive '%s' not found\n", + s->name, s->drive); + g_free(s); + return; + } + } + + /* Find the plex where this subdisk belongs to. */ + p = gv_find_plex(sc, s->plex); + if (p == NULL) { + printf("VINUM: create sd '%s': plex '%s' not found\n", + s->name, s->plex); + g_free(s); + return; + } + + /* + * First we give the subdisk to the drive, to handle autosized + * values ... + */ + if (gv_sd_to_drive(s, d) != 0) { + g_free(s); + return; + } + + /* + * Then, we give the subdisk to the plex; we check if the + * given values are correct and maybe adjust them. + */ + if (gv_sd_to_plex(s, p) != 0) { + printf("VINUM: couldn't give sd '%s' to plex '%s'\n", + s->name, p->name); + if (s->drive_sc) + LIST_REMOVE(s, from_drive); + gv_free_sd(s); + g_free(s); + /* + * If this subdisk can't be created, we won't create + * the attached plex either, if it is also a new one. + */ + if (!(p->flags & GV_PLEX_NEWBORN)) + return; + gv_rm_plex(sc, p); + return; + } + s->flags |= GV_SD_NEWBORN; + + s->vinumconf = sc; + LIST_INSERT_HEAD(&sc->subdisks, s, sd); +} + +/* * Create a concatenated volume from specified drives or drivegroups. */ void ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#9 (text+ko) ==== @@ -213,251 +213,3 @@ else LIST_INSERT_AFTER(d2, d, drive); } - -/* - * Create a new drive object, either by user request, during taste of the drive - * itself, or because it was referenced by a subdisk during taste. - */ -void -gv_create_drive(struct gv_softc *sc, struct gv_drive *d) -{ - struct g_geom *gp; - struct g_provider *pp; - struct g_consumer *cp, *cp2; - struct gv_drive *d2; - struct gv_hdr *hdr; - struct gv_freelist *fl; - - KASSERT(d != NULL, ("gv_create_drive: NULL d")); - - gp = sc->geom; - - pp = NULL; - cp = cp2 = NULL; - - /* The drive already has a consumer if it was tasted before. */ - if (d->consumer != NULL) { - cp = d->consumer; - cp->private = d; - pp = cp->provider; - } else if (!(d->flags & GV_DRIVE_REFERENCED)) { - if (gv_find_drive(sc, d->name) != NULL) { - printf("VINUM: drive '%s' already exists\n", d->name); - g_free(d); - return; - } - - pp = g_provider_by_name(d->device); - if (pp == NULL) { - printf("VINUM: create '%s': device '%s' disappeared?\n", - d->name, d->device); - g_free(d); - return; - } - - g_topology_lock(); - cp = g_new_consumer(gp); - if (g_attach(cp, pp) != 0) { - g_destroy_consumer(cp); - g_topology_unlock(); - printf("VINUM: create drive '%s': couldn't attach\n", - d->name); - g_free(d); - return; - } - g_topology_unlock(); - - d->consumer = cp; - cp->private = d; - } - - /* - * If this was just a "referenced" drive, we're almost finished, but - * insert this drive not on the head of the drives list, as - * gv_drive_is_newer() expects a "real" drive from LIST_FIRST(). - */ - if (d->flags & GV_DRIVE_REFERENCED) { - snprintf(d->device, GV_MAXDRIVENAME, "???"); - d2 = LIST_FIRST(&sc->drives); - if (d2 == NULL) - LIST_INSERT_HEAD(&sc->drives, d, drive); - else - LIST_INSERT_AFTER(d2, d, drive); - return; - } - - /* - * Update access counts of the new drive to those of an already - * existing drive. - */ - LIST_FOREACH(d2, &sc->drives, drive) { - if ((d == d2) || (d2->consumer == NULL)) - continue; - - cp2 = d2->consumer; - g_topology_lock(); - if ((cp2->acr || cp2->acw || cp2->ace) && - (g_access(cp, cp2->acr, cp2->acw, cp2->ace) != 0)) { - g_detach(cp); - g_destroy_consumer(cp); - g_topology_unlock(); - printf("VINUM: create drive '%s': couldn't update " - "access counts\n", d->name); - if (d->hdr != NULL) - g_free(d->hdr); - g_free(d); - return; - } - g_topology_unlock(); - break; - } - - d->size = pp->mediasize - GV_DATA_START; - d->avail = d->size; - d->vinumconf = sc; - LIST_INIT(&d->subdisks); - LIST_INIT(&d->freelist); - - /* The header might have been set during taste. */ - if (d->hdr == NULL) { - hdr = g_malloc(sizeof(*hdr), M_WAITOK | M_ZERO); - hdr->magic = GV_MAGIC; - hdr->config_length = GV_CFG_LEN; - bcopy(hostname, hdr->label.sysname, GV_HOSTNAME_LEN); - strncpy(hdr->label.name, d->name, GV_MAXDRIVENAME); - microtime(&hdr->label.date_of_birth); - d->hdr = hdr; - } - - /* We also need a freelist entry. */ - fl = g_malloc(sizeof(struct gv_freelist), M_WAITOK | M_ZERO); - fl->offset = GV_DATA_START; - fl->size = d->avail; - LIST_INSERT_HEAD(&d->freelist, fl, freelist); - d->freelist_entries = 1; - - if (gv_find_drive(sc, d->name) == NULL) - LIST_INSERT_HEAD(&sc->drives, d, drive); - - gv_set_drive_state(d, GV_DRIVE_UP, 0); -} - -void -gv_create_volume(struct gv_softc *sc, struct gv_volume *v) -{ - KASSERT(v != NULL, ("gv_create_volume: NULL v")); - - v->vinumconf = sc; - v->flags |= GV_VOL_NEWBORN; - LIST_INIT(&v->plexes); - LIST_INSERT_HEAD(&sc->volumes, v, volume); - v->wqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); - bioq_init(v->wqueue); -} - -void -gv_create_plex(struct gv_softc *sc, struct gv_plex *p) -{ - struct gv_volume *v; - - KASSERT(p != NULL, ("gv_create_plex: NULL p")); - - /* Find the volume this plex should be attached to. */ - v = gv_find_vol(sc, p->volume); - if (v == NULL) { - printf("VINUM: create plex '%s': volume '%s' not found\n", - p->name, p->volume); - g_free(p); - return; - } - if (!(v->flags & GV_VOL_NEWBORN)) - p->flags |= GV_PLEX_ADDED; - p->vol_sc = v; - v->plexcount++; - p->vinumconf = sc; - p->flags |= GV_PLEX_NEWBORN; - LIST_INSERT_HEAD(&v->plexes, p, in_volume); - LIST_INIT(&p->subdisks); - TAILQ_INIT(&p->packets); - LIST_INSERT_HEAD(&sc->plexes, p, plex); - p->bqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); - bioq_init(p->bqueue); - p->wqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); - bioq_init(p->wqueue); - p->rqueue = g_malloc(sizeof(struct bio_queue_head), M_WAITOK | M_ZERO); - bioq_init(p->rqueue); -} - -void -gv_create_sd(struct gv_softc *sc, struct gv_sd *s) -{ - struct gv_plex *p; - struct gv_drive *d; - - KASSERT(s != NULL, ("gv_create_sd: NULL s")); - - /* Find the drive where this subdisk should be put on. */ - d = gv_find_drive(sc, s->drive); - if (d == NULL) { - /* - * It's possible that the subdisk references a drive that - * doesn't exist yet (during the taste process), so create a - * practically empty "referenced" drive. - */ - if (s->flags & GV_SD_TASTED) { - d = g_malloc(sizeof(struct gv_drive), - M_WAITOK | M_ZERO); - d->flags |= GV_DRIVE_REFERENCED; - strncpy(d->name, s->drive, GV_MAXDRIVENAME); - gv_create_drive(sc, d); - } else { - printf("VINUM: create sd '%s': drive '%s' not found\n", - s->name, s->drive); - g_free(s); - return; - } - } - - /* Find the plex where this subdisk belongs to. */ - p = gv_find_plex(sc, s->plex); - if (p == NULL) { - printf("VINUM: create sd '%s': plex '%s' not found\n", - s->name, s->plex); - g_free(s); - return; - } - - /* - * First we give the subdisk to the drive, to handle autosized - * values ... - */ - if (gv_sd_to_drive(s, d) != 0) { - g_free(s); - return; - } - - /* - * Then, we give the subdisk to the plex; we check if the - * given values are correct and maybe adjust them. - */ - if (gv_sd_to_plex(s, p) != 0) { - printf("VINUM: couldn't give sd '%s' to plex '%s'\n", - s->name, p->name); - if (s->drive_sc) - LIST_REMOVE(s, from_drive); - gv_free_sd(s); - g_free(s); - /* - * If this subdisk can't be created, we won't create - * the attached plex either, if it is also a new one. - */ - if (!(p->flags & GV_PLEX_NEWBORN)) - return; - gv_rm_plex(sc, p); - return; - } - s->flags |= GV_SD_NEWBORN; - - s->vinumconf = sc; - LIST_INSERT_HEAD(&sc->subdisks, s, sd); -} ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#18 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -280,7 +280,7 @@ g_topology_unlock(); if (error) { printf("VINUM: unable to access provider\n"); - return (GV_ERR_ISOPEN); /*XXX: wrong errorcode */ + return (GV_ERR_ISBUSY); /*XXX: wrong errorcode */ } /* XXX: This routine with finding origsize is used two other places as ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_move.c#4 (text+ko) ==== @@ -114,7 +114,7 @@ gv_consumer_is_open(destination->consumer)) { printf("VINUM: consumers on current and destination drive " " still open\n"); - return (GV_ERR_ISOPEN); + return (GV_ERR_ISBUSY); } if (!(flags && GV_FLAG_F)) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#21 (text+ko) ==== @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -45,13 +45,11 @@ struct gv_raid5_packet *); static int gv_normal_parity(struct gv_plex *, struct bio *, struct gv_raid5_packet *); -static void gv_parity_complete(struct gv_plex *, struct bio *); -static void gv_rebuild_complete(struct gv_plex *, struct bio *); -static void gv_init_complete(struct gv_plex *, struct bio *); -static struct bio * gv_plexbuffer(struct gv_plex *, struct bio *, caddr_t, - off_t, off_t, int *); static void gv_plex_flush(struct gv_plex *); - +static int gv_plex_offset(struct gv_plex *, off_t, off_t, off_t *, off_t *, + int *); +static int gv_plex_normal_request(struct gv_plex *, struct bio *, off_t, + off_t, caddr_t); void gv_plex_start(struct gv_plex *p, struct bio *bp) { @@ -60,7 +58,6 @@ struct gv_raid5_packet *wp; caddr_t addr; off_t bcount, boff, len; - int err; bcount = bp->bio_length; addr = bp->bio_data; @@ -91,25 +88,11 @@ * through. */ } else { - cbp = gv_plexbuffer(p, bp, addr, boff, bcount, &err); - - /* Building the sub-request failed. */ - if (cbp == NULL && err != 0) { - printf("VINUM: plex request failed for "); - g_print_bio(bp); - printf("\n"); - g_io_deliver(bp, err); - return; - } - - len = cbp->bio_length; - - /* - * Store the sub-requests now and send them down later. - */ - bioq_insert_tail(p->bqueue, cbp); + len = gv_plex_normal_request(p, bp, boff, bcount, addr); } - + if (len < 0) + return; + bcount -= len; addr += len; boff += len; @@ -140,98 +123,132 @@ } } -static struct bio * -gv_plexbuffer(struct gv_plex *p, struct bio *bp, caddr_t addr, off_t boff, off_t bcount, int *err) +static int +gv_plex_offset(struct gv_plex *p, off_t boff, off_t bcount, off_t *real_off, + off_t *real_len, int *sdno) { struct gv_sd *s; - struct bio *cbp; - int i, sdcount, sdno; - off_t len_left, real_len, real_off; - off_t stripeend, stripeno, stripestart; - - *err = ENXIO; + int i, sdcount; + off_t len_left, stripeend, stripeno, stripestart; - if (p == NULL || LIST_EMPTY(&p->subdisks)) - return (NULL); - - s = NULL; - - /* - * We only handle concatenated and striped plexes here. RAID5 plexes - * are handled in build_raid5_request(). - */ switch (p->org) { case GV_PLEX_CONCAT: /* * Find the subdisk where this request starts. The subdisks in * this list must be ordered by plex_offset. */ + i = 0; LIST_FOREACH(s, &p->subdisks, in_plex) { if (s->plex_offset <= boff && - s->plex_offset + s->size > boff) + s->plex_offset + s->size > boff) { + *sdno = i; break; + } + i++; } /* Subdisk not found. */ if (s == NULL || s->drive_sc == NULL) - return (NULL); + return (GV_ERR_NOTFOUND); /* Calculate corresponding offsets on disk. */ - real_off = boff - s->plex_offset; - len_left = s->size - real_off; - real_len = (bcount > len_left) ? len_left : bcount; + *real_off = boff - s->plex_offset; + len_left = s->size - (*real_off); + KASSERT(len_left >= 0, ("gv_plex_offset: len_left < 0")); + *real_len = (bcount > len_left) ? len_left : bcount; break; case GV_PLEX_STRIPED: /* The number of the stripe where the request starts. */ stripeno = boff / p->stripesize; + KASSERT(stripeno >= 0, ("gv_plex_offset: stripeno < 0")); + + /* Take growing subdisks into account when calculating. */ sdcount = p->sdcount; if (boff >= p->synced) { LIST_FOREACH(s, &p->subdisks, in_plex) { if (s->flags & GV_SD_GROW) sdcount--; } - /*XXX: Fix. */ - } else if (boff + bcount <= p->synced); - else { - bioq_disksort(p->rqueue, bp); - *err = 0; - return (NULL); /* XXX: Not failed... */ + } else if (!(boff + bcount <= p->synced)){ + return (GV_ERR_ISBUSY); } /* The number of the subdisk where the stripe resides. */ - sdno = stripeno % sdcount; + *sdno = stripeno % sdcount; - /* Find the right subdisk. */ - i = 0; - LIST_FOREACH(s, &p->subdisks, in_plex) { - if (i == sdno) - break; - i++; - } - - /* Subdisk not found. */ - if (s == NULL || s->drive_sc == NULL) - return (NULL); + KASSERT(sdno >= 0, ("gv_plex_offset: sdno < 0")); /* The offset of the stripe from the start of the subdisk. */ stripestart = (stripeno / sdcount) * p->stripesize; + KASSERT(stripestart >= 0, ("gv_plex_offset: stripestart < 0")); /* The offset at the end of the stripe. */ stripeend = stripestart + p->stripesize; /* The offset of the request on this subdisk. */ - real_off = boff - (stripeno * p->stripesize) + + *real_off = boff - (stripeno * p->stripesize) + stripestart; /* The length left in this stripe. */ - len_left = stripeend - real_off; + len_left = stripeend - *real_off; + KASSERT(len_left >= 0, ("gv_plex_offset: len_left < 0")); - real_len = (bcount <= len_left) ? bcount : len_left; + *real_len = (bcount <= len_left) ? bcount : len_left; break; default: - *err = EINVAL; - return (NULL); + return (GV_ERR_PLEXORG); + } + return (0); +} + +/* + * Prepare a normal plex request. + */ +static int +gv_plex_normal_request(struct gv_plex *p, struct bio *bp, off_t boff, + off_t bcount, caddr_t addr) +{ + struct gv_sd *s; + struct bio *cbp; + off_t real_len, real_off; + int i, err, sdno; + + err = ENXIO; + s = NULL; + sdno = -1; + real_len = real_off = 0; + + if (p == NULL || LIST_EMPTY(&p->subdisks)) { + printf("Where's my fuckin' plex!\n"); + goto bad; + } + + err = gv_plex_offset(p, boff, bcount, &real_off, + &real_len, &sdno); + /* If the request was blocked, put it into wait. */ + if (err == GV_ERR_ISBUSY) { + printf("Delayed? no way!\n"); + bioq_disksort(p->rqueue, bp); + return (real_len); + } + if (err) { + printf("Got err after offset. \n"); + goto bad; + } + + /* Find the right subdisk. */ + i = 0; + LIST_FOREACH(s, &p->subdisks, in_plex) { + if (i == sdno) + break; + i++; + } + + /* Subdisk not found. */ + if (s == NULL || s->drive_sc == NULL) { + printf("WTF no sd?\n"); + goto bad; } /* Now check if we can handle the request on this subdisk. */ @@ -239,30 +256,30 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 29 23:28:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 011F816A421; Sun, 29 Jul 2007 23:28:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B4D5A16A41F for ; Sun, 29 Jul 2007 23:28:46 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A9F7F13C4B4 for ; Sun, 29 Jul 2007 23:28:46 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TNSkdu096039 for ; Sun, 29 Jul 2007 23:28:46 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TNSkoZ096036 for perforce@freebsd.org; Sun, 29 Jul 2007 23:28:46 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 29 Jul 2007 23:28:46 GMT Message-Id: <200707292328.l6TNSkoZ096036@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124328 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 23:28:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=124328 Change 124328 by gcooper@optimus-revised_pkgtools on 2007/07/29 23:28:13 - Updating IPC comm API. - Add empty client and server IPC handlers. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/client.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/server.c#1 add Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#2 (text+ko) ==== @@ -2,6 +2,13 @@ #define __API_H +typedef struct message_type_t { + NULL_TYPE = 0, + ORIGIN_TYPE, + FILEDB_ENTRY_TYPE, + PKGDB_ENTRY_TYPE +}; + /** * The protocol consists of an 8-bit header and 1023 byte payload, devised as follows: * @@ -45,23 +52,25 @@ * */ -#define IPC_MSG_PKG_TYPE (3 << 6) -#define IPC_MSG_FILE_TYPE (2 << 6) +#define IPC_MSG_TYPE_SHIFT 6 -#define IPC_MSG_DB_TYPE (2 << 6) +#define IPC_MSG_PKGDB_TYPE (3 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_FILEDB_TYPE (2 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_ORIGIN_TYPE (1 << 6) +#define IPC_MSG_DB_TYPE (2 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_ENTRY_TYPE (0) +#define IPC_MSG_ORIGIN_TYPE (1 << IPC_MSG_TYPE_SHIFT) #define IPC_MSG_UPDATE (1 << 5) #define IPC_MSG_REMOVE_ENTRY (1 << 4) -#define IPC_MSG_DEPORIGIN_REL (1 << 3) +#define IPC_MSG_IS_DEPORIGIN (1 << 3) #define IPC_MSG_VALID_FILE (1 << 2) #define IPC_MSG_VALID_CHECKSUM (1 << 1) +ipc_info_t is_valid_ipc_message(char); + #endif From owner-p4-projects@FreeBSD.ORG Sun Jul 29 23:45:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9347916A41A; Sun, 29 Jul 2007 23:45:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6666516A417 for ; Sun, 29 Jul 2007 23:45:07 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 432C313C46B for ; Sun, 29 Jul 2007 23:45:07 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6TNj7Di099718 for ; Sun, 29 Jul 2007 23:45:07 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6TNj6lU099715 for perforce@freebsd.org; Sun, 29 Jul 2007 23:45:06 GMT (envelope-from gcooper@FreeBSD.org) Date: Sun, 29 Jul 2007 23:45:06 GMT Message-Id: <200707292345.l6TNj6lU099715@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jul 2007 23:45:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=124329 Change 124329 by gcooper@optimus-revised_pkgtools on 2007/07/29 23:44:15 Whitespace. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#3 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#3 (text+ko) ==== @@ -54,7 +54,7 @@ #define IPC_MSG_TYPE_SHIFT 6 -#define IPC_MSG_PKGDB_TYPE (3 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_PKGDB_TYPE (3 << IPC_MSG_TYPE_SHIFT) #define IPC_MSG_FILEDB_TYPE (2 << IPC_MSG_TYPE_SHIFT) #define IPC_MSG_DB_TYPE (2 << IPC_MSG_TYPE_SHIFT) From owner-p4-projects@FreeBSD.ORG Mon Jul 30 00:41:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6BD0916A41F; Mon, 30 Jul 2007 00:41:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1729F16A41A for ; Mon, 30 Jul 2007 00:41:18 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D0CD13C45E for ; Mon, 30 Jul 2007 00:41:18 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U0fHgs004347 for ; Mon, 30 Jul 2007 00:41:17 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U0fHUG004338 for perforce@freebsd.org; Mon, 30 Jul 2007 00:41:17 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 30 Jul 2007 00:41:17 GMT Message-Id: <200707300041.l6U0fHUG004338@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124331 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 00:41:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=124331 Change 124331 by gcooper@optimus-revised_pkgtools on 2007/07/30 00:41:05 api.c -- rename function. api.h -- 1. rename function. 2. whitespace. 3. Add data types. client.c/server.c -- Sketch in some functionality. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#4 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/client.c#2 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/server.c#2 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#2 (text+ko) ==== @@ -1,7 +1,7 @@ #include "lib/ipc/api.h" ipc_info_t * -is_valid_ipc_message(char header, message_type_t message_type) +parse_ipc_message(char header) { ipc_info_t *ipc_info = calloc(1, sizeof(ipc_info_t)); ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#4 (text+ko) ==== @@ -2,12 +2,19 @@ #define __API_H -typedef struct message_type_t { +typedef enum { NULL_TYPE = 0, ORIGIN_TYPE, FILEDB_ENTRY_TYPE, PKGDB_ENTRY_TYPE -}; +} message_type_e; + +typedef struct { + message_type_e message_type; + int valid; + int remove_entry; + int meta; +} ipc_info_t; /** * The protocol consists of an 8-bit header and 1023 byte payload, devised as follows: @@ -52,25 +59,28 @@ * */ -#define IPC_MSG_TYPE_SHIFT 6 +#define IPC_MSG_TYPE_SHIFT 6 + +#define IPC_MSG_PKGDB_TYPE (3 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_FILEDB_TYPE (2 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_PKGDB_TYPE (3 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_FILEDB_TYPE (2 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_DB_TYPE (2 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_DB_TYPE (2 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_ORIGIN_TYPE (1 << IPC_MSG_TYPE_SHIFT) -#define IPC_MSG_ORIGIN_TYPE (1 << IPC_MSG_TYPE_SHIFT) +#define IPC_MSG_UPDATE (1 << 5) -#define IPC_MSG_UPDATE (1 << 5) +#define IPC_MSG_REMOVE_ENTRY (1 << 4) -#define IPC_MSG_REMOVE_ENTRY (1 << 4) +#define IPC_MSG_IS_DEPORIGIN (1 << 3) -#define IPC_MSG_IS_DEPORIGIN (1 << 3) +#define IPC_MSG_VALID_FILE (1 << 2) -#define IPC_MSG_VALID_FILE (1 << 2) +#define IPC_MSG_VALID_CHECKSUM (1 << 1) -#define IPC_MSG_VALID_CHECKSUM (1 << 1) +#define IPC_VALID_MESSAGE 0 +#define IPC_INVALID_MESSAGE 1 -ipc_info_t is_valid_ipc_message(char); +ipc_info_t* parse_ipc_message(char); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/client.c#2 (text+ko) ==== @@ -1,0 +1,33 @@ +#include "lib/ipc/client.h" + +int +client_service_ipc_recv(int sock, ipc_info_t *ipc_info, char *msg) +{ + + char *data_payload = (msg+1); + + ipc_info = parse_ipc_message(*msg); + + if(ipc_info->valid) { + +// ipc_info->valid = 0; + + } + + return ipc_info->valid; + +} + +int +client_service_ipc_send(int sock, ipc_info_t ipc_info, char *msg) +{ + + if(ipc_info->valid) { + +// ipc_info->valid = 0; + + } + + return (int) send(sock, req_string, sizeof(msg), MSG_OOB | MSG_EOF | MSG_NOSIGNAL); + +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/server.c#2 (text+ko) ==== @@ -1,0 +1,33 @@ +#include "lib/ipc/server.h" + +int +server_service_ipc_recv(int sock, ipc_info_t *ipc_info, char *msg) +{ + + char *data_payload = (msg+1); + + ipc_info = parse_ipc_message(*msg); + + if(ipc_info->valid) { + +// ipc_info->valid = 0; + + } + + return ipc_info->valid; + +} + +int +server_service_ipc_send(int sock, ipc_info_t ipc_info, char *msg) +{ + + if(ipc_info->valid) { + +// ipc_info->valid = 0; + + } + + return (int) send(sock, req_string, sizeof(msg), MSG_OOB | MSG_EOF | MSG_NOSIGNAL); + +} From owner-p4-projects@FreeBSD.ORG Mon Jul 30 04:58:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C838216A421; Mon, 30 Jul 2007 04:58:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F94C16A41A for ; Mon, 30 Jul 2007 04:58:36 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 664A213C458 for ; Mon, 30 Jul 2007 04:58:36 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U4waLu044587 for ; Mon, 30 Jul 2007 04:58:36 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U4wauB044584 for perforce@freebsd.org; Mon, 30 Jul 2007 04:58:36 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 30 Jul 2007 04:58:36 GMT Message-Id: <200707300458.l6U4wauB044584@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124332 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 04:58:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124332 Change 124332 by gcooper@optimus-revised_pkgtools on 2007/07/30 04:58:21 ipc items: Filling in more blanks; renaming some functions and items to be more consistent and logical. file/api.h: Add some file stuff here. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/file/api.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#5 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/client.c#3 edit .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/server.c#3 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#3 (text+ko) ==== @@ -1,7 +1,7 @@ #include "lib/ipc/api.h" ipc_info_t * -parse_ipc_message(char header) +message_to_ipc(char header) { ipc_info_t *ipc_info = calloc(1, sizeof(ipc_info_t)); @@ -22,6 +22,7 @@ ipc_info->valid = ( !(header | IPC_MSG_IS_DEPORIGIN) && (!(header | IPC_MSG_UPDATE) || ( (header | IPC_MSG_UPDATE) && ipc_info->remove_entry )) ); ipc_info->remove_entry = (header | IPC_MSG_REMOVE_ENTRY); + ipc_info->file_entry = break; /** @@ -38,3 +39,27 @@ return ipc_info; } + +char +ipc_to_message(ipc_info_t *ipc_info) +{ + + char header; + + header = (ipc_info->message_type << IPC_MSG_TYPE_SHIFT); + + if(ipc_info->remove_entry) + header += IPC_MSG_REMOVE_ENTRY; + + if(ipc_info->file_info->exists) { + + if(ipc_info->file_info->valid_checksum) + header += IPC_MSG_VALID_CHECKSUM; + + header += IPC_MSG_FILE_EXISTS; + + } + + return header; + +} ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.h#5 (text+ko) ==== @@ -1,6 +1,12 @@ -#ifndef __API_H +#ifndef __IPC_API_H + +#define __IPC_API_H + +#include "lib/file/api.h" + +#define SEND(SOCK, MSG) send(SOCK, MSG, sizeof(MSG)) -#define __API_H +#define RECV(SOCK, MSG) recv(SOCK, MSG, sizeof(MSG)) typedef enum { NULL_TYPE = 0, @@ -10,10 +16,17 @@ } message_type_e; typedef struct { + char path[FILENAME_MAX+1]; + char checksum[MAX_CHECKSUM_LENGTH+1]; + int exists; + int checksum_matches; +} file_info_t; + +typedef struct { + int remove_entry; + int valid; message_type_e message_type; - int valid; - int remove_entry; - int meta; + file_info_t file_info; } ipc_info_t; /** @@ -24,8 +37,8 @@ * 2 Update * 3 Remove * 4 Origin type - * 5 Valid file - * 6 Valid checksum + * 5 Checksum + * 6 File exists * * =================================================== * Category | Value | Meaning @@ -43,19 +56,20 @@ * completely remove entry * from database. * For package entries, - * set status to deinstalled - * | 0 | Do nothing (. + * set status to 'not + * installed'. + * | 0 | Do nothing. * =================================================== * Origin type | 1 | Origin. * | 0 | Deporigin. * =================================================== - * Valid file | 1 | File exists in its - * respective spot. - * | 0 | File doesn't exist. + * File exists | 1 | (Self-explanatory) + * File doesn't | 0 | + * exist * =================================================== - * Valid | 1 | Calculated checksum - * checksum matches. - * | 0 | Checksum didn't match. + * Valid | 1 | Checksum passes. + * checksum + * Bad checksum | 0 | Checksum failed. * */ @@ -74,13 +88,14 @@ #define IPC_MSG_IS_DEPORIGIN (1 << 3) -#define IPC_MSG_VALID_FILE (1 << 2) +#define IPC_MSG_FILE_EXISTS (1 << 2) #define IPC_MSG_VALID_CHECKSUM (1 << 1) #define IPC_VALID_MESSAGE 0 #define IPC_INVALID_MESSAGE 1 -ipc_info_t* parse_ipc_message(char); +ipc_info_t* message_to_ipc(char); +char ipc_to_message(ipc_info_t*); #endif ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/client.c#3 (text+ko) ==== @@ -6,6 +6,8 @@ char *data_payload = (msg+1); + RECV(sock, msg); + ipc_info = parse_ipc_message(*msg); if(ipc_info->valid) { @@ -19,15 +21,12 @@ } int -client_service_ipc_send(int sock, ipc_info_t ipc_info, char *msg) +client_service_ipc_send(int sock, ipc_info_t *ipc_info, char *msg) { - if(ipc_info->valid) { + *msg = ipc_to_msg(ipc_info); -// ipc_info->valid = 0; - - } - - return (int) send(sock, req_string, sizeof(msg), MSG_OOB | MSG_EOF | MSG_NOSIGNAL); + if(SEND(sock, msg) < 0) + return -1; } ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/server.c#3 (text+ko) ==== @@ -6,7 +6,9 @@ char *data_payload = (msg+1); - ipc_info = parse_ipc_message(*msg); + RECV(sock, msg); + + ipc_info = message_to_ipc(*msg); if(ipc_info->valid) { @@ -19,15 +21,12 @@ } int -server_service_ipc_send(int sock, ipc_info_t ipc_info, char *msg) +server_service_ipc_send(int sock, ipc_info_t *ipc_info, char *msg) { - if(ipc_info->valid) { + *msg = ipc_to_message(ipc_info); -// ipc_info->valid = 0; - - } - - return (int) send(sock, req_string, sizeof(msg), MSG_OOB | MSG_EOF | MSG_NOSIGNAL); + if(SEND(sock, msg) < 0) + return -1; } From owner-p4-projects@FreeBSD.ORG Mon Jul 30 05:52:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0E3CA16A419; Mon, 30 Jul 2007 05:52:45 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF6F216A417 for ; Mon, 30 Jul 2007 05:52:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B671013C442 for ; Mon, 30 Jul 2007 05:52:44 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U5qiaS049272 for ; Mon, 30 Jul 2007 05:52:44 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U5qi67049269 for perforce@freebsd.org; Mon, 30 Jul 2007 05:52:44 GMT (envelope-from peter@freebsd.org) Date: Mon, 30 Jul 2007 05:52:44 GMT Message-Id: <200707300552.l6U5qi67049269@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124334 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 05:52:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=124334 Change 124334 by peter@peter_overcee on 2007/07/30 05:52:31 TCPTV_MIN is in units of ticks. When we change HZ=1000, the default value is now 1/10th of the original value. This is important because it means tcp sessions now time out at around 10-12 seconds instead of the old behavior of 105-130 seconds on a local ethernet session. A 10 second outage is real easy to achieve if you bump or move ethernet cables etc. Affected files ... .. //depot/projects/hammer/sys/dev/si/si.c#24 edit .. //depot/projects/hammer/sys/dev/si/si_pci.c#8 edit .. //depot/projects/hammer/sys/netinet/tcp_subr.c#70 edit .. //depot/projects/hammer/sys/netinet/tcp_timer.h#12 edit Differences ... ==== //depot/projects/hammer/sys/dev/si/si.c#24 (text+ko) ==== ==== //depot/projects/hammer/sys/dev/si/si_pci.c#8 (text+ko) ==== @@ -105,6 +105,21 @@ goto fail; } + if (pci_get_devid(dev) == 0x200011cb) { + /* Perform a PLX control register fixup */ + int rid = PCIR_BAR(0); + plx_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + &rid, RF_ACTIVE); + if (plx_res == NULL) { + device_printf(dev, "couldn't map plx registers\n"); + } else { + uint32_t *maddr; + addr = rman_get_virtual(plx_res); + device_printf(dev, "PLX register 0x50: 0x%08x\n", addr[0x50 / 4]); + bus_release_resource(dev, SYS_RES_MEMORY, rid, plx_res); + } + } + error = siattach(dev); if (error) goto fail; ==== //depot/projects/hammer/sys/netinet/tcp_subr.c#70 (text+ko) ==== @@ -258,7 +258,7 @@ tcp_keepintvl = TCPTV_KEEPINTVL; tcp_maxpersistidle = TCPTV_KEEP_IDLE; tcp_msl = TCPTV_MSL; - tcp_rexmit_min = TCPTV_MIN; + tcp_rexmit_min = TCPTV_MIN < 1 ? 1 : TCPTV_MIN; tcp_rexmit_slop = TCPTV_CPU_VAR; tcp_inflight_rttthresh = TCPTV_INFLIGHT_RTTTHRESH; tcp_finwait2_timeout = TCPTV_FINWAIT2_TIMEOUT; ==== //depot/projects/hammer/sys/netinet/tcp_timer.h#12 (text+ko) ==== @@ -111,7 +111,7 @@ * The prior minimum of 1*hz (1 second) badly breaks throughput on any * networks faster then a modem that has minor (e.g. 1%) packet loss. */ -#define TCPTV_MIN ( 3 ) /* minimum allowable value */ +#define TCPTV_MIN ( hz/33 ) /* minimum allowable value */ #define TCPTV_CPU_VAR ( hz/5 ) /* cpu variance allowed (200ms) */ #define TCPTV_REXMTMAX ( 64*hz) /* max allowable REXMT value */ From owner-p4-projects@FreeBSD.ORG Mon Jul 30 05:55:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4498216A41A; Mon, 30 Jul 2007 05:55:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 00FC616A468 for ; Mon, 30 Jul 2007 05:55:50 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D479013C461 for ; Mon, 30 Jul 2007 05:55:49 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U5tnEI049484 for ; Mon, 30 Jul 2007 05:55:49 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U5tn2B049481 for perforce@freebsd.org; Mon, 30 Jul 2007 05:55:49 GMT (envelope-from peter@freebsd.org) Date: Mon, 30 Jul 2007 05:55:49 GMT Message-Id: <200707300555.l6U5tn2B049481@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124336 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 05:55:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=124336 Change 124336 by peter@peter_overcee on 2007/07/30 05:54:53 Previous submit was the beginnings of a hack workaround for the PLX bridge chip's register settings. Older cards had pci transaction bugs due to an improper configuration. Affected files ... .. //depot/projects/hammer/sys/dev/si/si.c#25 edit Differences ... ==== //depot/projects/hammer/sys/dev/si/si.c#25 (text+ko) ==== From owner-p4-projects@FreeBSD.ORG Mon Jul 30 08:05:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 86AB416A41B; Mon, 30 Jul 2007 08:05:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42EFC16A417 for ; Mon, 30 Jul 2007 08:05:29 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3721813C467 for ; Mon, 30 Jul 2007 08:05:29 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U85TJF061624 for ; Mon, 30 Jul 2007 08:05:29 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U85S2Y061621 for perforce@freebsd.org; Mon, 30 Jul 2007 08:05:28 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 30 Jul 2007 08:05:28 GMT Message-Id: <200707300805.l6U85S2Y061621@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124337 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 08:05:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124337 Change 124337 by lulf@lulf_carrot on 2007/07/30 08:05:11 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.arm#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_bus.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_domain.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/kernel.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mutex.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_meter.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#8 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/Makefile.arm#3 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.arm -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.arm,v 1.33 2007/05/16 17:23:53 wkoszek Exp $ +# $FreeBSD: src/sys/conf/Makefile.arm,v 1.34 2007/07/27 14:42:25 cognet Exp $ # # Makefile for FreeBSD # @@ -66,23 +66,27 @@ FILES_CPU_FUNC = $S/$M/$M/cpufunc_asm_arm7tdmi.S \ $S/$M/$M/cpufunc_asm_arm8.S $S/$M/$M/cpufunc_asm_arm9.S \ $S/$M/$M/cpufunc_asm_sa1.S $S/$M/$M/cpufunc_asm_arm10.S \ - $S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S + $S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S \ + $S/$M/$M/cpufunc_asm_xscale_c3.S trampoline: ${KERNEL_KO}.tramp ${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$M/inckern.S $S/$M/$M/elf_trampoline.c echo "#define KERNNAME \"${KERNEL_KO}.tmp\"" >opt_kernname.h sed s/${KERNVIRTADDR}/${KERNPHYSADDR}/ ldscript.$M > ldscript.$M.tramp sed s/" + SIZEOF_HEADERS"// ldscript.$M.tramp > \ ldscript.$M.tramp.noheader + echo "#include " >tmphack.S + echo "ENTRY(_start)" >>tmphack.S + echo "bl _startC" >>tmphack.S ${OBJCOPY} --strip-symbol '$$d' --strip-symbol '$$a' \ -g --strip-symbol '$$t' ${FULLKERNEL} ${KERNEL_KO}.tmp eval $$(stat -s ${KERNEL_KO}.tmp) && \ echo "#define KERNSIZE $$st_size" >>opt_kernname.h ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp \ - $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.tramp + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o \ - ${KERNEL_KO}.tramp.noheader + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ ${KERNEL_KO}.tramp.bin ${OBJCOPY} ${STRIP_FLAGS} ${KERNEL_KO}.tmp @@ -95,15 +99,15 @@ echo "#define KERNCOMPSIZE $$st_size" >>opt_kernname.h ${CC} -O2 -DKZIP -I. -c $S/kern/inflate.c -o inflate-tramp.o ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp \ - -DKZIP $S/$M/$M/elf_trampoline.c inflate-tramp.o $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp + -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ + $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - -DKZIP $S/$M/$M/elf_trampoline.c inflate-tramp.o $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader + -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ + $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ ${KERNEL_KO}.gz.tramp.bin rm ${KERNEL_KO}.tmp.gz ${KERNEL_KO}.tramp.noheader opt_kernname.h \ - inflate-tramp.o + inflate-tramp.o tmphack.S %BEFORE_DEPEND ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.238 2007/07/23 09:42:31 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.239 2007/07/27 09:34:42 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -703,7 +703,8 @@ #else ct.year += 2000; #endif - /* Should we set dow = -1 because some clocks don't set it correctly? */ + /* Set dow = -1 because some clocks don't set it correctly. */ + ct.dow = -1; if (clock_ct_to_ts(&ct, &ts)) { printf("Invalid time in clock: check and reset the date!\n"); return; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.233 2007/07/23 23:16:53 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.234 2007/07/27 09:21:17 attilio Exp $"); #include #include @@ -82,6 +82,23 @@ } void +upcall_reap(void) +{ + TAILQ_HEAD(, kse_upcall) zupcalls; + struct kse_upcall *ku_item, *ku_tmp; + + TAILQ_INIT(&zupcalls); + mtx_lock_spin(&kse_lock); + if (!TAILQ_EMPTY(&zombie_upcalls)) { + TAILQ_CONCAT(&zupcalls, &zombie_upcalls, ku_link); + TAILQ_INIT(&zombie_upcalls); + } + mtx_unlock_spin(&kse_lock); + TAILQ_FOREACH_SAFE(ku_item, &zupcalls, ku_link, ku_tmp) + uma_zfree(upcall_zone, ku_item); +} + +void upcall_remove(struct thread *td) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#6 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.251 2007/07/23 14:52:21 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.252 2007/07/27 09:21:17 attilio Exp $"); #include #include @@ -299,6 +299,9 @@ td_first = td_next; } } +#ifdef KSE + upcall_reap(); +#endif } /* ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_bus.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.200 2007/05/23 17:28:21 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_bus.c,v 1.201 2007/07/27 11:59:56 rwatson Exp $"); #include "opt_bus.h" @@ -3464,9 +3464,6 @@ int error; if (dev->parent != NULL) { - if ((flags &~ INTR_ENTROPY) == (INTR_TYPE_NET | INTR_MPSAFE) && - !debug_mpsafenet) - flags &= ~INTR_MPSAFE; error = BUS_SETUP_INTR(dev->parent, dev, r, flags, filter, handler, arg, cookiep); if (error == 0) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_domain.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.49 2007/05/16 20:41:07 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/uipc_domain.c,v 1.50 2007/07/27 11:59:56 rwatson Exp $"); #include #include @@ -211,13 +211,8 @@ if (max_linkhdr < 16) /* XXX */ max_linkhdr = 16; - if (debug_mpsafenet) { - callout_init(&pffast_callout, CALLOUT_MPSAFE); - callout_init(&pfslow_callout, CALLOUT_MPSAFE); - } else { - callout_init(&pffast_callout, 0); - callout_init(&pfslow_callout, 0); - } + callout_init(&pffast_callout, CALLOUT_MPSAFE); + callout_init(&pfslow_callout, CALLOUT_MPSAFE); mtx_lock(&dom_mtx); KASSERT(domain_init_status == 0, ("domaininit called too late!")); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/kernel.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ * SUCH DAMAGE. * * @(#)kernel.h 8.3 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/sys/kernel.h,v 1.135 2007/04/09 22:29:13 pjd Exp $ + * $FreeBSD: src/sys/sys/kernel.h,v 1.136 2007/07/27 11:59:57 rwatson Exp $ */ #ifndef _SYS_KERNEL_H_ @@ -343,11 +343,6 @@ #define TUNABLE_STR_FETCH(path, var, size) \ getenv_string((path), (var), (size)) -void net_warn_not_mpsafe(const char *component); -#define NET_NEEDS_GIANT(component) \ - SYSINIT(__CONCAT(__net_warn_not_mpsafe_, __LINE__), \ - SI_SUB_SETTINGS, SI_ORDER_SECOND, net_warn_not_mpsafe, component); - struct intr_config_hook { TAILQ_ENTRY(intr_config_hook) ich_links; void (*ich_func)(void *arg); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mutex.h#4 (text+ko) ==== @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * from BSDI $Id: mutex.h,v 2.7.2.35 2000/04/27 03:10:26 cp Exp $ - * $FreeBSD: src/sys/sys/mutex.h,v 1.98 2007/07/18 20:46:06 jeff Exp $ + * $FreeBSD: src/sys/sys/mutex.h,v 1.100 2007/07/28 07:31:30 rwatson Exp $ */ #ifndef _SYS_MUTEX_H_ @@ -397,35 +397,17 @@ } while (0) /* - * Network MPSAFE temporary workarounds. When debug_mpsafenet - * is 1 the network is assumed to operate without Giant on the - * input path and protocols that require Giant must collect it - * on entry. When 0 Giant is grabbed in the network interface - * ISR's and in the netisr path and there is no need to grab - * the Giant lock. Note that, unlike PICKUP_GIANT() and - * DROP_GIANT(), these macros directly wrap mutex operations - * without special recursion handling. - * - * This mechanism is intended as temporary until everything of - * importance is properly locked. Note: the semantics for - * NET_{LOCK,UNLOCK}_GIANT() are not the same as DROP_GIANT() - * and PICKUP_GIANT(), as they are plain mutex operations - * without a recursion counter. + * With the advent of fine-grained locking, the Giant lock is no longer + * required around the network stack. These macros exist for historical + * reasons, allowing conditional acquisition of Giant based on a debugging + * setting, and will be removed. */ -extern int debug_mpsafenet; /* defined in net/netisr.c */ #define NET_LOCK_GIANT() do { \ - if (!debug_mpsafenet) \ - mtx_lock(&Giant); \ } while (0) #define NET_UNLOCK_GIANT() do { \ - if (!debug_mpsafenet) \ - mtx_unlock(&Giant); \ } while (0) #define NET_ASSERT_GIANT() do { \ - if (!debug_mpsafenet) \ - mtx_assert(&Giant, MA_OWNED); \ } while (0) -#define NET_CALLOUT_MPSAFE (debug_mpsafenet ? CALLOUT_MPSAFE : 0) struct mtx_args { struct mtx *ma_mtx; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#6 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * @(#)proc.h 8.15 (Berkeley) 5/19/95 - * $FreeBSD: src/sys/sys/proc.h,v 1.488 2007/07/23 14:52:22 attilio Exp $ + * $FreeBSD: src/sys/sys/proc.h,v 1.489 2007/07/27 09:21:18 attilio Exp $ */ #ifndef _SYS_PROC_H_ @@ -871,6 +871,7 @@ #ifdef KSE void kse_unlink(struct thread *); void kseinit(void); +void upcall_reap(void); void upcall_remove(struct thread *td); #endif void cpu_set_upcall(struct thread *td, struct thread *td0); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/vmmeter.h#5 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)vmmeter.h 8.2 (Berkeley) 7/10/94 - * $FreeBSD: src/sys/sys/vmmeter.h,v 1.32 2007/06/10 21:59:13 attilio Exp $ + * $FreeBSD: src/sys/sys/vmmeter.h,v 1.33 2007/07/27 20:01:21 alc Exp $ */ #ifndef _SYS_VMMETER_H_ @@ -72,6 +72,7 @@ u_int v_pdwakeups; /* (f) times daemon has awaken from sleep */ u_int v_pdpages; /* (q) pages analyzed by daemon */ + u_int v_tcached; /* (q) total pages cached */ u_int v_dfree; /* (q) pages freed by daemon */ u_int v_pfree; /* (q) pages freed by exiting processes */ u_int v_tfree; /* (p) total pages freed */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_meter.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_meter.c,v 1.95 2007/07/12 22:23:28 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_meter.c,v 1.96 2007/07/27 20:01:21 alc Exp $"); #include #include @@ -329,6 +329,8 @@ &cnt.v_pdwakeups, 0, vcnt, "IU", "Pagedaemon wakeups"); SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_pdpages, CTLTYPE_UINT|CTLFLAG_RD, &cnt.v_pdpages, 0, vcnt, "IU", "Pagedaemon page scans"); +SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_tcached, CTLTYPE_UINT|CTLFLAG_RD, + &cnt.v_tcached, 0, vcnt, "IU", "Total pages cached"); SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_dfree, CTLTYPE_UINT|CTLFLAG_RD, &cnt.v_dfree, 0, vcnt, "IU", ""); SYSCTL_PROC(_vm_stats_vm, OID_AUTO, v_pfree, CTLTYPE_UINT|CTLFLAG_RD, ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_page.c#8 (text+ko) ==== @@ -97,7 +97,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.352 2007/07/14 21:21:17 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/vm/vm_page.c,v 1.353 2007/07/27 20:01:21 alc Exp $"); #include #include @@ -1363,6 +1363,7 @@ } if (VM_PAGE_INQUEUE1(m, PQ_CACHE)) return; + cnt.v_tcached++; /* * Remove all pmaps and indicate that the page is not From owner-p4-projects@FreeBSD.ORG Mon Jul 30 09:23:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A746416A418; Mon, 30 Jul 2007 09:23:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 632F516A41B for ; Mon, 30 Jul 2007 09:23:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 57A3D13C45B for ; Mon, 30 Jul 2007 09:23:05 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U9N5vu077216 for ; Mon, 30 Jul 2007 09:23:05 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U9N5nC077213 for perforce@freebsd.org; Mon, 30 Jul 2007 09:23:05 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 30 Jul 2007 09:23:05 GMT Message-Id: <200707300923.l6U9N5nC077213@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124338 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 09:23:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=124338 Change 124338 by gcooper@optimus-revised_pkgtools on 2007/07/30 09:22:33 Adding extentions for file functions like: 1. Checking if files exist. 2. Safe chmod'ing (via fchmod(2)) 3. Checksum validation (MD5, SHA1, SHA256 via md5(2), sha1(2) and sha256(2), respectively). Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/file/api.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/file/api.h#2 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/file/api.h#2 (text+ko) ==== @@ -2,11 +2,32 @@ #define __FILE_API_H +#include +#include +#include +#include +#include +#include + typedef struct { - char path[FILENAME_MAX+1]; - char checksum[MAX_CHECKSUM_LENGTH+1]; - int exists; - int checksum_matches; + char path[FILENAME_MAX+1]; + char checksum[MAX_CHECKSUM_LENGTH+1]; + int fd; + mode_t req_mode; } file_info_t; +typedef enum { + MD5, + SHA1, + SHA256 +} checksum_type_e; + +int checksum_matches(const file_info_t *, const checksum_type_e); + +#define OPEN(PATH, OPEN_FLAGS) open(PATH, OPEN_FLAGS | O_DIRECT) + +int Fexists(const file_info_t *, const int); +int Exists(const file_info_t *); +int Chmod(const file_info_t *, const int, const int); + #endif From owner-p4-projects@FreeBSD.ORG Mon Jul 30 09:27:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F3B1916A41F; Mon, 30 Jul 2007 09:27:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A9E6816A419 for ; Mon, 30 Jul 2007 09:27:29 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9EBE013C474 for ; Mon, 30 Jul 2007 09:27:29 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6U9RTij077380 for ; Mon, 30 Jul 2007 09:27:29 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6U9RTiD077377 for perforce@freebsd.org; Mon, 30 Jul 2007 09:27:29 GMT (envelope-from gcooper@FreeBSD.org) Date: Mon, 30 Jul 2007 09:27:29 GMT Message-Id: <200707300927.l6U9RTiD077377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124339 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 09:27:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=124339 Change 124339 by gcooper@optimus-revised_pkgtools on 2007/07/30 09:26:27 Minute changes to IPC API calls to make checksum and file existence into dynamic function calls, as opposed to statically set flags (which can change at any given time). Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#4 edit Differences ... ==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/ipc/api.c#4 (text+ko) ==== @@ -51,9 +51,9 @@ if(ipc_info->remove_entry) header += IPC_MSG_REMOVE_ENTRY; - if(ipc_info->file_info->exists) { + if(Fexists(ipc_info->file_info, 0)) { - if(ipc_info->file_info->valid_checksum) + if(checksum_matches(ipc_info->file_info, MD5)) header += IPC_MSG_VALID_CHECKSUM; header += IPC_MSG_FILE_EXISTS; From owner-p4-projects@FreeBSD.ORG Mon Jul 30 10:34:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D1DD16A421; Mon, 30 Jul 2007 10:34:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E0DC616A41F for ; Mon, 30 Jul 2007 10:34:55 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D19DF13C49D for ; Mon, 30 Jul 2007 10:34:55 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UAYtjA091546 for ; Mon, 30 Jul 2007 10:34:55 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UAYsg1091543 for perforce@freebsd.org; Mon, 30 Jul 2007 10:34:54 GMT (envelope-from thioretic@FreeBSD.org) Date: Mon, 30 Jul 2007 10:34:54 GMT Message-Id: <200707301034.l6UAYsg1091543@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124342 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 10:34:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=124342 Change 124342 by thioretic@thioretic on 2007/07/30 10:34:47 IFC Affected files ... .. //depot/projects/soc2007/thioretic_gidl/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_signal.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl/conf/files#2 integrate .. //depot/projects/soc2007/thioretic_gidl/conf/options#2 integrate .. //depot/projects/soc2007/thioretic_gidl/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/ata/ata-disk.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/nge/if_nge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/re/if_re.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/rp/rp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/dev/vge/if_vge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/ntfs/ntfs_subr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/cpufreq/smist.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/isa/clock.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_proto.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/i386/linux/syscalls.master#2 integrate .. //depot/projects/soc2007/thioretic_gidl/kern/kern_descrip.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/kern/kern_exec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/kern/kern_fork.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/kern/kern_resource.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/i2c/controllers/viapm/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/modules/msdosfs/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/bridgestp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/if.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/if_lagg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/if_tap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/net/if_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_mppc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_nat.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_nat.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_ppp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netgraph/ng_pptpgre.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netinet/in.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netinet/in_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/netinet/tcp_hostcache.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/pci/if_rlreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/pci/if_ste.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl/sys/socketvar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/sys/syscallsubr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl/ufs/ffs/ffs_vnops.c#2 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl/amd64/isa/clock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.1 2005/07/18 19:52:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.2 2007/06/29 21:05:27 jhb Exp $"); /* * Routines to handle clock hardware. @@ -61,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -269,7 +270,21 @@ int getit_calls = 1; int n1; static int state = 0; +#endif + if (tsc_freq != 0 && !tsc_is_broken) { + uint64_t start, end, now; + + sched_pin(); + start = rdtsc(); + end = start + (tsc_freq * n) / 1000000; + do { + now = rdtsc(); + } while (now < end || (now > start && end < start)); + sched_unpin(); + return; + } +#ifdef DELAYDEBUG if (state == 0) { state = 1; for (n1 = 1; n1 <= 10000000; n1 *= 10) ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux.h#2 (text+ko) ==== @@ -8,7 +8,7 @@ * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer + * notice, this list of conditions and the following disclaimer * in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the @@ -27,13 +27,11 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.1 2004/08/16 07:55:06 tjr Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.1.8.3 2007/07/08 12:20:35 netchild Exp $ */ -#ifndef _AMD64_LINUX_LINUX_H_ -#define _AMD64_LINUX_LINUX_H_ - -#include /* for sigval union */ +#ifndef _AMD64_LINUX_H_ +#define _AMD64_LINUX_H_ #include @@ -41,20 +39,20 @@ * debugging support */ extern u_char linux_debug_map[]; -#define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) -#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid -#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid +#define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) +#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid +#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_LINUX); #endif -#define LINUX32_USRSTACK ((1ul << 32) - PAGE_SIZE) +#define LINUX32_USRSTACK ((1ul << 32) - PAGE_SIZE) /* XXX 16 = sizeof(linux32_ps_strings) */ -#define LINUX32_PS_STRINGS (LINUX32_USRSTACK - 16) -#define LINUX32_MAXDSIZ (512*1024*1024) /* 512MB */ -#define LINUX32_MAXSSIZ (64*1024*1024) /* 64MB */ -#define LINUX32_MAXVMEM 0 /* Unlimited */ +#define LINUX32_PS_STRINGS (LINUX32_USRSTACK - 16) +#define LINUX32_MAXDSIZ (512 * 1024 * 1024) /* 512MB */ +#define LINUX32_MAXSSIZ (64 * 1024 * 1024) /* 64MB */ +#define LINUX32_MAXVMEM 0 /* Unlimited */ #define PTRIN(v) (void *)(uintptr_t)(v) #define PTROUT(v) (l_uintptr_t)(uintptr_t)(v) @@ -134,7 +132,7 @@ #define LINUX_RLIMIT_NPROC 6 #define LINUX_RLIMIT_NOFILE 7 #define LINUX_RLIMIT_MEMLOCK 8 -#define LINUX_RLIMIT_AS 9 /* address space limit */ +#define LINUX_RLIMIT_AS 9 /* Address space limit */ #define LINUX_RLIM_NLIMITS 10 @@ -169,12 +167,21 @@ #define LINUX_MAP_ANON 0x0020 #define LINUX_MAP_GROWSDOWN 0x0100 +struct l_mmap_argv { + l_uintptr_t addr; + l_size_t len; + l_int prot; + l_int flags; + l_int fd; + l_off_t pgoff; +} __packed; + /* * stat family of syscalls */ struct l_timespec { - l_ulong tv_sec; - l_ulong tv_nsec; + l_time_t tv_sec; + l_long tv_nsec; } __packed; struct l_newstat { @@ -197,6 +204,24 @@ l_ulong __unused5; } __packed; +struct l_stat { + l_ushort st_dev; + l_ulong st_ino; + l_ushort st_mode; + l_ushort st_nlink; + l_ushort st_uid; + l_ushort st_gid; + l_ushort st_rdev; + l_long st_size; + struct l_timespec st_atimespec; + struct l_timespec st_mtimespec; + struct l_timespec st_ctimespec; + l_long st_blksize; + l_long st_blocks; + l_ulong st_flags; + l_ulong st_gen; +}; + struct l_stat64 { l_ushort st_dev; u_char __pad0[10]; @@ -290,9 +315,9 @@ #define LINUX_SIGADDSET(set, sig) SIGADDSET(set, sig) /* sigaltstack */ -#define LINUX_MINSIGSTKSZ 2048 -#define LINUX_SS_ONSTACK 1 -#define LINUX_SS_DISABLE 2 +#define LINUX_MINSIGSTKSZ 2048 +#define LINUX_SS_ONSTACK 1 +#define LINUX_SS_DISABLE 2 int linux_to_bsd_sigaltstack(int lsa); int bsd_to_linux_sigaltstack(int bsa); @@ -355,11 +380,16 @@ l_uintptr_t uc_link; l_stack_t uc_stack; struct l_sigcontext uc_mcontext; - l_sigset_t uc_sigmask; + l_sigset_t uc_sigmask; } __packed; -#define LINUX_SI_MAX_SIZE 128 -#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3) +#define LINUX_SI_MAX_SIZE 128 +#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3) + +union l_sigval { + l_int sival_int; + l_uintptr_t sival_ptr; +}; typedef struct l_siginfo { l_int lsi_signo; @@ -381,7 +411,7 @@ struct { l_pid_t _pid; /* sender's pid */ l_uid16_t _uid; /* sender's uid */ - union sigval _sigval; + union l_sigval _sigval; } __packed _rt; struct { @@ -393,41 +423,41 @@ } __packed _sigchld; struct { - l_uintptr_t _addr; /* faulting insn/memory ref. */ + l_uintptr_t _addr; /* Faulting insn/memory ref. */ } __packed _sigfault; struct { - l_int _band; /* POLL_IN,POLL_OUT,POLL_MSG */ + l_int _band; /* POLL_IN,POLL_OUT,POLL_MSG */ l_int _fd; } __packed _sigpoll; } _sifields; } __packed l_siginfo_t; -#define lsi_pid _sifields._kill._pid -#define lsi_uid _sifields._kill._uid -#define lsi_status _sifields._sigchld._status -#define lsi_utime _sifields._sigchld._utime -#define lsi_stime _sifields._sigchld._stime -#define lsi_value _sifields._rt._sigval -#define lsi_int _sifields._rt._sigval.sival_int -#define lsi_ptr _sifields._rt._sigval.sival_ptr -#define lsi_addr _sifields._sigfault._addr -#define lsi_band _sifields._sigpoll._band -#define lsi_fd _sifields._sigpoll._fd +#define lsi_pid _sifields._kill._pid +#define lsi_uid _sifields._kill._uid +#define lsi_status _sifields._sigchld._status +#define lsi_utime _sifields._sigchld._utime +#define lsi_stime _sifields._sigchld._stime +#define lsi_value _sifields._rt._sigval +#define lsi_int _sifields._rt._sigval.sival_int +#define lsi_ptr _sifields._rt._sigval.sival_ptr +#define lsi_addr _sifields._sigfault._addr +#define lsi_band _sifields._sigpoll._band +#define lsi_fd _sifields._sigpoll._fd struct l_fpreg { - u_int16_t significand[4]; - u_int16_t exponent; + u_int16_t significand[4]; + u_int16_t exponent; } __packed; struct l_fpxreg { - u_int16_t significand[4]; - u_int16_t exponent; - u_int16_t padding[3]; + u_int16_t significand[4]; + u_int16_t exponent; + u_int16_t padding[3]; } __packed; struct l_xmmreg { - u_int32_t element[4]; + u_int32_t element[4]; } __packed; struct l_fpstate { @@ -441,13 +471,13 @@ u_int32_t datasel; struct l_fpreg _st[8]; u_int16_t status; - u_int16_t magic; /* 0xffff = regular FPU data */ + u_int16_t magic; /* 0xffff = regular FPU data */ /* FXSR FPU environment */ - u_int32_t _fxsr_env[6]; /* env is ignored */ + u_int32_t _fxsr_env[6]; /* env is ignored. */ u_int32_t mxcsr; u_int32_t reserved; - struct l_fpxreg _fxsr_st[8]; /* reg data is ignored */ + struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ struct l_xmmreg _xmm[8]; u_int32_t padding[56]; } __packed; @@ -497,18 +527,24 @@ /* * open/fcntl flags */ -#define LINUX_O_RDONLY 00 -#define LINUX_O_WRONLY 01 -#define LINUX_O_RDWR 02 -#define LINUX_O_CREAT 0100 -#define LINUX_O_EXCL 0200 -#define LINUX_O_NOCTTY 0400 -#define LINUX_O_TRUNC 01000 -#define LINUX_O_APPEND 02000 -#define LINUX_O_NONBLOCK 04000 +#define LINUX_O_RDONLY 00000000 +#define LINUX_O_WRONLY 00000001 +#define LINUX_O_RDWR 00000002 +#define LINUX_O_ACCMODE 00000003 +#define LINUX_O_CREAT 00000100 +#define LINUX_O_EXCL 00000200 +#define LINUX_O_NOCTTY 00000400 +#define LINUX_O_TRUNC 00001000 +#define LINUX_O_APPEND 00002000 +#define LINUX_O_NONBLOCK 00004000 #define LINUX_O_NDELAY LINUX_O_NONBLOCK -#define LINUX_O_SYNC 010000 -#define LINUX_FASYNC 020000 +#define LINUX_O_SYNC 00010000 +#define LINUX_FASYNC 00020000 +#define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ +#define LINUX_O_LARGEFILE 00100000 +#define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ +#define LINUX_O_NOFOLLOW 00400000 /* Do not follow links */ +#define LINUX_O_NOATIME 01000000 #define LINUX_F_DUPFD 0 #define LINUX_F_GETFD 1 @@ -529,15 +565,17 @@ #define LINUX_F_WRLCK 1 #define LINUX_F_UNLCK 2 +#define LINUX_AT_FDCWD -100 + /* * mount flags */ -#define LINUX_MS_RDONLY 0x0001 -#define LINUX_MS_NOSUID 0x0002 -#define LINUX_MS_NODEV 0x0004 -#define LINUX_MS_NOEXEC 0x0008 -#define LINUX_MS_REMOUNT 0x0020 - +#define LINUX_MS_RDONLY 0x0001 +#define LINUX_MS_NOSUID 0x0002 +#define LINUX_MS_NODEV 0x0004 +#define LINUX_MS_NOEXEC 0x0008 +#define LINUX_MS_REMOUNT 0x0020 + /* * SystemV IPC defines */ @@ -635,6 +673,13 @@ #define LINUX_SO_NO_CHECK 11 #define LINUX_SO_PRIORITY 12 #define LINUX_SO_LINGER 13 +#define LINUX_SO_PEERCRED 17 +#define LINUX_SO_RCVLOWAT 18 +#define LINUX_SO_SNDLOWAT 19 +#define LINUX_SO_RCVTIMEO 20 +#define LINUX_SO_SNDTIMEO 21 +#define LINUX_SO_TIMESTAMP 29 +#define LINUX_SO_ACCEPTCONN 30 #define LINUX_IP_TOS 1 #define LINUX_IP_TTL 2 @@ -684,7 +729,7 @@ } ifr_ifru; } __packed; -#define ifr_name ifr_ifrn.ifrn_name /* interface name */ +#define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ struct l_ifconf { @@ -719,4 +764,11 @@ l_short revents; } __packed; +#define LINUX_CLOCK_REALTIME 0 +#define LINUX_CLOCK_MONOTONIC 1 +#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2 +#define LINUX_CLOCK_THREAD_CPUTIME_ID 3 +#define LINUX_CLOCK_REALTIME_HR 4 +#define LINUX_CLOCK_MONOTONIC_HR 5 + #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,11 +29,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10 2005/06/24 17:41:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10.2.2 2007/07/08 12:20:35 netchild Exp $"); #include #include #include +#include +#include #include #include #include @@ -47,6 +49,7 @@ #include #include +#include #include #include @@ -113,7 +116,7 @@ * Allocate temporary demand zeroed space for argument and * environment strings */ - args->buf = (char *) kmem_alloc_wait(exec_map, + args->buf = (char *)kmem_alloc_wait(exec_map, PATH_MAX + ARG_MAX + MAXSHELLCMDLEN); if (args->buf == NULL) return (ENOMEM); @@ -130,7 +133,7 @@ copystr(fname, args->fname, PATH_MAX, &length) : copyinstr(fname, args->fname, PATH_MAX, &length); if (error != 0) - return (error); + goto err_exit; /* * extract arguments first @@ -139,22 +142,22 @@ for (;;) { error = copyin(p32++, &arg, sizeof(arg)); if (error) - return (error); + goto err_exit; if (arg == 0) break; argp = PTRIN(arg); error = copyinstr(argp, args->endp, args->stringspace, &length); if (error) { if (error == ENAMETOOLONG) - return (E2BIG); - else - return (error); + error = E2BIG; + + goto err_exit; } args->stringspace -= length; args->endp += length; args->argc++; } - + args->begin_envv = args->endp; /* @@ -165,7 +168,7 @@ for (;;) { error = copyin(p32++, &arg, sizeof(arg)); if (error) - return (error); + goto err_exit; if (arg == 0) break; envp = PTRIN(arg); @@ -173,9 +176,8 @@ &length); if (error) { if (error == ENAMETOOLONG) - return (E2BIG); - else - return (error); + error = E2BIG; + goto err_exit; } args->stringspace -= length; args->endp += length; @@ -184,6 +186,12 @@ } return (0); + +err_exit: + kmem_free_wakeup(exec_map, (vm_offset_t)args->buf, + PATH_MAX + ARG_MAX + MAXSHELLCMDLEN); + args->buf = NULL; + return (error); } int @@ -229,7 +237,7 @@ if (iovcnt > UIO_MAXIOV) return (EINVAL); iovlen = iovcnt * sizeof(struct iovec); - uio = malloc(iovlen + sizeof *uio, M_IOV, M_WAITOK); + uio = malloc(iovlen + sizeof(*uio), M_IOV, M_WAITOK); iov = (struct iovec *)(uio + 1); for (i = 0; i < iovcnt; i++) { error = copyin(&iovp[i], &iov32, sizeof(struct iovec32)); @@ -539,16 +547,6 @@ return (0); } -/* XXX move */ -struct l_mmap_argv { - l_ulong addr; - l_ulong len; - l_ulong prot; - l_ulong flags; - l_ulong fd; - l_ulong pgoff; -}; - #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) @@ -561,8 +559,8 @@ #ifdef DEBUG if (ldebug(mmap2)) - printf(ARGS(mmap2, "%p, %d, %d, 0x%08x, %d, %d"), - (void *)(intptr_t)args->addr, args->len, args->prot, + printf(ARGS(mmap2, "0x%08x, %d, %d, 0x%08x, %d, %d"), + args->addr, args->len, args->prot, args->flags, args->fd, args->pgoff); #endif @@ -588,10 +586,9 @@ #ifdef DEBUG if (ldebug(mmap)) - printf(ARGS(mmap, "%p, %d, %d, 0x%08x, %d, %d"), - (void *)(intptr_t)linux_args.addr, linux_args.len, - linux_args.prot, linux_args.flags, linux_args.fd, - linux_args.pgoff); + printf(ARGS(mmap, "0x%08x, %d, %d, 0x%08x, %d, %d"), + linux_args.addr, linux_args.len, linux_args.prot, + linux_args.flags, linux_args.fd, linux_args.pgoff); #endif if ((linux_args.pgoff % PAGE_SIZE) != 0) return (EINVAL); @@ -614,9 +611,20 @@ off_t pos; } */ bsd_args; int error; + struct file *fp; error = 0; bsd_args.flags = 0; + fp = NULL; + + /* + * Linux mmap(2): + * You must specify exactly one of MAP_SHARED and MAP_PRIVATE + */ + if (! ((linux_args->flags & LINUX_MAP_SHARED) ^ + (linux_args->flags & LINUX_MAP_PRIVATE))) + return (EINVAL); + if (linux_args->flags & LINUX_MAP_SHARED) bsd_args.flags |= MAP_SHARED; if (linux_args->flags & LINUX_MAP_PRIVATE) @@ -627,23 +635,60 @@ bsd_args.flags |= MAP_ANON; else bsd_args.flags |= MAP_NOSYNC; - if (linux_args->flags & LINUX_MAP_GROWSDOWN) { + if (linux_args->flags & LINUX_MAP_GROWSDOWN) bsd_args.flags |= MAP_STACK; - /* The linux MAP_GROWSDOWN option does not limit auto + /* + * PROT_READ, PROT_WRITE, or PROT_EXEC implies PROT_READ and PROT_EXEC + * on Linux/i386. We do this to ensure maximum compatibility. + * Linux/ia64 does the same in i386 emulation mode. + */ + bsd_args.prot = linux_args->prot; + if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC)) + bsd_args.prot |= PROT_READ | PROT_EXEC; + + /* Linux does not check file descriptor when MAP_ANONYMOUS is set. */ + bsd_args.fd = (bsd_args.flags & MAP_ANON) ? -1 : linux_args->fd; + if (bsd_args.fd != -1) { + /* + * Linux follows Solaris mmap(2) description: + * The file descriptor fildes is opened with + * read permission, regardless of the + * protection options specified. + */ + + if ((error = fget(td, bsd_args.fd, &fp)) != 0) + return (error); + if (fp->f_type != DTYPE_VNODE) { + fdrop(fp, td); + return (EINVAL); + } + + /* Linux mmap() just fails for O_WRONLY files */ + if (!(fp->f_flag & FREAD)) { + fdrop(fp, td); + return (EACCES); + } + + fdrop(fp, td); + } + + if (linux_args->flags & LINUX_MAP_GROWSDOWN) { + /* + * The Linux MAP_GROWSDOWN option does not limit auto * growth of the region. Linux mmap with this option * takes as addr the inital BOS, and as len, the initial * region size. It can then grow down from addr without - * limit. However, linux threads has an implicit internal + * limit. However, Linux threads has an implicit internal * limit to stack size of STACK_SIZE. Its just not - * enforced explicitly in linux. But, here we impose + * enforced explicitly in Linux. But, here we impose * a limit of (STACK_SIZE - GUARD_SIZE) on the stack * region, since we can do this with our mmap. * * Our mmap with MAP_STACK takes addr as the maximum * downsize limit on BOS, and as len the max size of - * the region. It them maps the top SGROWSIZ bytes, - * and autgrows the region down, up to the limit + * the region. It then maps the top SGROWSIZ bytes, + * and auto grows the region down, up to the limit * in addr. * * If we don't use the MAP_STACK option, the effect @@ -651,13 +696,10 @@ * fixed size of (STACK_SIZE - GUARD_SIZE). */ - /* This gives us TOS */ - bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) + - linux_args->len; - - if ((caddr_t)PTRIN(bsd_args.addr) > + if ((caddr_t)PTRIN(linux_args->addr) + linux_args->len > p->p_vmspace->vm_maxsaddr) { - /* Some linux apps will attempt to mmap + /* + * Some Linux apps will attempt to mmap * thread stacks near the top of their * address space. If their TOS is greater * than vm_maxsaddr, vm_map_growstack() @@ -673,8 +715,7 @@ * mmap's return value. */ PROC_LOCK(p); - p->p_vmspace->vm_maxsaddr = - (char *)LINUX32_USRSTACK - + p->p_vmspace->vm_maxsaddr = (char *)LINUX32_USRSTACK - lim_cur(p, RLIMIT_STACK); PROC_UNLOCK(p); } @@ -685,28 +726,19 @@ else bsd_args.len = STACK_SIZE - GUARD_SIZE; - /* This gives us a new BOS. If we're using VM_STACK, then + /* + * This gives us a new BOS. If we're using VM_STACK, then * mmap will just map the top SGROWSIZ bytes, and let * the stack grow down to the limit at BOS. If we're * not using VM_STACK we map the full stack, since we * don't have a way to autogrow it. */ - bsd_args.addr -= bsd_args.len; + bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) - + bsd_args.len; } else { bsd_args.addr = (caddr_t)PTRIN(linux_args->addr); bsd_args.len = linux_args->len; } - /* - * XXX i386 Linux always emulator forces PROT_READ on (why?) - * so we do the same. We add PROT_EXEC to work around buggy - * applications (e.g. Java) that take advantage of the fact - * that execute permissions are not enforced by x86 CPUs. - */ - bsd_args.prot = linux_args->prot | PROT_EXEC | PROT_READ; - if (linux_args->flags & LINUX_MAP_ANON) - bsd_args.fd = -1; - else - bsd_args.fd = linux_args->fd; bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE; bsd_args.pad = 0; @@ -727,6 +759,36 @@ } int +linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) +{ + struct mprotect_args bsd_args; + + bsd_args.addr = uap->addr; + bsd_args.len = uap->len; + bsd_args.prot = uap->prot; + if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC)) + bsd_args.prot |= PROT_READ | PROT_EXEC; + return (mprotect(td, &bsd_args)); +} + +int +linux_iopl(struct thread *td, struct linux_iopl_args *args) +{ + int error; + + if (args->level < 0 || args->level > 3) + return (EINVAL); + if ((error = suser(td)) != 0) + return (error); + if ((error = securelevel_gt(td->td_ucred, 0)) != 0) + return (error); + td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) | + (args->level * (PSL_IOPL / 3)); + + return (0); +} + +int linux_pipe(struct thread *td, struct linux_pipe_args *args) { int pip[2]; @@ -797,7 +859,7 @@ } /* - * Linux has two extra args, restart and oldmask. We dont use these, + * Linux has two extra args, restart and oldmask. We don't use these, * but it seems that "restart" is actually a context pointer that * enables the signal to happen with a different register set. */ @@ -1002,16 +1064,3 @@ return (copyout(&ts32, uap->interval, sizeof(ts32))); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - struct mprotect_args bsd_args; - - bsd_args.addr = uap->addr; - bsd_args.len = uap->len; - bsd_args.prot = uap->prot; - /* XXX PROT_READ implies PROT_EXEC; see linux_mmap_common(). */ - if ((bsd_args.prot & PROT_READ) != 0) - bsd_args.prot |= PROT_EXEC; - return (mprotect(td, &bsd_args)); -} ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -323,6 +323,9 @@ struct linux_uname_args { register_t dummy; }; +struct linux_iopl_args { + char level_l_[PADL_(l_ulong)]; l_ulong level; char level_r_[PADR_(l_ulong)]; +}; struct linux_vhangup_args { register_t dummy; }; @@ -765,6 +768,7 @@ int linux_newlstat(struct thread *, struct linux_newlstat_args *); int linux_newfstat(struct thread *, struct linux_newfstat_args *); int linux_uname(struct thread *, struct linux_uname_args *); +int linux_iopl(struct thread *, struct linux_iopl_args *); int linux_vhangup(struct thread *, struct linux_vhangup_args *); int linux_wait4(struct thread *, struct linux_wait4_args *); int linux_swapoff(struct thread *, struct linux_swapoff_args *); ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #define LINUX_SYS_exit 1 @@ -101,6 +101,7 @@ #define LINUX_SYS_linux_newlstat 107 #define LINUX_SYS_linux_newfstat 108 #define LINUX_SYS_linux_uname 109 +#define LINUX_SYS_linux_iopl 110 #define LINUX_SYS_linux_vhangup 111 #define LINUX_SYS_linux_wait4 114 #define LINUX_SYS_linux_swapoff 115 ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #include @@ -130,7 +130,7 @@ { SYF_MPSAFE | AS(linux_newlstat_args), (sy_call_t *)linux_newlstat, AUE_NULL }, /* 107 = linux_newlstat */ { SYF_MPSAFE | AS(linux_newfstat_args), (sy_call_t *)linux_newfstat, AUE_NULL }, /* 108 = linux_newfstat */ { SYF_MPSAFE | 0, (sy_call_t *)linux_uname, AUE_NULL }, /* 109 = linux_uname */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 110 = iopl */ + { SYF_MPSAFE | AS(linux_iopl_args), (sy_call_t *)linux_iopl, AUE_NULL }, /* 110 = linux_iopl */ { SYF_MPSAFE | 0, (sy_call_t *)linux_vhangup, AUE_NULL }, /* 111 = linux_vhangup */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 112 = idle */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 113 = vm86old */ ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.7.2.5 2007/05/23 18:24:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.7.2.9 2007/07/08 12:20:35 netchild Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -142,7 +142,8 @@ -100,-101,-102,-103,-104,-105,-106,-107,-108,-109, -110,-111, -40, -36,-112,-113, -39, -11, -87,-122, -116, -66, -6, -6, -6, -6, -6, -37, -38, -9, - -6, -6, -43, -42, -75, -6, -84 + -6, -6, -43, -42, -75,-125, -84, -95, -16, -74, + -72, -67, -71 }; int bsd_to_linux_signal[LINUX_SIGTBLSZ] = { @@ -327,7 +328,7 @@ /* Fill in POSIX parts */ frame.sf_si.lsi_signo = sig; frame.sf_si.lsi_code = code; - frame.sf_si.lsi_addr = PTROUT(regs->tf_err); + frame.sf_si.lsi_addr = PTROUT(regs->tf_addr); /* * Build the signal context to be used by sigreturn. @@ -399,6 +400,7 @@ td->td_pcb->pcb_ds = _udatasel; load_es(_udatasel); td->td_pcb->pcb_es = _udatasel; + /* leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -516,6 +518,7 @@ td->td_pcb->pcb_ds = _udatasel; load_es(_udatasel); td->td_pcb->pcb_es = _udatasel; + /* leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -972,7 +975,7 @@ struct sysentvec elf_linux_sysvec = { LINUX_SYS_MAXSYSCALL, linux_sysent, - 0xff, + 0, LINUX_SIGTBLSZ, bsd_to_linux_signal, ELAST + 1, ==== //depot/projects/soc2007/thioretic_gidl/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -201,7 +201,7 @@ 108 AUE_NULL MSTD { int linux_newfstat(l_uint fd, \ struct l_newstat *buf); } 109 AUE_NULL MSTD { int linux_uname(void); } -110 AUE_NULL UNIMPL iopl +110 AUE_NULL MSTD { int linux_iopl(l_ulong level); } 111 AUE_NULL MSTD { int linux_vhangup(void); } 112 AUE_NULL UNIMPL idle 113 AUE_NULL UNIMPL vm86old ==== //depot/projects/soc2007/thioretic_gidl/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 30 10:46:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5DD4716A46C; Mon, 30 Jul 2007 10:46:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2992616A420 for ; Mon, 30 Jul 2007 10:46:12 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1B81713C4E7 for ; Mon, 30 Jul 2007 10:46:12 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UAkBqw092396 for ; Mon, 30 Jul 2007 10:46:11 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UAk9cE092392 for perforce@freebsd.org; Mon, 30 Jul 2007 10:46:09 GMT (envelope-from thioretic@FreeBSD.org) Date: Mon, 30 Jul 2007 10:46:09 GMT Message-Id: <200707301046.l6UAk9cE092392@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124343 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 10:46:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=124343 Change 124343 by thioretic@thioretic on 2007/07/30 10:45:31 IFC Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_file.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_signal.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_signal.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_socket.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_stats.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/compat/linux/linux_uid16.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/NOTES#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/files#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/conf/options#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/contrib/pf/net/pf.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-all.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ata/ata-disk.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/firewire/firewire.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/nge/if_nge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/re/if_re.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/rp/rp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/sound/pci/hda/hdac.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/sound/pci/hda/hdac_private.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/sound/pci/ich.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/sound/pcm/ac97_patch.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/speaker/spkr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/stge/if_stge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/txp/if_txp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/dev/vge/if_vge.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/ntfs/ntfs_subr.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/ntfs/ntfs_subr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/cpufreq/smist.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/isa/clock.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_proto.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/linux_sysvec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/i386/linux/syscalls.master#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_descrip.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_exec.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_fork.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/kern/kern_resource.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/acpi/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/acpi/acpi_video/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/i2c/controllers/alpm/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/i2c/controllers/viapm/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/modules/msdosfs/Makefile#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/bridgestp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/ieee8023ad_lacp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/ieee8023ad_lacp.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_lagg.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_lagg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_tap.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/net/if_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_l2tp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_mppc.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_nat.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_nat.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_ppp.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netgraph/ng_pptpgre.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/in.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/in_var.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/netinet/tcp_hostcache.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/nfsclient/nfs_socket.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_rlreg.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/pci/if_ste.c#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/socketvar.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/syscallsubr.h#2 integrate .. //depot/projects/soc2007/thioretic_gidl2/ufs/ffs/ffs_vnops.c#2 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/amd64/isa/clock.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.1 2005/07/18 19:52:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.221.2.2 2007/06/29 21:05:27 jhb Exp $"); /* * Routines to handle clock hardware. @@ -61,6 +61,7 @@ #include #include #include +#include #include #include #include @@ -269,7 +270,21 @@ int getit_calls = 1; int n1; static int state = 0; +#endif + if (tsc_freq != 0 && !tsc_is_broken) { + uint64_t start, end, now; + + sched_pin(); + start = rdtsc(); + end = start + (tsc_freq * n) / 1000000; + do { + now = rdtsc(); + } while (now < end || (now > start && end < start)); + sched_unpin(); + return; + } +#ifdef DELAYDEBUG if (state == 0) { state = 1; for (n1 = 1; n1 <= 10000000; n1 *= 10) ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux.h#2 (text+ko) ==== @@ -8,7 +8,7 @@ * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer + * notice, this list of conditions and the following disclaimer * in this position and unchanged. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the @@ -27,13 +27,11 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.1 2004/08/16 07:55:06 tjr Exp $ + * $FreeBSD: src/sys/amd64/linux32/linux.h,v 1.1.8.3 2007/07/08 12:20:35 netchild Exp $ */ -#ifndef _AMD64_LINUX_LINUX_H_ -#define _AMD64_LINUX_LINUX_H_ - -#include /* for sigval union */ +#ifndef _AMD64_LINUX_H_ +#define _AMD64_LINUX_H_ #include @@ -41,20 +39,20 @@ * debugging support */ extern u_char linux_debug_map[]; -#define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) -#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid -#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid +#define ldebug(name) isclr(linux_debug_map, LINUX_SYS_linux_ ## name) +#define ARGS(nm, fmt) "linux(%ld): "#nm"("fmt")\n", (long)td->td_proc->p_pid +#define LMSG(fmt) "linux(%ld): "fmt"\n", (long)td->td_proc->p_pid #ifdef MALLOC_DECLARE MALLOC_DECLARE(M_LINUX); #endif -#define LINUX32_USRSTACK ((1ul << 32) - PAGE_SIZE) +#define LINUX32_USRSTACK ((1ul << 32) - PAGE_SIZE) /* XXX 16 = sizeof(linux32_ps_strings) */ -#define LINUX32_PS_STRINGS (LINUX32_USRSTACK - 16) -#define LINUX32_MAXDSIZ (512*1024*1024) /* 512MB */ -#define LINUX32_MAXSSIZ (64*1024*1024) /* 64MB */ -#define LINUX32_MAXVMEM 0 /* Unlimited */ +#define LINUX32_PS_STRINGS (LINUX32_USRSTACK - 16) +#define LINUX32_MAXDSIZ (512 * 1024 * 1024) /* 512MB */ +#define LINUX32_MAXSSIZ (64 * 1024 * 1024) /* 64MB */ +#define LINUX32_MAXVMEM 0 /* Unlimited */ #define PTRIN(v) (void *)(uintptr_t)(v) #define PTROUT(v) (l_uintptr_t)(uintptr_t)(v) @@ -134,7 +132,7 @@ #define LINUX_RLIMIT_NPROC 6 #define LINUX_RLIMIT_NOFILE 7 #define LINUX_RLIMIT_MEMLOCK 8 -#define LINUX_RLIMIT_AS 9 /* address space limit */ +#define LINUX_RLIMIT_AS 9 /* Address space limit */ #define LINUX_RLIM_NLIMITS 10 @@ -169,12 +167,21 @@ #define LINUX_MAP_ANON 0x0020 #define LINUX_MAP_GROWSDOWN 0x0100 +struct l_mmap_argv { + l_uintptr_t addr; + l_size_t len; + l_int prot; + l_int flags; + l_int fd; + l_off_t pgoff; +} __packed; + /* * stat family of syscalls */ struct l_timespec { - l_ulong tv_sec; - l_ulong tv_nsec; + l_time_t tv_sec; + l_long tv_nsec; } __packed; struct l_newstat { @@ -197,6 +204,24 @@ l_ulong __unused5; } __packed; +struct l_stat { + l_ushort st_dev; + l_ulong st_ino; + l_ushort st_mode; + l_ushort st_nlink; + l_ushort st_uid; + l_ushort st_gid; + l_ushort st_rdev; + l_long st_size; + struct l_timespec st_atimespec; + struct l_timespec st_mtimespec; + struct l_timespec st_ctimespec; + l_long st_blksize; + l_long st_blocks; + l_ulong st_flags; + l_ulong st_gen; +}; + struct l_stat64 { l_ushort st_dev; u_char __pad0[10]; @@ -290,9 +315,9 @@ #define LINUX_SIGADDSET(set, sig) SIGADDSET(set, sig) /* sigaltstack */ -#define LINUX_MINSIGSTKSZ 2048 -#define LINUX_SS_ONSTACK 1 -#define LINUX_SS_DISABLE 2 +#define LINUX_MINSIGSTKSZ 2048 +#define LINUX_SS_ONSTACK 1 +#define LINUX_SS_DISABLE 2 int linux_to_bsd_sigaltstack(int lsa); int bsd_to_linux_sigaltstack(int bsa); @@ -355,11 +380,16 @@ l_uintptr_t uc_link; l_stack_t uc_stack; struct l_sigcontext uc_mcontext; - l_sigset_t uc_sigmask; + l_sigset_t uc_sigmask; } __packed; -#define LINUX_SI_MAX_SIZE 128 -#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3) +#define LINUX_SI_MAX_SIZE 128 +#define LINUX_SI_PAD_SIZE ((LINUX_SI_MAX_SIZE/sizeof(l_int)) - 3) + +union l_sigval { + l_int sival_int; + l_uintptr_t sival_ptr; +}; typedef struct l_siginfo { l_int lsi_signo; @@ -381,7 +411,7 @@ struct { l_pid_t _pid; /* sender's pid */ l_uid16_t _uid; /* sender's uid */ - union sigval _sigval; + union l_sigval _sigval; } __packed _rt; struct { @@ -393,41 +423,41 @@ } __packed _sigchld; struct { - l_uintptr_t _addr; /* faulting insn/memory ref. */ + l_uintptr_t _addr; /* Faulting insn/memory ref. */ } __packed _sigfault; struct { - l_int _band; /* POLL_IN,POLL_OUT,POLL_MSG */ + l_int _band; /* POLL_IN,POLL_OUT,POLL_MSG */ l_int _fd; } __packed _sigpoll; } _sifields; } __packed l_siginfo_t; -#define lsi_pid _sifields._kill._pid -#define lsi_uid _sifields._kill._uid -#define lsi_status _sifields._sigchld._status -#define lsi_utime _sifields._sigchld._utime -#define lsi_stime _sifields._sigchld._stime -#define lsi_value _sifields._rt._sigval -#define lsi_int _sifields._rt._sigval.sival_int -#define lsi_ptr _sifields._rt._sigval.sival_ptr -#define lsi_addr _sifields._sigfault._addr -#define lsi_band _sifields._sigpoll._band -#define lsi_fd _sifields._sigpoll._fd +#define lsi_pid _sifields._kill._pid +#define lsi_uid _sifields._kill._uid +#define lsi_status _sifields._sigchld._status +#define lsi_utime _sifields._sigchld._utime +#define lsi_stime _sifields._sigchld._stime +#define lsi_value _sifields._rt._sigval +#define lsi_int _sifields._rt._sigval.sival_int +#define lsi_ptr _sifields._rt._sigval.sival_ptr +#define lsi_addr _sifields._sigfault._addr +#define lsi_band _sifields._sigpoll._band +#define lsi_fd _sifields._sigpoll._fd struct l_fpreg { - u_int16_t significand[4]; - u_int16_t exponent; + u_int16_t significand[4]; + u_int16_t exponent; } __packed; struct l_fpxreg { - u_int16_t significand[4]; - u_int16_t exponent; - u_int16_t padding[3]; + u_int16_t significand[4]; + u_int16_t exponent; + u_int16_t padding[3]; } __packed; struct l_xmmreg { - u_int32_t element[4]; + u_int32_t element[4]; } __packed; struct l_fpstate { @@ -441,13 +471,13 @@ u_int32_t datasel; struct l_fpreg _st[8]; u_int16_t status; - u_int16_t magic; /* 0xffff = regular FPU data */ + u_int16_t magic; /* 0xffff = regular FPU data */ /* FXSR FPU environment */ - u_int32_t _fxsr_env[6]; /* env is ignored */ + u_int32_t _fxsr_env[6]; /* env is ignored. */ u_int32_t mxcsr; u_int32_t reserved; - struct l_fpxreg _fxsr_st[8]; /* reg data is ignored */ + struct l_fpxreg _fxsr_st[8]; /* reg data is ignored. */ struct l_xmmreg _xmm[8]; u_int32_t padding[56]; } __packed; @@ -497,18 +527,24 @@ /* * open/fcntl flags */ -#define LINUX_O_RDONLY 00 -#define LINUX_O_WRONLY 01 -#define LINUX_O_RDWR 02 -#define LINUX_O_CREAT 0100 -#define LINUX_O_EXCL 0200 -#define LINUX_O_NOCTTY 0400 -#define LINUX_O_TRUNC 01000 -#define LINUX_O_APPEND 02000 -#define LINUX_O_NONBLOCK 04000 +#define LINUX_O_RDONLY 00000000 +#define LINUX_O_WRONLY 00000001 +#define LINUX_O_RDWR 00000002 +#define LINUX_O_ACCMODE 00000003 +#define LINUX_O_CREAT 00000100 +#define LINUX_O_EXCL 00000200 +#define LINUX_O_NOCTTY 00000400 +#define LINUX_O_TRUNC 00001000 +#define LINUX_O_APPEND 00002000 +#define LINUX_O_NONBLOCK 00004000 #define LINUX_O_NDELAY LINUX_O_NONBLOCK -#define LINUX_O_SYNC 010000 -#define LINUX_FASYNC 020000 +#define LINUX_O_SYNC 00010000 +#define LINUX_FASYNC 00020000 +#define LINUX_O_DIRECT 00040000 /* Direct disk access hint */ +#define LINUX_O_LARGEFILE 00100000 +#define LINUX_O_DIRECTORY 00200000 /* Must be a directory */ +#define LINUX_O_NOFOLLOW 00400000 /* Do not follow links */ +#define LINUX_O_NOATIME 01000000 #define LINUX_F_DUPFD 0 #define LINUX_F_GETFD 1 @@ -529,15 +565,17 @@ #define LINUX_F_WRLCK 1 #define LINUX_F_UNLCK 2 +#define LINUX_AT_FDCWD -100 + /* * mount flags */ -#define LINUX_MS_RDONLY 0x0001 -#define LINUX_MS_NOSUID 0x0002 -#define LINUX_MS_NODEV 0x0004 -#define LINUX_MS_NOEXEC 0x0008 -#define LINUX_MS_REMOUNT 0x0020 - +#define LINUX_MS_RDONLY 0x0001 +#define LINUX_MS_NOSUID 0x0002 +#define LINUX_MS_NODEV 0x0004 +#define LINUX_MS_NOEXEC 0x0008 +#define LINUX_MS_REMOUNT 0x0020 + /* * SystemV IPC defines */ @@ -635,6 +673,13 @@ #define LINUX_SO_NO_CHECK 11 #define LINUX_SO_PRIORITY 12 #define LINUX_SO_LINGER 13 +#define LINUX_SO_PEERCRED 17 +#define LINUX_SO_RCVLOWAT 18 +#define LINUX_SO_SNDLOWAT 19 +#define LINUX_SO_RCVTIMEO 20 +#define LINUX_SO_SNDTIMEO 21 +#define LINUX_SO_TIMESTAMP 29 +#define LINUX_SO_ACCEPTCONN 30 #define LINUX_IP_TOS 1 #define LINUX_IP_TTL 2 @@ -684,7 +729,7 @@ } ifr_ifru; } __packed; -#define ifr_name ifr_ifrn.ifrn_name /* interface name */ +#define ifr_name ifr_ifrn.ifrn_name /* Interface name */ #define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ struct l_ifconf { @@ -719,4 +764,11 @@ l_short revents; } __packed; +#define LINUX_CLOCK_REALTIME 0 +#define LINUX_CLOCK_MONOTONIC 1 +#define LINUX_CLOCK_PROCESS_CPUTIME_ID 2 +#define LINUX_CLOCK_THREAD_CPUTIME_ID 3 +#define LINUX_CLOCK_REALTIME_HR 4 +#define LINUX_CLOCK_MONOTONIC_HR 5 + #endif /* !_AMD64_LINUX_LINUX_H_ */ ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#2 (text+ko) ==== @@ -29,11 +29,13 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10 2005/06/24 17:41:27 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_machdep.c,v 1.10.2.2 2007/07/08 12:20:35 netchild Exp $"); #include #include #include +#include +#include #include #include #include @@ -47,6 +49,7 @@ #include #include +#include #include #include @@ -113,7 +116,7 @@ * Allocate temporary demand zeroed space for argument and * environment strings */ - args->buf = (char *) kmem_alloc_wait(exec_map, + args->buf = (char *)kmem_alloc_wait(exec_map, PATH_MAX + ARG_MAX + MAXSHELLCMDLEN); if (args->buf == NULL) return (ENOMEM); @@ -130,7 +133,7 @@ copystr(fname, args->fname, PATH_MAX, &length) : copyinstr(fname, args->fname, PATH_MAX, &length); if (error != 0) - return (error); + goto err_exit; /* * extract arguments first @@ -139,22 +142,22 @@ for (;;) { error = copyin(p32++, &arg, sizeof(arg)); if (error) - return (error); + goto err_exit; if (arg == 0) break; argp = PTRIN(arg); error = copyinstr(argp, args->endp, args->stringspace, &length); if (error) { if (error == ENAMETOOLONG) - return (E2BIG); - else - return (error); + error = E2BIG; + + goto err_exit; } args->stringspace -= length; args->endp += length; args->argc++; } - + args->begin_envv = args->endp; /* @@ -165,7 +168,7 @@ for (;;) { error = copyin(p32++, &arg, sizeof(arg)); if (error) - return (error); + goto err_exit; if (arg == 0) break; envp = PTRIN(arg); @@ -173,9 +176,8 @@ &length); if (error) { if (error == ENAMETOOLONG) - return (E2BIG); - else - return (error); + error = E2BIG; + goto err_exit; } args->stringspace -= length; args->endp += length; @@ -184,6 +186,12 @@ } return (0); + +err_exit: + kmem_free_wakeup(exec_map, (vm_offset_t)args->buf, + PATH_MAX + ARG_MAX + MAXSHELLCMDLEN); + args->buf = NULL; + return (error); } int @@ -229,7 +237,7 @@ if (iovcnt > UIO_MAXIOV) return (EINVAL); iovlen = iovcnt * sizeof(struct iovec); - uio = malloc(iovlen + sizeof *uio, M_IOV, M_WAITOK); + uio = malloc(iovlen + sizeof(*uio), M_IOV, M_WAITOK); iov = (struct iovec *)(uio + 1); for (i = 0; i < iovcnt; i++) { error = copyin(&iovp[i], &iov32, sizeof(struct iovec32)); @@ -539,16 +547,6 @@ return (0); } -/* XXX move */ -struct l_mmap_argv { - l_ulong addr; - l_ulong len; - l_ulong prot; - l_ulong flags; - l_ulong fd; - l_ulong pgoff; -}; - #define STACK_SIZE (2 * 1024 * 1024) #define GUARD_SIZE (4 * PAGE_SIZE) @@ -561,8 +559,8 @@ #ifdef DEBUG if (ldebug(mmap2)) - printf(ARGS(mmap2, "%p, %d, %d, 0x%08x, %d, %d"), - (void *)(intptr_t)args->addr, args->len, args->prot, + printf(ARGS(mmap2, "0x%08x, %d, %d, 0x%08x, %d, %d"), + args->addr, args->len, args->prot, args->flags, args->fd, args->pgoff); #endif @@ -588,10 +586,9 @@ #ifdef DEBUG if (ldebug(mmap)) - printf(ARGS(mmap, "%p, %d, %d, 0x%08x, %d, %d"), - (void *)(intptr_t)linux_args.addr, linux_args.len, - linux_args.prot, linux_args.flags, linux_args.fd, - linux_args.pgoff); + printf(ARGS(mmap, "0x%08x, %d, %d, 0x%08x, %d, %d"), + linux_args.addr, linux_args.len, linux_args.prot, + linux_args.flags, linux_args.fd, linux_args.pgoff); #endif if ((linux_args.pgoff % PAGE_SIZE) != 0) return (EINVAL); @@ -614,9 +611,20 @@ off_t pos; } */ bsd_args; int error; + struct file *fp; error = 0; bsd_args.flags = 0; + fp = NULL; + + /* + * Linux mmap(2): + * You must specify exactly one of MAP_SHARED and MAP_PRIVATE + */ + if (! ((linux_args->flags & LINUX_MAP_SHARED) ^ + (linux_args->flags & LINUX_MAP_PRIVATE))) + return (EINVAL); + if (linux_args->flags & LINUX_MAP_SHARED) bsd_args.flags |= MAP_SHARED; if (linux_args->flags & LINUX_MAP_PRIVATE) @@ -627,23 +635,60 @@ bsd_args.flags |= MAP_ANON; else bsd_args.flags |= MAP_NOSYNC; - if (linux_args->flags & LINUX_MAP_GROWSDOWN) { + if (linux_args->flags & LINUX_MAP_GROWSDOWN) bsd_args.flags |= MAP_STACK; - /* The linux MAP_GROWSDOWN option does not limit auto + /* + * PROT_READ, PROT_WRITE, or PROT_EXEC implies PROT_READ and PROT_EXEC + * on Linux/i386. We do this to ensure maximum compatibility. + * Linux/ia64 does the same in i386 emulation mode. + */ + bsd_args.prot = linux_args->prot; + if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC)) + bsd_args.prot |= PROT_READ | PROT_EXEC; + + /* Linux does not check file descriptor when MAP_ANONYMOUS is set. */ + bsd_args.fd = (bsd_args.flags & MAP_ANON) ? -1 : linux_args->fd; + if (bsd_args.fd != -1) { + /* + * Linux follows Solaris mmap(2) description: + * The file descriptor fildes is opened with + * read permission, regardless of the + * protection options specified. + */ + + if ((error = fget(td, bsd_args.fd, &fp)) != 0) + return (error); + if (fp->f_type != DTYPE_VNODE) { + fdrop(fp, td); + return (EINVAL); + } + + /* Linux mmap() just fails for O_WRONLY files */ + if (!(fp->f_flag & FREAD)) { + fdrop(fp, td); + return (EACCES); + } + + fdrop(fp, td); + } + + if (linux_args->flags & LINUX_MAP_GROWSDOWN) { + /* + * The Linux MAP_GROWSDOWN option does not limit auto * growth of the region. Linux mmap with this option * takes as addr the inital BOS, and as len, the initial * region size. It can then grow down from addr without - * limit. However, linux threads has an implicit internal + * limit. However, Linux threads has an implicit internal * limit to stack size of STACK_SIZE. Its just not - * enforced explicitly in linux. But, here we impose + * enforced explicitly in Linux. But, here we impose * a limit of (STACK_SIZE - GUARD_SIZE) on the stack * region, since we can do this with our mmap. * * Our mmap with MAP_STACK takes addr as the maximum * downsize limit on BOS, and as len the max size of - * the region. It them maps the top SGROWSIZ bytes, - * and autgrows the region down, up to the limit + * the region. It then maps the top SGROWSIZ bytes, + * and auto grows the region down, up to the limit * in addr. * * If we don't use the MAP_STACK option, the effect @@ -651,13 +696,10 @@ * fixed size of (STACK_SIZE - GUARD_SIZE). */ - /* This gives us TOS */ - bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) + - linux_args->len; - - if ((caddr_t)PTRIN(bsd_args.addr) > + if ((caddr_t)PTRIN(linux_args->addr) + linux_args->len > p->p_vmspace->vm_maxsaddr) { - /* Some linux apps will attempt to mmap + /* + * Some Linux apps will attempt to mmap * thread stacks near the top of their * address space. If their TOS is greater * than vm_maxsaddr, vm_map_growstack() @@ -673,8 +715,7 @@ * mmap's return value. */ PROC_LOCK(p); - p->p_vmspace->vm_maxsaddr = - (char *)LINUX32_USRSTACK - + p->p_vmspace->vm_maxsaddr = (char *)LINUX32_USRSTACK - lim_cur(p, RLIMIT_STACK); PROC_UNLOCK(p); } @@ -685,28 +726,19 @@ else bsd_args.len = STACK_SIZE - GUARD_SIZE; - /* This gives us a new BOS. If we're using VM_STACK, then + /* + * This gives us a new BOS. If we're using VM_STACK, then * mmap will just map the top SGROWSIZ bytes, and let * the stack grow down to the limit at BOS. If we're * not using VM_STACK we map the full stack, since we * don't have a way to autogrow it. */ - bsd_args.addr -= bsd_args.len; + bsd_args.addr = (caddr_t)PTRIN(linux_args->addr) - + bsd_args.len; } else { bsd_args.addr = (caddr_t)PTRIN(linux_args->addr); bsd_args.len = linux_args->len; } - /* - * XXX i386 Linux always emulator forces PROT_READ on (why?) - * so we do the same. We add PROT_EXEC to work around buggy - * applications (e.g. Java) that take advantage of the fact - * that execute permissions are not enforced by x86 CPUs. - */ - bsd_args.prot = linux_args->prot | PROT_EXEC | PROT_READ; - if (linux_args->flags & LINUX_MAP_ANON) - bsd_args.fd = -1; - else - bsd_args.fd = linux_args->fd; bsd_args.pos = (off_t)linux_args->pgoff * PAGE_SIZE; bsd_args.pad = 0; @@ -727,6 +759,36 @@ } int +linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) +{ + struct mprotect_args bsd_args; + + bsd_args.addr = uap->addr; + bsd_args.len = uap->len; + bsd_args.prot = uap->prot; + if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC)) + bsd_args.prot |= PROT_READ | PROT_EXEC; + return (mprotect(td, &bsd_args)); +} + +int +linux_iopl(struct thread *td, struct linux_iopl_args *args) +{ + int error; + + if (args->level < 0 || args->level > 3) + return (EINVAL); + if ((error = suser(td)) != 0) + return (error); + if ((error = securelevel_gt(td->td_ucred, 0)) != 0) + return (error); + td->td_frame->tf_rflags = (td->td_frame->tf_rflags & ~PSL_IOPL) | + (args->level * (PSL_IOPL / 3)); + + return (0); +} + +int linux_pipe(struct thread *td, struct linux_pipe_args *args) { int pip[2]; @@ -797,7 +859,7 @@ } /* - * Linux has two extra args, restart and oldmask. We dont use these, + * Linux has two extra args, restart and oldmask. We don't use these, * but it seems that "restart" is actually a context pointer that * enables the signal to happen with a different register set. */ @@ -1002,16 +1064,3 @@ return (copyout(&ts32, uap->interval, sizeof(ts32))); } -int -linux_mprotect(struct thread *td, struct linux_mprotect_args *uap) -{ - struct mprotect_args bsd_args; - - bsd_args.addr = uap->addr; - bsd_args.len = uap->len; - bsd_args.prot = uap->prot; - /* XXX PROT_READ implies PROT_EXEC; see linux_mmap_common(). */ - if ((bsd_args.prot & PROT_READ) != 0) - bsd_args.prot |= PROT_EXEC; - return (mprotect(td, &bsd_args)); -} ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -323,6 +323,9 @@ struct linux_uname_args { register_t dummy; }; +struct linux_iopl_args { + char level_l_[PADL_(l_ulong)]; l_ulong level; char level_r_[PADR_(l_ulong)]; +}; struct linux_vhangup_args { register_t dummy; }; @@ -765,6 +768,7 @@ int linux_newlstat(struct thread *, struct linux_newlstat_args *); int linux_newfstat(struct thread *, struct linux_newfstat_args *); int linux_uname(struct thread *, struct linux_uname_args *); +int linux_iopl(struct thread *, struct linux_iopl_args *); int linux_vhangup(struct thread *, struct linux_vhangup_args *); int linux_wait4(struct thread *, struct linux_wait4_args *); int linux_swapoff(struct thread *, struct linux_swapoff_args *); ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #define LINUX_SYS_exit 1 @@ -101,6 +101,7 @@ #define LINUX_SYS_linux_newlstat 107 #define LINUX_SYS_linux_newfstat 108 #define LINUX_SYS_linux_uname 109 +#define LINUX_SYS_linux_iopl 110 #define LINUX_SYS_linux_vhangup 111 #define LINUX_SYS_linux_wait4 114 #define LINUX_SYS_linux_swapoff 115 ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.1 2005/07/20 17:43:52 jhb Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.5.2.2 2007/07/08 12:23:37 netchild Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp */ #include @@ -130,7 +130,7 @@ { SYF_MPSAFE | AS(linux_newlstat_args), (sy_call_t *)linux_newlstat, AUE_NULL }, /* 107 = linux_newlstat */ { SYF_MPSAFE | AS(linux_newfstat_args), (sy_call_t *)linux_newfstat, AUE_NULL }, /* 108 = linux_newfstat */ { SYF_MPSAFE | 0, (sy_call_t *)linux_uname, AUE_NULL }, /* 109 = linux_uname */ - { 0, (sy_call_t *)nosys, AUE_NULL }, /* 110 = iopl */ + { SYF_MPSAFE | AS(linux_iopl_args), (sy_call_t *)linux_iopl, AUE_NULL }, /* 110 = linux_iopl */ { SYF_MPSAFE | 0, (sy_call_t *)linux_vhangup, AUE_NULL }, /* 111 = linux_vhangup */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 112 = idle */ { 0, (sy_call_t *)nosys, AUE_NULL }, /* 113 = vm86old */ ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysvec.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.7.2.5 2007/05/23 18:24:42 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.7.2.9 2007/07/08 12:20:35 netchild Exp $"); /* XXX we use functions that might not exist. */ #include "opt_compat.h" @@ -142,7 +142,8 @@ -100,-101,-102,-103,-104,-105,-106,-107,-108,-109, -110,-111, -40, -36,-112,-113, -39, -11, -87,-122, -116, -66, -6, -6, -6, -6, -6, -37, -38, -9, - -6, -6, -43, -42, -75, -6, -84 + -6, -6, -43, -42, -75,-125, -84, -95, -16, -74, + -72, -67, -71 }; int bsd_to_linux_signal[LINUX_SIGTBLSZ] = { @@ -327,7 +328,7 @@ /* Fill in POSIX parts */ frame.sf_si.lsi_signo = sig; frame.sf_si.lsi_code = code; - frame.sf_si.lsi_addr = PTROUT(regs->tf_err); + frame.sf_si.lsi_addr = PTROUT(regs->tf_addr); /* * Build the signal context to be used by sigreturn. @@ -399,6 +400,7 @@ td->td_pcb->pcb_ds = _udatasel; load_es(_udatasel); td->td_pcb->pcb_es = _udatasel; + /* leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -516,6 +518,7 @@ td->td_pcb->pcb_ds = _udatasel; load_es(_udatasel); td->td_pcb->pcb_es = _udatasel; + /* leave user %fs and %gs untouched */ PROC_LOCK(p); mtx_lock(&psp->ps_mtx); } @@ -972,7 +975,7 @@ struct sysentvec elf_linux_sysvec = { LINUX_SYS_MAXSYSCALL, linux_sysent, - 0xff, + 0, LINUX_SIGTBLSZ, bsd_to_linux_signal, ELAST + 1, ==== //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.1 2005/07/20 17:42:14 jhb Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.4.2.2 2007/07/08 12:20:35 netchild Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -201,7 +201,7 @@ 108 AUE_NULL MSTD { int linux_newfstat(l_uint fd, \ struct l_newstat *buf); } 109 AUE_NULL MSTD { int linux_uname(void); } -110 AUE_NULL UNIMPL iopl +110 AUE_NULL MSTD { int linux_iopl(l_ulong level); } 111 AUE_NULL MSTD { int linux_vhangup(void); } 112 AUE_NULL UNIMPL idle 113 AUE_NULL UNIMPL vm86old ==== //depot/projects/soc2007/thioretic_gidl2/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 30 10:47:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6750616A46E; Mon, 30 Jul 2007 10:47:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4526C16A46C for ; Mon, 30 Jul 2007 10:47:14 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3916113C491 for ; Mon, 30 Jul 2007 10:47:14 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UAlEWd092466 for ; Mon, 30 Jul 2007 10:47:14 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UAlD8L092463 for perforce@freebsd.org; Mon, 30 Jul 2007 10:47:13 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 30 Jul 2007 10:47:13 GMT Message-Id: <200707301047.l6UAlD8L092463@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 10:47:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=124344 Change 124344 by lulf@lulf_carrot on 2007/07/30 10:47:07 - Sleep after sending create requests in userland, since the event might not yet be processed. If there are noteable issues with this, which is a quite unlikely to happen, I have a patch to support suspending of the userland process until the events are executed, but it's only required in this special case. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#15 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#15 (text+ko) ==== @@ -430,6 +430,8 @@ gctl_ro_param(req, "plexes", sizeof(int), &plexes); gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); errstr = gctl_issue(req); + sleep(2); /* Wait for events to be executed. XXX: not very nice... but + we won't have to modify event system for just his issue. */ if (errstr != NULL) warnx("error creating drive: %s", errstr); gctl_free(req); From owner-p4-projects@FreeBSD.ORG Mon Jul 30 12:01:49 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98F9016A41A; Mon, 30 Jul 2007 12:01:49 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3985F16A420 for ; Mon, 30 Jul 2007 12:01:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2BD7413C465 for ; Mon, 30 Jul 2007 12:01:49 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UC1m0q000967 for ; Mon, 30 Jul 2007 12:01:49 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UC1lOi000963 for perforce@freebsd.org; Mon, 30 Jul 2007 12:01:47 GMT (envelope-from gabor@freebsd.org) Date: Mon, 30 Jul 2007 12:01:47 GMT Message-Id: <200707301201.l6UC1lOi000963@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124347 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 12:01:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=124347 Change 124347 by gabor@gabor_server on 2007/07/30 12:01:13 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/CHANGES#11 integrate .. //depot/projects/soc2006/gabor_destdir/LEGAL#8 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#5 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/README#2 delete .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/portbuild.conf#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildenv#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildscript#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/claim-chroot#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/clean-chroot#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/cleanup-chroots#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dologs#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackages#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dosetupnode#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/getmachine#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeindex#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/mkbindist#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pnohang.c#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pollmachine#2 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/portbuild#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/straslivy.py#1 branch .. //depot/projects/soc2006/gabor_destdir/UPDATING#13 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/CHANGES#11 (text+ko) ==== @@ -10,6 +10,19 @@ All ports committers are allowed to commit to this file. +20070730: +AUTHOR: python@FreeBSD.org + + * The default Python version has been changed from 2.4.x to 2.5.x. + + * A number of variables have been added to bsd.python.mk to support + the more integrated support for Python eggs, including: + PYDISTUTILS_PKGNAME, PYDISTUTILS_PKGVERSION, PYEASYINSTALL_EGG, + PYDISTUTILS_NOEGGINFO, PYDISTUTILS_EGGINFO, PYEASYINSTALL_ARCHDEP + + * More detailed descriptions of the variables can be found in the comments + in bsd.python.mk. + 20070723: AUTHOR: rafan@FreeBSD.org @@ -1372,4 +1385,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.75 2007/07/24 01:43:31 rafan Exp $ +$FreeBSD: ports/CHANGES,v 1.76 2007/07/30 09:40:55 alexbl Exp $ ==== //depot/projects/soc2006/gabor_destdir/LEGAL#8 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.543 2007/07/23 02:09:24 rafan Exp $ +# $FreeBSD: ports/LEGAL,v 1.544 2007/07/29 15:51:07 pav Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -34,6 +34,7 @@ interface 5400s_fbsd_cli_v10.zip sysutils/aaccli May not be redistributed in binary form +aacplusenc-* audio/aacplusenc Unclear legal status ac3dlx* graphics/linux-ac3d Commercial license, no distribution acroread/AdobeReader_* print/acroread7 Must fill out redistribution ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#5 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.python.mk,v 1.95 2007/02/26 07:32:02 alexbl Exp $ +# $FreeBSD: ports/Mk/bsd.python.mk,v 1.96 2007/07/30 09:40:56 alexbl Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) @@ -81,6 +81,12 @@ # want to build extensions with an older binary. # default: depends on the version of your python binary # +# PYTHON_DEFAULT_VERSION +# - Version of the default python binary in your ${PATH}, in +# the format "python2.5". Set this in your /etc/make.conf +# in case you want to use an older version as a default. +# default: python2.5 +# # PYTHON_WRKSRC - The ${WRKSRC} for your python version. Needed for # extensions like Tkinter, py-gdbm and py-expat, which # are built from sources contained in the Python @@ -122,6 +128,17 @@ # USE_PYDISTUTILS - Use distutils as do-configure, do-build and do-install # targets. # +# PYSETUP - Name of the setup script used by the distutils package. +# default: setup.py +# +# PYDISTUTILS_PKGNAME +# - Internal name in the distutils for egg-info. +# default: ${PORTNAME} +# +# PYDISTUTILS_PKGVERSION +# - Internal version in the distutils for egg-info. +# default: ${PORTVERSION} +# # PYDISTUTILS_CONFIGURE_TARGET # - Pass this command to distutils on configure stage. # default: config @@ -146,8 +163,32 @@ # - Arguments to install with distutils. # default: -c -O1 --prefix=${PREFIX} # -# PYSETUP - Name of the setup script used by the distutils package. -# default: setup.py +# PYDISTUTILS_EGGINFO +# - Canonical name for egg-info. +# default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}.egg-info +# +# PYDISTUTILS_NOEGGINFO +# - Skip an egg-info entry from plist when defined. +# +# PYEASYINSTALL_EGG +# - Canonical directory name for easy_install egg packages. +# default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg +# +# PYEASYINSATLL_OSARCH +# - Platform identifier for easy_install. +# default: -${OPSYS:L}-${_OSRELEASE}-${ARCH} +# if PYEASYINSTALL_ARCHDEP is defined. +# +# PYEASYINSTALL_CMD - Full file path to easy_install command. +# default: ${LOCALBASE}/bin/easy_install-${PYTHON_VER} +# +# PYEASYINSTALL_INSTALL_ARGS +# - Arguments to easy_install command for egg installation. +# default: -q -N -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} +# +# PYEASYINSTALL_UNINSTALL_ARGS +# - Arguments to easy_install command for egg uninstallation. +# default: -q -m -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # # USE_TWISTED - If this option is just yes then build and run # the dependence to twistedCore is added. Alternatively @@ -173,8 +214,8 @@ # specific version of zope. # -_PYTHON_PORTBRANCH= 2.4 -_PYTHON_ALLBRANCHES= 2.4 2.5 2.3 # preferred first +_PYTHON_PORTBRANCH= 2.5 +_PYTHON_ALLBRANCHES= 2.5 2.4 2.3 # preferred first _ZOPE_PORTBRANCH= 2.7 _ZOPE_ALLBRANCHES= 2.7 2.8 2.9 2.10 3.2 @@ -237,22 +278,24 @@ # Determine version number of Python to use +.if !defined(PYTHON_DEFAULT_VERSION) +. if exists(${LOCALBASE}/bin/python) +_PYTHON_DEFAULT_VERSION!= (${LOCALBASE}/bin/python -c \ + 'import sys; print sys.version[:3]' 2> /dev/null \ + || ${ECHO_CMD} ${_PYTHON_PORTBRANCH}) | ${TAIL} -1 +. else +_PYTHON_DEFAULT_VERSION= ${_PYTHON_PORTBRANCH} +. endif +PYTHON_DEFAULT_VERSION= python${_PYTHON_DEFAULT_VERSION} +.endif + .if defined(PYTHON_VERSION) _PYTHON_VERSION:= ${PYTHON_VERSION:S/^python//} _PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_VERSION} .else -# Determine the currently installed version. If Python is not installed, a -# default version number is substituted and the corresponding Python -# distribution will be built through the dependency processing. -.if defined(PYTHON_CMD) -_PYTHON_CMD= ${PYTHON_CMD} -.else -_PYTHON_CMD= ${LOCALBASE}/bin/python +_PYTHON_VERSION:= ${PYTHON_DEFAULT_VERSION:S/^python//} +_PYTHON_CMD= ${LOCALBASE}/bin/${PYTHON_DEFAULT_VERSION} .endif -_PYTHON_VERSION!= (${_PYTHON_CMD} -c \ - 'import sys; print sys.version[:3]' 2> /dev/null \ - || ${ECHO_CMD} ${_PYTHON_PORTBRANCH}) | ${TAIL} -1 -.endif # defined(PYTHON_VERSION) .if !defined(USE_PYTHON) .if defined(USE_PYTHON_BUILD) @@ -323,9 +366,9 @@ # Python-2.5 .if ${PYTHON_VERSION} == "python2.5" -PYTHON_PORTVERSION?=2.5 +PYTHON_PORTVERSION?=2.5.1 PYTHON_PORTSDIR= ${PORTSDIR}/lang/python25 -PYTHON_REL= 250 +PYTHON_REL= 251 PYTHON_SUFFIX= 25 PYTHON_VER= 2.5 @@ -360,8 +403,8 @@ @${ECHO} "Makefile error: bad value for PYTHON_VERSION: ${PYTHON_VERSION}." @${ECHO} "Legal values are:" @${ECHO} " python2.3" - @${ECHO} " python2.4 (default)" - @${ECHO} " python2.5" + @${ECHO} " python2.4" + @${ECHO} " python2.5 (default)" @${FALSE} .endif @@ -381,10 +424,58 @@ PYTHONPREFIX_LIBDIR= ${PYTHON_LIBDIR:S;${PYTHONBASE};${PREFIX};} PYTHONPREFIX_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${PREFIX};} +# setuptools support +.if defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install" +BUILD_DEPENDS+= ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools +RUN_DEPENDS+= ${PYEASYINSTALL_CMD}:${PORTSDIR}/devel/py-setuptools + +PYDISTUTILS_BUILD_TARGET?= bdist_egg +PYDISTUTILS_INSTALL_TARGET?= easy_install +PYDISTUTILS_INSTALLARGS?= -O 1 -N -S ${PYTHON_SITELIBDIR} ${WRKSRC}/dist/${PYEASYINSTALL_EGG} + +.if defined(PYEASYINSTALL_ARCHDEP) +_OSRELEASE!= ${UNAME} -r +PYEASYINSTALL_OSARCH?= -${OPSYS:L}-${_OSRELEASE}-${ARCH} +.endif +PYEASYINSTALL_EGG?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg +PYEASYINSTALL_CMD?= ${LOCALBASE}/bin/easy_install-${PYTHON_VER} +PYEASYINSTALL_INSTALLARGS?= -q -N -S ${PYTHON_SITELIBDIR} \ + ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} +PYEASYINSTALL_UNINSTALLARGS?= -q -m -S ${PYTHON_SITELIBDIR} \ + ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} + +PLIST_SUB+= PYEASYINSTALL_EGG=${PYEASYINSTALL_EGG} + +add-plist-post: add-plist-easyinstall +add-plist-easyinstall: + @# @unexec line must be located before any other line while @exec must not. + @${CAT} ${TMPPLIST} > ${TMPPLIST}.pei_tmp + @${ECHO_CMD} "@unexec ${PYEASYINSTALL_CMD} ${PYEASYINSTALL_UNINSTALLARGS}" \ + > ${TMPPLIST} + @${CAT} ${TMPPLIST}.pei_tmp >> ${TMPPLIST} + @${ECHO_CMD} "@exec ${PYEASYINSTALL_CMD} ${PYEASYINSTALL_INSTALLARGS}" \ + >> ${TMPPLIST} +.endif # defined(USE_PYDISTUTILS) && ${USE_PYDISTUTILS} == "easy_install" + +# distutils support PYSETUP?= setup.py PYDISTUTILS_CONFIGUREARGS?= PYDISTUTILS_BUILDARGS?= PYDISTUTILS_INSTALLARGS?= -c -O1 --prefix=${PREFIX} +PYDISTUTILS_PKGNAME?= ${PORTNAME} +PYDISTUTILS_PKGVERSION?=${PORTVERSION} +PYDISTUTILS_EGGINFO?= ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}.egg-info +PYDISTUTILS_EGGINFODIR?=${PYTHON_SITELIBDIR} + +.if !defined(PYDISTUTILS_NOEGGINFO) && \ + (defined(INSTALLS_EGGINFO) || \ + (defined(USE_PYDISTUTILS) && \ + ${USE_PYDISTUTILS} != "easy_install")) && \ + defined(PYTHON_REL) && ${PYTHON_REL} >= 250 +. for egg in ${PYDISTUTILS_EGGINFO} +PLIST_FILES+= ${PYDISTUTILS_EGGINFODIR:S;${PREFIX}/;;}/${egg} +. endfor +.endif # Fix for programs that build python from a GNU auto* enviornment CONFIGURE_ENV+= PYTHON="${PYTHON_CMD}" @@ -436,7 +527,7 @@ .if defined(PYTHON_REL) && ${PYTHON_REL} < 250 PYCTYPES= ${PYTHON_SITELIBDIR}/ctypes/__init__.py:${PORTSDIR}/devel/py-ctypes .else -PYCTYPES= ${PYTHON_LIBDIR}/ctypes/__init__py:${PYTHON_PORTSDIR} +PYCTYPES= ${PYTHON_LIBDIR}/ctypes/__init__.py:${PYTHON_PORTSDIR} .endif .if defined(PYTHON_REL) && ${PYTHON_REL} < 250 ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/portbuild.conf#2 (text+ko) ==== @@ -1,17 +1,28 @@ -# $FreeBSD: ports/Tools/portbuild/portbuild.conf,v 1.2 2000/12/18 04:43:46 asami Exp $ +# $FreeBSD: ports/Tools/portbuild/portbuild.conf,v 1.3 2007/07/29 20:06:05 kris Exp $ # sample configuration file for package build arch=i386 domain=FreeBSD.org -ftpsite=ftp.$domain +ftpsite=ftp-master.$domain distfiledir=w/ports/distfiles packagedir=w/ports/${arch}/tmp -master=bento +master=pointyhat.freebsd.org pb=/var/portbuild -user=asami -mailto=$user@$domain -scratchdir=/x/tmp +user=ports-${arch} +client_user=root +mailto=kris@FreeBSD.org,linimon@FreeBSD.org,pav@FreeBSD.org +scratchpart=/x +scratchdir=${scratchpart}/tmp +branches="5 6 7 5-exp 6-exp 6-exp2 7-exp" +squid_dir=${scratchpart}/squid +maxjobs=3 +sudo_cmd= +use_md_swap=0 +md_size=11g +use_jail=1 +#ccache_dir=dumpster:/vol/vol3/ccache +#ccache_dir_nfs=1 # # add your own variables down here to avoid CVS merge conflicts ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildenv#3 (text+ko) ==== @@ -7,51 +7,25 @@ arch=$2 branch=$3 - export X11BASE=/usr/X11R6 - export LOCALBASE=/usr/local case "x$branch" in - x4) - export PKGSUFFIX=.tgz - export PKGZIPCMD=gzip - export INDEXFILE=INDEX - export X_WINDOW_SYSTEM=xfree86-4 - ;; - x4-exp) - export PKGSUFFIX=.tgz - export PKGZIPCMD=gzip - export PORTS_AUDIT=1 - export INDEXFILE=INDEX - export X_WINDOW_SYSTEM=xfree86-4 - ;; x5) - export PKGSUFFIX=.tbz - export PKGZIPCMD=bzip2 export INDEXFILE=INDEX-5 - export X_WINDOW_SYSTEM=xorg + export USE_NONDEFAULT_X11BASE=1 ;; x5-exp) - export PKGSUFFIX=.tbz - export PKGZIPCMD=bzip2 - export INDEXFILE=INDEX-5 - export X_WINDOW_SYSTEM=xorg + export INDEXFILE=INDEX-6 ;; x6) - export PKGSUFFIX=.tbz - export PKGZIPCMD=bzip2 export INDEXFILE=INDEX-6 - export X_WINDOW_SYSTEM=xorg ;; x6-exp) - export PKGSUFFIX=.tbz - export PKGZIPCMD=bzip2 + export INDEXFILE=INDEX-6 + ;; + x6-exp2) export INDEXFILE=INDEX-6 - export X_WINDOW_SYSTEM=xorg ;; x7) - export PKGSUFFIX=.tbz - export PKGZIPCMD=bzip2 export INDEXFILE=INDEX-7 - export X_WINDOW_SYSTEM=xorg ;; *) echo "buildenv: invalid branch" @@ -62,6 +36,13 @@ export ARCH=${arch} export MACHINE_ARCH=${arch} + export X11BASE=/usr/local + export LOCALBASE=/usr/local + export PKGSUFFIX=.tbz + export PKGZIPCMD=bzip2 + export X_WINDOW_SYSTEM=xorg + export XORG_UPGRADE=1 + # Have to use realpath because 'make index' doesn't deal with symlinks in PORTSDIR # - kk 020311 export PORTSDIR=$(realpath ${pb}/${arch}/${branch}/ports) @@ -92,10 +73,6 @@ export USA_RESIDENT=yes - # Old and mouldy? - export PARALLEL_PACKAGE_BUILD=1 - export HAVE_MOTIF=1 - export FTP_PASSIVE_MODE=yes #export FETCH_BEFORE_ARGS=-vvv } ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/buildscript#3 (text+ko) ==== @@ -3,33 +3,15 @@ # usage: $0 DIRNAME PHASE # PHASE is 1 (checksum) or 2 (package) -mountprocfs() { - arch=$1 - - if [ ${arch} = "i386" -o ${arch} = "amd64" ]; then - # JDK ports need linprocfs :( - mkdir -p /compat/linux/proc - mount_linprocfs linprocfs /compat/linux/proc - fi -} - -umountprocfs() { - arch=$1 - - if [ ${arch} = "i386" -o ${arch} = "amd64" ]; then - umount -f /compat/linux/proc 2> /dev/null > /dev/null - fi -} - cleanup() { status=$1 # Don't keep distfiles if 'make checksum' failed - if [ ${status} -ne 1 ]; then + keep_distfiles=$(make -V ALWAYS_KEEP_DISTFILES) + if [ ${status} -eq 1 -o -z "${keep_distfiles}" ]; then cd ${dir} - keep_distfiles=$(make -V ALWAYS_KEEP_DISTFILES) distdir=$(make -V DISTDIR) - if [ -z "${keep_distfiles}" -a ! -z "${distdir}" ]; then + if [ ! -z "${distdir}" ]; then rm -rf ${distdir}/* fi fi @@ -155,6 +137,11 @@ #Allow ports to notice they're being run on bento export PACKAGE_BUILDING=1 + # Stash a copy of /etc/master.passwd and /etc/group to detect whether someone modifies it + + cp /etc/master.passwd /etc/master.passwd-save + cp /etc/group /etc/group-save + # Files we do not care about changing between pre-build and post-cleanup cat > /tmp/mtree.preexclude < /tmp/mtree.pristine @@ -237,6 +225,7 @@ ./usr/local/share/xml ./usr/X11R6/etc/gconf ./usr/local/etc/gconf +./var/db/fontconfig EOF # Record a "pristine" mtree. mtree -X /tmp/mtree.buildexclude -xcn -k uid,gid,mode -p / > /tmp/mtree.prebuild @@ -260,7 +249,7 @@ cd $dir /pnohang $TIMEOUT /tmp/make.log5 ${pkgname} make -k regression-test cat /tmp/make.log5 - mtree -X /tmp/mtree.buildexclude -x -f /tmp/mtree.prebuild -p / | egrep -v "^(${L}/var|${X}/lib/X11/xserver/SecurityPolicy|${L}/share/nls/POSIX|${L}/share/nls/en_US.US-ASCII|etc/services|compat |${X} |etc/manpath.config|etc/.*.bak|${L}/info/dir|${X}/lib/X11/fonts/.*/fonts\.|usr/(X11R6|local)/man/..( |/man. )|${X}/lib/X11/fonts/TrueType|${X}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|${L}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml )" > /tmp/list.preinstall + mtree -X /tmp/mtree.buildexclude -x -f /tmp/mtree.prebuild -p / | egrep -v "^(${L}/var|${X}/lib/X11/xserver/SecurityPolicy|${L}/share/nls/POSIX|${L}/share/nls/en_US.US-ASCII|etc/services|compat |${X} |etc/manpath.config|etc/.*.bak|${L}/info/dir|${X}/lib/X11/fonts/.*/fonts\.|usr/(X11R6|local)/man/..( |/man. )|${X}/lib/X11/fonts/TrueType|${X}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|${L}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|var/db/fontconfig/* )" > /tmp/list.preinstall if [ -s /tmp/list.preinstall ]; then echo "================================================================" @@ -306,7 +295,7 @@ cleanup 7 fi - mtree -X /tmp/mtree.exclude -x -f /tmp/mtree -p / | egrep -v "^(${L}/var|${X}/lib/X11/xserver/SecurityPolicy|${L}/share/nls/POSIX|${L}/share/nls/en_US.US-ASCII|etc/services|compat |${X} |etc/manpath.config|etc/.*.bak|${L}/info/dir|${X}/lib/X11/fonts/.*/fonts\.|usr/(X11R6|local)/man/..( |/man. )|${X}/lib/X11/fonts/TrueType|${X}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|${L}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml )" > /tmp/list3 + mtree -X /tmp/mtree.exclude -x -f /tmp/mtree -p / | egrep -v "^(${L}/var|${X}/lib/X11/xserver/SecurityPolicy|${L}/share/nls/POSIX|${L}/share/nls/en_US.US-ASCII|etc/services|compat |${X} |etc/manpath.config|etc/.*.bak|${L}/info/dir|${X}/lib/X11/fonts/.*/fonts\.|usr/(X11R6|local)/man/..( |/man. )|${X}/lib/X11/fonts/TrueType|${X}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|${L}/etc/gconf/gconf.xml.defaults/%gconf-tree.*.xml|var/db/fontconfig/* )" > /tmp/list3 # Compare the state of the filesystem now to before the 'make install' phase dirty=0 @@ -397,6 +386,9 @@ fi fi + cmp /etc/group /etc/group-save || (echo "=== /etc/group was modified:"; diff -du /etc/group-save /etc/group) + cmp /etc/master.passwd /etc/master.passwd-save || (echo "=== /etc/master.passwd was modified:"; diff -du /etc/master.passwd-save /etc/master.passwd) + if [ ${xvfb} = 1 ]; then kill $(jobid %1) fi ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/claim-chroot#2 (text+ko) ==== @@ -27,7 +27,11 @@ pkgname=$(basename $1 ${PKGSUFFIX}) -chrootdir=${buildroot}/${branch}/chroot +if [ "${use_zfs}" = 1 ]; then + chrootdir=${buildroot}/${branch} +else + chrootdir=${buildroot}/${branch}/chroot +fi # Perform initial sanity check @@ -73,7 +77,11 @@ chrootnum=$$ # If we didn't find a pre-existing directory, create and claim a new one. while [ ${found} != 1 ]; do - if [ "${use_md_swap}" = "1" ]; then + if [ "${use_zfs}" = "1" ]; then + chroot=${chrootdir}/${chrootnum} + zfs clone y/${branch}@base $(echo ${chrootdir} | sed -e 's,/,,')/${chrootnum} + mkdir ${chroot}/used + elif [ "${use_md_swap}" = "1" ]; then unit=$(mdconfig -a -t swap -s ${md_size}) newfs /dev/${unit} > /dev/null chrootnum=$(echo ${unit} | sed 's,md,,') @@ -85,14 +93,21 @@ touch ${chroot}/used/used/${pkgname} umount ${chroot}/used mount -o async /dev/${unit} ${chroot}/ + touch ${chroot}/.notready else chrootnum=$(($chrootnum+1)) chroot=${chrootdir}/${chrootnum} - mkdir -p ${chroot} 2>/dev/null || continue + mkdir -p ${chrootdir} 2> /dev/null || continue + mkdir ${chroot} 2>/dev/null || continue mkdir ${chroot}/used 2>/dev/null || continue + touch ${chroot}/.notready fi + if [ "${use_tmpfs}" = "1" ]; then + mount -t tmpfs -o "size=${tmpfs_size}" foo ${chroot} + mkdir ${chroot}/used 2>/dev/null || echo "ERROR: mkdir race" + touch ${chroot}/.notready + fi touch ${chroot}/used/${pkgname} - touch ${chroot}/.notready found=1 done ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/clean-chroot#3 (text+ko) ==== @@ -73,10 +73,24 @@ #kill_procs ${chroot} -if [ "${use_md_swap}" = "1" -a \( "${md_persistent}" != "1" -a "${clean}" -gt "0" \) -o "${clean}" = "2" ]; then +if [ "${use_zfs}" = "1" ]; then + cleanup_mount ${chroot} "" + zfs destroy $(echo ${chroot} | sed -e 's,/,,' ) +elif [ "${use_tmpfs}" = "1" -a "${clean}" = "2" ]; then + cleanup_mount ${chroot} "" + if ! rm -rf ${chroot} >/dev/null 2>&1; then + chflags -R noschg ${chroot} >/dev/null 2>&1 + rm -rf ${chroot} >/dev/null 2>&1 + fi + # XXX possible race from cleanup and claim by next build? +elif [ "${use_md_swap}" = "1" -a \( "${md_persistent}" != "1" -a "${clean}" -gt "0" \) -o "${clean}" = "2" ]; then + cleanup_mount ${chroot} /used cleanup_mount ${chroot} "" mdconfig -d -u $(basename ${chroot}) - rm -rf ${chroot} + if ! rm -rf ${chroot} >/dev/null 2>&1; then + chflags -R noschg ${chroot} >/dev/null 2>&1 + rm -rf ${chroot} >/dev/null 2>&1 + fi else if [ "${clean}" = 1 ]; then rm -rf ${chroot}/tmp/* ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/cleanup-chroots#3 (text+ko) ==== @@ -42,7 +42,11 @@ . ${pb}/${arch}/portbuild.conf -old=$(find ${scratchdir}/*/chroot/* -prune -mmin +20 2> /dev/null) +if [ "${use_zfs}" = "1" ]; then + old=$(find ${scratchdir}/*/* -prune -mmin +20 2> /dev/null) +else + old=$(find ${scratchdir}/*/chroot/* -prune -mmin +20 2> /dev/null) +endif if [ -z "${old}" ]; then exit 0 ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dologs#2 (text+ko) ==== @@ -9,16 +9,16 @@ scripts=${pb}/scripts for ver in latest full; do - for num in 4 4-exp 5 5-exp 6 6-exp 7; do + for num in 5 5-exp 6 6-exp 6-exp2 7; do cd $home/$arch-$num-$ver && ${scripts}/processlogs ${arch} cd ${pb}/${arch}/${num} && ${scripts}/processfail ${arch} ${num} done - for num in 4 4-exp 5 5-exp 6 6-exp 7; do + for num in 5 5-exp 6 6-exp 6-exp2 7; do cd $home/$arch-$num-$ver-logs && ${scripts}/processlogs2 done # for num in 5 6 6-exp 7; do # cd $home && ${scripts}/comparelogs ${arch} $num-$ver 4-$ver # cd $home && ${scripts}/comparelogs ${arch} 4-$ver $num-$ver # done - cd $home && ${scripts}/bothlogs ${arch} 4-$ver 5-$ver +# cd $home && ${scripts}/bothlogs ${arch} 4-$ver 5-$ver done ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackages#3 (text+ko) ==== @@ -253,7 +253,7 @@ branch=$1 date=$2 -if [ "x$branch" != x4 -a "x$branch" != x4-exp -a "x$branch" != x5 -a "x$branch" != x5-exp -a "x$branch" != x6 -a "x$branch" != x6-exp -a "x$branch" != x7 ]; then +if [ "x$branch" != x5 -a "x$branch" != x5-exp -a "x$branch" != x6 -a "x$branch" != x6-exp -a "x$branch" != "x6-exp2" -a "x$branch" != x7 ]; then usage fi @@ -397,11 +397,12 @@ fi # Create hardlinks to previous set of logs - cd ${oldlogs} && find . | cpio -dumpl ${newlogs} - cd ${olderrors} && find . | cpio -dumpl ${newerrors} + cd ${oldlogs} && find . -name \*.log\* | cpio -dumpl ${newlogs} + cd ${olderrors} && find . -name \*.log\* | cpio -dumpl ${newerrors} # Identify the ports that have changed and need to be removed before rebuilding # XXX Need to also remove stale distfiles + # XXX and logs? cd ${PORTSDIR} cut -f 1,2,3,8,9,11,12,13 -d \| ${INDEXFILE}.old | sort > ${INDEXFILE}.old1 cut -f 1,2,3,8,9,11,12,13 -d \| ${INDEXFILE} | sort > ${INDEXFILE}.1 ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dosetupnode#3 (text+ko) ==== @@ -36,8 +36,8 @@ if [ "${disconnected}" = 1 -a "${norsync}" = 0 ]; then rsync ${rsync_gzip} -r -l -p --delete ${pb}/scripts ${client_user}@${node}:${pb}/ rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/portbuild* ${client_user}@${node}:${pb}/${arch} - rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/ports ${client_user}@${node}:${pb}/${arch}/${branch} - rsync ${rsync_gzip} -r -l -p --delete ${pb}/${arch}/${branch}/src ${client_user}@${node}:${pb}/${arch}/${branch} + rsync ${rsync_gzip} -r -L -p --delete ${pb}/${arch}/${branch}/ports ${client_user}@${node}:${pb}/${arch}/${branch} + rsync ${rsync_gzip} -r -L -p --delete ${pb}/${arch}/${branch}/src ${client_user}@${node}:${pb}/${arch}/${branch} rsync ${rsync_gzip} -r -L -p --delete ${pb}/${arch}/${branch}/tarballs/ ${client_user}@${node}:${pb}/${arch}/${branch}/tarballs/ fi ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/getmachine#2 (text+ko) ==== @@ -17,20 +17,28 @@ exit 1 fi -min=9999 + +min=999999 while [ $# -gt 0 ]; do m=$1 - num=$(cat $m) - if [ $num -lt $min ]; then + + # Pull in maxjobs + . ${pb}/${arch}/portbuild.conf + test -f ${pb}/${arch}/portbuild.${m} && . ${pb}/${arch}/portbuild.${m} + + curjobs=$(cat $m) + weight=$((${curjobs}*1000/${maxjobs})) + + if [ $weight -lt $min ]; then mach=$m - min=$num - elif [ $num -eq $min ]; then + min=$weight + elif [ $weight -eq $min ]; then mach="${mach} ${m}" fi shift done -if [ "$min" = 9999 -o -z "${mach}" ]; then +if [ "$min" = 999999 -o -z "${mach}" ]; then echo "" exit 1 fi @@ -45,11 +53,12 @@ . ${pb}/${arch}/portbuild.conf test -f ${pb}/${arch}/portbuild.${mach} && . ${pb}/${arch}/portbuild.${mach} +curjobs=$(cat $mach) # Now that we've found a machine, register our claim in the queue -if [ "$((${min}+1))" -ge "${maxjobs}" ]; then +if [ "$((${curjobs}+1))" -ge "${maxjobs}" ]; then rm ${mach} else - echo $(($min+1)) > ${mach} + echo $(($curjobs+1)) > ${mach} fi # Report to caller ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/makeindex#2 (text+ko) ==== @@ -8,7 +8,7 @@ INDEX_QUIET=1 # Concurrency of index build -INDEX_JOBS=2 +INDEX_JOBS=6 pb=/var/portbuild arch=$1 @@ -26,14 +26,6 @@ fi case "x$1" in - x4) - branch=4 - INDEXFILE=INDEX - ;; - x4-exp) - branch=4-exp - INDEXFILE=INDEX - ;; x5) branch=5 INDEXFILE=INDEX-5 @@ -50,6 +42,10 @@ branch=6-exp INDEXFILE=INDEX-6 ;; + x6-exp2) + branch=6-exp2 + INDEXFILE=INDEX-6 + ;; x7) branch=7 INDEXFILE=INDEX-7 ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/mkbindist#2 (text+ko) ==== @@ -10,7 +10,7 @@ arch=$1 branch=$2 -if [ "x$branch" != x4 -a "x$branch" != x5 -a "x$branch" != x6-exp -a "x$branch" != x6 -a "x$branch" != x7 ]; then +if [ "x$branch" != x5 -a "x$branch" != x5-exp -a "x$branch" != x6-exp -a "x$branch" != x6-exp2 -a "x$branch" != x6 -a "x$branch" != x7 ]; then usage fi @@ -53,7 +53,6 @@ mtree -deU -f ${here}/src/etc/mtree/BSD.root.dist -p ${tmpdir}/ mtree -deU -f ${here}/src/etc/mtree/BSD.var.dist -p ${tmpdir}/var mtree -deU -f ${here}/src/etc/mtree/BSD.usr.dist -p ${tmpdir}/usr -mtree -deU -f ${here}/src/etc/mtree/BSD.local.dist -p ${tmpdir}/usr/local # Copy the files into the tmpdir. Use an existing built world, or the ftp # files. ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pnohang.c#2 (text+ko) ==== @@ -91,7 +91,7 @@ /*snprintf(logstr, BUFSIZ, "logger -t %s killing %s %s, pid %d since no output in %d seconds", argv[0], args, message, pid, timeout); system(logstr);*/ printf("%s: killing %s (%s, pid %d and %d) since no output in %d seconds since %s", argv[0], args, message, pid1, pid, timeout, ctime(&now)); - printf("ps jgx before the singal\n"); + printf("ps jgx before the signal\n"); system("ps jgxww"); sleep(1); /* give it a chance to output the message */ kill(pid1, SIGTERM); ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/pollmachine#2 (text+ko) ==== @@ -10,7 +10,7 @@ queue=0 fi -infoseek_port=infoseek +infoseek_port=414 . ${buildroot}/${i}/portbuild.conf if [ -f ${buildroot}/${i}/portbuild.${m} ]; then . ${buildroot}/${i}/portbuild.${m} @@ -18,7 +18,7 @@ if [ -z "${infoseek_host}" ]; then infoseek_host=$m fi -if (/usr/local/bin/nc -w 15 ${infoseek_host} ${infoseek_port} > ${buildroot}/${i}/loads/$m < /dev/null); then +if (/usr/bin/nc -w 15 ${infoseek_host} ${infoseek_port} > ${buildroot}/${i}/loads/$m < /dev/null); then if [ "${queue}" = 1 ]; then num=$(awk '{print $1}' ${buildroot}/${i}/loads/$m) if [ "$num" -lt "${maxjobs}" ]; then ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/portbuild#3 (text+ko) ==== @@ -158,26 +158,11 @@ tar -C ${chroot} -xpf ${bindistlocal} fi - # to be able to run ps and killall inside chroot area - if [ "${branch}" = "4" -o "${branch}" = "4-exp" ]; then - mkdir -p ${chroot}/libexec - mkdir -p ${chroot}/lib - if [ "${arch}" = "i386" ]; then - cp -p /sbin/mount_linprocfs /sbin/mount /sbin/umount ${chroot}/sbin - cp -p /lib/libufs.so.2 ${chroot}/lib - fi - cp -p /libexec/ld-elf.so.1 ${chroot}/libexec - cp -p /lib/libkvm.so.2 /lib/libm.so.3 ${chroot}/lib - if [ -f /lib/libc.so.6 ]; then - cp -p /lib/libc.so.6 ${chroot}/lib - else - cp -p /lib/libc.so.5 ${chroot}/lib - fi - elif [ "${branch}" = "6" ]; then - cp -p /lib/libc.so.5 ${chroot}/lib - fi + # to be able to run certain kernel-dependent binaries + # inside the chroot area + cp -p /rescue/mount /rescue/umount ${chroot}/sbin cp -p /rescue/ps ${chroot}/bin - cp -p /usr/bin/killall ${chroot}/usr/bin + rm ${chroot}/.notready touch ${chroot}/.ready fi @@ -215,7 +200,11 @@ if [ ! -z "${ccache_dir}" ]; then mkdir -p ${chroot}/root/.ccache/ - mount -o rw -t nullfs ${ccache_dir} ${chroot}/root/.ccache/ + if [ "${ccache_dir_nfs}" = "1" ]; then + mount_nfs -o rw -T -3 ${ccache_dir} ${chroot}/root/.ccache/ + else + mount -o rw -t nullfs ${ccache_dir} ${chroot}/root/.ccache/ + fi fi mount_fs ${pb}/${arch}/${branch}/ports ${chroot}/a/ports ${master} @@ -226,7 +215,6 @@ mount_fs ${pb}/${arch}/${branch}/src ${chroot}/usr/src ${master} mount -t devfs foo ${chroot}/dev - umount -f ${chroot}/compat/linux/proc > /dev/null 2>&1 # just in case... @@ -246,22 +234,13 @@ mtree -deU -f ${chroot}/usr/src/etc/mtree/BSD.usr.dist -p ${chroot}/usr \ >/dev/null 2>&1 mkdir -p ${chroot}${LOCALBASE} -mtree -deU -f ${chroot}/usr/src/etc/mtree/BSD.local.dist -p ${chroot}${LOCALBASE} \ +mtree -deU -f ${chroot}/a/ports/Templates/BSD.local.dist -p ${chroot}${LOCALBASE} \ >/dev/null 2>&1 -mkdir -p ${chroot}${X11BASE} -if [ $X_WINDOW_SYSTEM = "xfree86-3" ]; then - mtree -deU -f ${chroot}/usr/src/etc/mtree/BSD.x11.dist -p ${chroot}${X11BASE} \ - >/dev/null 2>&1 -else - mtree -deU -f ${chroot}/usr/src/etc/mtree/BSD.x11-4.dist -p ${chroot}${X11BASE} \ - >/dev/null 2>&1 -fi - if [ ${arch} = "i386" -o ${arch} = "amd64" ]; then # JDK ports need linprocfs :( mkdir -p ${chroot}/compat/linux/proc - mount_linprocfs linprocfs ${chroot}/compat/linux/proc + mount -t linprocfs linprocfs ${chroot}/compat/linux/proc fi _ldconfig_dirs="/lib /usr/lib /usr/lib/compat" @@ -285,7 +264,7 @@ # Test for copy failure and bail if [ ! -f ${chroot}/tmp/depends/$1 ]; then - echo "ERROR: Couldn't copy $1" + echo "ERROR: Couldn't copy $1" | tee -a ${chroot}/tmp/${pkgname}.log bailout ${chroot} ${clean} 255 ${pkgname} fi fi ==== //depot/projects/soc2006/gabor_destdir/UPDATING#13 (text+ko) ==== @@ -6,6 +6,30 @@ time you update your ports collection, before attempting any port upgrades. +20070730: + AFFECTS: users of py-* + AUTHOR: python@FreeBSD.org + +The default version of Python has been changed from 2.4.x to 2.5.x. +If you have 2.4.x installed, perform an upgrade of lang/python24 to +lang/python25 with a command like: + + # portupgrade -o lang/python25 lang/python24 + +If want to keep 2.4.x installed alongside 2.5.x, set the PYTHON_DEFAULT_VERSION +variable to 'python2.5' without quotes in make.conf, then go to lang/python and +execute + + # portupgrade -R python + +Once the installed Python has been updated to 2.5, by using one of the methods +above, it is required to run the upgrade-site-packages target in lang/python to +assure that site-packages are made available to the new Python version. + + # cd /usr/ports/lang/python && make upgrade-site-packages + +This Makefile target requires ports-mgmt/portupgrade to be installed. + 20070727: AFFECTS: autotools AUTHOR: ade@FreeBSD.org @@ -5465,4 +5489,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.530 2007/07/28 06:33:42 ade Exp $ +$FreeBSD: ports/UPDATING,v 1.531 2007/07/30 09:40:56 alexbl Exp $ From owner-p4-projects@FreeBSD.ORG Mon Jul 30 12:14:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABD1C16A41B; Mon, 30 Jul 2007 12:14:05 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C31216A419 for ; Mon, 30 Jul 2007 12:14:05 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E3AD13C46C for ; Mon, 30 Jul 2007 12:14:05 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UCE5WX003530 for ; Mon, 30 Jul 2007 12:14:05 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UCE5Q6003527 for perforce@freebsd.org; Mon, 30 Jul 2007 12:14:05 GMT (envelope-from gabor@freebsd.org) Date: Mon, 30 Jul 2007 12:14:05 GMT Message-Id: <200707301214.l6UCE5Q6003527@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124348 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 12:14:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=124348 Change 124348 by gabor@gabor_server on 2007/07/30 12:13:07 Create my branch for the bsd.perl.mk project. This branch is integrated from my DESTDIR branch as that has a lot of changes, which aren't merged to CVS yet. Affected files ... .. //depot/projects/soc2007/gabor_perlmk/.cvsignore#1 branch .. //depot/projects/soc2007/gabor_perlmk/CHANGES#1 branch .. //depot/projects/soc2007/gabor_perlmk/COPYRIGHT#1 branch .. //depot/projects/soc2007/gabor_perlmk/GIDs#1 branch .. //depot/projects/soc2007/gabor_perlmk/KNOBS#1 branch .. //depot/projects/soc2007/gabor_perlmk/LEGAL#1 branch .. //depot/projects/soc2007/gabor_perlmk/MOVED#1 branch .. //depot/projects/soc2007/gabor_perlmk/Makefile#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.apache.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.autotools.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.commands.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.database.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.destdir.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.efl.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.emacs.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gcc.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gnome.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gnustep.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gstreamer.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.java.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.kde.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.linux-rpm.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.local.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.lua.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.mail.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.ocaml.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.openssl.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.php.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.options.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.post.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.pre.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.subdir.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.python.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.qt.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.ruby.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.scons.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.sdl.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.sites.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.tcl.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.wx.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.xfce.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.xorg.mk#1 branch .. //depot/projects/soc2007/gabor_perlmk/README#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/BSD.local.dist#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/README.category#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/README.port#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/README.top#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/config.guess#1 branch .. //depot/projects/soc2007/gabor_perlmk/Templates/config.sub#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/make_index#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/make_readmes#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/4/bindist/README#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/4/bindist/delete#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/4/bindist/dirlist#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/4/bindist/files/usr/bin/uname#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/4/mkbindist.conf#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/5/bindist/files/usr/bin/uname#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/5/mkbindist.conf#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/mlist#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/portbuild.conf#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/allgohans#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/bothlogs#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/buildenv#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/buildfailure#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/buildscript#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/buildsuccess#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/checkmachines#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/checkmachines.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/chopindex#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/claim-chroot#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/clean-chroot#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/cleanup-chroots#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/comparelogs#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/cpdistfiles#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/cppackages#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/docppackages#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dodistfiles#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dologs#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dopackages#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dopackages.wrapper#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dopackages2#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dopackagestats#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/dosetupnode#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/flushsquid#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/getmachine#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/keeprestr#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/makeduds#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/makeindex#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/makeparallel#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/makerestr#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/makeworld#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/mkbindist#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/pdispatch#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/pnohang.c#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/pollmachine#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/portbuild#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/processfail#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/processlogs#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/processlogs2#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/processonelog#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/prunebad#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/prunefailure#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/prunepkgs#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/ptimeout.c#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/releasemachine#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/reportload#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/reportload.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/setupnode#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/showrunning#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/stats#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/straslivy.py#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/portbuild/scripts/updatefailure#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/MOVEDlint.awk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/README#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/README.patchtool#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/README.portsearch#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/addport#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/bad-pkgdescrs.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/bump_revision.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/check-latest-link#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/checkcats.py#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/checknewver.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/checksize.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/checksum.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/chkdepschain.py#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/chkmodules.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/chkorigin.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/chkversion.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/close-pr#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/consistency-check#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/distclean.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/distinfochecker#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/domakedescribe#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/doportlint#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/getpr#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/gnomedepends.py#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mergebase.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpbuild#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpclean#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpextr#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpinstall#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpmerge#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkppackage#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/mkptools/mkpskel#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/modulesupdate#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/parse-kdump.tcl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/patchtool.py#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/pkg-stash/pkg-list.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/pkg-stash/pkg-stash.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/plist#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/portsearch#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/portsvar.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/prdone#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/prpatch#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/Makefile#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/README#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/checkdeps.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/config#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/doit.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/oneshot.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/scrubindex.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/release/setup.sh#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/rmport#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/security-check.awk#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/splitpatch.pl#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/sunshar.rb#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/sunshar/Makefile#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/sunshar/sunshar.1#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/tindex#1 branch .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/update-patches#1 branch .. //depot/projects/soc2007/gabor_perlmk/UIDs#1 branch .. //depot/projects/soc2007/gabor_perlmk/UPDATING#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Mon Jul 30 12:20:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 208F516A46B; Mon, 30 Jul 2007 12:20:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D22EC16A468 for ; Mon, 30 Jul 2007 12:20:13 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C5A4B13C458 for ; Mon, 30 Jul 2007 12:20:13 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UCKDA8014895 for ; Mon, 30 Jul 2007 12:20:13 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UCKDMi014871 for perforce@freebsd.org; Mon, 30 Jul 2007 12:20:13 GMT (envelope-from gabor@freebsd.org) Date: Mon, 30 Jul 2007 12:20:13 GMT Message-Id: <200707301220.l6UCKDMi014871@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 12:20:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=124349 Change 124349 by gabor@gabor_server on 2007/07/30 12:20:10 Add empty skeleton for bsd.perl.mk. Affected files ... .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#1 add .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#2 edit Differences ... ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#2 (text+ko) ==== @@ -1433,6 +1433,10 @@ .include "${PORTSDIR}/Mk/bsd.gnustep.mk" .endif +.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) +.include "${PORTSDIR}/Mk/bsd.perl.mk" +.endif + .if defined(USE_PHP) .include "${PORTSDIR}/Mk/bsd.php.mk" .endif From owner-p4-projects@FreeBSD.ORG Mon Jul 30 13:37:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E4D916A46B; Mon, 30 Jul 2007 13:37:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DAE816A419 for ; Mon, 30 Jul 2007 13:37:53 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2F6A013C48D for ; Mon, 30 Jul 2007 13:37:53 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UDbrlX044333 for ; Mon, 30 Jul 2007 13:37:53 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UDbq0H044330 for perforce@freebsd.org; Mon, 30 Jul 2007 13:37:52 GMT (envelope-from zec@FreeBSD.org) Date: Mon, 30 Jul 2007 13:37:52 GMT Message-Id: <200707301337.l6UDbq0H044330@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 13:37:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=124354 Change 124354 by zec@zec_tpx32 on 2007/07/30 13:37:17 Overhaul of memory allocation handling for vnet modules. Previously, attach / detach functions in vnet modules were individually responsible for allocating and freeing memory for storing private state. This change hides the details of memory management from vnet modules by providing them with already allocated and zeroed storage before vnet's attach method (if provided) is called, and by ensuring that this storage will be freed immediately after vnet's detach method (if provided) is executed. From now on all vnet modules have to be declared through one of the following two macros: VNET_MOD_DECLARE() or VNET_MOD_DECLARE_STATELESS(). The former macro is to be used when a vnet module requires an instance of private storage to be allocated per each vnet, while the later form should be used when no private storage is required, but only the initialization ordering has to be enforced. While here, deprecate backpointers from vnet modules to the corresponding parent vnets, given that so far they have never been used. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#27 edit .. //depot/projects/vimage/src/sys/kern/uipc_domain.c#8 edit .. //depot/projects/vimage/src/sys/net/if.c#17 edit .. //depot/projects/vimage/src/sys/net/if_gif.c#7 edit .. //depot/projects/vimage/src/sys/net/if_gif.h#4 edit .. //depot/projects/vimage/src/sys/net/if_loop.c#15 edit .. //depot/projects/vimage/src/sys/net/route.c#9 edit .. //depot/projects/vimage/src/sys/net/vnet.h#7 edit .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#11 edit .. //depot/projects/vimage/src/sys/netinet/if_ether.c#12 edit .. //depot/projects/vimage/src/sys/netinet/in_proto.c#7 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw.h#7 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#19 edit .. //depot/projects/vimage/src/sys/netinet/ip_input.c#19 edit .. //depot/projects/vimage/src/sys/netinet/ip_var.h#7 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#24 edit .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#6 edit .. //depot/projects/vimage/src/sys/netinet/vinet.h#18 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#8 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#12 edit .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#9 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#8 edit .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#7 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#6 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#9 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#28 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#27 (text+ko) ==== @@ -69,6 +69,8 @@ MALLOC_DEFINE(M_VCPU, "vcpu", "cpu resource control block"); static void vi_destroy(struct vimage *); +static int vnet_mod_constructor(struct vnet_modlink *); +static int vnet_mod_destructor(struct vnet_modlink *); struct vimage vimage_0; struct vprocg vprocg_0; @@ -84,25 +86,25 @@ static TAILQ_HEAD(vnet_modlink_head, vnet_modlink) vnet_modlink_head; -void vnet_mod_register(modinfo) - struct vnet_modinfo *modinfo; +void vnet_mod_register(vmi) + const struct vnet_modinfo *vmi; { - vnet_mod_register_multi(modinfo, NULL, NULL); + vnet_mod_register_multi(vmi, NULL, NULL); } -void vnet_mod_register_multi(modinfo, iarg, iname) - struct vnet_modinfo *modinfo; - void *iarg; - char *iname; +void vnet_mod_register_multi(vmi, iarg, iname) + const struct vnet_modinfo *vmi; + const void *iarg; + const char *iname; { struct vnet_modlink *vml; /* Do not register the same module instance more than once */ - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) - if (vml->modinfo == modinfo && vml->iarg == iarg) + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) + if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) break; if (vml != NULL) - panic("attempt to register already registered vnet module"); + panic("attempt to register an already registered vnet module"); vml = malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); /* @@ -110,47 +112,43 @@ * In principle modules should be able to get a dynamically * assigned ID at registration time. */ - VNET_ASSERT(modinfo->id > 0 || modinfo->id < VNET_MOD_MAX); + VNET_ASSERT(vmi->vmi_id > 0 || vmi->vmi_id < VNET_MOD_MAX); VNET_ASSERT(!((iarg == NULL) ^ (iname == NULL))); - vml->modinfo = modinfo; - vml->iarg = iarg; - vml->iname = iname; - TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, mod_le); + vml->vml_modinfo = vmi; + vml->vml_iarg = iarg; + vml->vml_iname = iname; + TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, vml_mod_le); - if (modinfo->i_attach) { - VNET_ITERLOOP_BEGIN_QUIET(); - modinfo->i_attach(iarg); - VNET_ITERLOOP_END(); - } + VNET_ITERLOOP_BEGIN_QUIET(); + vnet_mod_constructor(vml); + VNET_ITERLOOP_END(); } -void vnet_mod_deregister(modinfo) - struct vnet_modinfo *modinfo; +void vnet_mod_deregister(vmi) + const struct vnet_modinfo *vmi; { - vnet_mod_deregister_multi(modinfo, NULL, NULL); + vnet_mod_deregister_multi(vmi, NULL, NULL); } -void vnet_mod_deregister_multi(modinfo, iarg, iname) - struct vnet_modinfo *modinfo; - void *iarg; - char *iname; +void vnet_mod_deregister_multi(vmi, iarg, iname) + const struct vnet_modinfo *vmi; + const void *iarg; + const char *iname; { struct vnet_modlink *vml; - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) - if (vml->modinfo == modinfo && vml->iarg == iarg) + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) + if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) break; if (vml == NULL) panic("cannot deregister unregistered vnet module"); - if (modinfo->i_detach) { - VNET_ITERLOOP_BEGIN_QUIET(); - modinfo->i_detach(iarg); - VNET_ITERLOOP_END(); - } + VNET_ITERLOOP_BEGIN_QUIET(); + vnet_mod_destructor(vml); + VNET_ITERLOOP_END(); - TAILQ_REMOVE(&vnet_modlink_head, vml, mod_le); + TAILQ_REMOVE(&vnet_modlink_head, vml, vml_mod_le); free(vml, M_VIMAGE); } @@ -415,17 +413,17 @@ { struct vnet_modlink *vml; - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) { + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) { struct vnet_symmap *mapentry; - if (vml->modinfo->symmap == NULL) + if (vml->vml_modinfo->vmi_symmap == NULL) continue; - for (mapentry = vml->modinfo->symmap; + for (mapentry = vml->vml_modinfo->vmi_symmap; mapentry->name != NULL; mapentry++) { if (strcmp(symstr, mapentry->name) == 0) { lookup->symvalue = - (int) curvnet->mod_data[vml->modinfo->id]; + (int) curvnet->mod_data[vml->vml_modinfo->vmi_id]; /* XXX */ lookup->symvalue += mapentry->offset; lookup->symsize = mapentry->size; return 0; @@ -457,29 +455,25 @@ if (vip == NULL) goto vi_alloc_done; - vip = realloc(vip, sizeof(struct vimage), M_VIMAGE, M_NOWAIT); + vip = realloc(vip, sizeof(struct vimage), M_VIMAGE, M_NOWAIT | M_ZERO); if (vip == NULL) panic("vi_alloc: malloc failed for vimage \"%s\"\n", name); - bzero(vip, sizeof(struct vimage)); vip->vi_id = last_vi_id++; - vnet = malloc(sizeof(struct vnet), M_VNET, M_NOWAIT); + vnet = malloc(sizeof(struct vnet), M_VNET, M_NOWAIT | M_ZERO); if (vnet == NULL) panic("vi_alloc: malloc failed for vnet \"%s\"\n", name); - bzero(vnet, sizeof(struct vnet)); vip->v_vnet = vnet; vnet->vnet_magic_n = VNET_MAGIC_N; - vprocg = malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT); + vprocg = malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT | M_ZERO); if (vprocg == NULL) panic("vi_alloc: malloc failed for vprocg \"%s\"\n", name); - bzero(vprocg, sizeof(struct vprocg)); vip->v_procg = vprocg; - vcpu = malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT); + vcpu = malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT | M_ZERO); if (vcpu == NULL) panic ("vi_alloc: malloc failed for vcpu \"%s\"\n", name); - bzero (vcpu, sizeof(struct vcpu)); vip->v_cpu = vcpu; /* Some initialization stuff... */ @@ -487,12 +481,9 @@ CURVNET_SET_QUIET(vnet); - /* - * Initialize / attach module instances. - */ - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) - if (vml->modinfo->i_attach != NULL) - vml->modinfo->i_attach(vml->iarg); + /* Initialize / attach module instances. */ + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) + vnet_mod_constructor(vml); CURVNET_RESTORE(); @@ -553,9 +544,8 @@ * Detach / free per-module state instances. */ TAILQ_FOREACH_REVERSE(vml, &vnet_modlink_head, - vnet_modlink_head, mod_le) - if (vml->modinfo->i_detach) - vml->modinfo->i_detach(vml->iarg); + vnet_modlink_head, vml_mod_le) + vnet_mod_destructor(vml); #if 0 free((caddr_t)vnet->ifnet_addrs, M_IFADDR); @@ -578,7 +568,42 @@ free(vip, M_VIMAGE); } +static int vnet_mod_constructor(vml) +struct vnet_modlink *vml; +{ + const struct vnet_modinfo *vmi = vml->vml_modinfo; + if (vml->vml_modinfo->vmi_struct_size) { + void *mem = malloc(vmi->vmi_struct_size, M_VNET, M_NOWAIT); + if (mem == NULL) /* XXX should return error, not panic */ + panic("vi_alloc: malloc for %s\n", vmi->vmi_name); + bzero(mem, vmi->vmi_struct_size); + curvnet->mod_data[vmi->vmi_id] = mem; + } + + if (vml->vml_modinfo->vmi_iattach != NULL) + vml->vml_modinfo->vmi_iattach(vml->vml_iarg); + + return 0; +} + +static int vnet_mod_destructor(vml) +struct vnet_modlink *vml; +{ + if (vml->vml_modinfo->vmi_idetach) + vml->vml_modinfo->vmi_idetach(vml->vml_iarg); + if (vml->vml_modinfo->vmi_struct_size) { + if (curvnet->mod_data[vml->vml_modinfo->vmi_id] == NULL) + panic("vi_destroy: %s\n", + vml->vml_modinfo->vmi_name); + free(curvnet->mod_data[vml->vml_modinfo->vmi_id], + M_VNET); + curvnet->mod_data[vml->vml_modinfo->vmi_id] = NULL; + } + + return 0; +} + static void vi_init(void *unused) { @@ -621,19 +646,20 @@ if (arg) db_printf(" %p", arg); else - db_printf(" 0x0"); + db_printf(" 0"); } DB_SHOW_COMMAND(vnets, db_show_vnets) { - db_printf(" vnet ifcs socks"); - db_printf(" net inet inet6 netgraph\n"); + db_printf(" vnet ifs socks"); + db_printf(" net inet inet6 ipsec netgraph\n"); VNET_ITERLOOP_BEGIN_QUIET(); - db_printf("%p %4d %5d", + db_printf("%p %3d %5d", vnet_iter, vnet_iter->ifccnt, vnet_iter->sockcnt); db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NET]); db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET]); db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET6]); + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_IPSEC]); db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NETGRAPH]); db_printf("\n"); VNET_ITERLOOP_END(); ==== //depot/projects/vimage/src/sys/kern/uipc_domain.c#8 (text+ko) ==== @@ -67,9 +67,9 @@ SYSINIT(domainfin, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_FIRST, domainfinalize, NULL) -static int net_init_domain(void *); +static vnet_attach_fn net_init_domain; #ifdef VIMAGE -static int net_detach_domain(void *); +static vnet_detach_fn net_detach_domain; #endif static struct callout pffast_callout; @@ -108,14 +108,7 @@ .pru_sopoll = pru_sopoll_notsupp, }; -#ifdef VIMAGE -static struct vnet_modinfo vnet_domain_modinfo = { - .id = VNET_MOD_DOMAIN, - .name = "domain", - .i_attach = net_init_domain, - .i_detach = net_detach_domain -}; -#endif +VNET_MOD_DECLARE_STATELESS(DOMAIN, domain, net_init_domain, net_detach_domain) static void protosw_init(struct protosw *pr) @@ -148,9 +141,9 @@ * Initialize a domain instance. */ static int -net_init_domain(void *arg) +net_init_domain(const void *arg) { - struct domain *dp = arg; + const struct domain *dp = arg; struct protosw *pr; if (dp->dom_init) @@ -172,9 +165,9 @@ * Detach / free a domain instance. */ static int -net_detach_domain(void *arg) +net_detach_domain(const void *arg) { - struct domain *dp = arg; + const struct domain *dp = arg; struct protosw *pr; if (dp->dom_destroy) ==== //depot/projects/vimage/src/sys/net/if.c#17 (text+ko) ==== @@ -137,9 +137,9 @@ extern void nd6_setmtu(struct ifnet *); #endif -static int vnet_net_iattach(void *); +static int vnet_net_iattach(const void *); #ifdef VIMAGE -static int vnet_net_idetach(void *); +static int vnet_net_idetach(const void *); #endif int ifqmaxlen = IFQ_MAXLEN; @@ -163,8 +163,6 @@ { 1, NULL, filt_netdetach, filt_netdev }; #ifdef VIMAGE -struct vnet_net vnet_net_0; - static struct vnet_symmap vnet_net_symmap[] = { VNET_SYMMAP(net, ifnet), VNET_SYMMAP(net, rt_tables), @@ -173,15 +171,7 @@ VNET_SYMMAP_END }; -static struct vnet_modinfo vnet_net_modinfo = { - .id = VNET_MOD_NET, - .name = "net", - .symmap = vnet_net_symmap, - .i_attach = vnet_net_iattach, - .i_detach = vnet_net_idetach -}; - -MALLOC_DEFINE(M_NET, "net", "NET instance"); +VNET_MOD_DECLARE(NET, net, vnet_net_symmap, vnet_net_iattach, vnet_net_idetach) #endif /* @@ -348,23 +338,10 @@ static int vnet_net_iattach(unused) - void *unused; + const void *unused; { -#ifdef VIMAGE - struct vnet_net *vnet_net; + INIT_VNET_NET(curvnet); - if (IS_VNET_0(curvnet)) { - vnet_net = &vnet_net_0; - } else { - vnet_net = malloc(sizeof(struct vnet_net), - M_NET, M_NOWAIT | M_ZERO); - if (vnet_net == NULL) - panic("couldn't allocate memory for vnet_net"); - } - curvnet->mod_data[vnet_net_modinfo.id] = vnet_net; - vnet_net->parent_vnet = curvnet; -#endif - TAILQ_INIT(&V_ifnet); TAILQ_INIT(&V_ifg_head); knlist_init(&V_ifklist, NULL, NULL, NULL, NULL); @@ -377,7 +354,7 @@ #ifdef VIMAGE static int vnet_net_idetach(unused) - void *unused; + const void *unused; { INIT_VNET_NET(curvnet); @@ -389,9 +366,6 @@ free((caddr_t)V_ifindex_table, M_IFNET); - curvnet->mod_data[vnet_net_modinfo.id] = NULL; - free((caddr_t)vnet_net, M_NET); - return 0; } #endif ==== //depot/projects/vimage/src/sys/net/if_gif.c#7 (text+ko) ==== @@ -107,8 +107,7 @@ static void gif_start(struct ifnet *); static int gif_clone_create(struct if_clone *, int, caddr_t); static void gif_clone_destroy(struct ifnet *); -static int vnet_gif_iattach(void *); -static int vnet_gif_idetach(void *); +static int vnet_gif_iattach(const void *); IFC_SIMPLE_DECLARE(gif, 0); @@ -145,14 +144,7 @@ SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, parallel_tunnels, CTLFLAG_RW, parallel_tunnels, 0, "Allow parallel tunnels?"); -#ifdef VIMAGE -static struct vnet_modinfo vnet_gif_modinfo = { - .id = VNET_MOD_GIF, - .name = "gif", - .i_attach = vnet_gif_iattach, - .i_detach = vnet_gif_idetach -}; -#endif +VNET_MOD_DECLARE(GIF, gif, NULL, vnet_gif_iattach, NULL) static int gif_clone_create(ifc, unit, params) @@ -238,17 +230,9 @@ static int vnet_gif_iattach(unused) - void *unused; + const void *unused; { -#ifdef VIMAGE - struct vnet_gif *vnet_gif; - - vnet_gif = malloc(sizeof(*vnet_gif), M_GIF, M_NOWAIT | M_ZERO); - if (vnet_gif == NULL) - panic("couldn't allocate memory for vnet_gif"); - curvnet->mod_data[vnet_gif_modinfo.id] = vnet_gif; - vnet_gif->parent_vnet = curvnet; -#endif + INIT_VNET_GIF(curvnet); LIST_INIT(&V_gif_softc_list); V_max_gif_nesting = MAX_GIF_NEST; @@ -265,20 +249,6 @@ } static int -vnet_gif_idetach(unused) - void *unused; -{ - INIT_VNET_GIF(curvnet); - -#ifdef VIMAGE - curvnet->mod_data[vnet_gif_modinfo.id] = NULL; - free(vnet_gif, M_GIF); -#endif - - return 0; -} - -static int gifmodevent(mod, type, data) module_t mod; int type; @@ -299,8 +269,6 @@ if_clone_detach(&gif_cloner); #ifdef VIMAGE vnet_mod_deregister(&vnet_gif_modinfo); -#else - vnet_gif_idetach(NULL); #endif mtx_destroy(&gif_mtx); break; ==== //depot/projects/vimage/src/sys/net/if_gif.h#4 (text+ko) ==== @@ -119,8 +119,6 @@ #define VNET_GIF(sym) VSYM(vnet_gif, sym) struct vnet_gif { - struct vnet *parent_vnet; - LIST_HEAD(, gif_softc) _gif_softc_list; int _max_gif_nesting; int _parallel_tunnels; ==== //depot/projects/vimage/src/sys/net/if_loop.c#15 (text+ko) ==== @@ -106,9 +106,9 @@ struct sockaddr *dst, struct rtentry *rt); static int lo_clone_create(struct if_clone *, int, caddr_t); static void lo_clone_destroy(struct ifnet *); -static int vnet_loif_iattach(void *); +static int vnet_loif_iattach(const void *); #ifdef VIMAGE -static int vnet_loif_idetach(void *); +static int vnet_loif_idetach(const void *); #endif #ifndef VIMAGE @@ -180,17 +180,10 @@ return (0); } -#ifdef VIMAGE -static struct vnet_modinfo vnet_loif_modinfo = { - .id = VNET_MOD_LOIF, - .name = "loif", - .i_attach = vnet_loif_iattach, - .i_detach = vnet_loif_idetach -}; -#endif +VNET_MOD_DECLARE_STATELESS(LOIF, loif, vnet_loif_iattach, vnet_loif_idetach) static int vnet_loif_iattach(unused) - void *unused; + const void *unused; { INIT_VNET_NET(curvnet); @@ -208,7 +201,7 @@ #ifdef VIMAGE static int vnet_loif_idetach(unused) - void *unused; + const void *unused; { INIT_VNET_NET(curvnet); struct lo_softc *sc, *nsc; ==== //depot/projects/vimage/src/sys/net/route.c#9 (text+ko) ==== @@ -60,9 +60,9 @@ static void rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *); -static int rtable_init(void *); +static int rtable_init(const void *); #ifdef VIMAGE -static int rtable_idetach(void *); +static int rtable_idetach(const void *); #endif /* compare two sockaddr structures */ @@ -80,18 +80,11 @@ */ #define RNTORT(p) ((struct rtentry *)(p)) -#ifdef VIMAGE -static struct vnet_modinfo vnet_rtable_modinfo = { - .id = VNET_MOD_RTABLE, - .name = "rtable", - .i_attach = rtable_init, - .i_detach = rtable_idetach -}; -#endif +VNET_MOD_DECLARE_STATELESS(RTABLE, rtable, rtable_init, rtable_idetach) static int rtable_init(unused) - void *unused; + const void *unused; { INIT_VNET_NET(curvnet); @@ -106,7 +99,7 @@ #ifdef VIMAGE static int rtable_idetach(unused) - void *unused; + const void *unused; { INIT_VNET_NET(curvnet); ==== //depot/projects/vimage/src/sys/net/vnet.h#7 (text+ko) ==== @@ -45,8 +45,6 @@ #include struct vnet_net { - struct vnet *parent_vnet; - int _if_index; struct ifindex_entry *_ifindex_table; struct ifnethead _ifnet; ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#11 (text+ko) ==== @@ -248,17 +248,9 @@ #define NG_WORKLIST_UNLOCK() \ mtx_unlock(&ng_worklist_mtx) -static int vnet_netgraph_iattach(void); +static vnet_attach_fn vnet_netgraph_iattach; -#ifdef VIMAGE -struct vnet_netgraph vnet_netgraph_0; - -static struct vnet_modinfo vnet_netgraph_modinfo = { - .id = VNET_MOD_NETGRAPH, - .name = "netgraph", - .i_attach = vnet_netgraph_iattach, -}; -#endif +VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, NULL) #ifdef NETGRAPH_DEBUG /*----------------------------------------------*/ /* @@ -3196,7 +3188,7 @@ #ifdef VIMAGE vnet_mod_register(&vnet_netgraph_modinfo); #else - vnet_netgraph_iattach(); + vnet_netgraph_iattach(NULL); #endif break; case MOD_UNLOAD: @@ -3210,22 +3202,9 @@ return (error); } -static int vnet_netgraph_iattach(void) +static int vnet_netgraph_iattach(const void *unused) { -#ifdef VIMAGE - struct vnet_netgraph *vnet_netgraph; - - if (IS_VNET_0(curvnet)) { - vnet_netgraph = &vnet_netgraph_0; - } else { - vnet_netgraph = malloc(sizeof(struct vnet_netgraph), - M_NETGRAPH, M_NOWAIT | M_ZERO); - if (vnet_netgraph == NULL) - panic("couldn't allocate memory for vnet_netgraph"); - } - curvnet->mod_data[vnet_netgraph_modinfo.id] = vnet_netgraph; - vnet_netgraph->parent_vnet = curvnet; -#endif + INIT_VNET_NETGRAPH(curvnet); LIST_INIT(&V_ng_nodelist); ==== //depot/projects/vimage/src/sys/netinet/if_ether.c#12 (text+ko) ==== @@ -119,7 +119,7 @@ "Enable proxy ARP for all suitable requests"); static void arp_init(void); -static int arp_iattach(void *); +static int arp_iattach(const void *); static void arp_rtrequest(int, struct rtentry *, struct rt_addrinfo *); static void arprequest(struct ifnet *, struct in_addr *, struct in_addr *, u_char *); @@ -131,14 +131,7 @@ static void in_arpinput(struct mbuf *); #endif -#ifdef VIMAGE -static struct vnet_modinfo vnet_arp_modinfo = { - .id = VNET_MOD_ARP, - .name = "arp", - .i_attach = arp_iattach, - .i_detach = NULL, -}; -#endif +VNET_MOD_DECLARE_STATELESS(ARP, arp, arp_iattach, NULL) /* * Timeout routine. @@ -982,7 +975,7 @@ static int arp_iattach(unused) - void *unused; + const void *unused; { INIT_VNET_INET(curvnet); ==== //depot/projects/vimage/src/sys/netinet/in_proto.c#7 (text+ko) ==== @@ -106,9 +106,6 @@ .pr_domain = &inetdomain, .pr_protocol = IPPROTO_IP, .pr_init = ip_init, -#ifdef VIMAGE - .pr_destroy = ip_detach, -#endif .pr_slowtimo = ip_slowtimo, .pr_drain = ip_drain, .pr_usrreqs = &nousrreqs ==== //depot/projects/vimage/src/sys/netinet/ip_fw.h#7 (text+ko) ==== @@ -654,8 +654,6 @@ */ #ifdef VIMAGE struct vnet_ipfw { - struct vnet *parent_vnet; - int _fw_one_pass; int _fw_enable; int _fw6_enable; ==== //depot/projects/vimage/src/sys/netinet/ip_fw2.c#19 (text+ko) ==== @@ -112,17 +112,10 @@ #include -static int vnet_ipfw_iattach(void); -static int vnet_ipfw_idetach(void); +static int vnet_ipfw_iattach(const void *); +static int vnet_ipfw_idetach(const void *); -#ifdef VIMAGE -static struct vnet_modinfo vnet_ipfw_modinfo = { - .id = VNET_MOD_IPFW, - .name = "ipfw", - .i_attach = vnet_ipfw_iattach, - .i_detach = vnet_ipfw_idetach, -}; -#endif +VNET_MOD_DECLARE(IPFW, ipfw, NULL, vnet_ipfw_iattach, vnet_ipfw_idetach) /* * set_disable contains one bit per set value (0..31). @@ -4955,19 +4948,11 @@ ipfw_tick, arg); } -static int vnet_ipfw_iattach(void) +static int vnet_ipfw_iattach(const void *unused) { + INIT_VNET_IPFW(curvnet); struct ip_fw default_rule; int error; -#ifdef VIMAGE - struct vnet_ipfw *vnet_ipfw; - - vnet_ipfw = malloc(sizeof(*vnet_ipfw), M_IPFW, M_NOWAIT | M_ZERO); - if (vnet_ipfw == NULL) - panic("couldn't allocate memory for vnet_ipfw"); - curvnet->mod_data[vnet_ipfw_modinfo.id] = vnet_ipfw; - vnet_ipfw->parent_vnet = curvnet; -#endif V_fw_debug = 1; V_autoinc_step = 100; /* bounded to 1..1000 in add_rule() */ @@ -5057,7 +5042,7 @@ #ifdef VIMAGE vnet_mod_register(&vnet_ipfw_modinfo); #else - vnet_ipfw_iattach(); + vnet_ipfw_iattach(NULL); #endif printf("ipfw2 " @@ -5104,7 +5089,7 @@ return (0); } -static int vnet_ipfw_idetach(void) +static int vnet_ipfw_idetach(const void *unused) { INIT_VNET_IPFW(curvnet); struct ip_fw *reap; @@ -5131,11 +5116,6 @@ reap_rules(reap); IPFW_LOCK_DESTROY(&V_layer3_chain); -#ifdef VIMAGE - curvnet->mod_data[vnet_ipfw_modinfo.id] = NULL; - free(vnet_ipfw, M_IPFW); -#endif - return 0; } @@ -5148,7 +5128,7 @@ #ifdef VIMAGE vnet_mod_deregister(&vnet_ipfw_modinfo); #else - vnet_ipfw_idetach(); + vnet_ipfw_idetach(NULL); #endif #ifdef IPFIREWALL_NAT ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#19 (text+ko) ==== @@ -213,22 +213,17 @@ static void ip_freef(struct ipqhead *, struct ipq *); #ifdef VIMAGE -static struct vnet_inet vnet_inet_0; +static void vnet_inet_register(void); -struct vnet_symmap vnet_inet_symmap[] = { - VNET_SYMMAP_END -}; +VNET_MOD_DECLARE(INET, inet, NULL, NULL, NULL) -static struct vnet_modinfo vnet_inet_modinfo = { - .id = VNET_MOD_INET, - .name = "inet", - .symmap = vnet_inet_symmap, - .i_attach = NULL, - .i_detach = NULL, -}; +static void vnet_inet_register() +{ + vnet_mod_register(&vnet_inet_modinfo); +} -MALLOC_DEFINE(M_INET, "inet", "INET domain instance"); -#endif /* VIMAGE */ +SYSINIT(inet, SI_SUB_PROTO_BEGIN, SI_ORDER_FIRST, vnet_inet_register, 0); +#endif /* * IP initialization: fill in IP protocol switch table. @@ -237,25 +232,10 @@ void ip_init(void) { + INIT_VNET_INET(curvnet); struct protosw *pr; int i; -#ifdef VIMAGE - struct vnet_inet *vnet_inet; - - if (IS_VNET_0(curvnet)) { - vnet_mod_register(&vnet_inet_modinfo); - vnet_inet = &vnet_inet_0; - } else { - vnet_inet = malloc(sizeof(struct vnet_inet), - M_INET, M_NOWAIT | M_ZERO); - if (vnet_inet == NULL) - panic("couldn't allocate memory for vnet_inet"); - } - curvnet->mod_data[vnet_inet_modinfo.id] = vnet_inet; - vnet_inet->parent_vnet = curvnet; -#endif - TAILQ_INIT(&V_in_ifaddrhead); V_in_ifaddrhashtbl = hashinit(INADDR_NHASH, M_IFADDR, &V_in_ifaddrhmask); @@ -347,17 +327,6 @@ netisr_register(NETISR_IP, ip_input, &ipintrq, NETISR_MPSAFE); } -#ifdef VIMAGE -void -ip_detach() -{ - INIT_VNET_INET(curvnet); - - free(vnet_inet, M_INET); - curvnet->mod_data[vnet_inet_modinfo.id] = NULL; -} -#endif - void ip_fini(void *xtp) { ==== //depot/projects/vimage/src/sys/netinet/ip_var.h#7 (text+ko) ==== @@ -201,9 +201,6 @@ u_long if_hwassist_flags, int sw_csum); void ip_forward(struct mbuf *m, int srcrt); void ip_init(void); -#ifdef VIMAGE -void ip_detach(void); -#endif extern int (*ip_mforward)(struct ip *, struct ifnet *, struct mbuf *, struct ip_moptions *); ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#24 (text+ko) ==== ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#6 (text+ko) ==== ==== //depot/projects/vimage/src/sys/netinet/vinet.h#18 (text+ko) ==== @@ -55,8 +55,6 @@ #include struct vnet_inet { - struct vnet *parent_vnet; - struct in_ifaddrhashhead *_in_ifaddrhashtbl; struct in_ifaddrhead _in_ifaddrhead; u_long _in_ifaddrhmask; ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#16 (text+ko) ==== @@ -146,21 +146,16 @@ #endif #ifdef VIMAGE -static struct vnet_inet6 vnet_inet6_0; +static void vnet_inet6_register(void); + +VNET_MOD_DECLARE(INET6, inet6, NULL, NULL, NULL) + +static void vnet_inet6_register() +{ + vnet_mod_register(&vnet_inet6_modinfo); +} -struct vnet_symmap vnet_inet6_symmap[] = { - VNET_SYMMAP_END -}; - -static struct vnet_modinfo vnet_inet6_modinfo = { - .id = VNET_MOD_INET6, - .name = "inet6", - .symmap = vnet_inet6_symmap, - .i_attach = NULL, - .i_detach = NULL, >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 30 18:23:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D25A16A420; Mon, 30 Jul 2007 18:23:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B551A16A417; Mon, 30 Jul 2007 18:23:41 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outbound1.internet-mail-service.net (outbound1.internet-mail-service.net [216.240.47.192]) by mx1.freebsd.org (Postfix) with ESMTP id 8DCF413C442; Mon, 30 Jul 2007 18:23:41 +0000 (UTC) (envelope-from julian@elischer.org) Received: from idiom.com (mx0.idiom.com [216.240.32.160]) by outbound.internet-mail-service.net (Postfix) with ESMTP id D704E34AF17; Mon, 30 Jul 2007 11:13:25 -0700 (PDT) Received: from julian-mac.elischer.org (home.elischer.org [216.240.48.38]) by idiom.com (Postfix) with ESMTP id 85A32126407; Mon, 30 Jul 2007 10:23:20 -0700 (PDT) Message-ID: <46AE1EB0.1020909@elischer.org> Date: Mon, 30 Jul 2007 10:24:00 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.5 (Macintosh/20070716) MIME-Version: 1.0 To: Marko Zec References: <200707301337.l6UDbq0H044330@repoman.freebsd.org> In-Reply-To: <200707301337.l6UDbq0H044330@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 18:23:42 -0000 Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=124354 > > Change 124354 by zec@zec_tpx32 on 2007/07/30 13:37:17 > > > While here, deprecate backpointers from vnet modules to > the corresponding parent vnets, given that so far they have > never been used. > hmmmm I was thinking about that.. The idea seems to make sense initially.. I am surprised that they are not used but wonder if that means they would never have been used? would they not be used in the case of hierarchical schedulers? > Affected files ... > > .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#27 edit > .. //depot/projects/vimage/src/sys/kern/uipc_domain.c#8 edit > .. //depot/projects/vimage/src/sys/net/if.c#17 edit > .. //depot/projects/vimage/src/sys/net/if_gif.c#7 edit > .. //depot/projects/vimage/src/sys/net/if_gif.h#4 edit > .. //depot/projects/vimage/src/sys/net/if_loop.c#15 edit > .. //depot/projects/vimage/src/sys/net/route.c#9 edit > .. //depot/projects/vimage/src/sys/net/vnet.h#7 edit > .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#11 edit > .. //depot/projects/vimage/src/sys/netinet/if_ether.c#12 edit > .. //depot/projects/vimage/src/sys/netinet/in_proto.c#7 edit > .. //depot/projects/vimage/src/sys/netinet/ip_fw.h#7 edit > .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#19 edit > .. //depot/projects/vimage/src/sys/netinet/ip_input.c#19 edit > .. //depot/projects/vimage/src/sys/netinet/ip_var.h#7 edit > .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#24 edit > .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#6 edit > .. //depot/projects/vimage/src/sys/netinet/vinet.h#18 edit > .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#16 edit > .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#16 edit > .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#8 edit > .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#12 edit > .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#9 edit > .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#8 edit > .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#7 edit > .. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#6 edit > .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#9 edit > .. //depot/projects/vimage/src/sys/sys/vimage.h#28 edit > > Differences ... > > ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#27 (text+ko) ==== > > @@ -69,6 +69,8 @@ > MALLOC_DEFINE(M_VCPU, "vcpu", "cpu resource control block"); > > static void vi_destroy(struct vimage *); > +static int vnet_mod_constructor(struct vnet_modlink *); > +static int vnet_mod_destructor(struct vnet_modlink *); > > struct vimage vimage_0; > struct vprocg vprocg_0; > @@ -84,25 +86,25 @@ > > static TAILQ_HEAD(vnet_modlink_head, vnet_modlink) vnet_modlink_head; > > -void vnet_mod_register(modinfo) > - struct vnet_modinfo *modinfo; > +void vnet_mod_register(vmi) > + const struct vnet_modinfo *vmi; > { > - vnet_mod_register_multi(modinfo, NULL, NULL); > + vnet_mod_register_multi(vmi, NULL, NULL); > } > > -void vnet_mod_register_multi(modinfo, iarg, iname) > - struct vnet_modinfo *modinfo; > - void *iarg; > - char *iname; > +void vnet_mod_register_multi(vmi, iarg, iname) > + const struct vnet_modinfo *vmi; > + const void *iarg; > + const char *iname; > { > struct vnet_modlink *vml; > > /* Do not register the same module instance more than once */ > - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) > - if (vml->modinfo == modinfo && vml->iarg == iarg) > + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) > + if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) > break; > if (vml != NULL) > - panic("attempt to register already registered vnet module"); > + panic("attempt to register an already registered vnet module"); > vml = malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); > > /* > @@ -110,47 +112,43 @@ > * In principle modules should be able to get a dynamically > * assigned ID at registration time. > */ > - VNET_ASSERT(modinfo->id > 0 || modinfo->id < VNET_MOD_MAX); > + VNET_ASSERT(vmi->vmi_id > 0 || vmi->vmi_id < VNET_MOD_MAX); > VNET_ASSERT(!((iarg == NULL) ^ (iname == NULL))); > > - vml->modinfo = modinfo; > - vml->iarg = iarg; > - vml->iname = iname; > - TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, mod_le); > + vml->vml_modinfo = vmi; > + vml->vml_iarg = iarg; > + vml->vml_iname = iname; > + TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, vml_mod_le); > > - if (modinfo->i_attach) { > - VNET_ITERLOOP_BEGIN_QUIET(); > - modinfo->i_attach(iarg); > - VNET_ITERLOOP_END(); > - } > + VNET_ITERLOOP_BEGIN_QUIET(); > + vnet_mod_constructor(vml); > + VNET_ITERLOOP_END(); > } > > -void vnet_mod_deregister(modinfo) > - struct vnet_modinfo *modinfo; > +void vnet_mod_deregister(vmi) > + const struct vnet_modinfo *vmi; > { > - vnet_mod_deregister_multi(modinfo, NULL, NULL); > + vnet_mod_deregister_multi(vmi, NULL, NULL); > } > > -void vnet_mod_deregister_multi(modinfo, iarg, iname) > - struct vnet_modinfo *modinfo; > - void *iarg; > - char *iname; > +void vnet_mod_deregister_multi(vmi, iarg, iname) > + const struct vnet_modinfo *vmi; > + const void *iarg; > + const char *iname; > { > struct vnet_modlink *vml; > > - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) > - if (vml->modinfo == modinfo && vml->iarg == iarg) > + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) > + if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) > break; > if (vml == NULL) > panic("cannot deregister unregistered vnet module"); > > - if (modinfo->i_detach) { > - VNET_ITERLOOP_BEGIN_QUIET(); > - modinfo->i_detach(iarg); > - VNET_ITERLOOP_END(); > - } > + VNET_ITERLOOP_BEGIN_QUIET(); > + vnet_mod_destructor(vml); > + VNET_ITERLOOP_END(); > > - TAILQ_REMOVE(&vnet_modlink_head, vml, mod_le); > + TAILQ_REMOVE(&vnet_modlink_head, vml, vml_mod_le); > free(vml, M_VIMAGE); > } > > @@ -415,17 +413,17 @@ > { > struct vnet_modlink *vml; > > - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) { > + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) { > struct vnet_symmap *mapentry; > > - if (vml->modinfo->symmap == NULL) > + if (vml->vml_modinfo->vmi_symmap == NULL) > continue; > > - for (mapentry = vml->modinfo->symmap; > + for (mapentry = vml->vml_modinfo->vmi_symmap; > mapentry->name != NULL; mapentry++) { > if (strcmp(symstr, mapentry->name) == 0) { > lookup->symvalue = > - (int) curvnet->mod_data[vml->modinfo->id]; > + (int) curvnet->mod_data[vml->vml_modinfo->vmi_id]; /* XXX */ > lookup->symvalue += mapentry->offset; > lookup->symsize = mapentry->size; > return 0; > @@ -457,29 +455,25 @@ > if (vip == NULL) > goto vi_alloc_done; > > - vip = realloc(vip, sizeof(struct vimage), M_VIMAGE, M_NOWAIT); > + vip = realloc(vip, sizeof(struct vimage), M_VIMAGE, M_NOWAIT | M_ZERO); > if (vip == NULL) > panic("vi_alloc: malloc failed for vimage \"%s\"\n", name); > - bzero(vip, sizeof(struct vimage)); > vip->vi_id = last_vi_id++; > > - vnet = malloc(sizeof(struct vnet), M_VNET, M_NOWAIT); > + vnet = malloc(sizeof(struct vnet), M_VNET, M_NOWAIT | M_ZERO); > if (vnet == NULL) > panic("vi_alloc: malloc failed for vnet \"%s\"\n", name); > - bzero(vnet, sizeof(struct vnet)); > vip->v_vnet = vnet; > vnet->vnet_magic_n = VNET_MAGIC_N; > > - vprocg = malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT); > + vprocg = malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT | M_ZERO); > if (vprocg == NULL) > panic("vi_alloc: malloc failed for vprocg \"%s\"\n", name); > - bzero(vprocg, sizeof(struct vprocg)); > vip->v_procg = vprocg; > > - vcpu = malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT); > + vcpu = malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT | M_ZERO); > if (vcpu == NULL) > panic ("vi_alloc: malloc failed for vcpu \"%s\"\n", name); > - bzero (vcpu, sizeof(struct vcpu)); > vip->v_cpu = vcpu; > > /* Some initialization stuff... */ > @@ -487,12 +481,9 @@ > > CURVNET_SET_QUIET(vnet); > > - /* > - * Initialize / attach module instances. > - */ > - TAILQ_FOREACH(vml, &vnet_modlink_head, mod_le) > - if (vml->modinfo->i_attach != NULL) > - vml->modinfo->i_attach(vml->iarg); > + /* Initialize / attach module instances. */ > + TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) > + vnet_mod_constructor(vml); > > CURVNET_RESTORE(); > > @@ -553,9 +544,8 @@ > * Detach / free per-module state instances. > */ > TAILQ_FOREACH_REVERSE(vml, &vnet_modlink_head, > - vnet_modlink_head, mod_le) > - if (vml->modinfo->i_detach) > - vml->modinfo->i_detach(vml->iarg); > + vnet_modlink_head, vml_mod_le) > + vnet_mod_destructor(vml); > > #if 0 > free((caddr_t)vnet->ifnet_addrs, M_IFADDR); > @@ -578,7 +568,42 @@ > free(vip, M_VIMAGE); > } > > +static int vnet_mod_constructor(vml) > +struct vnet_modlink *vml; > +{ > + const struct vnet_modinfo *vmi = vml->vml_modinfo; > > + if (vml->vml_modinfo->vmi_struct_size) { > + void *mem = malloc(vmi->vmi_struct_size, M_VNET, M_NOWAIT); > + if (mem == NULL) /* XXX should return error, not panic */ > + panic("vi_alloc: malloc for %s\n", vmi->vmi_name); > + bzero(mem, vmi->vmi_struct_size); > + curvnet->mod_data[vmi->vmi_id] = mem; > + } > + > + if (vml->vml_modinfo->vmi_iattach != NULL) > + vml->vml_modinfo->vmi_iattach(vml->vml_iarg); > + > + return 0; > +} > + > +static int vnet_mod_destructor(vml) > +struct vnet_modlink *vml; > +{ > + if (vml->vml_modinfo->vmi_idetach) > + vml->vml_modinfo->vmi_idetach(vml->vml_iarg); > + if (vml->vml_modinfo->vmi_struct_size) { > + if (curvnet->mod_data[vml->vml_modinfo->vmi_id] == NULL) > + panic("vi_destroy: %s\n", > + vml->vml_modinfo->vmi_name); > + free(curvnet->mod_data[vml->vml_modinfo->vmi_id], > + M_VNET); > + curvnet->mod_data[vml->vml_modinfo->vmi_id] = NULL; > + } > + > + return 0; > +} > + > static void > vi_init(void *unused) > { > @@ -621,19 +646,20 @@ > if (arg) > db_printf(" %p", arg); > else > - db_printf(" 0x0"); > + db_printf(" 0"); > } > > DB_SHOW_COMMAND(vnets, db_show_vnets) > { > - db_printf(" vnet ifcs socks"); > - db_printf(" net inet inet6 netgraph\n"); > + db_printf(" vnet ifs socks"); > + db_printf(" net inet inet6 ipsec netgraph\n"); > VNET_ITERLOOP_BEGIN_QUIET(); > - db_printf("%p %4d %5d", > + db_printf("%p %3d %5d", > vnet_iter, vnet_iter->ifccnt, vnet_iter->sockcnt); > db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NET]); > db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET]); > db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_INET6]); > + db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_IPSEC]); > db_vnet_ptr(vnet_iter->mod_data[VNET_MOD_NETGRAPH]); > db_printf("\n"); > VNET_ITERLOOP_END(); > > ==== //depot/projects/vimage/src/sys/kern/uipc_domain.c#8 (text+ko) ==== > > @@ -67,9 +67,9 @@ > SYSINIT(domainfin, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_FIRST, domainfinalize, > NULL) > > -static int net_init_domain(void *); > +static vnet_attach_fn net_init_domain; > #ifdef VIMAGE > -static int net_detach_domain(void *); > +static vnet_detach_fn net_detach_domain; > #endif > > static struct callout pffast_callout; > @@ -108,14 +108,7 @@ > .pru_sopoll = pru_sopoll_notsupp, > }; > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_domain_modinfo = { > - .id = VNET_MOD_DOMAIN, > - .name = "domain", > - .i_attach = net_init_domain, > - .i_detach = net_detach_domain > -}; > -#endif > +VNET_MOD_DECLARE_STATELESS(DOMAIN, domain, net_init_domain, net_detach_domain) > > static void > protosw_init(struct protosw *pr) > @@ -148,9 +141,9 @@ > * Initialize a domain instance. > */ > static int > -net_init_domain(void *arg) > +net_init_domain(const void *arg) > { > - struct domain *dp = arg; > + const struct domain *dp = arg; > struct protosw *pr; > > if (dp->dom_init) > @@ -172,9 +165,9 @@ > * Detach / free a domain instance. > */ > static int > -net_detach_domain(void *arg) > +net_detach_domain(const void *arg) > { > - struct domain *dp = arg; > + const struct domain *dp = arg; > struct protosw *pr; > > if (dp->dom_destroy) > > ==== //depot/projects/vimage/src/sys/net/if.c#17 (text+ko) ==== > > @@ -137,9 +137,9 @@ > extern void nd6_setmtu(struct ifnet *); > #endif > > -static int vnet_net_iattach(void *); > +static int vnet_net_iattach(const void *); > #ifdef VIMAGE > -static int vnet_net_idetach(void *); > +static int vnet_net_idetach(const void *); > #endif > > int ifqmaxlen = IFQ_MAXLEN; > @@ -163,8 +163,6 @@ > { 1, NULL, filt_netdetach, filt_netdev }; > > #ifdef VIMAGE > -struct vnet_net vnet_net_0; > - > static struct vnet_symmap vnet_net_symmap[] = { > VNET_SYMMAP(net, ifnet), > VNET_SYMMAP(net, rt_tables), > @@ -173,15 +171,7 @@ > VNET_SYMMAP_END > }; > > -static struct vnet_modinfo vnet_net_modinfo = { > - .id = VNET_MOD_NET, > - .name = "net", > - .symmap = vnet_net_symmap, > - .i_attach = vnet_net_iattach, > - .i_detach = vnet_net_idetach > -}; > - > -MALLOC_DEFINE(M_NET, "net", "NET instance"); > +VNET_MOD_DECLARE(NET, net, vnet_net_symmap, vnet_net_iattach, vnet_net_idetach) > #endif > > /* > @@ -348,23 +338,10 @@ > > static int > vnet_net_iattach(unused) > - void *unused; > + const void *unused; > { > -#ifdef VIMAGE > - struct vnet_net *vnet_net; > + INIT_VNET_NET(curvnet); > > - if (IS_VNET_0(curvnet)) { > - vnet_net = &vnet_net_0; > - } else { > - vnet_net = malloc(sizeof(struct vnet_net), > - M_NET, M_NOWAIT | M_ZERO); > - if (vnet_net == NULL) > - panic("couldn't allocate memory for vnet_net"); > - } > - curvnet->mod_data[vnet_net_modinfo.id] = vnet_net; > - vnet_net->parent_vnet = curvnet; > -#endif > - > TAILQ_INIT(&V_ifnet); > TAILQ_INIT(&V_ifg_head); > knlist_init(&V_ifklist, NULL, NULL, NULL, NULL); > @@ -377,7 +354,7 @@ > #ifdef VIMAGE > static int > vnet_net_idetach(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_NET(curvnet); > > @@ -389,9 +366,6 @@ > > free((caddr_t)V_ifindex_table, M_IFNET); > > - curvnet->mod_data[vnet_net_modinfo.id] = NULL; > - free((caddr_t)vnet_net, M_NET); > - > return 0; > } > #endif > > ==== //depot/projects/vimage/src/sys/net/if_gif.c#7 (text+ko) ==== > > @@ -107,8 +107,7 @@ > static void gif_start(struct ifnet *); > static int gif_clone_create(struct if_clone *, int, caddr_t); > static void gif_clone_destroy(struct ifnet *); > -static int vnet_gif_iattach(void *); > -static int vnet_gif_idetach(void *); > +static int vnet_gif_iattach(const void *); > > IFC_SIMPLE_DECLARE(gif, 0); > > @@ -145,14 +144,7 @@ > SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, parallel_tunnels, > CTLFLAG_RW, parallel_tunnels, 0, "Allow parallel tunnels?"); > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_gif_modinfo = { > - .id = VNET_MOD_GIF, > - .name = "gif", > - .i_attach = vnet_gif_iattach, > - .i_detach = vnet_gif_idetach > -}; > -#endif > +VNET_MOD_DECLARE(GIF, gif, NULL, vnet_gif_iattach, NULL) > > static int > gif_clone_create(ifc, unit, params) > @@ -238,17 +230,9 @@ > > static int > vnet_gif_iattach(unused) > - void *unused; > + const void *unused; > { > -#ifdef VIMAGE > - struct vnet_gif *vnet_gif; > - > - vnet_gif = malloc(sizeof(*vnet_gif), M_GIF, M_NOWAIT | M_ZERO); > - if (vnet_gif == NULL) > - panic("couldn't allocate memory for vnet_gif"); > - curvnet->mod_data[vnet_gif_modinfo.id] = vnet_gif; > - vnet_gif->parent_vnet = curvnet; > -#endif > + INIT_VNET_GIF(curvnet); > > LIST_INIT(&V_gif_softc_list); > V_max_gif_nesting = MAX_GIF_NEST; > @@ -265,20 +249,6 @@ > } > > static int > -vnet_gif_idetach(unused) > - void *unused; > -{ > - INIT_VNET_GIF(curvnet); > - > -#ifdef VIMAGE > - curvnet->mod_data[vnet_gif_modinfo.id] = NULL; > - free(vnet_gif, M_GIF); > -#endif > - > - return 0; > -} > - > -static int > gifmodevent(mod, type, data) > module_t mod; > int type; > @@ -299,8 +269,6 @@ > if_clone_detach(&gif_cloner); > #ifdef VIMAGE > vnet_mod_deregister(&vnet_gif_modinfo); > -#else > - vnet_gif_idetach(NULL); > #endif > mtx_destroy(&gif_mtx); > break; > > ==== //depot/projects/vimage/src/sys/net/if_gif.h#4 (text+ko) ==== > > @@ -119,8 +119,6 @@ > #define VNET_GIF(sym) VSYM(vnet_gif, sym) > > struct vnet_gif { > - struct vnet *parent_vnet; > - > LIST_HEAD(, gif_softc) _gif_softc_list; > int _max_gif_nesting; > int _parallel_tunnels; > > ==== //depot/projects/vimage/src/sys/net/if_loop.c#15 (text+ko) ==== > > @@ -106,9 +106,9 @@ > struct sockaddr *dst, struct rtentry *rt); > static int lo_clone_create(struct if_clone *, int, caddr_t); > static void lo_clone_destroy(struct ifnet *); > -static int vnet_loif_iattach(void *); > +static int vnet_loif_iattach(const void *); > #ifdef VIMAGE > -static int vnet_loif_idetach(void *); > +static int vnet_loif_idetach(const void *); > #endif > > #ifndef VIMAGE > @@ -180,17 +180,10 @@ > return (0); > } > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_loif_modinfo = { > - .id = VNET_MOD_LOIF, > - .name = "loif", > - .i_attach = vnet_loif_iattach, > - .i_detach = vnet_loif_idetach > -}; > -#endif > +VNET_MOD_DECLARE_STATELESS(LOIF, loif, vnet_loif_iattach, vnet_loif_idetach) > > static int vnet_loif_iattach(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_NET(curvnet); > > @@ -208,7 +201,7 @@ > > #ifdef VIMAGE > static int vnet_loif_idetach(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_NET(curvnet); > struct lo_softc *sc, *nsc; > > ==== //depot/projects/vimage/src/sys/net/route.c#9 (text+ko) ==== > > @@ -60,9 +60,9 @@ > > static void rt_maskedcopy(struct sockaddr *, > struct sockaddr *, struct sockaddr *); > -static int rtable_init(void *); > +static int rtable_init(const void *); > #ifdef VIMAGE > -static int rtable_idetach(void *); > +static int rtable_idetach(const void *); > #endif > > /* compare two sockaddr structures */ > @@ -80,18 +80,11 @@ > */ > #define RNTORT(p) ((struct rtentry *)(p)) > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_rtable_modinfo = { > - .id = VNET_MOD_RTABLE, > - .name = "rtable", > - .i_attach = rtable_init, > - .i_detach = rtable_idetach > -}; > -#endif > +VNET_MOD_DECLARE_STATELESS(RTABLE, rtable, rtable_init, rtable_idetach) > > static int > rtable_init(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_NET(curvnet); > > @@ -106,7 +99,7 @@ > #ifdef VIMAGE > static int > rtable_idetach(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_NET(curvnet); > > > ==== //depot/projects/vimage/src/sys/net/vnet.h#7 (text+ko) ==== > > @@ -45,8 +45,6 @@ > #include > > struct vnet_net { > - struct vnet *parent_vnet; > - > int _if_index; > struct ifindex_entry *_ifindex_table; > struct ifnethead _ifnet; > > ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#11 (text+ko) ==== > > @@ -248,17 +248,9 @@ > #define NG_WORKLIST_UNLOCK() \ > mtx_unlock(&ng_worklist_mtx) > > -static int vnet_netgraph_iattach(void); > +static vnet_attach_fn vnet_netgraph_iattach; > > -#ifdef VIMAGE > -struct vnet_netgraph vnet_netgraph_0; > - > -static struct vnet_modinfo vnet_netgraph_modinfo = { > - .id = VNET_MOD_NETGRAPH, > - .name = "netgraph", > - .i_attach = vnet_netgraph_iattach, > -}; > -#endif > +VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, NULL) > > #ifdef NETGRAPH_DEBUG /*----------------------------------------------*/ > /* > @@ -3196,7 +3188,7 @@ > #ifdef VIMAGE > vnet_mod_register(&vnet_netgraph_modinfo); > #else > - vnet_netgraph_iattach(); > + vnet_netgraph_iattach(NULL); > #endif > break; > case MOD_UNLOAD: > @@ -3210,22 +3202,9 @@ > return (error); > } > > -static int vnet_netgraph_iattach(void) > +static int vnet_netgraph_iattach(const void *unused) > { > -#ifdef VIMAGE > - struct vnet_netgraph *vnet_netgraph; > - > - if (IS_VNET_0(curvnet)) { > - vnet_netgraph = &vnet_netgraph_0; > - } else { > - vnet_netgraph = malloc(sizeof(struct vnet_netgraph), > - M_NETGRAPH, M_NOWAIT | M_ZERO); > - if (vnet_netgraph == NULL) > - panic("couldn't allocate memory for vnet_netgraph"); > - } > - curvnet->mod_data[vnet_netgraph_modinfo.id] = vnet_netgraph; > - vnet_netgraph->parent_vnet = curvnet; > -#endif > + INIT_VNET_NETGRAPH(curvnet); > > LIST_INIT(&V_ng_nodelist); > > > ==== //depot/projects/vimage/src/sys/netinet/if_ether.c#12 (text+ko) ==== > > @@ -119,7 +119,7 @@ > "Enable proxy ARP for all suitable requests"); > > static void arp_init(void); > -static int arp_iattach(void *); > +static int arp_iattach(const void *); > static void arp_rtrequest(int, struct rtentry *, struct rt_addrinfo *); > static void arprequest(struct ifnet *, > struct in_addr *, struct in_addr *, u_char *); > @@ -131,14 +131,7 @@ > static void in_arpinput(struct mbuf *); > #endif > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_arp_modinfo = { > - .id = VNET_MOD_ARP, > - .name = "arp", > - .i_attach = arp_iattach, > - .i_detach = NULL, > -}; > -#endif > +VNET_MOD_DECLARE_STATELESS(ARP, arp, arp_iattach, NULL) > > /* > * Timeout routine. > @@ -982,7 +975,7 @@ > > static int > arp_iattach(unused) > - void *unused; > + const void *unused; > { > INIT_VNET_INET(curvnet); > > > ==== //depot/projects/vimage/src/sys/netinet/in_proto.c#7 (text+ko) ==== > > @@ -106,9 +106,6 @@ > .pr_domain = &inetdomain, > .pr_protocol = IPPROTO_IP, > .pr_init = ip_init, > -#ifdef VIMAGE > - .pr_destroy = ip_detach, > -#endif > .pr_slowtimo = ip_slowtimo, > .pr_drain = ip_drain, > .pr_usrreqs = &nousrreqs > > ==== //depot/projects/vimage/src/sys/netinet/ip_fw.h#7 (text+ko) ==== > > @@ -654,8 +654,6 @@ > */ > #ifdef VIMAGE > struct vnet_ipfw { > - struct vnet *parent_vnet; > - > int _fw_one_pass; > int _fw_enable; > int _fw6_enable; > > ==== //depot/projects/vimage/src/sys/netinet/ip_fw2.c#19 (text+ko) ==== > > @@ -112,17 +112,10 @@ > > #include > > -static int vnet_ipfw_iattach(void); > -static int vnet_ipfw_idetach(void); > +static int vnet_ipfw_iattach(const void *); > +static int vnet_ipfw_idetach(const void *); > > -#ifdef VIMAGE > -static struct vnet_modinfo vnet_ipfw_modinfo = { > - .id = VNET_MOD_IPFW, > - .name = "ipfw", > - .i_attach = vnet_ipfw_iattach, > - .i_detach = vnet_ipfw_idetach, > -}; > -#endif > +VNET_MOD_DECLARE(IPFW, ipfw, NULL, vnet_ipfw_iattach, vnet_ipfw_idetach) > > /* > * set_disable contains one bit per set value (0..31). > @@ -4955,19 +4948,11 @@ > ipfw_tick, arg); > } > > -static int vnet_ipfw_iattach(void) > +static int vnet_ipfw_iattach(const void *unused) > { > + INIT_VNET_IPFW(curvnet); > struct ip_fw default_rule; > int error; > -#ifdef VIMAGE > - struct vnet_ipfw *vnet_ipfw; > - > - vnet_ipfw = malloc(sizeof(*vnet_ipfw), M_IPFW, M_NOWAIT | M_ZERO); > - if (vnet_ipfw == NULL) > - panic("couldn't allocate memory for vnet_ipfw"); > - curvnet->mod_data[vnet_ipfw_modinfo.id] = vnet_ipfw; > - vnet_ipfw->parent_vnet = curvnet; > -#endif > > V_fw_debug = 1; > V_autoinc_step = 100; /* bounded to 1..1000 in add_rule() */ > @@ -5057,7 +5042,7 @@ > #ifdef VIMAGE > vnet_mod_register(&vnet_ipfw_modinfo); > #else > - vnet_ipfw_iattach(); > + vnet_ipfw_iattach(NULL); > #endif > > printf("ipfw2 " > @@ -5104,7 +5089,7 @@ > return (0); > } > > -static int vnet_ipfw_idetach(void) > +static int vnet_ipfw_idetach(const void *unused) > { > INIT_VNET_IPFW(curvnet); > struct ip_fw *reap; > @@ -5131,11 +5116,6 @@ > reap_rules(reap); > IPFW_LOCK_DESTROY(&V_layer3_chain); > > -#ifdef VIMAGE > - curvnet->mod_data[vnet_ipfw_modinfo.id] = NULL; > - free(vnet_ipfw, M_IPFW); > -#endif > - > return 0; > } > > @@ -5148,7 +5128,7 @@ > #ifdef VIMAGE > vnet_mod_deregister(&vnet_ipfw_modinfo); > #else > - vnet_ipfw_idetach(); > + vnet_ipfw_idetach(NULL); > #endif > > #ifdef IPFIREWALL_NAT > > ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#19 (text+ko) ==== > > @@ -213,22 +213,17 @@ > static void ip_freef(struct ipqhead *, struct ipq *); > > #ifdef VIMAGE > -static struct vnet_inet vnet_inet_0; > +static void vnet_inet_register(void); > > -struct vnet_symmap vnet_inet_symmap[] = { > - VNET_SYMMAP_END > -}; > +VNET_MOD_DECLARE(INET, inet, NULL, NULL, NULL) > > -static struct vnet_modinfo vnet_inet_modinfo = { > - .id = VNET_MOD_INET, > - .name = "inet", > - .symmap = vnet_inet_symmap, > - .i_attach = NULL, > - .i_detach = NULL, > -}; > +static void vnet_inet_register() > +{ > + vnet_mod_register(&vnet_inet_modinfo); > +} > > -MALLOC_DEFINE(M_INET, "inet", "INET domain instance"); > -#endif /* VIMAGE */ > +SYSINIT(inet, SI_SUB_PROTO_BEGIN, SI_ORDER_FIRST, vnet_inet_register, 0); > +#endif > > /* > * IP initialization: fill in IP protocol switch table. > @@ -237,25 +232,10 @@ > void > ip_init(void) > { > + INIT_VNET_INET(curvnet); > struct protosw *pr; > int i; > > -#ifdef VIMAGE > - struct vnet_inet *vnet_inet; > - > - if (IS_VNET_0(curvnet)) { > - vnet_mod_register(&vnet_inet_modinfo); > - vnet_inet = &vnet_inet_0; > - } else { > - vnet_inet = malloc(sizeof(struct vnet_inet), > - M_INET, M_NOWAIT | M_ZERO); > - if (vnet_inet == NULL) > - panic("couldn't allocate memory for vnet_inet"); > - } > - curvnet->mod_data[vnet_inet_modinfo.id] = vnet_inet; > - vnet_inet->parent_vnet = curvnet; > -#endif > - > TAILQ_INIT(&V_in_ifaddrhead); > V_in_ifaddrhashtbl = hashinit(INADDR_NHASH, M_IFADDR, > &V_in_ifaddrhmask); > @@ -347,17 +327,6 @@ > netisr_register(NETISR_IP, ip_input, &ipintrq, NETISR_MPSAFE); > } > > -#ifdef VIMAGE > -void > -ip_detach() > -{ > - INIT_VNET_INET(curvnet); > - > - free(vnet_inet, M_INET); > - curvnet->mod_data[vnet_inet_modinfo.id] = NULL; > -} > -#endif > - > void > ip_fini(void *xtp) > { > > ==== //depot/projects/vimage/src/sys/netinet/ip_var.h#7 (text+ko) ==== > > @@ -201,9 +201,6 @@ > u_long if_hwassist_flags, int sw_csum); > void ip_forward(struct mbuf *m, int srcrt); > void ip_init(void); > -#ifdef VIMAGE > -void ip_detach(void); > -#endif > extern int > (*ip_mforward)(struct ip *, struct ifnet *, struct mbuf *, > struct ip_moptions *); > > ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#24 (text+ko) ==== > > > ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#6 (text+ko) ==== > > > ==== //depot/projects/vimage/src/sys/netinet/vinet.h#18 (text+ko) ==== > > @@ -55,8 +55,6 @@ > #include > > struct vnet_inet { > - struct vnet *parent_vnet; > - > struct in_ifaddrhashhead *_in_ifaddrhashtbl; > struct in_ifaddrhead _in_ifaddrhead; > u_long _in_ifaddrhmask; > > ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#16 (text+ko) ==== > > @@ -146,21 +146,16 @@ > #endif > > #ifdef VIMAGE > -static struct vnet_inet6 vnet_inet6_0; > +static void vnet_inet6_register(void); > + > +VNET_MOD_DECLARE(INET6, inet6, NULL, NULL, NULL) > + > +static void vnet_inet6_register() > +{ > + vnet_mod_register(&vnet_inet6_modinfo); > +} > > -struct vnet_symmap vnet_inet6_symmap[] = { > - VNET_SYMMAP_END > -}; > - > -static struct vnet_modinfo vnet_inet6_modinfo = { > - .id = VNET_MOD_INET6, > - .name = "inet6", > - .symmap = vnet_inet6_symmap, > - .i_attach = NULL, > - .i_detach = NULL, > >>>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 30 19:12:00 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 829BA16A46C; Mon, 30 Jul 2007 19:12:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4574B16A468 for ; Mon, 30 Jul 2007 19:12:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 37CB313C481 for ; Mon, 30 Jul 2007 19:12:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UJC02p096964 for ; Mon, 30 Jul 2007 19:12:00 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UJBxop096961 for perforce@freebsd.org; Mon, 30 Jul 2007 19:11:59 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 30 Jul 2007 19:11:59 GMT Message-Id: <200707301911.l6UJBxop096961@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 124372 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 19:12:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=124372 Change 124372 by gonzo@gonzo_jeeves on 2007/07/30 19:11:05 o MIPS port has no TLS yet, just like arm and sparc64 Affected files ... .. //depot/projects/mips2/src/gnu/lib/libgomp/config.h#2 edit .. //depot/projects/mips2/src/gnu/lib/libstdc++/config.h#4 edit Differences ... ==== //depot/projects/mips2/src/gnu/lib/libgomp/config.h#2 (text+ko) ==== @@ -59,7 +59,7 @@ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if the target supports thread-local storage. */ -#if !defined(__sparc64__) && !defined(__arm__) +#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__) #define HAVE_TLS 1 #endif ==== //depot/projects/mips2/src/gnu/lib/libstdc++/config.h#4 (text+ko) ==== @@ -371,7 +371,7 @@ /* #undef HAVE_TANL */ /* Define to 1 if the target supports thread-local storage. */ -#if !defined(__sparc64__) && !defined(__arm__) +#if !defined(__sparc64__) && !defined(__arm__) && !defined(__mips__) #define HAVE_TLS 1 #endif From owner-p4-projects@FreeBSD.ORG Mon Jul 30 19:21:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F8AF16A41A; Mon, 30 Jul 2007 19:21:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E960F16A417 for ; Mon, 30 Jul 2007 19:21:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C45A413C468 for ; Mon, 30 Jul 2007 19:21:12 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UJLC7W097387 for ; Mon, 30 Jul 2007 19:21:12 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UJLCFj097384 for perforce@freebsd.org; Mon, 30 Jul 2007 19:21:12 GMT (envelope-from gonzo@FreeBSD.org) Date: Mon, 30 Jul 2007 19:21:12 GMT Message-Id: <200707301921.l6UJLCFj097384@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 124373 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 19:21:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124373 Change 124373 by gonzo@gonzo_jeeves on 2007/07/30 19:21:08 o Add mips to list of targets Affected files ... .. //depot/projects/mips2/src/gnu/lib/libgomp/Makefile#2 edit Differences ... ==== //depot/projects/mips2/src/gnu/lib/libgomp/Makefile#2 (text+ko) ==== @@ -24,7 +24,7 @@ # Target-specific OpenMP configuration .if ${MACHINE_ARCH} == arm || ${MACHINE_ARCH} == i386 || \ - ${MACHINE_ARCH} == powerpc + ${MACHINE_ARCH} == mips || ${MACHINE_ARCH} == powerpc OMP_LOCK_ALIGN = 4 OMP_LOCK_KIND= 4 OMP_LOCK_SIZE= 4 From owner-p4-projects@FreeBSD.ORG Mon Jul 30 19:55:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 24AFA16A419; Mon, 30 Jul 2007 19:55:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E2ED916A420 for ; Mon, 30 Jul 2007 19:55:56 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D636B13C45A for ; Mon, 30 Jul 2007 19:55:56 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UJtupx099409 for ; Mon, 30 Jul 2007 19:55:56 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UJtu9v099406 for perforce@freebsd.org; Mon, 30 Jul 2007 19:55:56 GMT (envelope-from gabor@freebsd.org) Date: Mon, 30 Jul 2007 19:55:56 GMT Message-Id: <200707301955.l6UJtu9v099406@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124375 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 19:55:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=124375 Change 124375 by gabor@gabor_server on 2007/07/30 19:55:13 Only print debug messages if WITH_DESTDIR_DEBUG is set. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#29 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#29 (text+ko) ==== @@ -69,6 +69,11 @@ _DESTDIRMKINCLUDED= yes + +.if !defined(WITH_DESTDIR_DEBUG) +_DESTDIR_DEBUG= >/dev/null 2<&1 +.endif + DESTDIR_ENV_LIST?= DESTDIR_ENV= CHROOTED=yes .for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} @@ -128,16 +133,16 @@ for _dir in tmp dev; do \ [ -d $${_destdir}/$${_dir} ] || \ if ${MKDIR} $${_destdir}/$${_dir}; then \ - ${ECHO_MSG} "=> /$${_dir} subdirectory has been successfully created"; \ + ${ECHO_MSG} "===> /$${_dir} subdirectory has been successfully created"; \ _created_mountpoints_list="$${_destdir}/$${_dir} $${_created_mountpoints_list}"; \ else \ - ${ECHO_MSG} "=> /$${_dir} subdirectory could not be created"; \ + ${ECHO_MSG} "===> /$${_dir} subdirectory could not be created"; \ exit 2; \ fi; \ done; \ - ${ECHO_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ + ${ECHO_MSG} "DEBUG: _DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}" ${_DESTDIR_DEBUG}; \ for _entry in ${_DESTDIR_MOUNT_LIST}; do \ - ${ECHO_MSG} "===> Processing $${_entry}"; \ + ${ECHO_MSG} "DEBUG: Processing $${_entry}" ${_DESTDIR_DEBUG}; \ _mount_var=$${_entry%%:*}; \ _tp=$${_entry#*:}; \ _host_path=`${REALPATH} $${_tp%:*}`; \ @@ -145,66 +150,66 @@ _full_dest_path=`${REALPATH} $${_destdir}/$${_dest_path}`; \ _entry_was_created=0; \ _entry_should_mount=0; \ - ${ECHO_CMD} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ + ${ECHO_CMD} "DEBUG: $${_mount_var}:$${_host_path}:$${_full_dest_path}" ${_DESTDIR_DEBUG}; \ if [ "$${_dest_path}" = "___temp___" ]; then \ - ${ECHO_CMD} "Creating temporary mount point"; \ + ${ECHO_CMD} "DEBUG: Creating temporary mount point" ${_DESTDIR_DEBUG}; \ if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \ - ${ECHO_CMD} "Temporary mount point $${_full_dest_path} created successfully"; \ + ${ECHO_CMD} "DEBUG: Temporary mount point $${_full_dest_path} created successfully" ${_DESTDIR_DEBUG}; \ _entry_was_created=1; \ _entry_should_mount=1; \ _dest_path=$${_full_dest_path#$${_destdir}}; \ _created_mountpoints_list="$${_full_dest_path} $${_created_mountpoints_list}"; \ else \ - ${ECHO_CMD} "Failed to create temporary mount point"; \ + ${ECHO_CMD} "===> Failed to create temporary mount point"; \ exit 9; \ fi; \ else \ - ${ECHO_CMD} "Checking if already mounted"; \ + ${ECHO_CMD} "DEBUG: Checking if already mounted" ${_DESTDIR_DEBUG}; \ if ${MOUNT}|${GREP} -qs "^$${_host_path} on $${_full_dest_path} ("; then \ - ${ECHO_CMD} "$${_host_path} is already mounted on $${_full_dest_path}"; \ + ${ECHO_CMD} "DEBUG: $${_host_path} is already mounted on $${_full_dest_path} ${_DESTDIR_DEBUG}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "$${_host_path} is not mounted on $${_full_dest_path}"; \ + ${ECHO_CMD} "DEBUG: $${_host_path} is not mounted on $${_full_dest_path}" ${_DESTDIR_DEBUG}; \ _entry_should_mount=1; \ fi; \ fi; \ [ -d $${_full_dest_path} ] || \ if ${MKDIR} $${_full_dest_path}; then \ - ${ECHO_CMD} "Mount point $${_full_dest_path} created"; \ + ${ECHO_CMD} "DEBUG: Mount point $${_full_dest_path} created" ${_DESTDIR_DEBUG}; \ _entry_was_created=1; \ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ else \ - ${ECHO_CMD} "Mount point $${_full_dest_path} could not be created"; \ + ${ECHO_CMD} "===> Mount point $${_full_dest_path} could not be created"; \ exit 7; \ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ - ${ECHO_CMD} "Dir $${_host_path} mounted"; \ + ${ECHO_CMD} "DEBUG: Dir $${_host_path} mounted" ${_DESTDIR_DEBUG}; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "Dir $${_host_path} could not be mounted"; \ + ${ECHO_CMD} "===> Dir $${_host_path} could not be mounted"; \ [ "$${_entry_was_created}" = "0" ] || \ ${RMDIR} $${_full_dest_path} || ${TRUE}; \ exit 8; \ fi; \ done; \ - ${ECHO_CMD} "Handling devfs separately"; \ + ${ECHO_CMD} "DEBUG: Handling devfs separately" ${_DESTDIR_DEBUG}; \ _full_dest_path=$${_destdir}/dev; \ ${MOUNT}|${GREP} -qs "^devfs on $${_full_dest_path} (" || \ if ${MOUNT_DEVFS} $${_full_dest_path}; then \ - ${ECHO_CMD} "devfs mounted"; \ + ${ECHO_CMD} "DEBUG: devfs mounted" ${_DESTDIR_DEBUG}; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ else \ - ${ECHO_CMD} "devfs could not be mounted"; \ + ${ECHO_CMD} "===> devfs could not be mounted"; \ [ -n "$${_created_mountpoints_list%%* $${_destdir}/dev *}" ] || \ ${RMDIR} $${_destdir}/dev || ${TRUE}; \ exit 9; \ fi; \ _var_path_list="$${_var_path_list} DEVFS=/dev"; \ - ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list}"; \ - ${ECHO_CMD} "Things we created: $${_created_mountpoints_list}"; \ - ${ECHO_CMD} "_var_path_list: $${_var_path_list}"; \ + ${ECHO_CMD} "DEBUG: Things we mounted: $${_mounted_entries_list}" ${_DESTDIR_DEBUG}; \ + ${ECHO_CMD} "DEBUG: Things we created: $${_created_mountpoints_list}" ${_DESTDIR_DEBUG}; \ + ${ECHO_CMD} "DEBUG: _var_path_list: $${_var_path_list}" ${_DESTDIR_DEBUG}; \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ export $${_var_path_list}; \ ${CHROOT} $${_destdir} ${SH} -c "\ @@ -219,7 +224,6 @@ for _entry in $${_created_mountpoints_list}; do \ ${RMDIR} $${_entry} || ${TRUE}; \ done; \ - ${ECHO_CMD} "===> Congratulations!"; \ exit 0 .endif # !target(do-chroot) .endif # !defined(_DESTDIRMKINCLUDED) From owner-p4-projects@FreeBSD.ORG Mon Jul 30 20:05:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 45B2416A421; Mon, 30 Jul 2007 20:05:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C3A4016A418 for ; Mon, 30 Jul 2007 20:05:08 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B7C9F13C45D for ; Mon, 30 Jul 2007 20:05:08 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6UK58fc001339 for ; Mon, 30 Jul 2007 20:05:08 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6UK58P1001336 for perforce@freebsd.org; Mon, 30 Jul 2007 20:05:08 GMT (envelope-from gabor@freebsd.org) Date: Mon, 30 Jul 2007 20:05:08 GMT Message-Id: <200707302005.l6UK58P1001336@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124376 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 20:05:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=124376 Change 124376 by gabor@gabor_server on 2007/07/30 20:05:00 Purely move the Perl code snippets to bsd.perl.mk. No cosmetics, no simplification, this is just a starting point to see what we have to deal with. Affected files ... .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#2 edit .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#3 edit Differences ... ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#2 (text+ko) ==== @@ -17,4 +17,86 @@ _PERLMKINCLUDED= yes +PERL_VERSION?= 5.8.8 +PERL_VER?= 5.8.8 + +.if !defined(PERL_LEVEL) && defined(PERL_VERSION) +perl_major= ${PERL_VERSION:C|^([1-9]+).*|\1|} +_perl_minor= 00${PERL_VERSION:C|^([1-9]+)\.([0-9]+).*|\2|} +perl_minor= ${_perl_minor:C|^.*(...)|\1|} +.if ${perl_minor} >= 100 +perl_minor= ${PERL_VERSION:C|^([1-9]+)\.([0-9][0-9][0-9]).*|\2|} +perl_patch= ${PERL_VERSION:C|^.*(..)|\1|} +.else # ${perl_minor} < 100 +_perl_patch= 0${PERL_VERSION:C|^([1-9]+)\.([0-9]+)\.*|0|} +perl_patch= ${_perl_patch:C|^.*(..)|\1|} +.endif # ${perl_minor} < 100 +PERL_LEVEL= ${perl_major}${perl_minor}${perl_patch} +.else +PERL_LEVEL= 0 +.endif # !defined(PERL_LEVEL) && defined(PERL_VERSION) + +PERL_ARCH?= mach + +.if ${PERL_LEVEL} >= 500800 +PERL_PORT?= perl5.8 +.else +PERL_PORT?= perl5 +.endif + +SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VER} +SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL} + +PERL5= ${LOCALBASE}/bin/perl${PERL_VERSION} +PERL= ${LOCALBASE}/bin/perl + +PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ + PERL_VER=${PERL_VER} \ + PERL_ARCH=${PERL_ARCH} \ + SITE_PERL=${SITE_PERL_REL} + +.if defined(PERL_MODBUILD) +PERL_CONFIGURE= yes +CONFIGURE_SCRIPT?= Build.PL +.if ${PORTNAME} != Module-Build +BUILD_DEPENDS+= ${SITE_PERL}/Module/Build.pm:${PORTSDIR}/devel/p5-Module-Build +.endif +ALL_TARGET?= +PL_BUILD?= Build +CONFIGURE_ARGS+= \ + create_packlist=0 \ + install_path=lib="${PREFIX}/${SITE_PERL_REL}" \ + install_path=arch="${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}" \ + install_path=script="${PREFIX}/bin" \ + install_path=bin="${PREFIX}/bin" \ + install_path=libdoc="${MAN3PREFIX}/man/man3" \ + install_path=bindoc="${MAN1PREFIX}/man/man1" +.elif defined(PERL_CONFIGURE) +CONFIGURE_ARGS+= INSTALLDIRS="site" +.endif + +.if defined(PERL_CONFIGURE) +USE_PERL5= yes +.if (defined(BATCH) && !defined(IS_INTERACTIVE)) +CONFIGURE_ENV+= PERL_MM_USE_DEFAULT="YES" +.endif +.endif + +.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) +EXTRACT_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +BUILD_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +.endif +.if defined(USE_PERL5) || defined(USE_PERL5_RUN) +RUN_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +.endif + +.if defined(PERL_CONFIGURE) +CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${PREFIX}" \ + INSTALLPRIVLIB="${PREFIX}/lib" INSTALLARCHLIB="${PREFIX}/lib" +CONFIGURE_SCRIPT?= Makefile.PL +MAN3PREFIX?= ${PREFIX}/lib/perl5/${PERL_VERSION} +.undef HAS_CONFIGURE +.endif + .endif ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#3 (text+ko) ==== @@ -1384,39 +1384,6 @@ PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg -PERL_VERSION?= 5.8.8 -PERL_VER?= 5.8.8 - -.if !defined(PERL_LEVEL) && defined(PERL_VERSION) -perl_major= ${PERL_VERSION:C|^([1-9]+).*|\1|} -_perl_minor= 00${PERL_VERSION:C|^([1-9]+)\.([0-9]+).*|\2|} -perl_minor= ${_perl_minor:C|^.*(...)|\1|} -.if ${perl_minor} >= 100 -perl_minor= ${PERL_VERSION:C|^([1-9]+)\.([0-9][0-9][0-9]).*|\2|} -perl_patch= ${PERL_VERSION:C|^.*(..)|\1|} -.else # ${perl_minor} < 100 -_perl_patch= 0${PERL_VERSION:C|^([1-9]+)\.([0-9]+)\.*|0|} -perl_patch= ${_perl_patch:C|^.*(..)|\1|} -.endif # ${perl_minor} < 100 -PERL_LEVEL= ${perl_major}${perl_minor}${perl_patch} -.else -PERL_LEVEL=0 -.endif # !defined(PERL_LEVEL) && defined(PERL_VERSION) - -PERL_ARCH?= mach - -.if ${PERL_LEVEL} >= 500800 -PERL_PORT?= perl5.8 -.else -PERL_PORT?= perl5 -.endif - -SITE_PERL_REL?= lib/perl5/site_perl/${PERL_VER} -SITE_PERL?= ${LOCALBASE}/${SITE_PERL_REL} - -PERL5= ${LOCALBASE}/bin/perl${PERL_VERSION} -PERL= ${LOCALBASE}/bin/perl - .if defined(USE_LOCAL_MK) .include "${PORTSDIR}/Mk/bsd.local.mk" .endif @@ -1924,47 +1891,6 @@ BUILD_DEPENDS+= bison:${PORTSDIR}/devel/bison .endif -PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \ - PERL_VER=${PERL_VER} \ - PERL_ARCH=${PERL_ARCH} \ - SITE_PERL=${SITE_PERL_REL} - -.if defined(PERL_MODBUILD) -PERL_CONFIGURE= yes -CONFIGURE_SCRIPT?= Build.PL -.if ${PORTNAME} != Module-Build -BUILD_DEPENDS+= ${SITE_PERL}/Module/Build.pm:${PORTSDIR}/devel/p5-Module-Build -.endif -ALL_TARGET?= -PL_BUILD?= Build -CONFIGURE_ARGS+= \ - create_packlist=0 \ - install_path=lib="${PREFIX}/${SITE_PERL_REL}" \ - install_path=arch="${PREFIX}/${SITE_PERL_REL}/${PERL_ARCH}" \ - install_path=script="${PREFIX}/bin" \ - install_path=bin="${PREFIX}/bin" \ - install_path=libdoc="${MAN3PREFIX}/man/man3" \ - install_path=bindoc="${MAN1PREFIX}/man/man1" -.elif defined(PERL_CONFIGURE) -CONFIGURE_ARGS+= INSTALLDIRS="site" -.endif - -.if defined(PERL_CONFIGURE) -USE_PERL5= yes -.if (defined(BATCH) && !defined(IS_INTERACTIVE)) -CONFIGURE_ENV+= PERL_MM_USE_DEFAULT="YES" -.endif -.endif - -.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) -EXTRACT_DEPENDS+=${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -BUILD_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -.endif -.if defined(USE_PERL5) || defined(USE_PERL5_RUN) -RUN_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -.endif - .if defined(USE_LOCAL_MK) .include "${PORTSDIR}/Mk/bsd.local.mk" .endif @@ -2836,14 +2762,6 @@ LATEST_LINK?= ${PKGBASE} PKGLATESTFILE= ${PKGLATESTREPOSITORY}/${LATEST_LINK}${PKG_SUFX} -.if defined(PERL_CONFIGURE) -CONFIGURE_ARGS+= CC="${CC}" CCFLAGS="${CFLAGS}" PREFIX="${PREFIX}" \ - INSTALLPRIVLIB="${PREFIX}/lib" INSTALLARCHLIB="${PREFIX}/lib" -CONFIGURE_SCRIPT?= Makefile.PL -MAN3PREFIX?= ${PREFIX}/lib/perl5/${PERL_VERSION} -.undef HAS_CONFIGURE -.endif - CONFIGURE_SCRIPT?= configure CONFIGURE_TARGET?= ${ARCH}-portbld-freebsd${OSREL} CONFIGURE_LOG?= config.log From owner-p4-projects@FreeBSD.ORG Mon Jul 30 21:30:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9580C16A41F; Mon, 30 Jul 2007 21:30:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 396D216A41B for ; Mon, 30 Jul 2007 21:30:42 +0000 (UTC) (envelope-from zec@icir.org) Received: from mail.srv.carnet.hr (unknown [IPv6:2001:b68:e160:0:211:43ff:fecd:6374]) by mx1.freebsd.org (Postfix) with ESMTP id 2D70713C458 for ; Mon, 30 Jul 2007 21:30:41 +0000 (UTC) (envelope-from zec@icir.org) Received: from vipnet236-164.mobile.carnet.hr ([193.198.164.236]:58628) by mail.srv.carnet.hr with esmtp (Exim 4.50) id 1IFcp1-0001sv-3x; Mon, 30 Jul 2007 23:30:37 +0200 From: Marko Zec To: Julian Elischer Date: Mon, 30 Jul 2007 23:30:22 +0200 User-Agent: KMail/1.9.4 References: <200707301337.l6UDbq0H044330@repoman.freebsd.org> <46AE1EB0.1020909@elischer.org> In-Reply-To: <46AE1EB0.1020909@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707302330.23247.zec@icir.org> X-SA-Exim-Connect-IP: 193.198.164.236 X-Spam-Checker-Version: SpamAssassin 3.1.4 (2006-07-26) on nihal.carnet.hr X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=ham version=3.1.4 X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124354 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 30 Jul 2007 21:30:43 -0000 On Monday 30 July 2007 19:24, Julian Elischer wrote: > Marko Zec wrote: > > http://perforce.freebsd.org/chv.cgi?CH=124354 > > > > Change 124354 by zec@zec_tpx32 on 2007/07/30 13:37:17 > > > > > > > > While here, deprecate backpointers from vnet modules to > > the corresponding parent vnets, given that so far they have > > never been used. > > hmmmm > I was thinking about that.. The idea seems to make sense initially.. > I am surprised that they are not used but wonder if that means > they would never have been used? > would they not be used in the case of hierarchical schedulers? Yes we (will) need one form or another of hierarchy among vnets, but this deleted backpointer used to be something else... It was included in each per-module structure (i.e. NET, INET, INET6, IPFW etc.) and was pointing back to the corresponding vnet. It turns out that we always know in which vnet we are operating (by consulting the curvnet macro or by looking at some other appropriate struct such as socket or ifnet), hence maintaining this information in each vnet-module seems to be redundant... Marko From owner-p4-projects@FreeBSD.ORG Tue Jul 31 04:00:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C444A16A41B; Tue, 31 Jul 2007 04:00:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 93BBF16A419 for ; Tue, 31 Jul 2007 04:00:36 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8098313C46A for ; Tue, 31 Jul 2007 04:00:36 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6V40asP016479 for ; Tue, 31 Jul 2007 04:00:36 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6V40VUf016476 for perforce@freebsd.org; Tue, 31 Jul 2007 04:00:31 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 04:00:31 GMT Message-Id: <200707310400.l6V40VUf016476@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 04:00:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124399 Change 124399 by loafier@chrisdsoc on 2007/07/31 03:59:39 integrate Affected files ... .. //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/faq/book.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/faq/book.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/kernelconfig/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/images/books/handbook/install/boot-loader-menu.scr#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/share/images/books/handbook/install/disklabel-auto.scr#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/sgml/freebsd.dsl#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/sgml/man-refs.ent#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/CHANGES#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/LEGAL#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/MOVED#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.autotools.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.gcc.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.port.mk#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.python.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.qt.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/README#2 delete .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/portbuild.conf#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/buildenv#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/buildscript#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/claim-chroot#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/clean-chroot#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/cleanup-chroots#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/dologs#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/dopackages#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/dosetupnode#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/getmachine#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/makeindex#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/mkbindist#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/pnohang.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/pollmachine#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/portbuild#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/straslivy.py#1 branch .. //depot/projects/soc2007/loafier_busalloc/ports/UPDATING#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/CHANGES#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/README#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/bind9/version#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/mtree/BSD.usr.dist#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/rc.d/netif#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/rc.d/nscd#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/lib/libelf/elf_begin.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libelf/elf_memory.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/lagg.4#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/intr.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/conf/CRB#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/include/armreg.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/include/cpufunc.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/include/pmap.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/include/pte.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/Makefile.arm#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/options.ia64#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/em/if_em.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/pci/pci.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/re/if_re.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/ufoma.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/ukbd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/ums.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/i386/trap.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/isa/clock.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/exception.S#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/sapic.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/include/intr.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/include/md_var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/include/sapicvar.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/subr_bus.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/bpf.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_bridge.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_bridgevar.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_lagg.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_lagg.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/netisr.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netgraph/ng_bpf.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_mroute.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_fsm.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_syncache.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet6/udp6_usrreq.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netipx/spx_debug.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netipx/spx_debug.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/kernel.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/mutex.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/proc.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/vmmeter.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/vm/vm_meter.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/vm/vm_page.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/vm/vnode_pager.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/tools/net80211/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/tools/net80211/README#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/tools/net80211/wlandebug/Makefile#2 delete .. //depot/projects/soc2007/loafier_busalloc/src/tools/tools/net80211/wlandebug/wlandebug.8#2 delete .. //depot/projects/soc2007/loafier_busalloc/src/tools/tools/net80211/wlandebug/wlandebug.c#2 delete .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/calendar/calendars/calendar.holiday#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/netstat/ipx.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/truss/i386-fbsd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/truss/main.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/truss/powerpc-fbsd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/truss/syscalls.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/Makefile#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agent.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agent.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/Makefile.inc#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/group.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/group.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/passwd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/passwd.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/services.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/agents/services.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/cachelib.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/cachelib.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/cacheplcs.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/cacheplcs.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/config.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/config.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/debug.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/debug.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/hashtable.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/log.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/log.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/mp_rs_query.#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/mp_rs_query.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/mp_ws_query.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/mp_ws_query.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/nscd.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/nscd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/nscd.conf.5#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/nscdcli.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/nscdcli.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/parser.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/parser.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/protocol.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/protocol.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/query.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/query.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/singletons.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/nscd/singletons.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/wlandebug/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/wlandebug/wlandebug.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/wlandebug/wlandebug.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/www/de/docs/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/docs/man.sgml#2 delete .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/navibar.l10n.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/press.xml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/cgi/man.cgi#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/java/dists/15.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/java/newsflash.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/projects/netperf/cluster.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/releases/5.5R/errata.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/releases/6.2R/errata.html#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/press.xml#2 integrate Differences ... ==== //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/faq/book.sgml#3 (text+ko) ==== @@ -2,10 +2,10 @@ The FreeBSD Documentation Project The FreeBSD German Documentation Project -$FreeBSD: doc/de_DE.ISO8859-1/books/faq/book.sgml,v 1.76 2007/07/18 06:28:01 jkois Exp $ -$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.598 2007/07/18 06:08:25 jkois Exp $ +$FreeBSD: doc/de_DE.ISO8859-1/books/faq/book.sgml,v 1.77 2007/07/27 18:04:47 jkois Exp $ +$FreeBSDde: de-docproj/books/faq/book.sgml,v 1.600 2007/07/25 09:04:03 jkois Exp $ - basiert auf: 1.802 + basiert auf: 1.804 --> @@ -33,7 +33,7 @@ - $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.598 2007/07/18 06:08:25 jkois Exp $ + $FreeBSDde: de-docproj/books/faq/book.sgml,v 1.600 2007/07/25 09:04:03 jkois Exp $ 1995 @@ -4945,31 +4945,16 @@ + url="http://www.unixcities.com/oracle/index.html">http://www.unixcities.com/oracle/index.html + url="http://www.shadowcom.net/freebsd-oracle9i/">http://www.shadowcom.net/freebsd-oracle9i/ - - - - Gibt es für &os; auch kommerzielle Webbrowser? - - - - Ja. Opera ist für verschiedene Plattformen, - darunter auch &os;, verfügbar. Informieren Sie sich - bitte auf - www.opera.com. - Eine werbefinanzierte Version von Opera ist in der - Portssammlung enthalten. - - ==== //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/install/chapter.sgml#3 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -4594,7 +4594,11 @@ Mit dem Kommando &man.cu.1; verbinden Sie sich mit der zu installierenden Maschine: - &prompt.root; cu -l /dev/cuaa0 + &prompt.root; cu -l /dev/cuad0 + + Unter &os; 5.X müssen Sie + /dev/cuaa0 anstelle von + /dev/cuad0 verwenden. ==== //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#2 (text+ko) ==== @@ -2,9 +2,9 @@ The FreeBSD Documentation Project The FreeBSD German Documentation Project - $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.40 2007/03/19 04:39:52 jkois Exp $ - $FreeBSDde: de-docproj/books/handbook/kernelconfig/chapter.sgml,v 1.88 2007/03/17 19:37:37 jkois Exp $ - basiert auf: 1.171 + $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/kernelconfig/chapter.sgml,v 1.41 2007/07/27 18:04:48 jkois Exp $ + $FreeBSDde: de-docproj/books/handbook/kernelconfig/chapter.sgml,v 1.90 2007/07/19 14:09:49 jkois Exp $ + basiert auf: 1.174 --> @@ -480,11 +480,7 @@ Der normale Bauprozess von FreeBSD erstellt nur dann einen Kernel, der Debugging-Informationen enthält, wenn Sie die - Option von &man.gcc.1; aktivieren. - Erstellen Sie den Kernel mit der herkömmlichen Methode - (siehe ), erreichen Sie - dasselbe, wenn Sie &man.config.8; mit der Option - aufrufen. + Option von &man.gcc.1; aktivieren. options SCHED_4BSD # 4BSD scheduler @@ -643,6 +639,13 @@ &os; 5.0 unterstützt werden (wie ia64 und &sparc;), wird diese Option nicht benötigt. + options COMPAT_FREEBSD5 # Compatible with &os;5 + + Diese Option wird ab &os; 6.X benötigt, um Programme, + die unter &os; 5.X-Versionen mit &os; 5.X-Systemaufrufen + kompiliert wurden, unter &os; 6.X ausführen zu + können. + options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI Dies weist den Kernel an, 5 Sekunden zu warten, bevor er @@ -698,14 +701,6 @@ Diese Option erstellt für die Tastatur einen Eintrag im Verzeichnis /dev. - options AHC_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~128k to driver. -options AHD_REG_PRETTY_PRINT # Print register bitfields in debug - # output. Adds ~215k to driver. - - Diese Option hilft bei der Fehlersuche, da sie leichter - zu lesende Registerinhalte ausgibt. - options ADAPTIVE_GIANT # Giant mutex is adaptive. Giant ist der Name einer Sperre (Mutex) die viele @@ -739,6 +734,12 @@ Mehrprozessorsysteme aktivieren Sie mit der Option options SMP. + + Das apic-Gerät existiert nur unter der i386-Architektur, + daher ist es sinnlos, diese Zeile unter einer anderen + Architektur in Ihre Kernelkonfigurationsdatei aufzunehmen. + + device eisa Fügen Sie diese Zeile ein, wenn Sie ein EISA-Motherboard @@ -799,13 +800,17 @@ # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices +options AHC_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~128k to driver. device ahd # AHA39320/29320 and onboard AIC79xx devices +options AHD_REG_PRETTY_PRINT # Print register bitfields in debug + # output. Adds ~215k to driver. device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic family #device ispfw # Firmware for QLogic HBAs- normally a module device mpt # LSI-Logic MPT-Fusion #device ncr # NCR/Symbios Logic -device sym # NCR/Symbios Logic (newer chipsets) +device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')) device trm # Tekram DC395U/UW/F DC315U adapters device adv # Advansys SCSI adapters @@ -820,7 +825,9 @@ SCSI-Controller. Kommentieren Sie alle Controller aus, die sich nicht in Ihrem System befinden. Wenn Sie ein IDE-System besitzen, - können Sie alle Einträge entfernen. + können Sie alle Einträge entfernen. Die Zeilen mit den + *_REG_PRETTY_PRINT-Einträgen aktivieren + Debugging-Optionen für die jeweiligen Treiber. # SCSI peripherals device scbus # SCSI bus (required for SCSI) @@ -889,7 +896,9 @@ device kbdmux # keyboard multiplexer - Basisunterstützung für Tastaturmultiplexer. + Basisunterstützung für Tastaturmultiplexer. + Verwenden Sie nur eine einzige Tastatur, können Sie diese + Zeile aus Ihrer Kernelkonfigurationsdatei entfernen. device vga # VGA video card driver @@ -1080,6 +1089,7 @@ device sis # Silicon Integrated Systems SiS 900/SiS 7016 device sk # SysKonnect SK-984x & SK-982x gigabit Ethernet device ste # Sundance ST201 (D-Link DFE-550TX) +device stge # Sundance/Tamarack TC9021 gigabit Ethernet device ti # Alteon Networks Tigon I/II gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 EPIC) @@ -1111,8 +1121,24 @@ unterstützt wird. # Wireless NIC cards -device wlan # 802.11 support -device an # Aironet 4500/4800 802.11 wireless NICs. +device wlan # 802.11 support + + Generische 802.11-Unterstützung. Diese Zeile wird + unbedingt benötigt, wenn Sie WLAN nutzen wollen. + + device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support + + Krypto-Unterstützung für 802.11-Geräte. Sie + benötigen diese Zeilen, wenn Sie Ihr drahtloses Netzwerk + verschlüsseln und die 802.11-Sicherheitsprotokolle + einsetzen wollen. + + device an # Aironet 4500/4800 802.11 wireless NICs +device ath # Atheros pci/cardbus NIC's +device ath_hal # Atheros HAL (Hardware Access Layer) +device ath_rate_sample # SampleRate tx rate control for ath device awi # BayStack 660 and others device ral # Ralink Technology RT2500 wireless NICs. device wi # WaveLAN/Intersil/Symbol 802.11 wireless NICs. @@ -1212,7 +1238,7 @@ # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface -#device ehci # EHCI PCI->USB interface (USB 2.0) +device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic @@ -1221,6 +1247,7 @@ device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse +device ural # Ralink Technology RT2500USB wireless NICs device urio # Diamond Rio 500 MP3 player device uscanner # Scanners # USB Ethernet, requires mii ==== //depot/projects/soc2007/loafier_busalloc/doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml#2 (text+ko) ==== @@ -2,9 +2,9 @@ The FreeBSD Documentation Project The FreeBSD German Documentation Project - $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.40 2007/07/10 18:38:27 jkois Exp $ - $FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.90 2007/07/09 11:48:20 jkois Exp $ - basiert auf: 1.265 + $FreeBSD: doc/de_DE.ISO8859-1/books/handbook/ports/chapter.sgml,v 1.41 2007/07/27 18:04:48 jkois Exp $ + $FreeBSDde: de-docproj/books/handbook/ports/chapter.sgml,v 1.92 2007/07/27 17:41:56 jkois Exp $ + basiert auf: 1.267 --> @@ -1341,8 +1341,8 @@ &prompt.root; portmanager graphics/gimp -f - Weitere Informationen finden Sie in der Manualpage von - Portmanager. + Weitere Informationen finden Sie in der Manualpage + &man.portmanager.1;. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#3 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -870,31 +870,32 @@ FreeBSD will start to boot. If you are booting from CDROM you will see a display similar to this (version information omitted): - Verifying DMI Pool Data ........ -Boot from ATAPI CD-ROM : - 1. FD 2.88MB System Type-(00) -Uncompressing ... done + Booting from CD-Rom... +CD Loader 1.2 + +Building the boot loader arguments +Looking up /BOOT/LOADER... Found +Relocating the loader and the BTX +Starting the BTX loader BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard -BIOS drive A: is disk0 -BIOS drive B: is disk1 -BIOS drive C: is disk2 -BIOS drive D: is disk3 +BIOS CD is cd0 +BIOS drive C: is disk0 +BIOS drive D: is disk1 BIOS 639kB/261120kB available memory -FreeBSD/i386 bootstrap loader, Revision 0.8 +FreeBSD/i386 bootstrap loader, Revision 1.1 -/kernel text=0x277391 data=0x3268c+0x332a8 | - -| -Hit [Enter] to boot immediately, or any other key for command prompt. -Booting [kernel] in 9 seconds... _ +Loading /boot/defaults/loader.conf +/boot/kernel/kernel text=0x64daa0 data=0xa4e80+0xa9e40 syms=[0x4+0x6cac0+0x4+0x88e9d] +\ If you are booting from floppy disc, you will see a display similar to this (version information omitted): - Verifying DMI Pool Data ........ + Booting from Floppy... +Uncompressing ... done BTX loader 1.00 BTX version is 1.01 Console: internal video/keyboard @@ -902,8 +903,9 @@ BIOS drive C: is disk1 BIOS 639kB/261120kB available memory -FreeBSD/i386 bootstrap loader, Revision 0.8 +FreeBSD/i386 bootstrap loader, Revision 1.1 +Loading /boot/defaults/loader.conf /kernel text=0x277391 data=0x3268c+0x332a8 | Insert disk labelled "Kernel floppy 1" and press any key... @@ -917,10 +919,18 @@ Whether you booted from floppy or CDROM, the - boot process will then get to this point: + boot process will then get to the &os; boot loader + menu: + +
+ &os; Boot Loader Menu - Hit [Enter] to boot immediately, or any other key for command prompt. -Booting [kernel] in 9 seconds... _ + + + + + +
Either wait ten seconds, or press Enter
==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/network-servers/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4391,7 +4391,7 @@ should be uncommented before swat can be used to configure Samba: - swat stream tcp nowait/400 root /usr/local/sbin/swat + swat stream tcp nowait/400 root /usr/local/sbin/swat swat As explained in , the inetd must be reloaded after this configuration file is changed. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ If your package needs to install GNU info files, they should be listed in the INFO variable (without the trailing - .info), and appropriate installation/de-installation - code will be automatically added to the temporary - pkg-plist before package registration. + .info), one entry per document. These files + are assumed to be installed to + PREFIX/INFO_PATH. + You can change INFO_PATH if your package uses + a different location. However, this is not recommended. These entries + contain just the path relative to + PREFIX/INFO_PATH. + For example, lang/gcc33 installs + info files to + PREFIX/INFO_PATH/gcc33, + and INFO will be something like this: + INFO= gcc33/cpp gcc33/cppinternals gcc33/g77 ... + + Appropriate installation/de-installation code will be automatically + added to the temporary pkg-plist before package + registration. @@ -4748,14 +4761,11 @@ them all on a single line, or using the += Makefile construct. - Before proceeding any further, it cannot be stressed highly - enough that the constructs discussed here are for use ONLY in - building other ports. For cross-development work, the - devel/gnu-{automake,autoconf,libtool} ports - should be used, such as within an IDE. devel/anjuta and devel/kdevelop (GNOME and KDE - respectively) are good examples of how to achieve this. + Finally, there is the special tool, called + autotools, which is a convenience function + to bring in all available versions of the autotools to allow + for cross-development work. This can also be accomplished + by installing the devel/autotools port. @@ -4784,39 +4794,6 @@ With the :env operation, only the environment will be set up. - - - - - Previously - - USE_AUTOTOOLS construct - - - - - - USE_LIBTOOL_VER=15 - - libtool:15 - - - - USE_INC_LIBTOOL_VER=15 - - not in use anymore - - - - WANT_LIBTOOL_VER=15 - - libtool:15:env - - - - - - Finally, LIBTOOLFLAGS and LIBTOOLFILES can be optionally set to override the most likely arguments to, and files patched by, @@ -4844,27 +4821,6 @@ outside of the USE_AUTOTOOLS framework. There are no optional operations for this tool. - - - - - Previously - - USE_AUTOTOOLS construct - - - - - - USE_LIBLTDL=YES - - libltdl:15 - - - - - - @@ -4892,40 +4848,6 @@ environment for further use. Without it, patching and reconfiguration of the port is carried out. - - - - - Previously - - USE_AUTOTOOLS construct - - - - - - USE_AUTOCONF_VER=213 - - autoconf:213 - - - - WANT_AUTOCONF_VER=259 - - autoconf:259:env - - - - USE_AUTOHEADER_VER=253 - - autoheader:253 (implies - autoconf:253) - - - - - - The additional optional variables AUTOCONF_ARGS and AUTOHEADER_ARGS can be overridden by the port @@ -4973,40 +4895,6 @@ for further use. Without it, reconfiguration of the port is carried out. - - - - - Previously - - USE_AUTOTOOLS construct - - - - - - USE_AUTOMAKE_VER=14 - - automake:14 - - - - WANT_AUTOMAKE_VER=15 - - automake:15:env - - - - USE_ACLOCAL_VER=19 - - aclocal:19 (implies - automake:19) - - - - - - As with autoconf and autoheader, both automake and aclocal have ==== //depot/projects/soc2007/loafier_busalloc/doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml#3 (text+ko) ==== @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml,v 1.35 2007/07/15 12:05:58 blackend Exp $ + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/install/chapter.sgml,v 1.36 2007/07/26 18:31:30 blackend Exp $ Original revision: 1.359 --> @@ -654,7 +654,7 @@ peuvent parfois exister. Il est très rare que ces bogues affectent le processus d'installation. Dès que ces problèmes sont découverts et corrigés, ils - sont notés dans l'Errata de FreeBSD, présent sur le + sont notés dans l'Errata de FreeBSD, présent sur le site web de FreeBSD. Vous devriez vérifier l'errata avant l'installation afin d'être sûr qu'il n'y a pas de problème de dernière minute à prendre @@ -1991,7 +1991,7 @@ dernier. 100 Mo est une taille raisonnable pour ce système de fichiers. Vous ne devrez pas stocker trop de données dessus, comme une installation habituelle de - FreeBSD prendra environ 4O Mo. La place restante est pour les + FreeBSD prendra environ 40 Mo. La place restante est pour les données temporaires, et laisse également de l'espace si les futures version de FreeBSD nécessitent plus de place dans / ==== //depot/projects/soc2007/loafier_busalloc/doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml#2 (text+ko) ==== @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml,v 1.23 2007/07/13 08:16:58 blackend Exp $ + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/x11/chapter.sgml,v 1.24 2007/07/29 13:26:55 blackend Exp $ Original revision: 1.184 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 31 04:38:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A9D616A41A; Tue, 31 Jul 2007 04:38:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F97316A419 for ; Tue, 31 Jul 2007 04:38:22 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 61C8D13C428 for ; Tue, 31 Jul 2007 04:38:22 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6V4cMjt044840 for ; Tue, 31 Jul 2007 04:38:22 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6V4cMFe044822 for perforce@freebsd.org; Tue, 31 Jul 2007 04:38:22 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 04:38:22 GMT Message-Id: <200707310438.l6V4cMFe044822@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124400 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 04:38:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=124400 Change 124400 by loafier@chrisdsoc on 2007/07/31 04:38:19 Edit for bus_alloc_resources(), etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/envy24ht.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/envy24ht.c#2 (text+ko) ==== @@ -118,27 +118,34 @@ struct codec_entry *codec; }; +enum { + RES_CS, + RES_MT, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec envy24ht_res_spec[] = { + {SYS_RES_IOPORT, PCIR_CCS, RF_ACTIVE}, + {SYS_RES_IOPORT, ENVY24HT_PCIR_MT, RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + + /* device private data */ struct sc_info { device_t dev; struct mtx *lock; /* Control/Status registor */ - struct resource *cs; - int csid; - bus_space_tag_t cst; - bus_space_handle_t csh; /* MultiTrack registor */ - struct resource *mt; - int mtid; - bus_space_tag_t mtt; - bus_space_handle_t mth; + /* IRQ resource */ + struct resource *res[RES_SZ]; + void *ih; + /* DMA tag */ bus_dma_tag_t dmat; - /* IRQ resource */ - struct resource *irq; - int irqid; - void *ih; /* system configuration data */ struct cfg_info *cfg; @@ -439,68 +446,27 @@ /* -------------------------------------------------------------------- */ /* common routines */ -static u_int32_t -envy24ht_rdcs(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->cst, sc->csh, regno); - case 2: - return bus_space_read_2(sc->cst, sc->csh, regno); - case 4: - return bus_space_read_4(sc->cst, sc->csh, regno); - default: - return 0xffffffff; - } -} +#define envy24ht_rdcs1(_sc, _reg) bus_read_1((_sc)->res[RES_CS], _reg) +#define envy24ht_rdcs2(_sc, _reg) bus_read_2((_sc)->res[RES_CS], _reg) +#define envy24ht_rdcs4(_sc, _reg) bus_read_4((_sc)->res[RES_CS], _reg) +#define envy24ht_wrcs1(_sc, _reg, _val) \ + bus_write_1((_sc)->res[RES_CS], _reg, _val) +#define envy24ht_wrcs2(_sc, _reg, _val) \ + bus_write_2((_sc)->res[RES_CS], _reg, _val) +#define envy24ht_wrcs4(_sc, _reg, _val) \ + bus_write_4((_sc)->res[RES_CS], _reg, _val) -static void -envy24ht_wrcs(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->cst, sc->csh, regno, data); - break; - case 2: - bus_space_write_2(sc->cst, sc->csh, regno, data); - break; - case 4: - bus_space_write_4(sc->cst, sc->csh, regno, data); - break; - } -} +#define envy24ht_rdmt1(_sc, _reg) bus_read_1((_sc)->res[RES_MT], _reg) +#define envy24ht_rdmt2(_sc, _reg) bus_read_2((_sc)->res[RES_MT], _reg) +#define envy24ht_rdmt4(_sc, _reg) bus_read_4((_sc)->res[RES_MT], _reg) +#define envy24ht_wrmt1(_sc, _reg, _val) \ + bus_write_1((_sc)->res[RES_MT], _reg, _val) +#define envy24ht_wrmt2(_sc, _reg, _val) \ + bus_write_2((_sc)->res[RES_MT], _reg, _val) +#define envy24ht_wrmt4(_sc, _reg, _val) \ + bus_write_4((_sc)->res[RES_MT], _reg, _val) -static u_int32_t -envy24ht_rdmt(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->mtt, sc->mth, regno); - case 2: - return bus_space_read_2(sc->mtt, sc->mth, regno); - case 4: - return bus_space_read_4(sc->mtt, sc->mth, regno); - default: - return 0xffffffff; - } -} -static void -envy24ht_wrmt(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->mtt, sc->mth, regno, data); - break; - case 2: - bus_space_write_2(sc->mtt, sc->mth, regno, data); - break; - case 4: - bus_space_write_4(sc->mtt, sc->mth, regno, data); - break; - } -} - /* -------------------------------------------------------------------- */ /* I2C port/E2PROM access routines */ @@ -515,7 +481,7 @@ device_printf(sc->dev, "envy24ht_rdi2c(sc, 0x%02x, 0x%02x)\n", dev, addr); #endif for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CSTAT, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CSTAT); if ((data & ENVY24HT_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -523,11 +489,11 @@ if (i == ENVY24HT_TIMEOUT) { return -1; } - envy24ht_wrcs(sc, ENVY24HT_CCS_I2CADDR, addr, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_I2CDEV, - (dev & ENVY24HT_CCS_I2CDEV_ADDR) | ENVY24HT_CCS_I2CDEV_RD, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2CADDR, addr); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2CDEV, + (dev & ENVY24HT_CCS_I2CDEV_ADDR) | ENVY24HT_CCS_I2CDEV_RD); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CSTAT, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CSTAT); if ((data & ENVY24HT_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -535,7 +501,7 @@ if (i == ENVY24HT_TIMEOUT) { return -1; } - data = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CDATA, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CDATA); #if(0) device_printf(sc->dev, "envy24ht_rdi2c(): return 0x%x\n", data); @@ -553,7 +519,7 @@ device_printf(sc->dev, "envy24ht_rdi2c(sc, 0x%02x, 0x%02x)\n", dev, addr); #endif for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - tmp = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CSTAT, 1); + tmp = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CSTAT); if ((tmp & ENVY24HT_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -561,12 +527,12 @@ if (i == ENVY24HT_TIMEOUT) { return -1; } - envy24ht_wrcs(sc, ENVY24HT_CCS_I2CADDR, addr, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_I2CDATA, data, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_I2CDEV, - (dev & ENVY24HT_CCS_I2CDEV_ADDR) | ENVY24HT_CCS_I2CDEV_WR, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2CADDR, addr); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2CDATA, data); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2CDEV, + (dev & ENVY24HT_CCS_I2CDEV_ADDR) | ENVY24HT_CCS_I2CDEV_WR); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CSTAT, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CSTAT); if ((data & ENVY24HT_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -586,7 +552,7 @@ #if(0) device_printf(sc->dev, "envy24ht_rdrom(sc, 0x%02x)\n", addr); #endif - data = envy24ht_rdcs(sc, ENVY24HT_CCS_I2CSTAT, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_I2CSTAT); if ((data & ENVY24HT_CCS_I2CSTAT_ROM) == 0) { #if(0) device_printf(sc->dev, "envy24ht_rdrom(): E2PROM not presented\n"); @@ -712,12 +678,12 @@ #if(0) device_printf(sc->dev, "envy24ht_coldcd()\n"); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_CLD, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_CLD); DELAY(10); - envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, 0, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97CMD, 0); DELAY(1000); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdmt(sc, ENVY24HT_MT_AC97CMD, 1); + data = envy24ht_rdmt1(sc, ENVY24HT_MT_AC97CMD); if (data & ENVY24HT_MT_AC97CMD_RDY) { return 0; } @@ -738,10 +704,10 @@ envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_CLD | ENVY24HT_MT_AC97CMD_WRM, 1); DELAY(10); - envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, 0, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97CMD, 0); DELAY(1000); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdmt(sc, ENVY24HT_MT_AC97CMD, 1); + data = envy24ht_rdmt1(sc, ENVY24HT_MT_AC97CMD); if (data & ENVY24HT_MT_AC97CMD_RDY) { return 0; } @@ -760,14 +726,14 @@ #if(0) device_printf(sc->dev, "envy24ht_rdcd(obj, sc, 0x%02x)\n", regno); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_AC97IDX, (u_int32_t)regno, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_RD, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97IDX, (u_int32_t)regno); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_RD); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - data = envy24ht_rdmt(sc, ENVY24HT_MT_AC97CMD, 1); + data = envy24ht_rdmt1(sc, ENVY24HT_MT_AC97CMD); if ((data & ENVY24HT_MT_AC97CMD_RD) == 0) break; } - data = envy24ht_rdmt(sc, ENVY24HT_MT_AC97DLO, 2); + data = envy24ht_rdmt2(sc, ENVY24HT_MT_AC97DLO); #if(0) device_printf(sc->dev, "envy24ht_rdcd(): return 0x%x\n", data); @@ -785,11 +751,11 @@ #if(0) device_printf(sc->dev, "envy24ht_wrcd(obj, sc, 0x%02x, 0x%04x)\n", regno, data); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_AC97IDX, (u_int32_t)regno, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_AC97DLO, (u_int32_t)data, 2); - envy24ht_wrmt(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_WR, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97IDX, (u_int32_t)regno); + envy24ht_wrmt2(sc, ENVY24HT_MT_AC97DLO, (u_int32_t)data); + envy24ht_wrmt1(sc, ENVY24HT_MT_AC97CMD, ENVY24HT_MT_AC97CMD_WR); for (i = 0; i < ENVY24HT_TIMEOUT; i++) { - cmd = envy24ht_rdmt(sc, ENVY24HT_MT_AC97CMD, 1); + cmd = envy24ht_rdmt1(sc, ENVY24HT_MT_AC97CMD); if ((cmd & ENVY24HT_MT_AC97CMD_WR) == 0) break; } @@ -813,9 +779,9 @@ envy24ht_gpiord(struct sc_info *sc) { if (sc->cfg->subvendor == 0x153b && sc->cfg->subdevice == 0x1150) - return envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_LDATA, 2); + return envy24ht_rdcs2(sc, ENVY24HT_CCS_GPIO_LDATA); else - return (envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_HDATA, 1) << 16 | envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_LDATA, 2)); + return (envy24ht_rdcs1(sc, ENVY24HT_CCS_GPIO_HDATA) << 16 | envy24ht_rdcs2(sc, ENVY24HT_CCS_GPIO_LDATA)); } static void @@ -825,9 +791,9 @@ device_printf(sc->dev, "envy24ht_gpiowr(sc, 0x%02x)\n", data & 0x7FFFFF); return; #endif - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_LDATA, data, 2); + envy24ht_wrcs2(sc, ENVY24HT_CCS_GPIO_LDATA, data); if (sc->cfg->subdevice != 0x1150) - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_HDATA, data >> 16, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_GPIO_HDATA, data >> 16); return; } @@ -835,16 +801,16 @@ static u_int32_t envy24ht_gpiogetmask(struct sc_info *sc) { - return (envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_HMASK, 1) << 16 | envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_LMASK, 2)); + return (envy24ht_rdcs1(sc, ENVY24HT_CCS_GPIO_HMASK) << 16 | envy24ht_rdcs2(sc, ENVY24HT_CCS_GPIO_LMASK)); } #endif static void envy24ht_gpiosetmask(struct sc_info *sc, u_int32_t mask) { - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_LMASK, mask, 2); + envy24ht_wrcs2(sc, ENVY24HT_CCS_GPIO_LMASK, mask); if (sc->cfg->subdevice != 0x1150) - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_HMASK, mask >> 16, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_GPIO_HMASK, mask >> 16); return; } @@ -852,7 +818,7 @@ static u_int32_t envy24ht_gpiogetdir(struct sc_info *sc) { - return envy24ht_rdcs(sc, ENVY24HT_CCS_GPIO_CTLDIR, 4); + return envy24ht_rdcs4(sc, ENVY24HT_CCS_GPIO_CTLDIR); } #endif @@ -860,9 +826,9 @@ envy24ht_gpiosetdir(struct sc_info *sc, u_int32_t dir) { if (sc->cfg->subvendor == 0x153b && sc->cfg->subdevice == 0x1150) - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_CTLDIR, dir, 2); + envy24ht_wrcs2(sc, ENVY24HT_CCS_GPIO_CTLDIR, dir); else - envy24ht_wrcs(sc, ENVY24HT_CCS_GPIO_CTLDIR, dir, 4); + envy24ht_wrcs4(sc, ENVY24HT_CCS_GPIO_CTLDIR, dir); return; } @@ -1051,19 +1017,19 @@ device_printf(sc->dev, "envy24ht_setspeed(): speed %d/code 0x%04x\n", envy24ht_speedtab[i].speed, code); #endif if (code < 0x10) { - envy24ht_wrmt(sc, ENVY24HT_MT_RATE, code, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_RATE, code); if ((((sc->cfg->scfg & ENVY24HT_CCSM_SCFG_XIN2) == 0x00) && (code == ENVY24HT_MT_RATE_192000)) || \ (code == ENVY24HT_MT_RATE_176400)) { - i2sfmt = envy24ht_rdmt(sc, ENVY24HT_MT_I2S, 1); + i2sfmt = envy24ht_rdmt1(sc, ENVY24HT_MT_I2S); i2sfmt |= ENVY24HT_MT_I2S_MLR128; - envy24ht_wrmt(sc, ENVY24HT_MT_I2S, i2sfmt, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_I2S, i2sfmt); } else { - i2sfmt = envy24ht_rdmt(sc, ENVY24HT_MT_I2S, 1); + i2sfmt = envy24ht_rdmt1(sc, ENVY24HT_MT_I2S); i2sfmt &= ~ENVY24HT_MT_I2S_MLR128; - envy24ht_wrmt(sc, ENVY24HT_MT_I2S, i2sfmt, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_I2S, i2sfmt); } - code = envy24ht_rdmt(sc, ENVY24HT_MT_RATE, 1); + code = envy24ht_rdmt1(sc, ENVY24HT_MT_RATE); code &= ENVY24HT_MT_RATE_MASK; for (i = 0; envy24ht_speedtab[i].code < 0x10; i++) { if (envy24ht_speedtab[i].code == code) @@ -1085,10 +1051,10 @@ { #if(0) device_printf(sc->dev, "envy24ht_setvolume(sc, %d)\n", ch); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLIDX, ch * 2, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLUME, 0x7f00 | sc->left[ch], 2); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLIDX, ch * 2 + 1, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLUME, (sc->right[ch] << 8) | 0x7f, 2); + envy24ht_wrmt1(sc, ENVY24HT_MT_VOLIDX, ch * 2); + envy24ht_wrmt2(sc, ENVY24HT_MT_VOLUME, 0x7f00 | sc->left[ch]); + envy24ht_wrmt1(sc, ENVY24HT_MT_VOLIDX, ch * 2 + 1); + envy24ht_wrmt2(sc, ENVY24HT_MT_VOLUME, (sc->right[ch] << 8) | 0x7f); #endif } @@ -1100,10 +1066,10 @@ device_printf(sc->dev, "envy24ht_mutevolume(sc, %d)\n", ch); vol = ENVY24HT_VOL_MUTE << 8 | ENVY24HT_VOL_MUTE; - envy24ht_wrmt(sc, ENVY24HT_MT_VOLIDX, ch * 2, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLUME, vol, 2); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLIDX, ch * 2 + 1, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_VOLUME, vol, 2); + envy24ht_wrmt1(sc, ENVY24HT_MT_VOLIDX, ch * 2); + envy24ht_wrmt2(sc, ENVY24HT_MT_VOLUME, vol); + envy24ht_wrmt1(sc, ENVY24HT_MT_VOLIDX, ch * 2 + 1); + envy24ht_wrmt2(sc, ENVY24HT_MT_VOLUME, vol); #endif } @@ -1127,7 +1093,7 @@ regno = ENVY24HT_MT_RCNT; } - ptr = envy24ht_rdmt(sc, regno, 2); + ptr = envy24ht_rdmt2(sc, regno); rtn -= (ptr + 1); rtn /= unit; @@ -1163,7 +1129,7 @@ mask = ~ENVY24HT_MT_INT_RMASK; } - ptr = size - envy24ht_rdmt(sc, regptr, 2) - 1; + ptr = size - envy24ht_rdmt2(sc, regptr) - 1; /* cnt = blk - ptr % blk - 1; if (cnt == 0) @@ -1173,15 +1139,15 @@ #if(0) device_printf(sc->dev, "envy24ht_updintr():ptr = %d, blk = %d, cnt = %d\n", ptr, blk, cnt); #endif - envy24ht_wrmt(sc, regintr, cnt, 2); - intr = envy24ht_rdmt(sc, ENVY24HT_MT_INT_MASK, 1); + envy24ht_wrmt2(sc, regintr, cnt); + intr = envy24ht_rdmt1(sc, ENVY24HT_MT_INT_MASK); #if(0) device_printf(sc->dev, "envy24ht_updintr():intr = 0x%02x, mask = 0x%02x\n", intr, mask); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_INT_MASK, intr & mask, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT_MASK, intr & mask); #if(0) device_printf(sc->dev, "envy24ht_updintr():INT-->0x%02x\n", - envy24ht_rdmt(sc, ENVY24HT_MT_INT_MASK, 1)); + envy24ht_rdmt1(sc, ENVY24HT_MT_INT_MASK)); #endif return; @@ -1200,8 +1166,8 @@ mask = ENVY24HT_MT_INT_PMASK; else mask = ENVY24HT_MT_INT_RMASK; - intr = envy24ht_rdmt(sc, ENVY24HT_MT_INT, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_INT, intr | mask, 1); + intr = envy24ht_rdmt1(sc, ENVY24HT_MT_INT); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT, intr | mask); return; } @@ -1215,14 +1181,14 @@ #if(0) device_printf(sc->dev, "envy24ht_checkintr(sc, %d)\n", dir); #endif - intr = envy24ht_rdmt(sc, ENVY24HT_MT_INT_STAT, 1); + intr = envy24ht_rdmt1(sc, ENVY24HT_MT_INT_STAT); if (dir == PCMDIR_PLAY) { if ((rtn = intr & ENVY24HT_MT_INT_PSTAT) != 0) { mask = ~ENVY24HT_MT_INT_RSTAT; - envy24ht_wrmt(sc, 0x1a, 0x01, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_INT_STAT, (intr & mask) | ENVY24HT_MT_INT_PSTAT | 0x08, 1); - stat = envy24ht_rdmt(sc, ENVY24HT_MT_INT_MASK, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_INT_MASK, stat | ENVY24HT_MT_INT_PMASK, 1); + envy24ht_wrmt1(sc, 0x1a, 0x01); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT_STAT, (intr & mask) | ENVY24HT_MT_INT_PSTAT | 0x08); + stat = envy24ht_rdmt1(sc, ENVY24HT_MT_INT_MASK); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT_MASK, stat | ENVY24HT_MT_INT_PMASK); } } else { @@ -1231,9 +1197,9 @@ #if 0 stat = ENVY24HT_MT_INT_RSTAT | ENVY24HT_MT_INT_RMASK; #endif - envy24ht_wrmt(sc, ENVY24HT_MT_INT_STAT, (intr & mask) | ENVY24HT_MT_INT_RSTAT, 1); - stat = envy24ht_rdmt(sc, ENVY24HT_MT_INT_MASK, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_INT_MASK, stat | ENVY24HT_MT_INT_RMASK, 1); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT_STAT, (intr & mask) | ENVY24HT_MT_INT_RSTAT); + stat = envy24ht_rdmt1(sc, ENVY24HT_MT_INT_MASK); + envy24ht_wrmt1(sc, ENVY24HT_MT_INT_MASK, stat | ENVY24HT_MT_INT_RMASK); } } @@ -1253,12 +1219,12 @@ else sw = ENVY24HT_MT_PCTL_RSTART; - stat = envy24ht_rdmt(sc, ENVY24HT_MT_PCTL, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_PCTL, stat | sw, 1); + stat = envy24ht_rdmt1(sc, ENVY24HT_MT_PCTL); + envy24ht_wrmt1(sc, ENVY24HT_MT_PCTL, stat | sw); #if(0) DELAY(100); - device_printf(sc->dev, "PADDR:0x%08x\n", envy24ht_rdmt(sc, ENVY24HT_MT_PADDR, 4)); - device_printf(sc->dev, "PCNT:%ld\n", envy24ht_rdmt(sc, ENVY24HT_MT_PCNT, 2)); + device_printf(sc->dev, "PADDR:0x%08x\n", envy24ht_rdmt4(sc, ENVY24HT_MT_PADDR)); + device_printf(sc->dev, "PCNT:%ld\n", envy24ht_rdmt2(sc, ENVY24HT_MT_PCNT)); #endif return; @@ -1277,8 +1243,8 @@ else sw = ~ENVY24HT_MT_PCTL_RSTART; - stat = envy24ht_rdmt(sc, ENVY24HT_MT_PCTL, 1); - envy24ht_wrmt(sc, ENVY24HT_MT_PCTL, stat & sw, 1); + stat = envy24ht_rdmt1(sc, ENVY24HT_MT_PCTL); + envy24ht_wrmt1(sc, ENVY24HT_MT_PCTL, stat & sw); return; } @@ -1846,7 +1812,7 @@ /* set volume control rate */ snd_mtxlock(sc->lock); #if 0 - envy24ht_wrmt(sc, ENVY24HT_MT_VOLRATE, 0x30, 1); /* 0x30 is default value */ + envy24ht_wrmt1(sc, ENVY24HT_MT_VOLRATE, 0x30); /* 0x30 is default value */ #endif pcm_setflags(sc->dev, pcm_getflags(sc->dev) | SD_F_SOFTPCMVOL); @@ -1973,7 +1939,7 @@ device_printf(sc->dev, "envy24ht_intr(): play\n"); #endif dsize = sc->psize / 4; - ptr = dsize - envy24ht_rdmt(sc, ENVY24HT_MT_PCNT, 2) - 1; + ptr = dsize - envy24ht_rdmt2(sc, ENVY24HT_MT_PCNT) - 1; #if(0) device_printf(sc->dev, "envy24ht_intr(): ptr = %d-->", ptr); #endif @@ -2002,7 +1968,7 @@ device_printf(sc->dev, "envy24ht_intr(): rec\n"); #endif dsize = sc->rsize / 4; - ptr = dsize - envy24ht_rdmt(sc, ENVY24HT_MT_RCNT, 2) - 1; + ptr = dsize - envy24ht_rdmt2(sc, ENVY24HT_MT_RCNT) - 1; ptr -= ptr % sc->blk[1]; feed = (ptr + dsize - sc->intr[1]) % dsize; for (i = ENVY24HT_CHAN_REC_ADC1; i <= ENVY24HT_CHAN_REC_SPDIF; i++) { @@ -2172,18 +2138,18 @@ #if(0) device_printf(sc->dev, "pbuf(0x%08x)\n", addr); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_PADDR, addr, 4); + envy24ht_wrmt4(sc, ENVY24HT_MT_PADDR, addr); #if(0) - device_printf(sc->dev, "PADDR-->(0x%08x)\n", envy24ht_rdmt(sc, ENVY24HT_MT_PADDR, 4)); + device_printf(sc->dev, "PADDR-->(0x%08x)\n", envy24ht_rdmt4(sc, ENVY24HT_MT_PADDR)); device_printf(sc->dev, "psize(%ld)\n", sc->psize / 4 - 1); #endif - envy24ht_wrmt(sc, ENVY24HT_MT_PCNT, sc->psize / 4 - 1, 2); + envy24ht_wrmt2(sc, ENVY24HT_MT_PCNT, sc->psize / 4 - 1); #if(0) - device_printf(sc->dev, "PCNT-->(%ld)\n", envy24ht_rdmt(sc, ENVY24HT_MT_PCNT, 2)); + device_printf(sc->dev, "PCNT-->(%ld)\n", envy24ht_rdmt2(sc, ENVY24HT_MT_PCNT)); #endif addr = vtophys(sc->rbuf); - envy24ht_wrmt(sc, ENVY24HT_MT_RADDR, addr, 4); - envy24ht_wrmt(sc, ENVY24HT_MT_RCNT, sc->rsize / 4 - 1, 2); + envy24ht_wrmt4(sc, ENVY24HT_MT_RADDR, addr); + envy24ht_wrmt2(sc, ENVY24HT_MT_RCNT, sc->rsize / 4 - 1); return 0; bad: @@ -2299,9 +2265,9 @@ /* reset chip */ #if 0 - envy24ht_wrcs(sc, ENVY24HT_CCS_CTL, ENVY24HT_CCS_CTL_RESET, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_CTL, ENVY24HT_CCS_CTL_RESET); DELAY(200); - envy24ht_wrcs(sc, ENVY24HT_CCS_CTL, ENVY24HT_CCS_CTL_NATIVE, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_CTL, ENVY24HT_CCS_CTL_NATIVE); DELAY(200); /* legacy hardware disable */ @@ -2336,10 +2302,10 @@ } /* set system configuration */ - envy24ht_wrcs(sc, ENVY24HT_CCS_SCFG, sc->cfg->scfg, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_ACL, sc->cfg->acl, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_I2S, sc->cfg->i2s, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_SPDIF, sc->cfg->spdif, 1); + envy24ht_wrcs1(sc, ENVY24HT_CCS_SCFG, sc->cfg->scfg); + envy24ht_wrcs1(sc, ENVY24HT_CCS_ACL, sc->cfg->acl); + envy24ht_wrcs1(sc, ENVY24HT_CCS_I2S, sc->cfg->i2s); + envy24ht_wrcs1(sc, ENVY24HT_CCS_SPDIF, sc->cfg->spdif); envy24ht_gpiosetmask(sc, sc->cfg->gpiomask); envy24ht_gpiosetdir(sc, sc->cfg->gpiodir); envy24ht_gpiowr(sc, sc->cfg->gpiostate); @@ -2381,9 +2347,9 @@ #endif /* set macro interrupt mask */ - data = envy24ht_rdcs(sc, ENVY24HT_CCS_IMASK, 1); - envy24ht_wrcs(sc, ENVY24HT_CCS_IMASK, data & ~ENVY24HT_CCS_IMASK_PMT, 1); - data = envy24ht_rdcs(sc, ENVY24HT_CCS_IMASK, 1); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_IMASK); + envy24ht_wrcs1(sc, ENVY24HT_CCS_IMASK, data & ~ENVY24HT_CCS_IMASK_PMT); + data = envy24ht_rdcs1(sc, ENVY24HT_CCS_IMASK); #if(0) device_printf(sc->dev, "envy24ht_init(): CCS_IMASK-->0x%02x\n", data); #endif @@ -2395,20 +2361,11 @@ envy24ht_alloc_resource(struct sc_info *sc) { /* allocate I/O port resource */ - sc->csid = PCIR_CCS; - sc->cs = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->csid, 0, ~0, 1, RF_ACTIVE); - sc->mtid = ENVY24HT_PCIR_MT; - sc->mt = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->mtid, 0, ~0, 1, RF_ACTIVE); - if (!sc->cs || !sc->mt) { - device_printf(sc->dev, "unable to map IO port space\n"); + if (bus_alloc_resources(sc->dev, envy24ht_res_spec, sc->res) != 0) { + device_printf(sc->dev, "unable to allocate resources\n"); return ENXIO; } - sc->cst = rman_get_bustag(sc->cs); - sc->csh = rman_get_bushandle(sc->cs); - sc->mtt = rman_get_bustag(sc->mt); - sc->mth = rman_get_bushandle(sc->mt); + #if(0) device_printf(sc->dev, "IO port register values\nCCS: 0x%lx\nMT: 0x%lx\n", @@ -2417,11 +2374,8 @@ #endif /* allocate interupt resource */ - sc->irqid = 0; - sc->irq = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &sc->irqid, - 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || - snd_setup_intr(sc->dev, sc->irq, 0, envy24ht_intr, sc, &sc->ih)) { + if (snd_setup_intr(sc->dev, sc->res[RES_IRQ], + 0, envy24ht_intr, sc, &sc->ih)) { device_printf(sc->dev, "unable to map interrupt\n"); return ENXIO; } @@ -2444,10 +2398,32 @@ return 0; } +static void +envy24ht_destroy(device_t dev, struct sc_info *sc) +{ + int i; + + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, envy24ht_res_spec, sc->res); + envy24ht_dmafree(sc); + if (sc->dmat) + bus_dma_tag_destroy(sc->dmat); + if (sc->cfg->codec->destroy != NULL) { + for (i = 0; i < sc->adcn; i++) + sc->cfg->codec->destroy(sc->adc[i]); + for (i = 0; i < sc->dacn; i++) + sc->cfg->codec->destroy(sc->dac[i]); + } + envy24ht_cfgfree(sc->cfg); + if (sc->lock) + snd_mtxfree(sc->lock); + free(sc, M_ENVY24HT); +} + static int envy24ht_pci_attach(device_t dev) { - u_int32_t data; struct sc_info *sc; char status[SND_STATUSLEN]; int err = 0; @@ -2468,10 +2444,8 @@ sc->dev = dev; /* initialize PCI interface */ - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); /* allocate resources */ err = envy24ht_alloc_resource(sc); @@ -2508,37 +2482,16 @@ /* set status iformation */ snprintf(status, SND_STATUSLEN, "at io 0x%lx:%ld,0x%lx:%ld irq %ld", - rman_get_start(sc->cs), - rman_get_end(sc->cs) - rman_get_start(sc->cs) + 1, - rman_get_start(sc->mt), - rman_get_end(sc->mt) - rman_get_start(sc->mt) + 1, - rman_get_start(sc->irq)); + rman_get_start(sc->res[RES_CS]), rman_get_size(sc->res[RES_CS]), + rman_get_start(sc->res[RES_MT]), rman_get_size(sc->res[RES_MT]), + rman_get_start(sc->res[RES_IRQ])); pcm_setstatus(dev, status); return 0; bad: - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - envy24ht_dmafree(sc); - if (sc->dmat) - bus_dma_tag_destroy(sc->dmat); - if (sc->cfg->codec->destroy != NULL) { - for (i = 0; i < sc->adcn; i++) - sc->cfg->codec->destroy(sc->adc[i]); - for (i = 0; i < sc->dacn; i++) - sc->cfg->codec->destroy(sc->dac[i]); - } - envy24ht_cfgfree(sc->cfg); - if (sc->cs) - bus_release_resource(dev, SYS_RES_IOPORT, sc->csid, sc->cs); - if (sc->mt) - bus_release_resource(dev, SYS_RES_IOPORT, sc->mtid, sc->mt); - if (sc->lock) - snd_mtxfree(sc->lock); - free(sc, M_ENVY24HT); + envy24ht_destroy(dev, sc); + return err; } @@ -2547,7 +2500,6 @@ { struct sc_info *sc; int r; - int i; #if(0) device_printf(dev, "envy24ht_pci_detach()\n"); @@ -2559,21 +2511,8 @@ if (r) return r; - envy24ht_dmafree(sc); - if (sc->cfg->codec->destroy != NULL) { - for (i = 0; i < sc->adcn; i++) - sc->cfg->codec->destroy(sc->adc[i]); - for (i = 0; i < sc->dacn; i++) - sc->cfg->codec->destroy(sc->dac[i]); - } - envy24ht_cfgfree(sc->cfg); - bus_dma_tag_destroy(sc->dmat); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - bus_release_resource(dev, SYS_RES_IOPORT, sc->csid, sc->cs); - bus_release_resource(dev, SYS_RES_IOPORT, sc->mtid, sc->mt); - snd_mtxfree(sc->lock); - free(sc, M_ENVY24HT); + envy24ht_destroy(dev, sc); + return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 04:47:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A495116A418; Tue, 31 Jul 2007 04:47:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C49416A420 for ; Tue, 31 Jul 2007 04:47:34 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5F90113C494 for ; Tue, 31 Jul 2007 04:47:34 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6V4lY3K064419 for ; Tue, 31 Jul 2007 04:47:34 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6V4lY69064416 for perforce@freebsd.org; Tue, 31 Jul 2007 04:47:34 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 04:47:34 GMT Message-Id: <200707310447.l6V4lY69064416@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124401 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 04:47:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124401 Change 124401 by loafier@chrisdsoc on 2007/07/31 04:46:39 Minor changes to write macros. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/hda/hdac.c#2 edit .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/hda/hdac_private.h#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/hda/hdac.c#2 (text+ko) ==== @@ -1477,8 +1477,6 @@ "%s: Unable to allocate memory resource\n", __func__); return (ENOMEM); } - mem->mem_tag = rman_get_bustag(mem->mem_res); - mem->mem_handle = rman_get_bushandle(mem->mem_res); return (0); } ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/hda/hdac_private.h#2 (text+ko) ==== @@ -42,17 +42,17 @@ * Helper Macros ****************************************************************************/ #define HDAC_READ_1(mem, offset) \ - bus_space_read_1((mem)->mem_tag, (mem)->mem_handle, (offset)) + bus_read_1((mem)->mem_res, (offset)) #define HDAC_READ_2(mem, offset) \ - bus_space_read_2((mem)->mem_tag, (mem)->mem_handle, (offset)) + bus_read_2((mem)->mem_res, (offset)) #define HDAC_READ_4(mem, offset) \ - bus_space_read_4((mem)->mem_tag, (mem)->mem_handle, (offset)) + bus_read_4((mem)->mem_res, (offset)) #define HDAC_WRITE_1(mem, offset, value) \ - bus_space_write_1((mem)->mem_tag, (mem)->mem_handle, (offset), (value)) + bus_write_1((mem)->mem_res, (offset), (value)) #define HDAC_WRITE_2(mem, offset, value) \ - bus_space_write_2((mem)->mem_tag, (mem)->mem_handle, (offset), (value)) + bus_write_2((mem)->mem_res, (offset), (value)) #define HDAC_WRITE_4(mem, offset, value) \ - bus_space_write_4((mem)->mem_tag, (mem)->mem_handle, (offset), (value)) + bus_write_4((mem)->mem_res, (offset), (value)) #define HDAC_ISDCTL(sc, n) (_HDAC_ISDCTL((n), (sc)->num_iss, (sc)->num_oss)) #define HDAC_ISDSTS(sc, n) (_HDAC_ISDSTS((n), (sc)->num_iss, (sc)->num_oss)) @@ -97,8 +97,6 @@ struct hdac_mem { struct resource *mem_res; int mem_rid; - bus_space_tag_t mem_tag; - bus_space_handle_t mem_handle; }; /**************************************************************************** From owner-p4-projects@FreeBSD.ORG Tue Jul 31 05:28:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ABD916A46B; Tue, 31 Jul 2007 05:28:24 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1D04416A420 for ; Tue, 31 Jul 2007 05:28:24 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8AFF313C46B for ; Tue, 31 Jul 2007 05:28:23 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6V5SNOa073984 for ; Tue, 31 Jul 2007 05:28:23 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6V5SNNe073981 for perforce@freebsd.org; Tue, 31 Jul 2007 05:28:23 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 05:28:23 GMT Message-Id: <200707310528.l6V5SNNe073981@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124402 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 05:28:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=124402 Change 124402 by loafier@chrisdsoc on 2007/07/31 05:28:08 Modified write functions and tags. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/fm801.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/fm801.c#2 (text+ko) ==== @@ -130,8 +130,6 @@ struct fm801_info { int type; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; device_t dev; @@ -166,37 +164,13 @@ }; /* Bus Read / Write routines */ -static u_int32_t -fm801_rd(struct fm801_info *fm801, int regno, int size) -{ - switch(size) { - case 1: - return (bus_space_read_1(fm801->st, fm801->sh, regno)); - case 2: - return (bus_space_read_2(fm801->st, fm801->sh, regno)); - case 4: - return (bus_space_read_4(fm801->st, fm801->sh, regno)); - default: - return 0xffffffff; - } -} - -static void -fm801_wr(struct fm801_info *fm801, int regno, u_int32_t data, int size) -{ +#define fm801_rd1(_sc, _reg) bus_read_1((_sc)->reg, _reg) +#define fm801_rd2(_sc, _reg) bus_read_2((_sc)->reg, _reg) +#define fm801_rd4(_sc, _reg) bus_read_4((_sc)->reg, _reg) +#define fm801_wr1(_sc, _reg, _val) bus_write_1((_sc)->reg, _reg, _val) +#define fm801_wr2(_sc, _reg, _val) bus_write_2((_sc)->reg, _reg, _val) +#define fm801_wr4(_sc, _reg, _val) bus_write_4((_sc)->reg, _reg, _val) - switch(size) { - case 1: - bus_space_write_1(fm801->st, fm801->sh, regno, data); - break; - case 2: - bus_space_write_2(fm801->st, fm801->sh, regno, data); - break; - case 4: - bus_space_write_4(fm801->st, fm801->sh, regno, data); - break; - } -} /* -------------------------------------------------------------------- */ /* @@ -209,7 +183,7 @@ struct fm801_info *fm801 = (struct fm801_info *)devinfo; int i; - for (i = 0; i < TIMO && fm801_rd(fm801,FM_CODEC_CMD,2) & FM_CODEC_CMD_BUSY; i++) { + for (i = 0; i < TIMO && fm801_rd2(fm801,FM_CODEC_CMD) & FM_CODEC_CMD_BUSY; i++) { DELAY(10000); DPRINT("fm801 rdcd: 1 - DELAY\n"); } @@ -218,9 +192,9 @@ return 0; } - fm801_wr(fm801,FM_CODEC_CMD, regno|FM_CODEC_CMD_READ,2); + fm801_wr2(fm801,FM_CODEC_CMD, regno|FM_CODEC_CMD_READ); - for (i = 0; i < TIMO && !(fm801_rd(fm801,FM_CODEC_CMD,2) & FM_CODEC_CMD_VALID); i++) + for (i = 0; i < TIMO && !(fm801_rd2(fm801,FM_CODEC_CMD) & FM_CODEC_CMD_VALID); i++) { DELAY(10000); DPRINT("fm801 rdcd: 2 - DELAY\n"); @@ -230,7 +204,7 @@ return 0; } - return fm801_rd(fm801,FM_CODEC_DATA,2); + return fm801_rd2(fm801,FM_CODEC_DATA); } static int @@ -244,7 +218,7 @@ if(regno == AC97_REG_RECSEL) return; */ /* Poll until codec is ready */ - for (i = 0; i < TIMO && fm801_rd(fm801,FM_CODEC_CMD,2) & FM_CODEC_CMD_BUSY; i++) { + for (i = 0; i < TIMO && fm801_rd2(fm801,FM_CODEC_CMD) & FM_CODEC_CMD_BUSY; i++) { DELAY(10000); DPRINT("fm801 rdcd: 1 - DELAY\n"); } @@ -253,11 +227,11 @@ return -1; } - fm801_wr(fm801,FM_CODEC_DATA,data, 2); - fm801_wr(fm801,FM_CODEC_CMD, regno,2); + fm801_wr2(fm801,FM_CODEC_DATA,data); + fm801_wr2(fm801,FM_CODEC_CMD, regno); /* wait until codec is ready */ - for (i = 0; i < TIMO && fm801_rd(fm801,FM_CODEC_CMD,2) & FM_CODEC_CMD_BUSY; i++) { + for (i = 0; i < TIMO && fm801_rd2(fm801,FM_CODEC_CMD) & FM_CODEC_CMD_BUSY; i++) { DELAY(10000); DPRINT("fm801 wrcd: 2 - DELAY\n"); } @@ -285,40 +259,40 @@ fm801_intr(void *p) { struct fm801_info *fm801 = (struct fm801_info *)p; - u_int32_t intsrc = fm801_rd(fm801, FM_INTSTATUS, 2); + u_int32_t intsrc = fm801_rd2(fm801, FM_INTSTATUS); DPRINT("\nfm801_intr intsrc 0x%x ", intsrc); if(intsrc & FM_INTSTATUS_PLAY) { fm801->play_flip++; if(fm801->play_flip & 1) { - fm801_wr(fm801, FM_PLAY_DMABUF1, fm801->play_start,4); + fm801_wr4(fm801, FM_PLAY_DMABUF1, fm801->play_start); } else - fm801_wr(fm801, FM_PLAY_DMABUF2, fm801->play_nextblk,4); + fm801_wr4(fm801, FM_PLAY_DMABUF2, fm801->play_nextblk); chn_intr(fm801->pch.channel); } if(intsrc & FM_INTSTATUS_REC) { fm801->rec_flip++; if(fm801->rec_flip & 1) { - fm801_wr(fm801, FM_REC_DMABUF1, fm801->rec_start,4); + fm801_wr4(fm801, FM_REC_DMABUF1, fm801->rec_start); } else - fm801_wr(fm801, FM_REC_DMABUF2, fm801->rec_nextblk,4); + fm801_wr4(fm801, FM_REC_DMABUF2, fm801->rec_nextblk); chn_intr(fm801->rch.channel); } if ( intsrc & FM_INTSTATUS_MPU ) { /* This is a TODOish thing... */ - fm801_wr(fm801, FM_INTSTATUS, intsrc & FM_INTSTATUS_MPU,2); + fm801_wr2(fm801, FM_INTSTATUS, intsrc & FM_INTSTATUS_MPU); } if ( intsrc & FM_INTSTATUS_VOL ) { /* This is a TODOish thing... */ - fm801_wr(fm801, FM_INTSTATUS, intsrc & FM_INTSTATUS_VOL,2); + fm801_wr2(fm801, FM_INTSTATUS, intsrc & FM_INTSTATUS_VOL); } DPRINT("fm801_intr clear\n\n"); - fm801_wr(fm801, FM_INTSTATUS, intsrc & (FM_INTSTATUS_PLAY | FM_INTSTATUS_REC), 2); + fm801_wr2(fm801, FM_INTSTATUS, intsrc & (FM_INTSTATUS_PLAY | FM_INTSTATUS_REC)); } /* -------------------------------------------------------------------- */ @@ -452,36 +426,34 @@ fm801->play_start = baseaddr; fm801->play_nextblk = fm801->play_start + fm801->play_blksize; fm801->play_flip = 0; - fm801_wr(fm801, FM_PLAY_DMALEN, fm801->play_blksize - 1, 2); - fm801_wr(fm801, FM_PLAY_DMABUF1,fm801->play_start,4); - fm801_wr(fm801, FM_PLAY_DMABUF2,fm801->play_nextblk,4); - fm801_wr(fm801, FM_PLAY_CTL, - FM_PLAY_START | FM_PLAY_STOPNOW | fm801->play_fmt | fm801->play_shift, - 2 ); + fm801_wr2(fm801, FM_PLAY_DMALEN, fm801->play_blksize - 1); + fm801_wr4(fm801, FM_PLAY_DMABUF1,fm801->play_start); + fm801_wr4(fm801, FM_PLAY_DMABUF2,fm801->play_nextblk); + fm801_wr2(fm801, FM_PLAY_CTL, + FM_PLAY_START | FM_PLAY_STOPNOW | fm801->play_fmt | fm801->play_shift); } else { fm801->play_flip = 0; - k1 = fm801_rd(fm801, FM_PLAY_CTL,2); - fm801_wr(fm801, FM_PLAY_CTL, + k1 = fm801_rd2(fm801, FM_PLAY_CTL); + fm801_wr2(fm801, FM_PLAY_CTL, (k1 & ~(FM_PLAY_STOPNOW | FM_PLAY_START)) | - FM_PLAY_BUF1_LAST | FM_PLAY_BUF2_LAST, 2 ); + FM_PLAY_BUF1_LAST | FM_PLAY_BUF2_LAST); } } else if(ch->dir == PCMDIR_REC) { if (go == PCMTRIG_START) { fm801->rec_start = baseaddr; fm801->rec_nextblk = fm801->rec_start + fm801->rec_blksize; fm801->rec_flip = 0; - fm801_wr(fm801, FM_REC_DMALEN, fm801->rec_blksize - 1, 2); - fm801_wr(fm801, FM_REC_DMABUF1,fm801->rec_start,4); - fm801_wr(fm801, FM_REC_DMABUF2,fm801->rec_nextblk,4); - fm801_wr(fm801, FM_REC_CTL, - FM_REC_START | FM_REC_STOPNOW | fm801->rec_fmt | fm801->rec_shift, - 2 ); + fm801_wr2(fm801, FM_REC_DMALEN, fm801->rec_blksize - 1); + fm801_wr4(fm801, FM_REC_DMABUF1,fm801->rec_start); + fm801_wr4(fm801, FM_REC_DMABUF2,fm801->rec_nextblk); + fm801_wr2(fm801, FM_REC_CTL, + FM_REC_START | FM_REC_STOPNOW | fm801->rec_fmt | fm801->rec_shift); } else { fm801->rec_flip = 0; - k1 = fm801_rd(fm801, FM_REC_CTL,2); - fm801_wr(fm801, FM_REC_CTL, + k1 = fm801_rd2(fm801, FM_REC_CTL); + fm801_wr2(fm801, FM_REC_CTL, (k1 & ~(FM_REC_STOPNOW | FM_REC_START)) | - FM_REC_BUF1_LAST | FM_REC_BUF2_LAST, 2); + FM_REC_BUF1_LAST | FM_REC_BUF2_LAST); } } @@ -497,15 +469,15 @@ int result = 0; if (ch->dir == PCMDIR_PLAY) { - result = fm801_rd(fm801, + result = fm801_rd4(fm801, (fm801->play_flip&1) ? - FM_PLAY_DMABUF2:FM_PLAY_DMABUF1, 4) - fm801->play_start; + FM_PLAY_DMABUF2:FM_PLAY_DMABUF1) - fm801->play_start; } if (ch->dir == PCMDIR_REC) { - result = fm801_rd(fm801, + result = fm801_rd4(fm801, (fm801->rec_flip&1) ? - FM_REC_DMABUF2:FM_REC_DMABUF1, 4) - fm801->rec_start; + FM_REC_DMABUF2:FM_REC_DMABUF1) - fm801->rec_start; } return result; @@ -540,26 +512,26 @@ u_int32_t k1; /* reset codec */ - fm801_wr(fm801, FM_CODEC_CTL, 0x0020,2); + fm801_wr2(fm801, FM_CODEC_CTL, 0x0020); DELAY(100000); - fm801_wr(fm801, FM_CODEC_CTL, 0x0000,2); + fm801_wr2(fm801, FM_CODEC_CTL, 0x0000); DELAY(100000); - fm801_wr(fm801, FM_PCM_VOLUME, 0x0808,2); - fm801_wr(fm801, FM_FM_VOLUME, 0x0808,2); - fm801_wr(fm801, FM_I2S_VOLUME, 0x0808,2); - fm801_wr(fm801, 0x40,0x107f,2); /* enable legacy audio */ + fm801_wr2(fm801, FM_PCM_VOLUME, 0x0808); + fm801_wr2(fm801, FM_FM_VOLUME, 0x0808); + fm801_wr2(fm801, FM_I2S_VOLUME, 0x0808); + fm801_wr2(fm801, 0x40,0x107f); /* enable legacy audio */ - fm801_wr((void *)fm801, FM_RECORD_SOURCE, 0x0000,2); + fm801_wr2(fm801, FM_RECORD_SOURCE, 0x0000); /* Unmask playback, record and mpu interrupts, mask the rest */ - k1 = fm801_rd((void *)fm801, FM_INTMASK,2); - fm801_wr(fm801, FM_INTMASK, + k1 = fm801_rd2(fm801, FM_INTMASK); + fm801_wr2(fm801, FM_INTMASK, (k1 & ~(FM_INTMASK_PLAY | FM_INTMASK_REC | FM_INTMASK_MPU)) | - FM_INTMASK_VOL,2); - fm801_wr(fm801, FM_INTSTATUS, + FM_INTMASK_VOL); + fm801_wr2(fm801, FM_INTSTATUS, FM_INTSTATUS_PLAY | FM_INTSTATUS_REC | FM_INTSTATUS_MPU | - FM_INTSTATUS_VOL,2); + FM_INTSTATUS_VOL); DPRINT("FM801 init Ok\n"); return 0; @@ -568,7 +540,6 @@ static int fm801_pci_attach(device_t dev) { - u_int32_t data; struct ac97_info *codec = 0; struct fm801_info *fm801; int i; @@ -578,10 +549,9 @@ fm801 = malloc(sizeof(*fm801), M_DEVBUF, M_WAITOK | M_ZERO); fm801->type = pci_get_devid(dev); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_MEMORY); + pci_enable_io(dev, SYS_RES_IOPORT); for (i = 0; (mapped == 0) && (i < PCI_MAXMAPS_0); i++) { fm801->regid = PCIR_BAR(i); @@ -597,11 +567,8 @@ RF_ACTIVE); } - if(fm801->reg) { - fm801->st = rman_get_bustag(fm801->reg); - fm801->sh = rman_get_bushandle(fm801->reg); + if(fm801->reg) mapped++; - } } if (mapped == 0) { From owner-p4-projects@FreeBSD.ORG Tue Jul 31 09:25:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2A6416A41A; Tue, 31 Jul 2007 09:25:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7E1C116A418 for ; Tue, 31 Jul 2007 09:25:16 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1ABD413C478 for ; Tue, 31 Jul 2007 09:25:16 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6V9PFQS003967 for ; Tue, 31 Jul 2007 09:25:15 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6V9PFCZ003964 for perforce@freebsd.org; Tue, 31 Jul 2007 09:25:15 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 31 Jul 2007 09:25:15 GMT Message-Id: <200707310925.l6V9PFCZ003964@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124408 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 09:25:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=124408 Change 124408 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/31 09:24:44 rearrange the test case of mount through md device Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#5 delete .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/01.t#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Tue Jul 31 10:09:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A57A16A41F; Tue, 31 Jul 2007 10:09:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4C6616A419 for ; Tue, 31 Jul 2007 10:09:12 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BC1FD13C442 for ; Tue, 31 Jul 2007 10:09:12 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VA9CN8007945 for ; Tue, 31 Jul 2007 10:09:12 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VA9C4C007942 for perforce@freebsd.org; Tue, 31 Jul 2007 10:09:12 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 10:09:12 GMT Message-Id: <200707311009.l6VA9C4C007942@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124412 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 10:09:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124412 Change 124412 by loafier@chrisdsoc on 2007/07/31 10:08:56 Edit for bus_alloc_resources(), etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/emu10k1.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/emu10k1.c#2 (text+ko) ==== @@ -116,6 +116,18 @@ struct sc_info *parent; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec emu_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + /* device private data */ struct sc_info { device_t dev; @@ -123,11 +135,9 @@ u_int32_t tos_link:1, APS:1, audigy:1, audigy2:1; u_int32_t addrmask; /* wider if audigy */ - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; - struct resource *reg, *irq; + struct resource *res[RES_SZ]; void *ih; struct mtx *lock; @@ -162,8 +172,12 @@ #endif /* talk to the card */ -static u_int32_t emu_rd(struct sc_info *, int, int); -static void emu_wr(struct sc_info *, int, u_int32_t, int); +#define emu_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define emu_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define emu_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) +#define emu_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define emu_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define emu_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) /* -------------------------------------------------------------------- */ @@ -207,45 +221,15 @@ /* -------------------------------------------------------------------- */ /* Hardware */ -static u_int32_t -emu_rd(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->st, sc->sh, regno); - case 2: - return bus_space_read_2(sc->st, sc->sh, regno); - case 4: - return bus_space_read_4(sc->st, sc->sh, regno); - default: - return 0xffffffff; - } -} -static void -emu_wr(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->st, sc->sh, regno, data); - break; - case 2: - bus_space_write_2(sc->st, sc->sh, regno, data); - break; - case 4: - bus_space_write_4(sc->st, sc->sh, regno, data); - break; - } -} - static u_int32_t emu_rdptr(struct sc_info *sc, int chn, int reg) { u_int32_t ptr, val, mask, size, offset; ptr = ((reg << 16) & sc->addrmask) | (chn & PTR_CHANNELNUM_MASK); - emu_wr(sc, PTR, ptr, 4); - val = emu_rd(sc, DATA, 4); + emu_wr4(sc, PTR, ptr); + val = emu_rd4(sc, DATA); if (reg & 0xff000000) { size = (reg >> 24) & 0x3f; offset = (reg >> 16) & 0x1f; @@ -262,16 +246,16 @@ u_int32_t ptr, mask, size, offset; ptr = ((reg << 16) & sc->addrmask) | (chn & PTR_CHANNELNUM_MASK); - emu_wr(sc, PTR, ptr, 4); + emu_wr4(sc, PTR, ptr); if (reg & 0xff000000) { size = (reg >> 24) & 0x3f; offset = (reg >> 16) & 0x1f; mask = ((1 << size) - 1) << offset; data <<= offset; data &= mask; - data |= emu_rd(sc, DATA, 4) & ~mask; + data |= emu_rd4(sc, DATA) & ~mask; } - emu_wr(sc, DATA, data, 4); + emu_wr4(sc, DATA, data); } static void @@ -290,8 +274,8 @@ { struct sc_info *sc = (struct sc_info *)devinfo; - emu_wr(sc, AC97ADDRESS, regno, 1); - return emu_rd(sc, AC97DATA, 2); + emu_wr1(sc, AC97ADDRESS, regno); + return emu_rd2(sc, AC97DATA); } static int @@ -299,8 +283,8 @@ { struct sc_info *sc = (struct sc_info *)devinfo; - emu_wr(sc, AC97ADDRESS, regno, 1); - emu_wr(sc, AC97DATA, data, 2); + emu_wr1(sc, AC97ADDRESS, regno); + emu_wr2(sc, AC97DATA, data); return 0; } @@ -342,7 +326,7 @@ } RANGE(rate, 48, 9600); sc->timerinterval = 48000 / rate; - emu_wr(sc, TIMER, sc->timerinterval & 0x03ff, 2); + emu_wr2(sc, TIMER, sc->timerinterval & 0x03ff); return sc->timerinterval; } @@ -353,15 +337,15 @@ u_int32_t x; if (go) { if (sc->timer++ == 0) { - x = emu_rd(sc, INTE, 4); + x = emu_rd4(sc, INTE); x |= INTE_INTERVALTIMERENB; - emu_wr(sc, INTE, x, 4); + emu_wr4(sc, INTE, x); } } else { sc->timer = 0; - x = emu_rd(sc, INTE, 4); + x = emu_rd4(sc, INTE); x &= ~INTE_INTERVALTIMERENB; - emu_wr(sc, INTE, x, 4); + emu_wr4(sc, INTE, x); } return 0; } @@ -1007,9 +991,9 @@ emu_wrptr(sc, 0, ch->setupreg, 0); emu_wrptr(sc, 0, ch->setupreg, val); } - val = emu_rd(sc, INTE, 4); + val = emu_rd4(sc, INTE); val |= ch->irqmask; - emu_wr(sc, INTE, val, 4); + emu_wr4(sc, INTE, val); break; case PCMTRIG_STOP: @@ -1018,9 +1002,9 @@ emu_wrptr(sc, 0, ch->sizereg, 0); if (ch->setupreg) emu_wrptr(sc, 0, ch->setupreg, 0); - val = emu_rd(sc, INTE, 4); + val = emu_rd4(sc, INTE); val &= ~ch->irqmask; - emu_wr(sc, INTE, val, 4); + emu_wr4(sc, INTE, val); break; case PCMTRIG_EMLDMAWR: @@ -1072,7 +1056,7 @@ { unsigned int d; - d = emu_rd(sc, 0x18 + reg, 1); + d = emu_rd1(sc, 0x18 + reg); return d; } @@ -1080,7 +1064,7 @@ emu_mwrite(void *arg, struct sc_info *sc, int reg, unsigned char b) { - emu_wr(sc, 0x18 + reg, b, 1); + emu_wr1(sc, 0x18 + reg, b); } static int @@ -1117,9 +1101,9 @@ { int i; - i = emu_rd(sc, INTE, 4); + i = emu_rd4(sc, INTE); i |= INTE_MIDIRXENABLE; - emu_wr(sc, INTE, i, 4); + emu_wr4(sc, INTE, i); sc->mpu = mpu401_init(&emu_mpu_class, sc, emu_intr2, &sc->mpu_intr); } @@ -1134,7 +1118,7 @@ snd_mtxlock(sc->lock); while (1) { - stat = emu_rd(sc, IPR, 4); + stat = emu_rd4(sc, IPR); if (stat == 0) break; ack = 0; @@ -1174,7 +1158,7 @@ device_printf(sc->dev, "dodgy irq: %x (harmless)\n", stat & ~ack); - emu_wr(sc, IPR, stat, 4); + emu_wr4(sc, IPR, stat); if (ack) { snd_mtxunlock(sc->lock); @@ -1664,9 +1648,8 @@ } /* disable audio and lock cache */ - emu_wr(sc, HCFG, - HCFG_LOCKSOUNDCACHE | HCFG_LOCKTANKCACHE_MASK | HCFG_MUTEBUTTONENABLE, - 4); + emu_wr4(sc, HCFG, + HCFG_LOCKSOUNDCACHE | HCFG_LOCKTANKCACHE_MASK | HCFG_MUTEBUTTONENABLE); /* reset recording buffers */ emu_wrptr(sc, 0, MICBS, ADCBS_BUFSIZE_NONE); @@ -1677,9 +1660,8 @@ emu_wrptr(sc, 0, ADCBA, 0); /* disable channel interrupt */ - emu_wr(sc, INTE, - INTE_INTERVALTIMERENB | INTE_SAMPLERATETRACKER | INTE_PCIERRORENABLE, - 4); + emu_wr4(sc, INTE, + INTE_INTERVALTIMERENB | INTE_SAMPLERATETRACKER | INTE_PCIERRORENABLE); emu_wrptr(sc, 0, CLIEL, 0); emu_wrptr(sc, 0, CLIEH, 0); emu_wrptr(sc, 0, SOLEL, 0); @@ -1785,12 +1767,12 @@ emu_wrptr(sc, 0, A_SPDIF_SAMPLERATE, tmp | 0x400); /* Setup SRCSel (Enable SPDIF, I2S SRCMulti) */ - emu_wr(sc, 0x20, 0x00600000, 4); - emu_wr(sc, 0x24, 0x00000014, 4); + emu_wr4(sc, 0x20, 0x00600000); + emu_wr4(sc, 0x24, 0x00000014); /* Setup SRCMulti Input Audio Enable */ - emu_wr(sc, 0x20, 0x006e0000, 4); - emu_wr(sc, 0x24, 0xff00ff00, 4); + emu_wr4(sc, 0x20, 0x006e0000); + emu_wr4(sc, 0x24, 0xff00ff00); } SLIST_INIT(&sc->mem.blocks); @@ -1849,24 +1831,23 @@ if (sc->audigy2) /* Audigy 2 */ tmp = HCFG_AUDIOENABLE | HCFG_AC3ENABLE_CDSPDIF | HCFG_AC3ENABLE_GPSPDIF; - emu_wr(sc, HCFG, tmp, 4); + emu_wr4(sc, HCFG, tmp); audigy_initefx(sc); /* from ALSA initialization code: */ /* enable audio and disable both audio/digital outputs */ - emu_wr(sc, HCFG, emu_rd(sc, HCFG, 4) | HCFG_AUDIOENABLE, 4); - emu_wr(sc, A_IOCFG, emu_rd(sc, A_IOCFG, 4) & ~A_IOCFG_GPOUT_AD, - 4); + emu_wr4(sc, HCFG, emu_rd4(sc, HCFG) | HCFG_AUDIOENABLE); + emu_wr4(sc, A_IOCFG, emu_rd4(sc, A_IOCFG) & ~A_IOCFG_GPOUT_AD); if (sc->audigy2) { /* Audigy 2 */ /* Unmute Analog. * Set GPO6 to 1 for Apollo. This has to be done after * init Alice3 I2SOut beyond 48kHz. * So, sequence is important. */ - emu_wr(sc, A_IOCFG, - emu_rd(sc, A_IOCFG, 4) | A_IOCFG_GPOUT_A, 4); + emu_wr4(sc, A_IOCFG, + emu_rd4(sc, A_IOCFG) | A_IOCFG_GPOUT_A); } } else { /* EMU10K1 initialization code */ @@ -1875,17 +1856,17 @@ if (sc->rev >= 6) tmp |= HCFG_JOYENABLE; - emu_wr(sc, HCFG, tmp, 4); + emu_wr4(sc, HCFG, tmp); /* TOSLink detection */ sc->tos_link = 0; - tmp = emu_rd(sc, HCFG, 4); + tmp = emu_rd4(sc, HCFG); if (tmp & (HCFG_GPINPUT0 | HCFG_GPINPUT1)) { - emu_wr(sc, HCFG, tmp | HCFG_GPOUT1, 4); + emu_wr4(sc, HCFG, tmp | HCFG_GPOUT1); DELAY(50); - if (tmp != (emu_rd(sc, HCFG, 4) & ~HCFG_GPOUT1)) { + if (tmp != (emu_rd4(sc, HCFG) & ~HCFG_GPOUT1)) { sc->tos_link = 1; - emu_wr(sc, HCFG, tmp, 4); + emu_wr4(sc, HCFG, tmp); } } } @@ -1898,7 +1879,7 @@ { u_int32_t ch; - emu_wr(sc, INTE, 0, 4); + emu_wr4(sc, INTE, 0); for (ch = 0; ch < NUM_G; ch++) emu_wrptr(sc, ch, DCYSUSV, ENV_OFF); for (ch = 0; ch < NUM_G; ch++) { @@ -1913,9 +1894,8 @@ } /* disable audio and lock cache */ - emu_wr(sc, HCFG, - HCFG_LOCKSOUNDCACHE | HCFG_LOCKTANKCACHE_MASK | HCFG_MUTEBUTTONENABLE, - 4); + emu_wr4(sc, HCFG, + HCFG_LOCKSOUNDCACHE | HCFG_LOCKTANKCACHE_MASK | HCFG_MUTEBUTTONENABLE); emu_wrptr(sc, 0, PTB, 0); /* reset recording buffers */ @@ -1946,6 +1926,19 @@ return 0; } +static void +emu_destroy(device_t dev, struct sc_info *sc) +{ + if (!sc) + return; + + if (sc->ih) bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, emu_res_spec, sc->res); + if (sc->parent_dmat) bus_dma_tag_destroy(sc->parent_dmat); + if (sc->lock) snd_mtxfree(sc->lock); + free(sc, M_DEVBUF); +} + static int emu_pci_probe(device_t dev) { @@ -1980,7 +1973,6 @@ { struct ac97_info *codec = NULL; struct sc_info *sc; - u_int32_t data; int i, gotmic; char status[SND_STATUSLEN]; @@ -1994,19 +1986,13 @@ sc->nchans = sc->audigy ? 8 : 4; sc->addrmask = sc->audigy ? A_PTR_ADDRESS_MASK : PTR_ADDRESS_MASK; - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); - i = PCIR_BAR(0); - sc->reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &i, RF_ACTIVE); - if (sc->reg == NULL) { - device_printf(dev, "unable to map register space\n"); + if (bus_alloc_resources(dev, emu_res_spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); sc->bufsz = pcm_getbuffersize(dev, 4096, EMU_DEFAULT_BUFSZ, 65536); @@ -2035,16 +2021,15 @@ emu_midiattach(sc); i = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &i, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || - snd_setup_intr(dev, sc->irq, INTR_MPSAFE, emu_intr, sc, &sc->ih)) { + if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, + emu_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s", - rman_get_start(sc->reg), rman_get_start(sc->irq), + rman_get_start(sc->res[RES_MEM]), + rman_get_start(sc->res[RES_IRQ]), PCM_KLDSTRING(snd_emu10k1)); if (pcm_register(dev, sc, sc->nchans, gotmic ? 3 : 2)) goto bad; @@ -2059,12 +2044,8 @@ bad: if (codec) ac97_destroy(codec); - if (sc->reg) bus_release_resource(dev, SYS_RES_IOPORT, PCIR_BAR(0), sc->reg); - if (sc->ih) bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); - if (sc->parent_dmat) bus_dma_tag_destroy(sc->parent_dmat); - if (sc->lock) snd_mtxfree(sc->lock); - free(sc, M_DEVBUF); + emu_destroy(dev, sc); + return ENXIO; } @@ -2081,13 +2062,7 @@ sc = pcm_getdevinfo(dev); /* shutdown chip */ emu_uninit(sc); - - bus_release_resource(dev, SYS_RES_IOPORT, PCIR_BAR(0), sc->reg); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); - bus_dma_tag_destroy(sc->parent_dmat); - snd_mtxfree(sc->lock); - free(sc, M_DEVBUF); + emu_destroy(dev, sc); return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 12:45:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 219B016A421; Tue, 31 Jul 2007 12:45:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D662216A417 for ; Tue, 31 Jul 2007 12:45:28 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BBB5413C467 for ; Tue, 31 Jul 2007 12:45:28 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VCjSgE020895 for ; Tue, 31 Jul 2007 12:45:28 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VCjSfb020892 for perforce@freebsd.org; Tue, 31 Jul 2007 12:45:28 GMT (envelope-from gabor@freebsd.org) Date: Tue, 31 Jul 2007 12:45:28 GMT Message-Id: <200707311245.l6VCjSfb020892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124417 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 12:45:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124417 Change 124417 by gabor@gabor_server on 2007/07/31 12:44:43 s/Dir/Directory/ Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#30 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#30 (text+ko) ==== @@ -184,7 +184,7 @@ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ - ${ECHO_CMD} "DEBUG: Dir $${_host_path} mounted" ${_DESTDIR_DEBUG}; \ + ${ECHO_CMD} "DEBUG: Directory $${_host_path} mounted" ${_DESTDIR_DEBUG}; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ From owner-p4-projects@FreeBSD.ORG Tue Jul 31 12:54:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 03BCE16A41A; Tue, 31 Jul 2007 12:54:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 99C0A16A41F for ; Tue, 31 Jul 2007 12:54:40 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7EFE813C45E for ; Tue, 31 Jul 2007 12:54:40 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VCses2031278 for ; Tue, 31 Jul 2007 12:54:40 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VCseu9031275 for perforce@freebsd.org; Tue, 31 Jul 2007 12:54:40 GMT (envelope-from gabor@freebsd.org) Date: Tue, 31 Jul 2007 12:54:40 GMT Message-Id: <200707311254.l6VCseu9031275@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124418 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 12:54:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=124418 Change 124418 by gabor@gabor_server on 2007/07/31 12:53:55 - Also include bsd.perl.mk if PERL_CONFIGURE or PERL_MODBUILD is set - We're always having PERL5 in EXTRACT_DEPENDS, PATCH_DEPENDS and BUILD_DEPENDS when bsd.perl.mk is included, so remove the superfluous condition Affected files ... .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#3 edit .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#4 edit Differences ... ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#3 (text+ko) ==== @@ -82,11 +82,9 @@ .endif .endif -.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) EXTRACT_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} BUILD_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} -.endif .if defined(USE_PERL5) || defined(USE_PERL5_RUN) RUN_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} .endif ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#4 (text+ko) ==== @@ -1400,7 +1400,7 @@ .include "${PORTSDIR}/Mk/bsd.gnustep.mk" .endif -.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) +.if defined(USE_PERL5) || defined(USE_PERL5_BUILD) || defined(USE_PERL5_RUN) || defined(PERL_CONFIGURE) || defined(PERL_MODBUILD) .include "${PORTSDIR}/Mk/bsd.perl.mk" .endif From owner-p4-projects@FreeBSD.ORG Tue Jul 31 13:29:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8885816A420; Tue, 31 Jul 2007 13:29:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 45E2416A41F for ; Tue, 31 Jul 2007 13:29:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2B82613C4D5 for ; Tue, 31 Jul 2007 13:29:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VDTOiS039162 for ; Tue, 31 Jul 2007 13:29:24 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VDTNVq039135 for perforce@freebsd.org; Tue, 31 Jul 2007 13:29:23 GMT (envelope-from gabor@freebsd.org) Date: Tue, 31 Jul 2007 13:29:23 GMT Message-Id: <200707311329.l6VDTNVq039135@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124419 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 13:29:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=124419 Change 124419 by gabor@gabor_server on 2007/07/31 13:28:34 - Rework do-configure and do-build a bit Affected files ... .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#4 edit .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#5 edit Differences ... ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.perl.mk#4 (text+ko) ==== @@ -77,10 +77,10 @@ .if defined(PERL_CONFIGURE) USE_PERL5= yes -.if (defined(BATCH) && !defined(IS_INTERACTIVE)) +.if defined(BATCH) && !defined(IS_INTERACTIVE) CONFIGURE_ENV+= PERL_MM_USE_DEFAULT="YES" -.endif -.endif +.endif # defined(BATCH) && !defined(IS_INTERACTIVE) +.endif # defined(PERL_CONFIGURE) EXTRACT_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} @@ -95,6 +95,26 @@ CONFIGURE_SCRIPT?= Makefile.PL MAN3PREFIX?= ${PREFIX}/lib/perl5/${PERL_VERSION} .undef HAS_CONFIGURE -.endif +.endif # defined(PERL_CONFIGURE) + +.if defined(PERL_CONFIGURE) +.if !target(do-configure) +do-configure: + @cd ${CONFIGURE_WRKSRC} && \ + ${SETENV} ${CONFIGURE_ENV} \ + ${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} +.if !defined(PERL_MODBUILD) + @cd ${CONFIGURE_WRKSRC} && \ + ${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile +.endif # !defined(PERL_MODBUILD) +.endif # !target(do-configure) +.endif # defined(PERL_CONFIGURE) + +.if defined(PERL_MODBUILD) -.endif +.if !target(do-build) +do-build: + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${MAKE_ARGS} ${ALL_TARGET}) +.endif # !target(do-build) +.endif # defined(PERL_MODBUILD) +.endif # !defined(_PERLMKINCLUDED) ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#5 (text+ko) ==== @@ -3556,15 +3556,6 @@ ${FALSE}; \ fi) .endif -.if defined(PERL_CONFIGURE) - @cd ${CONFIGURE_WRKSRC} && \ - ${SETENV} ${CONFIGURE_ENV} \ - ${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} -.if !defined(PERL_MODBUILD) - @cd ${CONFIGURE_WRKSRC} && \ - ${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile -.endif -.endif .if defined(USE_IMAKE) @(cd ${CONFIGURE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${XMKMF}) .endif @@ -3577,13 +3568,9 @@ .if defined(USE_GMAKE) @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) .else -.if defined(PERL_MODBUILD) - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${MAKE_ARGS} ${ALL_TARGET}) -.else @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}) .endif .endif -.endif # Check conflicts From owner-p4-projects@FreeBSD.ORG Tue Jul 31 13:42:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3B31C16A46B; Tue, 31 Jul 2007 13:42:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C538E16A418 for ; Tue, 31 Jul 2007 13:42:41 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 747E613C45A for ; Tue, 31 Jul 2007 13:42:41 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VDgfkK043559 for ; Tue, 31 Jul 2007 13:42:41 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VDgemI043556 for perforce@freebsd.org; Tue, 31 Jul 2007 13:42:40 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 13:42:40 GMT Message-Id: <200707311342.l6VDgemI043556@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124420 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 13:42:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=124420 Change 124420 by loafier@chrisdsoc on 2007/07/31 13:41:49 Use bus_alloc_resources(), update read/write functions. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/emu10kx.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/emu10kx.c#2 (text+ko) ==== @@ -280,6 +280,18 @@ uint32_t(*irq_func) (void *softc, uint32_t irq); }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec emu_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct emu_sc_info { struct mtx lock; struct mtx rw; /* Hardware exclusive access lock */ @@ -291,9 +303,6 @@ uint32_t type; uint32_t rev; - bus_space_tag_t st; - bus_space_handle_t sh; - struct cdev *cdev; /* /dev/emu10k character device */ struct mtx emu10kx_lock; int emu10kx_isopen; @@ -302,8 +311,7 @@ /* Resources */ - struct resource *reg; - struct resource *irq; + struct resource *res[RES_SZ]; void *ih; /* IRQ handlers */ @@ -556,11 +564,11 @@ KASSERT(sc != NULL, ("emu_rd: NULL sc")); switch (size) { case 1: - return (bus_space_read_1(sc->st, sc->sh, regno)); + return (bus_read_1(sc->res[RES_MEM], regno)); case 2: - return (bus_space_read_2(sc->st, sc->sh, regno)); + return (bus_read_2(sc->res[RES_MEM], regno)); case 4: - return (bus_space_read_4(sc->st, sc->sh, regno)); + return (bus_read_4(sc->res[RES_MEM], regno)); } return (0xffffffff); } @@ -572,13 +580,13 @@ KASSERT(sc != NULL, ("emu_rd: NULL sc")); switch (size) { case 1: - bus_space_write_1(sc->st, sc->sh, regno, data); + bus_write_1(sc->res[RES_MEM], regno, data); break; case 2: - bus_space_write_2(sc->st, sc->sh, regno, data); + bus_write_2(sc->res[RES_MEM], regno, data); break; case 4: - bus_space_write_4(sc->st, sc->sh, regno, data); + bus_write_4(sc->res[RES_MEM], regno, data); break; } } @@ -2697,7 +2705,6 @@ struct emu_sc_info *sc; struct emu_pcminfo *pcminfo; struct emu_midiinfo *midiinfo[3]; - uint32_t data; int i; int device_flags; char status[255]; @@ -2811,28 +2818,19 @@ if (sc->opcode_shift == 0) goto bad; - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); - pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); - i = PCIR_BAR(0); - sc->reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &i, RF_ACTIVE); - if (sc->reg == NULL) { - device_printf(dev, "unable to map register space\n"); + if (bus_alloc_resources(dev, emu_res_spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); for (i = 0; i < EMU_MAX_IRQ_CONSUMERS; i++) sc->timer[i] = 0; /* disable it */ - i = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &i, RF_ACTIVE | RF_SHAREABLE); - if ((sc->irq == NULL) || snd_setup_intr(dev, sc->irq, INTR_MPSAFE, emu_intr, sc, &sc->ih)) { + if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, + emu_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } @@ -2859,7 +2857,10 @@ device_printf(dev, "unable to create control device\n"); goto bad; } - snprintf(status, 255, "rev %d at io 0x%lx irq %ld", sc->rev, rman_get_start(sc->reg), rman_get_start(sc->irq)); + snprintf(status, 255, "rev %d at io 0x%lx irq %ld", + sc->rev, + rman_get_start(sc->res[RES_MEM]), + rman_get_start(sc->res[RES_IRQ])); /* Voices */ for (i = 0; i < NUM_G; i++) { @@ -3052,12 +3053,9 @@ emu10kx_dev_uninit(sc); if (sc->rm != NULL) emu_rm_uninit(sc); - if (sc->reg) - bus_release_resource(dev, SYS_RES_IOPORT, PCIR_BAR(0), sc->reg); if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, emu_res_spec, sc->res); mtx_destroy(&sc->lock); mtx_destroy(&sc->rw); return (error); @@ -3104,10 +3102,8 @@ if (sc->mem.dmat) bus_dma_tag_destroy(sc->mem.dmat); - if (sc->reg) - bus_release_resource(dev, SYS_RES_IOPORT, PCIR_BAR(0), sc->reg); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq); + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, emu_res_spec, sc->res); mtx_destroy(&sc->lock); mtx_destroy(&sc->rw); return (bus_generic_detach(dev)); From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:00:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ECC116A418; Tue, 31 Jul 2007 14:00:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 194AA16A421 for ; Tue, 31 Jul 2007 14:00:04 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F2CDB13C480 for ; Tue, 31 Jul 2007 14:00:03 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VE03ZV044776 for ; Tue, 31 Jul 2007 14:00:03 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VE03TN044772 for perforce@freebsd.org; Tue, 31 Jul 2007 14:00:03 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 14:00:03 GMT Message-Id: <200707311400.l6VE03TN044772@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124421 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:00:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=124421 Change 124421 by loafier@chrisdsoc on 2007/07/31 13:59:50 Update read & write Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/als4000.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/als4000.c#2 (text+ko) ==== @@ -69,8 +69,6 @@ struct sc_info { device_t dev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; struct resource *reg, *irq; int regid, irqid; @@ -103,41 +101,41 @@ static u_int32_t als_gcr_rd(struct sc_info *sc, int index) { - bus_space_write_1(sc->st, sc->sh, ALS_GCR_INDEX, index); - return bus_space_read_4(sc->st, sc->sh, ALS_GCR_DATA); + bus_write_1(sc->reg, ALS_GCR_INDEX, index); + return bus_read_4(sc->reg, ALS_GCR_DATA); } static void als_gcr_wr(struct sc_info *sc, int index, int data) { - bus_space_write_1(sc->st, sc->sh, ALS_GCR_INDEX, index); - bus_space_write_4(sc->st, sc->sh, ALS_GCR_DATA, data); + bus_write_1(sc->reg, ALS_GCR_INDEX, index); + bus_write_4(sc->reg, ALS_GCR_DATA, data); } static u_int8_t als_intr_rd(struct sc_info *sc) { - return bus_space_read_1(sc->st, sc->sh, ALS_SB_MPU_IRQ); + return bus_read_1(sc->reg, ALS_SB_MPU_IRQ); } static void als_intr_wr(struct sc_info *sc, u_int8_t data) { - bus_space_write_1(sc->st, sc->sh, ALS_SB_MPU_IRQ, data); + bus_write_1(sc->reg, ALS_SB_MPU_IRQ, data); } static u_int8_t als_mix_rd(struct sc_info *sc, u_int8_t index) { - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_INDEX, index); - return bus_space_read_1(sc->st, sc->sh, ALS_MIXER_DATA); + bus_write_1(sc->reg, ALS_MIXER_INDEX, index); + return bus_read_1(sc->reg, ALS_MIXER_DATA); } static void als_mix_wr(struct sc_info *sc, u_int8_t index, u_int8_t data) { - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_INDEX, index); - bus_space_write_1(sc->st, sc->sh, ALS_MIXER_DATA, data); + bus_write_1(sc->reg, ALS_MIXER_INDEX, index); + bus_write_1(sc->reg, ALS_MIXER_DATA, data); } static void @@ -147,7 +145,7 @@ tries = 1000; do { - v = bus_space_read_1(sc->st, sc->sh, ALS_ESP_WR_STATUS); + v = bus_read_1(sc->reg, ALS_ESP_WR_STATUS); if (~v & 0x80) break; DELAY(20); @@ -156,7 +154,7 @@ if (tries == 0) device_printf(sc->dev, "als_esp_wr timeout"); - bus_space_write_1(sc->st, sc->sh, ALS_ESP_WR_DATA, data); + bus_write_1(sc->reg, ALS_ESP_WR_DATA, data); } static int @@ -164,16 +162,16 @@ { u_int32_t tries, u, v; - bus_space_write_1(sc->st, sc->sh, ALS_ESP_RST, 1); + bus_write_1(sc->reg, ALS_ESP_RST, 1); DELAY(10); - bus_space_write_1(sc->st, sc->sh, ALS_ESP_RST, 0); + bus_write_1(sc->reg, ALS_ESP_RST, 0); DELAY(30); tries = 1000; do { - u = bus_space_read_1(sc->st, sc->sh, ALS_ESP_RD_STATUS8); + u = bus_read_1(sc->reg, ALS_ESP_RD_STATUS8); if (u & 0x80) { - v = bus_space_read_1(sc->st, sc->sh, ALS_ESP_RD_DATA); + v = bus_read_1(sc->reg, ALS_ESP_RD_DATA); if (v == 0xaa) return 0; else @@ -190,7 +188,7 @@ static u_int8_t als_ack_read(struct sc_info *sc, u_int8_t addr) { - u_int8_t r = bus_space_read_1(sc->st, sc->sh, addr); + u_int8_t r = bus_read_1(sc->reg, addr); return r; } @@ -762,8 +760,6 @@ device_printf(dev, "unable to allocate register space\n"); goto bad; } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, RF_ACTIVE | RF_SHAREABLE); @@ -809,9 +805,9 @@ sc->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_als4000 softc"); sc->dev = dev; - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); + /* * By default the power to the various components on the * ALS4000 is entirely controlled by the pci powerstate. We From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:03:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2F5F616A419; Tue, 31 Jul 2007 14:03:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A254816A418 for ; Tue, 31 Jul 2007 14:03:10 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 84AE413C442 for ; Tue, 31 Jul 2007 14:03:10 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VE3ACo046294 for ; Tue, 31 Jul 2007 14:03:10 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VE38ff046291 for perforce@freebsd.org; Tue, 31 Jul 2007 14:03:08 GMT (envelope-from delphij@freebsd.org) Date: Tue, 31 Jul 2007 14:03:08 GMT Message-Id: <200707311403.l6VE38ff046291@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 124422 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:03:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124422 Change 124422 by delphij@charlie on 2007/07/31 14:02:53 IFC Affected files ... .. //depot/projects/delphij_fork/etc/rc.d/netif#2 integrate .. //depot/projects/delphij_fork/etc/rc.d/nscd#1 branch .. //depot/projects/delphij_fork/lib/libarchive/test/main.c#5 integrate .. //depot/projects/delphij_fork/lib/libelf/elf_begin.3#2 integrate .. //depot/projects/delphij_fork/lib/libelf/elf_memory.3#2 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#7 integrate .. //depot/projects/delphij_fork/share/man/man4/lagg.4#2 integrate .. //depot/projects/delphij_fork/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/cpufunc.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/delphij_fork/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/identcpu.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/intr.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/conf/CRB#1 branch .. //depot/projects/delphij_fork/sys/arm/include/armreg.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/cpufunc.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/pmap.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/include/pte.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321_pci.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321_timer.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321_wdog.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/delphij_fork/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/delphij_fork/sys/conf/Makefile.arm#2 integrate .. //depot/projects/delphij_fork/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/delphij_fork/sys/conf/options.ia64#2 integrate .. //depot/projects/delphij_fork/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_hpet.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bce.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bcefw.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/bce/if_bcereg.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ce/if_ce.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/em/if_em.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/pci/pci.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/re/if_re.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/usb/ufoma.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/isa/clock.c#3 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/db_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/exception.S#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/pmap.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/sapic.c#2 integrate .. //depot/projects/delphij_fork/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/delphij_fork/sys/ia64/include/intr.h#2 integrate .. //depot/projects/delphij_fork/sys/ia64/include/md_var.h#2 integrate .. //depot/projects/delphij_fork/sys/ia64/include/sapicvar.h#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_kse.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/kern_thread.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/subr_bus.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/uipc_domain.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_mount.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/delphij_fork/sys/net/bpf.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if_bridge.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if_bridgevar.h#2 integrate .. //depot/projects/delphij_fork/sys/net/if_ethersubr.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if_lagg.c#3 integrate .. //depot/projects/delphij_fork/sys/net/if_lagg.h#3 integrate .. //depot/projects/delphij_fork/sys/net/netisr.c#2 integrate .. //depot/projects/delphij_fork/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_bpf.c#2 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_mroute.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_fsm.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_syncache.h#1 branch .. //depot/projects/delphij_fork/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/delphij_fork/sys/netipx/spx_debug.c#2 integrate .. //depot/projects/delphij_fork/sys/netipx/spx_debug.h#2 integrate .. //depot/projects/delphij_fork/sys/nfsserver/nfs_srvsubs.c#2 integrate .. //depot/projects/delphij_fork/sys/nfsserver/nfs_syscalls.c#2 integrate .. //depot/projects/delphij_fork/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/delphij_fork/sys/powerpc/powerpc/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/sys/kernel.h#2 integrate .. //depot/projects/delphij_fork/sys/sys/mutex.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/proc.h#4 integrate .. //depot/projects/delphij_fork/sys/sys/vmmeter.h#2 integrate .. //depot/projects/delphij_fork/sys/vm/vm_meter.c#3 integrate .. //depot/projects/delphij_fork/sys/vm/vm_page.c#4 integrate .. //depot/projects/delphij_fork/sys/vm/vnode_pager.c#2 integrate .. //depot/projects/delphij_fork/tools/tools/net80211/Makefile#2 integrate .. //depot/projects/delphij_fork/tools/tools/net80211/README#2 integrate .. //depot/projects/delphij_fork/tools/tools/net80211/wlandebug/Makefile#2 delete .. //depot/projects/delphij_fork/tools/tools/net80211/wlandebug/wlandebug.8#2 delete .. //depot/projects/delphij_fork/tools/tools/net80211/wlandebug/wlandebug.c#2 delete .. //depot/projects/delphij_fork/usr.bin/calendar/calendars/calendar.holiday#2 integrate .. //depot/projects/delphij_fork/usr.bin/netstat/ipx.c#3 integrate .. //depot/projects/delphij_fork/usr.bin/truss/i386-fbsd.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/truss/main.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/truss/powerpc-fbsd.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/truss/syscalls.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/vmstat/vmstat.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/Makefile#3 integrate .. //depot/projects/delphij_fork/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/nscd/Makefile#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agent.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agent.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/Makefile.inc#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/group.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/group.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/passwd.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/passwd.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/services.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/agents/services.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/cachelib.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/cachelib.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/cacheplcs.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/cacheplcs.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/config.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/config.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/debug.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/debug.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/hashtable.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/log.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/log.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/mp_rs_query.#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/mp_rs_query.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/mp_ws_query.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/mp_ws_query.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/nscd.8#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/nscd.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/nscd.conf.5#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/nscdcli.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/nscdcli.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/parser.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/parser.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/protocol.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/protocol.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/query.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/query.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/singletons.c#1 branch .. //depot/projects/delphij_fork/usr.sbin/nscd/singletons.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/wlandebug/Makefile#1 branch .. //depot/projects/delphij_fork/usr.sbin/wlandebug/wlandebug.8#1 branch .. //depot/projects/delphij_fork/usr.sbin/wlandebug/wlandebug.c#1 branch Differences ... ==== //depot/projects/delphij_fork/etc/rc.d/netif#2 (text+ko) ==== @@ -22,11 +22,11 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# $FreeBSD: src/etc/rc.d/netif,v 1.23 2007/04/02 22:53:07 des Exp $ +# $FreeBSD: src/etc/rc.d/netif,v 1.24 2007/07/25 18:08:01 jhb Exp $ # # PROVIDE: netif -# REQUIRE: atm1 ipfilter FILESYSTEMS serial sppp sysctl +# REQUIRE: atm1 cleanvar ipfilter FILESYSTEMS serial sppp sysctl # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/delphij_fork/lib/libarchive/test/main.c#5 (text+ko) ==== @@ -32,7 +32,13 @@ #include #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.7 2007/07/14 17:52:01 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.8 2007/07/31 05:03:27 kientzle Exp $"); + +/* Interix doesn't define these in a standard header. */ +#if __INTERIX__ +extern char *optarg; +extern int optind; +#endif /* Default is to crash and try to force a core dump on failure. */ static int dump_on_failure = 1; @@ -101,6 +107,7 @@ static int skipped_line; void skipping_setup(const char *filename, int line) { + skipped_filename = filename; skipped_line = line; } void ==== //depot/projects/delphij_fork/lib/libelf/elf_begin.3#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libelf/elf_begin.3,v 1.2 2006/11/13 09:46:15 ru Exp $ +.\" $FreeBSD: src/lib/libelf/elf_begin.3,v 1.3 2007/07/28 15:35:03 jkoshy Exp $ .\" .Dd June 21, 2006 .Os @@ -273,7 +273,7 @@ .Sh SEE ALSO .Xr elf 3 , .Xr elf_end 3 , -.Xr elf_error 3 , +.Xr elf_errno 3 , .Xr elf_memory 3 , .Xr elf_next 3 , .Xr elf_rand 3 , ==== //depot/projects/delphij_fork/lib/libelf/elf_memory.3#2 (text+ko) ==== @@ -21,7 +21,7 @@ .\" out of the use of this software, even if advised of the possibility of .\" such damage. .\" -.\" $FreeBSD: src/lib/libelf/elf_memory.3,v 1.2 2006/11/13 09:46:15 ru Exp $ +.\" $FreeBSD: src/lib/libelf/elf_memory.3,v 1.3 2007/07/28 15:35:03 jkoshy Exp $ .\" .Dd June 28, 2006 .Os @@ -117,6 +117,6 @@ .Xr elf 3 , .Xr elf_begin 3 , .Xr elf_end 3 , -.Xr elf_error 3 , +.Xr elf_errno 3 , .Xr elf_kind 3 , .Xr gelf 3 ==== //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#7 (text+ko) ==== @@ -30,7 +30,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1053 2007/07/25 15:19:37 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1055 2007/07/29 23:07:12 bmah Exp $ 2000 @@ -946,12 +946,17 @@ cards, as well as quarter- and half-channel support for 802.11a. &merged; - ISDN4BSD, &man.ng.h4.4;, and netatm have been temporarily + The &os; network stack now runs entirely free of the + Giant kernel lock, and relies solely on the kernel's + fine-grained locking primitives to manage parallelism. This + significantly improves the network stack's performance on + multi-processor systems; uni-processor systems could also + see performance gains. + ISDN4BSD, &man.ng.h4.4;, and netatm have been temporarily disconnected from the build. These modules all require the Giant kernel lock for their operation; disconnecting them allows the removal of the NET_NEEDS_GIANT compatability - shim and allows the &os; network stack to run completely - without the Giant kernel lock. It is planned to convert + shim. It is planned to convert these modules to fine-grained kernel locking and re-connect them for &os; 7.1-RELEASE. @@ -2266,8 +2271,8 @@ character support. &merged; hostapd - has been updated from version 0.3.9 to version 0.4.8. - &merged; + has been updated from version 0.3.9 to version 0.5.8. + PF has been updated from OpenBSD version 3.7 to OpenBSD version 4.1. @@ -2297,8 +2302,8 @@ audit group have been added. &merged; WPA Supplicant - has been updated from version 0.3.9 to version 0.4.8. - &merged; + has been updated from version 0.3.9 to version 0.5.8. + zlib has been updated from version 1.2.2 to version 1.2.3. &merged; @@ -2462,7 +2467,7 @@ The supported version of the KDE desktop environment (x11/kde3) has been - updated from 3.4.2 to 3.5.6. &merged; + updated from 3.4.2 to 3.5.7. &merged; [&arch.amd64;, &arch.i386;] The supported Linux emulation now uses the libraries in the ==== //depot/projects/delphij_fork/share/man/man4/lagg.4#2 (text+ko) ==== @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.\" $FreeBSD: src/share/man/man4/lagg.4,v 1.3 2007/04/17 07:09:23 brueffer Exp $ +.\" $FreeBSD: src/share/man/man4/lagg.4,v 1.4 2007/07/30 20:17:21 thompsa Exp $ .\" .Dd April 17, 2007 .Dt LAGG 4 @@ -122,6 +122,9 @@ .Va cloned_interfaces variable in .Xr rc.conf 5 . +.Pp +The MTU of the first interface to be added is used as the lagg MTU. +All additional interfaces are required to have exactly the same value. .Sh EXAMPLES Create a 802.3ad link aggregation using LACP with two .Xr bge 4 ==== //depot/projects/delphij_fork/share/man/man9/sysctl_ctx_init.9#2 (text+ko) ==== @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/sysctl_ctx_init.9,v 1.13 2006/04/28 10:45:27 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/sysctl_ctx_init.9,v 1.14 2007/07/27 19:55:42 remko Exp $ .\" .Dd July 15, 2000 .Dt SYSCTL_CTX_INIT 9 @@ -135,7 +135,8 @@ as the oid number when creating an oid. However, during registration of the oid in the tree, this number is changed to the first available number -greater than 99. +greater than or equal to +.Dv CTL_AUTO_START . If the first step of context deletion fails, re-registration of the oid does not change the already assigned oid number (which is different from OID_AUTO). ==== //depot/projects/delphij_fork/sys/amd64/amd64/trap.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.319 2007/07/26 15:32:54 jhb Exp $"); /* * AMD64 Trap and System call handling @@ -159,7 +159,8 @@ { struct thread *td = curthread; struct proc *p = td->td_proc; - int i = 0, ucode = 0, type, code; + int i = 0, ucode = 0, code; + u_int type; register_t addr = 0; ksiginfo_t ksi; @@ -622,7 +623,8 @@ struct trapframe *frame; vm_offset_t eva; { - int code, type, ss; + int code, ss; + u_int type; long esp; struct soft_segment_descriptor softseg; char *msg; ==== //depot/projects/delphij_fork/sys/arm/arm/busdma_machdep.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.34 2007/07/27 14:46:43 cognet Exp $"); /* * ARM bus dma support routines @@ -763,8 +763,12 @@ if (__predict_true(pmap == pmap_kernel())) { (void) pmap_get_pde_pte(pmap, vaddr, &pde, &ptep); if (__predict_false(pmap_pde_section(pde))) { - curaddr = (*pde & L1_S_FRAME) | - (vaddr & L1_S_OFFSET); + if (*pde & L1_S_SUPERSEC) + curaddr = (*pde & L1_SUP_FRAME) | + (vaddr & L1_SUP_OFFSET); + else + curaddr = (*pde & L1_S_FRAME) | + (vaddr & L1_S_OFFSET); if (*pde & L1_S_CACHE_MASK) { map->flags &= ~DMAMAP_COHERENT; @@ -1087,36 +1091,36 @@ { char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align]; - if (op & BUS_DMASYNC_PREWRITE) + if (op & BUS_DMASYNC_PREWRITE) { cpu_dcache_wb_range((vm_offset_t)buf, len); + cpu_l2cache_wb_range((vm_offset_t)buf, len); + } + if (op & BUS_DMASYNC_PREREAD) { + cpu_idcache_wbinv_range((vm_offset_t)buf, len); + cpu_l2cache_wbinv_range((vm_offset_t)buf, len); + } if (op & BUS_DMASYNC_POSTREAD) { - if ((vm_offset_t)buf & arm_dcache_align_mask) + if ((vm_offset_t)buf & arm_dcache_align_mask) { memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~ arm_dcache_align_mask), - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~ - arm_dcache_align_mask), - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); - if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy(_tmp_clend, (void *)(((vm_offset_t)buf + len) & ~ - arm_dcache_align_mask), - (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~ - arm_dcache_align_mask)); + (vm_offset_t)buf & arm_dcache_align_mask); + } + if (((vm_offset_t)buf + len) & arm_dcache_align_mask) { + memcpy(_tmp_clend, (void *)((vm_offset_t)buf + len), + arm_dcache_align - (((vm_offset_t)(buf) + len) & + arm_dcache_align_mask)); + } cpu_dcache_inv_range((vm_offset_t)buf, len); + cpu_l2cache_inv_range((vm_offset_t)buf, len); + if ((vm_offset_t)buf & arm_dcache_align_mask) memcpy((void *)((vm_offset_t)buf & - ~arm_dcache_align_mask), - _tmp_cl, - (vm_offset_t)buf - ((vm_offset_t)buf &~ - arm_dcache_align_mask)); + ~arm_dcache_align_mask), _tmp_cl, + (vm_offset_t)buf & arm_dcache_align_mask); if (((vm_offset_t)buf + len) & arm_dcache_align_mask) - memcpy((void *)(((vm_offset_t)buf + len) & ~ - arm_dcache_align_mask), _tmp_clend, - (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~ - arm_dcache_align_mask)); + memcpy((void *)((vm_offset_t)buf + len), _tmp_clend, + arm_dcache_align - (((vm_offset_t)(buf) + len) & + arm_dcache_align_mask)); } } @@ -1131,14 +1135,20 @@ (void *)(bpage->vaddr_nocache != 0 ? bpage->vaddr_nocache : bpage->vaddr), bpage->datacount); - if (bpage->vaddr_nocache == 0) + if (bpage->vaddr_nocache == 0) { cpu_dcache_wb_range(bpage->vaddr, bpage->datacount); + cpu_l2cache_wb_range(bpage->vaddr, + bpage->datacount); + } } if (op & BUS_DMASYNC_POSTREAD) { - if (bpage->vaddr_nocache == 0) + if (bpage->vaddr_nocache == 0) { cpu_dcache_inv_range(bpage->vaddr, bpage->datacount); + cpu_l2cache_inv_range(bpage->vaddr, + bpage->datacount); + } bcopy((void *)(bpage->vaddr_nocache != 0 ? bpage->vaddr_nocache : bpage->vaddr), (void *)bpage->datavaddr, bpage->datacount); @@ -1175,10 +1185,6 @@ _bus_dmamap_sync_bp(dmat, map, op); if (map->flags & DMAMAP_COHERENT) return; - if ((op && BUS_DMASYNC_POSTREAD) && (map->len >= 2 * PAGE_SIZE)) { - cpu_dcache_wbinv_all(); - return; - } CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags); switch(map->flags & DMAMAP_TYPE_MASK) { case DMAMAP_LINEAR: ==== //depot/projects/delphij_fork/sys/arm/arm/cpufunc.c#2 (text+ko) ==== @@ -45,7 +45,7 @@ * Created : 30/01/97 */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $"); #include #include @@ -147,6 +147,10 @@ arm7tdmi_cache_flushID, /* idcache_wbinv_all */ (void *)arm7tdmi_cache_flushID, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -205,6 +209,10 @@ arm8_cache_purgeID, /* idcache_wbinv_all */ (void *)arm8_cache_purgeID, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -262,6 +270,10 @@ arm9_idcache_wbinv_all, /* idcache_wbinv_all */ arm9_idcache_wbinv_range, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -320,6 +332,10 @@ arm10_idcache_wbinv_all, /* idcache_wbinv_all */ arm10_idcache_wbinv_range, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -378,6 +394,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -435,6 +455,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -492,6 +516,10 @@ sa1_cache_purgeID, /* idcache_wbinv_all */ sa1_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -552,6 +580,10 @@ xscale_cache_purgeID, /* idcache_wbinv_all */ xscale_cache_purgeID_rng, /* idcache_wbinv_range */ + cpufunc_nullop, /* l2cache_wbinv_all */ + cpufunc_nullop, /* l2cache_wbinv_range */ + cpufunc_nullop, /* l2cache_inv_range */ + cpufunc_nullop, /* l2cache_wb_range */ /* Other functions */ @@ -602,15 +634,19 @@ /* Cache operations */ xscalec3_cache_syncI, /* icache_sync_all */ - xscale_cache_syncI_rng, /* icache_sync_range */ + xscalec3_cache_syncI_rng, /* icache_sync_range */ xscalec3_cache_purgeD, /* dcache_wbinv_all */ xscalec3_cache_purgeD_rng, /* dcache_wbinv_range */ xscale_cache_flushD_rng, /* dcache_inv_range */ xscalec3_cache_cleanD_rng, /* dcache_wb_range */ - xscalec3_cache_purgeID, /* idcache_wbinv_all */ + xscalec3_cache_purgeID, /* idcache_wbinv_all */ xscalec3_cache_purgeID_rng, /* idcache_wbinv_range */ + xscalec3_l2cache_purge, /* l2cache_wbinv_all */ + xscalec3_l2cache_purge_rng, /* l2cache_wbinv_range */ + xscalec3_l2cache_flush_rng, /* l2cache_inv_range */ + xscalec3_l2cache_clean_rng, /* l2cache_wb_range */ /* Other functions */ @@ -1889,9 +1925,7 @@ xscale_setup(args) char *args; { -#ifndef CPU_XSCALE_CORE3 uint32_t auxctl; -#endif int cpuctrl, cpuctrlmask; /* @@ -1911,7 +1945,8 @@ | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE - | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC; + | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC | \ + CPU_CONTROL_L2_ENABLE; #ifndef ARM32_DISABLE_ALIGNMENT_FAULTS cpuctrl |= CPU_CONTROL_AFLT_ENABLE; @@ -1925,6 +1960,9 @@ if (vector_page == ARM_VECTORS_HIGH) cpuctrl |= CPU_CONTROL_VECRELOC; +#ifdef CPU_XSCALE_CORE3 + cpuctrl |= CPU_CONTROL_L2_ENABLE; +#endif /* Clear out the cache */ cpu_idcache_wbinv_all(); @@ -1937,7 +1975,6 @@ /* cpu_control(cpuctrlmask, cpuctrl);*/ cpu_control(0xffffffff, cpuctrl); -#ifndef CPU_XSCALE_CORE3 /* Make sure write coalescing is turned on */ __asm __volatile("mrc p15, 0, %0, c1, c0, 1" : "=r" (auxctl)); @@ -1946,9 +1983,12 @@ #else auxctl &= ~XSCALE_AUXCTL_K; #endif +#ifdef CPU_XSCALE_CORE3 + auxctl |= XSCALE_AUXCTL_LLR; + auxctl |= XSCALE_AUXCTL_MD_MASK; +#endif __asm __volatile("mcr p15, 0, %0, c1, c0, 1" : : "r" (auxctl)); -#endif } #endif /* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 CPU_XSCALE_80219 */ ==== //depot/projects/delphij_fork/sys/arm/arm/elf_trampoline.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.17 2007/02/19 00:57:27 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.18 2007/07/27 14:42:25 cognet Exp $"); #include #include #include @@ -48,6 +48,7 @@ extern void *_end; void __start(void); +void __startC(void); #define GZ_HEAD 0xa @@ -66,7 +67,14 @@ defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \ defined(CPU_XSCALE_80219) #define cpu_idcache_wbinv_all xscale_cache_purgeID +#elif defined(CPU_XSCALE_81342) +#define cpu_idcache_wbinv_all xscalec3_cache_purgeID #endif +#ifdef CPU_XSCALE_81342 +#define cpu_l2cache_wbinv_all xscalec3_l2cache_purge +#else +#define cpu_l2cache_wbinv_all() +#endif int arm_picache_size; @@ -138,7 +146,7 @@ static void arm9_setup(void); void -_start(void) +_startC(void) { int physaddr = KERNPHYSADDR; int tmp1; @@ -207,6 +215,7 @@ arm9_setup(); #endif cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); #endif __start(); } @@ -520,7 +529,7 @@ extern char func_end[]; -#define PMAP_DOMAIN_KERNEL 15 /* +#define PMAP_DOMAIN_KERNEL 0 /* * Just define it instead of including the * whole VM headers set. */ @@ -595,10 +604,11 @@ kernel = (char *)&_end; altdst = 4 + load_kernel((unsigned int)kernel, (unsigned int)curaddr, - (unsigned int)&func_end , 0); + (unsigned int)&func_end + 800 , 0); if (altdst > dst) dst = altdst; cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); __asm __volatile("mrc p15, 0, %0, c1, c0, 0\n" "bic %0, %0, #1\n" /* MMU_ENABLE */ "mcr p15, 0, %0, c1, c0, 0\n" @@ -616,7 +626,7 @@ sp = sp &~3; dst = (void *)(sp + 4); memcpy((void *)dst, (void *)&load_kernel, (unsigned int)&func_end - - (unsigned int)&load_kernel); + (unsigned int)&load_kernel + 800); do_call(dst, kernel, dst + (unsigned int)(&func_end) - - (unsigned int)(&load_kernel), sp); + (unsigned int)(&load_kernel) + 800, sp); } ==== //depot/projects/delphij_fork/sys/arm/arm/identcpu.c#2 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.11 2007/07/27 14:49:11 cognet Exp $"); #include #include #include @@ -374,6 +374,12 @@ printf(" IC disabled"); else printf(" IC enabled"); +#ifdef CPU_XSCALE_81342 + if ((ctrl & CPU_CONTROL_L2_ENABLE) == 0) + printf(" L2 disabled"); + else + printf(" L2 enabled"); +#endif break; default: break; ==== //depot/projects/delphij_fork/sys/arm/arm/intr.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.16 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.17 2007/07/27 14:26:42 cognet Exp $"); #include #include #include @@ -57,6 +57,27 @@ void arm_handler_execute(struct trapframe *, int); +#ifdef INTR_FILTER +static void +intr_disab_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + arm_mask_irq(nb); +} + +static void +intr_eoi_src(void *arg) +{ + uintptr_t nb; + + nb = (uintptr_t)arg; + arm_unmask_irq(nb); +} + +#endif + void arm_setup_irqhandler(const char *name, driver_filter_t *filt, void (*hand)(void*), void *arg, int irq, int flags, void **cookiep) @@ -68,8 +89,14 @@ return; event = intr_events[irq]; if (event == NULL) { +#ifdef INTR_FILTER error = intr_event_create(&event, (void *)irq, 0, + (void (*)(void *))arm_unmask_irq, intr_eoi_src, + intr_disab_eoi_src, "intr%d:", irq); +#else + error = intr_event_create(&event, (void *)irq, 0, (void (*)(void *))arm_unmask_irq, "intr%d:", irq); +#endif if (error) return; intr_events[irq] = event; @@ -102,19 +129,33 @@ arm_handler_execute(struct trapframe *frame, int irqnb) { struct intr_event *event; - struct intr_handler *ih; struct thread *td = curthread; +#ifdef INTR_FILTER + int i; +#else int i, thread, ret; + struct intr_handler *ih; +#endif PCPU_INC(cnt.v_intr); td->td_intr_nesting_level++; while ((i = arm_get_next_irq()) != -1) { +#ifndef INTR_FILTER arm_mask_irq(i); +#endif intrcnt[intrcnt_tab[i]]++; event = intr_events[i]; - if (!event || TAILQ_EMPTY(&event->ie_handlers)) + if (!event || TAILQ_EMPTY(&event->ie_handlers)) { +#ifdef INTR_FILTER + arm_mask_irq(i); +#endif continue; + } +#ifdef INTR_FILTER + intr_event_handle(event, frame); + /* XXX: Log stray IRQs */ +#else /* Execute fast handlers. */ ret = 0; thread = 0; @@ -139,6 +180,7 @@ intr_event_schedule_thread(event); else arm_unmask_irq(i); +#endif } td->td_intr_nesting_level--; } ==== //depot/projects/delphij_fork/sys/arm/arm/pmap.c#2 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.83 2007/06/11 21:29:26 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $"); #include #include #include @@ -676,8 +676,14 @@ pmap_copy_page_func = pmap_copy_page_generic; pmap_zero_page_func = pmap_zero_page_generic; xscale_use_minidata = 0; - pte_l1_s_cache_mode_pt = pte_l2_l_cache_mode_pt = - pte_l2_s_cache_mode_pt = 0; + /* Make sure it is L2-cachable */ + pte_l1_s_cache_mode |= L1_S_XSCALE_TEX(TEX_XSCALE_T); + pte_l1_s_cache_mode_pt = pte_l1_s_cache_mode &~ L1_S_XSCALE_P; + pte_l2_l_cache_mode |= L2_XSCALE_L_TEX(TEX_XSCALE_T) ; + pte_l2_l_cache_mode_pt = pte_l1_s_cache_mode; + pte_l2_s_cache_mode |= L2_XSCALE_T_TEX(TEX_XSCALE_T); + pte_l2_s_cache_mode_pt = pte_l2_s_cache_mode; + #else pmap_copy_page_func = pmap_copy_page_xscale; pmap_zero_page_func = pmap_zero_page_xscale; @@ -2818,33 +2824,35 @@ * Low level mapping routines..... ***************************************************/ +#ifdef ARM_HAVE_SUPERSECTIONS /* Map a super section into the KVA. */ void pmap_kenter_supersection(vm_offset_t va, uint64_t pa, int flags) { - pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_OFFSET) | - (((pa >> 32) & 0x8) << 20) | L1_S_PROT(PTE_KERNEL, + pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_FRAME) | + (((pa >> 32) & 0xf) << 20) | L1_S_PROT(PTE_KERNEL, VM_PROT_READ|VM_PROT_WRITE) | L1_S_DOM(PMAP_DOMAIN_KERNEL); struct l1_ttable *l1; - vm_offset_t va_end; + vm_offset_t va0, va_end; KASSERT(((va | pa) & L1_SUP_OFFSET) == 0, - ("Not a valid section mapping")); + ("Not a valid super section mapping")); if (flags & SECTION_CACHE) pd |= pte_l1_s_cache_mode; else if (flags & SECTION_PT) pd |= pte_l1_s_cache_mode_pt; - va = va & L1_SUP_OFFSET; + va0 = va & L1_SUP_FRAME; va_end = va + L1_SUP_SIZE; SLIST_FOREACH(l1, &l1_list, l1_link) { + va = va0; for (; va < va_end; va += L1_S_SIZE) { l1->l1_kva[L1_IDX(va)] = pd; PTE_SYNC(&l1->l1_kva[L1_IDX(va)]); } } - } +#endif /* Map a section into the KVA. */ @@ -3681,7 +3689,11 @@ * These should only happen for pmap_kernel() */ KASSERT(pm == pmap_kernel(), ("huh")); - pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); + /* XXX: what to do about the bits > 32 ? */ + if (l1pd & L1_S_SUPERSEC) + pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET); + else + pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET); } else { /* * Note that we can't rely on the validity of the L1 @@ -3744,7 +3756,11 @@ * These should only happen for pmap_kernel() */ KASSERT(pmap == pmap_kernel(), ("huh")); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:17:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8BECF16A469; Tue, 31 Jul 2007 14:17:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5585C16A421 for ; Tue, 31 Jul 2007 14:17:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 39F5A13C48D for ; Tue, 31 Jul 2007 14:17:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VEHS9r047161 for ; Tue, 31 Jul 2007 14:17:28 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VEHSt9047156 for perforce@freebsd.org; Tue, 31 Jul 2007 14:17:28 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 14:17:28 GMT Message-Id: <200707311417.l6VEHSt9047156@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124423 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:17:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124423 Change 124423 by loafier@chrisdsoc on 2007/07/31 14:16:30 Edit for bus_alloc_resources(), etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/atiixp.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/atiixp.c#2 (text+ko) ==== @@ -100,18 +100,27 @@ int caps_32bit, dir; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec atiixp_res_spec[] = { + {SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct atiixp_info { device_t dev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; bus_dma_tag_t sgd_dmat; bus_dmamap_t sgd_dmamap; bus_addr_t sgd_addr; - struct resource *reg, *irq; - int regtype, regid, irqid; + struct resource *res[RES_SZ]; void *ih; struct ac97_info *codec; @@ -131,9 +140,9 @@ }; #define atiixp_rd(_sc, _reg) \ - bus_space_read_4((_sc)->st, (_sc)->sh, _reg) + bus_read_4((_sc)->res[RES_MEM], _reg) #define atiixp_wr(_sc, _reg, _val) \ - bus_space_write_4((_sc)->st, (_sc)->sh, _reg, _val) + bus_write_4((_sc)->res[RES_MEM], _reg, _val) #define atiixp_lock(_sc) snd_mtxlock((_sc)->lock) #define atiixp_unlock(_sc) snd_mtxunlock((_sc)->lock) @@ -1097,7 +1106,8 @@ #endif snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld %s", - rman_get_start(sc->reg), rman_get_start(sc->irq), + rman_get_start(sc->res[RES_MEM]), + rman_get_start(sc->res[RES_IRQ]), PCM_KLDSTRING(snd_atiixp)); pcm_setstatus(sc->dev, status); @@ -1130,17 +1140,10 @@ sc->codec = NULL; } if (sc->ih) { - bus_teardown_intr(sc->dev, sc->irq, sc->ih); + bus_teardown_intr(sc->dev, sc->res[RES_IRQ], sc->ih); sc->ih = NULL; } - if (sc->reg) { - bus_release_resource(sc->dev, sc->regtype, sc->regid, sc->reg); - sc->reg = NULL; - } - if (sc->irq) { - bus_release_resource(sc->dev, SYS_RES_IRQ, sc->irqid, sc->irq); - sc->irq = NULL; - } + bus_release_resources(sc->dev, atiixp_res_spec, sc->res); if (sc->parent_dmat) { bus_dma_tag_destroy(sc->parent_dmat); sc->parent_dmat = NULL; @@ -1204,26 +1207,15 @@ pci_set_powerstate(dev, PCI_POWERSTATE_D0); pci_enable_busmaster(dev); - sc->regid = PCIR_BAR(0); - sc->regtype = SYS_RES_MEMORY; - sc->reg = bus_alloc_resource_any(dev, sc->regtype, - &sc->regid, RF_ACTIVE); - - if (!sc->reg) { - device_printf(dev, "unable to allocate register space\n"); + if (bus_alloc_resources(dev, atiixp_res_spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); - sc->bufsz = pcm_getbuffersize(dev, ATI_IXP_BUFSZ_MIN, ATI_IXP_BUFSZ_DEFAULT, ATI_IXP_BUFSZ_MAX); - sc->irqid = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || snd_setup_intr(dev, sc->irq, INTR_MPSAFE, + if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, atiixp_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; @@ -1320,7 +1312,7 @@ return (r); } sc->codec = NULL; - if (sc->st != 0 && sc->sh != 0) + if (sc->res[RES_MEM] != NULL) atiixp_disable_interrupts(sc); atiixp_release_resource(sc); } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:29:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 341A216A41F; Tue, 31 Jul 2007 14:29:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E4C7916A419 for ; Tue, 31 Jul 2007 14:29:43 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CA52B13C45E for ; Tue, 31 Jul 2007 14:29:43 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VEThFR047833 for ; Tue, 31 Jul 2007 14:29:43 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VEThK0047830 for perforce@freebsd.org; Tue, 31 Jul 2007 14:29:43 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 14:29:43 GMT Message-Id: <200707311429.l6VEThK0047830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124424 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:29:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=124424 Change 124424 by loafier@chrisdsoc on 2007/07/31 14:29:03 Remove bus tags & handles, change read/write functions, etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cs4281.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cs4281.c#2 (text+ko) ==== @@ -78,8 +78,6 @@ device_t dev; u_int32_t type; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; struct resource *reg, *irq, *mem; @@ -140,13 +138,13 @@ static inline u_int32_t cs4281_rd(struct sc_info *sc, int regno) { - return bus_space_read_4(sc->st, sc->sh, regno); + return bus_read_4(sc->reg, regno); } static inline void cs4281_wr(struct sc_info *sc, int regno, u_int32_t data) { - bus_space_write_4(sc->st, sc->sh, regno, data); + bus_write_4(sc->reg, regno, data); DELAY(100); } @@ -730,6 +728,22 @@ /* -------------------------------------------------------------------- */ /* Probe and attach the card */ +static void +cs4281_destroy(device_t dev, struct sc_info *sc) +{ + if (sc->reg) + bus_release_resource(dev, sc->regtype, sc->regid, sc->reg); + if (sc->mem) + bus_release_resource(dev, SYS_RES_MEMORY, sc->memid, sc->mem); + if (sc->ih) + bus_teardown_intr(dev, sc->irq, sc->ih); + if (sc->irq) + bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); + if (sc->parent_dmat) + bus_dma_tag_destroy(sc->parent_dmat); + free(sc, M_DEVBUF); +} + static int cs4281_pci_probe(device_t dev) { @@ -751,16 +765,15 @@ { struct sc_info *sc; struct ac97_info *codec = NULL; - u_int32_t data; char status[SND_STATUSLEN]; sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO); sc->dev = dev; sc->type = pci_get_devid(dev); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); + pci_enable_io(dev, SYS_RES_MEMORY); #if __FreeBSD_version > 500000 if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { @@ -795,8 +808,6 @@ goto bad; } } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); sc->memid = PCIR_BAR(1); sc->mem = bus_alloc_resource(dev, SYS_RES_MEMORY, &sc->memid, 0, @@ -866,17 +877,7 @@ bad: if (codec) ac97_destroy(codec); - if (sc->reg) - bus_release_resource(dev, sc->regtype, sc->regid, sc->reg); - if (sc->mem) - bus_release_resource(dev, SYS_RES_MEMORY, sc->memid, sc->mem); - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - if (sc->parent_dmat) - bus_dma_tag_destroy(sc->parent_dmat); - free(sc, M_DEVBUF); + cs4281_destroy(dev, sc); return ENXIO; } @@ -895,13 +896,7 @@ /* power off */ cs4281_power(sc, 3); - - bus_release_resource(dev, sc->regtype, sc->regid, sc->reg); - bus_release_resource(dev, SYS_RES_MEMORY, sc->memid, sc->mem); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - bus_dma_tag_destroy(sc->parent_dmat); - free(sc, M_DEVBUF); + cs4281_destroy(dev, sc); return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 14:49:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A915316A421; Tue, 31 Jul 2007 14:49:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6CD4216A41B for ; Tue, 31 Jul 2007 14:49:08 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 51A3413C45D for ; Tue, 31 Jul 2007 14:49:08 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VEn89c049153 for ; Tue, 31 Jul 2007 14:49:08 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VEn8Jq049150 for perforce@freebsd.org; Tue, 31 Jul 2007 14:49:08 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 14:49:08 GMT Message-Id: <200707311449.l6VEn8Jq049150@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 14:49:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=124425 Change 124425 by loafier@chrisdsoc on 2007/07/31 14:48:19 Edit tags & handles, write functions, etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/vibes.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/vibes.c#2 (text+ko) ==== @@ -72,15 +72,11 @@ /* Enhanced register resources */ struct resource *enh_reg; - bus_space_tag_t enh_st; - bus_space_handle_t enh_sh; int enh_type; int enh_rid; /* DMA configuration */ struct resource *dmaa_reg, *dmac_reg; - bus_space_tag_t dmaa_st, dmac_st; - bus_space_handle_t dmaa_sh, dmac_sh; int dmaa_type, dmac_type; int dmaa_rid, dmac_rid; @@ -114,14 +110,14 @@ static u_int8_t sv_direct_get(struct sc_info *sc, u_int8_t reg) { - return bus_space_read_1(sc->enh_st, sc->enh_sh, reg); + return bus_read_1(sc->enh_reg, reg); } static void _sv_direct_set(struct sc_info *sc, u_int8_t reg, u_int8_t val, int line) { u_int8_t n; - bus_space_write_1(sc->enh_st, sc->enh_sh, reg, val); + bus_write_1(sc->enh_reg, reg, val); n = sv_direct_get(sc, reg); if (n != val) { @@ -135,8 +131,8 @@ if (reg == SV_REG_FORMAT || reg == SV_REG_ANALOG_PWR) reg |= SV_CM_INDEX_MCE; - bus_space_write_1(sc->enh_st, sc->enh_sh, SV_CM_INDEX, reg); - return bus_space_read_1(sc->enh_st, sc->enh_sh, SV_CM_DATA); + bus_write_1(sc->enh_reg, SV_CM_INDEX, reg); + return bus_read_1(sc->enh_reg, SV_CM_DATA); } #define sv_indirect_set(x, y, z) _sv_indirect_set(x, y, z, __LINE__) @@ -147,8 +143,8 @@ if (reg == SV_REG_FORMAT || reg == SV_REG_ANALOG_PWR) reg |= SV_CM_INDEX_MCE; - bus_space_write_1(sc->enh_st, sc->enh_sh, SV_CM_INDEX, reg); - bus_space_write_1(sc->enh_st, sc->enh_sh, SV_CM_DATA, val); + bus_write_1(sc->enh_reg, SV_CM_INDEX, reg); + bus_write_1(sc->enh_reg, SV_CM_DATA, val); reg &= ~SV_CM_INDEX_MCE; if (reg != SV_REG_ADC_PLLM) { @@ -161,21 +157,21 @@ } static void -sv_dma_set_config(bus_space_tag_t st, bus_space_handle_t sh, +sv_dma_set_config(struct resource *reg, u_int32_t base, u_int32_t count, u_int8_t mode) { - bus_space_write_4(st, sh, SV_DMA_ADDR, base); - bus_space_write_4(st, sh, SV_DMA_COUNT, count & 0xffffff); - bus_space_write_1(st, sh, SV_DMA_MODE, mode); + bus_write_4(reg, SV_DMA_ADDR, base); + bus_write_4(reg, SV_DMA_COUNT, count & 0xffffff); + bus_write_1(reg, SV_DMA_MODE, mode); DEB(printf("base 0x%08x count %5d mode 0x%02x\n", base, count, mode)); } static u_int32_t -sv_dma_get_count(bus_space_tag_t st, bus_space_handle_t sh) +sv_dma_get_count(struct resource *reg) { - return bus_space_read_4(st, sh, SV_DMA_COUNT) & 0xffffff; + return bus_read_4(reg, SV_DMA_COUNT) & 0xffffff; } /* ------------------------------------------------------------------------- */ @@ -323,7 +319,7 @@ /* Program DMA */ count = sndbuf_getsize(ch->buffer) / 2; /* DMAC uses words */ - sv_dma_set_config(sc->dmac_st, sc->dmac_sh, + sv_dma_set_config(sc->dmac_reg, sndbuf_getbufaddr(ch->buffer), count - 1, SV_DMA_MODE_AUTO | SV_DMA_MODE_RD); @@ -356,7 +352,7 @@ sz = sndbuf_getsize(ch->buffer); /* DMAC uses words */ - remain = (sv_dma_get_count(sc->dmac_st, sc->dmac_sh) + 1) * 2; + remain = (sv_dma_get_count(sc->dmac_reg) + 1) * 2; return sz - remain; } @@ -399,7 +395,7 @@ /* Program DMA */ count = sndbuf_getsize(ch->buffer); - sv_dma_set_config(sc->dmaa_st, sc->dmaa_sh, + sv_dma_set_config(sc->dmaa_reg, sndbuf_getbufaddr(ch->buffer), count - 1, SV_DMA_MODE_AUTO | SV_DMA_MODE_WR); @@ -433,7 +429,7 @@ sz = sndbuf_getsize(ch->buffer); /* DMAA uses bytes */ - remain = sv_dma_get_count(sc->dmaa_st, sc->dmaa_sh) + 1; + remain = sv_dma_get_count(sc->dmaa_reg) + 1; return (sz - remain); } @@ -700,6 +696,26 @@ return; } +static void +sv_destroy(device_t dev, struct sc_info *sc) +{ + if (!sc) + return; + + if (sc->parent_dmat) + bus_dma_tag_destroy(sc->parent_dmat); + if (sc->ih) + bus_teardown_intr(dev, sc->irq, sc->ih); + if (sc->irq) + bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); + if (sc->enh_reg) + bus_release_resource(dev, sc->enh_type, sc->enh_rid, sc->enh_reg); + if (sc->dmaa_reg) + bus_release_resource(dev, sc->dmaa_type, sc->dmaa_rid, sc->dmaa_reg); + if (sc->dmac_reg) + bus_release_resource(dev, sc->dmac_type, sc->dmac_rid, sc->dmac_reg); +} + static int sv_probe(device_t dev) { @@ -722,10 +738,8 @@ sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO); sc->dev = dev; - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); #if __FreeBSD_version > 500000 if (pci_get_powerstate(dev) != PCI_POWERSTATE_D0) { @@ -743,8 +757,6 @@ device_printf(dev, "sv_attach: cannot allocate enh\n"); return ENXIO; } - sc->enh_st = rman_get_bustag(sc->enh_reg); - sc->enh_sh = rman_get_bushandle(sc->enh_reg); data = pci_read_config(dev, SV_PCI_DMAA, 4); DEB(printf("sv_attach: initial dmaa 0x%08x\n", data)); @@ -757,8 +769,8 @@ /* Register IRQ handler */ sc->irqid = 0; - sc->irq = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->irqid, - 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); + sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, + RF_ACTIVE | RF_SHAREABLE); if (!sc->irq || snd_setup_intr(dev, sc->irq, 0, sv_intr, sc, &sc->ih)) { device_printf(dev, "sv_attach: Unable to map interrupt\n"); @@ -836,8 +848,6 @@ device_printf(dev, "sv_attach: cannot allocate dmaa\n"); goto fail; } - sc->dmaa_st = rman_get_bustag(sc->dmaa_reg); - sc->dmaa_sh = rman_get_bushandle(sc->dmaa_reg); /* Poke port into dma_a configuration, nb bit flags to enable dma */ data = pci_read_config(dev, SV_PCI_DMAA, 4) | SV_PCI_DMA_ENABLE | SV_PCI_DMA_EXTENDED; @@ -855,8 +865,6 @@ device_printf(dev, "sv_attach: cannot allocate dmac\n"); goto fail; } - sc->dmac_st = rman_get_bustag(sc->dmac_reg); - sc->dmac_sh = rman_get_bushandle(sc->dmac_reg); /* Poke port into dma_c configuration, nb bit flags to enable dma */ data = pci_read_config(dev, SV_PCI_DMAC, 4) | SV_PCI_DMA_ENABLE | SV_PCI_DMA_EXTENDED; @@ -884,18 +892,8 @@ return 0; fail: - if (sc->parent_dmat) - bus_dma_tag_destroy(sc->parent_dmat); - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - if (sc->enh_reg) - bus_release_resource(dev, sc->enh_type, sc->enh_rid, sc->enh_reg); - if (sc->dmaa_reg) - bus_release_resource(dev, sc->dmaa_type, sc->dmaa_rid, sc->dmaa_reg); - if (sc->dmac_reg) - bus_release_resource(dev, sc->dmac_type, sc->dmac_rid, sc->dmac_reg); + sv_destroy(dev, sc); + return ENXIO; } @@ -910,15 +908,7 @@ sc = pcm_getdevinfo(dev); sv_mix_mute_all(sc); sv_power(sc, 3); - - bus_dma_tag_destroy(sc->parent_dmat); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - bus_release_resource(dev, sc->enh_type, sc->enh_rid, sc->enh_reg); - bus_release_resource(dev, sc->dmaa_type, sc->dmaa_rid, sc->dmaa_reg); - bus_release_resource(dev, sc->dmac_type, sc->dmac_rid, sc->dmac_reg); - - free(sc, M_DEVBUF); + sv_destroy(dev, sc); return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 15:05:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F6EC16A46B; Tue, 31 Jul 2007 15:05:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0FE3616A41A for ; Tue, 31 Jul 2007 15:05:29 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA69D13C481 for ; Tue, 31 Jul 2007 15:05:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VF5SOb051488 for ; Tue, 31 Jul 2007 15:05:28 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VF5SYt051485 for perforce@freebsd.org; Tue, 31 Jul 2007 15:05:28 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 15:05:28 GMT Message-Id: <200707311505.l6VF5SYt051485@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124426 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 15:05:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124426 Change 124426 by loafier@chrisdsoc on 2007/07/31 15:05:02 Edit tags, handles, read/write Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/csa.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/csa.c#2 (text+ko) ==== @@ -236,7 +236,6 @@ static int csa_attach(device_t dev) { - u_int32_t stcmd; sc_p scp; csa_res *resp; struct sndcard_func *func; @@ -249,11 +248,8 @@ scp->dev = dev; /* Wake up the device. */ - stcmd = pci_read_config(dev, PCIR_COMMAND, 2); - if ((stcmd & PCIM_CMD_MEMEN) == 0 || (stcmd & PCIM_CMD_BUSMASTEREN) == 0) { - stcmd |= (PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, stcmd, 2); - } + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_MEMORY); /* Allocate the resources. */ resp = &scp->res; @@ -1032,7 +1028,7 @@ u_int32_t ul; if (offset < BA0_AC97_RESET) - return bus_space_read_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset) & 0xffffffff; + return bus_read_4(resp->io, offset) & 0xffffffff; else { if (csa_readcodec(resp, offset, &ul)) ul = 0; @@ -1044,7 +1040,7 @@ csa_writeio(csa_res *resp, u_long offset, u_int32_t data) { if (offset < BA0_AC97_RESET) - bus_space_write_4(rman_get_bustag(resp->io), rman_get_bushandle(resp->io), offset, data); + bus_write_4(resp->io, offset, data); else csa_writecodec(resp, offset, data); } @@ -1052,13 +1048,13 @@ u_int32_t csa_readmem(csa_res *resp, u_long offset) { - return bus_space_read_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset); + return bus_read_4(resp->mem, offset); } void csa_writemem(csa_res *resp, u_long offset, u_int32_t data) { - bus_space_write_4(rman_get_bustag(resp->mem), rman_get_bushandle(resp->mem), offset, data); + bus_write_4(resp->mem, offset, data); } static device_method_t csa_methods[] = { From owner-p4-projects@FreeBSD.ORG Tue Jul 31 15:15:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 19C8216A41B; Tue, 31 Jul 2007 15:15:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2932A16A419 for ; Tue, 31 Jul 2007 15:15:43 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EAF8813C459 for ; Tue, 31 Jul 2007 15:15:42 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VFFg3n052166 for ; Tue, 31 Jul 2007 15:15:42 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VFFg9I052163 for perforce@freebsd.org; Tue, 31 Jul 2007 15:15:42 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 31 Jul 2007 15:15:42 GMT Message-Id: <200707311515.l6VFFg9I052163@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124427 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 15:15:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=124427 Change 124427 by loafier@chrisdsoc on 2007/07/31 15:15:11 Edit tags, handles, read, write. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/sbus/cs4231.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/sbus/cs4231.c#2 (text+ko) ==== @@ -112,8 +112,6 @@ struct device *sc_dev; int sc_rid[CS4231_RES_MEM_MAX]; struct resource *sc_res[CS4231_RES_MEM_MAX]; - bus_space_handle_t sc_regh[CS4231_RES_MEM_MAX]; - bus_space_tag_t sc_regt[CS4231_RES_MEM_MAX]; int sc_irqrid[CS4231_RES_IRQ_MAX]; struct resource *sc_irqres[CS4231_RES_IRQ_MAX]; @@ -192,30 +190,30 @@ #define CS4231_LOCK_ASSERT(sc) snd_mtxassert(sc->sc_lock) #define CS_WRITE(sc,r,v) \ - bus_space_write_1((sc)->sc_regt[0], (sc)->sc_regh[0], (r) << 2, (v)) + bus_write_1((sc)->sc_res[0], (r) << 2, (v)) #define CS_READ(sc,r) \ - bus_space_read_1((sc)->sc_regt[0], (sc)->sc_regh[0], (r) << 2) + bus_read_1((sc)->sc_res[0], (r) << 2) #define APC_WRITE(sc,r,v) \ - bus_space_write_4(sc->sc_regt[0], sc->sc_regh[0], r, v) + bus_write_4(sc->sc_res[0], r, v) #define APC_READ(sc,r) \ - bus_space_read_4(sc->sc_regt[0], sc->sc_regh[0], r) + bus_read_4(sc->sc_res[0], r) #define EBDMA_P_WRITE(sc,r,v) \ - bus_space_write_4((sc)->sc_regt[1], (sc)->sc_regh[1], (r), (v)) + bus_write_4((sc)->sc_res[1], (r), (v)) #define EBDMA_P_READ(sc,r) \ - bus_space_read_4((sc)->sc_regt[1], (sc)->sc_regh[1], (r)) + bus_read_4((sc)->sc_res[1], (r)) #define EBDMA_C_WRITE(sc,r,v) \ - bus_space_write_4((sc)->sc_regt[2], (sc)->sc_regh[2], (r), (v)) + bus_write_4((sc)->sc_res[2], (r), (v)) #define EBDMA_C_READ(sc,r) \ - bus_space_read_4((sc)->sc_regt[2], (sc)->sc_regh[2], (r)) + bus_read_4((sc)->sc_res[2], (r)) #define AUXIO_CODEC 0x00 #define AUXIO_WRITE(sc,r,v) \ - bus_space_write_4((sc)->sc_regt[3], (sc)->sc_regh[3], (r), (v)) + bus_write_4((sc)->sc_res[3], (r), (v)) #define AUXIO_READ(sc,r) \ - bus_space_read_4((sc)->sc_regt[3], (sc)->sc_regh[3], (r)) + bus_read_4((sc)->sc_res[3], (r)) #define CODEC_WARM_RESET 0 #define CODEC_COLD_RESET 1 @@ -381,8 +379,6 @@ "cannot map register %d\n", i); goto fail; } - sc->sc_regt[i] = rman_get_bustag(sc->sc_res[i]); - sc->sc_regh[i] = rman_get_bushandle(sc->sc_res[i]); } for (i = 0; i < sc->sc_nires; i++) { sc->sc_irqrid[i] = i; From owner-p4-projects@FreeBSD.ORG Tue Jul 31 15:21:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 017EF16A420; Tue, 31 Jul 2007 15:21:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AF7FD16A41A for ; Tue, 31 Jul 2007 15:21:51 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 939A313C4B0 for ; Tue, 31 Jul 2007 15:21:51 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VFLpId052583 for ; Tue, 31 Jul 2007 15:21:51 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VFLodp052580 for perforce@freebsd.org; Tue, 31 Jul 2007 15:21:50 GMT (envelope-from taleks@FreeBSD.org) Date: Tue, 31 Jul 2007 15:21:50 GMT Message-Id: <200707311521.l6VFLodp052580@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 124428 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 15:21:52 -0000 http://perforce.freebsd.org/chv.cgi?CH=124428 Change 124428 by taleks@taleks_th on 2007/07/31 15:21:33 all: added PXE_MORE macro, to remove many testing and unused code from binary. Size of binary has influence on workability of code (and available space for buffers), so all that is not needed for working of project code gone to PXE_MORE blocks. pxe_mutex: module was unused, deleted pxe_conv: module functions were dublicates of htons() and etc. deleted pxe.c: made it working. PXEHTTP_UDP_FOR_LIBSTAND macro used to use pxehhtp functions for udpread/udpsend, otherwise old versions of functions (updated to cal pxe_core_call()) are called. Old versions are not robustely tested. New versions are working good for NFS, not tested for TFTP. loader: conf.c: addes some preprocessor directives to remove unused filesystems in PXE booting. main.c - updates with PXE_MORE and heapsize (redused it in order not corrupt memory used by PXE). Makefile - updates for LOADER_HTTP_SUPPORT. pxe_buffer: ability to support statical allocation of buffes if define PXE_POOL_SLOTS. Otherwise memory for buffers allocated dynamically. pxe_core: remove unused function, buffers are now allocated dynamically. Need to do it optional and statical variant primary. pxe_dhcp: updates for rootpath option. Added PXE_BOOTP_USE_LIBSTAND macro, that instructs to use bootp() function of libstand instead of own code. Need to add coorect update of gateway/nameserver in case of bootp(), which called in code later, then this values are inited in pxe_core_init() pxe_icmp: whole module is disabled when PXE_MORE undefined pxe_isr: minor updates with chained handler, it's ignored for testing purposes. pxe_sock: updates in pxe_recvfrom() needed after pxe_udp_read() update. pxe_udp: added "default socket" which gains all that was not taken by other sockets. Was needed for udpread/udpwrite. Other update in parameter count of pxe_udp_read(). Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/Makefile#12 edit .. //depot/projects/soc2007/taleks-pxe_http/httpfs.c#5 edit .. //depot/projects/soc2007/taleks-pxe_http/libi386_mod/pxe.c#2 edit .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/Makefile#2 edit .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/conf.c#2 edit .. //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#2 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#14 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.h#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#11 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.h#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#24 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#20 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dhcp.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dhcp.h#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_dns.c#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_filter.c#7 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_filter.h#5 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_http.c#9 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_icmp.c#13 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_ip.c#14 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_isr.S#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_isr.h#5 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_mem.c#4 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#9 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#17 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#15 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#12 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_udp.c#9 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_udp.h#6 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/Makefile#12 (text+ko) ==== @@ -3,8 +3,9 @@ LIB= pxe_http INTERNALLIB= -SRCS= pxe_conv.c pxe_isr.S pxe_mem.c pxe_buffer.c pxe_await.c pxe_arp.c pxe_ip.c pxe_mutex.c \ - pxe_core.c pxe_icmp.c pxe_udp.c pxe_filter.c pxe_dns.c pxe_dhcp.c pxe_segment.c pxe_tcp.c pxe_sock.c \ +SRCS= pxe_isr.S pxe_mem.c pxe_buffer.c pxe_await.c pxe_arp.c pxe_ip.c \ + pxe_core.c pxe_icmp.c pxe_udp.c pxe_filter.c pxe_dns.c \ + pxe_dhcp.c pxe_segment.c pxe_tcp.c pxe_sock.c \ pxe_connection.c pxe_http.c httpfs.c CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../btx/lib \ @@ -30,7 +31,7 @@ #CFLAGS+= -DPXE_ARP_DEBUG #CFLAGS+= -DPXE_ARP_DEBUG_HELL # httpfs module -CFLAGS+= -DPXE_HTTP_DEBUG +#CFLAGS+= -DPXE_HTTP_DEBUG #CFLAGS+= -DPXE_HTTP_DEBUG_HELL .include ==== //depot/projects/soc2007/taleks-pxe_http/httpfs.c#5 (text+ko) ==== @@ -126,8 +126,8 @@ f->f_fsdata = (void *) httpfile; #ifdef PXE_HTTP_DEBUG - printf("http_open(): success\n"); -#endif + printf("http_open(): %s opened\n", httpfile->filename); +#endif return (0); } @@ -169,13 +169,13 @@ httpfile->offset += result; -#ifdef PXE_HTTP_DEBUG +/* #ifdef PXE_HTTP_DEBUG */ if (httpfile->size != PXE_HTTP_SIZE_UNKNOWN) - printf("http_read(): %llu bytes read (%llu %% read)\n", - httpfile->offset, 100LL * httpfile->offset / httpfile->size); + printf("%3llu%%\b\b\b\b", + 100LL * httpfile->offset / httpfile->size); else printf("http_read(): %llu byte(s) read\n", httpfile->offset); -#endif +/* #endif */ if (resid) *resid = size - result; ==== //depot/projects/soc2007/taleks-pxe_http/libi386_mod/pxe.c#2 (text+ko) ==== @@ -47,23 +47,22 @@ #include "btxv86.h" #include "pxe.h" #include "pxe_core.h" -#include "pxe_arp.h" +#include "pxe_dhcp.h" #include "pxe_isr.h" +#include "pxe_ip.h" +#include "pxe_udp.h" -/* - * Allocate the PXE buffers statically instead of sticking grimy fingers into - * BTX's private data area. The scratch buffer is used to send information to - * the PXE BIOS, and the data buffer is used to receive data from the PXE BIOS. - */ -#define PXE_BUFFER_SIZE 0x2000 #define PXE_TFTP_BUFFER_SIZE 512 -static char scratch_buffer[PXE_BUFFER_SIZE]; -static char data_buffer[PXE_BUFFER_SIZE]; + +#ifndef PXEHTTP_UDP_FOR_LIBSTAND +extern uint8_t *scratch_buffer; +extern uint8_t *data_buffer; +#endif static pxenv_t *pxenv_p = NULL; /* PXENV+ */ static pxe_t *pxe_p = NULL; /* !PXE */ -static int pxe_sock = -1; +int pxe_sock = -1; static int pxe_opens = 0; void pxe_enable(void *pxeinfo); @@ -71,6 +70,7 @@ static int pxe_init(void); static int pxe_strategy(void *devdata, int flag, daddr_t dblk, size_t size, char *buf, size_t *rsize); + static int pxe_open(struct open_file *f, ...); static int pxe_close(struct open_file *f); static void pxe_cleanup(void); @@ -87,8 +87,6 @@ extern struct netif_stats pxe_st[]; -void pxe_isr_install(); - struct netif_dif pxe_ifs[] = { /* dif_unit dif_nsel dif_stats dif_private */ {0, 1, &pxe_st[0], 0} @@ -171,17 +169,21 @@ static void pxe_print(int verbose) { - printf("PXE module (type 'pxe' for more information)\n"); + printf(" pxenet0: MAC %6D\n", pxe_get_mymac(), ":"); + printf(" ISR: at %x:%x (chained at: %x:%x)\n", + __pxe_entry_seg, __pxe_entry_off, + __chained_irq_seg, __chained_irq_off); + return; } static int pxe_open(struct open_file *f, ...) { - return (0); - va_list args; - char *devname; /* Device part of file name (or NULL). */ + char *devname = NULL; + char temp[FNAME_SIZE]; + int i = 0; va_start(args, f); devname = va_arg(args, char*); @@ -190,7 +192,6 @@ if (pxe_opens == 0) { /* Find network interface. */ if (pxe_sock < 0) { - pxe_sock = netif_open(devname); if (pxe_sock < 0) { @@ -199,30 +200,74 @@ } } - - if (rootip.s_addr == 0) - rootip.s_addr = pxe_get_ip32(PXE_IP_SERVER); + + if (pxe_get_ip32(PXE_IP_ROOT) == 0) { +#ifdef PXE_BOOTP_USE_LIBSTAND + pxe_dhcp_query(0); + + if (pxe_get_ip32(PXE_IP_ROOT) == 0) + pxe_set_ip32(PXE_IP_ROOT, + pxe_get_ip32(PXE_IP_SERVER)); +#endif + + if (!rootpath[1]) + strcpy(rootpath, PXENFSROOTPATH); + + for (i = 0; rootpath[i] != '\0' && i < FNAME_SIZE; i++) + if (rootpath[i] == ':') + break; + + if (i && i != FNAME_SIZE && rootpath[i] == ':') { + rootpath[i++] = '\0'; + + if (inet_addr(&rootpath[0]) != INADDR_NONE) + pxe_set_ip32(PXE_IP_ROOT, + inet_addr(&rootpath[0])); + + pxe_memcpy(&rootpath[i], &temp[0], + strlen(&rootpath[i])+1); + + pxe_memcpy(&temp[0], &rootpath[0], + strlen(&rootpath[i])+1); + } - gateip.s_addr = pxe_get_ip32(PXE_IP_GATEWAY); - - printf("pxe_open: server addr: %s\n", inet_ntoa(rootip)); - printf("pxe_open: gateway ip: %s\n", inet_ntoa(gateip)); + struct in_addr tmp_in; + + tmp_in.s_addr = pxe_get_ip32(PXE_IP_ROOT); +#ifdef PXE_DEBUG + printf("pxe_open: server addr: %s\n", + inet_ntoa(tmp_in)); +#endif + setenv("boot.nfsroot.server", + inet_ntoa(tmp_in), 1); -/* setenv("boot.netif.ip", inet_ntoa(myip), 1); - setenv("boot.netif.netmask", intoa(netmask), 1); - setenv("boot.netif.gateway", inet_ntoa(gateip), 1); - - if (bootplayer.Hardware == ETHER_TYPE) { - sprintf(temp, "%6D", bootplayer.CAddr, ":"); - setenv("boot.netif.hwaddr", temp, 1); + tmp_in.s_addr = pxe_get_ip32(PXE_IP_GATEWAY); + setenv("boot.netif.gateway", inet_ntoa(tmp_in), 1); +#ifdef PXE_DEBUG + printf("pxe_open: server path: %s\n", rootpath); + printf("pxe_open: gateway ip: %s\n", + inet_ntoa(tmp_in)); +#endif + tmp_in.s_addr = pxe_get_ip32(PXE_IP_MY); + setenv("boot.netif.ip", inet_ntoa(tmp_in), 1); + + tmp_in.s_addr = pxe_get_ip32(PXE_IP_NETMASK); + setenv("boot.netif.netmask", inet_ntoa(tmp_in), 1); + + sprintf(temp, "%6D", pxe_get_mymac(), ":"); + setenv("boot.netif.hwaddr", temp, 1); + + setenv("boot.nfsroot.path", rootpath, 1); + +#ifdef PXEHTTP_UDP_FOR_LIBSTAND + gateip.s_addr = pxe_get_ip32(PXE_IP_GATEWAY); + rootip.s_addr = pxe_get_ip32(PXE_IP_ROOT); + netmask = pxe_get_ip32(PXE_IP_NETMASK); + myip.s_addr = pxe_get_ip32(PXE_IP_MY); + nameip.s_addr = pxe_get_ip32(PXE_IP_NAMESERVER); +#endif } - - setenv("boot.nfsroot.server", inet_ntoa(rootip), 1); - setenv("boot.nfsroot.path", rootpath, 1); - setenv("dhcp.host-name", hostname, 1); -*/ } - ++pxe_opens; f->f_devdata = &pxe_sock; @@ -232,7 +277,6 @@ static int pxe_close(struct open_file *f) { - return (0); /* On last close, do netif close, etc. */ f->f_devdata = NULL; @@ -257,8 +301,6 @@ static void pxe_cleanup(void) { - return (0); - pxe_core_shutdown(); } @@ -278,10 +320,23 @@ #ifdef PXE_DEBUG printf("pxe_netif_probe() called."); #endif - if (__pxe_nic_irq != 0) - return (0); + +#ifdef PXEHTTP_UDP_FOR_LIBSTAND + if (__pxe_nic_irq == 0) + return (-1); +#else + t_PXENV_UDP_OPEN *udpopen_p = (t_PXENV_UDP_OPEN *)scratch_buffer; + + bzero(udpopen_p, sizeof(*udpopen_p)); + udpopen_p->src_ip = pxe_get_ip32(PXE_IP_MY); + pxe_core_call(PXENV_UDP_OPEN); - return (-1); + if (udpopen_p->status != 0) { + printf("pxe_netif_probe: failed %x\n", udpopen_p->status); + return (-1); + } +#endif + return (0); } static void @@ -290,12 +345,22 @@ #ifdef PXE_DEBUG printf("pxe_netif_end() called."); #endif + +#ifndef PXEHTTP_UDP_FOR_LIBSTAND + t_PXENV_UDP_CLOSE *udpclose_p = (t_PXENV_UDP_CLOSE *)scratch_buffer; + + bzero(udpclose_p, sizeof(*udpclose_p)); + + pxe_core_call(PXENV_UDP_CLOSE); + + if (udpclose_p->status != 0) + printf("pxe_end failed %x\n", udpclose_p->status); +#endif } static void pxe_netif_init(struct iodesc *desc, void *machdep_hint) { - return; #ifdef PXE_DEBUG printf("pxe_netif_init(): called.\n"); @@ -305,7 +370,7 @@ int i; for (i = 0; i < 6; ++i) desc->myea[i] = mac[i]; - + desc->xid = pxe_get_ip32(PXE_IP_MY); } @@ -327,18 +392,18 @@ return (len); } -/*************** to modify **********************/ - +#if defined(LOADER_NFS_SUPPORT) /* * Reach inside the libstand NFS code and dig out an NFS handle * for the root filesystem. */ -/* struct nfs_iodesc { +struct nfs_iodesc { struct iodesc *iodesc; off_t off; u_char fh[NFS_FHSIZE]; /* structure truncated here */ -/* }; +}; + extern struct nfs_iodesc nfs_root_node; extern int rpc_port; @@ -369,7 +434,7 @@ * ourselves. Use nfs_root_node.iodesc as flag indicating * previous NFS usage. */ -/* if (nfs_root_node.iodesc == NULL) + if (nfs_root_node.iodesc == NULL) pxe_rpcmountcall(); fh = &nfs_root_node.fh[0]; @@ -380,68 +445,124 @@ sprintf(cp, "X"); setenv("boot.nfsroot.nfshandle", buf, 1); } +#endif +#ifdef PXEHTTP_UDP_FOR_LIBSTAND +/* new versions of udp send/recv functions */ ssize_t sendudp(struct iodesc *h, void *pkt, size_t len) { - t_PXENV_UDP_WRITE *udpwrite_p = (t_PXENV_UDP_WRITE *)scratch_buffer; - bzero(udpwrite_p, sizeof(*udpwrite_p)); +#ifdef PXE_DEBUG_HELL + printf("sendudp(): sending %u bytes from me:%u -> %s:%u\n", + len, ntohs(h->myport), + inet_ntoa(h->destip), ntohs(h->destport)); +#endif + void *ipdata = pkt - sizeof(PXE_UDP_PACKET); + + if (!pxe_udp_send(ipdata, h->destip.s_addr, ntohs(h->destport), + ntohs(h->myport), len + sizeof(PXE_UDP_PACKET))) + { + printf("sendudp(): failed\n"); + return (-1); + } + + return (len); +} + +ssize_t +readudp(struct iodesc *h, void *pkt, size_t len, time_t timeout) +{ + PXE_UDP_DGRAM dgram; + struct udphdr *uh = (struct udphdr *) pkt - 1; - udpwrite_p->ip = h->destip.s_addr; - udpwrite_p->dst_port = h->destport; - udpwrite_p->src_port = h->myport; - udpwrite_p->buffer_size = len; - udpwrite_p->buffer.segment = VTOPSEG(pkt); - udpwrite_p->buffer.offset = VTOPOFF(pkt); + /* process any queued incoming packets */ + pxe_core_recv_packets(); - if (netmask == 0 || SAMENET(myip, h->destip, netmask)) - udpwrite_p->gw = 0; - else - udpwrite_p->gw = gateip.s_addr; + /* reading from default socket */ + int recv = pxe_udp_read(NULL, pkt, len, &dgram); + + if (recv == -1) { + printf("readudp(): failed\n"); + return (-1); + } +#ifdef PXE_DEBUG_HELL + printf("readudp(): received %d(%u/%u) bytes from %u port\n", + recv, len, dgram.size, dgram.src_port); +#endif + uh->uh_sport = htons(dgram.src_port); + + return (recv); +} - pxe_call(PXENV_UDP_WRITE); +#else /* !defined(PXEHTTP_UDP_FOR_LIBSTAND) */ +/* old variants of udp send/recv functions */ +ssize_t +sendudp(struct iodesc *h, void *pkt, size_t len) +{ + t_PXENV_UDP_WRITE *udpwrite_p = (t_PXENV_UDP_WRITE *)scratch_buffer; + bzero(udpwrite_p, sizeof(*udpwrite_p)); + + udpwrite_p->ip = h->destip.s_addr; + udpwrite_p->dst_port = h->destport; + udpwrite_p->src_port = h->myport; + udpwrite_p->buffer_size = len; + udpwrite_p->buffer.segment = VTOPSEG(pkt); + udpwrite_p->buffer.offset = VTOPOFF(pkt); + + if (netmask == 0 || SAMENET(myip, h->destip, netmask)) + udpwrite_p->gw = 0; + else + udpwrite_p->gw = gateip.s_addr; + pxe_core_call(PXENV_UDP_WRITE); #if 0 - /* XXX - I dont know why we need this. */ -/* delay(1000); + /* XXX - I dont know why we need this. */ + delay(1000); #endif - if (udpwrite_p->status != 0) { - /* XXX: This happens a lot. It shouldn't. */ -/* if (udpwrite_p->status != 1) - printf("sendudp failed %x\n", udpwrite_p->status); - return -1; + if (udpwrite_p->status != 0) { + /* XXX: This happens a lot. It shouldn't. */ + if (udpwrite_p->status != 1) + printf("sendudp failed %x\n", udpwrite_p->status); + + return (-1); } - return len; + + return (len); } ssize_t readudp(struct iodesc *h, void *pkt, size_t len, time_t timeout) { - t_PXENV_UDP_READ *udpread_p = (t_PXENV_UDP_READ *)scratch_buffer; - struct udphdr *uh = NULL; - - uh = (struct udphdr *) pkt - 1; - bzero(udpread_p, sizeof(*udpread_p)); - - udpread_p->dest_ip = h->myip.s_addr; - udpread_p->d_port = h->myport; - udpread_p->buffer_size = len; - udpread_p->buffer.segment = VTOPSEG(data_buffer); - udpread_p->buffer.offset = VTOPOFF(data_buffer); - - pxe_call(PXENV_UDP_READ); - + t_PXENV_UDP_READ *udpread_p = (t_PXENV_UDP_READ *)scratch_buffer; + struct udphdr *uh = NULL; + + uh = (struct udphdr *) pkt - 1; + bzero(udpread_p, sizeof(*udpread_p)); + + udpread_p->dest_ip = h->myip.s_addr; + udpread_p->d_port = h->myport; + udpread_p->buffer_size = len; + udpread_p->buffer.segment = VTOPSEG(data_buffer); + udpread_p->buffer.offset = VTOPOFF(data_buffer); + + pxe_core_call(PXENV_UDP_READ); + #if 0 - /* XXX - I dont know why we need this. */ -/* delay(1000); + /* XXX - I dont know why we need this. */ + delay(1000); #endif - if (udpread_p->status != 0) { - /* XXX: This happens a lot. It shouldn't. */ -/* if (udpread_p->status != 1) - printf("readudp failed %x\n", udpread_p->status); - return -1; + if (udpread_p->status != 0) { + /* XXX: This happens a lot. It shouldn't. */ + if (udpread_p->status != 1) + printf("readudp failed %x\n", udpread_p->status); + + return (-1); } - bcopy(data_buffer, pkt, udpread_p->buffer_size); - uh->uh_sport = udpread_p->s_port; - return udpread_p->buffer_size; -} */ + + bcopy(data_buffer, pkt, udpread_p->buffer_size); + uh->uh_sport = udpread_p->s_port; + + return (udpread_p->buffer_size); +} + +#endif /* PXEHTTP_UDP_FOR_LIBSTAND */ ==== //depot/projects/soc2007/taleks-pxe_http/loader_mod/Makefile#2 (text+ko) ==== @@ -7,13 +7,25 @@ # architecture-specific loader code SRCS= main.c conf.c vers.c +CFLAGS+= -DLOADER_HTTP_SUPPORT + +# Enable HTTP support for PXE +.if !defined(LOADER_HTTP_SUPPORT) + # Enable PXE TFTP or NFS support, not both. -#.if defined(LOADER_TFTP_SUPPORT) -#CFLAGS+= -DLOADER_TFTP_SUPPORT -#.else -#CFLAGS+= -DLOADER_NFS_SUPPORT -#.endif +.if defined(LOADER_TFTP_SUPPORT) +CFLAGS+= -DLOADER_TFTP_SUPPORT +.else +CFLAGS+= -DLOADER_NFS_SUPPORT +.endif + +.else CFLAGS+= -DLOADER_HTTP_SUPPORT +.endif + +.if ${MACHINE_ARCH} == "amd64" +CFLAGS+= -DLOADER_AMD64_ELF_SUPPORT +.endif # Enable PnP and ISA-PnP code. HAVE_PNP= yes ==== //depot/projects/soc2007/taleks-pxe_http/loader_mod/conf.c#2 (text+ko) ==== @@ -42,6 +42,10 @@ * * XXX as libi386 and biosboot merge, some of these can become linker sets. */ +#ifdef LOADER_HTTP_SUPPORT +#undef LOADER_NFS_SUPPORT +#undef LOADER_TFTP_SUPPORT +#endif #if defined(LOADER_NFS_SUPPORT) && defined(LOADER_TFTP_SUPPORT) #error "Cannot have both tftp and nfs support yet." @@ -51,18 +55,39 @@ struct devsw *devsw[] = { &bioscd, &biosdisk, -#if defined(LOADER_NFS_SUPPORT) || defined(LOADER_TFTP_SUPPORT) || defined(LOADER_HTTP_SUPPORT) +#if defined(LOADER_NFS_SUPPORT) || defined(LOADER_TFTP_SUPPORT) || \ + defined(LOADER_HTTP_SUPPORT) &pxedisk, #endif NULL }; +#ifdef LOADER_HTTP_SUPPORT +/* free as much as possible memory, by removing unused by PXE filesystems */ +#undef LOADER_EXT2_SUPPORT +#undef LOADER_DOS_SUPPORT +#undef LOADER_CD9660_SUPPORT +#undef LOADER_SPLITFS_SUPPORT +#undef LOADER_NFS_SUPPORT +#undef LOADER_TFTP_SUPPORT +#else +#define LOADER_NFS_SUPPORT +#endif + struct fs_ops *file_system[] = { &ufs_fsops, +#ifdef LOADER_EXT2_SUPPORT &ext2fs_fsops, +#endif +#ifdef LOADER_DOS_SUPPORT &dosfs_fsops, +#endif +#ifdef LOADER_CD9660_SUPPORT &cd9660_fsops, +#endif +#ifdef LOADER_SPLITFS_SUPPORT &splitfs_fsops, +#endif #ifdef LOADER_GZIP_SUPPORT &gzipfs_fsops, #endif @@ -76,7 +101,7 @@ &tftp_fsops, #endif #ifdef LOADER_HTTP_SUPPORT -/* &http_fsops, */ + &http_fsops, #endif NULL }; @@ -88,14 +113,18 @@ */ extern struct file_format i386_elf; extern struct file_format i386_elf_obj; +#ifdef LOADER_AMD64_ELF_SUPPORT extern struct file_format amd64_elf; extern struct file_format amd64_elf_obj; +#endif struct file_format *file_formats[] = { &i386_elf, &i386_elf_obj, +#ifdef LOADER_AMD64_ELF_SUPPORT &amd64_elf, &amd64_elf_obj, +#endif NULL }; @@ -111,7 +140,9 @@ struct console *consoles[] = { &vidconsole, +#ifdef LOADER_COMCONSOLE_SUPPORT &comconsole, +#endif &nullconsole, NULL }; ==== //depot/projects/soc2007/taleks-pxe_http/loader_mod/main.c#2 (text+ko) ==== @@ -41,15 +41,18 @@ #include "libi386/libi386.h" #include "btxv86.h" +#ifdef PXE_MORE #include "pxe_arp.h" #include "pxe_connection.h" #include "pxe_dns.h" #include "pxe_filter.h" +#include "pxe_http.h" #include "pxe_icmp.h" #include "pxe_ip.h" #include "pxe_sock.h" #include "pxe_tcp.h" #include "pxe_udp.h" +#endif #define KARGS_FLAGS_CD 0x1 #define KARGS_FLAGS_PXE 0x2 @@ -98,8 +101,16 @@ */ bios_getmem(); +#if defined(LOADER_HTTP_SUPPORT) || defined (LOADER_TFTP_SUPPORT) || \ + defined(LOADER_NFS_SUPPORT) + /* 0x8d000-0x9f800 memory area is used by UNDI/BC data/code segments + * and PXE stack + */ + setheap((void *)end, 0x8d000); +#else setheap((void *)end, (void *)bios_basemem); - +#endif + /* * XXX Chicken-and-egg problem; we want to have console output early, but some * console attributes may depend on reading from eg. the boot device, which we @@ -281,6 +292,7 @@ } /* added for pxe_http */ +#ifdef PXE_MORE static int command_route(int argc, char *argv[]) { @@ -538,8 +550,6 @@ static int command_fetch(int argc, char *argv[]) { - PXE_IPADDR ip; - if (argc == 1) { printf("usage: fetch server/path/to/file.ext\n"); return (CMD_OK); @@ -558,7 +568,7 @@ } /* retrieve all file */ - pxe_fetch(server_name, filename, 0, 0); + pxe_fetch(server_name, filename, 0LL, 0L); return (CMD_OK); } @@ -616,6 +626,7 @@ return (CMD_OK); } /* pxe_http add end */ +#endif /* ISA bus access functions for PnP, derived from */ static int ==== //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#14 (text+ko) ==== @@ -29,7 +29,6 @@ #include "pxe_arp.h" #include "pxe_await.h" -#include "pxe_conv.h" #include "pxe_core.h" #include "pxe_mem.h" @@ -61,11 +60,11 @@ pxe_memset(arp_table, 0, sizeof(arp_table)); /* filling packet_to_send, it will not change ever */ - packet_to_send.hdr.hwtype =le2be16(ETHER_TYPE); - packet_to_send.hdr.ptype = le2be16(PXE_PTYPE_IP); + packet_to_send.hdr.hwtype =htons(ETHER_TYPE); + packet_to_send.hdr.ptype = htons(PXE_PTYPE_IP); packet_to_send.hdr.hsize = 6; /* Ethernet MAC size */ packet_to_send.hdr.psize = 4; /* ip4 size */ - packet_to_send.hdr.operation = le2be16(PXE_ARPOP_REQUEST); + packet_to_send.hdr.operation = htons(PXE_ARPOP_REQUEST); /* filling source related data: client ip & MAC */ pxe_memcpy(pxe_get_mymac(), packet_to_send.body.src_hwaddr, 6); @@ -110,6 +109,7 @@ return (NULL); } +#ifdef PXE_MORE /* pxe_arp_stats() - show arp current table state * in/out: * none @@ -138,7 +138,7 @@ } } - +#endif /* * pxe_arp_protocol() - process received arp packet, this function is called in * style of pxe_protocol_call function type, but last @@ -157,7 +157,7 @@ #endif PXE_ARP_PACK_DATA *arp_reply = (PXE_ARP_PACK_DATA *)pack->raw_data; - if (arp_reply->hdr.operation == le2be16(PXE_ARPOP_REQUEST) ) { + if (arp_reply->hdr.operation == htons(PXE_ARPOP_REQUEST) ) { uint8_t *mac_src = arp_reply->body.src_hwaddr; uint8_t *mac_dst = arp_reply->body.target_hwaddr; @@ -198,7 +198,7 @@ packet_to_send.body.target_paddr = arp_reply->body.src_paddr; - packet_to_send.hdr.operation = le2be16(PXE_ARPOP_REPLY); + packet_to_send.hdr.operation = htons(PXE_ARPOP_REPLY); PXE_PACKET pack; @@ -220,20 +220,20 @@ /* cleaning packet_to_send back to initiakl state */ pxe_memset(packet_to_send.body.target_hwaddr, 0xff, 6); - packet_to_send.hdr.operation = le2be16(PXE_ARPOP_REQUEST); + packet_to_send.hdr.operation = htons(PXE_ARPOP_REQUEST); } /* we may cache information about packet sender */ #ifdef PXE_ARP_SNIFF /* just to skip operation filter below */ - arp_reply->hdr.operation = le2be16(PXE_ARPOP_REPLY); + arp_reply->hdr.operation = htons(PXE_ARPOP_REPLY); #else return (0); #endif } /* we don't need anything except replies on that stage */ - if (arp_reply->hdr.operation != le2be16(PXE_ARPOP_REPLY) ) + if (arp_reply->hdr.operation != htons(PXE_ARPOP_REPLY) ) return (0); /* if arp_usage exceeds MAX_ARP_ENTRIES, occurs rewriting of earlier @@ -376,17 +376,17 @@ if (res != NULL) return (res); - -/* pxe_core_exclusive(PXE_PROTOCOL_ARP); */ - +#ifdef PXE_EXCLUSIVE + pxe_core_exclusive(PXE_PROTOCOL_ARP); +#endif PXE_ARP_WAIT_DATA wait_data; wait_data.ip = ip; wait_data.mac = NULL; pxe_await(pxe_arp_await, PXE_MAX_ARP_TRY, PXE_TIME_TO_DIE, &wait_data); - -/* pxe_core_exclusive(0); */ - +#ifdef PXE_EXCLUSIVE + pxe_core_exclusive(0); +#endif return (wait_data.mac); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_buffer.c#8 (text+ko) ==== @@ -30,6 +30,31 @@ #include "pxe_buffer.h" #include "pxe_mem.h" +#ifdef PXE_POOL_SLOTS +/* statically allocated space, used for buffer allocating */ +static uint8_t send_pool[PXE_DEFAULT_SEND_BUFSIZE * PXE_POOL_SLOTS]; +static uint8_t recv_pool[PXE_DEFAULT_RECV_BUFSIZE * PXE_POOL_SLOTS]; +/* pool slot usage 0 - unused, 1 - used */ +static uint8_t send_pool_slots[PXE_POOL_SLOTS]; +static uint8_t recv_pool_slots[PXE_POOL_SLOTS]; + +/* pxe_buffer_init() - initializes slots for statically allocated buffers + * in/ out: + * none + */ +void +pxe_buffer_init() +{ + + int slot = 0; + + for ( ; slot < PXE_POOL_SLOTS; ++slot) { + send_pool_slots[slot] = 0; + recv_pool_slots[slot] = 0; + } +} +#endif + /* pxe_buffer_write() - write data to buffer, if possible * in: * buf - pointer to buffer structure @@ -187,6 +212,147 @@ return (buffer->bufleft); } +#ifdef PXE_POOL_SLOTS +int +alloc_free_slot(uint8_t *slots, int slot_count) +{ + int slot = 0; + + for ( ; slot < slot_count; ++slot) + if (slots[slot] == 0) { + slots[slot] = 1; + return (slot); + } + + return (-1); +} + +/* pxe_buffer_memalloc() - allocates memory for buffer + * in: + * buffer - pointer to buffer structure + * size - bytes to allocate + * out: + * 0 - failed + * 1 - success + */ +int +pxe_buffer_memalloc(PXE_BUFFER *buffer, uint16_t size) +{ + + if (buffer == NULL) { +#ifdef PXE_DEBUG + printf("pxe_buffer_memalloc(): NULL buffer\n"); +#endif + return (0); + } + + if (buffer->data != NULL) { + /* buffer has same size */ + if (buffer->bufsize == size) + return (1); + + /* theoretically we never must get here, cause of + * current method of allocating buffers for sockets. + */ + printf("pxe_buffer_memalloc(): Unhandled alloc case.\n"); + return (0); + } + + int slot = -1; + uint8_t *data = NULL; + + switch (size) { + case PXE_DEFAULT_RECV_BUFSIZE: + slot = alloc_free_slot(recv_pool_slots, PXE_POOL_SLOTS); + data = recv_pool + slot * size; + break; + + case PXE_DEFAULT_SEND_BUFSIZE: + slot = alloc_free_slot(send_pool_slots, PXE_POOL_SLOTS); + data = send_pool + slot * size; + break; + + default: + printf("pxe_buffer_memalloc(): unsupported size (%u bytes).\n", + size); + break; + } + + if (slot == -1) /* failed to find free slot */ + return (0); + + buffer->bufsize = size; + buffer->bufleft = size; + buffer->fstart = 0; + buffer->fend = size; + buffer->data = data; + +#ifdef PXE_DEBUG_HELL + printf("pxe_buffer_memalloc(): buffer 0x%x, data 0x%x, bufleft %u.\n", + buffer, buffer->data, buffer->bufleft + ); +#endif + return (1); +} + +/* pxe_buffer_memfree() - release memory used by buffer >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 31 16:45:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B84E116A46B; Tue, 31 Jul 2007 16:45:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7D09016A468 for ; Tue, 31 Jul 2007 16:45:44 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 63AC813C46E for ; Tue, 31 Jul 2007 16:45:44 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VGjiId060632 for ; Tue, 31 Jul 2007 16:45:44 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VGjhcp060628 for perforce@freebsd.org; Tue, 31 Jul 2007 16:45:43 GMT (envelope-from zec@FreeBSD.org) Date: Tue, 31 Jul 2007 16:45:43 GMT Message-Id: <200707311645.l6VGjhcp060628@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124430 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 16:45:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=124430 Change 124430 by zec@zec_tpx32 on 2007/07/31 16:45:43 Probably a futile optimization experiment: implement a simple private memory allocator aimed at reducing TLB trashing by placing all vnet data on 4M superpage(s). Unlike on FBSD 4.11, I couldn't observe any performance gains by using such tricks, so either all malloc()ed data in the kernel already now automagically ends up on superpages, or the overhead of TLB trashing is so low that it is lost in other noise... Nevertheless, in order not to loose this code, I'm submitting it now for possible later experimentation. For now, the code is commented out by default. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#28 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#28 (text+ko) ==== @@ -72,6 +72,44 @@ static int vnet_mod_constructor(struct vnet_modlink *); static int vnet_mod_destructor(struct vnet_modlink *); +#ifdef VI_PREALLOC_SIZE +/* + * A private memory allocator can be enabled by setting VI_PREALLOC_SIZE + * to amount of memory (in bytes) to be reserved for the allocator at + * boot time. This pool is guaranteed to reside on a 4M superpage(s) on + * i386 and amd64, thus potentially reducing TLB trashing. + * + * So far I couldn't observe any significant performance impact of using + * this allocator vs. the standard malloc(), whereas in FreeBSD 4.11 + * days I recall using "uninitialized data" storage vs. malloc() would + * be an instant win... Is it possible that these days all malloc'ed + * kernel storage is automagically placed on 4M superpages, so that this + * effort is redundant? Who knows... Therefore this code is disabled by + * default, so vi_alloc() and vi_free() simply resolve to standard + * malloc() and free(). + */ + +static void *vi_malloc(unsigned long, struct malloc_type *, int); +static void vi_free(void *, struct malloc_type *); + +struct vi_mtrack { + LIST_ENTRY(vi_mtrack) vmt_le; + char *vmt_addr; + size_t vmt_size; + int vmt_flags; +}; + +static char vi_mpool[VI_PREALLOC_SIZE]; +static struct uma_zone *vi_mtrack_zone; +static LIST_HEAD(, vi_mtrack) vi_mem_free_head; +static LIST_HEAD(, vi_mtrack) vi_mem_alloc_head; +static int vi_mpool_fail_cnt = 0; +#else +#define vi_malloc(addr, type, flags) malloc((addr), (type), (flags)) +#define vi_free(addr, type) free((addr), (type)) +#endif /* VI_PREALLOC_SIZE */ + +/* XXX those must vanish */ struct vimage vimage_0; struct vprocg vprocg_0; struct vcpu vcpu_0; @@ -82,7 +120,7 @@ struct vprocg_list_head vprocg_head; struct vcpu_list_head vcpu_head; -int last_vi_id = 0; +static int last_vi_id = 0; static TAILQ_HEAD(vnet_modlink_head, vnet_modlink) vnet_modlink_head; @@ -105,7 +143,7 @@ break; if (vml != NULL) panic("attempt to register an already registered vnet module"); - vml = malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); + vml = vi_malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); /* * XXX we support only statically assigned module IDs at the time. @@ -149,7 +187,7 @@ VNET_ITERLOOP_END(); TAILQ_REMOVE(&vnet_modlink_head, vml, vml_mod_le); - free(vml, M_VIMAGE); + vi_free(vml, M_VIMAGE); } struct vimage *vnet2vimage(vnet) @@ -451,27 +489,28 @@ */ /* A brute force check whether there's enough mem for a new vimage */ - vip = malloc(127*1024, M_VIMAGE, M_NOWAIT); /* XXX aaaargh... */ + vip = malloc(512*1024, M_VIMAGE, M_NOWAIT); /* XXX aaaargh... */ if (vip == NULL) goto vi_alloc_done; + free(vip, M_VIMAGE); - vip = realloc(vip, sizeof(struct vimage), M_VIMAGE, M_NOWAIT | M_ZERO); + vip = vi_malloc(sizeof(struct vimage), M_VIMAGE, M_NOWAIT | M_ZERO); if (vip == NULL) panic("vi_alloc: malloc failed for vimage \"%s\"\n", name); vip->vi_id = last_vi_id++; - vnet = malloc(sizeof(struct vnet), M_VNET, M_NOWAIT | M_ZERO); + vnet = vi_malloc(sizeof(struct vnet), M_VNET, M_NOWAIT | M_ZERO); if (vnet == NULL) panic("vi_alloc: malloc failed for vnet \"%s\"\n", name); vip->v_vnet = vnet; vnet->vnet_magic_n = VNET_MAGIC_N; - vprocg = malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT | M_ZERO); + vprocg = vi_malloc(sizeof(struct vprocg), M_VPROCG, M_NOWAIT | M_ZERO); if (vprocg == NULL) panic("vi_alloc: malloc failed for vprocg \"%s\"\n", name); vip->v_procg = vprocg; - vcpu = malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT | M_ZERO); + vcpu = vi_malloc(sizeof(struct vcpu), M_VCPU, M_NOWAIT | M_ZERO); if (vcpu == NULL) panic ("vi_alloc: malloc failed for vcpu \"%s\"\n", name); vip->v_cpu = vcpu; @@ -556,16 +595,16 @@ /* hopefully, we are finally OK to free the vnet container itself! */ vnet->vnet_magic_n = -1; - free(vnet, M_VNET); + vi_free(vnet, M_VNET); LIST_REMOVE(vprocg, vprocg_le); - free(vprocg, M_VPROCG); + vi_free(vprocg, M_VPROCG); LIST_REMOVE(vcpu, vcpu_le); - free(vcpu, M_VCPU); + vi_free(vcpu, M_VCPU); LIST_REMOVE(vip, vi_le); - free(vip, M_VIMAGE); + vi_free(vip, M_VIMAGE); } static int vnet_mod_constructor(vml) @@ -574,10 +613,10 @@ const struct vnet_modinfo *vmi = vml->vml_modinfo; if (vml->vml_modinfo->vmi_struct_size) { - void *mem = malloc(vmi->vmi_struct_size, M_VNET, M_NOWAIT); + void *mem = vi_malloc(vmi->vmi_struct_size, M_VNET, + M_NOWAIT | M_ZERO); if (mem == NULL) /* XXX should return error, not panic */ panic("vi_alloc: malloc for %s\n", vmi->vmi_name); - bzero(mem, vmi->vmi_struct_size); curvnet->mod_data[vmi->vmi_id] = mem; } @@ -596,7 +635,7 @@ if (curvnet->mod_data[vml->vml_modinfo->vmi_id] == NULL) panic("vi_destroy: %s\n", vml->vml_modinfo->vmi_name); - free(curvnet->mod_data[vml->vml_modinfo->vmi_id], + vi_free(curvnet->mod_data[vml->vml_modinfo->vmi_id], M_VNET); curvnet->mod_data[vml->vml_modinfo->vmi_id] = NULL; } @@ -607,6 +646,23 @@ static void vi_init(void *unused) { +#ifdef VI_PREALLOC_SIZE + struct vi_mtrack *vmt; + + /* Initialize our private memory allocator */ + LIST_INIT(&vi_mem_free_head); + LIST_INIT(&vi_mem_alloc_head); + vi_mtrack_zone = uma_zcreate("vi_mtrack", sizeof(struct vi_mtrack), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); + vmt = uma_zalloc(vi_mtrack_zone, M_NOWAIT); + vmt->vmt_addr = vi_mpool; + vmt->vmt_size = VI_PREALLOC_SIZE; + LIST_INSERT_HEAD(&vi_mem_free_head, vmt, vmt_le); +#endif /* VI_PREALLOC_SIZE */ + + /* vnet module list is both forward and reverse traversable */ + TAILQ_INIT(&vnet_modlink_head); + LIST_INIT(&vimage_head); LIST_INIT(&vnet_head); LIST_INIT(&vprocg_head); @@ -624,8 +680,6 @@ vnet_0.vnet_magic_n = VNET_MAGIC_N; - TAILQ_INIT(&vnet_modlink_head); - /* We MUST clear curvnet in vi_init_done before going SMP. */ curvnet = &vnet_0; } @@ -639,6 +693,77 @@ SYSINIT(vimage, SI_SUB_VIMAGE, SI_ORDER_FIRST, vi_init, NULL) SYSINIT(vimage_done, SI_SUB_VIMAGE_DONE, SI_ORDER_FIRST, vi_init_done, NULL) +#ifdef VI_PREALLOC_SIZE + +void * +vi_malloc(unsigned long size, struct malloc_type *type, int flags) +{ + void *addr; + struct vi_mtrack *vmt = NULL; + struct vi_mtrack *vmt_iter; + + /* Attempt to find a free chunk in our private pool */ + LIST_FOREACH(vmt_iter, &vi_mem_free_head, vmt_le) + if (vmt_iter->vmt_size >= size && + (vmt == NULL || vmt_iter->vmt_size < vmt->vmt_size)) { + vmt = vmt_iter; + /* Exact fit is an optimal choice, we are done. */ + if (vmt_iter->vmt_size == size) + break; + } + + /* Not (enough) free space in our pool, resort to malloc() */ + if (vmt == NULL) { + if (vi_mpool_fail_cnt == 0) + printf("vi_mpool exhausted, consider increasing VI_PREALLOC_SIZE\n"); + vi_mpool_fail_cnt++; + addr = malloc(size, type, flags); + return addr; + } + + addr = vmt->vmt_addr; + if (vmt->vmt_size == size) { + /* Move the descriptor from free to allocated list */ + LIST_REMOVE(vmt, vmt_le); + LIST_INSERT_HEAD(&vi_mem_alloc_head, vmt, vmt_le); + } else { + /* Shrink the existing free space block */ + vmt->vmt_addr += size; + vmt->vmt_size -= size; + + /* Create a new descriptor and place it on allocated list */ + vmt = uma_zalloc(vi_mtrack_zone, M_NOWAIT); + vmt->vmt_addr = addr; + vmt->vmt_size = size; + LIST_INSERT_HEAD(&vi_mem_alloc_head, vmt, vmt_le); + } + + bzero(addr, size); + return addr; +} + +void +vi_free(void *addr, struct malloc_type *type) +{ + struct vi_mtrack *vmt; + + /* Attempt to find the chunk in our allocated pool */ + LIST_FOREACH(vmt, &vi_mem_alloc_head, vmt_le) + if (vmt->vmt_addr == addr) + break; + + /* Not found in our private pool, resort to free() */ + if (vmt == NULL) { + free(addr, type); + return; + } + + /* Move the descriptor from allocated to free list */ + LIST_REMOVE(vmt, vmt_le); + LIST_INSERT_HEAD(&vi_mem_free_head, vmt, vmt_le); +} +#endif /* VI_PREALLOC_SIZE */ + #ifdef DDB static void db_vnet_ptr(void *arg) From owner-p4-projects@FreeBSD.ORG Tue Jul 31 17:52:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 402E516A47B; Tue, 31 Jul 2007 17:52:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A2D9716A46B; Tue, 31 Jul 2007 17:52:01 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (arm132.internetdsl.tpnet.pl [83.17.198.132]) by mx1.freebsd.org (Postfix) with ESMTP id 39E4713C461; Tue, 31 Jul 2007 17:52:01 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id BE16A487F0; Tue, 31 Jul 2007 19:51:58 +0200 (CEST) Received: from localhost (154.81.datacomsa.pl [195.34.81.154]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 4CFF345B26; Tue, 31 Jul 2007 19:51:53 +0200 (CEST) Date: Tue, 31 Jul 2007 19:51:05 +0200 From: Pawel Jakub Dawidek To: Ulf Lilleengen Message-ID: <20070731175105.GU1092@garage.freebsd.pl> References: <200707301047.l6UAlD8L092463@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="f0Ums9VvOMUG7syy" Content-Disposition: inline In-Reply-To: <200707301047.l6UAlD8L092463@repoman.freebsd.org> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 7.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham version=3.0.4 Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 17:52:02 -0000 --f0Ums9VvOMUG7syy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Jul 30, 2007 at 10:47:13AM +0000, Ulf Lilleengen wrote: > http://perforce.freebsd.org/chv.cgi?CH=3D124344 >=20 > Change 124344 by lulf@lulf_carrot on 2007/07/30 10:47:07 >=20 > - Sleep after sending create requests in userland, since the event might > not yet be processed. If there are noteable issues with this, which is > a quite unlikely to happen, I have a patch to support suspending > of the userland process until the events are executed, but it's only > required in this special case. Sleeping that way is, as you noted, not very nice... Can't you put a loop below errstr check, which will wait for drive creation. You could sleep for eg. 0.1s between checks. Also not very nice, but even 2s may be too low on very loaded systems. > Affected files ... >=20 > .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#15 edit >=20 > Differences ... >=20 > =3D=3D=3D=3D //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinu= m.c#15 (text+ko) =3D=3D=3D=3D >=20 > @@ -430,6 +430,8 @@ > gctl_ro_param(req, "plexes", sizeof(int), &plexes); > gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); > errstr =3D gctl_issue(req); > + sleep(2); /* Wait for events to be executed. XXX: not very nice... but= =20 > + we won't have to modify event system for just his issue. */ > if (errstr !=3D NULL) > warnx("error creating drive: %s", errstr); > gctl_free(req); --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --f0Ums9VvOMUG7syy Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFGr3aJForvXbEpPzQRAt4eAKCu+BQmiU9H2D9wEmWjF4k8NUZaMgCfS1UV 0e9SmM5v60lK+5J9wS+2YGk= =N1Xm -----END PGP SIGNATURE----- --f0Ums9VvOMUG7syy-- From owner-p4-projects@FreeBSD.ORG Tue Jul 31 19:59:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1EEB516A419; Tue, 31 Jul 2007 19:59:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B049616A417 for ; Tue, 31 Jul 2007 19:59:50 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 99F5913C45E for ; Tue, 31 Jul 2007 19:59:50 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VJxoIR089148 for ; Tue, 31 Jul 2007 19:59:50 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VJxorH089145 for perforce@freebsd.org; Tue, 31 Jul 2007 19:59:50 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 31 Jul 2007 19:59:50 GMT Message-Id: <200707311959.l6VJxorH089145@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124435 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 19:59:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=124435 Change 124435 by lulf@lulf_carrot on 2007/07/31 19:59:35 - Run a loop with a small sleep instead of a "static" sleep count. Noted by: pjd@ Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#16 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#16 (text+ko) ==== @@ -430,10 +430,14 @@ gctl_ro_param(req, "plexes", sizeof(int), &plexes); gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); errstr = gctl_issue(req); - sleep(2); /* Wait for events to be executed. XXX: not very nice... but - we won't have to modify event system for just his issue. */ - if (errstr != NULL) + if (errstr != NULL) { warnx("error creating drive: %s", errstr); + gctl_free(req); + free(drivename); + usleep(100000); /* sleep for 0.1s. */ + printf("retrying...\n"); + return (create_drive(device)); + } gctl_free(req); return (drivename); } From owner-p4-projects@FreeBSD.ORG Tue Jul 31 20:00:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4522116A49E; Tue, 31 Jul 2007 20:00:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A00816A496 for ; Tue, 31 Jul 2007 20:00:17 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from decibel.pvv.ntnu.no (unknown [IPv6:2001:700:300:1900:2e0:81ff:fe2d:e9b2]) by mx1.freebsd.org (Postfix) with ESMTP id 4AFD213C480 for ; Tue, 31 Jul 2007 20:00:16 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from tvilling.pvv.ntnu.no ([129.241.210.198] helo=carrot.studby.ntnu.no ident=lulf) by decibel.pvv.ntnu.no with esmtp (Exim 4.60) (envelope-from ) id 1IFxt2-0002qe-Ep for perforce@FreeBSD.org; Tue, 31 Jul 2007 22:00:11 +0200 Date: Tue, 31 Jul 2007 21:59:37 +0200 From: Ulf Lilleengen Message-ID: <20070731195937.GA1379@carrot.studby.ntnu.no> References: <200707301047.l6UAlD8L092463@repoman.freebsd.org> <20070731175105.GU1092@garage.freebsd.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070731175105.GU1092@garage.freebsd.pl> User-Agent: Mutt/1.5.16 (2007-06-09) Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124344 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 20:00:17 -0000 On Tue, Jul 31, 2007 at 07:51:05PM +0200, Pawel Jakub Dawidek wrote: > On Mon, Jul 30, 2007 at 10:47:13AM +0000, Ulf Lilleengen wrote: > > http://perforce.freebsd.org/chv.cgi?CH=124344 > > > > Change 124344 by lulf@lulf_carrot on 2007/07/30 10:47:07 > > > > - Sleep after sending create requests in userland, since the event might > > not yet be processed. If there are noteable issues with this, which is > > a quite unlikely to happen, I have a patch to support suspending > > of the userland process until the events are executed, but it's only > > required in this special case. > > Sleeping that way is, as you noted, not very nice... Can't you put a > loop below errstr check, which will wait for drive creation. You could > sleep for eg. 0.1s between checks. Also not very nice, but even 2s may > be too low on very loaded systems. Hmm, yes I agree. Just committed a fix that does this. I'm more and more considering the suspending patch :) Anyway.. thanks. -- Ulf Lilleengen From owner-p4-projects@FreeBSD.ORG Tue Jul 31 20:16:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A84A16A41B; Tue, 31 Jul 2007 20:16:11 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0E27C16A418 for ; Tue, 31 Jul 2007 20:16:11 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ECBAB13C458 for ; Tue, 31 Jul 2007 20:16:10 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VKGAxQ091444 for ; Tue, 31 Jul 2007 20:16:10 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VKGAcs091441 for perforce@freebsd.org; Tue, 31 Jul 2007 20:16:10 GMT (envelope-from lulf@FreeBSD.org) Date: Tue, 31 Jul 2007 20:16:10 GMT Message-Id: <200707312016.l6VKGAcs091441@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124436 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 20:16:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124436 Change 124436 by lulf@lulf_carrot on 2007/07/31 20:16:07 - Change copyright style, put holders on seprate lines. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#17 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#31 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#19 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#22 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#24 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#17 (text+ko) ==== @@ -1,5 +1,7 @@ /* - * Copyright (c) 2004 Lukas Ertl, 2005 Chris Jones, 2007 Ulf Lilleengen + * Copyright (c) 2004 Lukas Ertl + * Copyright (c) 2005 Chris Jones + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Portions of this software were developed for the FreeBSD Project ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#31 (text+ko) ==== @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen + * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2007, Lukas Ertl, 2007 Ulf Lilleengen + * Copyright (c) 2007 Lukas Ertl + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#19 (text+ko) ==== @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen + * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#22 (text+ko) ==== @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen + * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Redistribution and use in source and binary forms, with or without ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#24 (text+ko) ==== @@ -1,5 +1,6 @@ /*- - * Copyright (c) 2004, 2007 Lukas Ertl, 2007 Ulf Lilleengen + * Copyright (c) 2004, 2007 Lukas Ertl + * Copyright (c) 2007 Ulf Lilleengen * Copyright (c) 1997, 1998, 1999 * Nan Yang Computer Services Limited. All rights reserved. * From owner-p4-projects@FreeBSD.ORG Tue Jul 31 21:46:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D55A316A41A; Tue, 31 Jul 2007 21:46:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A50C016A418 for ; Tue, 31 Jul 2007 21:46:03 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 923CC13C442 for ; Tue, 31 Jul 2007 21:46:03 +0000 (UTC) (envelope-from thompsa@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VLk32m007492 for ; Tue, 31 Jul 2007 21:46:03 GMT (envelope-from thompsa@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VLk316007489 for perforce@freebsd.org; Tue, 31 Jul 2007 21:46:03 GMT (envelope-from thompsa@freebsd.org) Date: Tue, 31 Jul 2007 21:46:03 GMT Message-Id: <200707312146.l6VLk316007489@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thompsa@freebsd.org using -f From: Andrew Thompson To: Perforce Change Reviews Cc: Subject: PERFORCE change 124440 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 21:46:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=124440 Change 124440 by thompsa@thompsa_heff on 2007/07/31 21:46:02 Drop in the latest state of the ipw changes. The driver still has stability problems. Affected files ... .. //depot/projects/wifi/sys/dev/ipw/if_ipw.c#24 edit .. //depot/projects/wifi/sys/dev/ipw/if_ipwreg.h#5 edit .. //depot/projects/wifi/sys/dev/ipw/if_ipwvar.h#7 edit Differences ... ==== //depot/projects/wifi/sys/dev/ipw/if_ipw.c#24 (text+ko) ==== @@ -1,5 +1,3 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ - /*- * Copyright (c) 2004-2006 * Damien Bergamini . All rights reserved. @@ -83,7 +81,7 @@ #ifdef IPW_DEBUG #define DPRINTF(x) do { if (ipw_debug > 0) printf x; } while (0) #define DPRINTFN(n, x) do { if (ipw_debug >= (n)) printf x; } while (0) -int ipw_debug = 4; +int ipw_debug = 40; SYSCTL_INT(_debug, OID_AUTO, ipw, CTLFLAG_RW, &ipw_debug, 0, "ipw debug level"); #else #define DPRINTF(x) @@ -347,6 +345,7 @@ c->ic_ieee = i; } } + DPRINTF(("%s: added %d channels\n", __func__, ic->ic_nchans)); /* check support for radio transmitter switch in EEPROM */ if (!(ipw_read_prom_word(sc, IPW_EEPROM_RADIO) & 8)) @@ -931,6 +930,8 @@ */ if (sc->flags & IPW_FLAG_ASSOCIATED) ieee80211_beacon_miss(ic); + + sc->sc_state_timer = 3; /* fw is still alive */ break; case IPW_STATE_SCAN_COMPLETE: @@ -952,7 +953,6 @@ /* Only update the scan module if we were actaully scanning */ if (sc->fw_state == IPW_FW_SCANNING) { - sc->sc_scan_timer = 0; sc->flags &= ~IPW_FLAG_SCANNING; IPW_STATE_END(sc, IPW_FW_SCANNING); ieee80211_scan_done(ic); @@ -1697,8 +1697,8 @@ sc->sc_rfkill_timer = 2; } } - if (sc->sc_scan_timer > 0) { - if (--sc->sc_scan_timer == 0) { + if (sc->sc_state_timer > 0) { + if (--sc->sc_state_timer == 0) { if (sc->flags & IPW_FLAG_SCANNING) { if_printf(ifp, "scan stuck\n"); taskqueue_enqueue(sc->sc_tq, &sc->sc_restarttask); @@ -2033,7 +2033,11 @@ * * XXX should get from lladdr instead of arpcom but that's more work */ - /* XXX _SET_MAC_ADDRESS */ + DPRINTF(("Setting MAC address to %6D\n", ic->ic_myaddr, ":")); + error = ipw_cmd(sc, IPW_CMD_SET_MAC_ADDRESS, ic->ic_myaddr, + IEEE80211_ADDR_LEN); + if (error != 0) + return error; config.flags = htole32(IPW_CFG_BSS_MASK | IPW_CFG_IBSS_MASK | IPW_CFG_PREAMBLE_AUTO | IPW_CFG_802_1x_ENABLE); @@ -2100,16 +2104,7 @@ if (error != 0) return error; -#ifdef IPW_DEBUG - if (ipw_debug > 0) { - printf("Setting ESSID to "); - ieee80211_print_essid(ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); - printf("\n"); - } -#endif - error = ipw_cmd(sc, IPW_CMD_SET_ESSID, ic->ic_des_ssid[0].ssid, - ic->ic_des_ssid[0].len); + error = ipw_setbssid(sc, NULL); if (error != 0) return error; @@ -2180,6 +2175,7 @@ DPRINTF(("%s: flags 0x%x\n", __func__, sc->flags)); IPW_STATE_BEGIN(sc, IPW_FW_SCANNING); + sc->flags |= IPW_FLAG_SCANNING | IPW_FLAG_HACK; /* NB: IPW_SCAN_DO_NOT_ASSOCIATE does not work (we set it anyway) */ error = ipw_setscanopts(sc, sc->chanmask, IPW_SCAN_DO_NOT_ASSOCIATE); @@ -2196,13 +2192,6 @@ goto done; /* - * With 100ms/channel dwell time and a max of 14 channels - * 5 seconds is generous. - */ - sc->sc_scan_timer = 5; /* secs to complete */ - sc->flags |= IPW_FLAG_SCANNING | IPW_FLAG_HACK; - - /* * NB: the adapter may be disabled on association lost; * if so just re-enable it to kick off scanning. */ @@ -2214,9 +2203,8 @@ error = ipw_enable(sc); done: if (error != 0) { - sc->sc_scan_timer = 0; sc->flags &= ~(IPW_FLAG_SCANNING | IPW_FLAG_HACK); - IPW_STATE_BEGIN(sc, IPW_FW_SCANNING); + IPW_STATE_END(sc, IPW_FW_SCANNING); } return (error); } @@ -2424,7 +2412,7 @@ * get us going again. */ if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL || force) - ieee80211_new_state(ic, IEEE80211_S_SCAN, -1); + ieee80211_new_state(ic, IEEE80211_S_SCAN, 0); } else ieee80211_new_state(ic, IEEE80211_S_RUN, -1); @@ -2467,8 +2455,9 @@ sc->sc_tx_timer = 0; sc->sc_rfkill_timer = 0; - sc->sc_scan_timer = 0; + sc->sc_state_timer = 0; sc->flags &= ~(IPW_FLAG_SCANNING | IPW_FLAG_ASSOCIATED); + sc->fw_state = IPW_FW_IDLE; ieee80211_new_state(ic, IEEE80211_S_INIT, -1); } ==== //depot/projects/wifi/sys/dev/ipw/if_ipwreg.h#5 (text+ko) ==== ==== //depot/projects/wifi/sys/dev/ipw/if_ipwvar.h#7 (text+ko) ==== @@ -174,7 +174,6 @@ int sc_tx_timer; int sc_rfkill_timer;/* poll for rfkill change */ - int sc_scan_timer; /* scan request timeout */ int sc_state_timer; #define IPW_SCAN_START (1 << 0) From owner-p4-projects@FreeBSD.ORG Tue Jul 31 21:51:11 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 424F816A468; Tue, 31 Jul 2007 21:51:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A20316A41F for ; Tue, 31 Jul 2007 21:51:11 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EBC1C13C428 for ; Tue, 31 Jul 2007 21:51:10 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6VLpA7s007803 for ; Tue, 31 Jul 2007 21:51:10 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6VLpAb5007790 for perforce@freebsd.org; Tue, 31 Jul 2007 21:51:10 GMT (envelope-from gabor@freebsd.org) Date: Tue, 31 Jul 2007 21:51:10 GMT Message-Id: <200707312151.l6VLpAb5007790@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124441 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Jul 2007 21:51:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124441 Change 124441 by gabor@gabor_server on 2007/07/31 21:51:08 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#6 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#6 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.python.mk,v 1.96 2007/07/30 09:40:56 alexbl Exp $ +# $FreeBSD: ports/Mk/bsd.python.mk,v 1.98 2007/07/30 17:52:58 pav Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) @@ -174,7 +174,7 @@ # - Canonical directory name for easy_install egg packages. # default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg # -# PYEASYINSATLL_OSARCH +# PYEASYINSTALL_OSARCH # - Platform identifier for easy_install. # default: -${OPSYS:L}-${_OSRELEASE}-${ARCH} # if PYEASYINSTALL_ARCHDEP is defined. @@ -182,11 +182,11 @@ # PYEASYINSTALL_CMD - Full file path to easy_install command. # default: ${LOCALBASE}/bin/easy_install-${PYTHON_VER} # -# PYEASYINSTALL_INSTALL_ARGS +# PYEASYINSTALL_INSTALLARGS # - Arguments to easy_install command for egg installation. # default: -q -N -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # -# PYEASYINSTALL_UNINSTALL_ARGS +# PYEASYINSTALL_UNINSTALLARGS # - Arguments to easy_install command for egg uninstallation. # default: -q -m -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # From owner-p4-projects@FreeBSD.ORG Wed Aug 1 00:25:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E1AA16A420; Wed, 1 Aug 2007 00:25:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 373D316A418 for ; Wed, 1 Aug 2007 00:25:24 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2BB3E13C4B3 for ; Wed, 1 Aug 2007 00:25:24 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l710PO0C020252 for ; Wed, 1 Aug 2007 00:25:24 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l710PN5j020249 for perforce@freebsd.org; Wed, 1 Aug 2007 00:25:23 GMT (envelope-from peter@freebsd.org) Date: Wed, 1 Aug 2007 00:25:23 GMT Message-Id: <200708010025.l710PN5j020249@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124443 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 00:25:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=124443 Change 124443 by peter@peter_daintree on 2007/08/01 00:25:11 IFC @124442 Affected files ... .. //depot/projects/hammer/etc/rc.d/nscd#1 branch .. //depot/projects/hammer/lib/libarchive/test/main.c#7 integrate .. //depot/projects/hammer/lib/libc/net/name6.c#24 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#14 integrate .. //depot/projects/hammer/share/man/man4/lagg.4#2 integrate .. //depot/projects/hammer/sys/arm/arm/trap.c#21 integrate .. //depot/projects/hammer/sys/arm/at91/at91rm92reg.h#5 integrate .. //depot/projects/hammer/sys/arm/at91/kb920x_machdep.c#8 integrate .. //depot/projects/hammer/sys/arm/at91/ohci_atmelarm.c#3 integrate .. //depot/projects/hammer/sys/arm/conf/KB920X#5 integrate .. //depot/projects/hammer/sys/conf/kern.pre.mk#49 integrate .. //depot/projects/hammer/sys/conf/options.ia64#13 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_hpet.c#8 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_timer.c#17 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.c#21 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic_osm_lib.c#5 integrate .. //depot/projects/hammer/sys/dev/arcmsr/arcmsr.c#13 integrate .. //depot/projects/hammer/sys/dev/bce/if_bce.c#9 integrate .. //depot/projects/hammer/sys/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/hammer/sys/dev/bce/if_bcereg.h#8 integrate .. //depot/projects/hammer/sys/dev/usb/umodem.c#15 integrate .. //depot/projects/hammer/sys/ia64/ia64/db_machdep.c#4 integrate .. //depot/projects/hammer/sys/ia64/ia64/exception.S#10 integrate .. //depot/projects/hammer/sys/ia64/ia64/interrupt.c#26 integrate .. //depot/projects/hammer/sys/ia64/ia64/machdep.c#62 integrate .. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#19 integrate .. //depot/projects/hammer/sys/ia64/ia64/nexus.c#13 integrate .. //depot/projects/hammer/sys/ia64/ia64/pmap.c#60 integrate .. //depot/projects/hammer/sys/ia64/ia64/sapic.c#7 integrate .. //depot/projects/hammer/sys/ia64/include/atomic.h#5 integrate .. //depot/projects/hammer/sys/ia64/include/intr.h#4 integrate .. //depot/projects/hammer/sys/ia64/include/md_var.h#15 integrate .. //depot/projects/hammer/sys/ia64/include/sapicvar.h#4 integrate .. //depot/projects/hammer/sys/net/if_lagg.c#6 integrate .. //depot/projects/hammer/sys/net/if_lagg.h#5 integrate .. //depot/projects/hammer/sys/netinet/tcp_fsm.h#6 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#78 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#71 integrate .. //depot/projects/hammer/sys/netinet/tcp_syncache.c#47 integrate .. //depot/projects/hammer/sys/netinet/tcp_timer.h#13 integrate .. //depot/projects/hammer/sys/netinet/tcp_usrreq.c#48 integrate .. //depot/projects/hammer/sys/netipx/spx_debug.c#6 integrate .. //depot/projects/hammer/sys/netipx/spx_debug.h#5 integrate .. //depot/projects/hammer/sys/pc98/cbus/clock.c#11 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap.c#23 integrate .. //depot/projects/hammer/usr.bin/netstat/ipx.c#7 integrate .. //depot/projects/hammer/usr.sbin/nscd/Makefile#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agent.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agent.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/Makefile.inc#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/group.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/group.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/passwd.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/passwd.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/services.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/agents/services.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/cachelib.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/cachelib.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/cacheplcs.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/cacheplcs.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/config.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/config.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/debug.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/debug.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/hashtable.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/log.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/log.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/mp_rs_query.#1 branch .. //depot/projects/hammer/usr.sbin/nscd/mp_rs_query.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/mp_ws_query.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/mp_ws_query.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/nscd.8#1 branch .. //depot/projects/hammer/usr.sbin/nscd/nscd.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/nscd.conf.5#1 branch .. //depot/projects/hammer/usr.sbin/nscd/nscdcli.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/nscdcli.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/parser.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/parser.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/protocol.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/protocol.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/query.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/query.h#1 branch .. //depot/projects/hammer/usr.sbin/nscd/singletons.c#1 branch .. //depot/projects/hammer/usr.sbin/nscd/singletons.h#1 branch Differences ... ==== //depot/projects/hammer/lib/libarchive/test/main.c#7 (text+ko) ==== @@ -32,7 +32,13 @@ #include #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.7 2007/07/14 17:52:01 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.8 2007/07/31 05:03:27 kientzle Exp $"); + +/* Interix doesn't define these in a standard header. */ +#if __INTERIX__ +extern char *optarg; +extern int optind; +#endif /* Default is to crash and try to force a core dump on failure. */ static int dump_on_failure = 1; @@ -101,6 +107,7 @@ static int skipped_line; void skipping_setup(const char *filename, int line) { + skipped_filename = filename; skipped_line = line; } void ==== //depot/projects/hammer/lib/libc/net/name6.c#24 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.61 2006/07/26 08:35:46 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.62 2007/07/31 16:09:41 bushman Exp $"); #include "namespace.h" #include @@ -118,16 +118,8 @@ #include #include "un-namespace.h" #include "netdb_private.h" -#include "res_config.h" #include "res_private.h" -#ifdef NS_CACHING -#include "nscache.h" -#endif -#ifndef _PATH_HOSTS -#define _PATH_HOSTS "/etc/hosts" -#endif - #ifndef MAXALIASES #define MAXALIASES 10 #endif @@ -153,7 +145,7 @@ } while (0) #define MAPADDRENABLED(flags) \ (((flags) & AI_V4MAPPED) || \ - (((flags) & AI_V4MAPPED_CFG) && _mapped_addr_enabled())) + (((flags) & AI_V4MAPPED_CFG))) union inx_addr { struct in_addr in_addr; @@ -202,14 +194,11 @@ static struct hostent *_hpcopy(struct hostent *, int *); static struct hostent *_hpaddr(int, const char *, void *, int *); +#ifdef INET6 static struct hostent *_hpmerge(struct hostent *, struct hostent *, int *); -#ifdef INET6 static struct hostent *_hpmapv6(struct hostent *, int *); #endif static struct hostent *_hpsort(struct hostent *, res_state); -static struct hostent *_ghbyname(const char *, int, int, int *); -static char *_hgetword(char **); -static int _mapped_addr_enabled(void); static struct hostent *_hpreorder(struct hostent *); static int get_addrselectpolicy(struct policyhead *); @@ -221,325 +210,30 @@ static int comp_dst(const void *, const void *); static int gai_addr2scopetype(struct sockaddr *); -static FILE *_files_open(int *); -static int _files_ghbyname(void *, void *, va_list); -static int _files_ghbyaddr(void *, void *, va_list); -#ifdef YP -static int _nis_ghbyname(void *, void *, va_list); -static int _nis_ghbyaddr(void *, void *, va_list); -#endif -static int _dns_ghbyname(void *, void *, va_list); -static int _dns_ghbyaddr(void *, void *, va_list); -static void _dns_shent(int) __unused; -static void _dns_ehent(void) __unused; -#ifdef ICMPNL -static int _icmp_ghbyaddr(void *, void *, va_list); -#endif /* ICMPNL */ -#ifdef NS_CACHING -static int ipnode_id_func(char *, size_t *, va_list, void *); -static int ipnode_marshal_func(char *, size_t *, void *, va_list, void *); -static int ipnode_unmarshal_func(char *, size_t, void *, va_list, void *); -#endif - -/* Host lookup order if nsswitch.conf is broken or nonexistant */ -static const ns_src default_src[] = { - { NSSRC_FILES, NS_SUCCESS }, - { NSSRC_DNS, NS_SUCCESS }, -#ifdef ICMPNL -#define NSSRC_ICMP "icmp" - { NSSRC_ICMP, NS_SUCCESS }, -#endif - { 0 } -}; - /* - * Check if kernel supports mapped address. - * implementation dependent + * Functions defined in RFC2553 + * getipnodebyname, getipnodebyaddr, freehostent */ -#ifdef __KAME__ -#include -#endif /* __KAME__ */ -static int -_mapped_addr_enabled(void) +struct hostent * +getipnodebyname(const char *name, int af, int flags, int *errp) { - /* implementation dependent check */ -#if defined(__KAME__) && defined(IPV6CTL_MAPPED_ADDR) - int mib[4]; - size_t len; - int val; - - mib[0] = CTL_NET; - mib[1] = PF_INET6; - mib[2] = IPPROTO_IPV6; - mib[3] = IPV6CTL_MAPPED_ADDR; - len = sizeof(val); - if (sysctl(mib, 4, &val, &len, 0, 0) == 0 && val != 0) - return 1; -#endif /* __KAME__ && IPV6CTL_MAPPED_ADDR */ - return 0; -} - -#ifdef NS_CACHING -static int -ipnode_id_func(char *buffer, size_t *buffer_size, va_list ap, - void *cache_mdata) -{ + struct hostent *hp; + union inx_addr addrbuf; res_state statp; - u_long res_options; + u_long options; - const int op_id = 2; - char *name; - int af; - size_t len; - void *src; - - char *p; - size_t desired_size, size; - enum nss_lookup_type lookup_type; - int res = NS_UNAVAIL; - - statp = __res_state(); - res_options = statp->options & (RES_RECURSE | RES_DEFNAMES | - RES_DNSRCH | RES_NOALIASES | RES_USE_INET6); - - lookup_type = (enum nss_lookup_type)cache_mdata; - switch (lookup_type) { - case nss_lt_name: - name = va_arg(ap, char *); - af = va_arg(ap, int); - - size = strlen(name); - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + size + 1; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, name, size + 1); - - res = NS_SUCCESS; + switch (af) { + case AF_INET: +#ifdef INET6 + case AF_INET6: +#endif break; - case nss_lt_id: - src = va_arg(ap, void *); - len = va_arg(ap, size_t); - af = va_arg(ap, int); - - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + - sizeof(size_t) + len; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, &len, sizeof(size_t)); - p += sizeof(size_t); - - memcpy(p, src, len); - - res = NS_SUCCESS; - break; default: - /* should be unreachable */ - return (NS_UNAVAIL); - } - -fin: - *buffer_size = desired_size; - return (res); -} - -static int -ipnode_marshal_func(char *buffer, size_t *buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent *ht; - - struct hostent new_ht; - size_t desired_size, aliases_size, addr_size, size; - char *p, **iter; - - ht = *((struct hostent **)retval); - - desired_size = _ALIGNBYTES + sizeof(struct hostent) + sizeof(char *); - if (ht->h_name != NULL) - desired_size += strlen(ht->h_name) + 1; - - if (ht->h_aliases != NULL) { - aliases_size = 0; - for (iter = ht->h_aliases; *iter; ++iter) { - desired_size += strlen(*iter) + 1; - ++aliases_size; - } - - desired_size += _ALIGNBYTES + - (aliases_size + 1) * sizeof(char *); - } - - if (ht->h_addr_list != NULL) { - addr_size = 0; - for (iter = ht->h_addr_list; *iter; ++iter) - ++addr_size; - - desired_size += addr_size * _ALIGN(ht->h_length); - desired_size += _ALIGNBYTES + (addr_size + 1) * sizeof(char *); - } - - if (desired_size > *buffer_size) { - /* this assignment is here for future use */ - *buffer_size = desired_size; - return (NS_RETURN); - } - - memcpy(&new_ht, ht, sizeof(struct hostent)); - memset(buffer, 0, desired_size); - - *buffer_size = desired_size; - p = buffer + sizeof(struct hostent) + sizeof(char *); - memcpy(buffer + sizeof(struct hostent), &p, sizeof(char *)); - p = (char *)_ALIGN(p); - - if (new_ht.h_name != NULL) { - size = strlen(new_ht.h_name); - memcpy(p, new_ht.h_name, size); - new_ht.h_name = p; - p += size + 1; - } - - if (new_ht.h_aliases != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_aliases, sizeof(char *) * aliases_size); - new_ht.h_aliases = (char **)p; - p += sizeof(char *) * (aliases_size + 1); - - for (iter = new_ht.h_aliases; *iter; ++iter) { - size = strlen(*iter); - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } - } - - if (new_ht.h_addr_list != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_addr_list, sizeof(char *) * addr_size); - new_ht.h_addr_list = (char **)p; - p += sizeof(char *) * (addr_size + 1); - - size = _ALIGN(new_ht.h_length); - for (iter = new_ht.h_addr_list; *iter; ++iter) { - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } + *errp = NO_RECOVERY; + return NULL; } - memcpy(buffer, &new_ht, sizeof(struct hostent)); - return (NS_SUCCESS); -} -static int -ipnode_unmarshal_func(char *buffer, size_t buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent new_ht; - struct hostent *ht; - - char *p; - char **iter; - char *orig_buf; - int err; - - ht = &new_ht; - - memcpy(ht, buffer, sizeof(struct hostent)); - memcpy(&p, buffer + sizeof(struct hostent), sizeof(char *)); - - orig_buf = buffer + sizeof(struct hostent) + sizeof(char *) + - _ALIGN(p) - (size_t)p; - p = (char *)_ALIGN(p); - - - NS_APPLY_OFFSET(ht->h_name, orig_buf, p, char *); - if (ht->h_aliases != NULL) { - NS_APPLY_OFFSET(ht->h_aliases, orig_buf, p, char **); - - for (iter = ht->h_aliases; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - if (ht->h_addr_list != NULL) { - NS_APPLY_OFFSET(ht->h_addr_list, orig_buf, p, char **); - - for (iter = ht->h_addr_list; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - ht = _hpcopy(ht, &err); - if (ht == NULL) - return (NS_UNAVAIL); - - *((struct hostent **)retval) = ht; - return (NS_SUCCESS); -} -#endif - -/* - * Functions defined in RFC2553 - * getipnodebyname, getipnodebyaddr, freehostent - */ - -static struct hostent * -_ghbyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - int rval; - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_name, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyname, NULL) - { NSSRC_DNS, _dns_ghbyname, NULL }, - NS_NIS_CB(_nis_ghbyname, NULL) -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - if (flags & AI_ADDRCONFIG) { int s; @@ -554,31 +248,8 @@ */ _close(s); } - - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyname", default_src, - name, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; -} - -struct hostent * -getipnodebyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - union inx_addr addrbuf; - res_state statp; - - switch (af) { - case AF_INET: + #ifdef INET6 - case AF_INET6: -#endif - break; - default: - *errp = NO_RECOVERY; - return NULL; - } - -#ifdef INET6 /* special case for literal address */ if (inet_pton(AF_INET6, name, &addrbuf) == 1) { if (af != AF_INET6) { @@ -600,6 +271,7 @@ return _hpaddr(af, name, &addrbuf, errp); } + statp = __res_state(); if ((statp->options & RES_INIT) == 0) { if (res_ninit(statp) < 0) { @@ -607,25 +279,36 @@ return NULL; } } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyname2(name, af); + hp = _hpcopy(hp, errp); - *errp = HOST_NOT_FOUND; - hp = _ghbyname(name, af, flags, errp); - #ifdef INET6 if (af == AF_INET6 && ((flags & AI_ALL) || hp == NULL) && MAPADDRENABLED(flags)) { - struct hostent *hp2 = _ghbyname(name, AF_INET, flags, errp); + struct hostent *hp2 = gethostbyname2(name, AF_INET); if (hp == NULL) - hp = _hpmapv6(hp2, errp); + if (hp2 == NULL) + *errp = statp->res_h_errno; + else + hp = _hpmapv6(hp2, errp); else { - if (hp2 && strcmp(hp->h_name, hp2->h_name) != 0) { - freehostent(hp2); - hp2 = NULL; + if (hp2 && strcmp(hp->h_name, hp2->h_name) == 0) { + struct hostent *hpb = hp; + hp = _hpmerge(hpb, hp2, errp); + freehostent(hpb); } - hp = _hpmerge(hp, hp2, errp); } } #endif + + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; return _hpreorder(_hpsort(hp, statp)); } @@ -633,34 +316,15 @@ getipnodebyaddr(const void *src, size_t len, int af, int *errp) { struct hostent *hp; - int rval; + res_state statp; + u_long options; + #ifdef INET6 struct in6_addr addrbuf; #else struct in_addr addrbuf; #endif - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_id, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyaddr, NULL) - { NSSRC_DNS, _dns_ghbyaddr, NULL }, - NS_NIS_CB(_nis_ghbyaddr, NULL) -#ifdef ICMPNL - { NSSRC_ICMP, _icmp_ghbyaddr, NULL }, -#endif -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - - *errp = HOST_NOT_FOUND; - + switch (af) { case AF_INET: if (len != sizeof(struct in_addr)) { @@ -700,9 +364,23 @@ return NULL; } - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyaddr", default_src, - src, len, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; + statp = __res_state(); + if ((statp->options & RES_INIT) == 0) { + if (res_ninit(statp) < 0) { + RES_SET_H_ERRNO(statp, NETDB_INTERNAL); + return NULL; + } + } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyaddr(src, len, af); + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; + return (_hpcopy(hp, errp)); } void @@ -811,9 +489,10 @@ hp->h_addr_list = addrs; addrs[0] = (char *)addr; addrs[1] = NULL; - return _hpcopy(hp, errp); + return (_hpcopy(hp, errp)); } +#ifdef INET6 /* * _hpmerge: merge 2 hostent structure, arguments will be freed */ @@ -828,9 +507,9 @@ union inx_addr addrbuf[MAXADDRS]; if (hp1 == NULL) - return hp2; + return _hpcopy(hp2, errp); if (hp2 == NULL) - return hp1; + return _hpcopy(hp1, errp); #define HP(i) (i == 1 ? hp1 : hp2) hp = &hpbuf; @@ -850,17 +529,14 @@ } } aliases[nalias] = NULL; -#ifdef INET6 if (hp1->h_length != hp2->h_length) { hp->h_addrtype = AF_INET6; hp->h_length = sizeof(struct in6_addr); } else { -#endif hp->h_addrtype = hp1->h_addrtype; hp->h_length = hp1->h_length; -#ifdef INET6 } -#endif + hp->h_addr_list = addrs; naddr = 0; for (i = 1; i <= 2; i++) { @@ -879,11 +555,9 @@ } } addrs[naddr] = NULL; - hp = _hpcopy(hp, errp); - freehostent(hp1); - freehostent(hp2); - return hp; + return (_hpcopy(hp, errp)); } +#endif /* * _hpmapv6: convert IPv4 hostent into IPv4-mapped IPv6 addresses @@ -892,24 +566,17 @@ static struct hostent * _hpmapv6(struct hostent *hp, int *errp) { - struct hostent *hp6; + struct hostent hp6; if (hp == NULL) return NULL; if (hp->h_addrtype == AF_INET6) - return hp; + return _hpcopy(hp, errp); - /* make dummy hostent to convert IPv6 address */ - if ((hp6 = (struct hostent *)malloc(sizeof(struct hostent))) == NULL) { - *errp = TRY_AGAIN; - return NULL; - } - hp6->h_name = NULL; - hp6->h_aliases = NULL; - hp6->h_addrtype = AF_INET6; - hp6->h_length = sizeof(struct in6_addr); - hp6->h_addr_list = NULL; - return _hpmerge(hp6, hp, errp); + memset(&hp6, 0, sizeof(struct hostent)); + hp6.h_addrtype = AF_INET6; + hp6.h_length = sizeof(struct in6_addr); + return _hpmerge(&hp6, hp, errp); } #endif @@ -965,37 +632,6 @@ return hp; } -static char * -_hgetword(char **pp) -{ - char c, *p, *ret; - const char *sp; - static const char sep[] = "# \t\n"; - - ret = NULL; - for (p = *pp; (c = *p) != '\0'; p++) { - for (sp = sep; *sp != '\0'; sp++) { - if (c == *sp) - break; - } - if (c == '#') - p[1] = '\0'; /* ignore rest of line */ - if (ret == NULL) { - if (*sp == '\0') - ret = p; - } else { - if (*sp != '\0') { - *p++ = '\0'; - break; - } - } - } - *pp = p; - if (ret == NULL || *ret == '\0') - return NULL; - return ret; -} - /* * _hpreorder: sort address by default address selection */ @@ -1475,954 +1111,3 @@ return(-1); } } - -/* - * FILES (/etc/hosts) - */ - -static FILE * -_files_open(int *errp) -{ - FILE *fp; - fp = fopen(_PATH_HOSTS, "r"); - if (fp == NULL) - *errp = NO_RECOVERY; - return fp; -} - -static int -_files_ghbyname(void *rval, void *cb_data, va_list ap) -{ - const char *name; - int af; - int *errp; - int match, nalias; - char *p, *line, *addrstr, *cname; - FILE *fp; - struct hostent *rethp, *hp, hpbuf; - char *aliases[MAXALIASES + 1], *addrs[2]; - union inx_addr addrbuf; - char buf[BUFSIZ]; - - name = va_arg(ap, const char *); - af = va_arg(ap, int); - errp = va_arg(ap, int *); - - *(struct hostent **)rval = NULL; - - if ((fp = _files_open(errp)) == NULL) - return NS_UNAVAIL; - rethp = hp = NULL; - - while (fgets(buf, sizeof(buf), fp)) { - line = buf; - if ((addrstr = _hgetword(&line)) == NULL - || (cname = _hgetword(&line)) == NULL) - continue; - match = (strcasecmp(cname, name) == 0); - nalias = 0; - while ((p = _hgetword(&line)) != NULL) { - if (!match) - match = (strcasecmp(p, name) == 0); - if (nalias < MAXALIASES) - aliases[nalias++] = p; - } - if (!match) - continue; - switch (af) { - case AF_INET: - if (inet_aton(addrstr, (struct in_addr *)&addrbuf) - != 1) { - *errp = NO_DATA; /* name found */ - continue; - } - break; -#ifdef INET6 - case AF_INET6: - if (inet_pton(af, addrstr, &addrbuf) != 1) { - *errp = NO_DATA; /* name found */ - continue; - } - break; -#endif - } - hp = &hpbuf; - hp->h_name = cname; - hp->h_aliases = aliases; - aliases[nalias] = NULL; - hp->h_addrtype = af; - hp->h_length = ADDRLEN(af); - hp->h_addr_list = addrs; - addrs[0] = (char *)&addrbuf; - addrs[1] = NULL; - hp = _hpcopy(hp, errp); - rethp = _hpmerge(rethp, hp, errp); - } - fclose(fp); - *(struct hostent **)rval = rethp; - return (rethp != NULL) ? NS_SUCCESS : NS_NOTFOUND; -} - -static int -_files_ghbyaddr(void *rval, void *cb_data, va_list ap) -{ - const void *addr; - int addrlen; - int af; - int *errp; - int nalias; - char *p, *line; - FILE *fp; - struct hostent *hp, hpbuf; - char *aliases[MAXALIASES + 1], *addrs[2]; - union inx_addr addrbuf; - char buf[BUFSIZ]; - - addr = va_arg(ap, const void *); - addrlen = va_arg(ap, int); - af = va_arg(ap, int); - errp = va_arg(ap, int *); - - *(struct hostent**)rval = NULL; - - if ((fp = _files_open(errp)) == NULL) - return NS_UNAVAIL; - hp = NULL; - while (fgets(buf, sizeof(buf), fp)) { - line = buf; - if ((p = _hgetword(&line)) == NULL - || (af == AF_INET - ? inet_aton(p, (struct in_addr *)&addrbuf) - : inet_pton(af, p, &addrbuf)) != 1 - || memcmp(addr, &addrbuf, addrlen) != 0 - || (p = _hgetword(&line)) == NULL) - continue; - hp = &hpbuf; - hp->h_name = p; - hp->h_aliases = aliases; - nalias = 0; - while ((p = _hgetword(&line)) != NULL) { - if (nalias < MAXALIASES) - aliases[nalias++] = p; - } - aliases[nalias] = NULL; - hp->h_addrtype = af; - hp->h_length = addrlen; - hp->h_addr_list = addrs; - addrs[0] = (char *)&addrbuf; - addrs[1] = NULL; - hp = _hpcopy(hp, errp); - break; - } - fclose(fp); - *(struct hostent **)rval = hp; - return (hp != NULL) ? NS_SUCCESS : NS_NOTFOUND; -} - -#ifdef YP -/* - * NIS - * - * XXX actually a hack. - */ -static int -_nis_ghbyname(void *rval, void *cb_data, va_list ap) -{ - const char *name; - int af; - int *errp; - struct hostent *hp = NULL; - - name = va_arg(ap, const char *); - af = va_arg(ap, int); - errp = va_arg(ap, int *); - - hp = _gethostbynisname(name, af); - if (hp != NULL) - hp = _hpcopy(hp, errp); - - *(struct hostent **)rval = hp; - return (hp != NULL) ? NS_SUCCESS : NS_NOTFOUND; -} - -static int -_nis_ghbyaddr(void *rval, void *cb_data, va_list ap) -{ - const void *addr; - int addrlen; - int af; - int *errp; - struct hostent *hp = NULL; - - addr = va_arg(ap, const void *); - addrlen = va_arg(ap, int); - af = va_arg(ap, int); - - hp = _gethostbynisaddr(addr, addrlen, af); - if (hp != NULL) - hp = _hpcopy(hp, errp); - *(struct hostent **)rval = hp; - return (hp != NULL) ? NS_SUCCESS : NS_NOTFOUND; -} -#endif - -#define MAXPACKET (64*1024) - -typedef union { - HEADER hdr; - u_char buf[MAXPACKET]; -} querybuf; - -static struct hostent *getanswer(const querybuf *, int, const char *, int, - struct hostent *, int *); - -/* - * we don't need to take care about sorting, nor IPv4 mapped address here. - */ -static struct hostent * >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 1 00:26:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C56B16A421; Wed, 1 Aug 2007 00:26:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21BB716A41F for ; Wed, 1 Aug 2007 00:26:26 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F40C213C46B for ; Wed, 1 Aug 2007 00:26:25 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l710QPwF020291 for ; Wed, 1 Aug 2007 00:26:25 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l710QPHh020288 for perforce@freebsd.org; Wed, 1 Aug 2007 00:26:25 GMT (envelope-from peter@freebsd.org) Date: Wed, 1 Aug 2007 00:26:25 GMT Message-Id: <200708010026.l710QPHh020288@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124444 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 00:26:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=124444 Change 124444 by peter@peter_daintree on 2007/08/01 00:26:09 Revert to vendor. Done differently in cvs. Affected files ... .. //depot/projects/hammer/sys/netinet/tcp_subr.c#72 edit Differences ... ==== //depot/projects/hammer/sys/netinet/tcp_subr.c#72 (text+ko) ==== @@ -258,7 +258,7 @@ tcp_keepintvl = TCPTV_KEEPINTVL; tcp_maxpersistidle = TCPTV_KEEP_IDLE; tcp_msl = TCPTV_MSL; - tcp_rexmit_min = TCPTV_MIN < 1 ? 1 : TCPTV_MIN; + tcp_rexmit_min = TCPTV_MIN; if (tcp_rexmit_min < 1) tcp_rexmit_min = 1; tcp_rexmit_slop = TCPTV_CPU_VAR; From owner-p4-projects@FreeBSD.ORG Wed Aug 1 01:04:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 468DB16A421; Wed, 1 Aug 2007 01:04:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0EC916A41F for ; Wed, 1 Aug 2007 01:04:13 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E99CF13C4E9 for ; Wed, 1 Aug 2007 01:04:13 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l7114DYN032387 for ; Wed, 1 Aug 2007 01:04:13 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7114DvZ032384 for perforce@freebsd.org; Wed, 1 Aug 2007 01:04:13 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 01:04:13 GMT Message-Id: <200708010104.l7114DvZ032384@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124447 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 01:04:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=124447 Change 124447 by zec@zec_tpx32 on 2007/08/01 01:03:22 Clean up all private netgraph nodes when destroying a vnet instance. Given that other existing code chunks should ensure that in a dying vnet we would have no physical or cloning ifnets, now that we can also expect for all netgraph ifnets to be gone, an assert checking that lo0 is the only ifnet left standing is not necessary any more before proceeding with per-module cleanups. If by the time an instance of vnet_net should be destroyed there would still be some ifnets hanging arround, an assert in net/if.c:vnet_net_idetach() would catch this. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#29 edit .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#12 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#29 (text+ko) ==== @@ -567,21 +567,7 @@ if_clone_destroy(ifp->if_xname); } - /* - * XXX TODO: kill all netgraph ifnets - */ - - /* - * At this point only lo0 should be attached - */ - TAILQ_FOREACH(ifp, &V_ifnet, if_link) - if (ifp != V_loif) - panic("non-loif ifnet %s still attached", - ifp->if_xname); - - /* - * Detach / free per-module state instances. - */ + /* Detach / free per-module state instances. */ TAILQ_FOREACH_REVERSE(vml, &vnet_modlink_head, vnet_modlink_head, vml_mod_le) vnet_mod_destructor(vml); ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#12 (text+ko) ==== @@ -249,8 +249,12 @@ mtx_unlock(&ng_worklist_mtx) static vnet_attach_fn vnet_netgraph_iattach; +#ifdef VIMAGE +static vnet_attach_fn vnet_netgraph_idetach; +#endif -VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, NULL) +VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, + vnet_netgraph_idetach) #ifdef NETGRAPH_DEBUG /*----------------------------------------------*/ /* @@ -3211,6 +3215,23 @@ return 0; } +#ifdef VIMAGE +static int vnet_netgraph_idetach(const void *unused) +{ + INIT_VNET_NETGRAPH(curvnet); + node_p node, last_killed = NULL; + + while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { + if (node == last_killed) + panic("netgraph node %s won't die", node->nd_name); + ng_rmnode(node, NULL, NULL, 0); + last_killed = node; + } + + return 0; +} +#endif + static moduledata_t netgraph_mod = { "netgraph", ngb_mod_event, From owner-p4-projects@FreeBSD.ORG Wed Aug 1 01:16:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4B8A416A418; Wed, 1 Aug 2007 01:16:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B3FD16A46D for ; Wed, 1 Aug 2007 01:16:30 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EFAAA13C459 for ; Wed, 1 Aug 2007 01:16:29 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l711GT77033273 for ; Wed, 1 Aug 2007 01:16:29 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l711GT5h033270 for perforce@freebsd.org; Wed, 1 Aug 2007 01:16:29 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 01:16:29 GMT Message-Id: <200708010116.l711GT5h033270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124448 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 01:16:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=124448 Change 124448 by zec@zec_tpx32 on 2007/08/01 01:16:28 Fix a benign typo that slipped under the compiler's radar. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#13 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#13 (text+ko) ==== @@ -250,7 +250,7 @@ static vnet_attach_fn vnet_netgraph_iattach; #ifdef VIMAGE -static vnet_attach_fn vnet_netgraph_idetach; +static vnet_detach_fn vnet_netgraph_idetach; #endif VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, From owner-p4-projects@FreeBSD.ORG Wed Aug 1 01:27:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 27B2016A41A; Wed, 1 Aug 2007 01:27:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C030116A421 for ; Wed, 1 Aug 2007 01:27:56 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outU.internet-mail-service.net (outU.internet-mail-service.net [216.240.47.244]) by mx1.freebsd.org (Postfix) with ESMTP id AF54313C480 for ; Wed, 1 Aug 2007 01:27:56 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.32) with ESMTP; Tue, 31 Jul 2007 18:27:55 -0700 Received: from julian-mac.elischer.org (nat.ironport.com [63.251.108.100]) by idiom.com (Postfix) with ESMTP id 8616A125ADA; Tue, 31 Jul 2007 18:27:55 -0700 (PDT) Message-ID: <46AFE1BE.4030101@elischer.org> Date: Tue, 31 Jul 2007 18:28:30 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.5 (Macintosh/20070716) MIME-Version: 1.0 To: Marko Zec References: <200708010104.l7114DvZ032384@repoman.freebsd.org> In-Reply-To: <200708010104.l7114DvZ032384@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124447 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 01:27:57 -0000 Marko Zec wrote: there is a "really die" flag that should be used if a node may be associated with hardware, or for some other reason be persistent. /* Ask the type if it has anything to do in this case */ if (node->nd_type && node->nd_type->shutdown) { (*node->nd_type->shutdown)(node); if (NG_NODE_IS_VALID(node)) { /* * Well, blow me down if the node code hasn't declared * that it doesn't want to die. * Presumably it is a persistent node. * If we REALLY want it to go away, * e.g. hardware going away, * Our caller should set NGF_REALLY_DIE in nd_flags. */ node->nd_flags &= ~(NGF_INVALID|NGF_CLOSING); NG_NODE_UNREF(node); /* Assume they still have theirs */ return; } } else { /* do the default thing */ NG_NODE_UNREF(node); } > > +#ifdef VIMAGE > +static int vnet_netgraph_idetach(const void *unused) > +{ > + INIT_VNET_NETGRAPH(curvnet); > + node_p node, last_killed = NULL; > + > + while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { > + if (node == last_killed) > + panic("netgraph node %s won't die", node->nd_name); > + ng_rmnode(node, NULL, NULL, 0); > + last_killed = node; > + } > + > + return 0; > +} > +#endif > + > static moduledata_t netgraph_mod = { > "netgraph", > ngb_mod_event, From owner-p4-projects@FreeBSD.ORG Wed Aug 1 11:59:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B9E6416A468; Wed, 1 Aug 2007 11:59:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 89BC216A419 for ; Wed, 1 Aug 2007 11:59:50 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7B4D813C458 for ; Wed, 1 Aug 2007 11:59:50 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71Bxo3p099165 for ; Wed, 1 Aug 2007 11:59:50 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71Bxo7q099162 for perforce@freebsd.org; Wed, 1 Aug 2007 11:59:50 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 11:59:50 GMT Message-Id: <200708011159.l71Bxo7q099162@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124457 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 11:59:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=124457 Change 124457 by zec@zec_tpx32 on 2007/08/01 11:59:16 Make ng_gif compatible with options VIMAGE kernels. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_gif.c#2 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_gif.c#2 (text+ko) ==== @@ -69,6 +69,8 @@ * ng_gif(4) netgraph node type */ +#include "opt_vimage.h" + #include #include #include @@ -77,7 +79,9 @@ #include #include #include +#include +#include #include #include #include @@ -560,10 +564,13 @@ /* Create nodes for any already-existing gif interfaces */ IFNET_RLOCK(); - TAILQ_FOREACH(ifp, &ifnet, if_link) { + VNET_ITERLOOP_BEGIN_QUIET(); + INIT_VNET_NET(curvnet); + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_type == IFT_GIF) ng_gif_attach(ifp); } + VNET_ITERLOOP_END(); IFNET_RUNLOCK(); break; From owner-p4-projects@FreeBSD.ORG Wed Aug 1 12:04:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA6CF16A46D; Wed, 1 Aug 2007 12:04:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6300716A417 for ; Wed, 1 Aug 2007 12:04:57 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 379D413C480 for ; Wed, 1 Aug 2007 12:04:57 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71C4vxl001089 for ; Wed, 1 Aug 2007 12:04:57 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71C4uW1001086 for perforce@freebsd.org; Wed, 1 Aug 2007 12:04:56 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 12:04:56 GMT Message-Id: <200708011204.l71C4uW1001086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124458 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 12:04:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=124458 Change 124458 by zec@zec_tpx32 on 2007/08/01 12:04:48 Per Julian's suggestion, if a netgraph node won't die, try to kill it with NGF_REALLY_DIE flag set. IMO this should never happen given that no netgraph nodes associated with any physical hardware should be present in a dying vnet at this point, so print out a warning if we ever encounter such an event, in which case it will need more work and inspection, otherwise we could leak hardware devices on vnet shutdown. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#14 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#14 (text+ko) ==== @@ -3222,8 +3222,17 @@ node_p node, last_killed = NULL; while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { - if (node == last_killed) - panic("netgraph node %s won't die", node->nd_name); + if (node == last_killed) { + /* This should never happen */ + node->nd_flags |= NGF_REALLY_DIE; + printf("netgraph node %s needs NGF_REALLY_DIE", + node->nd_name); + ng_rmnode(node, NULL, NULL, 0); + /* This must never happen */ + if (node == LIST_FIRST(&V_ng_nodelist)) + panic("netgraph node %s won't die", + node->nd_name); + } ng_rmnode(node, NULL, NULL, 0); last_killed = node; } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 12:07:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DA5616A420; Wed, 1 Aug 2007 12:07:14 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2858116A41B; Wed, 1 Aug 2007 12:07:14 +0000 (UTC) (envelope-from zec@icir.org) Received: from mail.srv.carnet.hr (unknown [IPv6:2001:b68:e160:0:211:43ff:fecd:6374]) by mx1.freebsd.org (Postfix) with ESMTP id 12D4513C4CA; Wed, 1 Aug 2007 12:07:13 +0000 (UTC) (envelope-from zec@icir.org) Received: from vipnet86-165.mobile.carnet.hr ([193.198.165.86]:51696) by mail.srv.carnet.hr with esmtp (Exim 4.50) id 1IGCyq-0001oJ-4F; Wed, 01 Aug 2007 14:07:09 +0200 From: Marko Zec To: Julian Elischer Date: Wed, 1 Aug 2007 14:06:57 +0200 User-Agent: KMail/1.9.4 References: <200708010104.l7114DvZ032384@repoman.freebsd.org> <46AFE1BE.4030101@elischer.org> In-Reply-To: <46AFE1BE.4030101@elischer.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200708011406.58174.zec@icir.org> X-SA-Exim-Connect-IP: 193.198.165.86 X-Spam-Checker-Version: SpamAssassin 3.1.4 (2006-07-26) on nihal.carnet.hr X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=ALL_TRUSTED autolearn=ham version=3.1.4 X-SA-Exim-Version: 4.2 (built Thu, 03 Mar 2005 10:44:12 +0100) Cc: Perforce Change Reviews , Marko Zec Subject: Re: PERFORCE change 124447 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 12:07:14 -0000 On Wednesday 01 August 2007 03:28, Julian Elischer wrote: > there is a "really die" flag that should be used if a node may be > associated with hardware, or for some other reason be persistent. Thanks for the tip -> NGF_REALLY_DIE is now in //depot/projects/vimage/src/sys/netgraph/ng_base.c#14 Marko > /* Ask the type if it has anything to do in this case */ > if (node->nd_type && node->nd_type->shutdown) { > (*node->nd_type->shutdown)(node); > if (NG_NODE_IS_VALID(node)) { > /* > * Well, blow me down if the node code hasn't > declared * that it doesn't want to die. > * Presumably it is a persistent node. > * If we REALLY want it to go away, > * e.g. hardware going away, > * Our caller should set NGF_REALLY_DIE in > nd_flags. */ > node->nd_flags &= ~(NGF_INVALID|NGF_CLOSING); > NG_NODE_UNREF(node); /* Assume they still > have theirs */ return; > } > } else { /* do the default > thing */ NG_NODE_UNREF(node); > } > > > +#ifdef VIMAGE > > +static int vnet_netgraph_idetach(const void *unused) > > +{ > > + INIT_VNET_NETGRAPH(curvnet); > > + node_p node, last_killed = NULL; > > + > > + while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { > > + if (node == last_killed) > > + panic("netgraph node %s won't die", node->nd_name); > > + ng_rmnode(node, NULL, NULL, 0); > > + last_killed = node; > > + } > > + > > + return 0; > > +} > > +#endif > > + > > static moduledata_t netgraph_mod = { > > "netgraph", > > ngb_mod_event, From owner-p4-projects@FreeBSD.ORG Wed Aug 1 12:14:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3C53E16A41A; Wed, 1 Aug 2007 12:14:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 12D1A16A418 for ; Wed, 1 Aug 2007 12:14:09 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E008713C428 for ; Wed, 1 Aug 2007 12:14:08 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71CE8tl002048 for ; Wed, 1 Aug 2007 12:14:08 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71CE84E002045 for perforce@freebsd.org; Wed, 1 Aug 2007 12:14:08 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 12:14:08 GMT Message-Id: <200708011214.l71CE84E002045@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124459 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 12:14:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=124459 Change 124459 by zec@zec_tpx32 on 2007/08/01 12:13:34 A trailing "\n" was missing in a printf()... Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#15 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#15 (text+ko) ==== @@ -3225,7 +3225,7 @@ if (node == last_killed) { /* This should never happen */ node->nd_flags |= NGF_REALLY_DIE; - printf("netgraph node %s needs NGF_REALLY_DIE", + printf("netgraph node %s needs NGF_REALLY_DIE\n", node->nd_name); ng_rmnode(node, NULL, NULL, 0); /* This must never happen */ From owner-p4-projects@FreeBSD.ORG Wed Aug 1 14:01:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 026BF16A41A; Wed, 1 Aug 2007 14:01:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8021316A418 for ; Wed, 1 Aug 2007 14:01:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E20413C49D for ; Wed, 1 Aug 2007 14:01:19 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71E1J1v022335 for ; Wed, 1 Aug 2007 14:01:19 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71E1JHY022312 for perforce@freebsd.org; Wed, 1 Aug 2007 14:01:19 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Aug 2007 14:01:19 GMT Message-Id: <200708011401.l71E1JHY022312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124462 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 14:01:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=124462 Change 124462 by rdivacky@rdivacky_witten on 2007/08/01 13:57:22 My own private sandbox for various fixes that should improve linuxulator. No features here just fixes. So help me god ;) Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/acpica/OsdEnvironment.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/acpica/acpi_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/acpica/acpi_wakeup.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/acpica/madt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/amd64_mem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/apic_vector.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/atomic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/autoconf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/bios.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/bpf_jit_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/bpf_jit_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/busdma_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/cpu_switch.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/db_disasm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/db_interface.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/db_trace.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/dump_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/elf_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/exception.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/fpu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/gdb_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/genassym.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/identcpu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/in_cksum.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/initcpu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/intr_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/io.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/io_apic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/legacy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/local_apic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/locore.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/minidump_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mp_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mp_watchdog.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mpboot.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mptable.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mptable_pci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/msi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/nexus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/pmap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/prof_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/sigtramp.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/support.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/sys_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/trap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/tsc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/uio_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/uma_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/vm_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/compile/.cvsignore#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/.cvsignore#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/DEFAULTS#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/GENERIC#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/GENERIC.hints#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/MAC#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/conf/NOTES#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/ia32/ia32_exception.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/ia32/ia32_reg.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/ia32/ia32_signal.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/ia32/ia32_sigtramp.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/ia32/ia32_syscall.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/_bus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/_inttypes.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/_limits.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/_stdint.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/_types.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/acpica_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/apicreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/apicvar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/asm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/asmacros.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/atomic.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/bus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/bus_dma.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/clock.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/cpu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/cpufunc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/cputypes.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/db_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/elf.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/endian.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/exec.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/float.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/floatingpoint.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/fpu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/frame.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/gdb_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/ieeefp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/in_cksum.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/intr_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/iodev.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/kdb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/legacyvar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/limits.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/md_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/memdev.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/metadata.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/minidump.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/mp_watchdog.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/mptable.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/mutex.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/param.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pc/bios.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pc/display.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pcb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pcb_ext.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pci_cfgreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pcpu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pmap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/pmc_mdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/ppireg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/proc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/profile.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/psl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/ptrace.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/reloc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/resource.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/runq.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/segments.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/setjmp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/sf_buf.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/sigframe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/signal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/smp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/specialreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/stdarg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/sysarch.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/timerreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/trap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/tss.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/ucontext.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/varargs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/include/vmparam.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/atpic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/atpic_vector.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/clock.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/elcr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/icu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/isa.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/isa.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/isa_dma.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/isa/nmi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_dummy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_genassym.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_ipc64.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_locore.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_proto.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_syscall.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_sysent.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_sysvec.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.conf#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.master#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/pci/pci_bus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/pci/pci_cfgreg.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/blockio.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/copystr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/disassem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/elf_trampoline.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/exception.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/fiq.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/fusu.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/gdb_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/genassym.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/inckern.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/intr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/locore.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/mem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/nexus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/pmap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/setstack.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/support.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/swtch.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/trap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/undefined.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/vectors.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_mci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_mcireg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pdcreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pio.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pio_rm9200.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pioreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_piovar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pmc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pmcreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_pmcvar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_rtc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_rtcreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_spi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_spireg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_ssc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_sscreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_st.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_streg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_twi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_twiio.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_twireg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91_usartreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91rm92reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/at91var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/files.at91#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/files.kb920x#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/hints.at91rm9200#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/hints.at91sam9261#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/if_ate.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/if_atereg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/kb920x_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/ohci_atmelarm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/std.at91#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/std.kb920x#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/uart_bus_at91usart.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/uart_cpu_at91rm9200usart.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/at91/uart_dev_at91usart.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/compile/.cvsignore#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/.cvsignore#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/AVILA#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/AVILA.hints#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/BWCT#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/CRB#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/EP80219#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/IQ31244#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/KB920X#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/KB920X.hints#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/SIMICS#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/conf/SKYEYE#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/_bus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/_limits.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/_stdint.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/_types.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/armreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/asm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/asmacros.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/atomic.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/blockio.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/bus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/clock.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/cpu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/disassem.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/elf.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/endian.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/exec.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/fiq.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/float.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/fp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/frame.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/gdb_machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/ieee.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/intr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/katelib.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/kdb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/limits.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/machdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/md_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/memdev.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/metadata.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/mutex.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/param.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/pcb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/pcpu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/pmap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/pmc_mdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/proc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/profile.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/psl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/pte.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/ptrace.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/reloc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/resource.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/runq.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/setjmp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/sigframe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/signal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/smp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/stdarg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/swi.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/sysarch.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/trap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/ucontext.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/undefined.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/utrap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/include/vmparam.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/ep80219_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/files.ep80219#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/files.i80219#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/files.i80321#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/files.iq31244#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_aau.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_dma.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_intr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_mcu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_pci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_timer.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321_wdog.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/i80321var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/iq31244_7seg.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/iq31244_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/iq80321.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/iq80321reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/iq80321var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/obio.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/obio_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/obiovar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/std.ep80219#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/std.i80219#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/std.i80321#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/std.iq31244#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/uart_bus_i80321.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i80321/uart_cpu_i80321.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/avila_ata.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/avila_led.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/avila_machdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/files.avila#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/files.ixp425#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/if_npe.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/if_npereg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixdp425_pci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixdp425reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_iic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_intr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_mem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_npe.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_npereg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_npevar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_pci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_pci_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_qmgr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_qmgr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_space.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_timer.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425_wdog.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/ixp425var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/std.avila#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/std.ixp425#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/xscalereg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/arm/xscale/xscalevar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0/linker.cfg#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0iic/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0iic/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0spi/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot0spi/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/board.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/boot2.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/boot2/kb920x_board.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/env_vars.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/env_vars.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/loader_prompt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/loader_prompt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootiic/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/ee.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/ee.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/env_vars.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/env_vars.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/loader_prompt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/loader_prompt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/bootspi/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/arm_init.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/at91rm9200.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/delay.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/eeprom.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/emac.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/emac.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/emac_init.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/getc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/lib.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/mci_device.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/memcmp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/memcpy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/memset.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/p_string.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/printf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/putchar.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/reset.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/sd-card.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/sd-card.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/spi_flash.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/spi_flash.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/strcmp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/strcpy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/strcvt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/strlen.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/tag_list.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/tag_list.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/libat91/xmodem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/arm/at91/linker.cfg#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/bcache.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/boot.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/bootstrap.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/commands.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/console.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/dev_net.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/dev_net.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/devopen.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/help.common#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/interp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/interp_backslash.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/interp_forth.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/interp_parse.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/isapnp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/isapnp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf32.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf32_obj.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf64.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf64_obj.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/load_elf_obj.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/loader.8#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/ls.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/merge_help.awk#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/misc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/module.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/newvers.sh#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/panic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/pnp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/reloc_elf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/reloc_elf32.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/reloc_elf64.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/common/ufsread.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efi.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efi_nii.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efiapi.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/eficon.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efidebug.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efidef.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efidevp.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efierr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efifpswa.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efifs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efilib.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efinet.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efipart.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efiprot.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efipxebc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efiser.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/efistdarg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/i386/efibind.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/i386/pe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/ia64/efibind.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/include/ia64/pe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/delay.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/efi_console.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/efifs.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/efinet.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/errno.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/handles.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/libefi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/efi/libefi/time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/arm/sysdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/arm/sysdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/dict.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/ficl.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/ficl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/fileaccess.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/float.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/i386/sysdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/i386/sysdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/ia64/sysdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/ia64/sysdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/loader.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/math64.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/math64.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/powerpc/sysdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/powerpc/sysdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/prefix.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/search.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/classes.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/ficlclass.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/ficllocal.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/fileaccess.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/forml.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/freebsd.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/ifbrack.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/jhlocal.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/marker.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/oo.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/prefix.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/softcore.awk#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/softcore.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/softwords/string.fr#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/sparc64/sysdep.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/sparc64/sysdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/stack.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/testmain.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/tools.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/unix.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/vm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ficl/words.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/beastie.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/frames.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/loader.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/loader.4th.8#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/loader.conf#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/loader.conf.5#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/loader.rc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/pnp.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/screen.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/forth/support.4th#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot0/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot0ext/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot0sio/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot2/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot2/boot1.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot2/boot2.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot2/lib.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/boot2/sio.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/btx/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/btx/btx.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/lib/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/cdboot/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/cdboot/cdboot.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/boot.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/crt.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/kgzldr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/lib.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/sio.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/kgzldr/start.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/amd64_tramp.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biosacpi.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/bioscd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biosdisk.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biosmem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biospci.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biospnp.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/biossmap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/bootinfo.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/bootinfo32.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/bootinfo64.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/comconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/devicename.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/elf32_freebsd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/elf64_freebsd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/i386_copy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/i386_module.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/libi386.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/nullconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/pread.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/pxe.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/pxe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/pxetramp.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/smbios.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/libi386/vidconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/help.i386#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/loader.rc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/loader/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/mbr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/mbr/mbr.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/pxeldr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/pxeldr/pxeboot.8#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/i386/pxeldr/pxeldr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/autoload.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/bootinfo.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/copy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/devicename.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/exec.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/common/libia64.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/efimd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/ldscript.ia64#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/start.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/efi/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/acpi_stub.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/delay.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/efi_stub.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/exit.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/ldscript.ia64#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/libski.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/pal_stub.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/sal_stub.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/skiconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/skifs.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/skiload.cmd#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/skimd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/ssc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/start.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ia64/ski/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/common/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/common/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/devicename.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/elf_freebsd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/libofw.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_console.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_copy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_disk.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_memory.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_module.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_net.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_reboot.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/ofw_time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/openfirm.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/ofw/libofw/openfirm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/boot.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/boot0.5.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/disk.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/selector.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/start.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/support.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0.5/syscons.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot0/boot0.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/README.serial.98#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/asm.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/asm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/bios.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/boot.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/boot.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/boot2.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/dinode.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/disk.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/fs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/inode.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/io.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/probe_keyboard.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/quota.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/serial.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/serial_16550.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/serial_8251.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/start.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/sys.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/boot2/table.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/btx/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/btx/btx.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/btxldr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/btxldr/btxldr.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/lib/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/lib/btxcsu.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/lib/btxsys.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/lib/btxv86.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/btx/lib/btxv86.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/cdboot/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/cdboot/cdboot.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/kgzldr/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/kgzldr/crt.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/bioscd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/biosdisk.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/biosmem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/biossmap.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/comconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/i386_module.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/libpc98/vidconsole.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/loader/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/loader/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/loader/help.pc98#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/pc98/loader/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/conf.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/help.ofw#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/ldscript.powerpc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/metadata.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/start.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/powerpc/loader/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/Makefile.inc#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/boot1/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/boot1/_start.s#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/boot1/boot1.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/help.sparc64#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/locore.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/main.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/metadata.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/boot/sparc64/loader/version#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/bsm/audit.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/bsm/audit_internal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/bsm/audit_kevents.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/bsm/audit_record.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/README.quirks#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_ccb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_debug.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_periph.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_periph.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_queue.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_queue.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_sim.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_sim.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_xpt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_xpt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_xpt_periph.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/cam_xpt_sim.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_all.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_all.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_cd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_cd.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_ch.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_ch.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_da.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_da.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_dvcfg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_iu.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_low.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_low.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_low_pisa.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_low_pisa.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_message.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_pass.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_pass.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_pt.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_pt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_sa.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_sa.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_ses.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_ses.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_targ_bh.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_target.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/cam/scsi/scsi_targetio.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/Makefile#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_misc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_proto.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_signal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_syscall.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_syscalls.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_sysent.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/freebsd32_util.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/syscalls.conf#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/freebsd32/syscalls.master#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ia32/ia32_genassym.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ia32/ia32_reg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ia32/ia32_signal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ia32/ia32_sysvec.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ia32/ia32_util.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linprocfs/linprocfs.c#1 add .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linsysfs/linsysfs.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_emul.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_emul.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_file.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_futex.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_futex.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_getcwd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_ioctl.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_ioctl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_ipc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_ipc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_mib.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_mib.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_signal.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_signal.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_socket.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_socket.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_stats.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_sysctl.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_time.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_uid16.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_util.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_util.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/cfg_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/hal_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/kern_ndis.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/kern_windrv.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/ndis_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/ntoskrnl_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/pe_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/resource_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/subr_hal.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/subr_ndis.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/subr_ntoskrnl.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/subr_pe.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/usbd_var.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/ndis/winx64_wrap.S#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/netbsd/dvcfg.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/netbsd/physio_proc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/sysmacros.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/systm.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/taskq.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/taskq_impl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/time.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/types.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/uio.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/varargs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/vfs.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/vnode.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/opensolaris/sys/zone.h#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 1 14:04:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D6D216A41A; Wed, 1 Aug 2007 14:04:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CA7716A418 for ; Wed, 1 Aug 2007 14:04:24 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F1CB713C49D for ; Wed, 1 Aug 2007 14:04:23 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71E4Nmn023788 for ; Wed, 1 Aug 2007 14:04:23 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71E4NaC023785 for perforce@freebsd.org; Wed, 1 Aug 2007 14:04:23 GMT (envelope-from sat@freebsd.org) Date: Wed, 1 Aug 2007 14:04:23 GMT Message-Id: <200708011404.l71E4NaC023785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124463 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 14:04:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=124463 Change 124463 by sat@sat_amilo on 2007/08/01 14:03:58 - Simplify debug messaging Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#31 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#31 (text+ko) ==== @@ -69,9 +69,10 @@ _DESTDIRMKINCLUDED= yes - -.if !defined(WITH_DESTDIR_DEBUG) -_DESTDIR_DEBUG= >/dev/null 2<&1 +.if defined(WITH_DESTDIR_DEBUG) +DEBUG_MSG= ${ECHO_MSG} "DEBUG:" +.else +DEBUG_MSG= ${TRUE} .endif DESTDIR_ENV_LIST?= @@ -140,9 +141,9 @@ exit 2; \ fi; \ done; \ - ${ECHO_MSG} "DEBUG: _DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ for _entry in ${_DESTDIR_MOUNT_LIST}; do \ - ${ECHO_MSG} "DEBUG: Processing $${_entry}" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Processing $${_entry}"; \ _mount_var=$${_entry%%:*}; \ _tp=$${_entry#*:}; \ _host_path=`${REALPATH} $${_tp%:*}`; \ @@ -150,11 +151,11 @@ _full_dest_path=`${REALPATH} $${_destdir}/$${_dest_path}`; \ _entry_was_created=0; \ _entry_should_mount=0; \ - ${ECHO_CMD} "DEBUG: $${_mount_var}:$${_host_path}:$${_full_dest_path}" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ if [ "$${_dest_path}" = "___temp___" ]; then \ - ${ECHO_CMD} "DEBUG: Creating temporary mount point" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Creating temporary mount point"; \ if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \ - ${ECHO_CMD} "DEBUG: Temporary mount point $${_full_dest_path} created successfully" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Temporary mount point $${_full_dest_path} created successfully"; \ _entry_was_created=1; \ _entry_should_mount=1; \ _dest_path=$${_full_dest_path#$${_destdir}}; \ @@ -164,18 +165,18 @@ exit 9; \ fi; \ else \ - ${ECHO_CMD} "DEBUG: Checking if already mounted" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Checking if already mounted"; \ if ${MOUNT}|${GREP} -qs "^$${_host_path} on $${_full_dest_path} ("; then \ - ${ECHO_CMD} "DEBUG: $${_host_path} is already mounted on $${_full_dest_path} ${_DESTDIR_DEBUG}"; \ + ${DEBUG_MSG} "$${_host_path} is already mounted on $${_full_dest_path}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "DEBUG: $${_host_path} is not mounted on $${_full_dest_path}" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "$${_host_path} is not mounted on $${_full_dest_path}"; \ _entry_should_mount=1; \ fi; \ fi; \ [ -d $${_full_dest_path} ] || \ if ${MKDIR} $${_full_dest_path}; then \ - ${ECHO_CMD} "DEBUG: Mount point $${_full_dest_path} created" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Mount point $${_full_dest_path} created"; \ _entry_was_created=1; \ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ else \ @@ -184,7 +185,7 @@ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ - ${ECHO_CMD} "DEBUG: Directory $${_host_path} mounted" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Directory $${_host_path} mounted"; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ @@ -194,11 +195,11 @@ exit 8; \ fi; \ done; \ - ${ECHO_CMD} "DEBUG: Handling devfs separately" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Handling devfs separately"; \ _full_dest_path=$${_destdir}/dev; \ ${MOUNT}|${GREP} -qs "^devfs on $${_full_dest_path} (" || \ if ${MOUNT_DEVFS} $${_full_dest_path}; then \ - ${ECHO_CMD} "DEBUG: devfs mounted" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "devfs mounted"; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ else \ ${ECHO_CMD} "===> devfs could not be mounted"; \ @@ -207,9 +208,9 @@ exit 9; \ fi; \ _var_path_list="$${_var_path_list} DEVFS=/dev"; \ - ${ECHO_CMD} "DEBUG: Things we mounted: $${_mounted_entries_list}" ${_DESTDIR_DEBUG}; \ - ${ECHO_CMD} "DEBUG: Things we created: $${_created_mountpoints_list}" ${_DESTDIR_DEBUG}; \ - ${ECHO_CMD} "DEBUG: _var_path_list: $${_var_path_list}" ${_DESTDIR_DEBUG}; \ + ${DEBUG_MSG} "Things we mounted: $${_mounted_entries_list}"; \ + ${DEBUG_MSG} "Things we created: $${_created_mountpoints_list}"; \ + ${DEBUG_MSG} "_var_path_list: $${_var_path_list}"; \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ export $${_var_path_list}; \ ${CHROOT} $${_destdir} ${SH} -c "\ From owner-p4-projects@FreeBSD.ORG Wed Aug 1 14:22:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1028D16A574; Wed, 1 Aug 2007 14:22:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFB9E16A474 for ; Wed, 1 Aug 2007 14:22:46 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B048E13C45E for ; Wed, 1 Aug 2007 14:22:46 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71EMkdf029801 for ; Wed, 1 Aug 2007 14:22:46 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71EMkXf029798 for perforce@freebsd.org; Wed, 1 Aug 2007 14:22:46 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Aug 2007 14:22:46 GMT Message-Id: <200708011422.l71EMkXf029798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124464 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 14:22:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=124464 Change 124464 by rdivacky@rdivacky_witten on 2007/08/01 14:22:43 Allow non-zero file offsets in linprocfs. PR: 101453 Submitted by: des Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linprocfs/linprocfs.c#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -858,14 +858,12 @@ static int linprocfs_doprocmaps(PFS_FILL_ARGS) { - char mebuffer[512]; vm_map_t map = &p->p_vmspace->vm_map; vm_map_entry_t entry, tmp_entry; vm_object_t obj, tobj, lobj; vm_offset_t saved_end; vm_ooffset_t off = 0; char *name = "", *freename = NULL; - size_t len; ino_t ino; unsigned int last_timestamp; int ref_count, shadow_count, flags; @@ -888,9 +886,7 @@ error = 0; vm_map_lock_read(map); - for (entry = map->header.next; - ((uio->uio_resid > 0) && (entry != &map->header)); - entry = entry->next) { + for (entry = map->header.next; entry != &map->header; entry = entry->next) { name = ""; freename = NULL; if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) @@ -938,7 +934,7 @@ * format: * start, end, access, offset, major, minor, inode, name. */ - snprintf(mebuffer, sizeof mebuffer, + sbuf_printf(sb, "%08lx-%08lx %s%s%s%s %08lx %02x:%02x %lu%s%s\n", (u_long)entry->start, (u_long)entry->end, (entry->protection & VM_PROT_READ)?"r":"-", @@ -954,18 +950,6 @@ ); if (freename) free(freename, M_TEMP); - len = strlen(mebuffer); - if (len > uio->uio_resid) - len = uio->uio_resid; /* - * XXX We should probably return - * EFBIG here, as in procfs. - */ - last_timestamp = map->timestamp; - vm_map_unlock_read(map); - error = uiomove(mebuffer, len, uio); - vm_map_lock_read(map); - if (error) - break; if (last_timestamp + 1 != map->timestamp) { /* * Look again for the entry because the map was From owner-p4-projects@FreeBSD.ORG Wed Aug 1 14:24:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6004F16A421; Wed, 1 Aug 2007 14:24:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1354016A41F for ; Wed, 1 Aug 2007 14:24:50 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 04E2713C45B for ; Wed, 1 Aug 2007 14:24:50 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71EOnod029906 for ; Wed, 1 Aug 2007 14:24:49 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71EOnG4029903 for perforce@freebsd.org; Wed, 1 Aug 2007 14:24:49 GMT (envelope-from rdivacky@FreeBSD.org) Date: Wed, 1 Aug 2007 14:24:49 GMT Message-Id: <200708011424.l71EOnG4029903@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124465 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 14:24:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=124465 Change 124465 by rdivacky@rdivacky_witten on 2007/08/01 14:24:10 Initialize cr2 using rcr2() in signal context. PR: 77710 Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysvec.c#2 (text+ko) ==== @@ -359,6 +359,7 @@ frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_sc.uc_mcontext.sc_cr2 = rcr2(); frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); #ifdef DEBUG @@ -487,6 +488,7 @@ frame.sf_sc.sc_esp_at_signal = regs->tf_esp; frame.sf_sc.sc_ss = regs->tf_ss; frame.sf_sc.sc_err = regs->tf_err; + frame.sf_sc.sc_cr2 = rcr2(); frame.sf_sc.sc_trapno = bsd_to_linux_trapcode(ksi->ksi_trapno); for (i = 0; i < (LINUX_NSIG_WORDS-1); i++) From owner-p4-projects@FreeBSD.ORG Wed Aug 1 16:00:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4320E16A420; Wed, 1 Aug 2007 16:00:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 086AA16A41B for ; Wed, 1 Aug 2007 16:00:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA15513C483 for ; Wed, 1 Aug 2007 16:00:03 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71G039T038002 for ; Wed, 1 Aug 2007 16:00:03 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71G036T037996 for perforce@freebsd.org; Wed, 1 Aug 2007 16:00:03 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 1 Aug 2007 16:00:03 GMT Message-Id: <200708011600.l71G036T037996@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 16:00:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=124472 Change 124472 by rpaulo@rpaulo_epsilon on 2007/08/01 15:59:29 Add an undocumented Core Solo/Duo MSR. This is needed for that msrtemp(4) driver, so that we can understand on which CPUs Tj(max) == 85. Most likely doesn't work with all of them, but it's better than nothing at all. Obtained from: OpenBSD, Linux Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/i386/include/specialreg.h#4 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/i386/include/specialreg.h#4 (text+ko) ==== @@ -186,6 +186,7 @@ #define MSR_PERFCTR0 0x0c1 #define MSR_PERFCTR1 0x0c2 #define MSR_FSB_FREQ 0x0cd +#define MSR_EXT_CONFIG 0x0ee /* Undocumented. Core Solo/Duo only */ #define MSR_MPERF 0x0e7 #define MSR_APERF 0x0e8 #define MSR_MTRRcap 0x0fe From owner-p4-projects@FreeBSD.ORG Wed Aug 1 16:07:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F21C416A41F; Wed, 1 Aug 2007 16:07:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5E0B16A419 for ; Wed, 1 Aug 2007 16:07:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A6BF613C46A for ; Wed, 1 Aug 2007 16:07:13 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71G7DYW039609 for ; Wed, 1 Aug 2007 16:07:13 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71G7DFj039606 for perforce@freebsd.org; Wed, 1 Aug 2007 16:07:13 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 1 Aug 2007 16:07:13 GMT Message-Id: <200708011607.l71G7DFj039606@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124473 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 16:07:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=124473 Change 124473 by rpaulo@rpaulo_epsilon on 2007/08/01 16:06:30 Try to guess some CPUs that have Tj(max) == 85. Obtained from: OpenBSD, Linux Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#10 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#10 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#9 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/msrtemp/msrtemp.c#10 $ * */ @@ -52,6 +52,7 @@ struct msrtemp_softc { device_t sc_dev; + int sc_tjmax; struct sysctl_oid *sc_oid; }; @@ -63,7 +64,7 @@ static int msrtemp_attach(device_t dev); static int msrtemp_detach(device_t dev); -static int msrtemp_get_temp(int cpu); +static int msrtemp_get_temp(device_t dev); static int msrtemp_get_temp_sysctl(SYSCTL_HANDLER_ARGS); static device_method_t msrtemp_methods[] = { @@ -131,10 +132,24 @@ { struct msrtemp_softc *sc = device_get_softc(dev); device_t pdev; + uint64_t msr; pdev = device_get_parent(dev); + /* + * On some Core 2 CPUs, there's an undocumented MSR that + * can tell us if Tj(max) is 100 or 85. + * + * This is only valid for some steppings. + */ + msr = rdmsr(MSR_EXT_CONFIG); + if ((msr >> 30) & 0x1) + sc->sc_tjmax = 85; + else + sc->sc_tjmax = 100; + + /* * Add the "temperature" MIB to dev.cpu.N. */ sc->sc_oid = SYSCTL_ADD_PROC(device_get_sysctl_ctx(pdev), @@ -159,9 +174,11 @@ static int -msrtemp_get_temp(int cpu) +msrtemp_get_temp(device_t dev) { uint64_t temp; + int cpu = device_get_unit(dev); + struct msrtemp_softc *sc = device_get_softc(dev); thread_lock(curthread); sched_bind(curthread, cpu); @@ -176,10 +193,6 @@ * * The temperature is computed by subtracting the temperature * reading by Tj(max). - * - * 100 is Tj(max). On some CPUs it should be 85, but Intel - * doesn't supply that info, so right now, we are using - * 100 degC for everyone. */ temp = rdmsr(MSR_THERM_STATUS); @@ -191,7 +204,7 @@ * Starting on bit 16 and ending on bit 22. * We use 0x7f to ignore the minus signal. */ - temp = 100 - ((temp >> 16) & 0x7f); + temp = sc->sc_tjmax - ((temp >> 16) & 0x7f); return (int) temp; } @@ -204,7 +217,7 @@ device_t dev = (device_t) arg1; int temp; - temp = msrtemp_get_temp(device_get_unit(dev)); + temp = msrtemp_get_temp(dev); return sysctl_handle_int(oidp, &temp, 0, req); } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 16:07:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D7F5F16A41B; Wed, 1 Aug 2007 16:07:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B5C6616A417 for ; Wed, 1 Aug 2007 16:07:18 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id 6C70513C494 for ; Wed, 1 Aug 2007 16:07:18 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id B7DD4690F36; Wed, 1 Aug 2007 17:00:09 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id 745C9690F38; Wed, 1 Aug 2007 17:00:09 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=0.5 required=5.0 tests=AWL,BAYES_00, RCVD_IN_SORBS_DUL,RCVD_IN_SORBS_WEB autolearn=no version=3.1.7 Received: from epsilon.local (unknown [83.144.140.90]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id 0D221690F36; Wed, 1 Aug 2007 17:00:06 +0100 (WEST) Message-ID: <46B0A1A0.8020301@fnop.net> Date: Wed, 01 Aug 2007 16:07:12 +0100 From: Rui Paulo User-Agent: Thunderbird 2.0.0.4 (X11/20070704) MIME-Version: 1.0 To: Rui Paulo References: <200708011600.l71G036T037996@repoman.freebsd.org> In-Reply-To: <200708011600.l71G036T037996@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124472 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 16:07:19 -0000 Rui Paulo wrote: > http://perforce.freebsd.org/chv.cgi?CH=124472 > > Change 124472 by rpaulo@rpaulo_epsilon on 2007/08/01 15:59:29 > > Add an undocumented Core Solo/Duo MSR. > This is needed for that msrtemp(4) driver, so that we can s/that/the/ -- Rui Paulo From owner-p4-projects@FreeBSD.ORG Wed Aug 1 16:17:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0747E16A47F; Wed, 1 Aug 2007 16:17:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D790516A47D for ; Wed, 1 Aug 2007 16:17:28 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C8ACC13C469 for ; Wed, 1 Aug 2007 16:17:28 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71GHSBS040315 for ; Wed, 1 Aug 2007 16:17:28 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71GHSRi040311 for perforce@freebsd.org; Wed, 1 Aug 2007 16:17:28 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 1 Aug 2007 16:17:28 GMT Message-Id: <200708011617.l71GHSRi040311@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124475 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 16:17:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124475 Change 124475 by rpaulo@rpaulo_epsilon on 2007/08/01 16:16:56 Some code refactoring: * asmc_attach(): call asmc_init() after initializing sc_model. This is needed on the MacMini. (not tested). * asmc_attach(): replace the 'out' case label with labels more meaningful. * asmc_init(): Don't try to initialize the SMS if we don't have one. This is needed on the MacMini. (not tested). * asmc_init(): replace the 'out' case label with something more meaningful. * asmc_temp_getvalue(): check for invalid temperatures. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#28 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#28 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#27 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#28 $ * */ @@ -272,10 +272,9 @@ mtx_init(&sc->sc_mtx, "asmc", NULL, MTX_SPIN); + sc->sc_model = model; asmc_init(dev); - sc->sc_model = model; - /* * dev.asmc.n.fan.* tree. */ @@ -345,7 +344,7 @@ } if (model->smc_sms_x == NULL) - goto out; + goto nosms; /* * dev.asmc.n.sms tree. @@ -420,9 +419,8 @@ ASMC_IRQ, ASMC_IRQ, 1, RF_ACTIVE); if (sc->sc_res == NULL) { device_printf(dev, "unable to allocate IRQ resource\n"); - if (sc->sc_sms_tq) - taskqueue_free(sc->sc_sms_tq); - return (ENXIO); + ret = ENXIO; + goto err2; } ret = bus_setup_intr(dev, sc->sc_res, @@ -437,15 +435,21 @@ if (ret) { device_printf(dev, "unable to setup SMS IRQ\n"); - bus_release_resource(dev, SYS_RES_IRQ, sc->sc_rid, sc->sc_res); - if (sc->sc_sms_tq) - taskqueue_free(sc->sc_sms_tq); - return (ret); + goto err1; } -out: +nosms: return (0); + +err1: + bus_release_resource(dev, SYS_RES_IRQ, sc->sc_rid, sc->sc_res); +err2: + mtx_destroy(&sc->sc_mtx); + if (sc->sc_sms_tq) + taskqueue_free(sc->sc_sms_tq); + + return (ret); } static int @@ -475,6 +479,9 @@ int i, error = 1; uint8_t buf[4]; + if (sc->sc_model->smc_sms_x == NULL) + goto nosms; + /* * We are ready to recieve interrupts from the SMS. */ @@ -518,7 +525,7 @@ if (asmc_key_read(dev, ASMC_KEY_SMS, buf, 2) == 0 && (buf[0] != 0x00 || buf[1] != 0x00)) { error = 0; - goto out; + goto nosms; } buf[0] = ASMC_SMS_INIT1; @@ -529,7 +536,7 @@ asmc_sms_calibrate(dev); -out: +nosms: sc->sc_nfan = asmc_fan_count(dev); if (sc->sc_nfan > ASMC_MAXFANS) { device_printf(dev, "more than %d fans were detected. Please " @@ -756,7 +763,10 @@ { uint8_t buf[2]; - if (asmc_key_read(dev, key, buf, 2) < 0) + /* + * Check for invalid temperatures. + */ + if ((asmc_key_read(dev, key, buf, 2) < 0) || buf[0] == 127) return (-1); return (buf[0]); From owner-p4-projects@FreeBSD.ORG Wed Aug 1 16:22:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6721C16A46C; Wed, 1 Aug 2007 16:22:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21EF016A417 for ; Wed, 1 Aug 2007 16:22:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 113DD13C47E for ; Wed, 1 Aug 2007 16:22:37 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71GMaZ7040733 for ; Wed, 1 Aug 2007 16:22:36 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71GMZYi040730 for perforce@freebsd.org; Wed, 1 Aug 2007 16:22:35 GMT (envelope-from rpaulo@FreeBSD.org) Date: Wed, 1 Aug 2007 16:22:35 GMT Message-Id: <200708011622.l71GMZYi040730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124476 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 16:22:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124476 Change 124476 by rpaulo@rpaulo_epsilon on 2007/08/01 16:21:53 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/arm/arm/trap.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91rm92reg.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/kb920x_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/arm/conf/KB920X#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/options.ia64#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_timer.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic7xxx.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic_osm_lib.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/arcmsr/arcmsr.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bce/if_bce.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/bce/if_bcereg.h#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/umodem.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/db_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/exception.S#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/machdep.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/nexus.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/pmap.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/sapic.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/atomic.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/intr.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/md_var.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/include/sapicvar.h#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridge.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_bridgevar.h#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/net/if_lagg.h#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_fsm.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_input.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#12 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_timer.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_usrreq.c#8 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/spx_debug.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/netipx/spx_debug.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/cbus/clock.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/trap.c#3 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/trap.c#3 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.34 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.35 2007/07/31 17:09:05 cognet Exp $"); #include #include @@ -943,7 +943,7 @@ case 0: #ifdef __ARMEB__ if ((insn & 0x000fffff) == SYS___syscall && - (code != SYS_lseek)) { + code != SYS_freebsd6_lseek && code != SYS_lseek) { /* * 64-bit return, 32-bit syscall. Fixup byte order */ ==== //depot/projects/soc2007/rpaulo-macbook/arm/at91/at91rm92reg.h#2 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.4 2006/08/28 20:05:00 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.5 2007/07/31 17:43:18 imp Exp $ */ #ifndef AT91RM92REG_H_ #define AT91RM92REG_H_ @@ -336,7 +336,8 @@ #define AT91RM92_TC1C1_BASE 0xffa4040 #define AT91RM92_TC1C2_BASE 0xffa4080 -#define AT91RM92_OHCI_BASE 0x00300000 +#define AT91RM92_OHCI_BASE 0xdfe00000 +#define AT91RM92_OHCI_PA_BASE 0x00300000 #define AT91RM92_OHCI_SIZE 0x00100000 #define AT91C_MASTER_CLOCK 60000000 ==== //depot/projects/soc2007/rpaulo-macbook/arm/at91/kb920x_machdep.c#3 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.22 2007/05/23 13:20:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.23 2007/07/31 17:43:18 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -165,14 +165,14 @@ * initialization is done. However, the AT91 resource allocation * system doesn't know how to use pmap_mapdev() yet. */ -#if 0 +#if 1 { /* * Add the ohci controller, and anything else that might be * on this chip select for a VA/PA mapping. */ AT91RM92_OHCI_BASE, - AT91RM92_OHCI_BASE, + AT91RM92_OHCI_PA_BASE, AT91RM92_OHCI_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, ==== //depot/projects/soc2007/rpaulo-macbook/arm/at91/ohci_atmelarm.c#2 (text) ==== @@ -23,12 +23,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.2 2007/03/01 09:10:55 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.3 2007/07/31 17:43:18 imp Exp $"); #include #include #include +#include #include +#include #include #include #include @@ -99,6 +101,30 @@ } device_set_ivars(sc->sc_ohci.sc_bus.bdev, &sc->sc_ohci.sc_bus); + /* Allocate a parent dma tag for DMA maps */ + err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + NULL, NULL, &sc->sc_ohci.sc_bus.parent_dmatag); + if (err) { + device_printf(dev, "Could not allocate parent DMA tag (%d)\n", + err); + err = ENXIO; + goto error; + } + + /* Allocate a dma tag for transfer buffers */ + err = bus_dma_tag_create(sc->sc_ohci.sc_bus.parent_dmatag, 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + busdma_lock_mutex, &Giant, &sc->sc_ohci.sc_bus.buffer_dmatag); + if (err) { + device_printf(dev, "Could not allocate transfer tag (%d)\n", + err); + err = ENXIO; + goto error; + } + err = bus_setup_intr(dev, sc->sc_ohci.irq_res, INTR_TYPE_BIO, NULL, ohci_intr, sc, &sc->sc_ohci.ih); if (err) { @@ -158,6 +184,12 @@ bus_teardown_intr(dev, sc->sc_ohci.irq_res, sc->sc_ohci.ih); sc->sc_ohci.ih = NULL; } + + if (sc->sc_ohci.sc_bus.parent_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.parent_dmatag); + if (sc->sc_ohci.sc_bus.buffer_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.buffer_dmatag); + if (sc->sc_ohci.sc_bus.bdev) { device_delete_child(dev, sc->sc_ohci.sc_bus.bdev); sc->sc_ohci.sc_bus.bdev = NULL; ==== //depot/projects/soc2007/rpaulo-macbook/arm/conf/KB920X#2 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.12 2007/03/23 23:47:59 imp Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.13 2007/07/31 17:45:54 imp Exp $ machine arm ident KB920X @@ -93,3 +93,47 @@ device icee device bpf +# USB support +device ohci # OHCI localbus->USB interface +device usb # USB Bus (required) +#device udbp # USB Double Bulk Pipe devices +device ugen # Generic +device uhid # "Human Interface Devices" +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da +device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Ethernet, requires miibus +device miibus +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet +device rue # RealTek RTL8150 USB Ethernet +device udav +# usb serial +device ucom +device uark +device ubsa +device ubser +device uftdi +device uipaq +device uplcom +device uvisor +device uvscom +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) +device cd # CD +device pass # Passthrough device (direct SCSI access) +# Wireless NIC cards +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning ==== //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.90 2007/07/12 00:01:53 jfv Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.91 2007/07/31 03:15:32 marcel Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -88,7 +88,7 @@ CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \ - ${MACHINE_ARCH} == "sparc64" + ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "sparc64" WERROR?= -Werror .endif .endif ==== //depot/projects/soc2007/rpaulo-macbook/conf/options.ia64#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.27 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.28 2007/07/30 22:42:33 marcel Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h @@ -11,6 +11,8 @@ COMPAT_IA32 opt_compat.h +EXCEPTION_TRACING opt_xtrace.h + VGA_ALT_SEQACCESS opt_vga.h VGA_DEBUG opt_vga.h VGA_NO_FONT_LOADING opt_vga.h ==== //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_hpet.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.10 2007/07/22 20:45:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.11 2007/07/30 15:21:26 njl Exp $"); #include "opt_acpi.h" #include @@ -70,7 +70,7 @@ .tc_get_timecount = hpet_get_timecount, .tc_counter_mask = ~0u, .tc_name = "HPET", - .tc_quality = 2000, + .tc_quality = 900, }; static u_int ==== //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_timer.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_timer.c,v 1.41 2007/06/04 18:25:03 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_timer.c,v 1.42 2007/07/30 15:21:26 njl Exp $"); #include "opt_acpi.h" #include @@ -96,7 +96,7 @@ 0, /* no default counter_mask */ 0, /* no default frequency */ "ACPI", /* name */ - 1000 /* quality */ + -1 /* quality (chosen later) */ }; static u_int @@ -185,9 +185,11 @@ if (j == 10) { acpi_timer_timecounter.tc_name = "ACPI-fast"; acpi_timer_timecounter.tc_get_timecount = acpi_timer_get_timecount; + acpi_timer_timecounter.tc_quality = 1000; } else { acpi_timer_timecounter.tc_name = "ACPI-safe"; acpi_timer_timecounter.tc_get_timecount = acpi_timer_get_timecount_safe; + acpi_timer_timecounter.tc_quality = 850; } tc_init(&acpi_timer_timecounter); ==== //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic7xxx.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #include "aicasm/aicasm_insformat.h" #else #include -__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic7xxx.c,v 1.111 2007/04/19 18:53:52 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic7xxx.c,v 1.112 2007/07/31 20:11:02 scottl Exp $"); #include #include #include @@ -6932,7 +6932,6 @@ struct ahc_softc *ahc; ahc = scb->ahc_softc; - ahc_lock(ahc); if ((scb->flags & SCB_ACTIVE) != 0) { if ((scb->flags & SCB_TIMEDOUT) == 0) { LIST_INSERT_HEAD(&ahc->timedout_scbs, scb, @@ -6941,7 +6940,6 @@ } ahc_wakeup_recovery_thread(ahc); } - ahc_unlock(ahc); } /* ==== //depot/projects/soc2007/rpaulo-macbook/dev/aic7xxx/aic_osm_lib.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic_osm_lib.c,v 1.5 2007/04/17 06:26:25 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic_osm_lib.c,v 1.6 2007/07/31 20:11:03 scottl Exp $"); static void aic_recovery_thread(void *arg); @@ -120,9 +120,7 @@ if ((aic->flags & AIC_SHUTDOWN_RECOVERY) != 0) break; - aic_unlock(aic); aic_recover_commands(aic); - aic_lock(aic); } aic->platform_data->recovery_thread = NULL; wakeup(aic->platform_data); ==== //depot/projects/soc2007/rpaulo-macbook/dev/arcmsr/arcmsr.c#3 (text+ko) ==== @@ -56,7 +56,7 @@ ** and cause g_vfs_done() read write error ****************************************************************************************** -* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.23 2007/06/17 05:55:48 scottl Exp $ +* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.24 2007/07/31 20:16:50 scottl Exp $ */ #include #include @@ -103,6 +103,7 @@ #include #include #define ARCMSR_LOCK_INIT(l, s) mtx_init(l, s, NULL, MTX_DEF|MTX_RECURSE) + #define ARCMSR_LOCK_DESTROY(l) mtx_destroy(l) #define ARCMSR_LOCK_ACQUIRE(l) mtx_lock(l) #define ARCMSR_LOCK_RELEASE(l) mtx_unlock(l) #define ARCMSR_LOCK_TRY(l) mtx_trylock(l) @@ -113,6 +114,7 @@ #include #include #define ARCMSR_LOCK_INIT(l, s) simple_lock_init(l) + #define ARCMSR_LOCK_DESTROY(l) #define ARCMSR_LOCK_ACQUIRE(l) simple_lock(l) #define ARCMSR_LOCK_RELEASE(l) simple_unlock(l) #define ARCMSR_LOCK_TRY(l) simple_lock_try(l) @@ -417,7 +419,6 @@ bus_dmamap_sync(acb->dm_segs_dmat, srb->dm_segs_dmamap, op); bus_dmamap_unload(acb->dm_segs_dmat, srb->dm_segs_dmamap); } - ARCMSR_LOCK_ACQUIRE(&acb->workingQ_done_lock); if(stand_flag==1) { atomic_subtract_int(&acb->srboutstandingcount, 1); if((acb->acb_flags & ACB_F_CAM_DEV_QFRZN) && ( @@ -431,7 +432,6 @@ acb->srbworkingQ[acb->workingsrb_doneindex]=srb; acb->workingsrb_doneindex++; acb->workingsrb_doneindex %= ARCMSR_MAX_FREESRB_NUM; - ARCMSR_LOCK_RELEASE(&acb->workingQ_done_lock); xpt_done(pccb); return; } @@ -671,6 +671,18 @@ ********************************************************************** ********************************************************************** */ +static void arcmsr_intr_handler(void *arg) +{ + struct AdapterControlBlock *acb=(struct AdapterControlBlock *)arg; + + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); + arcmsr_interrupt(acb); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); +} +/* +********************************************************************** +********************************************************************** +*/ static void arcmsr_interrupt(void *arg) { struct AdapterControlBlock *acb=(struct AdapterControlBlock *)arg; @@ -1035,7 +1047,6 @@ struct CommandControlBlock *srb=NULL; u_int32_t workingsrb_startindex, workingsrb_doneindex; - ARCMSR_LOCK_ACQUIRE(&acb->workingQ_start_lock); workingsrb_doneindex=acb->workingsrb_doneindex; workingsrb_startindex=acb->workingsrb_startindex; srb=acb->srbworkingQ[workingsrb_startindex]; @@ -1046,7 +1057,6 @@ } else { srb=NULL; } - ARCMSR_LOCK_RELEASE(&acb->workingQ_start_lock); return(srb); } /* @@ -1970,7 +1980,7 @@ /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, /*flags*/ 0, /*lockfunc*/ busdma_lock_mutex, - /*lockarg*/ &Giant, + /*lockarg*/ &acb->qbuffer_lock, &acb->dm_segs_dmat) != 0) #else if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, @@ -2114,9 +2124,10 @@ printf("arcmsr%d: cannot allocate softc\n", unit); return (ENOMEM); } - bzero(acb, sizeof(struct AdapterControlBlock)); + ARCMSR_LOCK_INIT(&acb->qbuffer_lock, "arcmsr Q buffer lock"); if(arcmsr_initialize(dev)) { printf("arcmsr%d: initialize failure!\n", unit); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); return ENXIO; } /* After setting up the adapter, map our interrupt */ @@ -2124,8 +2135,9 @@ irqres=bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0ul, ~0ul, 1, RF_SHAREABLE | RF_ACTIVE); if(irqres == NULL || bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY|INTR_MPSAFE - , NULL, arcmsr_interrupt, acb, &acb->ih)) { + , NULL, arcmsr_intr_handler, acb, &acb->ih)) { arcmsr_free_resource(acb); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: unable to register interrupt handler!\n", unit); return ENXIO; } @@ -2142,23 +2154,27 @@ if(devq == NULL) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: cam_simq_alloc failure!\n", unit); return ENXIO; } acb->psim=cam_sim_alloc(arcmsr_action, arcmsr_poll, - "arcmsr", acb, unit, &Giant, 1, + "arcmsr", acb, unit, &acb->qbuffer_lock, 1, ARCMSR_MAX_OUTSTANDING_CMD, devq); if(acb->psim == NULL) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); cam_simq_free(devq); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: cam_sim_alloc failure!\n", unit); return ENXIO; } + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); if(xpt_bus_register(acb->psim, dev, 0) != CAM_SUCCESS) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); cam_sim_free(acb->psim, /*free_devq*/TRUE); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: xpt_bus_register failure!\n", unit); return ENXIO; } @@ -2170,12 +2186,10 @@ bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); xpt_bus_deregister(cam_sim_path(acb->psim)); cam_sim_free(acb->psim, /* free_simq */ TRUE); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: xpt_create_path failure!\n", unit); return ENXIO; } - ARCMSR_LOCK_INIT(&acb->workingQ_done_lock, "arcmsr done working Q lock"); - ARCMSR_LOCK_INIT(&acb->workingQ_start_lock, "arcmsr start working Q lock"); - ARCMSR_LOCK_INIT(&acb->qbuffer_lock, "arcmsr Q buffer lock"); /* **************************************************** */ @@ -2185,6 +2199,7 @@ csa.callback=arcmsr_async; csa.callback_arg=acb->psim; xpt_action((union ccb *)&csa); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); /* Create the control device. */ acb->ioctl_dev=make_dev(&arcmsr_cdevsw , unit @@ -2256,6 +2271,7 @@ struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev); /* stop adapter background rebuild */ + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); arcmsr_stop_adapter_bgrb(acb); arcmsr_flush_adapter_cache(acb); /* disable all outbound interrupt */ @@ -2289,6 +2305,7 @@ atomic_set_int(&acb->srboutstandingcount, 0); acb->workingsrb_doneindex=0; acb->workingsrb_startindex=0; + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); return; } /* @@ -2299,15 +2316,18 @@ { struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev); + bus_teardown_intr(dev, acb->irqres, acb->ih); arcmsr_shutdown(dev); arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr); - bus_teardown_intr(dev, acb->irqres, acb->ih); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); xpt_async(AC_LOST_DEVICE, acb->ppath, NULL); xpt_free_path(acb->ppath); xpt_bus_deregister(cam_sim_path(acb->psim)); cam_sim_free(acb->psim, TRUE); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); return (0); } ==== //depot/projects/soc2007/rpaulo-macbook/dev/bce/if_bce.c#6 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.33 2007/06/16 02:27:03 davidch Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.34 2007/07/31 00:06:04 davidch Exp $"); /* * The following controllers are supported by this driver: @@ -288,21 +288,22 @@ static int bce_get_buf (struct bce_softc *, struct mbuf *, u16 *, u16 *, u32 *); static int bce_init_tx_chain (struct bce_softc *); +static void bce_fill_rx_chain (struct bce_softc *); static int bce_init_rx_chain (struct bce_softc *); static void bce_free_rx_chain (struct bce_softc *); static void bce_free_tx_chain (struct bce_softc *); -static int bce_tx_encap (struct bce_softc *, struct mbuf **); +static int bce_tx_encap (struct bce_softc *, struct mbuf **); static void bce_start_locked (struct ifnet *); static void bce_start (struct ifnet *); static int bce_ioctl (struct ifnet *, u_long, caddr_t); static void bce_watchdog (struct bce_softc *); static int bce_ifmedia_upd (struct ifnet *); -static void bce_ifmedia_upd_locked (struct ifnet *); +static void bce_ifmedia_upd_locked (struct ifnet *); static void bce_ifmedia_sts (struct ifnet *, struct ifmediareq *); static void bce_init_locked (struct bce_softc *); static void bce_init (void *); -static void bce_mgmt_init_locked(struct bce_softc *sc); +static void bce_mgmt_init_locked (struct bce_softc *sc); static void bce_init_context (struct bce_softc *); static void bce_get_mac_addr (struct bce_softc *); @@ -629,7 +630,7 @@ if (val & BCE_PCICFG_MISC_STATUS_32BIT_DET) sc->bce_flags |= BCE_PCI_32BIT_FLAG; - /* Reset the controller and announce to bootcde that driver is present. */ + /* Reset the controller and announce to bootcode that driver is present. */ if (bce_reset(sc, BCE_DRV_MSG_CODE_RESET)) { BCE_PRINTF("%s(%d): Controller reset failed!\n", __FILE__, __LINE__); @@ -3178,7 +3179,7 @@ bce_disable_intr(sc); - /* Free the RX lists. */ + /* Free RX buffers. */ bce_free_rx_chain(sc); /* Free TX buffers. */ @@ -3498,6 +3499,9 @@ /* This routine will map an mbuf cluster into 1 or more rx_bd's as */ /* necessary. */ /* */ +/* Todo: Consider writing the hardware mailboxes here to make rx_bd's */ +/* available to the hardware as soon as possible. */ +/* */ /* Returns: */ /* 0 for success, positive value for failure. */ /****************************************************************************/ @@ -3505,10 +3509,10 @@ bce_get_buf(struct bce_softc *sc, struct mbuf *m, u16 *prod, u16 *chain_prod, u32 *prod_bseq) { - bus_dmamap_t map; - bus_dma_segment_t segs[4]; + bus_dmamap_t map; + bus_dma_segment_t segs[BCE_MAX_SEGMENTS]; struct mbuf *m_new = NULL; - struct rx_bd *rxbd; + struct rx_bd *rxbd; int i, nsegs, error, rc = 0; #ifdef BCE_DEBUG u16 debug_chain_prod = *chain_prod; @@ -3525,12 +3529,13 @@ DBPRINT(sc, BCE_VERBOSE_RECV, "%s(enter): prod = 0x%04X, chain_prod = 0x%04X, " "prod_bseq = 0x%08X\n", __FUNCTION__, *prod, *chain_prod, *prod_bseq); + /* Check whether this is a new mbuf allocation. */ if (m == NULL) { + /* Simulate an mbuf allocation failure. */ DBRUNIF(DB_RANDOMTRUE(bce_debug_mbuf_allocation_failure), - BCE_PRINTF("%s(%d): Simulating mbuf allocation failure.\n", - __FILE__, __LINE__); - sc->mbuf_alloc_failed++; + sc->mbuf_alloc_failed++; + sc->mbuf_sim_alloc_failed++; rc = ENOBUFS; goto bce_get_buf_exit); @@ -3541,13 +3546,24 @@ DBPRINT(sc, BCE_WARN, "%s(%d): RX mbuf header allocation failed!\n", __FILE__, __LINE__); - DBRUNIF(1, sc->mbuf_alloc_failed++); + sc->mbuf_alloc_failed++; rc = ENOBUFS; goto bce_get_buf_exit; } DBRUNIF(1, sc->rx_mbuf_alloc++); + + /* Simulate an mbuf cluster allocation failure. */ + DBRUNIF(DB_RANDOMTRUE(bce_debug_mbuf_allocation_failure), + m_freem(m_new); + sc->rx_mbuf_alloc--; + sc->mbuf_alloc_failed++; + sc->mbuf_sim_alloc_failed++; + rc = ENOBUFS; + goto bce_get_buf_exit); + + /* Attach a cluster to the mbuf. */ m_cljget(m_new, M_DONTWAIT, sc->mbuf_alloc_size); if (!(m_new->m_flags & M_EXT)) { @@ -3555,16 +3571,17 @@ __FILE__, __LINE__); m_freem(m_new); - DBRUNIF(1, sc->rx_mbuf_alloc--); - DBRUNIF(1, sc->mbuf_alloc_failed++); + sc->mbuf_alloc_failed++; rc = ENOBUFS; goto bce_get_buf_exit; } + /* Initialize the mbuf cluster. */ m_new->m_len = m_new->m_pkthdr.len = sc->mbuf_alloc_size; } else { + /* Reuse an existing mbuf. */ m_new = m; m_new->m_len = m_new->m_pkthdr.len = sc->mbuf_alloc_size; m_new->m_data = m_new->m_ext.ext_buf; @@ -3575,27 +3592,38 @@ error = bus_dmamap_load_mbuf_sg(sc->rx_mbuf_tag, map, m_new, segs, &nsegs, BUS_DMA_NOWAIT); + /* Handle any mapping errors. */ if (error) { BCE_PRINTF("%s(%d): Error mapping mbuf into RX chain!\n", __FILE__, __LINE__); m_freem(m_new); - DBRUNIF(1, sc->rx_mbuf_alloc--); rc = ENOBUFS; goto bce_get_buf_exit; } - /* Watch for overflow. */ - DBRUNIF((sc->free_rx_bd > USABLE_RX_BD), - BCE_PRINTF("%s(%d): Too many free rx_bd (0x%04X > 0x%04X)!\n", - __FILE__, __LINE__, sc->free_rx_bd, (u16) USABLE_RX_BD)); + /* Make sure there is room in the receive chain. */ + if (nsegs > sc->free_rx_bd) { + bus_dmamap_unload(sc->rx_mbuf_tag, map); + + m_freem(m_new); + DBRUNIF(1, sc->rx_mbuf_alloc--); + + rc = EFBIG; + goto bce_get_buf_exit; + } + +#ifdef BCE_DEBUG + /* Track the distribution of buffer segments. */ + sc->rx_mbuf_segs[nsegs]++; +#endif /* Update some debug statistic counters */ DBRUNIF((sc->free_rx_bd < sc->rx_low_watermark), sc->rx_low_watermark = sc->free_rx_bd); - DBRUNIF((sc->free_rx_bd == 0), sc->rx_empty_count++); + DBRUNIF((sc->free_rx_bd == sc->max_rx_bd), sc->rx_empty_count++); /* Setup the rx_bd for the first segment. */ rxbd = &sc->rx_bd_chain[RX_PAGE(*chain_prod)][RX_IDX(*chain_prod)]; @@ -3741,6 +3769,8 @@ for (i = 0; i < TX_PAGES; i++) bzero((char *)sc->tx_bd_chain[i], BCE_TX_CHAIN_PAGE_SZ); + sc->used_tx_bd = 0; + /* Check if we lost any mbufs in the process. */ DBRUNIF((sc->tx_mbuf_alloc), BCE_PRINTF("%s(%d): Memory leak! Lost %d mbufs " @@ -3752,6 +3782,62 @@ /****************************************************************************/ +/* Add mbufs to the RX chain until its full or an mbuf allocation error */ +/* occurs. */ +/* */ +/* Returns: */ +/* Nothing */ +/****************************************************************************/ +static void +bce_fill_rx_chain(struct bce_softc *sc) +{ + u16 prod, chain_prod; + u32 prod_bseq; +#ifdef BCE_DEBUG + int rx_mbuf_alloc_before, free_rx_bd_before; +#endif + + DBPRINT(sc, BCE_EXCESSIVE_RECV, "Entering %s()\n", __FUNCTION__); + + prod = sc->rx_prod; + prod_bseq = sc->rx_prod_bseq; + +#ifdef BCE_DEBUG + rx_mbuf_alloc_before = sc->rx_mbuf_alloc; + free_rx_bd_before = sc->free_rx_bd; +#endif + + /* Keep filling the RX chain until it's full. */ + while (sc->free_rx_bd > 0) { + chain_prod = RX_CHAIN_IDX(prod); + if (bce_get_buf(sc, NULL, &prod, &chain_prod, &prod_bseq)) { + /* Bail out if we can't add an mbuf to the chain. */ + break; + } + prod = NEXT_RX_BD(prod); + } + +#if 0 + DBRUNIF((sc->rx_mbuf_alloc - rx_mbuf_alloc_before), + BCE_PRINTF("%s(): Installed %d mbufs in %d rx_bd entries.\n", + __FUNCTION__, (sc->rx_mbuf_alloc - rx_mbuf_alloc_before), + (free_rx_bd_before - sc->free_rx_bd))); +#endif + + /* Save the RX chain producer index. */ + sc->rx_prod = prod; + sc->rx_prod_bseq = prod_bseq; + + /* Tell the chip about the waiting rx_bd's. */ + REG_WR16(sc, MB_RX_CID_ADDR + BCE_L2CTX_HOST_BDIDX, sc->rx_prod); + REG_WR(sc, MB_RX_CID_ADDR + BCE_L2CTX_HOST_BSEQ, sc->rx_prod_bseq); + + DBPRINT(sc, BCE_EXCESSIVE_RECV, "Exiting %s()\n", __FUNCTION__); + +} + + +/****************************************************************************/ /* Allocate memory and initialize the RX data structures. */ /* */ /* Returns: */ @@ -3762,8 +3848,7 @@ { struct rx_bd *rxbd; int i, rc = 0; - u16 prod, chain_prod; - u32 prod_bseq, val; + u32 val; DBPRINT(sc, BCE_VERBOSE_RESET, "Entering %s()\n", __FUNCTION__); @@ -3805,22 +3890,10 @@ val = BCE_ADDR_LO(sc->rx_bd_chain_paddr[0]); CTX_WR(sc, GET_CID_ADDR(RX_CID), BCE_L2CTX_NX_BDHADDR_LO, val); - /* Allocate mbuf clusters for the rx_bd chain. */ - prod = prod_bseq = 0; - while (prod < TOTAL_RX_BD) { - chain_prod = RX_CHAIN_IDX(prod); - if (bce_get_buf(sc, NULL, &prod, &chain_prod, &prod_bseq)) { - BCE_PRINTF("%s(%d): Error filling RX chain: rx_bd[0x%04X]!\n", - __FILE__, __LINE__, chain_prod); - rc = ENOBUFS; - break; - } - prod = NEXT_RX_BD(prod); - } + + /* Fill up the RX chain. */ + bce_fill_rx_chain(sc); - /* Save the RX chain producer index. */ - sc->rx_prod = prod; - sc->rx_prod_bseq = prod_bseq; for (i = 0; i < RX_PAGES; i++) { bus_dmamap_sync( @@ -3829,10 +3902,6 @@ BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); } - /* Tell the chip about the waiting rx_bd's. */ - REG_WR16(sc, MB_RX_CID_ADDR + BCE_L2CTX_HOST_BDIDX, sc->rx_prod); - REG_WR(sc, MB_RX_CID_ADDR + BCE_L2CTX_HOST_BSEQ, sc->rx_prod_bseq); - DBRUN(BCE_VERBOSE_RECV, bce_dump_rx_chain(sc, 0, TOTAL_RX_BD)); DBPRINT(sc, BCE_VERBOSE_RESET, "Exiting %s()\n", __FUNCTION__); @@ -3851,9 +3920,16 @@ bce_free_rx_chain(struct bce_softc *sc) { int i; +#ifdef BCE_DEBUG + int rx_mbuf_alloc_before; +#endif DBPRINT(sc, BCE_VERBOSE_RESET, "Entering %s()\n", __FUNCTION__); +#ifdef BCE_DEBUG + rx_mbuf_alloc_before = sc->rx_mbuf_alloc; +#endif + /* Free any mbufs still in the RX mbuf chain. */ for (i = 0; i < TOTAL_RX_BD; i++) { if (sc->rx_mbuf_ptr[i] != NULL) { @@ -3866,10 +3942,16 @@ } } + DBRUNIF((rx_mbuf_alloc_before - sc->rx_mbuf_alloc), + BCE_PRINTF("%s(): Released %d mbufs.\n", + __FUNCTION__, (rx_mbuf_alloc_before - sc->rx_mbuf_alloc))); + /* Clear each RX chain page. */ for (i = 0; i < RX_PAGES; i++) bzero((char *)sc->rx_bd_chain[i], BCE_RX_CHAIN_PAGE_SZ); + sc->free_rx_bd = sc->max_rx_bd; + /* Check if we lost any mbufs in the process. */ DBRUNIF((sc->rx_mbuf_alloc), BCE_PRINTF("%s(%d): Memory leak! Lost %d mbufs from rx chain!\n", @@ -4035,8 +4117,7 @@ DBPRINT(sc, BCE_INFO_RECV, "%s(enter): sw_prod = 0x%04X, " "sw_cons = 0x%04X, sw_prod_bseq = 0x%08X\n", - __FUNCTION__, sw_prod, sw_cons, - sw_prod_bseq); + __FUNCTION__, sw_prod, sw_cons, sw_prod_bseq); /* Prevent speculative reads from getting ahead of the status block. */ bus_space_barrier(sc->bce_btag, sc->bce_bhandle, 0, 0, @@ -4045,7 +4126,7 @@ /* Update some debug statistics counters */ DBRUNIF((sc->free_rx_bd < sc->rx_low_watermark), sc->rx_low_watermark = sc->free_rx_bd); - DBRUNIF((sc->free_rx_bd == 0), sc->rx_empty_count++); + DBRUNIF((sc->free_rx_bd == USABLE_RX_BD), sc->rx_empty_count++); /* Scan through the receive chain as long as there is work to do */ while (sw_cons != hw_cons) { @@ -4100,7 +4181,7 @@ bus_dmamap_unload(sc->rx_mbuf_tag, sc->rx_mbuf_map[sw_chain_cons]); - /* Remove the mbuf from the driver's chain. */ + /* Remove the mbuf from the RX chain. */ m = sc->rx_mbuf_ptr[sw_chain_cons]; sc->rx_mbuf_ptr[sw_chain_cons] = NULL; @@ -4138,44 +4219,17 @@ L2_FHDR_ERRORS_PHY_DECODE | L2_FHDR_ERRORS_ALIGNMENT | L2_FHDR_ERRORS_TOO_SHORT | L2_FHDR_ERRORS_GIANT_FRAME)) { + /* Log the error and release the mbuf. */ ifp->if_ierrors++; DBRUNIF(1, sc->l2fhdr_status_errors++); + + /* Todo: Reuse the mbuf to improve performance. */ - /* Reuse the mbuf for a new frame. */ - if (bce_get_buf(sc, m, &sw_prod, &sw_chain_prod, &sw_prod_bseq)) { - - DBRUNIF(1, bce_breakpoint(sc)); - panic("bce%d: Can't reuse RX mbuf!\n", sc->bce_unit); - - } + m_freem(m); + m = NULL; goto bce_rx_int_next_rx; } - /* - * Get a new mbuf for the rx_bd. If no new - * mbufs are available then reuse the current mbuf, - * log an ierror on the interface, and generate - * an error in the system log. - */ - if (bce_get_buf(sc, NULL, &sw_prod, &sw_chain_prod, &sw_prod_bseq)) { - - DBRUN(BCE_WARN, - BCE_PRINTF("%s(%d): Failed to allocate " - "new mbuf, incoming frame dropped!\n", - __FILE__, __LINE__)); - - ifp->if_ierrors++; - - /* Try and reuse the exisitng mbuf. */ - if (bce_get_buf(sc, m, &sw_prod, &sw_chain_prod, &sw_prod_bseq)) { - - DBRUNIF(1, bce_breakpoint(sc)); - panic("bce%d: Double mbuf allocation failure!", sc->bce_unit); - - } - goto bce_rx_int_next_rx; - } - /* Skip over the l2_fhdr when passing the data up the stack. */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Aug 1 17:05:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E097D16A41F; Wed, 1 Aug 2007 17:05:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A048D16A41A for ; Wed, 1 Aug 2007 17:05:30 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9140B13C442 for ; Wed, 1 Aug 2007 17:05:30 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71H5Uia052782 for ; Wed, 1 Aug 2007 17:05:30 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71H5Ulh052779 for perforce@freebsd.org; Wed, 1 Aug 2007 17:05:30 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 17:05:30 GMT Message-Id: <200708011705.l71H5Ulh052779@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124477 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 17:05:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=124477 Change 124477 by zec@zec_tpx32 on 2007/08/01 17:04:33 Register netgraph as a vnet module from a SYSINIT-triggered function, not modevent handler. This ensures that netgraph will be registered as (one of) the last vnet modules, regardless whether netgraph is kldloaded at run time, kldloaded before booting, or statically compiled in the kernel. In effect, a per vnet module destructor for netgsaph will be always invoked before other protocol module's destructors, ensuring ng nodes and thus ifnets will be gone before other protocol instances begin to vanish. Before this change, if netgraph were kldloaded before booting, netgraph nodes and associated ifnets would still be hanging around during network protocols shutting down, leading to random panics. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#16 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#16 (text+ko) ==== @@ -251,7 +251,9 @@ static vnet_attach_fn vnet_netgraph_iattach; #ifdef VIMAGE static vnet_detach_fn vnet_netgraph_idetach; -#endif +static void netgraph_register(void *); +SYSINIT(netgraph, SI_SUB_PROTO_END, SI_ORDER_FIRST, netgraph_register, NULL) +#endif /* VIMAGE */ VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, vnet_netgraph_idetach) @@ -3189,11 +3191,9 @@ uma_zone_set_max(ng_qzone, maxalloc); netisr_register(NETISR_NETGRAPH, (netisr_t *)ngintr, NULL, NETISR_MPSAFE); -#ifdef VIMAGE - vnet_mod_register(&vnet_netgraph_modinfo); -#else +#ifndef VIMAGE vnet_netgraph_iattach(NULL); -#endif +#endif /* !VIMAGE */ break; case MOD_UNLOAD: /* You can't unload it because an interface may be using it. */ @@ -3215,7 +3215,7 @@ return 0; } -#ifdef VIMAGE +#ifdef VIMAGE static int vnet_netgraph_idetach(const void *unused) { INIT_VNET_NETGRAPH(curvnet); @@ -3239,7 +3239,12 @@ return 0; } -#endif + +void netgraph_register(void *unused) +{ + vnet_mod_register(&vnet_netgraph_modinfo); +} +#endif /* VIMAGE */ static moduledata_t netgraph_mod = { "netgraph", From owner-p4-projects@FreeBSD.ORG Wed Aug 1 17:07:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C00FB16A420; Wed, 1 Aug 2007 17:07:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9594216A41A for ; Wed, 1 Aug 2007 17:07:33 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 86E6F13C442 for ; Wed, 1 Aug 2007 17:07:33 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71H7XdV052848 for ; Wed, 1 Aug 2007 17:07:33 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71H7XMg052845 for perforce@freebsd.org; Wed, 1 Aug 2007 17:07:33 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 1 Aug 2007 17:07:33 GMT Message-Id: <200708011707.l71H7XMg052845@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124478 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 17:07:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124478 Change 124478 by zec@zec_tpx32 on 2007/08/01 17:07:22 Introduce a few printf()s for tracking ordering of vnet module instatiation and cleanup. Enabled / disabled at compile time via DEBUG_ORDERING. A few indentation cleanups here and there. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#30 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#30 (text+ko) ==== @@ -72,6 +72,8 @@ static int vnet_mod_constructor(struct vnet_modlink *); static int vnet_mod_destructor(struct vnet_modlink *); +#define DEBUG_ORDERING + #ifdef VI_PREALLOC_SIZE /* * A private memory allocator can be enabled by setting VI_PREALLOC_SIZE @@ -598,7 +600,19 @@ { const struct vnet_modinfo *vmi = vml->vml_modinfo; - if (vml->vml_modinfo->vmi_struct_size) { +#ifdef DEBUG_ORDERING + printf("instatiating vnet_%s", vmi->vmi_name); + if (vml->vml_iarg) + printf("/%s", vml->vml_iname); + printf(": "); + if (vmi->vmi_struct_size) + printf("malloc(%d); ", vmi->vmi_struct_size); + if (vmi->vmi_iattach != NULL) + printf("iattach()"); + printf("\n"); +#endif + + if (vmi->vmi_struct_size) { void *mem = vi_malloc(vmi->vmi_struct_size, M_VNET, M_NOWAIT | M_ZERO); if (mem == NULL) /* XXX should return error, not panic */ @@ -606,8 +620,8 @@ curvnet->mod_data[vmi->vmi_id] = mem; } - if (vml->vml_modinfo->vmi_iattach != NULL) - vml->vml_modinfo->vmi_iattach(vml->vml_iarg); + if (vmi->vmi_iattach != NULL) + vmi->vmi_iattach(vml->vml_iarg); return 0; } @@ -615,16 +629,29 @@ static int vnet_mod_destructor(vml) struct vnet_modlink *vml; { - if (vml->vml_modinfo->vmi_idetach) - vml->vml_modinfo->vmi_idetach(vml->vml_iarg); - if (vml->vml_modinfo->vmi_struct_size) { - if (curvnet->mod_data[vml->vml_modinfo->vmi_id] == NULL) - panic("vi_destroy: %s\n", - vml->vml_modinfo->vmi_name); - vi_free(curvnet->mod_data[vml->vml_modinfo->vmi_id], - M_VNET); - curvnet->mod_data[vml->vml_modinfo->vmi_id] = NULL; - } + const struct vnet_modinfo *vmi = vml->vml_modinfo; + +#ifdef DEBUG_ORDERING + printf("destroying vnet_%s", vmi->vmi_name); + if (vml->vml_iarg) + printf("/%s", vml->vml_iname); + printf(": "); + if (vmi->vmi_idetach != NULL) + printf("idetach(); "); + if (vmi->vmi_struct_size) + printf("free()"); + printf("\n"); +#endif + + if (vmi->vmi_idetach) + vmi->vmi_idetach(vml->vml_iarg); + + if (vmi->vmi_struct_size) { + if (curvnet->mod_data[vmi->vmi_id] == NULL) + panic("vi_destroy: %s\n", vmi->vmi_name); + vi_free(curvnet->mod_data[vmi->vmi_id], M_VNET); + curvnet->mod_data[vmi->vmi_id] = NULL; + } return 0; } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 19:23:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D079216A473; Wed, 1 Aug 2007 19:23:25 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A4DB916A46D for ; Wed, 1 Aug 2007 19:23:25 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7C58913C4E1 for ; Wed, 1 Aug 2007 19:23:25 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71JNP3s064103 for ; Wed, 1 Aug 2007 19:23:25 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71JNPVH064100 for perforce@freebsd.org; Wed, 1 Aug 2007 19:23:25 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 19:23:25 GMT Message-Id: <200708011923.l71JNPVH064100@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124480 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 19:23:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=124480 Change 124480 by cnst@dale on 2007/08/01 19:22:47 branch usr.sbin/Makefile Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.sbin/Makefile#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Wed Aug 1 19:23:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4966C16A41F; Wed, 1 Aug 2007 19:23:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1E0D16A41B for ; Wed, 1 Aug 2007 19:23:42 +0000 (UTC) (envelope-from julian@elischer.org) Received: from outV.internet-mail-service.net (outV.internet-mail-service.net [216.240.47.245]) by mx1.freebsd.org (Postfix) with ESMTP id CA13113C459 for ; Wed, 1 Aug 2007 19:23:42 +0000 (UTC) (envelope-from julian@elischer.org) Received: from mx0.idiom.com (HELO idiom.com) (216.240.32.160) by out.internet-mail-service.net (qpsmtpd/0.32) with ESMTP; Wed, 01 Aug 2007 12:23:41 -0700 Received: from julian-mac.elischer.org (nat.ironport.com [63.251.108.100]) by idiom.com (Postfix) with ESMTP id 6BEB3125AF7; Wed, 1 Aug 2007 12:23:41 -0700 (PDT) Message-ID: <46B0DDE6.3060204@elischer.org> Date: Wed, 01 Aug 2007 12:24:22 -0700 From: Julian Elischer User-Agent: Thunderbird 2.0.0.5 (Macintosh/20070716) MIME-Version: 1.0 To: Marko Zec References: <200708011204.l71C4uW1001086@repoman.freebsd.org> In-Reply-To: <200708011204.l71C4uW1001086@repoman.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124458 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 19:23:43 -0000 Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=124458 > > Change 124458 by zec@zec_tpx32 on 2007/08/01 12:04:48 > > Per Julian's suggestion, if a netgraph node won't die, try > to kill it with NGF_REALLY_DIE flag set. > > IMO this should never happen given that no netgraph nodes > associated with any physical hardware should be present in > a dying vnet at this point, so print out a warning if we ever > encounter such an event, in which case it will need more work > and inspection, otherwise we could leak hardware devices on > vnet shutdown. > you might just always set this bit the first time around.. > Affected files ... > > .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#14 edit > > Differences ... > > ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#14 (text+ko) ==== > > @@ -3222,8 +3222,17 @@ > node_p node, last_killed = NULL; > > while ((node = LIST_FIRST(&V_ng_nodelist)) != NULL) { > - if (node == last_killed) > - panic("netgraph node %s won't die", node->nd_name); > + if (node == last_killed) { > + /* This should never happen */ > + node->nd_flags |= NGF_REALLY_DIE; > + printf("netgraph node %s needs NGF_REALLY_DIE", > + node->nd_name); > + ng_rmnode(node, NULL, NULL, 0); > + /* This must never happen */ > + if (node == LIST_FIRST(&V_ng_nodelist)) > + panic("netgraph node %s won't die", > + node->nd_name); > + } > ng_rmnode(node, NULL, NULL, 0); > last_killed = node; > } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 19:25:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DBFBF16A420; Wed, 1 Aug 2007 19:25:29 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9ED7816A419 for ; Wed, 1 Aug 2007 19:25:29 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7607013C461 for ; Wed, 1 Aug 2007 19:25:29 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71JPTx2064219 for ; Wed, 1 Aug 2007 19:25:29 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71JPT1A064216 for perforce@freebsd.org; Wed, 1 Aug 2007 19:25:29 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 19:25:29 GMT Message-Id: <200708011925.l71JPT1A064216@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124481 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 19:25:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=124481 Change 124481 by cnst@dale on 2007/08/01 19:25:12 connect sensorsd to the build Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.sbin/Makefile#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/usr.sbin/Makefile#2 (text+ko) ==== @@ -158,6 +158,7 @@ ${_sendmail} \ setfmac \ setpmac \ + sensorsd \ ${_sicontrol} \ sliplogin \ slstat \ From owner-p4-projects@FreeBSD.ORG Wed Aug 1 19:32:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E43F16A46E; Wed, 1 Aug 2007 19:32:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EC99E16A46B for ; Wed, 1 Aug 2007 19:32:38 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C45F913C4A3 for ; Wed, 1 Aug 2007 19:32:38 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71JWcgO064732 for ; Wed, 1 Aug 2007 19:32:38 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71JWclJ064729 for perforce@freebsd.org; Wed, 1 Aug 2007 19:32:38 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 19:32:38 GMT Message-Id: <200708011932.l71JWclJ064729@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124482 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 19:32:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=124482 Change 124482 by cnst@dale on 2007/08/01 19:31:59 KNF Affected files ... .. //depot/projects/soc2007/cnst-sensors/sbin.sysctl/sysctl.c#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sbin.sysctl/sysctl.c#2 (text+ko) ==== @@ -749,7 +749,7 @@ if (!i && !bflag) putchar('\n'); - memcpy(name1+2, name2, l2 * sizeof(int)); + memcpy(name1 + 2, name2, l2 * sizeof(int)); l1 = 2 + l2; } } From owner-p4-projects@FreeBSD.ORG Wed Aug 1 19:45:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 487A916A420; Wed, 1 Aug 2007 19:45:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0330F16A41B for ; Wed, 1 Aug 2007 19:45:12 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E6D4313C46B for ; Wed, 1 Aug 2007 19:45:11 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71JjBju065562 for ; Wed, 1 Aug 2007 19:45:11 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71JjBHZ065559 for perforce@freebsd.org; Wed, 1 Aug 2007 19:45:11 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 19:45:11 GMT Message-Id: <200708011945.l71JjBHZ065559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124484 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 19:45:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=124484 Change 124484 by cnst@dale on 2007/08/01 19:44:26 change window settings to be more in line with other FreeBSD systat(1) modules Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#1 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#2 $ */ /* $FreeBSD$ */ /* $OpenBSD: sensors.c,v 1.11 2007/03/23 14:48:22 ckuethe Exp $ */ @@ -45,7 +45,7 @@ WINDOW * opensensors(void) { - return (subwin(stdscr, LINES-1-1, 0, 1, 0)); + return (subwin(stdscr, LINES-3-1, 0, MAINWIN_ROW, 0)); } void @@ -63,10 +63,10 @@ { wmove(wnd, 0, 0); wclrtobot(wnd); - mvwaddstr(wnd, 1, 0, "Sensor"); - mvwaddstr(wnd, 1, 34, "Value"); - mvwaddstr(wnd, 1, 45, "Status"); - mvwaddstr(wnd, 1, 58, "Description"); + mvwaddstr(wnd, 0, 0, "Sensor"); + mvwaddstr(wnd, 0, 34, "Value"); + mvwaddstr(wnd, 0, 45, "Status"); + mvwaddstr(wnd, 0, 58, "Description"); } void @@ -79,7 +79,7 @@ mib[0] = CTL_HW; mib[1] = HW_SENSORS; - row = 2; + row = 1; sensor_cnt = 0; wmove(wnd, row, 0); From owner-p4-projects@FreeBSD.ORG Wed Aug 1 21:20:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1514716A49A; Wed, 1 Aug 2007 21:20:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B41C216A480 for ; Wed, 1 Aug 2007 21:20:12 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9F7BC13C4A3 for ; Wed, 1 Aug 2007 21:20:12 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71LKCGB083405 for ; Wed, 1 Aug 2007 21:20:12 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71LKCJw083393 for perforce@freebsd.org; Wed, 1 Aug 2007 21:20:12 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 21:20:12 GMT Message-Id: <200708012120.l71LKCJw083393@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124489 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 21:20:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124489 Change 124489 by cnst@dale on 2007/08/01 21:19:37 zap unneeded includes Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#7 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#6 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#7 $ */ /* $FreeBSD$ */ /* $OpenBSD: lm78.c,v 1.18 2007/05/26 22:47:39 cnst Exp $ */ @@ -25,8 +25,6 @@ #include #include #include -#include -#include #include #include From owner-p4-projects@FreeBSD.ORG Wed Aug 1 21:42:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 38AF216A468; Wed, 1 Aug 2007 21:42:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EADC416A41F for ; Wed, 1 Aug 2007 21:42:41 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D8E7213C457 for ; Wed, 1 Aug 2007 21:42:41 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71Lgfcv084897 for ; Wed, 1 Aug 2007 21:42:41 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71LgfPb084894 for perforce@freebsd.org; Wed, 1 Aug 2007 21:42:41 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 21:42:41 GMT Message-Id: <200708012142.l71LgfPb084894@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124491 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 21:42:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=124491 Change 124491 by cnst@dale on 2007/08/01 21:41:46 add lm_isa_detach for upcoming lm(4) module, which will allow to test more logic from kern_sensors.c Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#3 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#2 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#3 $ */ /* $FreeBSD$ */ /* $OpenBSD: lm78_isa.c,v 1.2 2007/07/01 21:48:57 cnst Exp $ */ @@ -62,6 +62,7 @@ static int lm_isa_probe(struct device *); static int lm_isa_attach(struct device *); +static int lm_isa_detach(struct device *); u_int8_t lm_isa_readreg(struct lm_softc *, int); void lm_isa_writereg(struct lm_softc *, int, int); @@ -69,6 +70,7 @@ /* Methods from the device interface */ DEVMETHOD(device_probe, lm_isa_probe), DEVMETHOD(device_attach, lm_isa_attach), + DEVMETHOD(device_detach, lm_isa_detach), /* Terminate method list */ { 0, 0 } @@ -222,6 +224,20 @@ return (0); } +int +lm_isa_detach(struct device *dev) +{ + struct lm_isa_softc *sc = device_get_softc(dev); + int error; + + /* Bus-independent detachment */ + error = lm_detach(&sc->sc_lmsc); + + bus_space_unmap(sc->sc_iot, sc->sc_ioh, 8); + + return (error); +} + u_int8_t lm_isa_readreg(struct lm_softc *lmsc, int reg) { From owner-p4-projects@FreeBSD.ORG Wed Aug 1 21:45:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6270E16A420; Wed, 1 Aug 2007 21:45:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36B4C16A419 for ; Wed, 1 Aug 2007 21:45:47 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 23D7113C494 for ; Wed, 1 Aug 2007 21:45:47 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71LjkZb085065 for ; Wed, 1 Aug 2007 21:45:46 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71LjkbF085057 for perforce@freebsd.org; Wed, 1 Aug 2007 21:45:46 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 21:45:46 GMT Message-Id: <200708012145.l71LjkbF085057@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124492 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 21:45:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=124492 Change 124492 by cnst@dale on 2007/08/01 21:44:57 add lm(4) module, which we will use to test more attach/detach logic from kern_sensors.c Affected files ... .. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#4 edit .. //depot/projects/soc2007/cnst-sensors/sys.modules.lm/Makefile#1 add Differences ... ==== //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#4 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#3 $ +# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#4 $ # Author: Constantine A. Murenin, 2007-07 # This file creates symbolic links for GSoC2007 cnst_sensors project @@ -10,7 +10,7 @@ #create some directories that are specific for this project, #if they don't exist already -for i in "sys/dev/lm" "usr.sbin/sensorsd" +for i in "sys/dev/lm" "sys/modules/lm" "usr.sbin/sensorsd" do DIR2C=$TPREFIX/$i #directory to create if [ ! -d $DIR2C ] @@ -41,6 +41,6 @@ echo "File $TFILE renamed" fi ln -sh $SFILE $TFILE || \ - echo "File $FILEINDIR not copied to $TDIR, file already exists" + echo "File $FILEINDIR not copied to $TDIR, error occupied" done done From owner-p4-projects@FreeBSD.ORG Wed Aug 1 22:20:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9AA3C16A469; Wed, 1 Aug 2007 22:20:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53C8316A418 for ; Wed, 1 Aug 2007 22:20:31 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 41D6013C46C for ; Wed, 1 Aug 2007 22:20:31 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l71MKVRB088477 for ; Wed, 1 Aug 2007 22:20:31 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l71MKVCa088474 for perforce@freebsd.org; Wed, 1 Aug 2007 22:20:31 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 1 Aug 2007 22:20:31 GMT Message-Id: <200708012220.l71MKVCa088474@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124494 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Aug 2007 22:20:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=124494 Change 124494 by cnst@dale on 2007/08/01 22:19:48 better error handling, although lm_detach() always returns 0, so this doesn't matter that much Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#4 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#3 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78_isa.c#4 $ */ /* $FreeBSD$ */ /* $OpenBSD: lm78_isa.c,v 1.2 2007/07/01 21:48:57 cnst Exp $ */ @@ -232,10 +232,12 @@ /* Bus-independent detachment */ error = lm_detach(&sc->sc_lmsc); + if (error) + return (error); bus_space_unmap(sc->sc_iot, sc->sc_ioh, 8); - return (error); + return (0); } u_int8_t From owner-p4-projects@FreeBSD.ORG Thu Aug 2 05:57:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C66A216A468; Thu, 2 Aug 2007 05:57:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92BD516A418 for ; Thu, 2 Aug 2007 05:57:06 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 67E9213C442 for ; Thu, 2 Aug 2007 05:57:06 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l725v62T042105 for ; Thu, 2 Aug 2007 05:57:06 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l725v6jO042102 for perforce@freebsd.org; Thu, 2 Aug 2007 05:57:06 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 2 Aug 2007 05:57:06 GMT Message-Id: <200708020557.l725v6jO042102@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124508 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 05:57:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=124508 Change 124508 by zhouzhouyi@zhouzhouyi_mactest on 2007/08/02 05:56:33 Mandatory Access Control cases for truncate Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/truncate/00.t#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Thu Aug 2 11:13:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2C08D16A468; Thu, 2 Aug 2007 11:13:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04E2416A41F for ; Thu, 2 Aug 2007 11:13:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CDABB13C478 for ; Thu, 2 Aug 2007 11:13:55 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l72BDt3c076421 for ; Thu, 2 Aug 2007 11:13:55 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l72BDtBv076418 for perforce@freebsd.org; Thu, 2 Aug 2007 11:13:55 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Aug 2007 11:13:55 GMT Message-Id: <200708021113.l72BDtBv076418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124528 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 11:13:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=124528 Change 124528 by rdivacky@rdivacky_witten on 2007/08/02 11:13:51 Shout loud when calling UNIMPL syscall. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#2 (text+ko) ==== @@ -1557,6 +1557,7 @@ int linux_nosys(struct thread *td, struct nosys_args *ignore) { + printf("UNIMPL syscall called!\n"); return (ENOSYS); } From owner-p4-projects@FreeBSD.ORG Thu Aug 2 11:30:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 221B016A418; Thu, 2 Aug 2007 11:30:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E865116A421 for ; Thu, 2 Aug 2007 11:30:17 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D51D613C457 for ; Thu, 2 Aug 2007 11:30:17 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l72BUHSD077201 for ; Thu, 2 Aug 2007 11:30:17 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l72BUHrY077198 for perforce@freebsd.org; Thu, 2 Aug 2007 11:30:17 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Aug 2007 11:30:17 GMT Message-Id: <200708021130.l72BUHrY077198@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 11:30:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=124529 Change 124529 by rdivacky@rdivacky_witten on 2007/08/02 11:30:05 Implement fake linux_sched_getaffinity() thus fixing java with 2.6.16 and god knows what else. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_proto.h#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_syscall.h#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_sysent.c#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.master#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#3 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_proto.h#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_syscall.h#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysent.c#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/syscalls.master#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp */ @@ -734,6 +734,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_getaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_set_thread_area_args { char desc_l_[PADL_(struct l_user_desc *)]; struct l_user_desc * desc; char desc_r_[PADR_(struct l_user_desc *)]; }; @@ -1099,6 +1104,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); @@ -1172,6 +1178,13 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +#define nosys linux_nosys + +#endif /* COMPAT_FREEBSD6 */ + #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 @@ -1346,6 +1359,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp */ @@ -222,6 +222,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.31 2007/03/30 00:08:21 jkim Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp */ @@ -262,7 +262,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ + { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -408,7 +408,8 @@ 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } 241 AUE_NULL UNIMPL linux_sched_setaffinity -242 AUE_NULL UNIMPL linux_sched_getaffinity +242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } 244 AUE_NULL UNIMPL linux_get_thread_area 245 AUE_NULL UNIMPL linux_io_setup ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#3 (text+ko) ==== @@ -1714,3 +1714,17 @@ return (error); } + +/* XXX: fake one.. waiting for ssouhlal to commit his patch */ +int +linux_sched_getaffinity(struct thread *td, struct linux_sched_getaffinity_args *args) +{ + int error; + cpumask_t i = ~0; + + if (args->len < sizeof(cpumask_t)) + return (EINVAL); + + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); + return (error); +} ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_proto.h,v 1.92 2007/03/29 02:11:46 julian Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.86 2007/02/15 00:54:40 jkim Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.87 2007/03/29 02:11:46 julian Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -731,6 +731,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_getaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_set_thread_area_args { char desc_l_[PADL_(struct l_user_desc *)]; struct l_user_desc * desc; char desc_r_[PADR_(struct l_user_desc *)]; }; @@ -1118,6 +1123,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_get_thread_area(struct thread *, struct linux_get_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); @@ -1192,6 +1198,13 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +#define nosys linux_nosys + +#endif /* COMPAT_FREEBSD6 */ + #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 @@ -1366,6 +1379,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_get_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_syscall.h,v 1.85 2007/03/29 02:11:46 julian Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.86 2007/02/15 00:54:40 jkim Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.87 2007/03/29 02:11:46 julian Exp */ #define LINUX_SYS_exit 1 @@ -228,6 +228,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_get_thread_area 244 #define LINUX_SYS_linux_fadvise64 250 ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/i386/linux/linux_sysent.c,v 1.92 2007/03/29 02:11:46 julian Exp $ - * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.86 2007/02/15 00:54:40 jkim Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/i386/linux/syscalls.master,v 1.87 2007/03/29 02:11:46 julian Exp */ #include @@ -261,7 +261,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ + { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { AS(linux_get_thread_area_args), (sy_call_t *)linux_get_thread_area, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/syscalls.master#2 (text+ko) ==== @@ -410,7 +410,8 @@ 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } 241 AUE_NULL UNIMPL linux_sched_setaffinity -242 AUE_NULL UNIMPL linux_sched_getaffinity +242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } 244 AUE_NULL STD { int linux_get_thread_area(struct l_user_desc *desc); } 245 AUE_NULL UNIMPL linux_io_setup From owner-p4-projects@FreeBSD.ORG Thu Aug 2 13:23:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C2EE16A46D; Thu, 2 Aug 2007 13:23:17 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C690916A468; Thu, 2 Aug 2007 13:23:16 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from redbull.bpaserver.net (redbullneu.bpaserver.net [213.198.78.217]) by mx1.freebsd.org (Postfix) with ESMTP id 7E4A813C48D; Thu, 2 Aug 2007 13:23:16 +0000 (UTC) (envelope-from alexander@leidinger.net) Received: from outgoing.leidinger.net (p54A56CDD.dip.t-dialin.net [84.165.108.221]) by redbull.bpaserver.net (Postfix) with ESMTP id 64DBB2E11E; Thu, 2 Aug 2007 15:23:11 +0200 (CEST) Received: from webmail.leidinger.net (webmail.Leidinger.net [192.168.1.102]) by outgoing.leidinger.net (Postfix) with ESMTP id 884935B5432; Thu, 2 Aug 2007 15:20:58 +0200 (CEST) Received: (from www@localhost) by webmail.leidinger.net (8.13.8/8.13.8/Submit) id l72DKwUf007624; Thu, 2 Aug 2007 15:20:58 +0200 (CEST) (envelope-from Alexander@Leidinger.net) Received: from pslux.cec.eu.int (pslux.cec.eu.int [158.169.9.14]) by webmail.leidinger.net (Horde MIME library) with HTTP; Thu, 02 Aug 2007 15:20:58 +0200 Message-ID: <20070802152058.pog6diis8cckg8wg@webmail.leidinger.net> X-Priority: 3 (Normal) Date: Thu, 02 Aug 2007 15:20:58 +0200 From: Alexander Leidinger To: Roman Divacky References: <200708021130.l72BUHrY077198@repoman.freebsd.org> In-Reply-To: <200708021130.l72BUHrY077198@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Internet Messaging Program (IMP) H3 (4.1.4) / FreeBSD-7.0 X-BPAnet-MailScanner-Information: Please contact the ISP for more information X-BPAnet-MailScanner: Found to be clean X-BPAnet-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-12.904, required 8, BAYES_00 -15.00, DKIM_POLICY_SIGNSOME 0.00, J_CHICKENPOX_45 0.60, MIME_QP_LONG_LINE 1.40, RDNS_DYNAMIC 0.10) X-BPAnet-MailScanner-From: alexander@leidinger.net X-Spam-Status: No Cc: Perforce Change Reviews Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 13:23:17 -0000 Quoting Roman Divacky (from Thu, 2 Aug 2007 =20 11:30:17 GMT): > http://perforce.freebsd.org/chv.cgi?CH=3D124529 > > Change 124529 by rdivacky@rdivacky_witten on 2007/08/02 11:30:05 > > =09Implement fake linux_sched_getaffinity() thus fixing java with =20 > 2.6.16 and god knows what else. > =3D=3D=3D=3D > > @@ -408,7 +408,8 @@ > 240=09AUE_NULL=09STD=09{ int linux_sys_futex(void *uaddr, int op, int val= , \ > =09=09=09=09=09struct l_timespec *timeout, void *uaddr2, int val3); } > 241=09AUE_NULL=09UNIMPL=09linux_sched_setaffinity > -242=09AUE_NULL=09UNIMPL=09linux_sched_getaffinity > +242 AUE_NULL STD { int =20 > linux_sched_getaffinity(l_pid_t pid, l_uint len, \ > +=09=09=09=09=09l_ulong *user_mask_ptr); } Whitespace? I can't really tell but it looks like... > @@ -410,7 +410,8 @@ > 240=09AUE_NULL=09STD=09{ int linux_sys_futex(void *uaddr, int op, int val= , \ > =09=09=09=09=09struct l_timespec *timeout, void *uaddr2, int val3); } > 241=09AUE_NULL=09UNIMPL=09linux_sched_setaffinity > -242=09AUE_NULL=09UNIMPL=09linux_sched_getaffinity > +242=09AUE_NULL=09STD=09{ int linux_sched_getaffinity(l_pid_t pid, l_uint = len, \ > +=09=09=09=09=09l_ulong *user_mask_ptr); } This one looks ok, so the first one is maybe copy&paste. Bye, Alexander. --=20 Bender: I believe that qualifies as ill. At least from a technical standpoint. http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID =3D B0063FE7 http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID =3D 72077137 From owner-p4-projects@FreeBSD.ORG Thu Aug 2 15:49:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5649516A421; Thu, 2 Aug 2007 15:49:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1014116A41F for ; Thu, 2 Aug 2007 15:49:39 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 02E2B13C45A for ; Thu, 2 Aug 2007 15:49:39 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l72Fncta020024 for ; Thu, 2 Aug 2007 15:49:38 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l72FncfV020021 for perforce@freebsd.org; Thu, 2 Aug 2007 15:49:38 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Aug 2007 15:49:38 GMT Message-Id: <200708021549.l72FncfV020021@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124533 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 15:49:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=124533 Change 124533 by rdivacky@rdivacky_witten on 2007/08/02 15:48:57 White space.. Noticed by: netchild Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.master#3 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/linux32/syscalls.master#3 (text+ko) ==== @@ -408,7 +408,7 @@ 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } 241 AUE_NULL UNIMPL linux_sched_setaffinity -242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ +242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } 244 AUE_NULL UNIMPL linux_get_thread_area From owner-p4-projects@FreeBSD.ORG Thu Aug 2 18:15:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 773CD16A420; Thu, 2 Aug 2007 18:15:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA07B16A41B for ; Thu, 2 Aug 2007 18:15:07 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id AFE7013C4CA for ; Thu, 2 Aug 2007 18:15:07 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l72Hv1QT029053; Thu, 2 Aug 2007 13:57:01 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: Roman Divacky Date: Thu, 2 Aug 2007 13:56:34 -0400 User-Agent: KMail/1.6.2 References: <200708021130.l72BUHrY077198@repoman.freebsd.org> In-Reply-To: <200708021130.l72BUHrY077198@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200708021356.58217.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV version 0.90.2, clamav-milter version 0.90.2 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 18:15:08 -0000 On Thursday 02 August 2007 07:30 am, Roman Divacky wrote: > + > +/* XXX: fake one.. waiting for ssouhlal to commit his patch */ > +int > +linux_sched_getaffinity(struct thread *td, struct > linux_sched_getaffinity_args *args) +{ > + int error; > + cpumask_t i = ~0; > + > + if (args->len < sizeof(cpumask_t)) > + return (EINVAL); > + > + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); > + return (error); > +} Er, shouldn't it be more like this? int linux_sched_getaffinity(struct thread *td, struct linux_sched_getaffinity_args *args) { uint8_t *mask; int error; if (args->cpusetsize < sizeof(cpumask_t)) return (EINVAL); mask = malloc(args->cpusetsize, M_LINUX, M_WAITOK); memset(mask, 0xff, args->cpusetsize); error = copyout(mask, args->mask, args->cpusetsize); free(mask, M_LINUX); return (error); } The reason is because Linux can ask longer CPU mask than FreeBSD's. The (old) default used to be 1024-bit (128-byte) mask. So, a lot of Linux apps still do that. Also, can you match args to the Linux API? int sched_getaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); s/len/cpusetsize/ s/user_mask_ptr/mask/ Thanks, Jung-uk Kim From owner-p4-projects@FreeBSD.ORG Thu Aug 2 19:21:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C161416A420; Thu, 2 Aug 2007 19:21:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92D9516A417; Thu, 2 Aug 2007 19:21:09 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 07B0A13C47E; Thu, 2 Aug 2007 19:21:08 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 8C7F88C09CD; Thu, 2 Aug 2007 21:21:06 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id U-JgpZVvHKte; Thu, 2 Aug 2007 21:21:05 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 3354E8C09CC; Thu, 2 Aug 2007 21:21:05 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l72JL48Y049369; Thu, 2 Aug 2007 21:21:04 +0200 (CEST) (envelope-from rdivacky) Date: Thu, 2 Aug 2007 21:21:04 +0200 From: Roman Divacky To: Jung-uk Kim Message-ID: <20070802192104.GA49318@freebsd.org> References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021356.58217.jkim@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200708021356.58217.jkim@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 19:21:10 -0000 On Thu, Aug 02, 2007 at 01:56:34PM -0400, Jung-uk Kim wrote: > On Thursday 02 August 2007 07:30 am, Roman Divacky wrote: > > + > > +/* XXX: fake one.. waiting for ssouhlal to commit his patch */ > > +int > > +linux_sched_getaffinity(struct thread *td, struct > > linux_sched_getaffinity_args *args) +{ > > + int error; > > + cpumask_t i = ~0; > > + > > + if (args->len < sizeof(cpumask_t)) > > + return (EINVAL); > > + > > + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); > > + return (error); > > +} > > Er, shouldn't it be more like this? > > int > linux_sched_getaffinity(struct thread *td, > struct linux_sched_getaffinity_args *args) > { > uint8_t *mask; > int error; > > if (args->cpusetsize < sizeof(cpumask_t)) > return (EINVAL); > > mask = malloc(args->cpusetsize, M_LINUX, M_WAITOK); > memset(mask, 0xff, args->cpusetsize); > error = copyout(mask, args->mask, args->cpusetsize); > free(mask, M_LINUX); > > return (error); > } the linux 2.6.16 version does exactly what I implemented. > The reason is because Linux can ask longer CPU mask than FreeBSD's. > The (old) default used to be 1024-bit (128-byte) mask. So, a lot > of Linux apps still do that. my version unbreaks java.. ie. I guess it cant be much wrong > Also, can you match args to the Linux API? > > int sched_getaffinity(pid_t pid, unsigned int cpusetsize, cpu_set_t *mask); > > s/len/cpusetsize/ > s/user_mask_ptr/mask/ again.. 2.6.16 has exactly what I put there where do you get the info about the linux version? From owner-p4-projects@FreeBSD.ORG Thu Aug 2 19:29:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C62C816A469; Thu, 2 Aug 2007 19:29:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B99C16A420; Thu, 2 Aug 2007 19:29:39 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 5B3EF13C481; Thu, 2 Aug 2007 19:29:39 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 7EBBB8C09D0; Thu, 2 Aug 2007 21:29:38 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zLBTYSOJPncD; Thu, 2 Aug 2007 21:29:37 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 081FB8C09CD; Thu, 2 Aug 2007 21:29:37 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l72JTarn049555; Thu, 2 Aug 2007 21:29:36 +0200 (CEST) (envelope-from rdivacky) Date: Thu, 2 Aug 2007 21:29:36 +0200 From: Roman Divacky To: Jung-uk Kim Message-ID: <20070802192936.GA49511@freebsd.org> References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021356.58217.jkim@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200708021356.58217.jkim@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 19:29:40 -0000 On Thu, Aug 02, 2007 at 01:56:34PM -0400, Jung-uk Kim wrote: > On Thursday 02 August 2007 07:30 am, Roman Divacky wrote: > > + > > +/* XXX: fake one.. waiting for ssouhlal to commit his patch */ > > +int > > +linux_sched_getaffinity(struct thread *td, struct > > linux_sched_getaffinity_args *args) +{ > > + int error; > > + cpumask_t i = ~0; > > + > > + if (args->len < sizeof(cpumask_t)) > > + return (EINVAL); > > + > > + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); > > + return (error); > > +} > > Er, shouldn't it be more like this? > > int > linux_sched_getaffinity(struct thread *td, > struct linux_sched_getaffinity_args *args) > { > uint8_t *mask; > int error; > > if (args->cpusetsize < sizeof(cpumask_t)) > return (EINVAL); > > mask = malloc(args->cpusetsize, M_LINUX, M_WAITOK); > memset(mask, 0xff, args->cpusetsize); > error = copyout(mask, args->mask, args->cpusetsize); > free(mask, M_LINUX); > > return (error); > } hm.. I looked at it and in my version the cpumask_t (linux one) is defined to be bit array of configurable length. I dont know what is the default but I think its quite safe to assume that its 128. but still.. the prototype is: asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, unsigned long __user *user_mask_ptr) and the len is not used anywhere in the code to dynamically size it. I wonder how to deal with that From owner-p4-projects@FreeBSD.ORG Thu Aug 2 19:46:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22D0E16A473; Thu, 2 Aug 2007 19:46:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCE5316A419 for ; Thu, 2 Aug 2007 19:46:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BDC4113C4B6 for ; Thu, 2 Aug 2007 19:46:01 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l72Jk1W0051700 for ; Thu, 2 Aug 2007 19:46:01 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l72Jk1GJ051697 for perforce@freebsd.org; Thu, 2 Aug 2007 19:46:01 GMT (envelope-from rdivacky@FreeBSD.org) Date: Thu, 2 Aug 2007 19:46:01 GMT Message-Id: <200708021946.l72Jk1GJ051697@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124543 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 19:46:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=124543 Change 124543 by rdivacky@rdivacky_witten on 2007/08/02 19:45:00 sched_getaffinity() returns number of bytes written out. As FreeBSD is obviously only support cpumask_t number of CPUs this should be ok. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#4 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_misc.c#4 (text+ko) ==== @@ -1726,5 +1726,9 @@ return (EINVAL); error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); - return (error); + if (error) + return (EFAULT); + + td->td_retval[0] = sizeof(cpumask_t); + return (0); } From owner-p4-projects@FreeBSD.ORG Thu Aug 2 21:14:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3328516A46D; Thu, 2 Aug 2007 21:14:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D4BCC16A41B; Thu, 2 Aug 2007 21:14:37 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 29E4613C4B5; Thu, 2 Aug 2007 21:14:36 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l72LEamT042765; Thu, 2 Aug 2007 17:14:36 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: perforce@FreeBSD.org Date: Thu, 2 Aug 2007 17:14:31 -0400 User-Agent: KMail/1.6.2 References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021356.58217.jkim@FreeBSD.org> <20070802192936.GA49511@freebsd.org> In-Reply-To: <20070802192936.GA49511@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200708021714.33543.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/3848/Thu Aug 2 16:22:06 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: Roman Divacky Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 21:14:38 -0000 On Thursday 02 August 2007 03:29 pm, Roman Divacky wrote: > On Thu, Aug 02, 2007 at 01:56:34PM -0400, Jung-uk Kim wrote: > > On Thursday 02 August 2007 07:30 am, Roman Divacky wrote: > > > + > > > +/* XXX: fake one.. waiting for ssouhlal to commit his patch */ > > > +int > > > +linux_sched_getaffinity(struct thread *td, struct > > > linux_sched_getaffinity_args *args) +{ > > > + int error; > > > + cpumask_t i = ~0; > > > + > > > + if (args->len < sizeof(cpumask_t)) > > > + return (EINVAL); > > > + > > > + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); > > > + return (error); > > > +} > > > > Er, shouldn't it be more like this? > > > > int > > linux_sched_getaffinity(struct thread *td, > > struct linux_sched_getaffinity_args *args) > > { > > uint8_t *mask; > > int error; > > > > if (args->cpusetsize < sizeof(cpumask_t)) > > return (EINVAL); > > > > mask = malloc(args->cpusetsize, M_LINUX, M_WAITOK); > > memset(mask, 0xff, args->cpusetsize); > > error = copyout(mask, args->mask, args->cpusetsize); > > free(mask, M_LINUX); > > > > return (error); > > } > > hm.. I looked at it and in my version the cpumask_t (linux one) is > defined to be bit array of configurable length. I dont know what is > the default but I think its quite safe to assume that its 128. Yes, it was but not any more. Basically it depends on Linux kernel configuration option, i.e., maximum number of CPUs. Since the bit 0 is CPU 0, bit 1 is CPU 1, etc, you have to make sure the last bits are properly set. If you really had to do i = ~0, you probably wanted to do casting first, e.g., i = ~(cpumask_t)0 to make sure. Of course my version doesn't have to worry about it. ;-) > but still.. the prototype is: > > asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, > unsigned long __user > *user_mask_ptr) > > and the len is not used anywhere in the code to dynamically size > it. I wonder how to deal with that. The prototype I gave you was from manual page, not the kernel source: http://www.linuxhowtos.org/manpages/2/sched_getaffinity.htm While googling, I found many interesting sched_getaffinity() API issues but this seems to summarize it nicely: http://jeff.squyres.com/journal/archives/2005/10/linux_processor.html Interesting history... AFAIK, cpumask_t is not dynamically sized as I said but cpu_set_t is. Glibc or application just defines cpu_set_t type via CPU_SETSIZE() macro and calls sched_getaffinity(). Then, the kernel returns sizeof(cpumask_t), so that user can determine the actual size of cpumask_t - thanks for catching it, BTW. Jung-uk Kim From owner-p4-projects@FreeBSD.ORG Thu Aug 2 23:14:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A2C616A419; Thu, 2 Aug 2007 23:14:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B42BF16A418 for ; Thu, 2 Aug 2007 23:14:36 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A530C13C428 for ; Thu, 2 Aug 2007 23:14:36 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l72NEa83087582 for ; Thu, 2 Aug 2007 23:14:36 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l72NEaVU087579 for perforce@freebsd.org; Thu, 2 Aug 2007 23:14:36 GMT (envelope-from zec@FreeBSD.org) Date: Thu, 2 Aug 2007 23:14:36 GMT Message-Id: <200708022314.l72NEaVU087579@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124550 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Aug 2007 23:14:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124550 Change 124550 by zec@zec_tpx32 on 2007/08/02 23:14:03 Experimentation with enforcing initialization ordering of vnet modules by specifiying module interdepencencies. The vnet module registration process was contemplated so that it should closely resemble the initialization ordering of networking subsystems in the standard kernel. However, it turns out that in some circumstances we might need more strict ordering enforcement on a virtualized system, given that for some subsystems (e.g. netgraph) the initialization sequence can vary significantly depending on whether the code is statically compiled in the kernel, or is kldloaded at run time. The ordering problem is perhaps more pronounced during cleanups of vnet instances, for which our networking code was never really designed. Hence, each vnet module can now specify another module for which it expects to be handled earlier during the vnet instatiation process than itself. The module registration handler will check whether the prerequisite module is already registered, and if not, postpone the registration of the requested module until the prerequisite shows up. Only the time can tell whether such a mechanism makes real sense... While here, in effect revert change 124477 to ng_base.c, given that now netgraph initialization point will be determined through the new dependency enforcement mechanisms. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#31 edit .. //depot/projects/vimage/src/sys/kern/uipc_domain.c#9 edit .. //depot/projects/vimage/src/sys/net/if.c#18 edit .. //depot/projects/vimage/src/sys/net/if_gif.c#8 edit .. //depot/projects/vimage/src/sys/net/if_loop.c#16 edit .. //depot/projects/vimage/src/sys/net/route.c#10 edit .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#17 edit .. //depot/projects/vimage/src/sys/netinet/if_ether.c#13 edit .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#20 edit .. //depot/projects/vimage/src/sys/netinet/ip_input.c#20 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#17 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#13 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#9 edit .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#8 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#7 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#10 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#29 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#31 (text+ko) ==== @@ -69,6 +69,7 @@ MALLOC_DEFINE(M_VCPU, "vcpu", "cpu resource control block"); static void vi_destroy(struct vimage *); +static void vnet_mod_complete_registration(struct vnet_modlink *); static int vnet_mod_constructor(struct vnet_modlink *); static int vnet_mod_destructor(struct vnet_modlink *); @@ -125,6 +126,7 @@ static int last_vi_id = 0; static TAILQ_HEAD(vnet_modlink_head, vnet_modlink) vnet_modlink_head; +static TAILQ_HEAD(vnet_modpending_head, vnet_modlink) vnet_modpending_head; void vnet_mod_register(vmi) const struct vnet_modinfo *vmi; @@ -137,13 +139,13 @@ const void *iarg; const char *iname; { - struct vnet_modlink *vml; + struct vnet_modlink *vml, *vml_iter; /* Do not register the same module instance more than once */ - TAILQ_FOREACH(vml, &vnet_modlink_head, vml_mod_le) - if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) + TAILQ_FOREACH(vml_iter, &vnet_modlink_head, vml_mod_le) + if (vml_iter->vml_modinfo == vmi && vml_iter->vml_iarg == iarg) break; - if (vml != NULL) + if (vml_iter != NULL) panic("attempt to register an already registered vnet module"); vml = vi_malloc(sizeof(struct vnet_modlink), M_VIMAGE, M_NOWAIT); @@ -158,11 +160,52 @@ vml->vml_modinfo = vmi; vml->vml_iarg = iarg; vml->vml_iname = iname; + + /* Check whether the module we depend on is already registered */ + if (vmi->vmi_dependson != VNET_MOD_NONE) { + TAILQ_FOREACH(vml_iter, &vnet_modlink_head, vml_mod_le) + if (vml_iter->vml_modinfo->vmi_id == + vmi->vmi_dependson) + break; /* Depencency found, we are done */ + if (vml_iter == NULL) { +#ifdef DEBUG_ORDERING + printf("dependency %d missing for vnet mod %s, postponing registration\n", vmi->vmi_dependson, vmi->vmi_name); +#endif /* DEBUG_ORDERING */ + TAILQ_INSERT_TAIL(&vnet_modpending_head, vml, + vml_mod_le); + return; + } + } + + vnet_mod_complete_registration(vml); +} + +void vnet_mod_complete_registration(vml) +struct vnet_modlink *vml; +{ + struct vnet_modlink *vml_iter; + TAILQ_INSERT_TAIL(&vnet_modlink_head, vml, vml_mod_le); VNET_ITERLOOP_BEGIN_QUIET(); vnet_mod_constructor(vml); VNET_ITERLOOP_END(); + + /* Check for pending modules depending on us */ + do { + TAILQ_FOREACH(vml_iter, &vnet_modpending_head, vml_mod_le) + if (vml_iter->vml_modinfo->vmi_dependson == + vml->vml_modinfo->vmi_id) + break; + if (vml_iter != NULL) { +#ifdef DEBUG_ORDERING + printf("vnet mod %s now registering, dependency %d loaded\n", vml_iter->vml_modinfo->vmi_name, vml->vml_modinfo->vmi_id); +#endif /* DEBUG_ORDERING */ + TAILQ_REMOVE(&vnet_modpending_head, vml_iter, + vml_mod_le); + vnet_mod_complete_registration(vml_iter); + } + } while (vml_iter != NULL); } void vnet_mod_deregister(vmi) @@ -675,6 +718,7 @@ /* vnet module list is both forward and reverse traversable */ TAILQ_INIT(&vnet_modlink_head); + TAILQ_INIT(&vnet_modpending_head); LIST_INIT(&vimage_head); LIST_INIT(&vnet_head); @@ -700,7 +744,19 @@ static void vi_init_done(void *unused) { + struct vnet_modlink *vml_iter; + curvnet = NULL; + + if (TAILQ_EMPTY(&vnet_modpending_head)) + return; + + printf("vnet modules with unresolved dependencies:\n"); + TAILQ_FOREACH(vml_iter, &vnet_modpending_head, vml_mod_le) + printf(" %s depending on %d:\n", + vml_iter->vml_modinfo->vmi_name, + vml_iter->vml_modinfo->vmi_dependson); + panic("going nowhere without my vnet modules!"); } SYSINIT(vimage, SI_SUB_VIMAGE, SI_ORDER_FIRST, vi_init, NULL) ==== //depot/projects/vimage/src/sys/kern/uipc_domain.c#9 (text+ko) ==== @@ -108,7 +108,8 @@ .pru_sopoll = pru_sopoll_notsupp, }; -VNET_MOD_DECLARE_STATELESS(DOMAIN, domain, net_init_domain, net_detach_domain) +VNET_MOD_DECLARE_STATELESS(DOMAIN, domain, net_init_domain, net_detach_domain, + NET) static void protosw_init(struct protosw *pr) ==== //depot/projects/vimage/src/sys/net/if.c#18 (text+ko) ==== @@ -170,9 +170,10 @@ VNET_SYMMAP(net, rttrash), VNET_SYMMAP_END }; +#endif -VNET_MOD_DECLARE(NET, net, vnet_net_symmap, vnet_net_iattach, vnet_net_idetach) -#endif +VNET_MOD_DECLARE(NET, net, vnet_net_iattach, vnet_net_idetach, + NONE, vnet_net_symmap) /* * System initialization ==== //depot/projects/vimage/src/sys/net/if_gif.c#8 (text+ko) ==== @@ -144,7 +144,7 @@ SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, parallel_tunnels, CTLFLAG_RW, parallel_tunnels, 0, "Allow parallel tunnels?"); -VNET_MOD_DECLARE(GIF, gif, NULL, vnet_gif_iattach, NULL) +VNET_MOD_DECLARE(GIF, gif, NULL, vnet_gif_iattach, NET, NULL) static int gif_clone_create(ifc, unit, params) ==== //depot/projects/vimage/src/sys/net/if_loop.c#16 (text+ko) ==== @@ -180,7 +180,8 @@ return (0); } -VNET_MOD_DECLARE_STATELESS(LOIF, loif, vnet_loif_iattach, vnet_loif_idetach) +VNET_MOD_DECLARE_STATELESS(LOIF, loif, vnet_loif_iattach, vnet_loif_idetach, + NET) static int vnet_loif_iattach(unused) const void *unused; ==== //depot/projects/vimage/src/sys/net/route.c#10 (text+ko) ==== @@ -80,7 +80,8 @@ */ #define RNTORT(p) ((struct rtentry *)(p)) -VNET_MOD_DECLARE_STATELESS(RTABLE, rtable, rtable_init, rtable_idetach) +VNET_MOD_DECLARE_STATELESS(RTABLE, rtable, rtable_init, rtable_idetach, + NET) static int rtable_init(unused) ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#17 (text+ko) ==== @@ -251,12 +251,10 @@ static vnet_attach_fn vnet_netgraph_iattach; #ifdef VIMAGE static vnet_detach_fn vnet_netgraph_idetach; -static void netgraph_register(void *); -SYSINIT(netgraph, SI_SUB_PROTO_END, SI_ORDER_FIRST, netgraph_register, NULL) #endif /* VIMAGE */ -VNET_MOD_DECLARE(NETGRAPH, netgraph, NULL, vnet_netgraph_iattach, - vnet_netgraph_idetach) +VNET_MOD_DECLARE(NETGRAPH, netgraph, vnet_netgraph_iattach, + vnet_netgraph_idetach, LOIF, NULL) #ifdef NETGRAPH_DEBUG /*----------------------------------------------*/ /* @@ -3191,7 +3189,9 @@ uma_zone_set_max(ng_qzone, maxalloc); netisr_register(NETISR_NETGRAPH, (netisr_t *)ngintr, NULL, NETISR_MPSAFE); -#ifndef VIMAGE +#ifdef VIMAGE + vnet_mod_register(&vnet_netgraph_modinfo); +#else vnet_netgraph_iattach(NULL); #endif /* !VIMAGE */ break; @@ -3239,11 +3239,6 @@ return 0; } - -void netgraph_register(void *unused) -{ - vnet_mod_register(&vnet_netgraph_modinfo); -} #endif /* VIMAGE */ static moduledata_t netgraph_mod = { ==== //depot/projects/vimage/src/sys/netinet/if_ether.c#13 (text+ko) ==== @@ -131,7 +131,7 @@ static void in_arpinput(struct mbuf *); #endif -VNET_MOD_DECLARE_STATELESS(ARP, arp, arp_iattach, NULL) +VNET_MOD_DECLARE_STATELESS(ARP, arp, arp_iattach, NULL, INET) /* * Timeout routine. ==== //depot/projects/vimage/src/sys/netinet/ip_fw2.c#20 (text+ko) ==== @@ -115,7 +115,7 @@ static int vnet_ipfw_iattach(const void *); static int vnet_ipfw_idetach(const void *); -VNET_MOD_DECLARE(IPFW, ipfw, NULL, vnet_ipfw_iattach, vnet_ipfw_idetach) +VNET_MOD_DECLARE(IPFW, ipfw, vnet_ipfw_iattach, vnet_ipfw_idetach, INET, NULL) /* * set_disable contains one bit per set value (0..31). ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#20 (text+ko) ==== @@ -215,7 +215,7 @@ #ifdef VIMAGE static void vnet_inet_register(void); -VNET_MOD_DECLARE(INET, inet, NULL, NULL, NULL) +VNET_MOD_DECLARE(INET, inet, NULL, NULL, NET, NULL) static void vnet_inet_register() { ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#17 (text+ko) ==== @@ -148,7 +148,7 @@ #ifdef VIMAGE static void vnet_inet6_register(void); -VNET_MOD_DECLARE(INET6, inet6, NULL, NULL, NULL) +VNET_MOD_DECLARE(INET6, inet6, NULL, NULL, INET, NULL) static void vnet_inet6_register() { ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#13 (text+ko) ==== @@ -223,9 +223,8 @@ ipsecstats, CTLFLAG_RD, ipsec6stat, ipsecstat, ""); #endif /* INET6 */ -#ifdef VIMAGE -VNET_MOD_DECLARE(IPSEC, ipsec, NULL, vnet_ipsec_iattach, vnet_ipsec_idetach) -#endif +VNET_MOD_DECLARE(IPSEC, ipsec, vnet_ipsec_iattach, vnet_ipsec_idetach, + INET, NULL) static int ipsec4_setspidx_inpcb __P((struct mbuf *, struct inpcb *pcb)); #ifdef INET6 ==== //depot/projects/vimage/src/sys/netipsec/xform_ah.c#9 (text+ko) ==== @@ -106,7 +106,7 @@ static int ah_iattach(const void *); -VNET_MOD_DECLARE_STATELESS(AH, ah, ah_iattach, NULL) +VNET_MOD_DECLARE_STATELESS(AH, ah, ah_iattach, NULL, IPSEC) static unsigned char ipseczeroes[256]; /* larger than an ip6 extension hdr */ ==== //depot/projects/vimage/src/sys/netipsec/xform_esp.c#8 (text+ko) ==== @@ -96,7 +96,7 @@ static int esp_iattach(const void *); -VNET_MOD_DECLARE_STATELESS(ESP, esp, esp_iattach, NULL) +VNET_MOD_DECLARE_STATELESS(ESP, esp, esp_iattach, NULL, IPSEC) /* * NB: this is public for use by the PF_KEY support. ==== //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#7 (text+ko) ==== @@ -82,7 +82,7 @@ static int ipcomp_iattach(const void *); -VNET_MOD_DECLARE_STATELESS(IPCOMP, ipcomp, ipcomp_iattach, NULL) +VNET_MOD_DECLARE_STATELESS(IPCOMP, ipcomp, ipcomp_iattach, NULL, IPSEC) static int ipcomp_input_cb(struct cryptop *crp); static int ipcomp_output_cb(struct cryptop *crp); ==== //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#10 (text+ko) ==== @@ -113,7 +113,7 @@ static int ipip_iattach(const void *); -VNET_MOD_DECLARE_STATELESS(IPIP, ipip, ipip_iattach, NULL) +VNET_MOD_DECLARE_STATELESS(IPIP, ipip, ipip_iattach, NULL, IPSEC) #ifdef INET6 /* ==== //depot/projects/vimage/src/sys/sys/vimage.h#29 (text+ko) ==== @@ -67,6 +67,7 @@ #define V_PROCG 2 #define V_CPU 3 +#define VNET_MOD_NONE -1 #define VNET_MOD_NET 0 #define VNET_MOD_NETGRAPH 1 #define VNET_MOD_INET 2 @@ -78,6 +79,8 @@ #define VNET_MOD_ALTQ 8 #define VNET_MOD_IPX 9 #define VNET_MOD_ATALK 10 +#define VNET_MOD_NG_IFACE 21 +#define VNET_MOD_NG_EIFACE 22 #define VNET_MOD_ESP 23 #define VNET_MOD_IPIP 24 #define VNET_MOD_AH 25 @@ -121,6 +124,7 @@ struct vnet_modinfo { int vmi_id; + int vmi_dependson; char *vmi_name; vnet_attach_fn *vmi_iattach; vnet_detach_fn *vmi_idetach; @@ -135,9 +139,11 @@ const char *vml_iname; }; -#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_symmap, m_iattach, m_idetach) \ +#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_iattach, m_idetach, \ + m_dependson, m_symmap) \ static const struct vnet_modinfo vnet_##m_name_lc##_modinfo = { \ .vmi_id = VNET_MOD_##m_name_uc, \ + .vmi_dependson = VNET_MOD_##m_dependson, \ .vmi_name = #m_name_lc, \ .vmi_iattach = m_iattach, \ .vmi_idetach = m_idetach, \ @@ -146,9 +152,11 @@ .vmi_symmap = m_symmap \ }; -#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach) \ +#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach, \ + m_dependson) \ static const struct vnet_modinfo vnet_##m_name_lc##_modinfo = { \ .vmi_id = VNET_MOD_##m_name_uc, \ + .vmi_dependson = VNET_MOD_##m_dependson, \ .vmi_name = #m_name_lc, \ .vmi_iattach = m_iattach, \ .vmi_idetach = m_idetach \ From owner-p4-projects@FreeBSD.ORG Fri Aug 3 00:09:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 90D8E16A420; Fri, 3 Aug 2007 00:09:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 511EC16A418 for ; Fri, 3 Aug 2007 00:09:15 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D1B4613C458 for ; Fri, 3 Aug 2007 00:09:13 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l7309D7D096671 for ; Fri, 3 Aug 2007 00:09:13 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7309DWg096668 for perforce@freebsd.org; Fri, 3 Aug 2007 00:09:13 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 00:09:13 GMT Message-Id: <200708030009.l7309DWg096668@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124553 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 00:09:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124553 Change 124553 by zec@zec_tpx32 on 2007/08/03 00:09:02 Unbreak "nooptions VIMAGE" build in a followup to increased argument list lengths of VNET_MOD_DECLARE and VNET_MOD_DECLARE_STATELESS macros introduced in change 124550. Affected files ... .. //depot/projects/vimage/src/sys/sys/vimage.h#30 edit Differences ... ==== //depot/projects/vimage/src/sys/sys/vimage.h#30 (text+ko) ==== @@ -265,11 +265,11 @@ #else /* !VIMAGE */ -/* - * Non-VIMAGE null-macros - */ -#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_symmap, m_iattach, m_idetach) -#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach) +/* Non-VIMAGE null-macros */ +#define VNET_MOD_DECLARE(m_name_uc, m_name_lc, m_iattach, m_idetach, \ + m_dependson, m_symmap) +#define VNET_MOD_DECLARE_STATELESS(m_name_uc, m_name_lc, m_iattach, m_idetach, \ + m_dependson) #define CURVNET_SET(arg) #define CURVNET_SET_QUIET(arg) #define CURVNET_RESTORE() From owner-p4-projects@FreeBSD.ORG Fri Aug 3 05:43:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE8FF16A420; Fri, 3 Aug 2007 05:43:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7619716A41B for ; Fri, 3 Aug 2007 05:43:20 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 49EA413C4D0 for ; Fri, 3 Aug 2007 05:43:20 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l735hKI5040269 for ; Fri, 3 Aug 2007 05:43:20 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l735hKqT040266 for perforce@freebsd.org; Fri, 3 Aug 2007 05:43:20 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Fri, 3 Aug 2007 05:43:20 GMT Message-Id: <200708030543.l735hKqT040266@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124565 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 05:43:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=124565 Change 124565 by zhouzhouyi@zhouzhouyi_mactest on 2007/08/03 05:43:16 test case for symbolic link Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/symlink/00.t#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Aug 3 06:30:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE12916A41F; Fri, 3 Aug 2007 06:30:21 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A623816A418 for ; Fri, 3 Aug 2007 06:30:21 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9088F13C4A7 for ; Fri, 3 Aug 2007 06:30:21 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l736ULsJ043976 for ; Fri, 3 Aug 2007 06:30:21 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l736UKo1043972 for perforce@freebsd.org; Fri, 3 Aug 2007 06:30:20 GMT (envelope-from delphij@freebsd.org) Date: Fri, 3 Aug 2007 06:30:20 GMT Message-Id: <200708030630.l736UKo1043972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 124568 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 06:30:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=124568 Change 124568 by delphij@delphij_odin on 2007/08/03 06:30:03 IFC Affected files ... .. //depot/projects/delphij_fork/ObsoleteFiles.inc#7 integrate .. //depot/projects/delphij_fork/contrib/tcpdump/print-bgp.c#2 integrate .. //depot/projects/delphij_fork/etc/namedb/named.conf#2 integrate .. //depot/projects/delphij_fork/include/arpa/tftp.h#2 integrate .. //depot/projects/delphij_fork/lib/libc/net/name6.c#2 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#8 integrate .. //depot/projects/delphij_fork/sbin/ifconfig/ifbridge.c#2 integrate .. //depot/projects/delphij_fork/sbin/ifconfig/ifconfig.8#3 integrate .. //depot/projects/delphij_fork/share/man/man4/Makefile#3 integrate .. //depot/projects/delphij_fork/share/man/man4/crypto.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/enc.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/fast_ipsec.4#2 delete .. //depot/projects/delphij_fork/share/man/man4/ipsec.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/man4.i386/padlock.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/ng_ppp.4#2 integrate .. //depot/projects/delphij_fork/share/misc/committers-doc.dot#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/delphij_fork/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/arm/trap.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/at91/at91rm92reg.h#2 integrate .. //depot/projects/delphij_fork/sys/arm/at91/kb920x_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/delphij_fork/sys/arm/conf/KB920X#2 integrate .. //depot/projects/delphij_fork/sys/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/aic7xxx/aic_osm_lib.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/an/if_an.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs.h#4 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/delphij_fork/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/delphij_fork/sys/net/if_bridge.c#3 integrate .. //depot/projects/delphij_fork/sys/net/if_bridgevar.h#3 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_ppp.c#2 integrate .. //depot/projects/delphij_fork/sys/netgraph/ng_ppp.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_subr.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/tcp_timer.h#2 integrate .. //depot/projects/delphij_fork/sys/pci/viapm.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/tar/bsdtar.c#2 integrate .. //depot/projects/delphij_fork/usr.sbin/nscd/mp_rs_query.h#1 branch .. //depot/projects/delphij_fork/usr.sbin/portsnap/portsnap/portsnap.sh#2 integrate Differences ... ==== //depot/projects/delphij_fork/ObsoleteFiles.inc#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.107 2007/07/17 17:28:59 delphij Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.108 2007/08/02 08:04:47 bz Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070801: fast_ipsec.4 gone +OLD_FILES+=usr/share/man/man4/fast_ipsec.4.gz # 20070715: netatm temporarily disconnected OLD_FILES+=rescue/atm OLD_FILES+=rescue/fore_dnld ==== //depot/projects/delphij_fork/contrib/tcpdump/print-bgp.c#2 (text+ko) ==== @@ -622,6 +622,26 @@ return -2; } +/* + * As I remember, some versions of systems have an snprintf() that + * returns -1 if the buffer would have overflowed. If the return + * value is negative, set buflen to 0, to indicate that we've filled + * the buffer up. + * + * If the return value is greater than buflen, that means that + * the buffer would have overflowed; again, set buflen to 0 in + * that case. + */ +#define UPDATE_BUF_BUFLEN(buf, buflen, strlen) \ + if (strlen<0) \ + buflen=0; \ + else if ((u_int)strlen>buflen) \ + buflen=0; \ + else { \ + buflen-=strlen; \ + buf+=strlen; \ + } + static int decode_labeled_vpn_l2(const u_char *pptr, char *buf, u_int buflen) { @@ -632,11 +652,13 @@ tlen=plen; pptr+=2; TCHECK2(pptr[0],15); + buf[0]='\0'; strlen=snprintf(buf, buflen, "RD: %s, CE-ID: %u, Label-Block Offset: %u, Label Base %u", bgp_vpn_rd_print(pptr), EXTRACT_16BITS(pptr+8), EXTRACT_16BITS(pptr+10), EXTRACT_24BITS(pptr+12)>>4); /* the label is offsetted by 4 bits so lets shift it right */ + UPDATE_BUF_BUFLEN(buf, buflen, strlen); pptr+=15; tlen-=15; @@ -652,23 +674,32 @@ switch(tlv_type) { case 1: - strlen+=snprintf(buf+strlen,buflen-strlen, "\n\t\tcircuit status vector (%u) length: %u: 0x", - tlv_type, - tlv_len); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "\n\t\tcircuit status vector (%u) length: %u: 0x", + tlv_type, + tlv_len); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } ttlv_len=ttlv_len/8+1; /* how many bytes do we need to read ? */ while (ttlv_len>0) { TCHECK(pptr[0]); - strlen+=snprintf(buf+strlen,buflen-strlen, "%02x",*pptr++); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "%02x",*pptr++); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } ttlv_len--; } break; default: - snprintf(buf+strlen,buflen-strlen, "\n\t\tunknown TLV #%u, length: %u", - tlv_type, - tlv_len); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "\n\t\tunknown TLV #%u, length: %u", + tlv_type, + tlv_len); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } break; } - tlen-=(tlv_len<<3); /* the tlv-length is expressed in bits so lets shift it tright */ + tlen-=(tlv_len<<3); /* the tlv-length is expressed in bits so lets shift it right */ } return plen+2; ==== //depot/projects/delphij_fork/etc/namedb/named.conf#2 (text+ko) ==== @@ -1,4 +1,4 @@ -// $FreeBSD: src/etc/namedb/named.conf,v 1.24 2007/06/18 06:29:45 dougb Exp $ +// $FreeBSD: src/etc/namedb/named.conf,v 1.25 2007/08/02 09:18:53 dougb Exp $ // // Refer to the named.conf(5) and named(8) man pages, and the documentation // in /usr/share/doc/bind9 for more details. @@ -15,10 +15,6 @@ dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; - disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; - disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; - disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; - // If named is being used only as a local resolver, this is a safe default. // For named to be accessible to the network, comment this option, specify // the proper IP address, or delete this option. @@ -29,6 +25,12 @@ // an IPv6 address, or the keyword "any". // listen-on-v6 { ::1; }; +// These zones are already covered by the empty zones listed below. +// If you remove the related empty zones below, comment these lines out. + disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; + disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; + disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; + // In addition to the "forwarders" clause, you can force your name // server to never initiate queries of its own, but always ask its // forwarders only, by enabling the following line: @@ -57,22 +59,23 @@ // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. +// The traditional root hints mechanism. Use this, OR the slave zones below. +zone "." { type hint; file "named.root"; }; + /* Slaving the following zones from the root name servers has some significant advantages: 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots 3. Greater resilience to any potential root server failure/DDoS - If you do not wish to slave these zones from the root servers - use the entry below instead. - zone "." { type hint; file "named.root"; }; + To use this mechanism, uncomment the entries below, and comment + the hint zone above. */ +/* zone "." { type slave; file "slave/root.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. @@ -83,8 +86,6 @@ type slave; file "slave/arpa.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. @@ -95,14 +96,13 @@ type slave; file "slave/in-addr.arpa.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. }; notify no; }; +*/ /* Serving the following zones locally will prevent any queries for these zones leaving your network and going to the root ==== //depot/projects/delphij_fork/include/arpa/tftp.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tftp.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/arpa/tftp.h,v 1.5 2001/09/27 20:50:14 obrien Exp $ + * $FreeBSD: src/include/arpa/tftp.h,v 1.6 2007/08/01 11:59:09 ticso Exp $ */ #ifndef _ARPA_TFTP_H_ @@ -58,9 +58,9 @@ unsigned short tu_block; /* block # */ unsigned short tu_code; /* error code */ char tu_stuff[1]; /* request packet stuff */ - } th_u; + } __packed th_u; char th_data[1]; /* data or error string */ -}; +} __packed; #define th_block th_u.tu_block #define th_code th_u.tu_code ==== //depot/projects/delphij_fork/lib/libc/net/name6.c#2 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.61 2006/07/26 08:35:46 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.62 2007/07/31 16:09:41 bushman Exp $"); #include "namespace.h" #include @@ -118,16 +118,8 @@ #include #include "un-namespace.h" #include "netdb_private.h" -#include "res_config.h" #include "res_private.h" -#ifdef NS_CACHING -#include "nscache.h" -#endif -#ifndef _PATH_HOSTS -#define _PATH_HOSTS "/etc/hosts" -#endif - #ifndef MAXALIASES #define MAXALIASES 10 #endif @@ -153,7 +145,7 @@ } while (0) #define MAPADDRENABLED(flags) \ (((flags) & AI_V4MAPPED) || \ - (((flags) & AI_V4MAPPED_CFG) && _mapped_addr_enabled())) + (((flags) & AI_V4MAPPED_CFG))) union inx_addr { struct in_addr in_addr; @@ -202,14 +194,11 @@ static struct hostent *_hpcopy(struct hostent *, int *); static struct hostent *_hpaddr(int, const char *, void *, int *); +#ifdef INET6 static struct hostent *_hpmerge(struct hostent *, struct hostent *, int *); -#ifdef INET6 static struct hostent *_hpmapv6(struct hostent *, int *); #endif static struct hostent *_hpsort(struct hostent *, res_state); -static struct hostent *_ghbyname(const char *, int, int, int *); -static char *_hgetword(char **); -static int _mapped_addr_enabled(void); static struct hostent *_hpreorder(struct hostent *); static int get_addrselectpolicy(struct policyhead *); @@ -221,325 +210,30 @@ static int comp_dst(const void *, const void *); static int gai_addr2scopetype(struct sockaddr *); -static FILE *_files_open(int *); -static int _files_ghbyname(void *, void *, va_list); -static int _files_ghbyaddr(void *, void *, va_list); -#ifdef YP -static int _nis_ghbyname(void *, void *, va_list); -static int _nis_ghbyaddr(void *, void *, va_list); -#endif -static int _dns_ghbyname(void *, void *, va_list); -static int _dns_ghbyaddr(void *, void *, va_list); -static void _dns_shent(int) __unused; -static void _dns_ehent(void) __unused; -#ifdef ICMPNL -static int _icmp_ghbyaddr(void *, void *, va_list); -#endif /* ICMPNL */ -#ifdef NS_CACHING -static int ipnode_id_func(char *, size_t *, va_list, void *); -static int ipnode_marshal_func(char *, size_t *, void *, va_list, void *); -static int ipnode_unmarshal_func(char *, size_t, void *, va_list, void *); -#endif - -/* Host lookup order if nsswitch.conf is broken or nonexistant */ -static const ns_src default_src[] = { - { NSSRC_FILES, NS_SUCCESS }, - { NSSRC_DNS, NS_SUCCESS }, -#ifdef ICMPNL -#define NSSRC_ICMP "icmp" - { NSSRC_ICMP, NS_SUCCESS }, -#endif - { 0 } -}; - /* - * Check if kernel supports mapped address. - * implementation dependent + * Functions defined in RFC2553 + * getipnodebyname, getipnodebyaddr, freehostent */ -#ifdef __KAME__ -#include -#endif /* __KAME__ */ -static int -_mapped_addr_enabled(void) +struct hostent * +getipnodebyname(const char *name, int af, int flags, int *errp) { - /* implementation dependent check */ -#if defined(__KAME__) && defined(IPV6CTL_MAPPED_ADDR) - int mib[4]; - size_t len; - int val; - - mib[0] = CTL_NET; - mib[1] = PF_INET6; - mib[2] = IPPROTO_IPV6; - mib[3] = IPV6CTL_MAPPED_ADDR; - len = sizeof(val); - if (sysctl(mib, 4, &val, &len, 0, 0) == 0 && val != 0) - return 1; -#endif /* __KAME__ && IPV6CTL_MAPPED_ADDR */ - return 0; -} - -#ifdef NS_CACHING -static int -ipnode_id_func(char *buffer, size_t *buffer_size, va_list ap, - void *cache_mdata) -{ + struct hostent *hp; + union inx_addr addrbuf; res_state statp; - u_long res_options; + u_long options; - const int op_id = 2; - char *name; - int af; - size_t len; - void *src; - - char *p; - size_t desired_size, size; - enum nss_lookup_type lookup_type; - int res = NS_UNAVAIL; - - statp = __res_state(); - res_options = statp->options & (RES_RECURSE | RES_DEFNAMES | - RES_DNSRCH | RES_NOALIASES | RES_USE_INET6); - - lookup_type = (enum nss_lookup_type)cache_mdata; - switch (lookup_type) { - case nss_lt_name: - name = va_arg(ap, char *); - af = va_arg(ap, int); - - size = strlen(name); - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + size + 1; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, name, size + 1); - - res = NS_SUCCESS; + switch (af) { + case AF_INET: +#ifdef INET6 + case AF_INET6: +#endif break; - case nss_lt_id: - src = va_arg(ap, void *); - len = va_arg(ap, size_t); - af = va_arg(ap, int); - - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + - sizeof(size_t) + len; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, &len, sizeof(size_t)); - p += sizeof(size_t); - - memcpy(p, src, len); - - res = NS_SUCCESS; - break; default: - /* should be unreachable */ - return (NS_UNAVAIL); - } - -fin: - *buffer_size = desired_size; - return (res); -} - -static int -ipnode_marshal_func(char *buffer, size_t *buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent *ht; - - struct hostent new_ht; - size_t desired_size, aliases_size, addr_size, size; - char *p, **iter; - - ht = *((struct hostent **)retval); - - desired_size = _ALIGNBYTES + sizeof(struct hostent) + sizeof(char *); - if (ht->h_name != NULL) - desired_size += strlen(ht->h_name) + 1; - - if (ht->h_aliases != NULL) { - aliases_size = 0; - for (iter = ht->h_aliases; *iter; ++iter) { - desired_size += strlen(*iter) + 1; - ++aliases_size; - } - - desired_size += _ALIGNBYTES + - (aliases_size + 1) * sizeof(char *); - } - - if (ht->h_addr_list != NULL) { - addr_size = 0; - for (iter = ht->h_addr_list; *iter; ++iter) - ++addr_size; - - desired_size += addr_size * _ALIGN(ht->h_length); - desired_size += _ALIGNBYTES + (addr_size + 1) * sizeof(char *); - } - - if (desired_size > *buffer_size) { - /* this assignment is here for future use */ - *buffer_size = desired_size; - return (NS_RETURN); - } - - memcpy(&new_ht, ht, sizeof(struct hostent)); - memset(buffer, 0, desired_size); - - *buffer_size = desired_size; - p = buffer + sizeof(struct hostent) + sizeof(char *); - memcpy(buffer + sizeof(struct hostent), &p, sizeof(char *)); - p = (char *)_ALIGN(p); - - if (new_ht.h_name != NULL) { - size = strlen(new_ht.h_name); - memcpy(p, new_ht.h_name, size); - new_ht.h_name = p; - p += size + 1; - } - - if (new_ht.h_aliases != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_aliases, sizeof(char *) * aliases_size); - new_ht.h_aliases = (char **)p; - p += sizeof(char *) * (aliases_size + 1); - - for (iter = new_ht.h_aliases; *iter; ++iter) { - size = strlen(*iter); - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } - } - - if (new_ht.h_addr_list != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_addr_list, sizeof(char *) * addr_size); - new_ht.h_addr_list = (char **)p; - p += sizeof(char *) * (addr_size + 1); - - size = _ALIGN(new_ht.h_length); - for (iter = new_ht.h_addr_list; *iter; ++iter) { - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } + *errp = NO_RECOVERY; + return NULL; } - memcpy(buffer, &new_ht, sizeof(struct hostent)); - return (NS_SUCCESS); -} -static int -ipnode_unmarshal_func(char *buffer, size_t buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent new_ht; - struct hostent *ht; - - char *p; - char **iter; - char *orig_buf; - int err; - - ht = &new_ht; - - memcpy(ht, buffer, sizeof(struct hostent)); - memcpy(&p, buffer + sizeof(struct hostent), sizeof(char *)); - - orig_buf = buffer + sizeof(struct hostent) + sizeof(char *) + - _ALIGN(p) - (size_t)p; - p = (char *)_ALIGN(p); - - - NS_APPLY_OFFSET(ht->h_name, orig_buf, p, char *); - if (ht->h_aliases != NULL) { - NS_APPLY_OFFSET(ht->h_aliases, orig_buf, p, char **); - - for (iter = ht->h_aliases; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - if (ht->h_addr_list != NULL) { - NS_APPLY_OFFSET(ht->h_addr_list, orig_buf, p, char **); - - for (iter = ht->h_addr_list; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - ht = _hpcopy(ht, &err); - if (ht == NULL) - return (NS_UNAVAIL); - - *((struct hostent **)retval) = ht; - return (NS_SUCCESS); -} -#endif - -/* - * Functions defined in RFC2553 - * getipnodebyname, getipnodebyaddr, freehostent - */ - -static struct hostent * -_ghbyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - int rval; - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_name, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyname, NULL) - { NSSRC_DNS, _dns_ghbyname, NULL }, - NS_NIS_CB(_nis_ghbyname, NULL) -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - if (flags & AI_ADDRCONFIG) { int s; @@ -554,31 +248,8 @@ */ _close(s); } - - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyname", default_src, - name, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; -} - -struct hostent * -getipnodebyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - union inx_addr addrbuf; - res_state statp; - - switch (af) { - case AF_INET: + #ifdef INET6 - case AF_INET6: -#endif - break; - default: - *errp = NO_RECOVERY; - return NULL; - } - -#ifdef INET6 /* special case for literal address */ if (inet_pton(AF_INET6, name, &addrbuf) == 1) { if (af != AF_INET6) { @@ -600,6 +271,7 @@ return _hpaddr(af, name, &addrbuf, errp); } + statp = __res_state(); if ((statp->options & RES_INIT) == 0) { if (res_ninit(statp) < 0) { @@ -607,25 +279,36 @@ return NULL; } } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyname2(name, af); + hp = _hpcopy(hp, errp); - *errp = HOST_NOT_FOUND; - hp = _ghbyname(name, af, flags, errp); - #ifdef INET6 if (af == AF_INET6 && ((flags & AI_ALL) || hp == NULL) && MAPADDRENABLED(flags)) { - struct hostent *hp2 = _ghbyname(name, AF_INET, flags, errp); + struct hostent *hp2 = gethostbyname2(name, AF_INET); if (hp == NULL) - hp = _hpmapv6(hp2, errp); + if (hp2 == NULL) + *errp = statp->res_h_errno; + else + hp = _hpmapv6(hp2, errp); else { - if (hp2 && strcmp(hp->h_name, hp2->h_name) != 0) { - freehostent(hp2); - hp2 = NULL; + if (hp2 && strcmp(hp->h_name, hp2->h_name) == 0) { + struct hostent *hpb = hp; + hp = _hpmerge(hpb, hp2, errp); + freehostent(hpb); } - hp = _hpmerge(hp, hp2, errp); } } #endif + + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; return _hpreorder(_hpsort(hp, statp)); } @@ -633,34 +316,15 @@ getipnodebyaddr(const void *src, size_t len, int af, int *errp) { struct hostent *hp; - int rval; + res_state statp; + u_long options; + #ifdef INET6 struct in6_addr addrbuf; #else struct in_addr addrbuf; #endif - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_id, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyaddr, NULL) - { NSSRC_DNS, _dns_ghbyaddr, NULL }, - NS_NIS_CB(_nis_ghbyaddr, NULL) -#ifdef ICMPNL - { NSSRC_ICMP, _icmp_ghbyaddr, NULL }, -#endif -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - - *errp = HOST_NOT_FOUND; - + switch (af) { case AF_INET: if (len != sizeof(struct in_addr)) { @@ -700,9 +364,23 @@ return NULL; } - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyaddr", default_src, - src, len, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; + statp = __res_state(); + if ((statp->options & RES_INIT) == 0) { + if (res_ninit(statp) < 0) { + RES_SET_H_ERRNO(statp, NETDB_INTERNAL); + return NULL; + } + } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyaddr(src, len, af); + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; + return (_hpcopy(hp, errp)); } void @@ -811,9 +489,10 @@ hp->h_addr_list = addrs; addrs[0] = (char *)addr; addrs[1] = NULL; - return _hpcopy(hp, errp); + return (_hpcopy(hp, errp)); } +#ifdef INET6 /* * _hpmerge: merge 2 hostent structure, arguments will be freed */ @@ -828,9 +507,9 @@ union inx_addr addrbuf[MAXADDRS]; if (hp1 == NULL) - return hp2; + return _hpcopy(hp2, errp); if (hp2 == NULL) - return hp1; + return _hpcopy(hp1, errp); #define HP(i) (i == 1 ? hp1 : hp2) hp = &hpbuf; @@ -850,17 +529,14 @@ } } aliases[nalias] = NULL; -#ifdef INET6 if (hp1->h_length != hp2->h_length) { hp->h_addrtype = AF_INET6; hp->h_length = sizeof(struct in6_addr); } else { -#endif hp->h_addrtype = hp1->h_addrtype; hp->h_length = hp1->h_length; -#ifdef INET6 } -#endif + hp->h_addr_list = addrs; naddr = 0; for (i = 1; i <= 2; i++) { @@ -879,11 +555,9 @@ } } addrs[naddr] = NULL; - hp = _hpcopy(hp, errp); - freehostent(hp1); - freehostent(hp2); - return hp; + return (_hpcopy(hp, errp)); } +#endif /* * _hpmapv6: convert IPv4 hostent into IPv4-mapped IPv6 addresses @@ -892,24 +566,17 @@ static struct hostent * _hpmapv6(struct hostent *hp, int *errp) { - struct hostent *hp6; + struct hostent hp6; if (hp == NULL) return NULL; if (hp->h_addrtype == AF_INET6) - return hp; + return _hpcopy(hp, errp); - /* make dummy hostent to convert IPv6 address */ - if ((hp6 = (struct hostent *)malloc(sizeof(struct hostent))) == NULL) { - *errp = TRY_AGAIN; - return NULL; - } - hp6->h_name = NULL; - hp6->h_aliases = NULL; - hp6->h_addrtype = AF_INET6; - hp6->h_length = sizeof(struct in6_addr); - hp6->h_addr_list = NULL; - return _hpmerge(hp6, hp, errp); + memset(&hp6, 0, sizeof(struct hostent)); + hp6.h_addrtype = AF_INET6; + hp6.h_length = sizeof(struct in6_addr); + return _hpmerge(&hp6, hp, errp); } #endif @@ -965,37 +632,6 @@ return hp; } -static char * -_hgetword(char **pp) -{ - char c, *p, *ret; - const char *sp; - static const char sep[] = "# \t\n"; - - ret = NULL; - for (p = *pp; (c = *p) != '\0'; p++) { - for (sp = sep; *sp != '\0'; sp++) { - if (c == *sp) - break; - } - if (c == '#') - p[1] = '\0'; /* ignore rest of line */ - if (ret == NULL) { - if (*sp == '\0') - ret = p; - } else { - if (*sp != '\0') { - *p++ = '\0'; - break; - } - } - } - *pp = p; - if (ret == NULL || *ret == '\0') - return NULL; - return ret; -} - /* * _hpreorder: sort address by default address selection */ @@ -1475,954 +1111,3 @@ return(-1); } } - -/* - * FILES (/etc/hosts) - */ - -static FILE * -_files_open(int *errp) -{ - FILE *fp; - fp = fopen(_PATH_HOSTS, "r"); - if (fp == NULL) - *errp = NO_RECOVERY; - return fp; -} - -static int -_files_ghbyname(void *rval, void *cb_data, va_list ap) -{ - const char *name; - int af; - int *errp; - int match, nalias; - char *p, *line, *addrstr, *cname; - FILE *fp; - struct hostent *rethp, *hp, hpbuf; - char *aliases[MAXALIASES + 1], *addrs[2]; - union inx_addr addrbuf; - char buf[BUFSIZ]; - - name = va_arg(ap, const char *); - af = va_arg(ap, int); - errp = va_arg(ap, int *); - - *(struct hostent **)rval = NULL; - - if ((fp = _files_open(errp)) == NULL) - return NS_UNAVAIL; - rethp = hp = NULL; - - while (fgets(buf, sizeof(buf), fp)) { - line = buf; - if ((addrstr = _hgetword(&line)) == NULL - || (cname = _hgetword(&line)) == NULL) - continue; - match = (strcasecmp(cname, name) == 0); - nalias = 0; - while ((p = _hgetword(&line)) != NULL) { - if (!match) - match = (strcasecmp(p, name) == 0); - if (nalias < MAXALIASES) - aliases[nalias++] = p; - } - if (!match) - continue; - switch (af) { - case AF_INET: - if (inet_aton(addrstr, (struct in_addr *)&addrbuf) - != 1) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 3 07:44:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B6A6C16A419; Fri, 3 Aug 2007 07:44:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6639C16A417 for ; Fri, 3 Aug 2007 07:44:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4F9AA13C465 for ; Fri, 3 Aug 2007 07:44:04 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l737i4OA049598 for ; Fri, 3 Aug 2007 07:44:04 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l737i4OS049594 for perforce@freebsd.org; Fri, 3 Aug 2007 07:44:04 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 3 Aug 2007 07:44:04 GMT Message-Id: <200708030744.l737i4OS049594@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124572 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 07:44:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=124572 Change 124572 by rdivacky@rdivacky_witten on 2007/08/03 07:43:43 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/dev/an/if_an.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/fs/tmpfs/tmpfs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/fs/tmpfs/tmpfs_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/netgraph/ng_ppp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/netgraph/ng_ppp.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/pci/viapm.c#2 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.40 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $"); #include "opt_hwpmc_hooks.h" @@ -1060,10 +1060,6 @@ if (retval != 0) printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); -#ifdef SMP - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); -#endif } SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL) ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/amd64/amd64/mp_machdep.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.286 2007/06/04 23:56:07 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -186,26 +186,14 @@ mp_topology(void) { struct cpu_group *group; - u_int regs[4]; - int logical_cpus; int apic_id; int groups; int cpu; /* Build the smp_topology map. */ /* Nothing to do if there is no HTT support. */ - if ((cpu_feature & CPUID_HTT) == 0) + if (hyperthreading_cpus <= 1) return; - logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; - if (logical_cpus <= 1) - return; - /* Nothing to do if reported cores are physical cores. */ - if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { - cpuid_count(4, 0, regs); - if ((regs[0] & 0x1f) != 0 && - logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) - return; - } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { @@ -215,7 +203,8 @@ * If the current group has members and we're not a logical * cpu, create a new group. */ - if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) { + if (group->cg_count != 0 && + (apic_id % hyperthreading_cpus) == 0) { group++; groups++; } @@ -420,6 +409,9 @@ } set_interrupt_apic_ids(); + + /* Last, setup the cpu topology now that we have probed CPUs */ + mp_topology(); } ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/dev/an/if_an.c#2 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.81 2007/06/08 01:21:20 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.82 2007/08/02 02:20:19 avatar Exp $"); /* * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form. @@ -1914,7 +1914,9 @@ error = 0; break; case SIOCGAIRONET: + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); + AN_LOCK(sc); if (error != 0) break; #ifdef ANCACHE @@ -1940,12 +1942,16 @@ error = EINVAL; break; } + AN_UNLOCK(sc); error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq)); + AN_LOCK(sc); break; case SIOCSAIRONET: if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); + AN_LOCK(sc); if (error != 0) break; an_setdef(sc, &sc->areq); @@ -1953,7 +1959,9 @@ case SIOCGPRIVATE_0: /* used by Cisco client utility */ if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); + AN_LOCK(sc); if (error) goto out; mode = l_ioctl.command; @@ -1969,18 +1977,24 @@ } if (!error) { /* copy out the updated command info */ + AN_UNLOCK(sc); error = copyout(&l_ioctl, ifr->ifr_data, sizeof(l_ioctl)); + AN_LOCK(sc); } break; case SIOCGPRIVATE_1: /* used by Cisco client utility */ if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); + AN_LOCK(sc); if (error) goto out; l_ioctl.command = 0; error = AIROMAGIC; + AN_UNLOCK(sc); (void) copyout(&error, l_ioctl.data, sizeof(error)); + AN_LOCK(sc); error = 0; break; case SIOCG80211: @@ -2030,8 +2044,10 @@ ireq->i_len = len; bzero(tmpstr, IEEE80211_NWID_LEN); bcopy(tmpptr, tmpstr, len); + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, IEEE80211_NWID_LEN); + AN_LOCK(sc); break; case IEEE80211_IOC_NUMSSIDS: sc->areq.an_len = sizeof(sc->areq); @@ -2105,7 +2121,9 @@ */ bzero(tmpstr, len); ireq->i_len = len; + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, len); + AN_LOCK(sc); break; case IEEE80211_IOC_NUMWEPKEYS: ireq->i_val = 9; /* include home key */ @@ -2183,8 +2201,10 @@ tmpptr = config->an_nodename; bzero(tmpstr, IEEE80211_NWID_LEN); bcopy(tmpptr, tmpstr, ireq->i_len); + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, IEEE80211_NWID_LEN); + AN_LOCK(sc); break; case IEEE80211_IOC_CHANNEL: sc->areq.an_type = AN_RID_STATUS; @@ -2268,9 +2288,11 @@ error = EINVAL; break; } else { + AN_UNLOCK(sc); error = copyin(ireq->i_data, ssids->an_entry[ireq->i_val].an_ssid, ireq->i_len); + AN_LOCK(sc); ssids->an_entry[ireq->i_val].an_len = ireq->i_len; break; @@ -2305,7 +2327,9 @@ error = EINVAL; break; } + AN_UNLOCK(sc); error = copyin(ireq->i_data, tmpstr, 13); + AN_LOCK(sc); if (error != 0) break; /* @@ -2387,8 +2411,10 @@ break; } bzero(config->an_nodename, 16); + AN_UNLOCK(sc); error = copyin(ireq->i_data, config->an_nodename, ireq->i_len); + AN_LOCK(sc); break; case IEEE80211_IOC_CHANNEL: /* @@ -2430,7 +2456,9 @@ an_setdef(sc, &sc->areq); break; default: + AN_UNLOCK(sc); error = ether_ioctl(ifp, command, data); + AN_LOCK(sc); break; } out: @@ -3159,6 +3187,7 @@ { unsigned short rid; struct an_softc *sc; + int error; switch (l_ioctl->command) { case AIROGCAP: @@ -3210,24 +3239,30 @@ l_ioctl->len = sc->areq.an_len - 4; /* just data */ + AN_UNLOCK(sc); /* the data contains the length at first */ if (copyout(&(sc->areq.an_len), l_ioctl->data, sizeof(sc->areq.an_len))) { - return -EFAULT; + error = -EFAULT; + goto lock_exit; } /* Just copy the data back */ if (copyout(&(sc->areq.an_val), l_ioctl->data + 2, l_ioctl->len)) { - return -EFAULT; + error = -EFAULT; + goto lock_exit; } - return 0; + error = 0; +lock_exit: + AN_LOCK(sc); + return (error); } static int writerids(struct ifnet *ifp, struct aironet_ioctl *l_ioctl) { struct an_softc *sc; - int rid, command; + int rid, command, error; sc = ifp->if_softc; rid = 0; @@ -3269,16 +3304,20 @@ an_read_record(sc, (struct an_ltv_gen *)&sc->areq); l_ioctl->len = sc->areq.an_len - 4; /* just data */ + AN_UNLOCK(sc); /* the data contains the length at first */ - if (copyout(&(sc->areq.an_len), l_ioctl->data, - sizeof(sc->areq.an_len))) { + error = copyout(&(sc->areq.an_len), l_ioctl->data, + sizeof(sc->areq.an_len)); + if (error) { + AN_LOCK(sc); return -EFAULT; } /* Just copy the data */ - if (copyout(&(sc->areq.an_val), l_ioctl->data + 2, - l_ioctl->len)) { + error = copyout(&(sc->areq.an_val), l_ioctl->data + 2, + l_ioctl->len); + AN_LOCK(sc); + if (error) return -EFAULT; - } return 0; break; case AIROPWEPKEY: @@ -3304,10 +3343,13 @@ sc->areq.an_type = rid; /* Just copy the data back */ - if (copyin((l_ioctl->data) + 2, &sc->areq.an_val, - l_ioctl->len)) { + AN_UNLOCK(sc); + error = copyin((l_ioctl->data) + 2, &sc->areq.an_val, + l_ioctl->len); + AN_LOCK(sc); + if (error) return -EFAULT; - } + an_cmd(sc, AN_CMD_DISABLE, 0); an_write_record(sc, (struct an_ltv_gen *)&sc->areq); an_cmd(sc, AN_CMD_ENABLE, 0); @@ -3603,7 +3645,9 @@ return ENOBUFS; break; case AIROFLSHGCHR: /* Get char from aux */ + AN_UNLOCK(sc); status = copyin(l_ioctl->data, &sc->areq, l_ioctl->len); + AN_LOCK(sc); if (status) return status; z = *(int *)&sc->areq; @@ -3612,7 +3656,9 @@ else return -1; case AIROFLSHPCHR: /* Send char to card. */ + AN_UNLOCK(sc); status = copyin(l_ioctl->data, &sc->areq, l_ioctl->len); + AN_LOCK(sc); if (status) return status; z = *(int *)&sc->areq; @@ -3627,7 +3673,9 @@ l_ioctl->len, FLASH_SIZE); return -EINVAL; } + AN_UNLOCK(sc); status = copyin(l_ioctl->data, sc->an_flash_buffer, l_ioctl->len); + AN_LOCK(sc); if (status) return status; ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/dev/nmdm/nmdm.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.38 2006/11/06 13:41:54 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nmdm/nmdm.c,v 1.39 2007/08/01 21:38:11 emax Exp $"); /* * Pseudo-nulmodem driver @@ -401,8 +401,13 @@ static int nmdmclose(struct cdev *dev, int flag, int mode, struct thread *td) { + struct tty *tp = dev->si_tty; + int error; - return (tty_close(dev->si_tty)); + error = ttyld_close(tp, flag); + (void) tty_close(dev->si_tty); + + return (error); } static void ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/fs/tmpfs/tmpfs.h#2 (text+ko) ==== @@ -36,7 +36,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/tmpfs/tmpfs.h,v 1.8 2007/07/11 14:26:27 delphij Exp $ + * $FreeBSD: src/sys/fs/tmpfs/tmpfs.h,v 1.9 2007/08/03 06:24:31 delphij Exp $ */ #ifndef _FS_TMPFS_TMPFS_H_ @@ -256,6 +256,7 @@ #define TMPFS_NODE_LOCK(node) mtx_lock(&(node)->tn_interlock) #define TMPFS_NODE_UNLOCK(node) mtx_unlock(&(node)->tn_interlock) +#define TMPFS_NODE_MTX(node) (&(node)->tn_interlock) #define TMPFS_VNODE_ALLOCATING 1 #define TMPFS_VNODE_WANT 2 ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/fs/tmpfs/tmpfs_subr.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ * Efficient memory file system supporting functions. */ #include -__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_subr.c,v 1.9 2007/07/11 14:26:27 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_subr.c,v 1.10 2007/08/03 06:24:31 delphij Exp $"); #include #include @@ -215,9 +215,8 @@ break; case VREG: - if (node->tn_reg.tn_aobj != NULL) { + if (node->tn_reg.tn_aobj != NULL) vm_object_deallocate(node->tn_reg.tn_aobj); - } pages = node->tn_reg.tn_aobj_pages; break; @@ -309,11 +308,8 @@ int error; struct vnode *vp; - vp = NULL; - loop: - if (node->tn_vnode != NULL) { - vp = node->tn_vnode; + if ((vp = node->tn_vnode) != NULL) { error = vget(vp, LK_EXCLUSIVE | LK_RETRY, td); if (error) return error; @@ -337,12 +333,16 @@ TMPFS_NODE_LOCK(node); if (node->tn_vpstate & TMPFS_VNODE_ALLOCATING) { node->tn_vpstate |= TMPFS_VNODE_WANT; - TMPFS_NODE_UNLOCK(node); - (void) tsleep((caddr_t) &node->tn_vpstate, 0, "tmpfs_vplock", 0); + error = msleep((caddr_t) &node->tn_vpstate, + TMPFS_NODE_MTX(node), PDROP | PCATCH, + "tmpfs_vplock", 0); + if (error) + return error; + goto loop; - } - - node->tn_vpstate |= TMPFS_VNODE_ALLOCATING; + } else + node->tn_vpstate |= TMPFS_VNODE_ALLOCATING; + TMPFS_NODE_UNLOCK(node); /* Get a new vnode and associate it with our node. */ @@ -367,21 +367,18 @@ case VBLK: /* FALLTHROUGH */ case VCHR: - break; - + /* FALLTHROUGH */ case VDIR: - break; - - case VFIFO: - vp->v_op = &tmpfs_fifoop_entries; - break; - + /* FALLTHROUGH */ case VLNK: /* FALLTHROUGH */ case VREG: /* FALLTHROUGH */ case VSOCK: break; + case VFIFO: + vp->v_op = &tmpfs_fifoop_entries; + break; default: MPASS(0); @@ -391,6 +388,7 @@ error = insmntque(vp, mp); if (error) { node->tn_vnode = NULL; + TMPFS_NODE_LOCK(node); if (node->tn_vpstate & TMPFS_VNODE_WANT) { node->tn_vpstate &= ~TMPFS_VNODE_WANT; TMPFS_NODE_UNLOCK(node); @@ -402,8 +400,8 @@ node->tn_vnode = vp; unlock: + TMPFS_NODE_LOCK(node); MPASS(node->tn_vpstate & TMPFS_VNODE_ALLOCATING); - TMPFS_NODE_LOCK(node); node->tn_vpstate &= ~TMPFS_VNODE_ALLOCATING; if (node->tn_vpstate & TMPFS_VNODE_WANT) { @@ -530,6 +528,7 @@ { struct tmpfs_node *dnode; + ASSERT_VOP_ELOCKED(vp, __func__); dnode = VP_TO_TMPFS_DIR(vp); TAILQ_INSERT_TAIL(&dnode->tn_dir.tn_dirhead, de, td_entries); dnode->tn_size += sizeof(struct tmpfs_dirent); @@ -549,6 +548,7 @@ { struct tmpfs_node *dnode; + ASSERT_VOP_ELOCKED(vp, __func__); dnode = VP_TO_TMPFS_DIR(vp); if (dnode->tn_dir.tn_readdir_lastp == de) { @@ -873,7 +873,7 @@ swap_pager_freespace(uobj, newpages, oldpages - newpages); vm_object_page_remove(uobj, - OFF_TO_IDX(newsize + PAGE_MASK), 0, FALSE); + OFF_TO_IDX(newsize + PAGE_MASK), 0, FALSE); } /* ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/i386/local_apic.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.42 2007/05/08 22:01:03 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/local_apic.c,v 1.43 2007/08/02 21:17:57 peter Exp $"); #include "opt_hwpmc_hooks.h" @@ -1064,10 +1064,6 @@ if (retval != 0) printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); -#ifdef SMP - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); -#endif } SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_FIRST, apic_init, NULL) ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/i386/mp_machdep.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.280 2007/06/04 23:56:07 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/mp_machdep.c,v 1.281 2007/08/02 21:17:57 peter Exp $"); #include "opt_apic.h" #include "opt_cpu.h" @@ -241,26 +241,14 @@ mp_topology(void) { struct cpu_group *group; - u_int regs[4]; - int logical_cpus; int apic_id; int groups; int cpu; /* Build the smp_topology map. */ /* Nothing to do if there is no HTT support. */ - if ((cpu_feature & CPUID_HTT) == 0) + if (hyperthreading_cpus <= 1) return; - logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; - if (logical_cpus <= 1) - return; - /* Nothing to do if reported cores are physical cores. */ - if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { - cpuid_count(4, 0, regs); - if ((regs[0] & 0x1f) != 0 && - logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) - return; - } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { @@ -270,7 +258,8 @@ * If the current group has members and we're not a logical * cpu, create a new group. */ - if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) { + if (group->cg_count != 0 && + (apic_id % hyperthreading_cpus) == 0) { group++; groups++; } @@ -469,6 +458,9 @@ } set_interrupt_apic_ids(); + + /* Last, setup the cpu topology now that we have probed CPUs */ + mp_topology(); } ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/netgraph/ng_ppp.c#2 (text+ko) ==== @@ -58,7 +58,7 @@ * * Authors: Archie Cobbs , Alexander Motin * - * $FreeBSD: src/sys/netgraph/ng_ppp.c,v 1.67 2007/06/04 13:50:09 mav Exp $ + * $FreeBSD: src/sys/netgraph/ng_ppp.c,v 1.69 2007/08/01 20:49:35 mav Exp $ * $Whistle: ng_ppp.c,v 1.24 1999/11/01 09:24:52 julian Exp $ */ @@ -196,7 +196,7 @@ /* Per-link private information */ struct ng_ppp_link { struct ng_ppp_link_conf conf; /* link configuration */ - struct ng_ppp_link_stat stats; /* link stats */ + struct ng_ppp_link_stat64 stats; /* link stats */ hook_p hook; /* connection to link data */ int32_t seq; /* highest rec'd seq# - MSEQ */ uint32_t latency; /* calculated link latency */ @@ -207,7 +207,7 @@ /* Total per-node private information */ struct ng_ppp_private { struct ng_ppp_bund_conf conf; /* bundle config */ - struct ng_ppp_link_stat bundleStats; /* bundle stats */ + struct ng_ppp_link_stat64 bundleStats; /* bundle stats */ struct ng_ppp_link links[NG_PPP_MAX_LINKS];/* per-link info */ int32_t xseq; /* next out MP seq # */ int32_t mseq; /* min links[i].seq */ @@ -221,6 +221,8 @@ frags; int qlen; /* fraq queue length */ struct callout fragTimer; /* fraq queue check */ + struct mtx rmtx; /* recv mutex */ + struct mtx xmtx; /* xmit mutex */ }; typedef struct ng_ppp_private *priv_p; @@ -299,7 +301,7 @@ static int ng_ppp_mp_recv(node_p node, item_p item, uint16_t proto, uint16_t linkNum); static int ng_ppp_link_xmit(node_p node, item_p item, uint16_t proto, - uint16_t linkNum); + uint16_t linkNum, int plen); static int ng_ppp_bypass(node_p node, item_p item, uint16_t proto, uint16_t linkNum); @@ -381,6 +383,14 @@ &ng_ppp_stats_type_fields }; +/* Parse type for struct ng_ppp_link_stat64 */ +static const struct ng_parse_struct_field ng_ppp_stats64_type_fields[] + = NG_PPP_STATS64_TYPE_INFO; +static const struct ng_parse_type ng_ppp_stats64_type = { + &ng_parse_struct_type, + &ng_ppp_stats64_type_fields +}; + /* List of commands and how to convert arguments to/from ASCII */ static const struct ng_cmdlist ng_ppp_cmds[] = { { @@ -425,6 +435,20 @@ &ng_parse_int16_type, &ng_ppp_stats_type }, + { + NGM_PPP_COOKIE, + NGM_PPP_GET_LINK_STATS64, + "getstats64", + &ng_parse_int16_type, + &ng_ppp_stats64_type + }, + { + NGM_PPP_COOKIE, + NGM_PPP_GETCLR_LINK_STATS64, + "getclrstats64", + &ng_parse_int16_type, + &ng_ppp_stats64_type + }, { 0 } }; @@ -476,6 +500,9 @@ priv->links[i].seq = MP_NOSEQ; ng_callout_init(&priv->fragTimer); + mtx_init(&priv->rmtx, "ng_ppp_recv", NULL, MTX_DEF); + mtx_init(&priv->xmtx, "ng_ppp_xmit", NULL, MTX_DEF); + /* Done */ return (0); } @@ -515,9 +542,6 @@ !priv->conf.enableMultilink && priv->numActiveLinks >= 1) return (ENODEV); - /* MP recv code is not thread-safe. */ - NG_HOOK_FORCE_WRITER(hook); - } else { /* must be a non-link hook */ int i; @@ -615,10 +639,13 @@ case NGM_PPP_GET_LINK_STATS: case NGM_PPP_CLR_LINK_STATS: case NGM_PPP_GETCLR_LINK_STATS: + case NGM_PPP_GET_LINK_STATS64: + case NGM_PPP_GETCLR_LINK_STATS64: { - struct ng_ppp_link_stat *stats; + struct ng_ppp_link_stat64 *stats; uint16_t linkNum; + /* Process request. */ if (msg->header.arglen != sizeof(uint16_t)) ERROUT(EINVAL); linkNum = *((uint16_t *) msg->data); @@ -627,14 +654,38 @@ ERROUT(EINVAL); stats = (linkNum == NG_PPP_BUNDLE_LINKNUM) ? &priv->bundleStats : &priv->links[linkNum].stats; - if (msg->header.cmd != NGM_PPP_CLR_LINK_STATS) { + + /* Make 64bit reply. */ + if (msg->header.cmd == NGM_PPP_GET_LINK_STATS64 || + msg->header.cmd == NGM_PPP_GETCLR_LINK_STATS64) { + NG_MKRESPONSE(resp, msg, + sizeof(struct ng_ppp_link_stat64), M_NOWAIT); + if (resp == NULL) + ERROUT(ENOMEM); + bcopy(stats, resp->data, sizeof(*stats)); + } else + /* Make 32bit reply. */ + if (msg->header.cmd == NGM_PPP_GET_LINK_STATS || + msg->header.cmd == NGM_PPP_GETCLR_LINK_STATS) { + struct ng_ppp_link_stat *rs; NG_MKRESPONSE(resp, msg, sizeof(struct ng_ppp_link_stat), M_NOWAIT); if (resp == NULL) ERROUT(ENOMEM); - bcopy(stats, resp->data, sizeof(*stats)); + rs = (struct ng_ppp_link_stat *)resp->data; + /* Truncate 64->32 bits. */ + rs->xmitFrames = stats->xmitFrames; + rs->xmitOctets = stats->xmitOctets; + rs->recvFrames = stats->recvFrames; + rs->recvOctets = stats->recvOctets; + rs->badProtos = stats->badProtos; + rs->runts = stats->runts; + rs->dupFragments = stats->dupFragments; + rs->dropFragments = stats->dropFragments; } - if (msg->header.cmd != NGM_PPP_GET_LINK_STATS) + /* Clear stats. */ + if (msg->header.cmd != NGM_PPP_GET_LINK_STATS && + msg->header.cmd != NGM_PPP_GET_LINK_STATS64) bzero(stats, sizeof(*stats)); break; } @@ -684,6 +735,8 @@ /* Take down netgraph node */ ng_ppp_frag_reset(node); + mtx_destroy(&priv->rmtx); + mtx_destroy(&priv->xmtx); bzero(priv, sizeof(*priv)); FREE(priv, M_NETGRAPH_PPP); NG_NODE_SET_PRIVATE(node, NULL); @@ -812,7 +865,7 @@ return (ng_ppp_hcomp_xmit(NG_HOOK_NODE(hook), item, proto)); else return (ng_ppp_link_xmit(NG_HOOK_NODE(hook), item, proto, - linkNum)); + linkNum, 0)); } static int @@ -1177,10 +1230,6 @@ { const priv_p priv = NG_NODE_PRIVATE(node); - /* Stats */ - priv->bundleStats.recvFrames++; - priv->bundleStats.recvOctets += NGI_M(item)->m_pkthdr.len; - if (proto == PROT_CRYPTD) { if (priv->conf.enableDecryption && priv->hooks[HOOK_INDEX_DECRYPT] != NULL) { @@ -1234,7 +1283,7 @@ */ static int -ng_ppp_link_xmit(node_p node, item_p item, uint16_t proto, uint16_t linkNum) +ng_ppp_link_xmit(node_p node, item_p item, uint16_t proto, uint16_t linkNum, int plen) { const priv_p priv = NG_NODE_PRIVATE(node); struct ng_ppp_link *link; @@ -1244,8 +1293,7 @@ /* Check if link correct. */ if (linkNum >= NG_PPP_MAX_LINKS) { - NG_FREE_ITEM(item); - return (ENETDOWN); + ERROUT(ENETDOWN); } /* Get link pointer (optimization). */ @@ -1253,8 +1301,7 @@ /* Check link status (if real). */ if (link->hook == NULL) { - NG_FREE_ITEM(item); - return (ENETDOWN); + ERROUT(ENETDOWN); } /* Extract mbuf. */ @@ -1264,34 +1311,39 @@ mru = link->conf.mru; if (mru != 0 && m->m_pkthdr.len > mru) { NG_FREE_M(m); - NG_FREE_ITEM(item); - return (EMSGSIZE); + ERROUT(EMSGSIZE); } /* Prepend protocol number, possibly compressed. */ if ((m = ng_ppp_addproto(m, proto, link->conf.enableProtoComp)) == NULL) { - NG_FREE_ITEM(item); - return (ENOBUFS); + ERROUT(ENOBUFS); } /* Prepend address and control field (unless compressed). */ if (proto == PROT_LCP || !link->conf.enableACFComp) { - if ((m = ng_ppp_prepend(m, &ng_ppp_acf, 2)) == NULL) { - NG_FREE_ITEM(item); - return (ENOBUFS); - } + if ((m = ng_ppp_prepend(m, &ng_ppp_acf, 2)) == NULL) + ERROUT(ENOBUFS); } /* Deliver frame. */ len = m->m_pkthdr.len; NG_FWD_NEW_DATA(error, item, link->hook, m); - /* Update stats and 'bytes in queue' counter. */ + mtx_lock(&priv->xmtx); + + /* Update link stats. */ + link->stats.xmitFrames++; + link->stats.xmitOctets += len; + + /* Update bundle stats. */ + if (plen > 0) { + priv->bundleStats.xmitFrames++; + priv->bundleStats.xmitOctets += plen; + } + + /* Update 'bytes in queue' counter. */ if (error == 0) { - link->stats.xmitFrames++; - link->stats.xmitOctets += len; - /* bytesInQueue and lastWrite required only for mp_strategy. */ if (priv->conf.enableMultilink && !priv->allLinksEqual && !priv->conf.enableRoundRobin) { @@ -1305,6 +1357,11 @@ link->bytesInQueue = 50 * 1600; } } + mtx_unlock(&priv->xmtx); + return (error); + +done: + NG_FREE_ITEM(item); return (error); } @@ -1321,47 +1378,54 @@ struct ng_ppp_link * const link = &priv->links[linkNum]; uint16_t proto; struct mbuf *m; + int error = 0; KASSERT(linkNum < NG_PPP_MAX_LINKS, ("%s: bogus index 0x%x", __func__, index)); NGI_GET_M(item, m); + mtx_lock(&priv->rmtx); + /* Stats */ link->stats.recvFrames++; link->stats.recvOctets += m->m_pkthdr.len; /* Strip address and control fields, if present. */ - if (m->m_len < 2 && (m = m_pullup(m, 2)) == NULL) { - NG_FREE_ITEM(item); - return (ENOBUFS); - } + if (m->m_len < 2 && (m = m_pullup(m, 2)) == NULL) + ERROUT(ENOBUFS); if (bcmp(mtod(m, uint8_t *), &ng_ppp_acf, 2) == 0) m_adj(m, 2); - if ((m = ng_ppp_cutproto(m, &proto)) == NULL) { - NG_FREE_ITEM(item); - return (ENOBUFS); - } + /* Get protocol number */ + if ((m = ng_ppp_cutproto(m, &proto)) == NULL) + ERROUT(ENOBUFS); NGI_M(item) = m; /* Put changed m back into item. */ if (!PROT_VALID(proto)) { link->stats.badProtos++; - NG_FREE_ITEM(item); - return (EIO); + ERROUT(EIO); } /* LCP packets must go directly to bypass. */ - if (proto >= 0xB000) + if (proto >= 0xB000) { + mtx_unlock(&priv->rmtx); return (ng_ppp_bypass(node, item, proto, linkNum)); + } - if (!link->conf.enableLink) { - /* Non-LCP packets are denied on a disabled link. */ - NG_FREE_ITEM(item); - return (ENXIO); - } + /* Other packets are denied on a disabled link. */ + if (!link->conf.enableLink) + ERROUT(ENXIO); + + /* Proceed to multilink layer. Mutex will be unlocked inside. */ + error = ng_ppp_mp_recv(node, item, proto, linkNum); + mtx_assert(&priv->rmtx, MA_NOTOWNED); + return (error); - return (ng_ppp_mp_recv(node, item, proto, linkNum)); +done: + mtx_unlock(&priv->rmtx); + NG_FREE_ITEM(item); + return (error); } /* @@ -1429,9 +1493,16 @@ struct ng_ppp_frag *qent; int i, diff, inserted; struct mbuf *m; + int error = 0; - if ((!priv->conf.enableMultilink) || proto != PROT_MP) + if ((!priv->conf.enableMultilink) || proto != PROT_MP) { + /* Stats */ + priv->bundleStats.recvFrames++; + priv->bundleStats.recvOctets += NGI_M(item)->m_pkthdr.len; + + mtx_unlock(&priv->rmtx); return (ng_ppp_crypt_recv(node, item, proto, linkNum)); + } NGI_GET_M(item, m); NG_FREE_ITEM(item); @@ -1443,10 +1514,10 @@ if (m->m_pkthdr.len < 2) { >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 3 08:10:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0B9EE16A46C; Fri, 3 Aug 2007 08:10:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3F5816A41A; Fri, 3 Aug 2007 08:10:38 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 86E2C13C48A; Fri, 3 Aug 2007 08:10:38 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id EB0308C0A1A; Fri, 3 Aug 2007 10:10:36 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XGk6reOhOdHE; Fri, 3 Aug 2007 10:10:33 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id F37A98C0976; Fri, 3 Aug 2007 10:10:32 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l738AWFt064798; Fri, 3 Aug 2007 10:10:32 +0200 (CEST) (envelope-from rdivacky) Date: Fri, 3 Aug 2007 10:10:32 +0200 From: Roman Divacky To: Jung-uk Kim Message-ID: <20070803081032.GA64605@freebsd.org> References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021356.58217.jkim@FreeBSD.org> <20070802192936.GA49511@freebsd.org> <200708021714.33543.jkim@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200708021714.33543.jkim@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 08:10:39 -0000 > > hm.. I looked at it and in my version the cpumask_t (linux one) is > > defined to be bit array of configurable length. I dont know what is > > the default but I think its quite safe to assume that its 128. > > Yes, it was but not any more. Basically it depends on Linux kernel > configuration option, i.e., maximum number of CPUs. Since the bit 0 > is CPU 0, bit 1 is CPU 1, etc, you have to make sure the last bits > are properly set. If you really had to do i = ~0, you probably > wanted to do casting first, e.g., i = ~(cpumask_t)0 to make sure. Of > course my version doesn't have to worry about it. ;-) cpumaskt_t is just an unsigned int so ~0 should be fine. have you looked at my latest revision? the native linux syscall returns the size of the cpumask_t. ie. the userland knows what is the maximum that kernel allows. in FreeBSD it doesnt make any sense to emulate linux size because if fbsd doesnt support that many CPUs we cannot emulate it. So using fbsd-sized cpumask_t and telling userland about it is ok. agree? > > but still.. the prototype is: > > > > asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int len, > > unsigned long __user > > *user_mask_ptr) > > > > and the len is not used anywhere in the code to dynamically size > > it. I wonder how to deal with that. > > The prototype I gave you was from manual page, not the kernel source: > > http://www.linuxhowtos.org/manpages/2/sched_getaffinity.htm yeah.. but this is glibc, I'd prefer to stick with kernel land interface nomenclature thnx for the review! From owner-p4-projects@FreeBSD.ORG Fri Aug 3 12:26:00 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CC0116A46C; Fri, 3 Aug 2007 12:26:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DACBF16A469 for ; Fri, 3 Aug 2007 12:25:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C174A13C469 for ; Fri, 3 Aug 2007 12:25:59 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73CPxIA081919 for ; Fri, 3 Aug 2007 12:25:59 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73CPx8J081916 for perforce@freebsd.org; Fri, 3 Aug 2007 12:25:59 GMT (envelope-from rpaulo@FreeBSD.org) Date: Fri, 3 Aug 2007 12:25:59 GMT Message-Id: <200708031225.l73CPx8J081916@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124589 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 12:26:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=124589 Change 124589 by rpaulo@rpaulo_epsilon on 2007/08/03 12:25:21 Remove bogus check for invalid temperatures. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#29 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#29 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#28 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/asmc/asmc.c#29 $ * */ @@ -766,7 +766,7 @@ /* * Check for invalid temperatures. */ - if ((asmc_key_read(dev, key, buf, 2) < 0) || buf[0] == 127) + if (asmc_key_read(dev, key, buf, 2) < 0) return (-1); return (buf[0]); From owner-p4-projects@FreeBSD.ORG Fri Aug 3 12:56:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 795C216A41F; Fri, 3 Aug 2007 12:56:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E1A016A419 for ; Fri, 3 Aug 2007 12:56:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 03E5F13C458 for ; Fri, 3 Aug 2007 12:56:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73CubdC092323 for ; Fri, 3 Aug 2007 12:56:37 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73CubSk092320 for perforce@freebsd.org; Fri, 3 Aug 2007 12:56:37 GMT (envelope-from rdivacky@FreeBSD.org) Date: Fri, 3 Aug 2007 12:56:37 GMT Message-Id: <200708031256.l73CubSk092320@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 124590 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 12:56:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=124590 Change 124590 by rdivacky@rdivacky_witten on 2007/08/03 12:56:24 Naive attempt to update /proc//stat. Just for my testing purposes. Dont bother reviewing. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linprocfs/linprocfs.c#3 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linprocfs/linprocfs.c#3 (text+ko) ==== @@ -85,6 +85,7 @@ #if defined(__i386__) || defined(__amd64__) #include #include +#include #endif /* __i386__ || __amd64__ */ #include "opt_compat.h" @@ -544,42 +545,50 @@ PROC_UNLOCK(p); PS_ADD("tty", "%d", 0); /* XXX */ PS_ADD("tpgid", "%d", kp.ki_tpgid); - PS_ADD("flags", "%u", 0); /* XXX */ + PS_ADD("flags", "%lu", (unsigned long)0); /* XXX */ PS_ADD("minflt", "%lu", kp.ki_rusage.ru_minflt); PS_ADD("cminflt", "%lu", kp.ki_rusage_ch.ru_minflt); PS_ADD("majflt", "%lu", kp.ki_rusage.ru_majflt); PS_ADD("cmajflt", "%lu", kp.ki_rusage_ch.ru_majflt); - PS_ADD("utime", "%ld", T2J(tvtohz(&kp.ki_rusage.ru_utime))); - PS_ADD("stime", "%ld", T2J(tvtohz(&kp.ki_rusage.ru_stime))); + PS_ADD("utime", "%lu", T2J(tvtohz(&kp.ki_rusage.ru_utime))); + PS_ADD("stime", "%lu", T2J(tvtohz(&kp.ki_rusage.ru_stime))); PS_ADD("cutime", "%ld", T2J(tvtohz(&kp.ki_rusage_ch.ru_utime))); PS_ADD("cstime", "%ld", T2J(tvtohz(&kp.ki_rusage_ch.ru_stime))); - PS_ADD("priority", "%d", kp.ki_pri.pri_user); - PS_ADD("nice", "%d", kp.ki_nice); /* 19 (nicest) to -19 */ - PS_ADD("0", "%d", 0); /* removed field */ - PS_ADD("itrealvalue", "%d", 0); /* XXX */ + PS_ADD("priority", "%ld", (long int)kp.ki_pri.pri_user); + PS_ADD("nice", "%ld", (long int) kp.ki_nice); /* 19 (nicest) to -19 */ + PS_ADD("0", "%d", 1); /* number of threads */ + PS_ADD("itrealvalue", "%ld", (long int)0); /* XXX */ /* XXX: starttime is not right, it is the _same_ for _every_ process. It should be the number of jiffies between system boot and process start. */ - PS_ADD("starttime", "%lu", T2J(tvtohz(&kp.ki_start))); - PS_ADD("vsize", "%ju", P2K((uintmax_t)kp.ki_size)); - PS_ADD("rss", "%ju", (uintmax_t)kp.ki_rssize); + PS_ADD("starttime", "%llu", (unsigned long long)T2J(tvtohz(&kp.ki_start))); + PS_ADD("vsize", "%lu", (unsigned long)P2K((uintmax_t)kp.ki_size)); + PS_ADD("rss", "%ld", (long int)kp.ki_rssize); PS_ADD("rlim", "%lu", kp.ki_rusage.ru_maxrss); - PS_ADD("startcode", "%u", (unsigned)0); - PS_ADD("endcode", "%u", 0); /* XXX */ - PS_ADD("startstack", "%u", 0); /* XXX */ - PS_ADD("kstkesp", "%u", 0); /* XXX */ - PS_ADD("kstkeip", "%u", 0); /* XXX */ - PS_ADD("signal", "%u", 0); /* XXX */ - PS_ADD("blocked", "%u", 0); /* XXX */ - PS_ADD("sigignore", "%u", 0); /* XXX */ - PS_ADD("sigcatch", "%u", 0); /* XXX */ - PS_ADD("wchan", "%u", 0); /* XXX */ - PS_ADD("nswap", "%lu", kp.ki_rusage.ru_nswap); - PS_ADD("cnswap", "%lu", kp.ki_rusage_ch.ru_nswap); - PS_ADD("exitsignal", "%d", 0); /* XXX */ - PS_ADD("processor", "%u", kp.ki_lastcpu); - PS_ADD("rt_priority", "%u", 0); /* XXX */ /* >= 2.5.19 */ - PS_ADD("policy", "%u", kp.ki_pri.pri_class); /* >= 2.5.19 */ + PS_ADD("startcode", "%lu", (unsigned long)0); + PS_ADD("endcode", "%lu", (unsigned long)0); /* XXX */ + PS_ADD("startstack", "%lu", (unsigned long)p->p_sysent->sv_usrstack); +#if __i386__ + PS_ADD("kstkesp", "%lu", (unsigned long)td->td_frame->tf_esp); /* XXX: i386 only*/ + PS_ADD("kstkeip", "%lu", (unsigned long)td->td_frame->tf_eip); /* XXX: i386 only */ +#elif __amd64__ + PS_ADD("kstkesp", "%lu", (unsigned long)td->td_frame->tf_rsp); /* XXX: i386 only*/ + PS_ADD("kstkeip", "%lu", (unsigned long)td->td_frame->tf_rip); /* XXX: i386 only */ +#else + PS_ADD("kstkesp", "%lu", (unsigned long)0); /* XXX: i386 only*/ + PS_ADD("kstkeip", "%lu", (unsigned long)0); /* XXX: i386 only */ +#endif + PS_ADD("signal", "%lu", (unsigned long)0); /* ignored */ + PS_ADD("blocked", "%lu", (unsigned long)0); /* ignored */ + PS_ADD("sigignore", "%lu", (unsigned long)0); /* ignored */ + PS_ADD("sigcatch", "%lu", (unsigned long)0); /* ignored */ + PS_ADD("wchan", "%lu", (unsigned long)0); /* ignored */ + PS_ADD("nswap", "%lu", (unsigned long)0); /* defined as 0 */ + PS_ADD("cnswap", "%lu", (unsigned long)0); /* defined as 0 */ + PS_ADD("exitsignal", "%d", p->p_sigparent); + PS_ADD("processor", "%d", td->td_oncpu); + PS_ADD("rt_priority", "%lu", (unsigned long)0); /* XXX */ /* >= 2.5.19 */ + PS_ADD("policy", "%lu", (unsigned long)kp.ki_pri.pri_class); /* >= 2.5.19 */ #undef PS_ADD sbuf_putc(sb, '\n'); @@ -865,7 +874,7 @@ vm_ooffset_t off = 0; char *name = "", *freename = NULL; ino_t ino; - unsigned int last_timestamp; + unsigned int last_timestamp = map->timestamp; int ref_count, shadow_count, flags; int error; struct vnode *vp; From owner-p4-projects@FreeBSD.ORG Fri Aug 3 13:28:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57AC816A421; Fri, 3 Aug 2007 13:28:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DA80D16A418 for ; Fri, 3 Aug 2007 13:28:19 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD07A13C457 for ; Fri, 3 Aug 2007 13:28:19 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73DSJFx095621 for ; Fri, 3 Aug 2007 13:28:19 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73DSI8I095612 for perforce@freebsd.org; Fri, 3 Aug 2007 13:28:18 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 13:28:18 GMT Message-Id: <200708031328.l73DSI8I095612@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124593 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 13:28:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=124593 Change 124593 by zec@zec_tca51 on 2007/08/03 13:27:32 IFC @ 124552 Affected files ... .. //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#6 integrate .. //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/arm/arm/trap.c#4 integrate .. //depot/projects/vimage/src/sys/arm/at91/at91rm92reg.h#2 integrate .. //depot/projects/vimage/src/sys/arm/at91/kb920x_machdep.c#5 integrate .. //depot/projects/vimage/src/sys/arm/at91/ohci_atmelarm.c#3 integrate .. //depot/projects/vimage/src/sys/arm/conf/KB920X#3 integrate .. //depot/projects/vimage/src/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/vimage/src/sys/conf/options.ia64#2 integrate .. //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_hpet.c#6 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_timer.c#4 integrate .. //depot/projects/vimage/src/sys/dev/aic7xxx/aic7xxx.c#3 integrate .. //depot/projects/vimage/src/sys/dev/aic7xxx/aic_osm_lib.c#3 integrate .. //depot/projects/vimage/src/sys/dev/an/if_an.c#3 integrate .. //depot/projects/vimage/src/sys/dev/arcmsr/arcmsr.c#7 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bce.c#9 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/vimage/src/sys/dev/bce/if_bcereg.h#6 integrate .. //depot/projects/vimage/src/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/vimage/src/sys/dev/pci/pci.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/umodem.c#4 integrate .. //depot/projects/vimage/src/sys/i386/i386/local_apic.c#6 integrate .. //depot/projects/vimage/src/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/db_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/exception.S#4 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/interrupt.c#4 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/machdep.c#7 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/nexus.c#3 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/pmap.c#5 integrate .. //depot/projects/vimage/src/sys/ia64/ia64/sapic.c#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/atomic.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/intr.h#3 integrate .. //depot/projects/vimage/src/sys/ia64/include/md_var.h#2 integrate .. //depot/projects/vimage/src/sys/ia64/include/sapicvar.h#2 integrate .. //depot/projects/vimage/src/sys/net/bpf.c#10 integrate .. //depot/projects/vimage/src/sys/net/if_bridge.c#6 integrate .. //depot/projects/vimage/src/sys/net/if_bridgevar.h#5 integrate .. //depot/projects/vimage/src/sys/net/if_lagg.c#8 integrate .. //depot/projects/vimage/src/sys/net/if_lagg.h#6 integrate .. //depot/projects/vimage/src/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ppp.c#7 integrate .. //depot/projects/vimage/src/sys/netgraph/ng_ppp.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/ip_carp.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/ip_dummynet.c#4 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#21 edit .. //depot/projects/vimage/src/sys/netinet/ip_mroute.c#5 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_fsm.h#3 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#20 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#25 edit .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#16 edit .. //depot/projects/vimage/src/sys/netinet/tcp_timer.h#5 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#14 edit .. //depot/projects/vimage/src/sys/netipx/spx_debug.c#4 integrate .. //depot/projects/vimage/src/sys/netipx/spx_debug.h#4 integrate .. //depot/projects/vimage/src/sys/pc98/cbus/clock.c#5 integrate .. //depot/projects/vimage/src/sys/pci/viapm.c#3 integrate .. //depot/projects/vimage/src/sys/powerpc/powerpc/trap.c#4 integrate .. //depot/projects/vimage/src/sys/sys/mutex.h#7 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/amd64/local_apic.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.40 2007/05/08 22:01:02 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $"); #include "opt_hwpmc_hooks.h" @@ -1060,10 +1060,6 @@ if (retval != 0) printf("%s: Failed to setup the local APIC: returned %d\n", best_enum->apic_name, retval); -#ifdef SMP - /* Last, setup the cpu topology now that we have probed CPUs */ - mp_topology(); -#endif } SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL) ==== //depot/projects/vimage/src/sys/amd64/amd64/mp_machdep.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.286 2007/06/04 23:56:07 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -186,26 +186,14 @@ mp_topology(void) { struct cpu_group *group; - u_int regs[4]; - int logical_cpus; int apic_id; int groups; int cpu; /* Build the smp_topology map. */ /* Nothing to do if there is no HTT support. */ - if ((cpu_feature & CPUID_HTT) == 0) + if (hyperthreading_cpus <= 1) return; - logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16; - if (logical_cpus <= 1) - return; - /* Nothing to do if reported cores are physical cores. */ - if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) { - cpuid_count(4, 0, regs); - if ((regs[0] & 0x1f) != 0 && - logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1) - return; - } group = &mp_groups[0]; groups = 1; for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) { @@ -215,7 +203,8 @@ * If the current group has members and we're not a logical * cpu, create a new group. */ - if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) { + if (group->cg_count != 0 && + (apic_id % hyperthreading_cpus) == 0) { group++; groups++; } @@ -420,6 +409,9 @@ } set_interrupt_apic_ids(); + + /* Last, setup the cpu topology now that we have probed CPUs */ + mp_topology(); } ==== //depot/projects/vimage/src/sys/arm/arm/trap.c#4 (text+ko) ==== @@ -82,7 +82,7 @@ #include "opt_ktrace.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.34 2007/06/04 21:38:45 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/trap.c,v 1.35 2007/07/31 17:09:05 cognet Exp $"); #include #include @@ -943,7 +943,7 @@ case 0: #ifdef __ARMEB__ if ((insn & 0x000fffff) == SYS___syscall && - (code != SYS_lseek)) { + code != SYS_freebsd6_lseek && code != SYS_lseek) { /* * 64-bit return, 32-bit syscall. Fixup byte order */ ==== //depot/projects/vimage/src/sys/arm/at91/at91rm92reg.h#2 (text) ==== @@ -22,7 +22,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.4 2006/08/28 20:05:00 cognet Exp $ */ +/* $FreeBSD: src/sys/arm/at91/at91rm92reg.h,v 1.5 2007/07/31 17:43:18 imp Exp $ */ #ifndef AT91RM92REG_H_ #define AT91RM92REG_H_ @@ -336,7 +336,8 @@ #define AT91RM92_TC1C1_BASE 0xffa4040 #define AT91RM92_TC1C2_BASE 0xffa4080 -#define AT91RM92_OHCI_BASE 0x00300000 +#define AT91RM92_OHCI_BASE 0xdfe00000 +#define AT91RM92_OHCI_PA_BASE 0x00300000 #define AT91RM92_OHCI_SIZE 0x00100000 #define AT91C_MASTER_CLOCK 60000000 ==== //depot/projects/vimage/src/sys/arm/at91/kb920x_machdep.c#5 (text) ==== @@ -48,7 +48,7 @@ #include "opt_at91.h" #include -__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.22 2007/05/23 13:20:50 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/kb920x_machdep.c,v 1.23 2007/07/31 17:43:18 imp Exp $"); #define _ARM32_BUS_DMA_PRIVATE #include @@ -165,14 +165,14 @@ * initialization is done. However, the AT91 resource allocation * system doesn't know how to use pmap_mapdev() yet. */ -#if 0 +#if 1 { /* * Add the ohci controller, and anything else that might be * on this chip select for a VA/PA mapping. */ AT91RM92_OHCI_BASE, - AT91RM92_OHCI_BASE, + AT91RM92_OHCI_PA_BASE, AT91RM92_OHCI_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE, ==== //depot/projects/vimage/src/sys/arm/at91/ohci_atmelarm.c#3 (text) ==== @@ -23,12 +23,14 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.2 2007/03/01 09:10:55 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/at91/ohci_atmelarm.c,v 1.3 2007/07/31 17:43:18 imp Exp $"); #include #include #include +#include #include +#include #include #include #include @@ -99,6 +101,30 @@ } device_set_ivars(sc->sc_ohci.sc_bus.bdev, &sc->sc_ohci.sc_bus); + /* Allocate a parent dma tag for DMA maps */ + err = bus_dma_tag_create(bus_get_dma_tag(dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + NULL, NULL, &sc->sc_ohci.sc_bus.parent_dmatag); + if (err) { + device_printf(dev, "Could not allocate parent DMA tag (%d)\n", + err); + err = ENXIO; + goto error; + } + + /* Allocate a dma tag for transfer buffers */ + err = bus_dma_tag_create(sc->sc_ohci.sc_bus.parent_dmatag, 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + BUS_SPACE_MAXSIZE_32BIT, USB_DMA_NSEG, BUS_SPACE_MAXSIZE_32BIT, 0, + busdma_lock_mutex, &Giant, &sc->sc_ohci.sc_bus.buffer_dmatag); + if (err) { + device_printf(dev, "Could not allocate transfer tag (%d)\n", + err); + err = ENXIO; + goto error; + } + err = bus_setup_intr(dev, sc->sc_ohci.irq_res, INTR_TYPE_BIO, NULL, ohci_intr, sc, &sc->sc_ohci.ih); if (err) { @@ -158,6 +184,12 @@ bus_teardown_intr(dev, sc->sc_ohci.irq_res, sc->sc_ohci.ih); sc->sc_ohci.ih = NULL; } + + if (sc->sc_ohci.sc_bus.parent_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.parent_dmatag); + if (sc->sc_ohci.sc_bus.buffer_dmatag != NULL) + bus_dma_tag_destroy(sc->sc_ohci.sc_bus.buffer_dmatag); + if (sc->sc_ohci.sc_bus.bdev) { device_delete_child(dev, sc->sc_ohci.sc_bus.bdev); sc->sc_ohci.sc_bus.bdev = NULL; ==== //depot/projects/vimage/src/sys/arm/conf/KB920X#3 (text) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/arm/conf/KB920X,v 1.12 2007/03/23 23:47:59 imp Exp $ +# $FreeBSD: src/sys/arm/conf/KB920X,v 1.13 2007/07/31 17:45:54 imp Exp $ machine arm ident KB920X @@ -93,3 +93,47 @@ device icee device bpf +# USB support +device ohci # OHCI localbus->USB interface +device usb # USB Bus (required) +#device udbp # USB Double Bulk Pipe devices +device ugen # Generic +device uhid # "Human Interface Devices" +device ulpt # Printer +device umass # Disks/Mass storage - Requires scbus and da +device ural # Ralink Technology RT2500USB wireless NICs +device rum # Ralink Technology RT2501USB wireless NICs +device urio # Diamond Rio 500 MP3 player +device uscanner # Scanners +# USB Ethernet, requires miibus +device miibus +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cdce # Generic USB over Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet +device rue # RealTek RTL8150 USB Ethernet +device udav +# usb serial +device ucom +device uark +device ubsa +device ubser +device uftdi +device uipaq +device uplcom +device uvisor +device uvscom +# SCSI peripherals +device scbus # SCSI bus (required for SCSI) +device da # Direct Access (disks) +device cd # CD +device pass # Passthrough device (direct SCSI access) +# Wireless NIC cards +device wlan # 802.11 support +device wlan_wep # 802.11 WEP support +device wlan_ccmp # 802.11 CCMP support +device wlan_tkip # 802.11 TKIP support +device wlan_amrr # AMRR transmit rate control algorithm +device wlan_scan_ap # 802.11 AP mode scanning +device wlan_scan_sta # 802.11 STA mode scanning ==== //depot/projects/vimage/src/sys/conf/kern.pre.mk#6 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.90 2007/07/12 00:01:53 jfv Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.91 2007/07/31 03:15:32 marcel Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -88,7 +88,7 @@ CFLAGS+= --param inline-unit-growth=100 CFLAGS+= --param large-function-growth=1000 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \ - ${MACHINE_ARCH} == "sparc64" + ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "sparc64" WERROR?= -Werror .endif .endif ==== //depot/projects/vimage/src/sys/conf/options.ia64#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.ia64,v 1.27 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/options.ia64,v 1.28 2007/07/30 22:42:33 marcel Exp $ # Options specific to the ia64 platform kernels ITANIUM opt_global.h @@ -11,6 +11,8 @@ COMPAT_IA32 opt_compat.h +EXCEPTION_TRACING opt_xtrace.h + VGA_ALT_SEQACCESS opt_vga.h VGA_DEBUG opt_vga.h VGA_NO_FONT_LOADING opt_vga.h ==== //depot/projects/vimage/src/sys/contrib/pf/net/if_pfsync.c#7 (text+ko) ==== @@ -34,7 +34,7 @@ #include "opt_pf.h" #include -__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.35 2007/07/03 12:16:07 mlaier Exp $"); +__FBSDID("$FreeBSD: src/sys/contrib/pf/net/if_pfsync.c,v 1.36 2007/07/28 07:31:29 rwatson Exp $"); #ifdef DEV_BPF #define NBPFILTER DEV_BPF @@ -282,12 +282,12 @@ ifp->if_hdrlen = PFSYNC_HDRLEN; pfsync_setmtu(pfsyncif, ETHERMTU); #ifdef __FreeBSD__ - callout_init(&pfsyncif->sc_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_tmo, CALLOUT_MPSAFE); #ifdef PFSYNC_TDB - callout_init(&pfsyncif->sc_tdb_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_tdb_tmo, CALLOUT_MPSAFE); #endif - callout_init(&pfsyncif->sc_bulk_tmo, NET_CALLOUT_MPSAFE); - callout_init(&pfsyncif->sc_bulkfail_tmo, NET_CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_bulk_tmo, CALLOUT_MPSAFE); + callout_init(&pfsyncif->sc_bulkfail_tmo, CALLOUT_MPSAFE); #else timeout_set(&pfsyncif->sc_tmo, pfsync_timeout, pfsyncif); timeout_set(&pfsyncif->sc_tdb_tmo, pfsync_tdb_timeout, pfsyncif); ==== //depot/projects/vimage/src/sys/dev/acpica/acpi_hpet.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.10 2007/07/22 20:45:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.11 2007/07/30 15:21:26 njl Exp $"); #include "opt_acpi.h" #include @@ -70,7 +70,7 @@ .tc_get_timecount = hpet_get_timecount, .tc_counter_mask = ~0u, .tc_name = "HPET", - .tc_quality = 2000, + .tc_quality = 900, }; static u_int ==== //depot/projects/vimage/src/sys/dev/acpica/acpi_timer.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_timer.c,v 1.41 2007/06/04 18:25:03 dwmalone Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_timer.c,v 1.42 2007/07/30 15:21:26 njl Exp $"); #include "opt_acpi.h" #include @@ -96,7 +96,7 @@ 0, /* no default counter_mask */ 0, /* no default frequency */ "ACPI", /* name */ - 1000 /* quality */ + -1 /* quality (chosen later) */ }; static u_int @@ -185,9 +185,11 @@ if (j == 10) { acpi_timer_timecounter.tc_name = "ACPI-fast"; acpi_timer_timecounter.tc_get_timecount = acpi_timer_get_timecount; + acpi_timer_timecounter.tc_quality = 1000; } else { acpi_timer_timecounter.tc_name = "ACPI-safe"; acpi_timer_timecounter.tc_get_timecount = acpi_timer_get_timecount_safe; + acpi_timer_timecounter.tc_quality = 850; } tc_init(&acpi_timer_timecounter); ==== //depot/projects/vimage/src/sys/dev/aic7xxx/aic7xxx.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #include "aicasm/aicasm_insformat.h" #else #include -__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic7xxx.c,v 1.111 2007/04/19 18:53:52 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic7xxx.c,v 1.112 2007/07/31 20:11:02 scottl Exp $"); #include #include #include @@ -6932,7 +6932,6 @@ struct ahc_softc *ahc; ahc = scb->ahc_softc; - ahc_lock(ahc); if ((scb->flags & SCB_ACTIVE) != 0) { if ((scb->flags & SCB_TIMEDOUT) == 0) { LIST_INSERT_HEAD(&ahc->timedout_scbs, scb, @@ -6941,7 +6940,6 @@ } ahc_wakeup_recovery_thread(ahc); } - ahc_unlock(ahc); } /* ==== //depot/projects/vimage/src/sys/dev/aic7xxx/aic_osm_lib.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic_osm_lib.c,v 1.5 2007/04/17 06:26:25 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/aic7xxx/aic_osm_lib.c,v 1.6 2007/07/31 20:11:03 scottl Exp $"); static void aic_recovery_thread(void *arg); @@ -120,9 +120,7 @@ if ((aic->flags & AIC_SHUTDOWN_RECOVERY) != 0) break; - aic_unlock(aic); aic_recover_commands(aic); - aic_lock(aic); } aic->platform_data->recovery_thread = NULL; wakeup(aic->platform_data); ==== //depot/projects/vimage/src/sys/dev/an/if_an.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.81 2007/06/08 01:21:20 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.82 2007/08/02 02:20:19 avatar Exp $"); /* * The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form. @@ -1914,7 +1914,9 @@ error = 0; break; case SIOCGAIRONET: + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); + AN_LOCK(sc); if (error != 0) break; #ifdef ANCACHE @@ -1940,12 +1942,16 @@ error = EINVAL; break; } + AN_UNLOCK(sc); error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq)); + AN_LOCK(sc); break; case SIOCSAIRONET: if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq)); + AN_LOCK(sc); if (error != 0) break; an_setdef(sc, &sc->areq); @@ -1953,7 +1959,9 @@ case SIOCGPRIVATE_0: /* used by Cisco client utility */ if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); + AN_LOCK(sc); if (error) goto out; mode = l_ioctl.command; @@ -1969,18 +1977,24 @@ } if (!error) { /* copy out the updated command info */ + AN_UNLOCK(sc); error = copyout(&l_ioctl, ifr->ifr_data, sizeof(l_ioctl)); + AN_LOCK(sc); } break; case SIOCGPRIVATE_1: /* used by Cisco client utility */ if ((error = priv_check(td, PRIV_DRIVER))) goto out; + AN_UNLOCK(sc); error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl)); + AN_LOCK(sc); if (error) goto out; l_ioctl.command = 0; error = AIROMAGIC; + AN_UNLOCK(sc); (void) copyout(&error, l_ioctl.data, sizeof(error)); + AN_LOCK(sc); error = 0; break; case SIOCG80211: @@ -2030,8 +2044,10 @@ ireq->i_len = len; bzero(tmpstr, IEEE80211_NWID_LEN); bcopy(tmpptr, tmpstr, len); + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, IEEE80211_NWID_LEN); + AN_LOCK(sc); break; case IEEE80211_IOC_NUMSSIDS: sc->areq.an_len = sizeof(sc->areq); @@ -2105,7 +2121,9 @@ */ bzero(tmpstr, len); ireq->i_len = len; + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, len); + AN_LOCK(sc); break; case IEEE80211_IOC_NUMWEPKEYS: ireq->i_val = 9; /* include home key */ @@ -2183,8 +2201,10 @@ tmpptr = config->an_nodename; bzero(tmpstr, IEEE80211_NWID_LEN); bcopy(tmpptr, tmpstr, ireq->i_len); + AN_UNLOCK(sc); error = copyout(tmpstr, ireq->i_data, IEEE80211_NWID_LEN); + AN_LOCK(sc); break; case IEEE80211_IOC_CHANNEL: sc->areq.an_type = AN_RID_STATUS; @@ -2268,9 +2288,11 @@ error = EINVAL; break; } else { + AN_UNLOCK(sc); error = copyin(ireq->i_data, ssids->an_entry[ireq->i_val].an_ssid, ireq->i_len); + AN_LOCK(sc); ssids->an_entry[ireq->i_val].an_len = ireq->i_len; break; @@ -2305,7 +2327,9 @@ error = EINVAL; break; } + AN_UNLOCK(sc); error = copyin(ireq->i_data, tmpstr, 13); + AN_LOCK(sc); if (error != 0) break; /* @@ -2387,8 +2411,10 @@ break; } bzero(config->an_nodename, 16); + AN_UNLOCK(sc); error = copyin(ireq->i_data, config->an_nodename, ireq->i_len); + AN_LOCK(sc); break; case IEEE80211_IOC_CHANNEL: /* @@ -2430,7 +2456,9 @@ an_setdef(sc, &sc->areq); break; default: + AN_UNLOCK(sc); error = ether_ioctl(ifp, command, data); + AN_LOCK(sc); break; } out: @@ -3159,6 +3187,7 @@ { unsigned short rid; struct an_softc *sc; + int error; switch (l_ioctl->command) { case AIROGCAP: @@ -3210,24 +3239,30 @@ l_ioctl->len = sc->areq.an_len - 4; /* just data */ + AN_UNLOCK(sc); /* the data contains the length at first */ if (copyout(&(sc->areq.an_len), l_ioctl->data, sizeof(sc->areq.an_len))) { - return -EFAULT; + error = -EFAULT; + goto lock_exit; } /* Just copy the data back */ if (copyout(&(sc->areq.an_val), l_ioctl->data + 2, l_ioctl->len)) { - return -EFAULT; + error = -EFAULT; + goto lock_exit; } - return 0; + error = 0; +lock_exit: + AN_LOCK(sc); + return (error); } static int writerids(struct ifnet *ifp, struct aironet_ioctl *l_ioctl) { struct an_softc *sc; - int rid, command; + int rid, command, error; sc = ifp->if_softc; rid = 0; @@ -3269,16 +3304,20 @@ an_read_record(sc, (struct an_ltv_gen *)&sc->areq); l_ioctl->len = sc->areq.an_len - 4; /* just data */ + AN_UNLOCK(sc); /* the data contains the length at first */ - if (copyout(&(sc->areq.an_len), l_ioctl->data, - sizeof(sc->areq.an_len))) { + error = copyout(&(sc->areq.an_len), l_ioctl->data, + sizeof(sc->areq.an_len)); + if (error) { + AN_LOCK(sc); return -EFAULT; } /* Just copy the data */ - if (copyout(&(sc->areq.an_val), l_ioctl->data + 2, - l_ioctl->len)) { + error = copyout(&(sc->areq.an_val), l_ioctl->data + 2, + l_ioctl->len); + AN_LOCK(sc); + if (error) return -EFAULT; - } return 0; break; case AIROPWEPKEY: @@ -3304,10 +3343,13 @@ sc->areq.an_type = rid; /* Just copy the data back */ - if (copyin((l_ioctl->data) + 2, &sc->areq.an_val, - l_ioctl->len)) { + AN_UNLOCK(sc); + error = copyin((l_ioctl->data) + 2, &sc->areq.an_val, + l_ioctl->len); + AN_LOCK(sc); + if (error) return -EFAULT; - } + an_cmd(sc, AN_CMD_DISABLE, 0); an_write_record(sc, (struct an_ltv_gen *)&sc->areq); an_cmd(sc, AN_CMD_ENABLE, 0); @@ -3603,7 +3645,9 @@ return ENOBUFS; break; case AIROFLSHGCHR: /* Get char from aux */ + AN_UNLOCK(sc); status = copyin(l_ioctl->data, &sc->areq, l_ioctl->len); + AN_LOCK(sc); if (status) return status; z = *(int *)&sc->areq; @@ -3612,7 +3656,9 @@ else return -1; case AIROFLSHPCHR: /* Send char to card. */ + AN_UNLOCK(sc); status = copyin(l_ioctl->data, &sc->areq, l_ioctl->len); + AN_LOCK(sc); if (status) return status; z = *(int *)&sc->areq; @@ -3627,7 +3673,9 @@ l_ioctl->len, FLASH_SIZE); return -EINVAL; } + AN_UNLOCK(sc); status = copyin(l_ioctl->data, sc->an_flash_buffer, l_ioctl->len); + AN_LOCK(sc); if (status) return status; ==== //depot/projects/vimage/src/sys/dev/arcmsr/arcmsr.c#7 (text+ko) ==== @@ -56,7 +56,7 @@ ** and cause g_vfs_done() read write error ****************************************************************************************** -* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.23 2007/06/17 05:55:48 scottl Exp $ +* $FreeBSD: src/sys/dev/arcmsr/arcmsr.c,v 1.24 2007/07/31 20:16:50 scottl Exp $ */ #include #include @@ -103,6 +103,7 @@ #include #include #define ARCMSR_LOCK_INIT(l, s) mtx_init(l, s, NULL, MTX_DEF|MTX_RECURSE) + #define ARCMSR_LOCK_DESTROY(l) mtx_destroy(l) #define ARCMSR_LOCK_ACQUIRE(l) mtx_lock(l) #define ARCMSR_LOCK_RELEASE(l) mtx_unlock(l) #define ARCMSR_LOCK_TRY(l) mtx_trylock(l) @@ -113,6 +114,7 @@ #include #include #define ARCMSR_LOCK_INIT(l, s) simple_lock_init(l) + #define ARCMSR_LOCK_DESTROY(l) #define ARCMSR_LOCK_ACQUIRE(l) simple_lock(l) #define ARCMSR_LOCK_RELEASE(l) simple_unlock(l) #define ARCMSR_LOCK_TRY(l) simple_lock_try(l) @@ -417,7 +419,6 @@ bus_dmamap_sync(acb->dm_segs_dmat, srb->dm_segs_dmamap, op); bus_dmamap_unload(acb->dm_segs_dmat, srb->dm_segs_dmamap); } - ARCMSR_LOCK_ACQUIRE(&acb->workingQ_done_lock); if(stand_flag==1) { atomic_subtract_int(&acb->srboutstandingcount, 1); if((acb->acb_flags & ACB_F_CAM_DEV_QFRZN) && ( @@ -431,7 +432,6 @@ acb->srbworkingQ[acb->workingsrb_doneindex]=srb; acb->workingsrb_doneindex++; acb->workingsrb_doneindex %= ARCMSR_MAX_FREESRB_NUM; - ARCMSR_LOCK_RELEASE(&acb->workingQ_done_lock); xpt_done(pccb); return; } @@ -671,6 +671,18 @@ ********************************************************************** ********************************************************************** */ +static void arcmsr_intr_handler(void *arg) +{ + struct AdapterControlBlock *acb=(struct AdapterControlBlock *)arg; + + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); + arcmsr_interrupt(acb); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); +} +/* +********************************************************************** +********************************************************************** +*/ static void arcmsr_interrupt(void *arg) { struct AdapterControlBlock *acb=(struct AdapterControlBlock *)arg; @@ -1035,7 +1047,6 @@ struct CommandControlBlock *srb=NULL; u_int32_t workingsrb_startindex, workingsrb_doneindex; - ARCMSR_LOCK_ACQUIRE(&acb->workingQ_start_lock); workingsrb_doneindex=acb->workingsrb_doneindex; workingsrb_startindex=acb->workingsrb_startindex; srb=acb->srbworkingQ[workingsrb_startindex]; @@ -1046,7 +1057,6 @@ } else { srb=NULL; } - ARCMSR_LOCK_RELEASE(&acb->workingQ_start_lock); return(srb); } /* @@ -1970,7 +1980,7 @@ /*maxsegsz*/ BUS_SPACE_MAXSIZE_32BIT, /*flags*/ 0, /*lockfunc*/ busdma_lock_mutex, - /*lockarg*/ &Giant, + /*lockarg*/ &acb->qbuffer_lock, &acb->dm_segs_dmat) != 0) #else if(bus_dma_tag_create( /*parent_dmat*/ acb->parent_dmat, @@ -2114,9 +2124,10 @@ printf("arcmsr%d: cannot allocate softc\n", unit); return (ENOMEM); } - bzero(acb, sizeof(struct AdapterControlBlock)); + ARCMSR_LOCK_INIT(&acb->qbuffer_lock, "arcmsr Q buffer lock"); if(arcmsr_initialize(dev)) { printf("arcmsr%d: initialize failure!\n", unit); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); return ENXIO; } /* After setting up the adapter, map our interrupt */ @@ -2124,8 +2135,9 @@ irqres=bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0ul, ~0ul, 1, RF_SHAREABLE | RF_ACTIVE); if(irqres == NULL || bus_setup_intr(dev, irqres, INTR_TYPE_CAM|INTR_ENTROPY|INTR_MPSAFE - , NULL, arcmsr_interrupt, acb, &acb->ih)) { + , NULL, arcmsr_intr_handler, acb, &acb->ih)) { arcmsr_free_resource(acb); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: unable to register interrupt handler!\n", unit); return ENXIO; } @@ -2142,23 +2154,27 @@ if(devq == NULL) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: cam_simq_alloc failure!\n", unit); return ENXIO; } acb->psim=cam_sim_alloc(arcmsr_action, arcmsr_poll, - "arcmsr", acb, unit, &Giant, 1, + "arcmsr", acb, unit, &acb->qbuffer_lock, 1, ARCMSR_MAX_OUTSTANDING_CMD, devq); if(acb->psim == NULL) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); cam_simq_free(devq); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: cam_sim_alloc failure!\n", unit); return ENXIO; } + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); if(xpt_bus_register(acb->psim, dev, 0) != CAM_SUCCESS) { arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); cam_sim_free(acb->psim, /*free_devq*/TRUE); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: xpt_bus_register failure!\n", unit); return ENXIO; } @@ -2170,12 +2186,10 @@ bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); xpt_bus_deregister(cam_sim_path(acb->psim)); cam_sim_free(acb->psim, /* free_simq */ TRUE); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); printf("arcmsr%d: xpt_create_path failure!\n", unit); return ENXIO; } - ARCMSR_LOCK_INIT(&acb->workingQ_done_lock, "arcmsr done working Q lock"); - ARCMSR_LOCK_INIT(&acb->workingQ_start_lock, "arcmsr start working Q lock"); - ARCMSR_LOCK_INIT(&acb->qbuffer_lock, "arcmsr Q buffer lock"); /* **************************************************** */ @@ -2185,6 +2199,7 @@ csa.callback=arcmsr_async; csa.callback_arg=acb->psim; xpt_action((union ccb *)&csa); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); /* Create the control device. */ acb->ioctl_dev=make_dev(&arcmsr_cdevsw , unit @@ -2256,6 +2271,7 @@ struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev); /* stop adapter background rebuild */ + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); arcmsr_stop_adapter_bgrb(acb); arcmsr_flush_adapter_cache(acb); /* disable all outbound interrupt */ @@ -2289,6 +2305,7 @@ atomic_set_int(&acb->srboutstandingcount, 0); acb->workingsrb_doneindex=0; acb->workingsrb_startindex=0; + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); return; } /* @@ -2299,15 +2316,18 @@ { struct AdapterControlBlock *acb=(struct AdapterControlBlock *)device_get_softc(dev); + bus_teardown_intr(dev, acb->irqres, acb->ih); arcmsr_shutdown(dev); arcmsr_free_resource(acb); bus_release_resource(dev, SYS_RES_MEMORY, PCIR_BAR(0), acb->sys_res_arcmsr); - bus_teardown_intr(dev, acb->irqres, acb->ih); bus_release_resource(dev, SYS_RES_IRQ, 0, acb->irqres); + ARCMSR_LOCK_ACQUIRE(&acb->qbuffer_lock); xpt_async(AC_LOST_DEVICE, acb->ppath, NULL); xpt_free_path(acb->ppath); xpt_bus_deregister(cam_sim_path(acb->psim)); cam_sim_free(acb->psim, TRUE); + ARCMSR_LOCK_RELEASE(&acb->qbuffer_lock); + ARCMSR_LOCK_DESTROY(&acb->qbuffer_lock); return (0); } ==== //depot/projects/vimage/src/sys/dev/bce/if_bce.c#9 (text) ==== @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.33 2007/06/16 02:27:03 davidch Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.34 2007/07/31 00:06:04 davidch Exp $"); /* * The following controllers are supported by this driver: @@ -288,21 +288,22 @@ static int bce_get_buf (struct bce_softc *, struct mbuf *, u16 *, u16 *, u32 *); static int bce_init_tx_chain (struct bce_softc *); +static void bce_fill_rx_chain (struct bce_softc *); static int bce_init_rx_chain (struct bce_softc *); static void bce_free_rx_chain (struct bce_softc *); static void bce_free_tx_chain (struct bce_softc *); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 3 14:13:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6822416A41A; Fri, 3 Aug 2007 14:13:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DE1E16A41F for ; Fri, 3 Aug 2007 14:13:16 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E994313C457 for ; Fri, 3 Aug 2007 14:13:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73EDF6N099504 for ; Fri, 3 Aug 2007 14:13:15 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73EDF28099501 for perforce@freebsd.org; Fri, 3 Aug 2007 14:13:15 GMT (envelope-from gabor@freebsd.org) Date: Fri, 3 Aug 2007 14:13:15 GMT Message-Id: <200708031413.l73EDF28099501@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124595 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 14:13:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=124595 Change 124595 by gabor@gabor_server on 2007/08/03 14:12:41 - Use ECHO_MSG properly [1] - Indentation Spotted by: pav [1] Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#32 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#32 (text+ko) ==== @@ -117,8 +117,8 @@ .if !target(do-chroot) do-chroot: @if [ "${WITH_EXPERIMENTAL_DESTDIR}" = "no" ]; then \ - ${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ - ${ECHO_CMD} "===> if you want to use it."; \ + ${ECHO_MSG} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ + ${ECHO_MSG} "===> if you want to use it."; \ exit 0; \ fi; \ if [ ! -d ${DESTDIR} ]; then \ @@ -161,7 +161,7 @@ _dest_path=$${_full_dest_path#$${_destdir}}; \ _created_mountpoints_list="$${_full_dest_path} $${_created_mountpoints_list}"; \ else \ - ${ECHO_CMD} "===> Failed to create temporary mount point"; \ + ${ECHO_MSG} "===> Failed to create temporary mount point"; \ exit 9; \ fi; \ else \ @@ -180,7 +180,7 @@ _entry_was_created=1; \ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ else \ - ${ECHO_CMD} "===> Mount point $${_full_dest_path} could not be created"; \ + ${ECHO_MSG} "===> Mount point $${_full_dest_path} could not be created"; \ exit 7; \ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ @@ -189,7 +189,7 @@ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "===> Dir $${_host_path} could not be mounted"; \ + ${ECHO_MSG} "===> Dir $${_host_path} could not be mounted"; \ [ "$${_entry_was_created}" = "0" ] || \ ${RMDIR} $${_full_dest_path} || ${TRUE}; \ exit 8; \ @@ -202,7 +202,7 @@ ${DEBUG_MSG} "devfs mounted"; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ else \ - ${ECHO_CMD} "===> devfs could not be mounted"; \ + ${ECHO_MSG} "===> devfs could not be mounted"; \ [ -n "$${_created_mountpoints_list%%* $${_destdir}/dev *}" ] || \ ${RMDIR} $${_destdir}/dev || ${TRUE}; \ exit 9; \ @@ -211,14 +211,14 @@ ${DEBUG_MSG} "Things we mounted: $${_mounted_entries_list}"; \ ${DEBUG_MSG} "Things we created: $${_created_mountpoints_list}"; \ ${DEBUG_MSG} "_var_path_list: $${_var_path_list}"; \ - ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ + ${ECHO_MSG} "===> Starting chrooted make in ${DESTDIR}..."; \ export $${_var_path_list}; \ ${CHROOT} $${_destdir} ${SH} -c "\ cd $${PORTSDIR}${.CURDIR:S|^${PORTSDIR}||}; \ ${SETENV} -i ${DESTDIR_ENV} $${_var_path_list} ${MAKE} ${.TARGETS}" && \ - ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} succeeded" || \ - ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} failed"; \ - ${ECHO_CMD} "===> Cleaning up..."; \ + ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} succeeded" || \ + ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} failed"; \ + ${ECHO_MSG} "===> Cleaning up..."; \ for _entry in $${_mounted_entries_list}; do \ ${UMOUNT} -f $${_entry} || ${TRUE}; \ done; \ From owner-p4-projects@FreeBSD.ORG Fri Aug 3 14:33:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B70316A418; Fri, 3 Aug 2007 14:33:41 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5834516A421 for ; Fri, 3 Aug 2007 14:33:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 40EF013C491 for ; Fri, 3 Aug 2007 14:33:41 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73EXf4F000797 for ; Fri, 3 Aug 2007 14:33:41 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73EXekO000794 for perforce@freebsd.org; Fri, 3 Aug 2007 14:33:40 GMT (envelope-from gabor@freebsd.org) Date: Fri, 3 Aug 2007 14:33:40 GMT Message-Id: <200708031433.l73EXekO000794@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124596 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 14:33:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=124596 Change 124596 by gabor@gabor_server on 2007/08/03 14:33:00 - Remove the experimental safety knob, we are going to unleash it Discussed with: pav Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#33 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#33 (text+ko) ==== @@ -81,14 +81,11 @@ DESTDIR_ENV+= ${_var}="${${_var}}" .endfor -WITH_EXPERIMENTAL_DESTDIR?= no - # Processing DESTDIR_MOUNT_LIST into something more machine-readable # VAR:HOST_PATH:DEST_PATH # VAR -> VAR:${VAR}:TMP # VAR:HOST_PATH -> VAR:HOST_PATH:TMP DESTDIR_MOUNT_LIST?= PORTSDIR DISTDIR -#DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC _DESTDIR_MOUNT_LIST= .for _entry in ${DESTDIR_MOUNT_LIST} __entry=${_entry} @@ -116,12 +113,7 @@ .if !target(do-chroot) do-chroot: - @if [ "${WITH_EXPERIMENTAL_DESTDIR}" = "no" ]; then \ - ${ECHO_MSG} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ - ${ECHO_MSG} "===> if you want to use it."; \ - exit 0; \ - fi; \ - if [ ! -d ${DESTDIR} ]; then \ + @if [ ! -d ${DESTDIR} ]; then \ ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \ ${ECHO_MSG} "===> Please set DESTDIR to a valid jail environment."; \ exit 1; \ From owner-p4-projects@FreeBSD.ORG Fri Aug 3 15:33:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF07B16A421; Fri, 3 Aug 2007 15:33:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F4DA16A41F for ; Fri, 3 Aug 2007 15:33:55 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 694BE13C4A3 for ; Fri, 3 Aug 2007 15:33:55 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73FXtPq007059 for ; Fri, 3 Aug 2007 15:33:55 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73FXsMl007054 for perforce@freebsd.org; Fri, 3 Aug 2007 15:33:54 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 3 Aug 2007 15:33:54 GMT Message-Id: <200708031533.l73FXsMl007054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 124599 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 15:33:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=124599 Change 124599 by gonzo@gonzo_jeeves on 2007/08/03 15:33:04 o Use NO_STATIC_MODULES to check the dynamic build case. We use -mabicalls (which assumes -fpic since 4.2 import) for both static and dynamic builds. Affected files ... .. //depot/projects/mips2/src/contrib/openpam/include/security/openpam.h#2 edit .. //depot/projects/mips2/src/lib/libpam/Makefile.inc#3 edit Differences ... ==== //depot/projects/mips2/src/contrib/openpam/include/security/openpam.h#2 (text) ==== @@ -290,7 +290,8 @@ #define NO_STATIC_MODULES #endif #endif -#if defined(__GNUC__) && !defined(__PIC__) && !defined(NO_STATIC_MODULES) +#if defined(__GNUC__) +#if !defined(NO_STATIC_MODULES) /* gcc, static linking */ #include #include @@ -308,6 +309,7 @@ #define PAM_EXTERN #define PAM_MODULE_ENTRY(name) #endif +#endif #ifdef __cplusplus } ==== //depot/projects/mips2/src/lib/libpam/Makefile.inc#3 (text+ko) ==== @@ -28,5 +28,10 @@ DEBUG_FLAGS+= -DDEBUG .endif +# Specify dynamic linking explicitly, instead of using check whether +# __PIC__ is defined or not. MIPS -mabicalls assumes -fpic and -mabicalls +# flag is used for both static and dynamic libraries. +PICFLAG+= -DNO_STATIC_MODULES + SHLIB_MAJOR= 4 PAM_MOD_DIR= ${LIBDIR} From owner-p4-projects@FreeBSD.ORG Fri Aug 3 15:38:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4BBF916A46D; Fri, 3 Aug 2007 15:38:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0CC7B16A417 for ; Fri, 3 Aug 2007 15:38:01 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EEB4213C4DB for ; Fri, 3 Aug 2007 15:38:00 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73Fc0oo007887 for ; Fri, 3 Aug 2007 15:38:00 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73Fc03K007880 for perforce@freebsd.org; Fri, 3 Aug 2007 15:38:00 GMT (envelope-from gonzo@FreeBSD.org) Date: Fri, 3 Aug 2007 15:38:00 GMT Message-Id: <200708031538.l73Fc03K007880@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 124600 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 15:38:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=124600 Change 124600 by gonzo@gonzo_jeeves on 2007/08/03 15:37:49 o Make corespondent changes for syscall generation as in changeset 122621 by Peter Wemm. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/sys/Makefile.inc#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/sys/Makefile.inc#2 (text+ko) ==== @@ -7,4 +7,8 @@ NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \ lseek.o mmap.o openbsd_poll.o pread.o \ pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o + PSEUDO= _exit.o _getlogin.o +.if !defined(WITHOUT_SYSCALL_COMPAT) +PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o +.endif From owner-p4-projects@FreeBSD.ORG Fri Aug 3 16:03:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B04AB16A420; Fri, 3 Aug 2007 16:03:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C82816A419; Fri, 3 Aug 2007 16:03:50 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id C254813C45B; Fri, 3 Aug 2007 16:03:40 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l73G3dB0091902; Fri, 3 Aug 2007 12:03:39 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: perforce@FreeBSD.org Date: Fri, 3 Aug 2007 12:03:31 -0400 User-Agent: KMail/1.6.2 References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021714.33543.jkim@FreeBSD.org> <20070803081032.GA64605@freebsd.org> In-Reply-To: <20070803081032.GA64605@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200708031203.36406.jkim@FreeBSD.org> X-Virus-Scanned: ClamAV 0.90.2/3852/Fri Aug 3 10:11:10 2007 on anuket.mj.niksun.com X-Virus-Status: Clean Cc: Roman Divacky Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 16:03:51 -0000 On Friday 03 August 2007 04:10 am, Roman Divacky wrote: > > > hm.. I looked at it and in my version the cpumask_t (linux one) > > > is defined to be bit array of configurable length. I dont know > > > what is the default but I think its quite safe to assume that > > > its 128. > > > > Yes, it was but not any more. Basically it depends on Linux > > kernel configuration option, i.e., maximum number of CPUs. Since > > the bit 0 is CPU 0, bit 1 is CPU 1, etc, you have to make sure > > the last bits are properly set. If you really had to do i = ~0, > > you probably wanted to do casting first, e.g., i = ~(cpumask_t)0 > > to make sure. Of course my version doesn't have to worry about > > it. ;-) > > cpumaskt_t is just an unsigned int so ~0 should be fine. For now. ;-) I was thinking about increasing it some time after 7.0 branching. It is very clear that we will need it soon, i.e., multicore CPUs are becoming more common these days. FreeBSD/sun4v already hit the limit with just one processor: http://www.fsmware.com/sun4v/dmesg_latest.txt Even on amd64/i386 world, we will hit it very soon, e.g., octal-core * quad-socket => 32 cores. Without increasing the sizeof(cpumask_t) and/or grouping physical cores per socket, we won't be able to survive very long. > have you looked at my latest revision? the native linux syscall > returns the size of the cpumask_t. ie. the userland knows what is > the maximum that kernel allows. Yes, I did. And I said thanks for catching it. :-) > in FreeBSD it doesnt make any sense to emulate linux size because > if fbsd doesnt support that many CPUs we cannot emulate it. So > using fbsd-sized cpumask_t and telling userland about it is ok. > > agree? Agreed, for 7.0. We should fix it later when we add something like sched_{get,set}affinity() syscalls. > > > but still.. the prototype is: > > > > > > asmlinkage long sys_sched_getaffinity(pid_t pid, unsigned int > > > len, unsigned long __user *user_mask_ptr) > > > > > > and the len is not used anywhere in the code to dynamically > > > size it. I wonder how to deal with that. > > > > The prototype I gave you was from manual page, not the kernel > > source: > > > > http://www.linuxhowtos.org/manpages/2/sched_getaffinity.htm > > yeah.. but this is glibc, I'd prefer to stick with kernel land > interface nomenclature Fine by me, then. > thnx for the review! Thank you! Jung-uk Kim From owner-p4-projects@FreeBSD.ORG Fri Aug 3 17:35:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9344616A41F; Fri, 3 Aug 2007 17:35:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5FF2616A41A for ; Fri, 3 Aug 2007 17:35:27 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 564CA13C4D9 for ; Fri, 3 Aug 2007 17:35:27 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73HZRtx044720 for ; Fri, 3 Aug 2007 17:35:27 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73HZQ3E044717 for perforce@freebsd.org; Fri, 3 Aug 2007 17:35:26 GMT (envelope-from thioretic@FreeBSD.org) Date: Fri, 3 Aug 2007 17:35:26 GMT Message-Id: <200708031735.l73HZQ3E044717@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124603 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 17:35:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=124603 Change 124603 by thioretic@thioretic on 2007/08/03 17:35:24 if root_bus was set to be parent of a persistent device, when the latest was orphaned, on add_parent() remove root_bus from parents. add protos to bus.h Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#24 edit .. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#8 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#24 (text+ko) ==== @@ -182,6 +182,8 @@ typedef struct devicelink* devicelink_t; struct devicelink { device_t device_ptr; +#define DLF_ANCHOR 1 + int flags; TAILQ(devicelink) link; }; @@ -2168,21 +2170,21 @@ static int device_add_to_dev_list (device_t addwhat, devicelink_list_t *addwhere, int incr_refs){ - devicelink_t pd; + devicelink_t dl; - TAILQ_FOREACH (pd, addwhere, link){ - if (pd->device_ptr == addwhat) + TAILQ_FOREACH (dl, addwhere, link){ + if (dl->device_ptr == addwhat) return (1); } - pd = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); - if (!pd) + dl = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); + if (!dl) return (0); - pd->device_ptr = addwhat; - TAILQ_INSERT_TAIL(addwhere, pd, link); + dl->device_ptr = addwhat; + TAILQ_INSERT_TAIL(addwhere, dl, link); if (incr_refs) - pd->device_ptr->refs++; + dl->device_ptr->refs++; bus_data_generation_update(); return (1); @@ -2205,7 +2207,17 @@ */ int device_add_existing_parent (device_t dev, device_t parent){ + int count = 0; + devicelink_t dl; + device_add_to_dev_list (parent, &dev->parents, FALSE); + + TAILQ_FOREACH (dl, &dev->parents, link){count++;} + if ((count == 2) && (dl = TAILQ_FIRST(&dev->parents)) && + (dl->flags & DLF_ANCHOR) && (dl->device_ptr == root_bus)){ + device_delete_existing_parent (dev, root_bus); + } + device_add_to_dev_list (dev, &parent->children, TRUE); } @@ -2268,7 +2280,7 @@ child->device_ptr->refs++; device_add_existing_parent (child->device_ptr, dev); - + bus_data_generation_update(); return (child); } @@ -2290,7 +2302,7 @@ return (destroy_recurse (devtodel, dev, CHILDREN)); /* remove children first */ - if (devtodel->refs > 1) goto deletefromparents; + if (devtodel->refs > 1) goto deletefromparent; while ( (grand = TAILQ_FIRST(&devtodel->children)) ) { error = destroy_recurse(devtodel, grand->device_ptr, direction); if (error) @@ -2303,7 +2315,7 @@ return (error); if (devtodel->devclass) devclass_delete_device(devtodel->devclass, devtodel); -deletefromparents: +deletefromparent: TAILQ_FOREACH_SAFE(pd, &devtodel->parents, link, pd2){ if (pd->device_ptr == dev){ TAILQ_REMOVE(&devtodel->parents, pd, link); @@ -2313,8 +2325,10 @@ } } - if (devtodel->flags & DF_PERSISTENT){ + if (!devtodel->refs && (devtodel->flags & DF_PERSISTENT)){ device_add_existing_parent(dev, root_bus); + pd = TAILQ_FIRST(&dev->parents); + pd->flags |= DLF_ANCHOR; return (0); } @@ -2329,14 +2343,14 @@ } -void +int device_delete_existing_child (device_t dev, device_t child){ - destroy_recurse (dev, child, CHILDREN); + return (destroy_recurse (dev, child, CHILDREN)); } -void +int device_delete_existing_parent (device_t dev, device_t parent){ - destroy_recurse (dev, parent, PARENTS); + return (destroy_recurse (dev, parent, PARENTS)); } /** @@ -2394,7 +2408,7 @@ * @returns the device with the given unit number or @c * NULL if there is no such device */ -device_t +static device_t device_find_relation(device_t dev, const char *classname, int unit, int direction) { devclass_t dc; @@ -2630,7 +2644,7 @@ * @retval 0 success * @retval ENOMEM the array allocation failed */ -int +static int device_get_relations(device_t dev, device_t **devlistp, int *devcountp, int direction) { int count; ==== //depot/projects/soc2007/thioretic_gidl/sys/bus.h#8 (text+ko) ==== @@ -341,27 +341,38 @@ * Access functions for device. */ device_t device_add_child(device_t dev, const char *name, int unit); +int device_add_existing_child (device_t dev, device_t child); +int device_add_existing_parent (device_t dev, device_t parent); device_t device_add_child_ordered(device_t dev, int order, const char *name, int unit); void device_busy(device_t dev); int device_delete_child(device_t dev, device_t child); +int device_delete_existing_child (device_t dev, device_t child); +int device_delete_existing_parent (device_t dev, device_t parent); int device_attach(device_t dev); int device_detach(device_t dev); void device_disable(device_t dev); void device_enable(device_t dev); device_t device_find_child(device_t dev, const char *classname, int unit); +device_t device_find_parent(device_t dev, const char* classname, + int unit); const char *device_get_desc(device_t dev); devclass_t device_get_devclass(device_t dev); driver_t *device_get_driver(device_t dev); u_int32_t device_get_flags(device_t dev); device_t device_get_parent(device_t dev); int device_get_children(device_t dev, device_t **listp, int *countp); +int device_get_all_parents(device_t dev, device_t **listp, int *countp); void *device_get_ivars(device_t dev); +void *device_get_driver_ivars (device_t dev, driver_t *driver); void device_set_ivars(device_t dev, void *ivars); +void device_set_driver_ivars (device_t dev, driver_t *driver, + void* ivars); const char *device_get_name(device_t dev); const char *device_get_nameunit(device_t dev); void *device_get_softc(device_t dev); +void *device_get_driver_softc(device_t dev, driver_t *driver); device_state_t device_get_state(device_t dev); int device_get_unit(device_t dev); struct sysctl_ctx_list *device_get_sysctl_ctx(device_t dev); @@ -381,6 +392,8 @@ int device_set_driver(device_t dev, driver_t *driver); void device_set_flags(device_t dev, u_int32_t flags); void device_set_softc(device_t dev, void *softc); +void device_set_driver_softc(device_t dev, driver_t *driver, + void* softc); int device_set_unit(device_t dev, int unit); /* XXX DONT USE XXX */ int device_shutdown(device_t dev); void device_unbusy(device_t dev); @@ -397,6 +410,8 @@ const char *devclass_get_name(devclass_t dc); device_t devclass_get_device(devclass_t dc, int unit); void *devclass_get_softc(devclass_t dc, int unit); +void *devclass_get_driver_softc (devclass_t dc, int unit, driver_t *driver); + int devclass_get_devices(devclass_t dc, device_t **listp, int *countp); int devclass_get_drivers(devclass_t dc, driver_t ***listp, int *countp); int devclass_get_count(devclass_t dc); From owner-p4-projects@FreeBSD.ORG Fri Aug 3 17:37:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C103316A468; Fri, 3 Aug 2007 17:37:30 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96B0C16A420 for ; Fri, 3 Aug 2007 17:37:30 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8D16D13C4B0 for ; Fri, 3 Aug 2007 17:37:30 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73HbUqS045158 for ; Fri, 3 Aug 2007 17:37:30 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73HbUlm045155 for perforce@freebsd.org; Fri, 3 Aug 2007 17:37:30 GMT (envelope-from thioretic@FreeBSD.org) Date: Fri, 3 Aug 2007 17:37:30 GMT Message-Id: <200708031737.l73HbUlm045155@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124604 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 17:37:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=124604 Change 124604 by thioretic@thioretic on 2007/08/03 17:36:54 Propogate changes. Affected files ... .. //depot/projects/soc2007/thioretic_gidl2/kern/subr_bus.c#3 integrate .. //depot/projects/soc2007/thioretic_gidl2/sys/bus.h#2 integrate Differences ... ==== //depot/projects/soc2007/thioretic_gidl2/kern/subr_bus.c#3 (text+ko) ==== @@ -182,6 +182,8 @@ typedef struct devicelink* devicelink_t; struct devicelink { device_t device_ptr; +#define DLF_ANCHOR 1 + int flags; TAILQ(devicelink) link; }; @@ -2168,21 +2170,21 @@ static int device_add_to_dev_list (device_t addwhat, devicelink_list_t *addwhere, int incr_refs){ - devicelink_t pd; + devicelink_t dl; - TAILQ_FOREACH (pd, addwhere, link){ - if (pd->device_ptr == addwhat) + TAILQ_FOREACH (dl, addwhere, link){ + if (dl->device_ptr == addwhat) return (1); } - pd = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); - if (!pd) + dl = malloc(sizeof(struct devicelink), M_BUS, M_NOWAIT|M_ZERO); + if (!dl) return (0); - pd->device_ptr = addwhat; - TAILQ_INSERT_TAIL(addwhere, pd, link); + dl->device_ptr = addwhat; + TAILQ_INSERT_TAIL(addwhere, dl, link); if (incr_refs) - pd->device_ptr->refs++; + dl->device_ptr->refs++; bus_data_generation_update(); return (1); @@ -2205,7 +2207,17 @@ */ int device_add_existing_parent (device_t dev, device_t parent){ + int count = 0; + devicelink_t dl; + device_add_to_dev_list (parent, &dev->parents, FALSE); + + TAILQ_FOREACH (dl, &dev->parents, link){count++;} + if ((count == 2) && (dl = TAILQ_FIRST(&dev->parents)) && + (dl->flags & DLF_ANCHOR) && (dl->device_ptr == root_bus)){ + device_delete_existing_parent (dev, root_bus); + } + device_add_to_dev_list (dev, &parent->children, TRUE); } @@ -2268,7 +2280,7 @@ child->device_ptr->refs++; device_add_existing_parent (child->device_ptr, dev); - + bus_data_generation_update(); return (child); } @@ -2290,7 +2302,7 @@ return (destroy_recurse (devtodel, dev, CHILDREN)); /* remove children first */ - if (devtodel->refs > 1) goto deletefromparents; + if (devtodel->refs > 1) goto deletefromparent; while ( (grand = TAILQ_FIRST(&devtodel->children)) ) { error = destroy_recurse(devtodel, grand->device_ptr, direction); if (error) @@ -2303,7 +2315,7 @@ return (error); if (devtodel->devclass) devclass_delete_device(devtodel->devclass, devtodel); -deletefromparents: +deletefromparent: TAILQ_FOREACH_SAFE(pd, &devtodel->parents, link, pd2){ if (pd->device_ptr == dev){ TAILQ_REMOVE(&devtodel->parents, pd, link); @@ -2313,8 +2325,10 @@ } } - if (devtodel->flags & DF_PERSISTENT){ + if (!devtodel->refs && (devtodel->flags & DF_PERSISTENT)){ device_add_existing_parent(dev, root_bus); + pd = TAILQ_FIRST(&dev->parents); + pd->flags |= DLF_ANCHOR; return (0); } @@ -2329,14 +2343,14 @@ } -void +int device_delete_existing_child (device_t dev, device_t child){ - destroy_recurse (dev, child, CHILDREN); + return (destroy_recurse (dev, child, CHILDREN)); } -void +int device_delete_existing_parent (device_t dev, device_t parent){ - destroy_recurse (dev, parent, PARENTS); + return (destroy_recurse (dev, parent, PARENTS)); } /** @@ -2394,7 +2408,7 @@ * @returns the device with the given unit number or @c * NULL if there is no such device */ -device_t +static device_t device_find_relation(device_t dev, const char *classname, int unit, int direction) { devclass_t dc; @@ -2630,7 +2644,7 @@ * @retval 0 success * @retval ENOMEM the array allocation failed */ -int +static int device_get_relations(device_t dev, device_t **devlistp, int *devcountp, int direction) { int count; ==== //depot/projects/soc2007/thioretic_gidl2/sys/bus.h#2 (text+ko) ==== @@ -341,27 +341,38 @@ * Access functions for device. */ device_t device_add_child(device_t dev, const char *name, int unit); +int device_add_existing_child (device_t dev, device_t child); +int device_add_existing_parent (device_t dev, device_t parent); device_t device_add_child_ordered(device_t dev, int order, const char *name, int unit); void device_busy(device_t dev); int device_delete_child(device_t dev, device_t child); +int device_delete_existing_child (device_t dev, device_t child); +int device_delete_existing_parent (device_t dev, device_t parent); int device_attach(device_t dev); int device_detach(device_t dev); void device_disable(device_t dev); void device_enable(device_t dev); device_t device_find_child(device_t dev, const char *classname, int unit); +device_t device_find_parent(device_t dev, const char* classname, + int unit); const char *device_get_desc(device_t dev); devclass_t device_get_devclass(device_t dev); driver_t *device_get_driver(device_t dev); u_int32_t device_get_flags(device_t dev); device_t device_get_parent(device_t dev); int device_get_children(device_t dev, device_t **listp, int *countp); +int device_get_all_parents(device_t dev, device_t **listp, int *countp); void *device_get_ivars(device_t dev); +void *device_get_driver_ivars (device_t dev, driver_t *driver); void device_set_ivars(device_t dev, void *ivars); +void device_set_driver_ivars (device_t dev, driver_t *driver, + void* ivars); const char *device_get_name(device_t dev); const char *device_get_nameunit(device_t dev); void *device_get_softc(device_t dev); +void *device_get_driver_softc(device_t dev, driver_t *driver); device_state_t device_get_state(device_t dev); int device_get_unit(device_t dev); struct sysctl_ctx_list *device_get_sysctl_ctx(device_t dev); @@ -381,6 +392,8 @@ int device_set_driver(device_t dev, driver_t *driver); void device_set_flags(device_t dev, u_int32_t flags); void device_set_softc(device_t dev, void *softc); +void device_set_driver_softc(device_t dev, driver_t *driver, + void* softc); int device_set_unit(device_t dev, int unit); /* XXX DONT USE XXX */ int device_shutdown(device_t dev); void device_unbusy(device_t dev); @@ -397,6 +410,8 @@ const char *devclass_get_name(devclass_t dc); device_t devclass_get_device(devclass_t dc, int unit); void *devclass_get_softc(devclass_t dc, int unit); +void *devclass_get_driver_softc (devclass_t dc, int unit, driver_t *driver); + int devclass_get_devices(devclass_t dc, device_t **listp, int *countp); int devclass_get_drivers(devclass_t dc, driver_t ***listp, int *countp); int devclass_get_count(devclass_t dc); From owner-p4-projects@FreeBSD.ORG Fri Aug 3 18:30:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2829816A421; Fri, 3 Aug 2007 18:30:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB0C716A41F for ; Fri, 3 Aug 2007 18:30:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D381D13C458 for ; Fri, 3 Aug 2007 18:30:35 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73IUZjw055917 for ; Fri, 3 Aug 2007 18:30:35 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73IUZ1i055914 for perforce@freebsd.org; Fri, 3 Aug 2007 18:30:35 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 3 Aug 2007 18:30:35 GMT Message-Id: <200708031830.l73IUZ1i055914@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124606 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 18:30:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=124606 Change 124606 by lulf@lulf_carrot on 2007/08/03 18:29:59 - Remove unused header includes. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#32 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#6 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_drive.c#3 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#10 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#20 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_list.c#3 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_move.c#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#23 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#13 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rename.c#4 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#12 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#5 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#20 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#25 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#15 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#32 (text+ko) ==== @@ -42,7 +42,6 @@ #include #include #include -#include #if 0 SYSCTL_DECL(_kern_geom); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_create.c#6 (text+ko) ==== @@ -30,15 +30,12 @@ #include #include #include -#include #include #include #include -#include #include #include -#include /* * Create a new drive object, either by user request, during taste of the drive ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_drive.c#3 (text+ko) ==== @@ -28,22 +28,13 @@ __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_drive.c,v 1.25 2006/01/06 18:03:17 le Exp $"); #include -#include -#include -#include -#include -#include #include #include -#include -#include #include -#include #include #include #include -#include /* Save the vinum configuration back to each involved disk. */ void ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_events.c#10 (text+ko) ==== @@ -29,17 +29,13 @@ __FBSDID("$FreeBSD$"); #include -#include -#include #include #include -#include #include #include #include #include -#include void gv_post_event(struct gv_softc *sc, int event, void *arg1, void *arg2, ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#20 (text+ko) ==== @@ -29,16 +29,12 @@ __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_init.c,v 1.11 2005/08/28 18:16:31 le Exp $"); #include #include -#include -#include #include #include -#include #include #include #include -#include static int gv_sync(struct gv_volume *); static int gv_rebuild_plex(struct gv_plex *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_list.c#3 (text+ko) ==== @@ -28,7 +28,6 @@ #include __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_list.c,v 1.3 2005/01/06 18:27:30 imp Exp $"); -#include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_move.c#5 (text+ko) ==== @@ -32,16 +32,12 @@ #include __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_move.c,v 1.3 2006/02/08 21:32:45 le Exp $"); -#include #include -#include #include #include #include #include -#include - void gv_move(struct g_geom *gp, struct gctl_req *req) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#23 (text+ko) ==== @@ -30,11 +30,8 @@ #include #include -#include -#include #include #include -#include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#13 (text+ko) ==== @@ -29,13 +29,8 @@ #include #include -#include -#include -#include -#include #include #include -#include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rename.c#4 (text+ko) ==== @@ -34,13 +34,11 @@ #include #include -#include #include #include #include #include -#include void gv_rename(struct g_geom *gp, struct gctl_req *req) ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#12 (text+ko) ==== @@ -30,13 +30,11 @@ #include #include -#include #include #include #include #include -#include /* General 'remove' routine. */ void ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#5 (text+ko) ==== @@ -45,9 +45,6 @@ #include #ifdef _KERNEL -#include -#include -#include #include #include @@ -62,7 +59,6 @@ #define g_free free #endif /* _KERNEL */ -#include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#20 (text+ko) ==== @@ -27,8 +27,6 @@ #include __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_state.c,v 1.8 2006/03/30 14:01:25 le Exp $"); -#include -#include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#25 (text+ko) ==== @@ -43,15 +43,10 @@ __FBSDID("$FreeBSD: src/sys/geom/vinum/geom_vinum_subr.c,v 1.16 2007/04/12 17:54:35 le Exp $"); #include -#include -#include -#include -#include #include #include #include -#include #include #include #include ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#15 (text+ko) ==== @@ -29,12 +29,8 @@ #include #include -#include -#include -#include #include #include -#include #include #include From owner-p4-projects@FreeBSD.ORG Fri Aug 3 20:59:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 882A716A418; Fri, 3 Aug 2007 20:59:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 472C416A41F; Fri, 3 Aug 2007 20:59:18 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 10C3213C45B; Fri, 3 Aug 2007 20:59:18 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id E8F0C8BEEA2; Fri, 3 Aug 2007 22:59:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7aK-ITco+7gb; Fri, 3 Aug 2007 22:59:15 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 612748BEEA0; Fri, 3 Aug 2007 22:59:15 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l73KxF5P012592; Fri, 3 Aug 2007 22:59:15 +0200 (CEST) (envelope-from rdivacky) Date: Fri, 3 Aug 2007 22:59:14 +0200 From: Roman Divacky To: Jung-uk Kim Message-ID: <20070803205914.GA12533@freebsd.org> References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708021714.33543.jkim@FreeBSD.org> <20070803081032.GA64605@freebsd.org> <200708031203.36406.jkim@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200708031203.36406.jkim@FreeBSD.org> User-Agent: Mutt/1.4.2.3i Cc: perforce@FreeBSD.org Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 20:59:18 -0000 > > cpumaskt_t is just an unsigned int so ~0 should be fine. > > For now. ;-) I was thinking about increasing it some time after 7.0 > branching. It is very clear that we will need it soon, i.e., > multicore CPUs are becoming more common these days. FreeBSD/sun4v > already hit the limit with just one processor: > > http://www.fsmware.com/sun4v/dmesg_latest.txt > > Even on amd64/i386 world, we will hit it very soon, e.g., octal-core * > quad-socket => 32 cores. Without increasing the sizeof(cpumask_t) > and/or grouping physical cores per socket, we won't be able to > survive very long. yeah yeah.. ;) maybe we can use the same trick linux did. anyway its ok now. > > in FreeBSD it doesnt make any sense to emulate linux size because > > if fbsd doesnt support that many CPUs we cannot emulate it. So > > using fbsd-sized cpumask_t and telling userland about it is ok. > > > > agree? > > Agreed, for 7.0. We should fix it later when we add something like > sched_{get,set}affinity() syscalls. http://people.freebsd.org/~ssouhlal/testing/setaffinity-20070707.diff I already asked attilio@ to review it and hopefully do something about it. > > thnx for the review! > > Thank you! so... do you agree that the current revision is fine. I need this to get kib@ to commit this... thank you roman From owner-p4-projects@FreeBSD.ORG Fri Aug 3 21:24:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDD5616A41B; Fri, 3 Aug 2007 21:24:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BF1216A418 for ; Fri, 3 Aug 2007 21:24:35 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7BE7813C458 for ; Fri, 3 Aug 2007 21:24:35 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73LOZdO078378 for ; Fri, 3 Aug 2007 21:24:35 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73LOY5c078375 for perforce@freebsd.org; Fri, 3 Aug 2007 21:24:34 GMT (envelope-from gabor@freebsd.org) Date: Fri, 3 Aug 2007 21:24:34 GMT Message-Id: <200708032124.l73LOY5c078375@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124612 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 21:24:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=124612 Change 124612 by gabor@gabor_server on 2007/08/03 21:23:37 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/MOVED#16 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.database.mk#4 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.qt.mk#3 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/MOVED#16 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1436 2007/07/28 16:41:27 chinsan Exp $ +# $FreeBSD: ports/MOVED,v 1.1442 2007/08/03 07:24:48 clsung Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3112,3 +3112,30 @@ games/freeciv-gtk|games/freeciv|2007-07-28|Dropped gtk1 support games/freeciv-gtk2|games/freeciv|2007-07-28|Gtk2 is supported by default now math/cvcl||2007-07-28|Has expired: CVC Lite is no longer supported. Please use CVC3 (math/cvc3) for all your validity checking needs! +www/p5-Kwiki-Archive-Rcs||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Archive-SVK||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Atom||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Cache||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Diff||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Edit-RequireUserName||2007-08-01|Has expired: Already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-GDGraphGenerator||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Infobox||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-ModPerl||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NavigationToolbar||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NewPage||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Notify-Mail||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-PagePrivacy||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChanges||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChangesRSS||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Revisions||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Search||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Theme-ColumnLayout||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserName||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserPreferences||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-VimMode||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-plugins||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Icons-Gnome||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +x11-fm/endeavour||2007-08-01|Has expired: Development ceased, this port should be updated to Endeavour Mark II +security/p5-openxpki-client-soap-lite||2007-08-01|Has expired: No longer maintained by Developers. +net-mgmt/aircrack|net-mgmt/aircrack-ng|2007-08-01|Has expired: Please use net-mgmt/aircrack-ng +databases/ruby-postgres|databases/rubygem-postgres|2007-08-03|Port updated in rubygem version ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.database.mk#4 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.database.mk,v 1.18 2007/07/18 21:56:10 edwin Exp $ +# $FreeBSD: ports/Mk/bsd.database.mk,v 1.19 2007/08/02 05:42:21 delphij Exp $ # .if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include) @@ -196,7 +196,7 @@ .if defined(USE_BDB) -_DB_PORTS= 2 3 40 41 42 43 44 3+ 40+ 41+ 42+ 43+ 44+ +_DB_PORTS= 2 3 40 41 42 43 44 45 3+ 40+ 41+ 42+ 43+ 44+ 45+ # Dependence lines for different db versions db2_DEPENDS= db2.0:${PORTSDIR}/databases/db2 db3_DEPENDS= db3.3:${PORTSDIR}/databases/db3 @@ -205,6 +205,7 @@ db42_DEPENDS= db-4.2.2:${PORTSDIR}/databases/db42 db43_DEPENDS= db-4.3.0:${PORTSDIR}/databases/db43 db44_DEPENDS= db-4.4.0:${PORTSDIR}/databases/db44 +db45_DEPENDS= db-4.5.0:${PORTSDIR}/databases/db45 # Detect db versions by finding some files db3_FIND= ${LOCALBASE}/include/db3/db.h db40_FIND= ${LOCALBASE}/include/db4/db.h @@ -212,13 +213,16 @@ db42_FIND= ${LOCALBASE}/include/db42/db.h db43_FIND= ${LOCALBASE}/include/db43/db.h db44_FIND= ${LOCALBASE}/include/db44/db.h +db45_FIND= ${LOCALBASE}/include/db45/db.h # For specifying [3, 40, 41, ..]+ -_DB_3P= 3 40 41 42 43 44 -_DB_40P= 40 41 42 43 44 -_DB_41P= 41 42 43 44 -_DB_42P= 42 43 44 -_DB_43P= 43 44 +_DB_3P= 3 ${_DB_40P} +_DB_40P= 40 ${_DB_41P} +_DB_41P= 41 ${_DB_42P} +_DB_42P= 42 ${_DB_43P} +_DB_43P= 43 ${_DB_44P} +_DB_44P= 44 ${_DB_45P} +_DB_45P= 45 # Override the global WITH_BDB_VER with the # port specific _WITH_BDB_VER @@ -342,6 +346,10 @@ BDB_LIB_NAME= db-4.4 BDB_LIB_CXX_NAME= db_cxx-4.4 BDB_LIB_DIR= ${LOCALBASE}/lib/db44 +. elif ${_BDB_VER} == 45 +BDB_LIB_NAME= db-4.5 +BDB_LIB_CXX_NAME= db_cxx-4.5 +BDB_LIB_DIR= ${LOCALBASE}/lib/db45 . endif BDB_LIB_NAME?= db${_BDB_VER} BDB_LIB_CXX_NAME?= db${_BDB_VER}_cxx ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.qt.mk#3 (text+ko) ==== @@ -34,7 +34,14 @@ CONFIGURE_ARGS+=-no-3dnow -no-sse -no-sse2 .endif #defined(PACKAGE_BUILDING) -.if defined(QT_WANT_VERBOSE_CONFIGURE) +.if !defined(WANT_QT_DEBUG) +CONFIGURE_ARGS+=-no-separate-debug-info +PLIST_SUB+= DEBUG="@comment " +.else +PLIST_SUB+= DEBUG="" +.endif + +.if defined(WANT_QT_VERBOSE_CONFIGURE) CONFIGURE_ARGS+=-v .endif .endif #defined(QT_DIST) @@ -44,6 +51,11 @@ UIC?= ${QT_PREFIX}/bin/uic-qt4 QMAKE?= ${QT_PREFIX}/bin/qmake-qt4 QMAKESPEC?= ${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++ +QMAKEFLAGS+= QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \ + QMAKE_LINK="${CXX}" QMAKE_CFLAGS="${CFLAGS}" \ + QMAKE_CXXFLAGS="${CXXFLAGS}" \ + QMAKE_CFLAGS_THREAD="${PTHREAD_CFLAGS}" \ + QMAKE_LFLAGS_THREAD="${PTHREAD_LIBS}" .if ${OSVERSION} < 700042 && ${ARCH} == "amd64" QTCPPFLAGS?= -fno-gcse @@ -101,24 +113,111 @@ uic3_DEPENDS= devel/qt4-uic3 xml_DEPENDS= textproc/qt4-xml +accessible_build_DEPENDS= ${accessible_DEPENDS} +assistant_build_DEPENDS= ${assistant_DEPENDS} +assistantclient_build_DEPENDS= ${assistantclient_DEPENDS} +assistantclient_build_NAME= ${assistantclient_NAME} +codecs-cn_build_DEPENDS= ${codecs-cn_DEPENDS} +codecs-jp_build_DEPENDS= ${codecs-jp_DEPENDS} +codecs-kr_build_DEPENDS= ${codecs-kr_DEPENDS} +codecs-tw_build_DEPENDS= ${codecs-tw_DEPENDS} +corelib_build_DEPENDS= ${corelib_DEPENDS} +dbus_build_DEPENDS= ${dbus_DEPENDS} +designer_build_DEPENDS= ${designer_DEPENDS} +doc_build_DEPENDS= ${doc_DEPENDS} +gui_build_DEPENDS= ${gui_DEPENDS} +iconengines_build_DEPENDS= ${iconengines_DEPENDS} +imageformats_build_DEPENDS= ${imageformats_DEPENDS} +inputmethods_build_DEPENDS= ${inputmethods_DEPENDS} +linguist_build_DEPENDS= ${linguist_DEPENDS} +makeqpf_build_DEPENDS= ${makeqpf_DEPENDS} +moc_build_DEPENDS= ${moc_DEPENDS} +network_build_DEPENDS= ${network_DEPENDS} +opengl_build_DEPENDS= ${opengl_DEPENDS} +pixeltool_build_DEPENDS= ${pixeltool_DEPENDS} +porting_build_DEPENDS= ${porting_DEPENDS} +qdbusviewer_build_DEPENDS= ${qdbusviewer_DEPENDS} +qmake_build_DEPENDS= ${qmake_DEPENDS} +qmake_build_QT4_PREFIX= ${qmake_QT4_PREFIX} +qt3support_build_DEPENDS= ${qt3support_DEPENDS} +qtconfig_build_DEPENDS= ${qtconfig_DEPENDS} +qtestlib_build_DEPENDS= ${qtestlib_DEPENDS} +qvfb_build_DEPENDS= ${qvfb_DEPENDS} +rcc_build_DEPENDS= ${rcc_DEPENDS} +script_build_DEPENDS= ${script_DEPENDS} +sql_build_DEPENDS= ${sql_DEPENDS} +svg_build_DEPENDS= ${svg_DEPENDS} +uic_build_DEPENDS= ${uic_DEPENDS} +uic3_build_DEPENDS= ${uic3_DEPENDS} +xml_build_DEPENDS= ${xml_DEPENDS} + +accessible_run_DEPENDS= ${accessible_DEPENDS} +assistant_run_DEPENDS= ${assistant_DEPENDS} +assistantclient_run_DEPENDS= ${assistantclient_DEPENDS} +assistantclient_run_NAME= ${assistantclient_NAME} +codecs-cn_run_DEPENDS= ${codecs-cn_DEPENDS} +codecs-jp_run_DEPENDS= ${codecs-jp_DEPENDS} +codecs-kr_run_DEPENDS= ${codecs-kr_DEPENDS} +codecs-tw_run_DEPENDS= ${codecs-tw_DEPENDS} +corelib_run_DEPENDS= ${corelib_DEPENDS} +dbus_run_DEPENDS= ${dbus_DEPENDS} +designer_run_DEPENDS= ${designer_DEPENDS} +doc_run_DEPENDS= ${doc_DEPENDS} +gui_run_DEPENDS= ${gui_DEPENDS} +iconengines_run_DEPENDS= ${iconengines_DEPENDS} +imageformats_run_DEPENDS= ${imageformats_DEPENDS} +inputmethods_run_DEPENDS= ${inputmethods_DEPENDS} +linguist_run_DEPENDS= ${linguist_DEPENDS} +makeqpf_run_DEPENDS= ${makeqpf_DEPENDS} +moc_run_DEPENDS= ${moc_DEPENDS} +network_run_DEPENDS= ${network_DEPENDS} +opengl_run_DEPENDS= ${opengl_DEPENDS} +pixeltool_run_DEPENDS= ${pixeltool_DEPENDS} +porting_run_DEPENDS= ${porting_DEPENDS} +qdbusviewer_run_DEPENDS= ${qdbusviewer_DEPENDS} +qmake_run_DEPENDS= ${qmake_DEPENDS} +qmake_run_QT4_PREFIX= ${qmake_QT4_PREFIX} +qt3support_run_DEPENDS= ${qt3support_DEPENDS} +qtconfig_run_DEPENDS= ${qtconfig_DEPENDS} +qtestlib_run_DEPENDS= ${qtestlib_DEPENDS} +qvfb_run_DEPENDS= ${qvfb_DEPENDS} +rcc_run_DEPENDS= ${rcc_DEPENDS} +script_run_DEPENDS= ${script_DEPENDS} +sql_run_DEPENDS= ${sql_DEPENDS} +svg_run_DEPENDS= ${svg_DEPENDS} +uic_run_DEPENDS= ${uic_DEPENDS} +uic3_run_DEPENDS= ${uic3_DEPENDS} +xml_run_DEPENDS= ${xml_DEPENDS} + .if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include) Qt_Post_Include= bsd.qt.mk +.for component in ${_QT_COMPONENTS_ALL} +_QT_COMPONENTS_SUFFIXED+=${component} ${component}_build ${component}_run +.endfor + .if defined(QT_COMPONENTS) .for ext in ${QT_COMPONENTS} -${ext}_QT4_PREFIX?= qt4- -${ext}_QT4_VERSION?= ${QT4_VERSION} -${ext}_NAME?= ${ext} -.if ${_QT_COMPONENTS_ALL:M${ext}}!= "" -BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} -RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +${ext}_QT4_PREFIX?= qt4- +${ext}_QT4_VERSION?= ${QT4_VERSION} +${ext}_NAME?= ${ext} +_${ext}= ${ext} +.if ${_QT_COMPONENTS_SUFFIXED:M${ext}}!= "" +.if ${_${ext}:M*_build}!= "" +BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME:S/_build//}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.elif ${_${ext}:M*_run}!= "" +RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME:S/_run//}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.else +BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.endif .else IGNORE= cannot install: unknown Qt4 component -- ${ext} .endif .endfor .else -BUILD_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 -RUN_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 +BUILD_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 +RUN_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 .endif .endif From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:01:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0147316A41B; Fri, 3 Aug 2007 22:01:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B273816A41A for ; Fri, 3 Aug 2007 22:01:20 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B41A213C45A for ; Fri, 3 Aug 2007 22:01:20 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73M1KMJ080583 for ; Fri, 3 Aug 2007 22:01:20 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73M1KSG080580 for perforce@freebsd.org; Fri, 3 Aug 2007 22:01:20 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 22:01:20 GMT Message-Id: <200708032201.l73M1KSG080580@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124613 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:01:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=124613 Change 124613 by zec@zec_tpx32 on 2007/08/03 22:01:03 Promote ng_ether to a vnet module in order to ensure it doesn't begin to attach to existing ethernet ifnets before netgraph vnet module is registered. In ng_ether_attach() drop a reference to other node, if found when searching for conflicts with ng_eiface over the same ifnet. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_ether.c#8 edit .. //depot/projects/vimage/src/sys/netgraph/vnetgraph.h#4 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_ether.c#8 (text+ko) ==== @@ -74,6 +74,12 @@ #define IFP2NG(ifp) (IFP2AC((ifp))->ac_netgraph) +static vnet_attach_fn ng_ether_iattach; +static vnet_detach_fn ng_ether_idetach; + +VNET_MOD_DECLARE_STATELESS(NG_ETHER, ng_ether, ng_ether_iattach, + ng_ether_idetach, NETGRAPH) + /* Per-node private data */ struct private { struct ifnet *ifp; /* associated interface */ @@ -292,8 +298,10 @@ * This should prevent ether nodes to be attached to * eiface nodes in the same vnet, which is pointless. */ - if (ng_name2noderef(node, ifp->if_xname) != NULL) + if ((node = ng_name2noderef(NULL, ifp->if_xname)) != NULL) { + NG_NODE_UNREF(node); return; + } /* Create node */ KASSERT(!IFP2NG(ifp), ("%s: node already exists?", __func__)); @@ -743,56 +751,25 @@ static int ng_ether_mod_event(module_t mod, int event, void *data) { - struct ifnet *ifp; int error = 0; int s; s = splnet(); switch (event) { case MOD_LOAD: - - /* Register function hooks */ - if (ng_ether_attach_p != NULL) { - error = EEXIST; - break; - } - ng_ether_attach_p = ng_ether_attach; - ng_ether_detach_p = ng_ether_detach; - ng_ether_output_p = ng_ether_output; - ng_ether_input_p = ng_ether_input; - ng_ether_input_orphan_p = ng_ether_input_orphan; - ng_ether_link_state_p = ng_ether_link_state; - - /* Create nodes for any already-existing Ethernet interfaces */ - IFNET_RLOCK(); - VNET_ITERLOOP_BEGIN(); - INIT_VNET_NET(vnet_iter); - TAILQ_FOREACH(ifp, &V_ifnet, if_link) { - if (ifp->if_type == IFT_ETHER - || ifp->if_type == IFT_L2VLAN) - ng_ether_attach(ifp); - } - VNET_ITERLOOP_END(); - IFNET_RUNLOCK(); +#ifdef VIMAGE + vnet_mod_register(&vnet_ng_ether_modinfo); +#else + error = ng_ether_iattach(NULL); +#endif break; case MOD_UNLOAD: - - /* - * Note that the base code won't try to unload us until - * all nodes have been removed, and that can't happen - * until all Ethernet interfaces are removed. In any - * case, we know there are no nodes left if the action - * is MOD_UNLOAD, so there's no need to detach any nodes. - */ - - /* Unregister function hooks */ - ng_ether_attach_p = NULL; - ng_ether_detach_p = NULL; - ng_ether_output_p = NULL; - ng_ether_input_p = NULL; - ng_ether_input_orphan_p = NULL; - ng_ether_link_state_p = NULL; +#ifdef VIMAGE + vnet_mod_deregister(&vnet_ng_ether_modinfo); +#else + ng_ether_idetach(NULL); +#endif break; default: @@ -803,3 +780,60 @@ return (error); } +static int ng_ether_iattach(const void *unused) +{ + INIT_VNET_NET(curvnet); + struct ifnet *ifp; + +#ifdef VIMAGE + if (IS_VNET_0(curvnet)){ +#endif + /* Register function hooks */ + if (ng_ether_attach_p != NULL) + return(EEXIST); + ng_ether_attach_p = ng_ether_attach; + ng_ether_detach_p = ng_ether_detach; + ng_ether_output_p = ng_ether_output; + ng_ether_input_p = ng_ether_input; + ng_ether_input_orphan_p = ng_ether_input_orphan; + ng_ether_link_state_p = ng_ether_link_state; +#ifdef VIMAGE + } +#endif + + /* Create nodes for any already-existing Ethernet interfaces */ + IFNET_RLOCK(); + TAILQ_FOREACH(ifp, &V_ifnet, if_link) { + if (ifp->if_type == IFT_ETHER + || ifp->if_type == IFT_L2VLAN) + ng_ether_attach(ifp); + } + IFNET_RUNLOCK(); + + return 0; +} + +static int ng_ether_idetach(const void *unused) +{ + /* + * Note that the base code won't try to unload us until + * all nodes have been removed, and that can't happen + * until all Ethernet interfaces are removed. In any + * case, we know there are no nodes left if the action + * is MOD_UNLOAD, so there's no need to detach any nodes. + */ + + if (!IS_VNET_0(curvnet)) + return(0); + + /* Unregister function hooks */ + ng_ether_attach_p = NULL; + ng_ether_detach_p = NULL; + ng_ether_output_p = NULL; + ng_ether_input_p = NULL; + ng_ether_input_orphan_p = NULL; + ng_ether_link_state_p = NULL; + + return 0; +} + ==== //depot/projects/vimage/src/sys/netgraph/vnetgraph.h#4 (text+ko) ==== @@ -37,35 +37,24 @@ #define INIT_VNET_NETGRAPH(vnet) \ INIT_FROM_VNET(vnet, VNET_MOD_NETGRAPH, \ - struct vnet_netgraph, vnet_netgraph) + struct vnet_netgraph, vnet_netgraph) #define VNET_NETGRAPH(sym) VSYM(vnet_netgraph, sym) #ifdef VIMAGE struct vnet_netgraph { - struct vnet *parent_vnet; - LIST_HEAD(, ng_node) _ng_nodelist; - SLIST_HEAD(, ng_node) _ng_allnodes; - LIST_HEAD(, ng_node) _ng_freenodes; - SLIST_HEAD(, ng_hook) _ng_allhooks; - LIST_HEAD(, ng_hook) _ng_freehooks; + struct unrhdr *_ng_iface_unit; + struct unrhdr *_ng_eiface_unit; }; - -extern struct vnet_netgraph vnet_netgraph_0; #endif -/* - * Symbol translation macros - */ - +/* Symbol translation macros */ #define V_ng_nodelist VNET_NETGRAPH(ng_nodelist) -#define V_ng_allnodes VNET_NETGRAPH(ng_allnodes) -#define V_ng_freenodes VNET_NETGRAPH(ng_freenodes) -#define V_ng_allhooks VNET_NETGRAPH(ng_allhooks) -#define V_ng_freehooks VNET_NETGRAPH(ng_freehoks) +#define V_ng_iface_unit VNET_NETGRAPH(ng_iface_unit) +#define V_ng_eiface_unit VNET_NETGRAPH(ng_eiface_unit) #endif /* !_NETGRAPH_VNETGRAPH_H_ */ From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:12:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DDFFA16A420; Fri, 3 Aug 2007 22:12:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFC6816A418; Fri, 3 Aug 2007 22:12:56 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.freebsd.org (Postfix) with ESMTP id 84F6D13C467; Fri, 3 Aug 2007 22:12:56 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from niksun.com (anuket [10.70.0.5]) by anuket.mj.niksun.com (8.13.6/8.13.6) with ESMTP id l73MCtGw017727; Fri, 3 Aug 2007 18:12:55 -0400 (EDT) (envelope-from jkim@FreeBSD.org) From: Jung-uk Kim To: perforce@FreeBSD.org Date: Fri, 3 Aug 2007 18:12:50 -0400 User-Agent: KMail/1.6.2 References: <200708021130.l72BUHrY077198@repoman.freebsd.org> <200708031203.36406.jkim@FreeBSD.org> <20070803205914.GA12533@freebsd.org> In-Reply-To: <20070803205914.GA12533@freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200708031812.53069.jkim@FreeBSD.org> Cc: Roman Divacky Subject: Re: PERFORCE change 124529 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:12:57 -0000 On Friday 03 August 2007 04:59 pm, Roman Divacky wrote: > > > cpumaskt_t is just an unsigned int so ~0 should be fine. > > > > For now. ;-) I was thinking about increasing it some time after > > 7.0 branching. It is very clear that we will need it soon, i.e., > > multicore CPUs are becoming more common these days. > > FreeBSD/sun4v already hit the limit with just one processor: > > > > http://www.fsmware.com/sun4v/dmesg_latest.txt > > > > Even on amd64/i386 world, we will hit it very soon, e.g., > > octal-core * quad-socket => 32 cores. Without increasing the > > sizeof(cpumask_t) and/or grouping physical cores per socket, we > > won't be able to survive very long. > > yeah yeah.. ;) maybe we can use the same trick linux did. anyway > its ok now. :-) > > > in FreeBSD it doesnt make any sense to emulate linux size > > > because if fbsd doesnt support that many CPUs we cannot emulate > > > it. So using fbsd-sized cpumask_t and telling userland about it > > > is ok. > > > > > > agree? > > > > Agreed, for 7.0. We should fix it later when we add something > > like sched_{get,set}affinity() syscalls. > > http://people.freebsd.org/~ssouhlal/testing/setaffinity-20070707.di >ff > > I already asked attilio@ to review it and hopefully do something > about it. Very cool! > > > thnx for the review! > > > > Thank you! > > so... do you agree that the current revision is fine. I need this > to get kib@ to commit this... Yes. Jung-uk Kim From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:15:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6064516A46D; Fri, 3 Aug 2007 22:15:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0032416A421 for ; Fri, 3 Aug 2007 22:15:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F06BA13C4A3 for ; Fri, 3 Aug 2007 22:15:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73MFex1082602 for ; Fri, 3 Aug 2007 22:15:40 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73MFe7Q082599 for perforce@freebsd.org; Fri, 3 Aug 2007 22:15:40 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 22:15:40 GMT Message-Id: <200708032215.l73MFe7Q082599@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124616 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:15:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=124616 Change 124616 by zec@zec_tpx32 on 2007/08/03 22:15:17 Promote ng_iface and ng_eiface to vnet modules, in order to ensure they become registered only after netgraph vnet module. In both ng_iface and ng_eiface, during vnet cleanup destroy all per-vnet instances of iface / eiface netgraph nodes. Add a missing VNET_MOD_NG_ETHER definition to sys/vimage.h which should have been already submited along the changes to ng_ether. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#6 edit .. //depot/projects/vimage/src/sys/netgraph/ng_iface.c#3 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#31 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#6 (text+ko) ==== @@ -45,7 +45,9 @@ #include #include #include +#include +#include #include #include #include @@ -114,8 +116,16 @@ }; NETGRAPH_INIT(eiface, &typestruct); +static vnet_attach_fn ng_eiface_iattach; +static vnet_detach_fn ng_eiface_idetach; + +#ifndef VIMAGE static struct unrhdr *ng_eiface_unit; +#endif +VNET_MOD_DECLARE_STATELESS(NG_EIFACE, ng_eiface, ng_eiface_iattach, + ng_eiface_idetach, NETGRAPH) + /************************************************************************ INTERFACE STUFF ************************************************************************/ @@ -335,6 +345,7 @@ static int ng_eiface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; u_char eaddr[6] = {0,0,0,0,0,0}; @@ -354,7 +365,7 @@ ifp->if_softc = priv; /* Get an interface unit number */ - priv->unit = alloc_unr(ng_eiface_unit); + priv->unit = alloc_unr(V_ng_eiface_unit); /* Link together node and private info */ NG_NODE_SET_PRIVATE(node, priv); @@ -446,8 +457,6 @@ caddr_t ptr; int buflen; -#define SA_SIZE(s) ((s)->sa_lensa_len) - /* Determine size of response and allocate it */ buflen = 0; TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) @@ -545,6 +554,7 @@ static int ng_eiface_rmnode(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); struct ifnet *const ifp = priv->ifp; @@ -552,7 +562,7 @@ ether_ifdetach(ifp); if_free(ifp); CURVNET_RESTORE(); - free_unr(ng_eiface_unit, priv->unit); + free_unr(V_ng_eiface_unit, priv->unit); FREE(priv, M_NETGRAPH); NG_NODE_SET_PRIVATE(node, NULL); NG_NODE_UNREF(node); @@ -581,10 +591,18 @@ switch (event) { case MOD_LOAD: - ng_eiface_unit = new_unrhdr(0, 0xffff, NULL); +#ifdef VIMAGE + vnet_mod_register(&vnet_ng_eiface_modinfo); +#else + ng_eiface_iattach(NULL); +#endif break; case MOD_UNLOAD: - delete_unrhdr(ng_eiface_unit); +#ifdef VIMAGE + vnet_mod_deregister(&vnet_ng_eiface_modinfo); +#else + ng_eiface_idetach(NULL); +#endif break; default: error = EOPNOTSUPP; @@ -592,3 +610,32 @@ } return (error); } + +static int ng_eiface_iattach(const void *unused) +{ + INIT_VNET_NETGRAPH(curvnet); + + V_ng_eiface_unit = new_unrhdr(0, 0xffff, NULL); + + return 0; +} + +static int ng_eiface_idetach(const void *unused) +{ + INIT_VNET_NETGRAPH(curvnet); +#ifdef VIMAGE + node_p node; + + do { + LIST_FOREACH(node, &V_ng_nodelist, nd_nodes) + if (node->nd_type == &typestruct) + break; + if (node != NULL) + ng_rmnode_self(node); + } while (node != NULL); +#endif + + delete_unrhdr(V_ng_eiface_unit); + + return 0; +} ==== //depot/projects/vimage/src/sys/netgraph/ng_iface.c#3 (text+ko) ==== @@ -79,6 +79,7 @@ #include +#include #include #include #include @@ -209,7 +210,15 @@ }; NETGRAPH_INIT(iface, &typestruct); +static vnet_attach_fn ng_iface_iattach; +static vnet_detach_fn ng_iface_idetach; + +#ifndef VIMAGE static struct unrhdr *ng_iface_unit; +#endif + +VNET_MOD_DECLARE_STATELESS(NG_IFACE, ng_iface, ng_iface_iattach, + ng_iface_idetach, NETGRAPH) /************************************************************************ HELPER STUFF @@ -507,6 +516,7 @@ static int ng_iface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; @@ -525,7 +535,7 @@ priv->ifp = ifp; /* Get an interface unit number */ - priv->unit = alloc_unr(ng_iface_unit); + priv->unit = alloc_unr(V_ng_iface_unit); /* Link together node and private info */ NG_NODE_SET_PRIVATE(node, priv); @@ -766,6 +776,7 @@ static int ng_iface_shutdown(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); CURVNET_SET_QUIET(priv->ifp->if_vnet); @@ -774,7 +785,7 @@ if_free(priv->ifp); CURVNET_RESTORE(); priv->ifp = NULL; - free_unr(ng_iface_unit, priv->unit); + free_unr(V_ng_iface_unit, priv->unit); FREE(priv, M_NETGRAPH_IFACE); NG_NODE_SET_PRIVATE(node, NULL); NG_NODE_UNREF(node); @@ -807,10 +818,18 @@ switch (event) { case MOD_LOAD: - ng_iface_unit = new_unrhdr(0, 0xffff, NULL); +#ifdef VIMAGE + vnet_mod_register(&vnet_ng_iface_modinfo); +#else + ng_iface_iattach(NULL); +#endif break; case MOD_UNLOAD: - delete_unrhdr(ng_iface_unit); +#ifdef VIMAGE + vnet_mod_deregister(&vnet_ng_iface_modinfo); +#else + ng_iface_idetach(NULL); +#endif break; default: error = EOPNOTSUPP; @@ -818,3 +837,32 @@ } return (error); } + +static int ng_iface_iattach(const void *unused) +{ + INIT_VNET_NETGRAPH(curvnet); + + V_ng_iface_unit = new_unrhdr(0, 0xffff, NULL); + + return 0; +} + +static int ng_iface_idetach(const void *unused) +{ + INIT_VNET_NETGRAPH(curvnet); +#ifdef VIMAGE + node_p node; + + do { + LIST_FOREACH(node, &V_ng_nodelist, nd_nodes) + if (node->nd_type == &typestruct) + break; + if (node != NULL) + ng_rmnode_self(node); + } while (node != NULL); +#endif + + delete_unrhdr(V_ng_iface_unit); + + return 0; +} ==== //depot/projects/vimage/src/sys/sys/vimage.h#31 (text+ko) ==== @@ -79,6 +79,8 @@ #define VNET_MOD_ALTQ 8 #define VNET_MOD_IPX 9 #define VNET_MOD_ATALK 10 + +#define VNET_MOD_NG_ETHER 20 #define VNET_MOD_NG_IFACE 21 #define VNET_MOD_NG_EIFACE 22 #define VNET_MOD_ESP 23 From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:30:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7759B16A46C; Fri, 3 Aug 2007 22:30:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03E4B16A421 for ; Fri, 3 Aug 2007 22:30:03 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 03F6A13C46B for ; Fri, 3 Aug 2007 22:30:03 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73MU25t083359 for ; Fri, 3 Aug 2007 22:30:02 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73MTwpk083343 for perforce@freebsd.org; Fri, 3 Aug 2007 22:29:58 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 3 Aug 2007 22:29:58 GMT Message-Id: <200708032229.l73MTwpk083343@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124617 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:30:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=124617 Change 124617 by lulf@lulf_carrot on 2007/08/03 22:29:29 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_main/Makefile.inc1#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sbin/Makefile#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sbin/gvinum/gvinum.8#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sbin/gvinum/gvinum.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/Makefile.arm#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/NOTES#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.amd64#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.arm#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.i386#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.ia64#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.pc98#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.powerpc#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.sparc64#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/files.sun4v#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/kmod.mk#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/options#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/options.amd64#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/options.i386#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/conf/options.pc98#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/part/g_part.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/part/g_part.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/part/g_part_mbr.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum.h#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_create.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_events.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_init.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_list.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_move.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_plex.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_raid5.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_raid5.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_rename.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_rm.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_share.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_state.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_subr.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_var.h#6 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/geom/vinum/geom_vinum_volume.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/conf/GENERIC#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/conf/NOTES#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/cpufreq/smist.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/pmap.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/swtch.s#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/sys_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/trap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/i386/vm_machdep.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/ibcs2/ibcs2_xenix.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_cause.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_debug.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_ioctl.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_rbch_ioctl.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_tel_ioctl.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/i4b_trace.h#2 delete .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/include/pc/vesa.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/isa/clock.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/i386/xbox/xboxfb.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/Make.tags.inc#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/init_sysent.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_conf.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_descrip.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_exec.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_fork.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_lockf.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_malloc.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_priv.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_resource.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_rwlock.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_sig.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_switch.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_sx.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_thread.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/makesyscalls.sh#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/sched_ule.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/subr_bus.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/subr_clock.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/subr_smp.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/subr_unit.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/subr_witness.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/sys_generic.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/syscalls.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/syscalls.master#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/systrace_args.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/tty.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/tty_pts.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/tty_pty.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/tty_tty.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/uipc_domain.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/uipc_usrreq.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/vfs_cache.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/vfs_syscalls.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/kern/vfs_vnops.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/modules/Makefile#5 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/modules/geom/geom_vinum/Makefile#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/_rwlock.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/conf.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/kernel.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/lock_profile.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/mbuf.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/mutex.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/param.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/priv.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/proc.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/rwlock.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/sx.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/syscall.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/syscall.mk#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/sysent.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/sysproto.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/systm.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/tree.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/sys/vmmeter.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/swap_pager.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_contig.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_fault.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_meter.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_object.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_page.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_page.h#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_pageout.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_pageq.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_phys.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_phys.h#2 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vm_zeroidle.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_main/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_main/Makefile.inc1#4 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.582 2007/05/26 20:17:19 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.584 2007/07/10 10:19:45 delphij Exp $ # # Make command line options: # -DNO_CLEANDIR run ${MAKE} clean, instead of ${MAKE} cleandir @@ -967,6 +967,7 @@ .for _tool in \ gnu/usr.bin/binutils \ gnu/usr.bin/cc \ + usr.bin/sed \ usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \ ${_btxld} \ ${_crunchide} \ ==== //depot/projects/soc2007/lulf/gvinum_main/sbin/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.166 2007/06/12 21:31:39 phk Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.168 2007/07/24 15:35:00 scottl Exp $ .include @@ -41,6 +41,7 @@ init \ ${_ipf} \ ipfw \ + iscontrol \ kldconfig \ kldload \ kldstat \ @@ -59,7 +60,6 @@ mount_ntfs \ mount_nullfs \ mount_udf \ - mount_umapfs \ mount_unionfs \ natd \ newfs \ ==== //depot/projects/soc2007/lulf/gvinum_main/sbin/gvinum/gvinum.8#2 (text+ko) ==== @@ -40,6 +40,12 @@ .Op Fl options .Sh COMMANDS .Bl -tag -width indent +.It Ic attach Ar plex volume Op Cm rename +.It Ic attach Ar subdisk plex Oo Ar offset Oc Op Cm rename +Attach a plex to a volume, or a subdisk to a plex. If offset is specified, the +subdisk will be attached to the given offset within the plex. If rename is +specified, the subdisk or plex will change name according to the object it +attaches to. .It Ic checkparity Oo Fl f Oc Ar plex Check the parity blocks of a RAID-5 plex. The parity check will start at the @@ -49,6 +55,9 @@ the first location at which plex's parity is incorrect. All subdisks in the plex must be up for a parity check. +.It Ic concat Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives +Create a concatenated volume from the specified drives. If no name is specified, +a unique name will be set by gvinum. .It Ic create Op Ar description-file Create a volume as described in .Ar description-file . @@ -57,6 +66,9 @@ provided, opens an editor and provides the current .Nm configuration for editing. +.It Ic detach Oo Fl f Oc Op Ar plex | subdisk +Detach a plex or subdisk from the volume or plex to which it is +attached. .It Ic help Provides a synopsis of .Nm @@ -76,6 +88,13 @@ and .Fl V flags provide progressively more detailed output. +.It Ic mirror Oo Fl fsv Oc Oo Fl n Ar name Oc Ar drives +Create a mirrored volume from the specified drives. It requires at least a +multiple of 2 drives. If no name is specified, +a unique name will be set by gvinum. If the +.Fl s +flag is specified, a striped mirror will be created, and thus requires a +multiple of 4 drives. .It Ic move | mv Fl f Ar drive subdisk Op Ar ... Move the subdisk(s) to the specified drive. The @@ -85,8 +104,13 @@ This can currently only be done when the subdisk is not being accessed. .Pp -If the subdisk(s) form part of a RAID-5 plex, the disk(s) will need to be set -to the +If a single subdisk is moved, and it forms a part of a RAID-5 plex, the moved +subdisks will need to be set to the +.Dq stale +state, and the plex will require a +.Ic start +command; If multiple subdisk(s) is moved, and form part of a RAID-5 plex, the +moved disk(s) will need to be set to the .Dq up state and the plex will require a .Ic rebuildparity @@ -105,6 +129,10 @@ when running in interactive mode. Normally this would be done by entering the EOF character. +.It Ic raid5 Oo Fl fv Oc Oo Fl s Ar stripesize Oc Oo Fl n Ar name Oc Ar drives +Create a RAID-5 volume from the specified drives. If no name is specified, +a unique name will be set by Ic gvinum. This organization requires at least +three drives. .It Ic rename Oo Fl r Oc Ar drive | subdisk | plex | volume newname Change the name of the specified object. The @@ -142,10 +170,19 @@ .It Ic start Read configuration from all vinum drives. .It Ic start Oo Fl S Ar size Oc Ar volume | plex | subdisk -Allow the system to access the objects. +Allow the system to access the objects. If necessary, plexes will be synced and +rebuilt. The .Fl S flag is currently ignored. +.It Ic stop Oo Fl f Oc Op Ar volume | plex | subdisk +Terminate access to the objects, or stop +.Nm +if no parameters are specified. +.It Ic stripe Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives +Create a striped volume from the specified drives. If no name is specified, +a unique name will be set by Ic gvinum. This organization requires at least two +drives. .El .Sh DESCRIPTION The @@ -217,15 +254,68 @@ directory with device nodes for .Nm objects -.It Pa /dev/gvinum/plex -directory containing device nodes for -.Nm -plexes -.It Pa /dev/gvinum/sd -directory containing device nodes for -.Nm -subdisks .El +.Sh EXAMPLES +To create a mirror on disks /dev/ad1 and /dev/ad2, create a filesystem, mount, +unmount and then stop Ic gvinum: +.Pp +.Dl "gvinum mirror /dev/ad1 /dev/ad2" +.Dl "newfs /dev/gvinum/gvinumvolume0" +.Dl "mount /dev/gvinum/gvinumvolume0 /mnt" +.Dl "..." +.Dl "unmount /mnt" +.Dl "gvinum stop" +.Pp +To create a striped mirror on disks /dev/ad1 /dev/ad2 /dev/ad3 and /dev/ad4 +named "data" and create a filesystem: +.Pp +.Dl "gvinum mirror -s -n data /dev/ad1 /dev/ad2 /dev/ad3 /dev/ad4" +.Dl "newfs /dev/gvinum/data" +.Pp +To create a raid5 array on disks /dev/ad1 /dev/ad2 and /dev/ad3, with stripesize +493k you can use the raid5 command: +.Pp +.Dl "gvinum raid5 -s 493k /dev/ad1 /dev/ad2 /dev/ad3" +.Pp +Then the volume will be created automatically. +Afterwards, you have to initialize the volume: +.Pp +.Dl "gvinum start myraid5vol" +.Pp +The initialization will start, and the states will be updated when it's +finished. The list command will give you information about its progress. +.Pp +Imagine that one of the drives fails, and the output of 'printconfig' looks +something like this: +.Pp +.Dl "drive gvinumdrive1 device /dev/ad2" +.Dl "drive gvinumdrive2 device /dev/???" +.Dl "drive gvinumdrive0 device /dev/ad1" +.Dl "volume myraid5vol" +.Dl "plex name myraid5vol.p0 org raid5 986s vol myraid5vol" +.Dl "sd name myraid5vol.p0.s2 drive gvinumdrive2 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 1972s" +.Dl "sd name myraid5vol.p0.s1 drive gvinumdrive1 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 986s" +.Dl "sd name myraid5vol.p0.s0 drive gvinumdrive0 len 32538s driveoffset 265s" +.Dl "plex myraid5vol.p0 plexoffset 0s" +.Pp +Create a new drive with this configuration: +.Pp +.Dl "drive gdrive4 device /dev/ad4" +.Pp +Then move the stale subdisk to the new drive: +.Pp +.Dl "gvinum move gdrive4 myraid5vol.p0.s2" +.Pp +Then, initiate the rebuild: +.Pp +.Dl "gvinum start myraid5vol.p0" +.Pp +The plex will go up form degraded mode after the rebuild is finished. The plex +can still be used while the rebuild is in progress, although requests might be +delayed. For a more advanced usage and detailed explanation of gvinum, the +handbook is recommended. .Sh SEE ALSO .Xr geom 4 , .Xr geom 8 @@ -255,9 +345,13 @@ .An "Chris Jones" through the 2005 Google Summer of Code program. +.Ic a partial rewrite of gvinum was done by "Lukas Ertl" and "Ulf Lilleengen" +through the 2007 Google Summer of Code program. The documentation have been +updated to reflect the new functionality. .Sh AUTHORS .An Lukas Ertl Aq le@FreeBSD.org .An Chris Jones Aq soc-cjones@FreeBSD.org +.An Ulf Lilleengen Aq lulf@FreeBSD.org .Sh BUGS Currently, .Nm @@ -271,10 +365,6 @@ .Ic start is ignored. .Pp -The -.Ic stop -command does not work. -.Pp Moving subdisks that are not part of a mirrored or RAID-5 volume will destroy data. It is perhaps a bug to permit this. @@ -291,18 +381,10 @@ .Xr vinum 4 are not supported: .Bl -tag -width indent -.It Ic attach Ar plex volume Op Cm rename -.It Ic attach Ar subdisk plex Oo Ar offset Oc Op Cm rename -Attach a plex to a volume, or a subdisk to a plex. -.It Ic concat Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives -Create a concatenated volume from the specified drives. .It Ic debug Cause the volume manager to enter the kernel debugger. .It Ic debug Ar flags Set debugging flags. -.It Ic detach Oo Fl f Oc Op Ar plex | subdisk -Detach a plex or subdisk from the volume or plex to which it is -attached. .It Ic dumpconfig Op Ar drive ... List the configuration information stored on the specified drives, or all drives in the system if no drive names are specified. @@ -310,17 +392,9 @@ List information about volume manager state. .It Ic label Ar volume Create a volume label. -.It Ic mirror Oo Fl fsv Oc Oo Fl n Ar name Oc Ar drives -Create a mirrored volume from the specified drives. .It Ic resetstats Oo Fl r Oc Op Ar volume | plex | subdisk Reset statistics counters for the specified objects, or for all objects if none are specified. .It Ic setdaemon Op Ar value Set daemon configuration. -.It Ic stop Oo Fl f Oc Op Ar volume | plex | subdisk -Terminate access to the objects, or stop -.Nm -if no parameters are specified. -.It Ic stripe Oo Fl fv Oc Oo Fl n Ar name Oc Ar drives -Create a striped volume from the specified drives. .El ==== //depot/projects/soc2007/lulf/gvinum_main/sbin/gvinum/gvinum.c#4 (text+ko) ==== @@ -1,5 +1,7 @@ /* - * Copyright (c) 2004 Lukas Ertl, 2005 Chris Jones + * Copyright (c) 2004 Lukas Ertl + * Copyright (c) 2005 Chris Jones + * Copyright (c) 2007 Ulf Lilleengen * All rights reserved. * * Portions of this software were developed for the FreeBSD Project @@ -56,13 +58,16 @@ #include "gvinum.h" void gvinum_attach(int, char **); +void gvinum_concat(int, char **); void gvinum_create(int, char **); void gvinum_detach(int, char **); void gvinum_help(void); void gvinum_list(int, char **); void gvinum_move(int, char **); +void gvinum_mirror(int, char **); void gvinum_parityop(int, char **, int); void gvinum_printconfig(int, char **); +void gvinum_raid5(int, char **); void gvinum_rename(int, char **); void gvinum_resetconfig(void); void gvinum_rm(int, char **); @@ -70,9 +75,15 @@ void gvinum_setstate(int, char **); void gvinum_start(int, char **); void gvinum_stop(int, char **); +void gvinum_stripe(int, char **); void parseline(int, char **); void printconfig(FILE *, char *); +char *create_drive(char *); +void create_volume(int, char **, char *); +char *find_name(const char *, int, int); +char *find_pattern(char *, char *); + int main(int argc, char **argv) { @@ -161,9 +172,9 @@ struct gv_volume *v; FILE *tmp; int drives, errors, fd, line, plexes, plex_in_volume; - int sd_in_plex, status, subdisks, tokens, volumes; + int sd_in_plex, status, subdisks, tokens, undeffd, volumes; const char *errstr; - char buf[BUFSIZ], buf1[BUFSIZ], commandline[BUFSIZ], *ed; + char buf[BUFSIZ], buf1[BUFSIZ], commandline[BUFSIZ], *ed, *sdname; char original[BUFSIZ], tmpfile[20], *token[GV_MAXARGS]; char plex[GV_MAXPLEXNAME], volume[GV_MAXVOLNAME]; @@ -209,7 +220,8 @@ gctl_ro_param(req, "verb", -1, "create"); drives = volumes = plexes = subdisks = 0; - plex_in_volume = sd_in_plex = 0; + plex_in_volume = sd_in_plex = undeffd = 0; + plex[0] = '\0'; errors = 0; line = 1; while ((fgets(buf, BUFSIZ, tmp)) != NULL) { @@ -310,8 +322,16 @@ /* Default name. */ if (strlen(s->name) == 0) { - snprintf(s->name, GV_MAXSDNAME, "%s.s%d", - plex, sd_in_plex++); + if (strlen(plex) == 0) { + sdname = find_name("gvinumsubdisk.p", + GV_TYPE_SD, GV_MAXSDNAME); + snprintf(s->name, GV_MAXSDNAME, + "%s.s%d", sdname, undeffd++); + free(sdname); + } else { + snprintf(s->name, GV_MAXSDNAME, + "%s.s%d",plex, sd_in_plex++); + } } /* Default plex. */ @@ -362,6 +382,223 @@ gctl_free(req); } +/* Create a concatenated volume. */ +void +gvinum_concat(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage:\tconcat [-fv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "concat"); +} + + +/* Create a drive quick and dirty. */ +char * +create_drive(char *device) +{ + struct gv_drive *d; + struct gctl_req *req; + const char *errstr; + char *drivename; + int drives, volumes, subdisks, plexes; + + plexes = subdisks = volumes = 0; + drives = 1; + + /* Strip away eventual /dev/ in front. */ + if (strncmp(device, "/dev/", 5) == 0) + device += 5; + + drivename = find_name("gvinumdrive", GV_TYPE_DRIVE, GV_MAXDRIVENAME); + if (drivename == NULL) + return (NULL); + + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + gctl_ro_param(req, "verb", -1, "create"); + d = malloc(sizeof(struct gv_drive)); + if (d == NULL) + err(1, "unable to allocate for gv_drive object"); + memset(d, 0, sizeof(struct gv_drive)); + + strlcpy(d->name, drivename, GV_MAXDRIVENAME); + strlcpy(d->device, device, GV_MAXDRIVENAME); + gctl_ro_param(req, "drive0", sizeof(*d), d); + gctl_ro_param(req, "drives", sizeof(int), &drives); + gctl_ro_param(req, "volumes", sizeof(int), &volumes); + gctl_ro_param(req, "plexes", sizeof(int), &plexes); + gctl_ro_param(req, "subdisks", sizeof(int), &subdisks); + errstr = gctl_issue(req); + if (errstr != NULL) { + warnx("error creating drive: %s", errstr); + gctl_free(req); + free(drivename); + usleep(100000); /* sleep for 0.1s. */ + printf("retrying...\n"); + return (create_drive(device)); + } + gctl_free(req); + return (drivename); +} + +/* + * General routine for creating a volume. Mainly for use by concat, mirror, + * raid5 and stripe commands. + */ +void +create_volume(int argc, char **argv, char *verb) +{ + struct gctl_req *req; + const char *errstr; + char buf[BUFSIZ], *drivename, *volname; + int drives, flags, i; + off_t stripesize; + + flags = 0; + drives = 0; + volname = NULL; + stripesize = 262144; + + /* XXX: Should we check for argument length? */ + + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + + for (i = 1; i < argc; i++) { + if (!strcmp(argv[i], "-f")) { + flags |= GV_FLAG_F; + } else if (!strcmp(argv[i], "-n")) { + volname = argv[++i]; + } else if (!strcmp(argv[i], "-v")) { + flags |= GV_FLAG_V; + } else if (!strcmp(argv[i], "-s")) { + flags |= GV_FLAG_S; + if (!strcmp(verb, "raid5")) + stripesize = gv_sizespec(argv[++i]); + } else { + /* Assume it's a drive. */ + snprintf(buf, sizeof(buf), "drive%d", drives++); + + /* First we create the drive. */ + drivename = create_drive(argv[i]); + if (drivename == NULL) + goto bad; + /* Then we add it to the request. */ + gctl_ro_param(req, buf, -1, drivename); + } + } + + gctl_ro_param(req, "stripesize", sizeof(off_t), &stripesize); + + /* Find a free volume name. */ + if (volname == NULL) + volname = find_name("gvinumvolume", GV_TYPE_VOL, GV_MAXVOLNAME); + + /* Then we send a request to actually create the volumes. */ + gctl_ro_param(req, "verb", -1, verb); + gctl_ro_param(req, "flags", sizeof(int), &flags); + gctl_ro_param(req, "drives", sizeof(int), &drives); + gctl_ro_param(req, "name", -1, volname); + errstr = gctl_issue(req); + if (errstr != NULL) + warnx("creating %s volume failed: %s", verb, errstr); +bad: + gctl_free(req); +} + +/* Parse a line of the config, return the word after . */ +char * +find_pattern(char *line, char *pattern) +{ + char *ptr; + + ptr = strsep(&line, " "); + while (ptr != NULL) { + if (!strcmp(ptr, pattern)) { + /* Return the next. */ + ptr = strsep(&line, " "); + return (ptr); + } + ptr = strsep(&line, " "); + } + return (NULL); +} + +/* Find a free name for an object given a a prefix. */ +char * +find_name(const char *prefix, int type, int namelen) +{ + struct gctl_req *req; + char comment[1], buf[GV_CFG_LEN - 1], *name, *sname, *ptr; + const char *errstr; + int i, n, begin, len, conflict; + char line[1024]; + + comment[0] = '\0'; + + /* Find a name. Fetch out configuration first. */ + req = gctl_get_handle(); + gctl_ro_param(req, "class", -1, "VINUM"); + gctl_ro_param(req, "verb", -1, "getconfig"); + gctl_ro_param(req, "comment", -1, comment); + gctl_rw_param(req, "config", sizeof(buf), buf); + errstr = gctl_issue(req); + if (errstr != NULL) { + warnx("can't get configuration: %s", errstr); + return (NULL); + } + gctl_free(req); + + printf(buf); + begin = 0; + len = strlen(buf); + i = 0; + sname = malloc(namelen + 1); + + /* XXX: Max object setting? */ + for (n = 0; n < 10000; n++) { + snprintf(sname, namelen, "%s%d", prefix, n); + conflict = 0; + begin = 0; + /* Loop through the configuration line by line. */ + for (i = 0; i < len; i++) { + if (buf[i] == '\n' || buf[i] == '\0') { + ptr = buf + begin; + strlcpy(line, ptr, (i - begin) + 1); + begin = i + 1; + switch (type) { + case GV_TYPE_DRIVE: + name = find_pattern(line, "drive"); + break; + case GV_TYPE_VOL: + name = find_pattern(line, "volume"); + break; + case GV_TYPE_PLEX: + case GV_TYPE_SD: + name = find_pattern(line, "name"); + break; + default: + printf("Invalid type given\n"); + continue; + } + if (name == NULL) + continue; + if (!strcmp(sname, name)) { + conflict = 1; + /* XXX: Could quit the loop earlier. */ + } + } + } + if (!conflict) + return (sname); + } + free(sname); + return (NULL); +} + /* Detach a plex or subdisk from its parent. */ void gvinum_detach(int argc, char **argv) @@ -412,6 +649,8 @@ "attach plex volume [rename]\n" "attach subdisk plex [offset] [rename]\n" " Attach a plex to a volume, or a subdisk to a plex\n" + "concat [-fv] [-n name] drives\n" + " Create a concatenated volume from the specified drives.\n" "detach [-f] [plex | subdisk]\n" " Detach a plex or a subdisk from the volume or plex to\n" " which it is attached.\n" @@ -425,11 +664,15 @@ " List information about plexes.\n" "lv [-r] [-v] [-V] [volume]\n" " List information about volumes.\n" + "mirror [-fsv] [-n name] drives\n" + " Create a mirrored volume from the specified drives.\n" "move | mv -f drive object ...\n" " Move the object(s) to the specified drive.\n" "quit Exit the vinum program when running in interactive mode." " Nor-\n" " mally this would be done by entering the EOF character.\n" + "raid5 [-fv] [-s stripesize] [-n name] drives\n" + " Create a RAID-5 volume from the specified drives.\n" "rename [-r] [drive | subdisk | plex | volume] newname\n" " Change the name of the specified object.\n" "rebuildparity plex [-f]\n" @@ -447,6 +690,8 @@ " poses only.\n" "start [-S size] volume | plex | subdisk\n" " Allow the system to access the objects.\n" + "stripe [-fv] [-n name] drives\n" + " Create a striped volume from the specified drives.\n" ); return; @@ -572,6 +817,18 @@ return; } +/* Create a mirrored volume. */ +void +gvinum_mirror(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage\tmirror [-fsv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "mirror"); +} + /* Note that move is currently of form '[-r] target object [...]' */ void gvinum_move(int argc, char **argv) @@ -685,47 +942,21 @@ if (errstr) warnx("%s\n", errstr); gctl_free(req); -/* do { - rv = 0; - req = gctl_get_handle(); - gctl_ro_param(req, "class", -1, "VINUM"); - gctl_ro_param(req, "verb", -1, "parityop"); - gctl_ro_param(req, "flags", sizeof(int), &flags); - gctl_ro_param(req, "rebuild", sizeof(int), &rebuild); - gctl_rw_param(req, "rv", sizeof(int), &rv); - gctl_rw_param(req, "offset", sizeof(off_t), &offset); - gctl_ro_param(req, "plex", -1, argv[0]); - errstr = gctl_issue(req); - if (errstr) { - warnx("%s\n", errstr); - gctl_free(req); - break; - } - gctl_free(req); - if (flags & GV_FLAG_V) { - printf("\r%s at %s ... ", msg, - gv_roughlength(offset, 1)); - } - if (rv == 1) { - printf("Parity incorrect at offset 0x%jx\n", - (intmax_t)offset); - if (!rebuild) - break; - } - fflush(stdout); +} - Clear the -f flag. - flags &= ~GV_FLAG_F; - } while (rv >= 0);*/ +/* Create a RAID-5 volume. */ +void +gvinum_raid5(int argc, char **argv) +{ -/* if ((rv == 2) && (flags & GV_FLAG_V)) { - if (rebuild) - printf("Rebuilt parity on %s\n", argv[0]); - else - printf("%s has correct parity\n", argv[0]); - }*/ + if (argc < 2) { + warnx("usage:\traid5 [-fv] [-s stripesize] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "raid5"); } + void gvinum_rename(int argc, char **argv) { @@ -960,7 +1191,19 @@ exit(0); } +/* Create a striped volume. */ void +gvinum_stripe(int argc, char **argv) +{ + + if (argc < 2) { + warnx("usage:\tstripe [-fv] [-n name] drives\n"); + return; + } + create_volume(argc, argv, "stripe"); +} + +void parseline(int argc, char **argv) { if (argc <= 0) @@ -974,6 +1217,8 @@ gvinum_attach(argc, argv); else if (!strcmp(argv[0], "detach")) gvinum_detach(argc, argv); + else if (!strcmp(argv[0], "concat")) + gvinum_concat(argc, argv); else if (!strcmp(argv[0], "help")) gvinum_help(); else if (!strcmp(argv[0], "list") || !strcmp(argv[0], "l")) @@ -986,12 +1231,16 @@ gvinum_list(argc, argv); else if (!strcmp(argv[0], "lv")) gvinum_list(argc, argv); + else if (!strcmp(argv[0], "mirror")) + gvinum_mirror(argc, argv); else if (!strcmp(argv[0], "move")) gvinum_move(argc, argv); else if (!strcmp(argv[0], "mv")) gvinum_move(argc, argv); else if (!strcmp(argv[0], "printconfig")) gvinum_printconfig(argc, argv); + else if (!strcmp(argv[0], "raid5")) + gvinum_raid5(argc, argv); else if (!strcmp(argv[0], "rename")) gvinum_rename(argc, argv); else if (!strcmp(argv[0], "resetconfig")) @@ -1006,6 +1255,8 @@ gvinum_start(argc, argv); else if (!strcmp(argv[0], "stop")) gvinum_stop(argc, argv); + else if (!strcmp(argv[0], "stripe")) + gvinum_stripe(argc, argv); else if (!strcmp(argv[0], "checkparity")) gvinum_parityop(argc, argv, 0); else if (!strcmp(argv[0], "rebuildparity")) ==== //depot/projects/soc2007/lulf/gvinum_main/sys/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.42 2007/04/14 16:29:15 maxim Exp $ +# $FreeBSD: src/sys/Makefile,v 1.45 2007/07/12 21:04:55 rwatson Exp $ .include @@ -8,9 +8,9 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ +CSCOPEDIRS= bsm cam compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ - netgraph netinet netinet6 netipx netkey netnatm netncp \ + netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ufs vm ${ARCHDIR} @@ -24,12 +24,14 @@ HTAGSFLAGS+= -at `awk -F= '/^RELEASE *=/{release=$2}; END {print "FreeBSD", release, "kernel"}' < conf/newvers.sh` +# You need the devel/cscope port for this. cscope: ${.CURDIR}/cscopenamefile cd ${.CURDIR}; cscope -k -p4 -i cscopenamefile ${.CURDIR}/cscopenamefile: cd ${.CURDIR}; find ${CSCOPEDIRS} -name "*.[csh]" > ${.TARGET} +# You need the devel/global and one of editor/emacs* ports for that. TAGS ${.CURDIR}/TAGS: ${.CURDIR}/cscopenamefile rm -f ${.CURDIR}/TAGS cd ${.CURDIR}; xargs etags -a < ${.CURDIR}/cscopenamefile ==== //depot/projects/soc2007/lulf/gvinum_main/sys/conf/Makefile.arm#3 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.arm -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.arm,v 1.33 2007/05/16 17:23:53 wkoszek Exp $ +# $FreeBSD: src/sys/conf/Makefile.arm,v 1.34 2007/07/27 14:42:25 cognet Exp $ # # Makefile for FreeBSD # @@ -66,23 +66,27 @@ FILES_CPU_FUNC = $S/$M/$M/cpufunc_asm_arm7tdmi.S \ $S/$M/$M/cpufunc_asm_arm8.S $S/$M/$M/cpufunc_asm_arm9.S \ $S/$M/$M/cpufunc_asm_sa1.S $S/$M/$M/cpufunc_asm_arm10.S \ - $S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S + $S/$M/$M/cpufunc_asm_xscale.S $S/$M/$M/cpufunc_asm.S \ + $S/$M/$M/cpufunc_asm_xscale_c3.S trampoline: ${KERNEL_KO}.tramp ${KERNEL_KO}.tramp: ${KERNEL_KO} $S/$M/$M/inckern.S $S/$M/$M/elf_trampoline.c echo "#define KERNNAME \"${KERNEL_KO}.tmp\"" >opt_kernname.h sed s/${KERNVIRTADDR}/${KERNPHYSADDR}/ ldscript.$M > ldscript.$M.tramp sed s/" + SIZEOF_HEADERS"// ldscript.$M.tramp > \ ldscript.$M.tramp.noheader + echo "#include " >tmphack.S + echo "ENTRY(_start)" >>tmphack.S + echo "bl _startC" >>tmphack.S ${OBJCOPY} --strip-symbol '$$d' --strip-symbol '$$a' \ -g --strip-symbol '$$t' ${FULLKERNEL} ${KERNEL_KO}.tmp eval $$(stat -s ${KERNEL_KO}.tmp) && \ echo "#define KERNSIZE $$st_size" >>opt_kernname.h ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp \ - $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S ${FILES_CPU_FUNC} \ - -o ${KERNEL_KO}.tramp + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o \ - ${KERNEL_KO}.tramp.noheader + tmphack.S $S/$M/$M/elf_trampoline.c $S/$M/$M/inckern.S \ + ${FILES_CPU_FUNC} -o ${KERNEL_KO}.tramp.noheader ${OBJCOPY} -S -O binary ${KERNEL_KO}.tramp.noheader \ ${KERNEL_KO}.tramp.bin ${OBJCOPY} ${STRIP_FLAGS} ${KERNEL_KO}.tmp @@ -95,15 +99,15 @@ echo "#define KERNCOMPSIZE $$st_size" >>opt_kernname.h ${CC} -O2 -DKZIP -I. -c $S/kern/inflate.c -o inflate-tramp.o ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp \ - -DKZIP $S/$M/$M/elf_trampoline.c inflate-tramp.o $S/$M/$M/inckern.S \ - ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp + -DKZIP tmphack.S $S/$M/$M/elf_trampoline.c inflate-tramp.o \ + $S/$M/$M/inckern.S ${FILES_CPU_FUNC} -o ${KERNEL_KO}.gz.tramp ${CC} -O -nostdlib -I. -Xlinker -T -Xlinker ldscript.$M.tramp.noheader \ - -DKZIP $S/$M/$M/elf_trampoline.c inflate-tramp.o $S/$M/$M/inckern.S \ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:33:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2783116A41A; Fri, 3 Aug 2007 22:33:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F181616A418 for ; Fri, 3 Aug 2007 22:33:06 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F201113C459 for ; Fri, 3 Aug 2007 22:33:06 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73MX6WX083666 for ; Fri, 3 Aug 2007 22:33:06 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73MX6Jl083663 for perforce@freebsd.org; Fri, 3 Aug 2007 22:33:06 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 3 Aug 2007 22:33:06 GMT Message-Id: <200708032233.l73MX6Jl083663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124618 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:33:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=124618 Change 124618 by lulf@lulf_carrot on 2007/08/03 22:33:02 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_cache/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/Makefile.inc1#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/Makefile.inc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/gvinum/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/gvinum/gvinum.8#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/gvinum/gvinum.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sbin/gvinum/gvinum.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.amd64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.arm#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.i386#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.ia64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.pc98#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.powerpc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.sparc64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/Makefile.sun4v#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/NOTES#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/defines#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.amd64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.arm#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.i386#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.ia64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.pc98#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.powerpc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.sparc64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/files.sun4v#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/kern.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/kern.post.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/kern.pre.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/kmod.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/kmod_syms.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.amd64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.arm#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.i386#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.ia64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.powerpc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/ldscript.sparc64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/makeLINT.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/makeLINT.sed#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/newvers.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.amd64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.arm#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.i386#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.ia64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.pc98#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.powerpc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.sparc64#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/options.sun4v#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/conf/systags.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/bde/g_bde.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/bde/g_bde.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/bde/g_bde_crypt.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/bde/g_bde_lock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/bde/g_bde_work.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/cache/g_cache.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/cache/g_cache.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/concat/g_concat.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/concat/g_concat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli_crypto.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli_ctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli_integrity.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli_key.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/g_eli_privacy.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/pkcs5v2.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/eli/pkcs5v2.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/gate/g_gate.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/gate/g_gate.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_aes.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_bsd.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_bsd_enc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_ccd.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_ctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_ctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_dev.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_disk.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_disk.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_dump.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_event.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_fox.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_int.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_io.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_kern.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_mbr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_mbr_enc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_pc98.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_pc98_enc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_slice.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_slice.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_subr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_sunlabel.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_sunlabel_enc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_vfs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_vfs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/geom_vol_ffs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/journal/g_journal.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/journal/g_journal.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/journal/g_journal_ufs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_ext2fs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_iso9660.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_msdosfs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_msdosfs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_ntfs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_reiserfs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/label/g_label_ufs.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/mirror/g_mirror.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/mirror/g_mirror.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/mirror/g_mirror_ctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/multipath/g_multipath.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/multipath/g_multipath.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/nop/g_nop.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/nop/g_nop.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/notes#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part_apm.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part_gpt.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/part/g_part_mbr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/raid3/g_raid3.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/raid3/g_raid3.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/raid3/g_raid3_ctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/shsec/g_shsec.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/shsec/g_shsec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/stripe/g_stripe.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/stripe/g_stripe.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/uzip/g_uzip.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_create.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_drive.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_events.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_init.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_list.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_move.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_plex.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_raid5.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_raid5.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_rename.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_rm.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_share.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_share.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_state.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_subr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_var.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/vinum/geom_vinum_volume.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/geom/zero/g_zero.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/OsdEnvironment.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/acpi_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/acpi_wakecode.S#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/acpi_wakeup.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/genwakecode.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/acpica/madt.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/apm.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/apm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/mca_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/mca_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/smapi.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/smapi_bios.S#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/smbios.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/bios/vpd.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/compile/.cvsignore#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/.cvsignore#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/DEFAULTS#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/GENERIC#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/GENERIC.hints#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/MAC#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/NOTES#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/PAE#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/conf/XBOX#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/cpufreq/est.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/cpufreq/p4tcc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/cpufreq/powernow.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/cpufreq/smist.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/apic_vector.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/atomic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/autoconf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/bios.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/bioscall.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/bpf_jit_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/bpf_jit_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/busdma_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/db_disasm.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/db_interface.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/db_trace.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/dump_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/elan-mmcr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/elf_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/exception.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/gdb_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/genassym.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/geode.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/i686_mem.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/identcpu.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/in_cksum.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/initcpu.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/intr_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/io.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/io_apic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/k6_mem.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/legacy.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/local_apic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/locore.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/longrun.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mem.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/minidump_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mp_clock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mp_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mp_watchdog.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mpboot.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mptable.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/mptable_pci.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/msi.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/nexus.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/perfmon.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/pmap.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/ptrace_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/support.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/swtch.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/symbols.raw#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/sys_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/trap.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/tsc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/uio_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/vm86.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/vm86bios.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/i386/vm_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/coff.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_dirent.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_errno.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_errno.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_fcntl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_fcntl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_ioctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_ioctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_ipc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_ipc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_isc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_isc_syscall.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_isc_sysent.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_misc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_mount.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_msg.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_other.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_proto.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_signal.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_signal.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_socksys.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_socksys.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_stat.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_stat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_statfs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_stropts.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_syscall.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_sysent.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_sysi86.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_sysvec.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_termios.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_time.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_types.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_unistd.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_ustat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_util.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_util.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_utime.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_utsname.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_xenix.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_xenix.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_xenix_syscall.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/ibcs2_xenix_sysent.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/imgact_coff.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.conf#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.isc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.isc.conf#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.master#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.xenix#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/ibcs2/syscalls.xenix.conf#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/_bus.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/_inttypes.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/_limits.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/_stdint.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/_types.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/acpica_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/apicreg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/apicvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/apm_bios.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/apm_segments.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/asm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/asmacros.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/atomic.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/bootinfo.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/bus.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/bus_dma.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/clock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/cpu.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/cpufunc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/cputypes.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/cserial.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/db_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/elan_mmcr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/elf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/endian.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/exec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/float.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/floatingpoint.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/frame.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/gdb_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ieeefp.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/if_wl_wavelan.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/in_cksum.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/intr_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ioctl_bt848.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ioctl_meteor.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/iodev.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/kdb.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/legacyvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/limits.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/md_var.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/memdev.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/metadata.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/minidump.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/mp_watchdog.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/mptable.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/mutex.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/npx.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/param.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pc/bios.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pc/display.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pc/vesa.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pcaudioio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pcb.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pcb_ext.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pci_cfgreg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pcpu.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pecoff_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/perfmon.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pmap.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/pmc_mdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ppireg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/privatespace.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/proc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/profile.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/psl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ptrace.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/reg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/reloc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/resource.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/runq.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/segments.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/setjmp.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/sf_buf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/sigframe.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/signal.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/smapi.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/smp.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/speaker.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/specialreg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/stdarg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/sysarch.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/timerreg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/trap.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/tss.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/ucontext.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/varargs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/vm86.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/vmparam.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/include/xbox.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/atpic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/atpic_vector.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/ccbque.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/clock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/elcr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/elink.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/elink.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/icu.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/isa.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/isa.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/isa_dma.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/nmi.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/npx.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/pmtimer.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/prof_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/spic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/spicreg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/isa/vesa.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/imgact_linux.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_dummy.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_genassym.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_ipc64.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_locore.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_proto.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_ptrace.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_support.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_syscall.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_sysent.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/linux_sysvec.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/syscalls.conf#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/linux/syscalls.master#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/pci/pci_bus.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/pci/pci_cfgreg.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/pci/pci_pir.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/svr4/svr4_genassym.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/svr4/svr4_locore.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/svr4/svr4_machdep.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/svr4/svr4_machdep.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/xbox/pic16l.s#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/xbox/xbox.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/i386/xbox/xboxfb.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/Make.tags.inc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/bus_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/clock_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/cpufreq_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/device_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/genassym.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_aout.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_elf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_elf32.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_elf64.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_gzip.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/imgact_shell.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/inflate.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/init_main.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/init_sysent.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_acct.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_alq.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_clock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_condvar.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_conf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_context.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_cpu.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_descrip.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_environment.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_event.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_exec.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_exit.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_fork.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_idle.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_intr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_jail.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_kse.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_kthread.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_ktr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_ktrace.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_linker.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_lock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_lockf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_malloc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_mbuf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_mib.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_module.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_mtxpool.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_mutex.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_ntptime.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_physio.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_pmc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_poll.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_priv.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_proc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_prot.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_resource.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_rwlock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_sema.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_shutdown.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_sig.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_subr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_switch.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_sx.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_synch.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_syscalls.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_sysctl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_tc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_thr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_thread.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_time.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_timeout.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_umtx.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_uuid.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/kern_xxx.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/ksched.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/link_elf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/link_elf_obj.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/linker_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/makesyscalls.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/md4c.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/md5c.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/p1003_1b.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/posix4_mib.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sched_4bsd.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sched_ule.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/serdev_if.m#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_acl_posix1e.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_autoconf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_blist.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_bus.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_clock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_devstat.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_disk.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_eventhandler.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_fattime.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_firmware.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_hints.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_kdb.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_kobj.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_lock.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_log.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_mbpool.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_mchain.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_module.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_msgbuf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_param.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_pcpu.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_power.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_prf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_prof.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_rman.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_rtc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_sbuf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_scanf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_sleepqueue.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_smp.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_stack.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_taskqueue.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_trap.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_turnstile.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_unit.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/subr_witness.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sys_generic.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sys_pipe.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sys_process.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sys_socket.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/syscalls.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/syscalls.master#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/systrace_args.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sysv_ipc.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sysv_msg.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sysv_sem.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/sysv_shm.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_compat.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_conf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_cons.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_pts.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_pty.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_subr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/tty_tty.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_accf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_cow.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_debug.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_domain.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_mbuf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_mbuf2.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_mqueue.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_sem.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_sockbuf.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_socket.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_syscalls.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/uipc_usrreq.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_acl.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_aio.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_bio.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_cache.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_cluster.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_default.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_export.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_extattr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_hash.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_init.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_lookup.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_mount.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_subr.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_syscalls.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vfs_vnops.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/kern/vnode_if.src#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/modules/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/modules/Makefile.inc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/modules/geom/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/modules/geom/Makefile.inc#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/modules/geom/geom_vinum/Makefile#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_bus_dma.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_elf_solaris.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_iovec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_lock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_mutex.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_null.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_pthreadtypes.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_rwlock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_semaphore.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_sigset.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_sx.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_task.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_timespec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_timeval.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/_types.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/aac_ioctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/acct.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/acl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/agpio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/aio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/alq.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/apm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/assym.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ata.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/bio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/bitstring.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/blist.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/buf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/bufobj.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/bus.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/bus_dma.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/callout.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/cdefs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/cdio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/cdrio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/chio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/clist.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/clock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/condvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/conf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/cons.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/consio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/copyright.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/cpu.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ctype.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/dataacq.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/device_port.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/devicestat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/digiio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/dir.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/dirent.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/disk.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/disklabel.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/diskmbr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/diskpc98.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/dkstat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/domain.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/dvdio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/elf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/elf32.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/elf64.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/elf_common.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/elf_generic.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/endian.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/errno.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/eui64.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/event.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/eventhandler.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/eventvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/exec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/extattr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/fbio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/fcntl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/fdcio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/file.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/filedesc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/filio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/firmware.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/fnv_hash.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/gmon.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/gpt.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/hash.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/iconv.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/imgact.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/imgact_aout.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/imgact_elf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/inflate.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/interrupt.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ioccom.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ioctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ioctl_compat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ipc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ipmi.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/jail.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/joystick.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kbio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kdb.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kenv.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kernel.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kerneldump.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kobj.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kse.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ksem.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/kthread.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ktr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ktrace.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/libkern.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/limits.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/linedisc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/link_aout.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/link_elf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/linker.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/linker_set.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/lock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/lock_profile.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/lockf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/lockmgr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mac.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/malloc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mbpool.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mbuf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mchain.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/md4.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/md5.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mdioctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/memrange.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mman.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/module.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mount.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mouse.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mqueue.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/msg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/msgbuf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mtio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/mutex.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/namei.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/nlist_aout.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/param.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pciio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pcpu.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pioctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pipe.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pmc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pmckern.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/pmclog.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/poll.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/posix4.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/power.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/priority.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/priv.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/proc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/procfs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/protosw.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ptio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ptrace.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/queue.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/random.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/reboot.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/refcount.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/regression.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/resource.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/resourcevar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/rman.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/rtprio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/runq.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/rwlock.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sbuf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sched.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/select.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/selinfo.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sem.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sema.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/semaphore.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/serial.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sf_buf.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/shm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sigio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/signal.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/signalvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sleepqueue.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/smp.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/snoop.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/socket.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/socketvar.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sockio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/soundcard.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/stack.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/stat.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/statvfs.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/stddef.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/stdint.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sun_disklabel.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sx.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/syscall.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/syscall.mk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/syscallsubr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sysctl.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sysent.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/syslimits.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/syslog.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/sysproto.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/systm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/taskqueue.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/termios.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/thr.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/tiio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/time.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timeb.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timepps.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timers.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/times.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timespec.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timetc.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/timex.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/tree.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/tty.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ttychars.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ttycom.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ttydefaults.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ttydev.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/turnstile.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/types.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ucontext.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/ucred.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/uio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/umtx.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/un.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/unistd.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/unpcb.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/user.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/utsname.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/uuid.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/vmmeter.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/vnode.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/wait.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/watchdog.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/sys/xrpuio.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/acpi_quirks2h.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/bus_macro.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/emu10k1-mkalsa.sh#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/fw_stub.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/makeobjops.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/miidevs2h.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/pccarddevs2h.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/usbdevs2h.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/tools/vnode_if.awk#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/default_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/device_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/memguard.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/memguard.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/phys_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/pmap.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/redzone.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/redzone.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/swap_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/swap_pager.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/uma.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/uma_core.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/uma_dbg.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/uma_dbg.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/uma_int.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_contig.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_extern.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_fault.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_glue.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_init.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_kern.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_kern.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_map.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_map.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_meter.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_mmap.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_object.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_object.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_page.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_page.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_pageout.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_pageout.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_pageq.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_pager.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_param.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_phys.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_phys.h#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_unix.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vm_zeroidle.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vnode_pager.c#1 branch .. //depot/projects/soc2007/lulf/gvinum_cache/sys/vm/vnode_pager.h#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Fri Aug 3 22:42:19 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2E1F16A41A; Fri, 3 Aug 2007 22:42:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A951F16A418 for ; Fri, 3 Aug 2007 22:42:18 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9489213C442 for ; Fri, 3 Aug 2007 22:42:18 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73MgIfo084183 for ; Fri, 3 Aug 2007 22:42:18 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73MgIxl084180 for perforce@freebsd.org; Fri, 3 Aug 2007 22:42:18 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 22:42:18 GMT Message-Id: <200708032242.l73MgIxl084180@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124619 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 22:42:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=124619 Change 124619 by zec@zec_tpx32 on 2007/08/03 22:42:08 Unbreak nooptions VIMAGE build. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_ether.c#9 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_ether.c#9 (text+ko) ==== @@ -823,8 +823,10 @@ * is MOD_UNLOAD, so there's no need to detach any nodes. */ +#ifdef VIMAGE if (!IS_VNET_0(curvnet)) return(0); +#endif /* Unregister function hooks */ ng_ether_attach_p = NULL; From owner-p4-projects@FreeBSD.ORG Fri Aug 3 23:20:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A7DEE16A41B; Fri, 3 Aug 2007 23:20:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7C86B16A41A for ; Fri, 3 Aug 2007 23:20:06 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 748A713C442 for ; Fri, 3 Aug 2007 23:20:06 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l73NK6uT087445 for ; Fri, 3 Aug 2007 23:20:06 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l73NK6Zn087436 for perforce@freebsd.org; Fri, 3 Aug 2007 23:20:06 GMT (envelope-from zec@FreeBSD.org) Date: Fri, 3 Aug 2007 23:20:06 GMT Message-Id: <200708032320.l73NK6Zn087436@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124622 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Aug 2007 23:20:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=124622 Change 124622 by zec@zec_tpx32 on 2007/08/03 23:20:03 Maintain an independent instance of netgraph-ID to ng_node hashmap for each vnet. This completely prevents one vnet from (accidentaly) messing with other negraph address spaces (i.e. other vnets). Node IDs are now also assigned on per-vnet basis, so it's now possible for two ng_nodes with equal IDs to exist in two different vnets. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#18 edit .. //depot/projects/vimage/src/sys/netgraph/vnetgraph.h#5 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#18 (text+ko) ==== @@ -84,12 +84,10 @@ #ifdef NETGRAPH_DEBUG static struct mtx ngq_mtx; /* protects the queue item list */ -#ifndef VIMAGE static SLIST_HEAD(, ng_node) ng_allnodes; static LIST_HEAD(, ng_node) ng_freenodes; /* in debug, we never free() them */ static SLIST_HEAD(, ng_hook) ng_allhooks; static LIST_HEAD(, ng_hook) ng_freehooks; /* in debug, we never free() them */ -#endif static void ng_dumpitems(void); static void ng_dumpnodes(void); @@ -175,15 +173,16 @@ /* Hash related definitions */ /* XXX Don't need to initialise them because it's a LIST */ -#define NG_ID_HASH_SIZE 32 /* most systems wont need even this many */ +#ifndef VIMAGE static LIST_HEAD(, ng_node) ng_ID_hash[NG_ID_HASH_SIZE]; +#endif static struct mtx ng_idhash_mtx; /* Method to find a node.. used twice so do it here */ #define NG_IDHASH_FN(ID) ((ID) % (NG_ID_HASH_SIZE)) #define NG_IDHASH_FIND(ID, node) \ do { \ mtx_assert(&ng_idhash_mtx, MA_OWNED); \ - LIST_FOREACH(node, &ng_ID_hash[NG_IDHASH_FN(ID)], \ + LIST_FOREACH(node, &V_ng_ID_hash[NG_IDHASH_FN(ID)], \ nd_idnodes) { \ if (NG_NODE_IS_VALID(node) \ && (NG_NODE_ID(node) == ID)) { \ @@ -354,7 +353,9 @@ #define TRAP_ERROR() #endif -static ng_ID_t nextID = 1; +#ifndef VIMAGE +static ng_ID_t nextID; +#endif #ifdef INVARIANTS #define CHECK_DATA_MBUF(m) do { \ @@ -577,7 +578,8 @@ return (EINVAL); } - /* Locate the node type. If we fail we return. Do not try to load + /* + * Locate the node type. If we fail we return. Do not try to load * module. */ if ((type = ng_findtype(typename)) == NULL) @@ -653,7 +655,7 @@ mtx_lock(&ng_idhash_mtx); for (;;) { /* wrap protection, even if silly */ node_p node2 = NULL; - node->nd_ID = nextID++; /* 137/second for 1 year before wrap */ + node->nd_ID = V_nextID++; /* 137/sec for 1 year before wrap */ /* Is there a problem with the new number? */ NG_IDHASH_FIND(node->nd_ID, node2); /* already taken? */ @@ -661,7 +663,7 @@ break; } } - LIST_INSERT_HEAD(&ng_ID_hash[NG_IDHASH_FN(node->nd_ID)], + LIST_INSERT_HEAD(&V_ng_ID_hash[NG_IDHASH_FN(node->nd_ID)], node, nd_idnodes); mtx_unlock(&ng_idhash_mtx); @@ -802,6 +804,7 @@ static node_p ng_ID2noderef(ng_ID_t ID) { + INIT_VNET_NETGRAPH(curvnet); node_p node; mtx_lock(&ng_idhash_mtx); NG_IDHASH_FIND(ID, node); @@ -3211,6 +3214,7 @@ INIT_VNET_NETGRAPH(curvnet); LIST_INIT(&V_ng_nodelist); + V_nextID = 1; return 0; } ==== //depot/projects/vimage/src/sys/netgraph/vnetgraph.h#5 (text+ko) ==== @@ -33,7 +33,7 @@ #ifndef _NETGRAPH_VNETGRPAH_H_ #define _NETGRAPH_VNETGRAPH_H_ -#include +#include #define INIT_VNET_NETGRAPH(vnet) \ INIT_FROM_VNET(vnet, VNET_MOD_NETGRAPH, \ @@ -41,19 +41,22 @@ #define VNET_NETGRAPH(sym) VSYM(vnet_netgraph, sym) +#define NG_ID_HASH_SIZE 32 /* most systems wont need even this many */ #ifdef VIMAGE struct vnet_netgraph { + LIST_HEAD(, ng_node) _ng_ID_hash[NG_ID_HASH_SIZE]; LIST_HEAD(, ng_node) _ng_nodelist; - + ng_ID_t _nextID; struct unrhdr *_ng_iface_unit; struct unrhdr *_ng_eiface_unit; }; #endif - /* Symbol translation macros */ +#define V_ng_ID_hash VNET_NETGRAPH(ng_ID_hash) #define V_ng_nodelist VNET_NETGRAPH(ng_nodelist) +#define V_nextID VNET_NETGRAPH(nextID) #define V_ng_iface_unit VNET_NETGRAPH(ng_iface_unit) #define V_ng_eiface_unit VNET_NETGRAPH(ng_eiface_unit) From owner-p4-projects@FreeBSD.ORG Sat Aug 4 00:07:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A12916A41B; Sat, 4 Aug 2007 00:07:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F46316A41A for ; Sat, 4 Aug 2007 00:07:06 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4533613C45B for ; Sat, 4 Aug 2007 00:07:06 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l740768K092176 for ; Sat, 4 Aug 2007 00:07:06 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74076sI092173 for perforce@freebsd.org; Sat, 4 Aug 2007 00:07:06 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 4 Aug 2007 00:07:06 GMT Message-Id: <200708040007.l74076sI092173@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124626 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 00:07:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=124626 Change 124626 by zec@zec_tpx32 on 2007/08/04 00:06:42 Reduce console verbosity of vnet module registration and instatiation by disabling DEBUG_ORDERING for now. Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#32 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#32 (text+ko) ==== @@ -73,8 +73,6 @@ static int vnet_mod_constructor(struct vnet_modlink *); static int vnet_mod_destructor(struct vnet_modlink *); -#define DEBUG_ORDERING - #ifdef VI_PREALLOC_SIZE /* * A private memory allocator can be enabled by setting VI_PREALLOC_SIZE @@ -225,7 +223,8 @@ if (vml->vml_modinfo == vmi && vml->vml_iarg == iarg) break; if (vml == NULL) - panic("cannot deregister unregistered vnet module"); + panic("cannot deregister unregistered vnet module %s", + vmi->vmi_name); VNET_ITERLOOP_BEGIN_QUIET(); vnet_mod_destructor(vml); From owner-p4-projects@FreeBSD.ORG Sat Aug 4 06:02:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7F8F316A421; Sat, 4 Aug 2007 06:02:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 03F7416A41F for ; Sat, 4 Aug 2007 06:02:35 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0DE9A13C491 for ; Sat, 4 Aug 2007 06:02:35 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l7462YuK042471 for ; Sat, 4 Aug 2007 06:02:34 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l7462YgT042468 for perforce@freebsd.org; Sat, 4 Aug 2007 06:02:34 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Sat, 4 Aug 2007 06:02:34 GMT Message-Id: <200708040602.l7462YgT042468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124642 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 06:02:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=124642 Change 124642 by zhouzhouyi@zhouzhouyi_mactest on 2007/08/04 06:02:07 enabling revoke in vnode write check Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/symlink/00.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/symlink/00.t#2 (text+ko) ==== @@ -37,6 +37,8 @@ ############################################################# t=`sysctl security.mac.mls.enabled=1` echo "enforcing mac/mls!" + t=`sysctl security.mac.mls.revocation_enabled=1` + echo "enabling revoking" #case 1: mkdir mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n3} 0755 From owner-p4-projects@FreeBSD.ORG Sat Aug 4 13:25:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2600916A41B; Sat, 4 Aug 2007 13:25:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D662D16A418 for ; Sat, 4 Aug 2007 13:25:00 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DBEB013C457 for ; Sat, 4 Aug 2007 13:25:00 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74DP0OQ008536 for ; Sat, 4 Aug 2007 13:25:00 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74DP0Oe008533 for perforce@freebsd.org; Sat, 4 Aug 2007 13:25:00 GMT (envelope-from anchie@FreeBSD.org) Date: Sat, 4 Aug 2007 13:25:00 GMT Message-Id: <200708041325.l74DP0Oe008533@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124668 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 13:25:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=124668 Change 124668 by anchie@anchie_malimis on 2007/08/04 13:24:50 Cleaning of security policy database, security association database, register list, acquiring list and security policy acquiring list triggered by the vimage deletion. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/key.c#13 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/key.c#13 (text+ko) ==== @@ -2354,6 +2354,7 @@ struct mbuf *m; const struct sadb_msghdr *mhp; { + printf("\n---> key_spdflush()..\n"); INIT_VNET_IPSEC(curvnet); struct sadb_msg *newmsg; struct secpolicy *sp; @@ -7238,9 +7239,67 @@ #ifdef VIMAGE void key_destroy(void) { - /* - * Flush: spdtree, sahtree, regtree, acqtree, sacqtree - */ + INIT_VNET_IPSEC(curvnet); + struct secpolicy *sp, *nextsp; + struct secspacq *acq, *nextacq; + struct secashead *sah, *nextsah; + struct secreg *reg; + int i; + + SPTREE_LOCK(); + for (i = 0; i < IPSEC_DIR_MAX; i++) { + for (sp = LIST_FIRST(&V_sptree[i]); + sp != NULL; sp = nextsp) { + nextsp = LIST_NEXT(sp, chain); + if (__LIST_CHAINED(sp)) { + LIST_REMOVE(sp, chain); + free(sp, M_IPSEC_SP); + } + } + } + SPTREE_UNLOCK(); + + SAHTREE_LOCK(); + for (sah = LIST_FIRST(&V_sahtree); sah != NULL; sah = nextsah) { + nextsah = LIST_NEXT(sah, chain); + if (__LIST_CHAINED(sah)) { + LIST_REMOVE(sah, chain); + free(sah, M_IPSEC_SAH); + } + } + SAHTREE_UNLOCK(); + + REGTREE_LOCK(); + for (i = 0; i <= SADB_SATYPE_MAX; i++) { + LIST_FOREACH(reg, &V_regtree[i], chain) { + if (__LIST_CHAINED(reg)) { + LIST_REMOVE(reg, chain); + free(reg, M_IPSEC_SAR); + break; + } + } + } + REGTREE_UNLOCK(); + + ACQ_LOCK(); + for (acq = LIST_FIRST(&V_spacqtree); acq != NULL; acq = nextacq) { + nextacq = LIST_NEXT(acq, chain); + if (__LIST_CHAINED(acq)) { + LIST_REMOVE(acq, chain); + free(acq, M_IPSEC_SAQ); + } + } + ACQ_UNLOCK(); + + SPACQ_LOCK(); + for (acq = LIST_FIRST(&V_spacqtree); acq != NULL; acq = nextacq) { + nextacq = LIST_NEXT(acq, chain); + if (__LIST_CHAINED(acq)) { + LIST_REMOVE(acq, chain); + free(acq, M_IPSEC_SAQ); + } + } + SPACQ_UNLOCK(); } #endif From owner-p4-projects@FreeBSD.ORG Sat Aug 4 15:11:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8400216A41B; Sat, 4 Aug 2007 15:11:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DDE516A419 for ; Sat, 4 Aug 2007 15:11:18 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D89413C458 for ; Sat, 4 Aug 2007 15:11:18 +0000 (UTC) (envelope-from bz@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74FBHRv020270 for ; Sat, 4 Aug 2007 15:11:17 GMT (envelope-from bz@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74F8sqh020031 for perforce@freebsd.org; Sat, 4 Aug 2007 15:08:54 GMT (envelope-from bz@freebsd.org) Date: Sat, 4 Aug 2007 15:08:54 GMT Message-Id: <200708041508.l74F8sqh020031@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bz@freebsd.org using -f From: "Bjoern A. Zeeb" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124672 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 15:11:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=124672 Change 124672 by bz@bz_dopt_ah on 2007/08/04 15:07:08 IFC @124670 Affected files ... .. //depot/projects/fast_ipsec/src/lib/libipsec/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/ipsec_dump_policy.c#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/ipsec_get_policylen.c#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/ipsec_set_policy.3#4 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/ipsec_strerror.3#3 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/ipsec_strerror.c#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/pfkey.c#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/pfkey_dump.c#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/policy_parse.y#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/policy_token.l#2 integrate .. //depot/projects/fast_ipsec/src/lib/libipsec/test-policy.c#2 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/parse.y#2 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/setkey.8#5 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/setkey.c#2 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/test-pfkey.c#2 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/test-policy.c#2 integrate .. //depot/projects/fast_ipsec/src/sbin/setkey/token.l#2 integrate .. //depot/projects/fast_ipsec/src/sys/Makefile#8 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/acpica/madt.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/apic_vector.S#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/busdma_machdep.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/cpu_switch.S#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/elf_machdep.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/exception.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/genassym.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/identcpu.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/intr_machdep.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/io_apic.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/legacy.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/local_apic.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/machdep.c#12 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/mp_machdep.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/mptable.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/mptable_pci.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/msi.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/nexus.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/pmap.c#16 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/prof_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/support.S#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/trap.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/tsc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/uma_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/amd64/vm_machdep.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/conf/DEFAULTS#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/conf/GENERIC#10 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/conf/NOTES#13 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/ia32/ia32_exception.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/ia32/ia32_syscall.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/acpica_machdep.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/apicvar.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/atomic.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/clock.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/gdb_machdep.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/intr_machdep.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/kdb.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/md_var.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/pcb.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/pcpu.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/segments.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/setjmp.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/smp.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/specialreg.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/include/vmparam.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/isa/atpic.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/isa/atpic_vector.S#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/isa/icu.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/isa/isa.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_dummy.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_locore.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_machdep.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_proto.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_support.s#1 branch .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_syscall.h#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_sysent.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/linux32_sysvec.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/linux32/syscalls.master#7 integrate .. //depot/projects/fast_ipsec/src/sys/amd64/pci/pci_bus.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/busdma_machdep.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/cpufunc.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/cpufunc_asm_arm9.S#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/arm/db_interface.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/elf_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/elf_trampoline.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/genassym.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/identcpu.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/intr.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/locore.S#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/machdep.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/mem.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/nexus.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/pmap.c#13 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/support.S#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/trap.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/undefined.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/arm/vm_machdep.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_mci.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_pio.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_pioreg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_pmc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_rtc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_spi.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_spireg.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_ssc.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_st.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_twi.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91_twireg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/at91rm92reg.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/files.at91#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/if_ate.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/kb920x_machdep.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/ohci_atmelarm.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/uart_cpu_at91rm9200usart.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/at91/uart_dev_at91usart.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/AVILA#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/AVILA.hints#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/conf/BWCT#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/conf/BWCT.hints#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/conf/CRB#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/conf/EP80219#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/IQ31244#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/KB920X#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/conf/KB920X.hints#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/conf/SIMICS#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/armreg.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/asm.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/atomic.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/bootconfig.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/bus_dma.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/cpufunc.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/intr.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/kdb.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/md_var.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/pcpu.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/pmap.h#10 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/profile.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/pte.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/undefined.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/include/vmparam.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/sa11x0/sa11x0.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/sa11x0/sa11x0_ost.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/sa11x0/uart_cpu_sa1110.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/arm/sa11x0/uart_dev_sa1110.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/ep80219_machdep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_pci.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_timer.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321_wdog.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/i80321var.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/iq80321.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/obio.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i80321/uart_cpu_i80321.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/avila_ata.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/avila_machdep.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/if_npe.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_mem.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_npe.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_npevar.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_pci.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_qmgr.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_timer.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425_wdog.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425reg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/ixp425var.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/uart_bus_ixp425.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/Makefile.inc#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot0spi/main.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot2/board.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/boot2/kb920x_board.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/bootspi/loader_prompt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/Makefile#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/arm_init.S#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/eeprom.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/emac_init.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/getc.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/lib.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/memcmp.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/sd-card.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/spi_flash.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/arm/at91/libat91/strlen.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/bootstrap.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/loader.8#6 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/pnp.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/common/pnpdata#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/ficl/ficl.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/float.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/softwords/fileaccess.fr#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/softwords/jhlocal.fr#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/softwords/oo.fr#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/softwords/prefix.fr#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/softwords/softcore.awk#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/tools.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/unix.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/vm.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ficl/words.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/forth/loader.conf#7 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/boot0/boot0.S#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/boot2/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/cdboot/cdboot.s#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/Makefile#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/dconsole.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/firewire.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/fwohci.c#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/fwohci.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libfirewire/fwohcireg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/biosacpi.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/libi386/smbios.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/loader/Makefile#5 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/loader/conf.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/i386/loader/main.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ia64/common/exec.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ia64/ski/acpi_stub.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/common/main.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/Makefile#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/ofw_console.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/ofw_net.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/openfirm.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/openfirm.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/ofw/libofw/openfirm_mmu.c#2 delete .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/Makefile#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/boot.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/boot0.5.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/disk.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/ldscript#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/putssjis.s#1 branch .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/selector.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot0.5/start.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/boot2/boot.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/fast_ipsec/src/sys/boot/sparc64/loader/main.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_kevents.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/bsm/audit_record.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/cam/README.quirks#1 branch .. //depot/projects/fast_ipsec/src/sys/cam/cam.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_ccb.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_periph.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_periph.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_sim.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_sim.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_xpt.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_xpt_periph.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/cam_xpt_sim.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_all.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_cd.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_ch.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_da.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_low.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_pass.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_pt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_sa.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_ses.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_sg.c#1 branch .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_sg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_targ_bh.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/cam/scsi/scsi_target.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/coda/00READ#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/README#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/TODO#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/cnode.h#3 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda.h#3 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_fbsd.c#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_io.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_kernel.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_namecache.c#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_namecache.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_opstats.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_pioctl.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_psdev.c#3 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_psdev.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_subr.c#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_subr.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_venus.c#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_venus.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_vfsops.c#4 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_vfsops.h#2 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_vnops.c#4 delete .. //depot/projects/fast_ipsec/src/sys/coda/coda_vnops.h#3 delete .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_misc.c#12 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_proto.h#11 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscall.h#11 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_syscalls.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/freebsd32_sysent.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/compat/freebsd32/syscalls.master#11 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ia32/ia32_sysvec.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linprocfs/linprocfs.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linsysfs/linsysfs.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_emul.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_emul.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_file.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_ioctl.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_ioctl.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_ipc.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_ipc.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_mib.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_mib.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_misc.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_misc.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_signal.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_socket.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_stats.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_time.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_uid16.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_util.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/linux/linux_util.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/kern_ndis.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/kern_windrv.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/ndis_var.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/subr_ndis.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/subr_ntoskrnl.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/compat/ndis/subr_pe.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_atomic.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_kmem.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_kobj.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_kstat.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_misc.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_policy.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_string.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_vfs.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/kern/opensolaris_zone.c#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/machine/endian.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/rpc/xdr.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/acl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/atomic.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/byteorder.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/callb.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/cmn_err.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/cred.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/debug.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/dirent.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/dkio.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/dnlc.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/kcondvar.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/kmem.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/kobj.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/kstat.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/lock.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/misc.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/mntent.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/mnttab.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/mount.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/mutex.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/policy.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/proc.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/random.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/rwlock.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/sdt.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/string.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/sunddi.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/sysmacros.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/systm.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/taskq.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/taskq_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/time.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/types.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/uio.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/varargs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/vfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/vnode.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/opensolaris/sys/zone.h#1 branch .. //depot/projects/fast_ipsec/src/sys/compat/pecoff/imgact_pecoff.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_fcntl.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_filio.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/compat/svr4/svr4_misc.c#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.amd64#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.arm#12 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.i386#4 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.ia64#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.pc98#4 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.powerpc#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.sparc64#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/Makefile.sun4v#2 integrate .. //depot/projects/fast_ipsec/src/sys/conf/NOTES#14 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files#19 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.amd64#10 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.arm#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.i386#11 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.ia64#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.pc98#10 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.powerpc#9 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.sparc64#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/files.sun4v#2 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kern.mk#6 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kern.post.mk#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kern.pre.mk#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/kmod.mk#11 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options#17 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.amd64#7 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.arm#9 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.i386#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.ia64#3 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.pc98#8 integrate .. //depot/projects/fast_ipsec/src/sys/conf/options.sun4v#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/altq/altq/altq_cbq.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/altq/altq/altq_hfsc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/altq/altq/altq_priq.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/altq/altq/altq_red.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/altq/altq/altq_subr.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/CHANGES.txt#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acapps.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acconfig.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acdebug.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acdisasm.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acdispat.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acefi.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acenv.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acevents.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acexcep.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acfreebsd.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acgcc.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acglobal.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/achware.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acinterp.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/aclocal.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acmacros.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acnames.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acnamesp.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acobject.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acopcode.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acoutput.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acparser.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acpi.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acpica_prep.sh#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acpiosxf.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acpixf.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acresrc.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acstruct.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/actables.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/actbl.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/actbl1.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/actbl2.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/actypes.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/acutils.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/aecommon.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/aeexec.c#2 delete .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/amlcode.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/amlresrc.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/adfile.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/adisasm.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/adwalk.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/dmrestag.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/dmtable.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/dmtbdump.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/dmtbinfo.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/common/getopt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslanalyze.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslcodegen.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslcompile.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslcompiler.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslcompiler.l#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslcompiler.y#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asldefine.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslerror.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslfiles.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslfold.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslglobal.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asllength.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asllisting.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslload.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asllookup.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslmain.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslmap.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslopcodes.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asloperands.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslopt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslresource.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslrestype1.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslrestype2.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslstubs.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asltransform.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asltree.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/asltypes.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/compiler/aslutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbcmds.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbdisply.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbexec.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbfileio.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbhistry.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbinput.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbstats.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dbxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmbuffer.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmnames.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmobject.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmopcode.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmresrc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmresrcl.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmresrcs.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dmwalk.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsfield.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsinit.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsmethod.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsmthdat.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsobject.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsopcode.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dsutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dswexec.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dswload.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dswscope.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/dswstate.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evevent.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evgpe.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evgpeblk.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evmisc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evregion.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evrgnini.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evsci.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evxfevnt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/evxfregn.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exconfig.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exconvrt.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/excreate.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exdump.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exfield.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exfldio.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exmisc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exmutex.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exnames.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exoparg1.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exoparg2.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exoparg3.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exoparg6.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exprep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exregion.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exresnte.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exresolv.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exresop.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exstore.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exstoren.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exstorob.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exsystem.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/exutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/hwacpi.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/hwgpe.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/hwregs.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/hwsleep.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/hwtimer.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsaccess.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsalloc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsdump.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsdumpdv.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nseval.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsinit.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsload.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsnames.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsobject.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsparse.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nssearch.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nswalk.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsxfeval.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsxfname.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/nsxfobj.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/osunixxf.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psargs.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psloop.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psopcode.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psparse.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psscope.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/pstree.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/pswalk.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/psxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsaddr.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rscalc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rscreate.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsdump.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsinfo.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsio.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsirq.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rslist.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsmemory.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsmisc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/rsxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbconvrt.c#3 delete .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbfadt.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbfind.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbget.c#3 delete .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbgetall.c#3 delete .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbinstal.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbrsdt.c#3 delete .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbutils.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/tbxfroot.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utalloc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utcache.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utclib.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utcopy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utdebug.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utdelete.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/uteval.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utglobal.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utinit.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utmath.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utmisc.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utmutex.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utobject.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utresrc.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utstate.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/uttrack.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/acpica/utxface.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/dev/oltr/if_oltr.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/fil.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_auth.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_compat.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_frag.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_frag.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_ftp_pxy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_htable.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_htable.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_ipsec_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_irc_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_log.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_lookup.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_lookup.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_nat.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_nat.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_pool.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_pool.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_pptp_pxy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_proxy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_proxy.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_raudio_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_rcmd_pxy.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_rpcb_pxy.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_scan.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_scan.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_state.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_state.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ip_sync.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/ipl.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ipfilter/netinet/mlfk_ipl.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/ngatm/netnatm/api/cc_conn.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/acl/acl_common.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/acl/acl_common.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/atomic/amd64/atomic.S#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/atomic/i386/atomic.S#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/atomic/ia64/atomic.S#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/avl/avl.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/nvpair/nvpair.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/nvpair/nvpair_alloc_fixed.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/zfs/zfs_namecheck.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/zfs/zfs_namecheck.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/zfs/zfs_prop.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/common/zfs/zfs_prop.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/Makefile.files#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/gfs.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/bplist.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dbuf.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dnode.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/fletcher.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/gzip.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/lzjb.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/metaslab.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/refcount.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sha256.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_config.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_errlog.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_history.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/space_map.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/bplist.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_traverse.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_zfetch.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_synctask.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/refcount.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/uberblock_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/unique.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_file.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zap.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zap_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zap_leaf.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ctldir.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_dir.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_rlock.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_vfsops.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zil_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zio_checksum.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zio_compress.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zio_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/sys/zvol.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/txg.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/uberblock.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/unique.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs.conf#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_fm.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio_checksum.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zio_inject.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/fs/zfs/zvol.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/os/callb.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/os/list.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/os/nvpair_alloc_system.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/os/taskq.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/rpc/xdr.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/rpc/xdr.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/rpc/xdr_array.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/rpc/xdr_mem.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/asm_linkage.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/avl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/avl_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/bitmap.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/byteorder.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/callb.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/ccompile.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/compress.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/cred.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/debug.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/dkio.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/dklabel.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/errorq.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/feature_tests.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/fm/fs/zfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/fm/protocol.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/fm/util.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/fs/zfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/gfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/isa_defs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/list.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/list_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/note.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/nvpair.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/nvpair_impl.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/processor.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/procset.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/sdt.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/synch.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/sysevent.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/sysmacros.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/vfs.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/vmem.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/sys/zmod.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/adler32.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/crc32.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/crc32.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/deflate.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/deflate.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inffast.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inffast.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inffixed.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inflate.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inflate.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inftrees.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/inftrees.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/trees.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zconf.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zlib.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zmod.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zmod_subr.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zutil.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/opensolaris/uts/common/zmod/zutil.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/if_pflog.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/if_pflog.h#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/if_pfsync.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_ioctl.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_mtag.h#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_norm.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_osfp.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_ruleset.c#1 branch .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_subr.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pf_table.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/contrib/pf/net/pfvar.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/crypto/camellia/camellia-api.c#1 branch .. //depot/projects/fast_ipsec/src/sys/crypto/camellia/camellia.c#1 branch .. //depot/projects/fast_ipsec/src/sys/crypto/camellia/camellia.h#1 branch .. //depot/projects/fast_ipsec/src/sys/crypto/via/padlock.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/ddb/db_command.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/ddb/db_thread.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aac/aac.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aac/aac_cam.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aac/aac_linux.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aac/aacvar.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpi_support/acpi_asus.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpi_support/acpi_fujitsu.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpi_support/acpi_ibm.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpi_support/acpi_panasonic.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdHardware.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdMemory.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdSchedule.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/Osd/OsdTable.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi.c#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_acad.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_battery.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_cmbat.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_cpu.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_dock.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_ec.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_lid.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_package.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_pci_link.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_pcib_acpi.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_pcib_pci.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_perf.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_quirk.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_resource.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_thermal.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_throttle.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpiio.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/acpica/acpivar.h#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/adlink/adlink.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/adv_eisa.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/adv_isa.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/adv_pci.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/advansys.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/advlib.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/advansys/adwcam.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aha/aha.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aha/aha_isa.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aha/aha_mca.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ahb/ahb.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ahb/ahbreg.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic/aic.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic/aic_cbus.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic/aic_isa.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic/aic_pccard.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic/aicvar.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7770.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx.seq#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx_osm.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx_osm.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic79xx_pci.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx.seq#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx_inline.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx_osm.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx_osm.h#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic7xxx_pci.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic_osm_lib.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aicasm/aicasm_gram.y#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/aic7xxx/aicasm/aicasm_macro_gram.y#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/amd/amd.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/amr/amr_cam.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/amr/amr_pci.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/an/if_an.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/an/if_an_isa.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/an/if_an_pccard.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ar/if_ar.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/arcmsr/arcmsr.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/arcmsr/arcmsr.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/arl/if_arl.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/arl/if_arl_isa.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/asr/asr.c#5 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-all.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-all.h#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-card.c#4 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-cbus.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-chipset.c#11 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-disk.c#9 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-disk.h#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-dma.c#6 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-isa.c#3 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-lowlevel.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-pci.c#7 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-pci.h#10 integrate .. //depot/projects/fast_ipsec/src/sys/dev/ata/ata-queue.c#9 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Aug 4 17:07:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D627E16A468; Sat, 4 Aug 2007 17:07:33 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A928516A420 for ; Sat, 4 Aug 2007 17:07:33 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8749A13C46E for ; Sat, 4 Aug 2007 17:07:33 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74H7XrC044438 for ; Sat, 4 Aug 2007 17:07:33 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74H7XO2044435 for perforce@freebsd.org; Sat, 4 Aug 2007 17:07:33 GMT (envelope-from mharvan@FreeBSD.org) Date: Sat, 4 Aug 2007 17:07:33 GMT Message-Id: <200708041707.l74H7XO2044435@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124676 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 17:07:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124676 Change 124676 by mharvan@mharvan_bike-planet on 2007/08/04 17:06:48 kernel patch to pass icmp echo requests to the userspace rather than replying to them from the kernel Affected files ... .. //depot/projects/soc2007/mharvan-mtund/sys.patches/icmp_user.patch#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Aug 4 19:08:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F7BF16A41B; Sat, 4 Aug 2007 19:08:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 257A216A41A for ; Sat, 4 Aug 2007 19:08:10 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2161A13C459 for ; Sat, 4 Aug 2007 19:08:10 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74J89Jg054249 for ; Sat, 4 Aug 2007 19:08:09 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74J87s0054246 for perforce@freebsd.org; Sat, 4 Aug 2007 19:08:07 GMT (envelope-from imp@freebsd.org) Date: Sat, 4 Aug 2007 19:08:07 GMT Message-Id: <200708041908.l74J87s0054246@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 124682 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 19:08:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124682 Change 124682 by imp@imp_paco-paco on 2007/08/04 19:07:31 IFC @124679 Affected files ... .. //depot/projects/arm/src/ObsoleteFiles.inc#25 integrate .. //depot/projects/arm/src/contrib/less/main.c#7 integrate .. //depot/projects/arm/src/contrib/tcpdump/print-bgp.c#2 integrate .. //depot/projects/arm/src/etc/namedb/named.conf#3 integrate .. //depot/projects/arm/src/etc/rc.d/nscd#1 branch .. //depot/projects/arm/src/include/arpa/tftp.h#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/main.c#6 integrate .. //depot/projects/arm/src/lib/libc/net/name6.c#3 integrate .. //depot/projects/arm/src/lib/libelf/elf_begin.3#2 integrate .. //depot/projects/arm/src/lib/libelf/elf_memory.3#2 integrate .. //depot/projects/arm/src/lib/libutil/flopen.3#2 integrate .. //depot/projects/arm/src/lib/libutil/flopen.c#3 integrate .. //depot/projects/arm/src/lib/libutil/pidfile.c#3 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#18 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifbridge.c#7 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifconfig.8#17 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#17 integrate .. //depot/projects/arm/src/share/man/man4/crypto.4#2 integrate .. //depot/projects/arm/src/share/man/man4/enc.4#4 integrate .. //depot/projects/arm/src/share/man/man4/fast_ipsec.4#5 delete .. //depot/projects/arm/src/share/man/man4/ipsec.4#4 integrate .. //depot/projects/arm/src/share/man/man4/lagg.4#2 integrate .. //depot/projects/arm/src/share/man/man4/man4.i386/padlock.4#5 integrate .. //depot/projects/arm/src/share/man/man4/ng_ppp.4#3 integrate .. //depot/projects/arm/src/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/projects/arm/src/share/misc/committers-doc.dot#3 integrate .. //depot/projects/arm/src/sys/amd64/amd64/local_apic.c#21 integrate .. //depot/projects/arm/src/sys/amd64/amd64/mp_machdep.c#18 integrate .. //depot/projects/arm/src/sys/arm/arm/trap.c#16 integrate .. //depot/projects/arm/src/sys/arm/at91/at91rm92reg.h#21 integrate .. //depot/projects/arm/src/sys/arm/at91/kb920x_machdep.c#44 integrate .. //depot/projects/arm/src/sys/arm/at91/ohci_atmelarm.c#15 integrate .. //depot/projects/arm/src/sys/arm/conf/KB920X#45 integrate .. //depot/projects/arm/src/sys/conf/kern.pre.mk#12 integrate .. //depot/projects/arm/src/sys/conf/options.ia64#3 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/if_pfsync.c#11 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_hpet.c#8 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_timer.c#6 integrate .. //depot/projects/arm/src/sys/dev/adlink/adlink.c#5 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic7xxx.c#5 integrate .. //depot/projects/arm/src/sys/dev/aic7xxx/aic_osm_lib.c#3 integrate .. //depot/projects/arm/src/sys/dev/an/if_an.c#8 integrate .. //depot/projects/arm/src/sys/dev/arcmsr/arcmsr.c#13 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bce.c#21 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcefw.h#4 integrate .. //depot/projects/arm/src/sys/dev/bce/if_bcereg.h#11 integrate .. //depot/projects/arm/src/sys/dev/nmdm/nmdm.c#5 integrate .. //depot/projects/arm/src/sys/dev/pci/pci.c#29 integrate .. //depot/projects/arm/src/sys/dev/usb/umodem.c#7 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_fat.c#4 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#18 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs.h#4 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/arm/src/sys/i386/i386/local_apic.c#20 integrate .. //depot/projects/arm/src/sys/i386/i386/mp_machdep.c#18 integrate .. //depot/projects/arm/src/sys/ia64/ia64/db_machdep.c#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/exception.S#4 integrate .. //depot/projects/arm/src/sys/ia64/ia64/interrupt.c#8 integrate .. //depot/projects/arm/src/sys/ia64/ia64/machdep.c#17 integrate .. //depot/projects/arm/src/sys/ia64/ia64/mp_machdep.c#9 integrate .. //depot/projects/arm/src/sys/ia64/ia64/nexus.c#8 integrate .. //depot/projects/arm/src/sys/ia64/ia64/pmap.c#15 integrate .. //depot/projects/arm/src/sys/ia64/ia64/sapic.c#2 integrate .. //depot/projects/arm/src/sys/ia64/include/atomic.h#3 integrate .. //depot/projects/arm/src/sys/ia64/include/intr.h#3 integrate .. //depot/projects/arm/src/sys/ia64/include/md_var.h#4 integrate .. //depot/projects/arm/src/sys/ia64/include/sapicvar.h#2 integrate .. //depot/projects/arm/src/sys/kern/kern_switch.c#15 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#22 integrate .. //depot/projects/arm/src/sys/net/bpf.c#19 integrate .. //depot/projects/arm/src/sys/net/if_bridge.c#35 integrate .. //depot/projects/arm/src/sys/net/if_bridgevar.h#15 integrate .. //depot/projects/arm/src/sys/net/if_lagg.c#8 integrate .. //depot/projects/arm/src/sys/net/if_lagg.h#7 integrate .. //depot/projects/arm/src/sys/netgraph/netgraph.h#7 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.c#7 integrate .. //depot/projects/arm/src/sys/netgraph/ng_ppp.h#3 integrate .. //depot/projects/arm/src/sys/netinet/ip_carp.c#14 integrate .. //depot/projects/arm/src/sys/netinet/ip_dummynet.c#12 integrate .. //depot/projects/arm/src/sys/netinet/ip_fw2.c#34 integrate .. //depot/projects/arm/src/sys/netinet/ip_mroute.c#14 integrate .. //depot/projects/arm/src/sys/netinet/tcp_fsm.h#3 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#35 integrate .. //depot/projects/arm/src/sys/netinet/tcp_subr.c#30 integrate .. //depot/projects/arm/src/sys/netinet/tcp_syncache.c#25 integrate .. //depot/projects/arm/src/sys/netinet/tcp_timer.h#9 integrate .. //depot/projects/arm/src/sys/netinet/tcp_usrreq.c#21 integrate .. //depot/projects/arm/src/sys/netinet/tcp_var.h#22 integrate .. //depot/projects/arm/src/sys/netipx/spx_debug.c#4 integrate .. //depot/projects/arm/src/sys/netipx/spx_debug.h#4 integrate .. //depot/projects/arm/src/sys/pc98/cbus/clock.c#8 integrate .. //depot/projects/arm/src/sys/pci/viapm.c#8 integrate .. //depot/projects/arm/src/sys/powerpc/powerpc/trap.c#10 integrate .. //depot/projects/arm/src/sys/sys/mutex.h#18 integrate .. //depot/projects/arm/src/sys/sys/vmmeter.h#6 integrate .. //depot/projects/arm/src/sys/vm/vm_meter.c#11 integrate .. //depot/projects/arm/src/sys/vm/vm_page.c#30 integrate .. //depot/projects/arm/src/tools/regression/lib/libutil/Makefile#2 integrate .. //depot/projects/arm/src/tools/regression/lib/libutil/test-flopen.c#1 branch .. //depot/projects/arm/src/tools/regression/lib/libutil/test-flopen.t#1 branch .. //depot/projects/arm/src/tools/tools/net80211/Makefile#3 integrate .. //depot/projects/arm/src/tools/tools/net80211/README#2 integrate .. //depot/projects/arm/src/tools/tools/net80211/wlandebug/Makefile#3 delete .. //depot/projects/arm/src/tools/tools/net80211/wlandebug/wlandebug.8#2 delete .. //depot/projects/arm/src/tools/tools/net80211/wlandebug/wlandebug.c#5 delete .. //depot/projects/arm/src/usr.bin/netstat/ipx.c#4 integrate .. //depot/projects/arm/src/usr.bin/tar/bsdtar.c#7 integrate .. //depot/projects/arm/src/usr.bin/truss/i386-fbsd.c#5 integrate .. //depot/projects/arm/src/usr.bin/truss/main.c#4 integrate .. //depot/projects/arm/src/usr.bin/truss/powerpc-fbsd.c#4 integrate .. //depot/projects/arm/src/usr.bin/truss/syscalls.c#3 integrate .. //depot/projects/arm/src/usr.bin/vmstat/vmstat.c#5 integrate .. //depot/projects/arm/src/usr.sbin/Makefile#14 integrate .. //depot/projects/arm/src/usr.sbin/acpi/acpidump/acpi_user.c#3 integrate .. //depot/projects/arm/src/usr.sbin/iostat/iostat.c#5 integrate .. //depot/projects/arm/src/usr.sbin/nscd/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agent.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agent.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/Makefile.inc#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/group.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/group.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/passwd.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/passwd.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/services.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/agents/services.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/cachelib.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/cachelib.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/cacheplcs.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/cacheplcs.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/config.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/config.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/debug.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/debug.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/hashtable.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/log.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/log.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/mp_rs_query.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/mp_ws_query.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/mp_ws_query.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/nscd.8#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/nscd.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/nscd.conf.5#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/nscdcli.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/nscdcli.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/parser.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/parser.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/protocol.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/protocol.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/query.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/query.h#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/singletons.c#1 branch .. //depot/projects/arm/src/usr.sbin/nscd/singletons.h#1 branch .. //depot/projects/arm/src/usr.sbin/portsnap/portsnap/portsnap.sh#3 integrate .. //depot/projects/arm/src/usr.sbin/wlandebug/Makefile#1 branch .. //depot/projects/arm/src/usr.sbin/wlandebug/wlandebug.8#1 branch .. //depot/projects/arm/src/usr.sbin/wlandebug/wlandebug.c#1 branch Differences ... ==== //depot/projects/arm/src/ObsoleteFiles.inc#25 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.107 2007/07/17 17:28:59 delphij Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.108 2007/08/02 08:04:47 bz Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070801: fast_ipsec.4 gone +OLD_FILES+=usr/share/man/man4/fast_ipsec.4.gz # 20070715: netatm temporarily disconnected OLD_FILES+=rescue/atm OLD_FILES+=rescue/fore_dnld ==== //depot/projects/arm/src/contrib/less/main.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.9 2007/06/23 15:28:00 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.10 2007/08/04 13:16:09 deischen Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -165,7 +165,7 @@ quit(QUIT_OK); } - if (less_is_more && get_quit_at_eof()) + if (less_is_more || get_quit_at_eof()) no_init = quit_if_one_screen = TRUE; #if EDITOR ==== //depot/projects/arm/src/contrib/tcpdump/print-bgp.c#2 (text+ko) ==== @@ -622,6 +622,26 @@ return -2; } +/* + * As I remember, some versions of systems have an snprintf() that + * returns -1 if the buffer would have overflowed. If the return + * value is negative, set buflen to 0, to indicate that we've filled + * the buffer up. + * + * If the return value is greater than buflen, that means that + * the buffer would have overflowed; again, set buflen to 0 in + * that case. + */ +#define UPDATE_BUF_BUFLEN(buf, buflen, strlen) \ + if (strlen<0) \ + buflen=0; \ + else if ((u_int)strlen>buflen) \ + buflen=0; \ + else { \ + buflen-=strlen; \ + buf+=strlen; \ + } + static int decode_labeled_vpn_l2(const u_char *pptr, char *buf, u_int buflen) { @@ -632,11 +652,13 @@ tlen=plen; pptr+=2; TCHECK2(pptr[0],15); + buf[0]='\0'; strlen=snprintf(buf, buflen, "RD: %s, CE-ID: %u, Label-Block Offset: %u, Label Base %u", bgp_vpn_rd_print(pptr), EXTRACT_16BITS(pptr+8), EXTRACT_16BITS(pptr+10), EXTRACT_24BITS(pptr+12)>>4); /* the label is offsetted by 4 bits so lets shift it right */ + UPDATE_BUF_BUFLEN(buf, buflen, strlen); pptr+=15; tlen-=15; @@ -652,23 +674,32 @@ switch(tlv_type) { case 1: - strlen+=snprintf(buf+strlen,buflen-strlen, "\n\t\tcircuit status vector (%u) length: %u: 0x", - tlv_type, - tlv_len); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "\n\t\tcircuit status vector (%u) length: %u: 0x", + tlv_type, + tlv_len); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } ttlv_len=ttlv_len/8+1; /* how many bytes do we need to read ? */ while (ttlv_len>0) { TCHECK(pptr[0]); - strlen+=snprintf(buf+strlen,buflen-strlen, "%02x",*pptr++); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "%02x",*pptr++); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } ttlv_len--; } break; default: - snprintf(buf+strlen,buflen-strlen, "\n\t\tunknown TLV #%u, length: %u", - tlv_type, - tlv_len); + if (buflen!=0) { + strlen=snprintf(buf,buflen, "\n\t\tunknown TLV #%u, length: %u", + tlv_type, + tlv_len); + UPDATE_BUF_BUFLEN(buf, buflen, strlen); + } break; } - tlen-=(tlv_len<<3); /* the tlv-length is expressed in bits so lets shift it tright */ + tlen-=(tlv_len<<3); /* the tlv-length is expressed in bits so lets shift it right */ } return plen+2; ==== //depot/projects/arm/src/etc/namedb/named.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -// $FreeBSD: src/etc/namedb/named.conf,v 1.24 2007/06/18 06:29:45 dougb Exp $ +// $FreeBSD: src/etc/namedb/named.conf,v 1.25 2007/08/02 09:18:53 dougb Exp $ // // Refer to the named.conf(5) and named(8) man pages, and the documentation // in /usr/share/doc/bind9 for more details. @@ -15,10 +15,6 @@ dump-file "/var/dump/named_dump.db"; statistics-file "/var/stats/named.stats"; - disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; - disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; - disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; - // If named is being used only as a local resolver, this is a safe default. // For named to be accessible to the network, comment this option, specify // the proper IP address, or delete this option. @@ -29,6 +25,12 @@ // an IPv6 address, or the keyword "any". // listen-on-v6 { ::1; }; +// These zones are already covered by the empty zones listed below. +// If you remove the related empty zones below, comment these lines out. + disable-empty-zone "255.255.255.255.IN-ADDR.ARPA"; + disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; + disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA"; + // In addition to the "forwarders" clause, you can force your name // server to never initiate queries of its own, but always ask its // forwarders only, by enabling the following line: @@ -57,22 +59,23 @@ // first in your /etc/resolv.conf so this server will be queried. // Also, make sure to enable it in /etc/rc.conf. +// The traditional root hints mechanism. Use this, OR the slave zones below. +zone "." { type hint; file "named.root"; }; + /* Slaving the following zones from the root name servers has some significant advantages: 1. Faster local resolution for your users 2. No spurious traffic will be sent from your network to the roots 3. Greater resilience to any potential root server failure/DDoS - If you do not wish to slave these zones from the root servers - use the entry below instead. - zone "." { type hint; file "named.root"; }; + To use this mechanism, uncomment the entries below, and comment + the hint zone above. */ +/* zone "." { type slave; file "slave/root.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. @@ -83,8 +86,6 @@ type slave; file "slave/arpa.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. @@ -95,14 +96,13 @@ type slave; file "slave/in-addr.arpa.slave"; masters { - 192.5.5.241; // F.ROOT-SERVERS.NET. - 192.228.79.201; // B.ROOT-SERVERS.NET. 192.33.4.12; // C.ROOT-SERVERS.NET. 192.112.36.4; // G.ROOT-SERVERS.NET. 193.0.14.129; // K.ROOT-SERVERS.NET. }; notify no; }; +*/ /* Serving the following zones locally will prevent any queries for these zones leaving your network and going to the root ==== //depot/projects/arm/src/include/arpa/tftp.h#2 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)tftp.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/arpa/tftp.h,v 1.5 2001/09/27 20:50:14 obrien Exp $ + * $FreeBSD: src/include/arpa/tftp.h,v 1.6 2007/08/01 11:59:09 ticso Exp $ */ #ifndef _ARPA_TFTP_H_ @@ -58,9 +58,9 @@ unsigned short tu_block; /* block # */ unsigned short tu_code; /* error code */ char tu_stuff[1]; /* request packet stuff */ - } th_u; + } __packed th_u; char th_data[1]; /* data or error string */ -}; +} __packed; #define th_block th_u.tu_block #define th_code th_u.tu_code ==== //depot/projects/arm/src/lib/libarchive/test/main.c#6 (text+ko) ==== @@ -32,7 +32,13 @@ #include #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.7 2007/07/14 17:52:01 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/test/main.c,v 1.8 2007/07/31 05:03:27 kientzle Exp $"); + +/* Interix doesn't define these in a standard header. */ +#if __INTERIX__ +extern char *optarg; +extern int optind; +#endif /* Default is to crash and try to force a core dump on failure. */ static int dump_on_failure = 1; @@ -101,6 +107,7 @@ static int skipped_line; void skipping_setup(const char *filename, int line) { + skipped_filename = filename; skipped_line = line; } void ==== //depot/projects/arm/src/lib/libc/net/name6.c#3 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.61 2006/07/26 08:35:46 yar Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.62 2007/07/31 16:09:41 bushman Exp $"); #include "namespace.h" #include @@ -118,16 +118,8 @@ #include #include "un-namespace.h" #include "netdb_private.h" -#include "res_config.h" #include "res_private.h" -#ifdef NS_CACHING -#include "nscache.h" -#endif -#ifndef _PATH_HOSTS -#define _PATH_HOSTS "/etc/hosts" -#endif - #ifndef MAXALIASES #define MAXALIASES 10 #endif @@ -153,7 +145,7 @@ } while (0) #define MAPADDRENABLED(flags) \ (((flags) & AI_V4MAPPED) || \ - (((flags) & AI_V4MAPPED_CFG) && _mapped_addr_enabled())) + (((flags) & AI_V4MAPPED_CFG))) union inx_addr { struct in_addr in_addr; @@ -202,14 +194,11 @@ static struct hostent *_hpcopy(struct hostent *, int *); static struct hostent *_hpaddr(int, const char *, void *, int *); +#ifdef INET6 static struct hostent *_hpmerge(struct hostent *, struct hostent *, int *); -#ifdef INET6 static struct hostent *_hpmapv6(struct hostent *, int *); #endif static struct hostent *_hpsort(struct hostent *, res_state); -static struct hostent *_ghbyname(const char *, int, int, int *); -static char *_hgetword(char **); -static int _mapped_addr_enabled(void); static struct hostent *_hpreorder(struct hostent *); static int get_addrselectpolicy(struct policyhead *); @@ -221,325 +210,30 @@ static int comp_dst(const void *, const void *); static int gai_addr2scopetype(struct sockaddr *); -static FILE *_files_open(int *); -static int _files_ghbyname(void *, void *, va_list); -static int _files_ghbyaddr(void *, void *, va_list); -#ifdef YP -static int _nis_ghbyname(void *, void *, va_list); -static int _nis_ghbyaddr(void *, void *, va_list); -#endif -static int _dns_ghbyname(void *, void *, va_list); -static int _dns_ghbyaddr(void *, void *, va_list); -static void _dns_shent(int) __unused; -static void _dns_ehent(void) __unused; -#ifdef ICMPNL -static int _icmp_ghbyaddr(void *, void *, va_list); -#endif /* ICMPNL */ -#ifdef NS_CACHING -static int ipnode_id_func(char *, size_t *, va_list, void *); -static int ipnode_marshal_func(char *, size_t *, void *, va_list, void *); -static int ipnode_unmarshal_func(char *, size_t, void *, va_list, void *); -#endif - -/* Host lookup order if nsswitch.conf is broken or nonexistant */ -static const ns_src default_src[] = { - { NSSRC_FILES, NS_SUCCESS }, - { NSSRC_DNS, NS_SUCCESS }, -#ifdef ICMPNL -#define NSSRC_ICMP "icmp" - { NSSRC_ICMP, NS_SUCCESS }, -#endif - { 0 } -}; - /* - * Check if kernel supports mapped address. - * implementation dependent + * Functions defined in RFC2553 + * getipnodebyname, getipnodebyaddr, freehostent */ -#ifdef __KAME__ -#include -#endif /* __KAME__ */ -static int -_mapped_addr_enabled(void) +struct hostent * +getipnodebyname(const char *name, int af, int flags, int *errp) { - /* implementation dependent check */ -#if defined(__KAME__) && defined(IPV6CTL_MAPPED_ADDR) - int mib[4]; - size_t len; - int val; - - mib[0] = CTL_NET; - mib[1] = PF_INET6; - mib[2] = IPPROTO_IPV6; - mib[3] = IPV6CTL_MAPPED_ADDR; - len = sizeof(val); - if (sysctl(mib, 4, &val, &len, 0, 0) == 0 && val != 0) - return 1; -#endif /* __KAME__ && IPV6CTL_MAPPED_ADDR */ - return 0; -} - -#ifdef NS_CACHING -static int -ipnode_id_func(char *buffer, size_t *buffer_size, va_list ap, - void *cache_mdata) -{ + struct hostent *hp; + union inx_addr addrbuf; res_state statp; - u_long res_options; + u_long options; - const int op_id = 2; - char *name; - int af; - size_t len; - void *src; - - char *p; - size_t desired_size, size; - enum nss_lookup_type lookup_type; - int res = NS_UNAVAIL; - - statp = __res_state(); - res_options = statp->options & (RES_RECURSE | RES_DEFNAMES | - RES_DNSRCH | RES_NOALIASES | RES_USE_INET6); - - lookup_type = (enum nss_lookup_type)cache_mdata; - switch (lookup_type) { - case nss_lt_name: - name = va_arg(ap, char *); - af = va_arg(ap, int); - - size = strlen(name); - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + size + 1; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, name, size + 1); - - res = NS_SUCCESS; + switch (af) { + case AF_INET: +#ifdef INET6 + case AF_INET6: +#endif break; - case nss_lt_id: - src = va_arg(ap, void *); - len = va_arg(ap, size_t); - af = va_arg(ap, int); - - desired_size = sizeof(res_options) + sizeof(int) + - sizeof(enum nss_lookup_type) + sizeof(int) + - sizeof(size_t) + len; - - if (desired_size > *buffer_size) { - res = NS_RETURN; - goto fin; - } - - p = buffer; - memcpy(p, &res_options, sizeof(res_options)); - p += sizeof(res_options); - - memcpy(p, &op_id, sizeof(int)); - p += sizeof(int); - - memcpy(p, &lookup_type, sizeof(enum nss_lookup_type)); - p += sizeof(enum nss_lookup_type); - - memcpy(p, &af, sizeof(int)); - p += sizeof(int); - - memcpy(p, &len, sizeof(size_t)); - p += sizeof(size_t); - - memcpy(p, src, len); - - res = NS_SUCCESS; - break; default: - /* should be unreachable */ - return (NS_UNAVAIL); - } - -fin: - *buffer_size = desired_size; - return (res); -} - -static int -ipnode_marshal_func(char *buffer, size_t *buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent *ht; - - struct hostent new_ht; - size_t desired_size, aliases_size, addr_size, size; - char *p, **iter; - - ht = *((struct hostent **)retval); - - desired_size = _ALIGNBYTES + sizeof(struct hostent) + sizeof(char *); - if (ht->h_name != NULL) - desired_size += strlen(ht->h_name) + 1; - - if (ht->h_aliases != NULL) { - aliases_size = 0; - for (iter = ht->h_aliases; *iter; ++iter) { - desired_size += strlen(*iter) + 1; - ++aliases_size; - } - - desired_size += _ALIGNBYTES + - (aliases_size + 1) * sizeof(char *); - } - - if (ht->h_addr_list != NULL) { - addr_size = 0; - for (iter = ht->h_addr_list; *iter; ++iter) - ++addr_size; - - desired_size += addr_size * _ALIGN(ht->h_length); - desired_size += _ALIGNBYTES + (addr_size + 1) * sizeof(char *); - } - - if (desired_size > *buffer_size) { - /* this assignment is here for future use */ - *buffer_size = desired_size; - return (NS_RETURN); - } - - memcpy(&new_ht, ht, sizeof(struct hostent)); - memset(buffer, 0, desired_size); - - *buffer_size = desired_size; - p = buffer + sizeof(struct hostent) + sizeof(char *); - memcpy(buffer + sizeof(struct hostent), &p, sizeof(char *)); - p = (char *)_ALIGN(p); - - if (new_ht.h_name != NULL) { - size = strlen(new_ht.h_name); - memcpy(p, new_ht.h_name, size); - new_ht.h_name = p; - p += size + 1; - } - - if (new_ht.h_aliases != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_aliases, sizeof(char *) * aliases_size); - new_ht.h_aliases = (char **)p; - p += sizeof(char *) * (aliases_size + 1); - - for (iter = new_ht.h_aliases; *iter; ++iter) { - size = strlen(*iter); - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } - } - - if (new_ht.h_addr_list != NULL) { - p = (char *)_ALIGN(p); - memcpy(p, new_ht.h_addr_list, sizeof(char *) * addr_size); - new_ht.h_addr_list = (char **)p; - p += sizeof(char *) * (addr_size + 1); - - size = _ALIGN(new_ht.h_length); - for (iter = new_ht.h_addr_list; *iter; ++iter) { - memcpy(p, *iter, size); - *iter = p; - p += size + 1; - } + *errp = NO_RECOVERY; + return NULL; } - memcpy(buffer, &new_ht, sizeof(struct hostent)); - return (NS_SUCCESS); -} -static int -ipnode_unmarshal_func(char *buffer, size_t buffer_size, void *retval, - va_list ap, void *cache_mdata) -{ - struct hostent new_ht; - struct hostent *ht; - - char *p; - char **iter; - char *orig_buf; - int err; - - ht = &new_ht; - - memcpy(ht, buffer, sizeof(struct hostent)); - memcpy(&p, buffer + sizeof(struct hostent), sizeof(char *)); - - orig_buf = buffer + sizeof(struct hostent) + sizeof(char *) + - _ALIGN(p) - (size_t)p; - p = (char *)_ALIGN(p); - - - NS_APPLY_OFFSET(ht->h_name, orig_buf, p, char *); - if (ht->h_aliases != NULL) { - NS_APPLY_OFFSET(ht->h_aliases, orig_buf, p, char **); - - for (iter = ht->h_aliases; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - if (ht->h_addr_list != NULL) { - NS_APPLY_OFFSET(ht->h_addr_list, orig_buf, p, char **); - - for (iter = ht->h_addr_list; *iter; ++iter) - NS_APPLY_OFFSET(*iter, orig_buf, p, char *); - } - - ht = _hpcopy(ht, &err); - if (ht == NULL) - return (NS_UNAVAIL); - - *((struct hostent **)retval) = ht; - return (NS_SUCCESS); -} -#endif - -/* - * Functions defined in RFC2553 - * getipnodebyname, getipnodebyaddr, freehostent - */ - -static struct hostent * -_ghbyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - int rval; - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_name, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyname, NULL) - { NSSRC_DNS, _dns_ghbyname, NULL }, - NS_NIS_CB(_nis_ghbyname, NULL) -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - if (flags & AI_ADDRCONFIG) { int s; @@ -554,31 +248,8 @@ */ _close(s); } - - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyname", default_src, - name, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; -} - -struct hostent * -getipnodebyname(const char *name, int af, int flags, int *errp) -{ - struct hostent *hp; - union inx_addr addrbuf; - res_state statp; - - switch (af) { - case AF_INET: + #ifdef INET6 - case AF_INET6: -#endif - break; - default: - *errp = NO_RECOVERY; - return NULL; - } - -#ifdef INET6 /* special case for literal address */ if (inet_pton(AF_INET6, name, &addrbuf) == 1) { if (af != AF_INET6) { @@ -600,6 +271,7 @@ return _hpaddr(af, name, &addrbuf, errp); } + statp = __res_state(); if ((statp->options & RES_INIT) == 0) { if (res_ninit(statp) < 0) { @@ -607,25 +279,36 @@ return NULL; } } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyname2(name, af); + hp = _hpcopy(hp, errp); - *errp = HOST_NOT_FOUND; - hp = _ghbyname(name, af, flags, errp); - #ifdef INET6 if (af == AF_INET6 && ((flags & AI_ALL) || hp == NULL) && MAPADDRENABLED(flags)) { - struct hostent *hp2 = _ghbyname(name, AF_INET, flags, errp); + struct hostent *hp2 = gethostbyname2(name, AF_INET); if (hp == NULL) - hp = _hpmapv6(hp2, errp); + if (hp2 == NULL) + *errp = statp->res_h_errno; + else + hp = _hpmapv6(hp2, errp); else { - if (hp2 && strcmp(hp->h_name, hp2->h_name) != 0) { - freehostent(hp2); - hp2 = NULL; + if (hp2 && strcmp(hp->h_name, hp2->h_name) == 0) { + struct hostent *hpb = hp; + hp = _hpmerge(hpb, hp2, errp); + freehostent(hpb); } - hp = _hpmerge(hp, hp2, errp); } } #endif + + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; return _hpreorder(_hpsort(hp, statp)); } @@ -633,34 +316,15 @@ getipnodebyaddr(const void *src, size_t len, int af, int *errp) { struct hostent *hp; - int rval; + res_state statp; + u_long options; + #ifdef INET6 struct in6_addr addrbuf; #else struct in_addr addrbuf; #endif - -#ifdef NS_CACHING - static const nss_cache_info cache_info = - NS_COMMON_CACHE_INFO_INITIALIZER( - hosts, (void *)nss_lt_id, - ipnode_id_func, ipnode_marshal_func, ipnode_unmarshal_func); -#endif - static const ns_dtab dtab[] = { - NS_FILES_CB(_files_ghbyaddr, NULL) - { NSSRC_DNS, _dns_ghbyaddr, NULL }, - NS_NIS_CB(_nis_ghbyaddr, NULL) -#ifdef ICMPNL - { NSSRC_ICMP, _icmp_ghbyaddr, NULL }, -#endif -#ifdef NS_CACHING - NS_CACHE_CB(&cache_info) -#endif - { 0 } - }; - - *errp = HOST_NOT_FOUND; - + switch (af) { case AF_INET: if (len != sizeof(struct in_addr)) { @@ -700,9 +364,23 @@ return NULL; } - rval = _nsdispatch(&hp, dtab, NSDB_HOSTS, "ghbyaddr", default_src, - src, len, af, errp); - return (rval == NS_SUCCESS) ? hp : NULL; + statp = __res_state(); + if ((statp->options & RES_INIT) == 0) { + if (res_ninit(statp) < 0) { + RES_SET_H_ERRNO(statp, NETDB_INTERNAL); + return NULL; + } + } + + options = statp->options; + statp->options &= ~RES_USE_INET6; + + hp = gethostbyaddr(src, len, af); + if (hp == NULL) + *errp = statp->res_h_errno; + + statp->options = options; + return (_hpcopy(hp, errp)); } void @@ -811,9 +489,10 @@ hp->h_addr_list = addrs; addrs[0] = (char *)addr; addrs[1] = NULL; - return _hpcopy(hp, errp); + return (_hpcopy(hp, errp)); } +#ifdef INET6 /* * _hpmerge: merge 2 hostent structure, arguments will be freed */ @@ -828,9 +507,9 @@ union inx_addr addrbuf[MAXADDRS]; if (hp1 == NULL) - return hp2; + return _hpcopy(hp2, errp); if (hp2 == NULL) - return hp1; + return _hpcopy(hp1, errp); #define HP(i) (i == 1 ? hp1 : hp2) hp = &hpbuf; @@ -850,17 +529,14 @@ } } aliases[nalias] = NULL; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Aug 4 21:14:54 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A18816A41B; Sat, 4 Aug 2007 21:14:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 502ED16A419 for ; Sat, 4 Aug 2007 21:14:54 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4DB5813C465 for ; Sat, 4 Aug 2007 21:14:54 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74LEsoS073420 for ; Sat, 4 Aug 2007 21:14:54 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74LEsGG073417 for perforce@freebsd.org; Sat, 4 Aug 2007 21:14:54 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 4 Aug 2007 21:14:54 GMT Message-Id: <200708042114.l74LEsGG073417@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124692 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 21:14:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=124692 Change 124692 by zec@zec_tpx32 on 2007/08/04 21:14:49 Unbreak syncache_timer() operation in options VIMAGE build. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#17 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#17 (text+ko) ==== @@ -348,6 +348,7 @@ struct syncache *sc, *nsc; int tick = ticks; char *s; + CURVNET_SET(sch->sch_vnet); INIT_VNET_INET(sch->sch_vnet); /* NB: syncache_head has already been locked by the callout. */ @@ -393,6 +394,7 @@ if (!TAILQ_EMPTY(&(sch)->sch_bucket)) callout_reset(&(sch)->sch_timer, (sch)->sch_nextc - tick, syncache_timer, (void *)(sch)); + CURVNET_RESTORE(); } /* From owner-p4-projects@FreeBSD.ORG Sat Aug 4 22:15:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C8A3F16A41A; Sat, 4 Aug 2007 22:15:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 857F816A417 for ; Sat, 4 Aug 2007 22:15:09 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6C25513C428 for ; Sat, 4 Aug 2007 22:15:09 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74MF91d078803 for ; Sat, 4 Aug 2007 22:15:09 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74MF8VM078798 for perforce@freebsd.org; Sat, 4 Aug 2007 22:15:08 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 4 Aug 2007 22:15:08 GMT Message-Id: <200708042215.l74MF8VM078798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124693 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 22:15:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=124693 Change 124693 by cnst@dale on 2007/08/04 22:14:38 branch amd64/conf/GENERIC.hints Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.amd64.conf/GENERIC.hints#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sat Aug 4 22:19:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ED1E616A41A; Sat, 4 Aug 2007 22:19:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB66C16A419 for ; Sat, 4 Aug 2007 22:19:16 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9221E13C45E for ; Sat, 4 Aug 2007 22:19:16 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74MJFSO079185 for ; Sat, 4 Aug 2007 22:19:15 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74MJE6e079176 for perforce@freebsd.org; Sat, 4 Aug 2007 22:19:14 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 4 Aug 2007 22:19:14 GMT Message-Id: <200708042219.l74MJE6e079176@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 22:19:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=124694 Change 124694 by cnst@dale on 2007/08/04 22:18:31 add a hint for lm0 on amd64 (not tested, but since it works on OpenBSD, should likely work here, too) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.amd64.conf/GENERIC.hints#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.amd64.conf/GENERIC.hints#2 (text+ko) ==== @@ -33,3 +33,5 @@ hint.sio.3.irq="9" hint.ppc.0.at="isa" hint.ppc.0.irq="7" +hint.lm.0.at="isa" +hint.lm.0.port="0x290" From owner-p4-projects@FreeBSD.ORG Sat Aug 4 22:25:24 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C86116A41B; Sat, 4 Aug 2007 22:25:24 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56DC416A418 for ; Sat, 4 Aug 2007 22:25:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5464413C45E for ; Sat, 4 Aug 2007 22:25:24 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74MPOfl082554 for ; Sat, 4 Aug 2007 22:25:24 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74MPNIp082550 for perforce@freebsd.org; Sat, 4 Aug 2007 22:25:23 GMT (envelope-from gabor@freebsd.org) Date: Sat, 4 Aug 2007 22:25:23 GMT Message-Id: <200708042225.l74MPNIp082550@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124695 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 22:25:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=124695 Change 124695 by gabor@gabor_server on 2007/08/04 22:24:27 IFC Affected files ... .. //depot/projects/soc2006/gabor_ports/CHANGES#10 integrate .. //depot/projects/soc2006/gabor_ports/GIDs#7 integrate .. //depot/projects/soc2006/gabor_ports/LEGAL#9 integrate .. //depot/projects/soc2006/gabor_ports/MOVED#17 integrate .. //depot/projects/soc2006/gabor_ports/Makefile#3 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.autotools.mk#4 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.commands.mk#1 branch .. //depot/projects/soc2006/gabor_ports/Mk/bsd.database.mk#6 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.destdir.mk#1 branch .. //depot/projects/soc2006/gabor_ports/Mk/bsd.emacs.mk#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gcc.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gnome.mk#10 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gnustep.mk#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.gstreamer.mk#6 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.java.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.kde.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.lua.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.mail.mk#4 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.openssl.mk#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.php.mk#8 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.mk#87 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.options.mk#2 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.port.subdir.mk#5 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.python.mk#9 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.qt.mk#1 branch .. //depot/projects/soc2006/gabor_ports/Mk/bsd.ruby.mk#7 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.scons.mk#8 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.sites.mk#14 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.xfce.mk#2 integrate .. //depot/projects/soc2006/gabor_ports/Mk/bsd.xorg.mk#1 branch .. //depot/projects/soc2006/gabor_ports/Templates/BSD.local.dist#1 branch .. //depot/projects/soc2006/gabor_ports/Tools/make_readmes#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/README#2 delete .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/portbuild.conf#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/buildenv#3 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/buildscript#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/claim-chroot#3 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/clean-chroot#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/cleanup-chroots#3 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/dologs#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/dopackages#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/dopackagestats#7 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/dosetupnode#3 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/getmachine#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/makeindex#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/mkbindist#3 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/pnohang.c#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/pollmachine#2 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/portbuild#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/processonelog#7 integrate .. //depot/projects/soc2006/gabor_ports/Tools/portbuild/scripts/straslivy.py#1 branch .. //depot/projects/soc2006/gabor_ports/Tools/scripts/addport#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/mergebase.sh#1 branch .. //depot/projects/soc2006/gabor_ports/Tools/scripts/security-check.awk#4 integrate .. //depot/projects/soc2006/gabor_ports/Tools/scripts/tindex#6 integrate .. //depot/projects/soc2006/gabor_ports/UIDs#7 integrate .. //depot/projects/soc2006/gabor_ports/UPDATING#19 integrate Differences ... ==== //depot/projects/soc2006/gabor_ports/CHANGES#10 (text+ko) ==== @@ -10,6 +10,78 @@ All ports committers are allowed to commit to this file. +20070804: +AUTHOR: gabor@FreeBSD.org +The following functional changes were made to bsd.*.mk and to +Tools/scripts/security-check.awk: + + * The variable definitions that cover command line tools, e.g. MKDIR, were + extracted from bsd.port.mk into bsd.commands.mk, so that we can + reuse them within the infrastructure later. + + * The old DESTDIR implementation was removed both from the infrastructure, + and from the individual ports. Variables like TARGETDIR should not longer + be used. + + * A new DESTDIR implementation has been added, implemented in bsd.destdir.mk. + The new implementation puts no requirements on the individual ports. + +20070730: +AUTHOR: python@FreeBSD.org + + * The default Python version has been changed from 2.4.x to 2.5.x. + + * A number of variables have been added to bsd.python.mk to support + the more integrated support for Python eggs, including: + PYDISTUTILS_PKGNAME, PYDISTUTILS_PKGVERSION, PYEASYINSTALL_EGG, + PYDISTUTILS_NOEGGINFO, PYDISTUTILS_EGGINFO, PYEASYINSTALL_ARCHDEP + + * More detailed descriptions of the variables can be found in the comments + in bsd.python.mk. + +20070723: +AUTHOR: rafan@FreeBSD.org + + * The default CONFIGURE_ARGS when GNU_CONFIGURE is set now contains + --mandir and --infodir if configure script supports them. + +20070712: +AUTHOR: maho@FreeBSD.org + + * Add knob USE_FORTRAN for ports which uses FORTRAN. All ports uses + FORTRAN compiler should use this knob. Usages are: USE_FORTRAN=yes + (default;gfortran42), USE_FROTRAN=ifc (Intel FORTRAN compiler) + and USE_FORTRAN=g77 (/usr/bin/f77 or g77-34). + +20070701: +AUTHOR: portmgr@FreeBSD.org +The following change was made to the ports infrastructure: + + * Virtual category 'kld' was added. If the port installs kernel loadable + modules, it should be included in this category. + +20070524: +AUTHOR: portmgr@FreeBSD.org +The following changes were made to the ports infrastructure: + + * The 'make-deinstall-all' target now checks for moved ports. + + * The installation directories PORTEXAMPLES and PORTDATA are now defined. + + * The USE_MAKESELF knob is added for ports that use the makeself archiver. + + * The description of fetch-list was updated. The targets fetch-required-list, + fetch-url-list, and fetch-urlall-list were added. + + * 'make search' will also now search in ports/MOVED. + + * The default method for 'make update' is now portsnap. Previously, + you had to manually select one of 3 methods: SUP_UPDATE, CVS_UPDATE, + or PORTSNAP_UPDATE. The latter is now obsolete. + + * Several Makevar definitions have been moved to the pre-makefile section: + DATADIR, DOCSDIR, ETCDIR, EXAMPLESDIR, WWWDIR. + 20070403: AUTHOR: portmgr@FreeBSD.org The following changes were made to the ports infrastructure: @@ -47,12 +119,21 @@ added for porter's convenience. They contain the values of their respective non-REL variables, except relative to installation PREFIX. +20070313: +AUTHOR: portmgr@FreeBSD.org +The following changes were made to the ports infrastructure: + + * bsd.ocaml.mk and bsd.xfce.mk were added. + + * The FETCH_CMD was refactored so that ports can override the command, + the arguments, or both. + 20070306: AUTHOR: portmgr@FreeBSD.org The following changes were made to the ports infrastructure: - * The remainging vestiges of FreeBSD 4.X support were removed. Any - remaining users of 4.X should have stayed with the RELENG_4_EOL tag. + * The remaining vestiges of FreeBSD 4.X support were removed. Any + remaining users of 4.X should have stayed with the RELEASE_4_EOL tag. * It is now possible to include USE_PHP after bsd.port.pre.mk. @@ -65,7 +146,7 @@ * DEPENDS variable was removed, please use other *_DEPENDS variables instead. * A new pkg-plist keyword is available, @stopdaemon. It will call forcestop - on all rc.subr scripts installed by the port on deinstall, efectively + on all rc.subr scripts installed by the port on deinstall, effectively stopping services on deinstall/upgrade. * rc.subr script suffix is now available in Makefile as RC_SUBR_SUFFIX. @@ -183,7 +264,7 @@ 20060804: AUTHOR: gabor@FreeBSD.org -The following functional changes were made to bsd.*.mk and to +The following functional changes were made to bsd.*.mk and to Tools/scripts/security-check.awk: * Add DESTDIR support to let one install ports into a jail from outside. @@ -263,7 +344,7 @@ * Update default linux_base from '8' (Redhat 8) to 'fc4' (Fedora Core 4) [5] - * Switch default Linux X implementation from XFree86 to xorg to track the + * Switch default Linux X implementation from XFree86 to X.org to track the above [5] * Deprecate INSTALLS_SHLIB and replace it by USE_LDCONFIG. If set to "yes", @@ -421,7 +502,7 @@ instead upon the native FreeBSD libraries. - The variable LINUX_BASE_PORT contains a string which is suitable as an item in *_DEPENDS, so if a port BATCH_DEPENDS or FETCH_DEPENDS upon the - default (or overridden) Linux base, ${LINUX_BASE_PORT} should be used+ + default (or overridden) Linux base, ${LINUX_BASE_PORT} should be used instead of a hardcoded reference. - If USE_LINUX or OVERRIDE_LINUX_BASE doesn't point to an existing linux_base port and if USE_LINUX isn't set to "yes" (case insensitive), the port will @@ -1320,4 +1401,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.68 2007/04/02 23:14:45 pav Exp $ +$FreeBSD: ports/CHANGES,v 1.77 2007/08/04 11:37:23 gabor Exp $ ==== //depot/projects/soc2006/gabor_ports/GIDs#7 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: ports/GIDs,v 1.34 2007/03/31 12:53:57 laszlof Exp $ +$FreeBSD: ports/GIDs,v 1.45 2007/07/13 06:40:50 marcus Exp $ # Please keep this file sorted by GID! smmsp:*:25: bind:*:53: @@ -52,6 +52,9 @@ ircproxyd:*:118: mythtv:*:119: pdns:*:120 +otrs:*:121: +zabbix:*:122: +_ntp:*:123: fetchmail:*:124 postfix:*:125: maildrop:*:126: @@ -65,23 +68,26 @@ sfs:*:171: agk:*:172: polipo:*:173: +flowtools:*:174: nagios:*:181: moinmoin:*:192: cups:*:193: sympa:*:200: dspam:*:202: bs:*:220: +postgrey:*:225: fcron:*:247: _tor:*:256: _dns-proxy-tor:*:257: _trans-proxy-tor:*:258: -smxs:*:260: -smxq:*:261: -smxc:*:262: -smxm:*:263: -smx:*:264: +meta1s:*:260: +meta1q:*:261: +meta1c:*:262: +meta1m:*:263: +meta1:*:264: haclient:*:275: mrtg:*:279: +prelude:*:281: _sphinx:*:312: dkfilter:*:325: wildfire:*:340: @@ -90,16 +96,19 @@ drweb:*:426: courier:*:465: _bbstored:*:505: +nullmail:*:522: dkimproxy:*:525: ejabberd:*:544: qtss:*:554: ircdru:*:555: messagebus:*:556: -realtime:*:557: +pulse-rt:*:557: avahi:*:558: tacacs:*:559: distcc:*:561: polkit:*:562: +pulse:*:563: +pulse-access:*:564: _xsi:*:600: bnetd:*:700: bopm:*:717: ==== //depot/projects/soc2006/gabor_ports/LEGAL#9 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.531 2007/03/31 03:41:14 alepulver Exp $ +# $FreeBSD: ports/LEGAL,v 1.544 2007/07/29 15:51:07 pav Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -34,6 +34,7 @@ interface 5400s_fbsd_cli_v10.zip sysutils/aaccli May not be redistributed in binary form +aacplusenc-* audio/aacplusenc Unclear legal status ac3dlx* graphics/linux-ac3d Commercial license, no distribution acroread/AdobeReader_* print/acroread7 Must fill out redistribution @@ -128,12 +129,15 @@ free for commercial use DarwinStreamingSrvr*-Source.tar net/DarwinStreamingServer Server License restrictions See http://www.opensource.apple.com/apsl/ +darwinia-demo games/linux-darwinia-demo Redistribution limited vbsd*e.tar.Z security/vscan Restricted to the license terms set for VirusScan +dbvis java/dbvis Redistribution is not permitted dc3play-* graphics/dc3play No redistribution due to beta status dcl-*-C.tar.gz science/cdcl No commercial use dcl-*.tar.gz science/dcl No commercial use +defcon games/linux-defcon Redistribution limited DFSongSd.ttf chinese/dfsongsd No redistribution or commercial use is allowed dgd/* net/dgd License required for commercial @@ -157,6 +161,7 @@ http://cr.yp.to/softwarelaw.html djbfft-* math/djbfft No license -- see http://cr.yp.to/softwarelaw.html +dlv lang/dlv Not sure if we can redistribute it dn*.tgz emulators/darcnes Commercial use is restricted dnews_* news/dnews Only free for schools and universities, but they have to @@ -222,7 +227,7 @@ distribution without permission fp-freebsd-ws-* security/f-prot Free for personal use only freefem++-* math/freefem++ No resale, not for commercial usage -framework-* security/metasploit-devel May not be re-sold +framework-* security/metasploit May not be re-sold freefonts-* x11-fonts/freefonts Some of the fonts are shareware. Some are freeware. Permission must be obtained @@ -376,10 +381,11 @@ lame* audio/lame May be patented lgrind/* print/lgrind Contains non-free code written by Van Jacobson +libamrnb audio/libamrnb No redistribution allowed +libamrwb audio/libamrwb No redistribution allowed libdvdcss-*.tar.bz2 multimedia/libdvdcss CSS code may violate the DMCA libidea-* security/libidea Crypto; export-controlled libots-*.alpha.rpm lang/compaq-cc Distribution not allowed -LimeWireOther.zip net-p2p/limewire No redistribution allowed Linux-ACU-Driver-v* sysutils/linux-acu Redistribution not allowed Linux_MegaCli_* sysutils/linux-megacli Redistribution not allowed rpm/i386/fedora/4/gtk2-* x11-toolkits/linux-gtk2 LGPL binary, no source @@ -432,6 +438,8 @@ NetComponents-* java/netcomponents No redistribution except as part of a substantially different product netshow_linux.gz multimedia/netshow Commercial software +nerolinux-* sysutils/linux-nero Must be downloaded from WWW and + a Serial Number must be bought nntpcache-* news/nntpcache Commercial or government use requires license nsc2ke.* math/nsc2ke No resale, contact author for @@ -498,6 +506,7 @@ savage/savage* games/linux-savage Savage is freeware, but i am not sure of its license sdr-* mbone/sdr Crypto; export-controlled +seatools_cli.tar sysutils/seatools Distfile should be loaded by hand serialmail-* mail/serialmail No license -- see http://cr.yp.to/softwarelaw.html service-config-* sysutils/service-config Possibly restricted binary @@ -593,9 +602,8 @@ upsmon* sysutils/upsmon Redistribute only with original source code ut_linux_mgr_* sysutils/linux-megamgr Redistribution prohibited -urchin*.tar.gz www/urchin5 Commercial software, also comes - bundled with Apache-SSL linux-ut/* games/linux-ut Redistribution limited +uplink-demo games/linux-uplink-demo Redistribution limited ut2004-lnx-* games/linux-ut2004-demo Redistribution limited uzap.tar.gz editors/uzap Restrictive copyright vbsd440e.tar.Z security/vscan Commercial software @@ -675,3 +683,4 @@ lha-1.14i-ac* archivers/lha-ac No Redistribution GotoBLAS* math/gotoblas No Redistribution gamess.*/gamess* science/gamess No Redistribution +vst_sdk2_3.zip audio/ardour Redistribution of the VST PlugIns SDK is not allowed ==== //depot/projects/soc2006/gabor_ports/MOVED#17 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1339 2007/04/06 21:48:08 gerald Exp $ +# $FreeBSD: ports/MOVED,v 1.1442 2007/08/03 07:24:48 clsung Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -22,6 +22,7 @@ # (e.g. upgraded to a later version), don't record it here. # # Port|Moved to|Date|Why +lang/tcl-tk-wrapper||2007-05-31|Replaced by tcl-wrapper and tk-wrapper net/ratoolset|net/irrtoolset|2002-11-16|software was renamed chinese/linux-netscape47-communicator||2002-11-17|security vulnerability chinese/linux-netscape47-navigator||2002-11-17|security vulnerability @@ -941,10 +942,8 @@ textproc/yaxi|textproc/ocaml-yaxi|2004-03-19|port renamed devel/camomile|devel/ocaml-camomile|2004-03-19|port renamed archivers/gshar+gunshar|archivers/sharutils|2004-03-19|port renamed -devel/imake|devel/imake-4|2004-03-19|removed, obsoleted by imake-4 long ago net/arpwatch-devel|net-mgmt/arpwatch-devel|2004-03-20|moved to better fitting category multimedia/ffmpeg045|multimedia/ffmpeg|2004-03-20|latest stable version is better -editors/emacs21|editors/emacs|2004-03-20|emacs 21.x moved to default port location editors/openoffice-1.1-gr|editors/openoffice-1.1-el|2004-03-20|correct ISO code print/rubber|textproc/rubber|2004-03-22|remove duplicate port print/libgnomeprint20||2004-03-23|removed obsolete port @@ -1131,7 +1130,6 @@ security/drwebd|security/drweb|2004-06-29|functionality already in security/drweb www/drivel|deskutils/drivel|2004-06-30|moved to category deskutils devel/autoconf257||2004-07-01|autotools cleanup -devel/automake17||2004-07-01|autotools cleanup devel/libtool14||2004-07-01|autotools cleanup math/libgmp-freebsd|math/libgmp4|2004-07-02|superseded by API compatible version devel/umbrello|devel/kdesdk3|2004-07-02|Umbrello was integrated into kdesdk package @@ -1211,7 +1209,6 @@ audio/libvorbis-aotuv|audio/libvorbis|2004-10-13|The aoTuV enhancement has been merged into the mainstream graphics/kolourpaint|graphics/kdegraphics3|2004-10-13|kolourpaint was integrated into the kdegraphics3 port graphics/kimagemapeditor|www/kdewebdev|2004-10-13|kimagemapeditor was integrated into the kdewebdev port -devel/automake18|devel/automake19|2004-10-15|automake18 replaced with automake19 www/zope-cmftransforms|www/zope-portaltransforms|2004-10-16|renamed by authors dns/bind9-sdb-mysql||2004-10-17|No longer maintained www/phpnuke||2004-10-17|security vulnerabilities and no longer maintained @@ -2241,12 +2238,9 @@ graphics/gstreamer-plugins-libmng|graphics/gstreamer-plugins-libmng80|2006-04-29|Not part of gstreamer 0.10 yet audio/gstreamer-plugins-mikmod|audio/gstreamer-plugins-mikmod80|2006-04-29|Not part of gstreamer 0.10 yet multimedia/gstreamer-plugins-mplex|multimedia/gstreamer-plugins-mplex80|2006-04-29|Not part of gstreamer 0.10 yet -audio/gstreamer-plugins-nas|audio/gstreamer-plugins-nas80|2006-04-29|Not part of gstreamer 0.10 yet audio/gstreamer-plugins-polypaudio|audio/gstreamer-plugins-pulse|2006-04-29|Project renamed audio/gstreamer-plugins-shout|audio/gstreamer-plugins-shout2|2006-04-29|Not part of gstreamer 0.10 yet audio/gstreamer-plugins-smoothwave|audio/gstreamer-plugins-smoothwave80|2006-04-29|Not part of gstreamer 0.10 yet -audio/gstreamer-plugins-sndfile|audio/gstreamer-plugins-sndfile80|2006-04-29|Not part of gstreamer 0.10 yet -multimedia/gstreamer-plugins-x264|multimedia/gstreamer-plugins-x26480|2006-04-29|Not part of gstreamer 0.10 yet graphics/gstreamer-plugins-jpeg-mmx|graphics/gstreamer-plugins-jpeg-mmx80|2006-04-29|Not part of gstreamer 0.10 yet audio/gstreamer-plugins-polyp|audio/gstreamer-plugins-pulse|2006-04-29|Project renamed www/evolution-caldav||2006-04-29|Now included in evolution-data-server and evolution @@ -2381,7 +2375,6 @@ emulators/linux_base-fc3||2006-07-04|Has expired: superseeded by linux_base-fc4 port misc/linux-opengroupware||2006-07-04|Has expired net/opengk||2006-07-04|Has expired: Latest version is from 2003-02-03. Use net/gatekeeper instead -security/p5-Crypt-OpenPGP||2006-07-04|Has expired: Crypt-OpenPGP was abandoned in 2002, use security/gnupg instead textproc/sed_inplace||2006-07-04|Has expired: This port is not required anymore textproc/xml4j||2006-07-04|Has expired: it has been replaced by textproc/xerces-j 8 years ago www/sitemapgen|www/google-sitemapgen|2006-07-05|Duplicate port @@ -2394,7 +2387,6 @@ japanese/phpgroupware||2006-04-10|removed at mainter request (because broken and vulnerabilities) www/p5-Catalyst|www/p5-Catalyst-Runtime|2006-07-10|follow CPAN split of package textproc/p5-JSON-Syck|textproc/p5-YAML-Syck|2006-07-12|The textproc/p5-YAML-Syck port now includes JSON functionality -sysutils/ledit||2006-07-14|Has expired: Does not build x11/settitle||2006-07-14|Has expired: Download unavailable anymore net-im/simicq|net-im/sim-im|2006-07-15|renamed cad/gschem|cad/geda-gschem|2006-07-16|renamed @@ -2492,11 +2484,7 @@ x11-themes/e17-theme-blue_default||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-carbon||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-detour||2006-11-01|Has expired: doesn't work with recent e17 -x11-themes/e17-theme-gant||2006-11-01|Has expired: doesn't work with recent e17 -x11-themes/e17-theme-japan2007||2006-11-01|Has expired: doesn't work with recent e17 -x11-themes/e17-theme-milky||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-neptun||2006-11-01|Has expired: doesn't work with recent e17 -x11-themes/e17-theme-simply_white||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-winter||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-mclaren||2006-11-01|Has expired: doesn't work with recent e17 x11-themes/e17-theme-grey||2006-11-01|Has expired: doesn't work with recent e17 @@ -2639,7 +2627,6 @@ ftp/gwget||2007-01-05|Has expired: fails to install multimedia/bsdav||2007-01-05|Has expired: does not work. We need to import bktv patches from OpenBSD to make it work multimedia/pitivi||2007-01-05|Has expired: Installs files during "make all" -misc/gnomesword||2007-01-05|Has expired: Configure fails graphics/opendx-samples||2007-01-05|Has expired: Changes permissions on installed file usr/local/dx/java/server/nets graphics/panorama||2007-01-05|Has expired: segfaults on startup (GUI only, render binary still works) graphics/qtutils||2007-01-05|Has expired: Does not build @@ -2898,3 +2885,257 @@ editors/flim113-emacs20||2007-04-02|Has expired: unfetchable, obsolete editors/semi113-emacs20||2007-04-02|Has expired: unfetchable, obsolete lang/gfortran|lang/gcc42|2007-04-06|Superseded by and equivalent to gcc42 +japanese/ptex-tetex|japanese/ptex|2007-04-08|Merged into japanese/ptex +japanese/ptex-base|japanese/ptex|2007-04-08|Merged into japanese/ptex +games/kgeography|misc/kdeedu3|2007-04-09|Merged into kdeedu +games/bos|games/boswars|2007-04-09|Project name changed +mail/p5-Mail-Box1|mail/p5-Mail-Box|2007-04-10|Has expired: obsolete, use mail/p5-Mail-Box instead +x11-themes/kde-icons-wasp||2007-04-10|Has expired: Unfetchable +x11-themes/kde-icons-sparkling||2007-04-10|Has expired: Unfetchable +audio/x4x||2007-04-10|Has expired: Does not build +audio/marlin||2007-04-10|Has expired: does not build with new nautilus-cd-burner +chinese/tatter-tools||2007-04-10|Has expired: Incorrect pkg-plist +chinese/vim-scdoc||2007-04-10|Has expired: Does not build +databases/mergeant||2007-04-10|Has expired: does not build with new libgnomedb +databases/pecl-paradox||2007-04-10|Has expired: Does not compile +deskutils/yank||2007-04-10|Has expired: Incomplete pkg-plist +emulators/kmamerun||2007-04-10|Has expired: Project was abandoned 4 years ago and expects an old version of XMAME, please use other frontends instead (like gxmame) +japanese/firefox-ja||2007-04-10|Has expired: Incomplete pkg-plist +japanese/lookup-xemacs||2007-04-10|Has expired: Does not install +lang/linux-hla||2007-04-10|Has expired: Does not compile +mail/vmailmgr||2007-04-10|Has expired: Incomplete pkg-plist +multimedia/qvamps||2007-04-10|Has expired: Touches filesystem prior to 'make install' +net-mgmt/sting||2007-04-10|Has expired: Broken on all supported versions of FreeBSD +net-mgmt/tas||2007-04-10|Has expired: Incomplete pkg-plist +net-p2p/verlihub-plugins||2007-04-10|Has expired: Does not configure, it needs at least verlihub 1.0 +news/inn-stable||2007-04-10|Has expired: Fails to patch +palm/malsync||2007-04-10|Has expired: Does not build with new pilot-link +russian/elm.language||2007-04-10|Has expired: Leaves behind files on deinstall +russian/pine.language||2007-04-10|Has expired: Leaves behind config file on deinstall +science/py-scipy03||2007-04-10|Has expired: Replaced by py-scipy +security/php4-cryptopp||2007-04-10|Has expired: Does not compile +sysutils/tct||2007-04-10|Has expired: this port is obsolete, please use sysutils/sleuthkit instead +textproc/ocaml-yaxi||2007-04-10|Has expired: Does not build +ukrainian/pine.language||2007-04-10|Has expired: Leaves behind config file on deinstall +www/mod_zap||2007-04-10|Has expired: Incomplete pkg-plist +www/sahana2||2007-04-10|Has expired: Conflicting dependencies: php4 vs php5 +www/urchin5||2007-04-10|Has expired: Does not install +databases/cyrus-smlacapd||2007-04-10|Has expired: this software is obsolete +databases/mysql-administrator||2007-04-11|Removed +devel/crossgo32||2007-04-14|Has expired: Archaic port +devel/crossgo32-djgpp2||2007-04-14|Removed, Archaic port +devel/crossgo32-djgpp2-pdcurses||2007-04-14|Removed, Archaic port +www/xsm|www/extsm|2007-04-16|was moved to resolve conflict with x11/xsm import +lang/tk-wrapper|x11-toolkits/tk-wrapper|2007-04-16|Moved to correct category +lang/gcc-objc|lang/gcc41|2007-04-21|Has expired, obsolete +cad/geda-projectmanager||2007-04-23|Has expired: project dead +audio/xmpeg3||2007-04-23|Has expired: does not work +japanese/dvipdfm|print/dvipdfmx|2007-04-24|Obsolete +audio/xmms-real-random||2007-04-24|Removed per maintainer's request, serious multimedia users have surely moved beyond xmms(1) +chinese/mldonkey-core||2007-04-26|Obsoleted by net-p2p/mldonkey version 2.8.5 +graphics/gstreamer-plugins-libcaca80||2007-04-29|Obsoleted, use 0.10.x version instead +devel/make||2007-04-29|Port was only useful on FreeBSD 4.x +multimedia/libdts|multimedia/libdca|2007-05-01|Project renamed +dns/dnscap||2007-05-03|Removed on authors request until it has reached stability +net-im/libgaim|net-im/libpurple|2007-05-03|Project renamed +net-im/gaim-devel|net-im/pidgin|2007-05-03|Project renamed +net-im/gaim-consoleui-devel|net-im/finch|2007-05-03|Project renamed +devel/imake-6|devel/imake|2007-05-19|Remove hardcoded version from portname +x11-fonts/xorg-fonts-encodings|x11-fonts/encodings|2007-05-19|Encoding fonts are now distributed separately +x11/xorg-documents|x11/xorg-docs|2007-05-19|X.org documentation now has its own distfile, rename accordingly +x11/xorg-manpages|||X.org manual pages are now installed with every single port +x11/xorg-clients|x11/xorg-apps|2007-05-19|Rename to new xorg-apps meta-port +x11/libXfont|x11-fonts/libXfont|2007-05-19|Move to the x11-fonts category +x11-servers/xorg-fontserver|x11-fonts/xfs|2007-05-19|Rename to follow X.org name +x11/xlibs|xorg-libraries|2007-05-25|Replaced by x11/xorg-libraries +multimedia/ffmpeg-devel|multimedia/ffmpeg|2007-05-25|Merged multimedia/ffmpeg-devel into multimedia/ffmpeg +devel/wfut||2007-05-27|Obsolete +net-im/gaim-hotkeys|net-im/pidgin-hotkeys|2007-05-28|Project renamed +devel/ruby-inline||2007-05-28|Has expired: New versions only available in rubygems. Use devel/rubygem-inline instead. +devel/tkref||2007-05-28|Has expired: is seriously outdated, take a look at http://www.tcl.tk/doc/ for TCL/TK documentation +net-p2p/amule1||2007-05-28|Has expired: use net-p2p/amule2 if you are running OSVERSION > 500000 +games/marathon-evil||2007-05-28|Has expired: Installed by games/alephone-scenarios with wrapper script +games/marathon2-data||2007-05-28|Has expired: Installed by games/alephone-data with wrapper script +net-im/tik||2007-05-28|Has expired: uses the old and unsupported TOC protocol, use net-im/aim or net-im/gaim instead +audio/gstreamer-plugins-a52dec80|audio/gstreamer-plugins-a52dec|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-artsd80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-audiofile80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-cdaudio80|audio/gstreamer-plugins-cdaudio|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-cdparanoia80|audio/gstreamer-plugins-cdparanoia|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-esound80|audio/gstreamer-plugins-esound|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-faac80|audio/gstreamer-plugins-faac|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-faad80|audio/gstreamer-plugins-faad|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-flac80|audio/gstreamer-plugins-flac|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-gsm80|audio/gstreamer-plugins-gsm|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-ivorbis80|audio/gstreamer-plugins-ivorbis|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-jack80|audio/gstreamer-plugins-jack|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-ladspa80|audio/gstreamer-plugins-ladspa|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-lame80|audio/gstreamer-plugins-lame|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-mad80|audio/gstreamer-plugins-mad|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-mikmod80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-musepack80|audio/gstreamer-plugins-musepack|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-musicbrainz80|audio/gstreamer-plugins-musicbrainz|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-nas80|audio/gstreamer-plugins-nas|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-ogg80|audio/gstreamer-plugins-ogg|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-polyp80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-shout280|audio/gstreamer-plugins-shout2|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-shout80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-sidplay80|audio/gstreamer-plugins-sidplay|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-smoothwave80||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-sndfile80|audio/gstreamer-plugins-sndfile|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-speex80|audio/gstreamer-plugins-speex|2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-plugins-vorbis80|audio/gstreamer-plugins-vorbis|2007-06-01|Gstreamer 0.8 has been removed +devel/gstreamer-plugins-gconf80|devel/gstreamer-plugins-gconf|2007-06-01|Gstreamer 0.8 has been removed +devel/gstreamer-plugins-gnomevfs80|devel/gstreamer-plugins-gnomevfs|2007-06-01|Gstreamer 0.8 has been removed +devel/gstreamer-plugins-sdl80|devel/gstreamer-plugins-sdl|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-aalib80|graphics/gstreamer-plugins-aalib|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-cairo80|graphics/gstreamer-plugins-cairo|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-gdkpixbuf80||2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-hermes80||2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-jpeg80|graphics/gstreamer-plugins-jpeg|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-libmng80||2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-libpng80|graphics/gstreamer-plugins-libpng|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-libvisual80|graphics/gstreamer-plugins-libvisual|2007-06-01|Gstreamer 0.8 has been removed +graphics/gstreamer-plugins-swfdec80|graphics/gstreamer-plugins-swfdec|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-ffmpeg80|multimedia/gstreamer-ffmpeg|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-all80|multimedia/gstreamer-plugins-all|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-core80|multimedia/gstreamer-plugins-core|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-dts80|multimedia/gstreamer-plugins-dts|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-dv80|multimedia/gstreamer-plugins-dv|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-dvd80|multimedia/gstreamer-plugins-dvd|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-libfame80||2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-mpeg2dec80|multimedia/gstreamer-plugins-mpeg2dec|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-mplex80||2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-theora80|multimedia/gstreamer-plugins-theora|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-x26480|multimedia/gstreamer-plugins-x264|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins-xvid80|multimedia/gstreamer-plugins-xvid|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-plugins80|multimedia/gstreamer-plugins|2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer80|multimedia/gstreamer|2007-06-01|Gstreamer 0.8 has been removed +multimedia/py-gstreamer80|multimedia/py-gstreamer|2007-06-01|Gstreamer 0.8 has been removed +net/gstreamer-plugins-libmms80|net/gstreamer-plugins-libmms|2007-06-01|Gstreamer 0.8 has been removed +sysutils/gstreamer-plugins-cdio80||2007-06-01|Gstreamer 0.8 has been removed +x11-toolkits/gstreamer-plugins-pango80|x11-toolkits/gstreamer-plugins-pango|2007-06-01|Gstreamer 0.8 has been removed +audio/goobox||2007-06-01|Gstreamer 0.8 has been removed +audio/jamboree||2007-06-01|Gstreamer 0.8 has been removed +audio/klira||2007-06-01|Gstreamer 0.8 has been removed +audio/lindele||2007-06-01|Gstreamer 0.8 has been removed +audio/gstreamer-monkeysaudio||2007-06-01|Gstreamer 0.8 has been removed +audio/tunesbrowser||2007-06-01|Gstreamer 0.8 has been removed +games/gnome-music-quiz||2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-editor||2007-06-01|Gstreamer 0.8 has been removed +multimedia/gstreamer-pitfdll||2007-06-01|Gstreamer 0.8 has been removed +multimedia/istanbul||2007-06-01|Gstreamer 0.8 has been removed +devel/agenda-libs||2007-06-02|Has expired: Agenda VR3 is dead for long time +devel/agenda-headers||2007-06-02|Has expired: Agenda VR3 is dead for long time +devel/agenda-snow-libs||2007-06-02|Has expired: Agenda VR3 is dead for long time +devel/agenda-static-libs||2007-06-02|Has expired: Agenda VR3 is dead for long time +devel/mipsel-linux-binutils||2007-06-02|Has expired: This is Agenda VR3-specific port, and Agenda VR3 is dead for long time. +devel/mipsel-linux-gcc||2007-06-02|Has expired: This is Agenda VR3-specific port, and Agenda VR3 is dead for long time. +devel/mipsel-linux-kernel-headers||2007-06-02|Has expired: This is Agenda VR3-specific port, and Agenda VR3 is dead for long time. +net/mrtg-ping-probe|net-mgmt/mrtg-ping-probe|2007-06-03|related ports mrtg was moved to net-mgmt from net +japanese/addttfont||2007-06-03|obsolete +japanese/p5-mkres||2007-06-03|obsolete +x11-toolkits/py-wmgeneral||2007-06-04|Renamed to x11-toolkits/py-wmdockapps +misc/gretl|math/gretl|2007-06-04|New category +devel/ups-debug||2007-06-04|Has expired: only runs on FreeBSD 4.X/386 +korean/han||2007-06-04|Has expired: Broken on all supported versions of FreeBSD +net/tspc2||2007-06-04|Has expired: development is discontinued +net-p2p/freenet||2007-06-04|Has expired: Does not work with existing Freenet network +net-p2p/libfreenet||2007-06-04|Has expired: Does not work with existing Freenet network +net-p2p/microdc||2007-06-04|Has expired: microdc is no longer in development. Consider using net-p2p/microdc2 instead +security/op||2007-06-04|Has expired: no longer available from any mastersite +shells/bash2||2007-06-04|Has expired: Old, unmaintained version, use shells/bash instead +sysutils/xperfmon||2007-06-04|Has expired: irrelevant for supported FreeBSD releases +textproc/ruby-html-parser||2007-06-04|Has expired: distfile and homepage disappeared +textproc/ruby-libxslt||2007-06-04|Has expired: Broken on all supported versions of FreeBSD +www/py-htmltestcase||2007-06-04|Has expired: Upstream site disappeared and dependency is set to expire +multimedia/snd-music-duplicates||2007-06-05|Has expired: Development has been ceased, successor is shareware. +audio/freebirth||2007-06-05|Has expired: Doesn't work on FreeBSD 5.0 and higher +net/sixxs-heartbeatd||2007-06-05|obsolete, use net/sixxs-aiccu instead +graphics/tgif-nls|graphics/tgif|2007-06-09|graphics/tgif now supports NLS by default +x11-wm/ion-3ds|x11-wm/ion-3|2007-06-10|Upstream project became -rc, soon to become release +mail/smx|mail/meta1|2007-06-10|Project renamed +devel/py-clientcookie||2007-06-10|Module rolled into www/py-mechanize by author +lang/ghc5||2007-07-11|Outdated software, removed on upstream's request +lang/ghc5-doc||2007-07-11|Outdated software, removed on upstream's request +devel/hs-popenhs||2007-07-11|Remove software depending on outdated lang/ghc5 +databases/p5-DBD-Pg-13||2007-06-14|Has expired: Use databases/p5-DBD-Pg instead +multimedia/audacious-docklet|multimedia/audacious-plugins|2007-06-15|Functionality folded into plugins package +net/cacti|net-mgmt/cacti|2007-06-18|Move to net-mgmt category +net/zabbix-agent|net-mgmt/zabbix-agent|2007-06-18|Move to net-mgmt category +graphics/gpdf|graphics/evince|2007-06-19|Obsolete port +deskutils/mnemo|deskutils/horde-mnemo|2007-06-21|Port renamed for consistency +deskutils/nag|deskutils/horde-nag|2007-06-21|Port renamed for consistency +deskutils/kronolith|deskutils/horde-kronolith|2007-06-21|Port renamed for consistency +devel/chora|devel/horde-chora|2007-06-21|Port renamed for consistency +ftp/gollem|ftp/horde-gollem|2007-06-21|Port renamed for consistency +mail/imp|mail/horde-imp|2007-06-21|Port renamed for consistency +mail/ingo|mail/horde-ingo|2007-06-21|Port renamed for consistency +mail/mimp|mail/horde-mimp|2007-06-21|Port renamed for consistency +mail/turba|mail/horde-turba|2007-06-21|Port renamed for consistency +security/jeta|security/horde-jeta|2007-06-21|Port renamed for consistency +graphics/digikamimageplugins|graphics/digikam|2007-07-02|Projects merged +ftp/lukemftp|ftp/tnftp|2007-07-02|Vendor name change +net/obnc||2007-07-03|Removed: A new version of this port is available from base system. +databases/p5-DBD-RAM||2007-07-03|Has expired: Only works on 4.x +databases/p5-DBD-File||2007-07-03|Has expired: Only usable on 4.x +databases/p5-DBI-137|databases/p5-DBI|2007-07-03|Only useful for 4.x +multimedia/libdivxencore||2007-07-04|Obsolete port +multimedia/libdivxdecore||2007-07-04|Obsolete port +multimedia/libdivxdecore-devel||2007-07-04|Obsolete port +multimedia/handbrake-gtk2||2007-07-04|Obsolete, getting old to keep unsupport version around +audio/amarokFS||2007-07-04|Removed +net/rrdtool|databases/rrdtool|2007-07-05|Move to better category +sysutils/cd-write||2007-07-06|Obsolete port +net/rubygems-rrdtool|databases/rubygems-rrdtool|2007-07-08|Chase move of databases/rrdtool +net/rrdman|databases/rrdman|2007-07-08|Chase move of databases/rrdtool +net/py-rrdpipe|databases/py-rrdpipe|2007-07-08|Chase move of databases/rrdtool +net/php5-rrdtool|databases/php5-rrdtool|2007-07-08|Chase move of databases/rrdtool +textproc/ruby-spreadsheet-excel|textproc/rubygem-spreadsheet-excel|2007-07-09|Port updated in rubygem version +net/gnet-glib2|net/gnet2|2007-07-09|Functionality merged into gnet2 +www/lynx-ssl|www/lynx|2007-07-10|SSL enabled by default in www/lynx +net-p2p/py-bittorrent-devel|net-p2p/py-bittorent|2007-07-10|Non-devel port have newer version +net-p2p/py-bittorrent-core-devel|net-p2p/py-bittorent-core|2007-07-10|Non-devel port have newer version +devel/libslang2-devel||2007-07-11|Non-devel port have newer version +graphics/hpoj||2007-07-14|Expired: project discontinued, please switch to print/hplip +net/jffnms|net-mgmt/jffnms|2007-07-14|move to net-mgmt/jffnms +java/linux-blackdown-jdk13||2007-07-22|Expired: unfixed security vulnerability +devel/rx||2007-07-22|Expired: has been decommissioned and is no longer developed +security/metasploit-devel|security/metasploit|2007-07-23|move to security/metasploit +x11/nvidia-driver-7184|x11/nvidia-driver-71xx|2007-07-23|moved to x11/nvidia-driver-71xx +x11/nvidia-driver-9631|x11/nvidia-driver-96xx|2007-07-23|moved to x11/nvidia-driver-96xx +french/fr-py-qt4-eric4|french/eric4|2007-07-25|Moved to french/eric4 +german/de-py-qt4-eric4|german/eric4|2007-07-25|Moved to german/eric4 +russian/ru-py-qt4-eric4|russian/eric4|2007-07-25|Moved to russian/eric4 +devel/py-qt4-eric4|devel/eric4|2007-07-25|Moved to devel/eric4 +science/liblr|science/liblinear|2007-07-28|Project renamed +games/freeciv-gtk|games/freeciv|2007-07-28|Dropped gtk1 support +games/freeciv-gtk2|games/freeciv|2007-07-28|Gtk2 is supported by default now +math/cvcl||2007-07-28|Has expired: CVC Lite is no longer supported. Please use CVC3 (math/cvc3) for all your validity checking needs! +www/p5-Kwiki-Archive-Rcs||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Archive-SVK||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Atom||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Cache||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Diff||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Edit-RequireUserName||2007-08-01|Has expired: Already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-GDGraphGenerator||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Infobox||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-ModPerl||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NavigationToolbar||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NewPage||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Notify-Mail||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-PagePrivacy||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChanges||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChangesRSS||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Revisions||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Search||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Theme-ColumnLayout||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserName||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserPreferences||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-VimMode||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-plugins||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Icons-Gnome||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +x11-fm/endeavour||2007-08-01|Has expired: Development ceased, this port should be updated to Endeavour Mark II +security/p5-openxpki-client-soap-lite||2007-08-01|Has expired: No longer maintained by Developers. +net-mgmt/aircrack|net-mgmt/aircrack-ng|2007-08-01|Has expired: Please use net-mgmt/aircrack-ng +databases/ruby-postgres|databases/rubygem-postgres|2007-08-03|Port updated in rubygem version ==== //depot/projects/soc2006/gabor_ports/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: ports/Makefile,v 1.99 2007/02/26 08:54:07 ru Exp $ +# $FreeBSD: ports/Makefile,v 1.102 2007/05/24 23:58:29 linimon Exp $ # SUBDIR += accessibility @@ -57,6 +57,7 @@ SUBDIR += www SUBDIR += x11 SUBDIR += x11-clocks +SUBDIR += x11-drivers SUBDIR += x11-fm SUBDIR += x11-fonts SUBDIR += x11-servers @@ -97,6 +98,7 @@ if [ "${INDEX_PRISTINE}" != "" ]; then \ export LOCALBASE=/nonexistentlocal; \ export X11BASE=/nonexistentx; \ + export USE_NONDEFAULT_X11BASE=1; \ fi; \ tmpdir=`/usr/bin/mktemp -d -t index` || exit 1; \ trap "rm -rf $${tmpdir}; exit 1" 1 2 3 5 10 13 15; \ @@ -151,14 +153,8 @@ SUPFLAGS+= -h ${SUPHOST} .endif update: -.if defined(PORTSNAP_UPDATE) +.if defined(SUP_UPDATE) && defined(PORTSSUPFILE) @echo "--------------------------------------------------------------" - @echo ">>> Running ${PORTSNAP}" - @echo "--------------------------------------------------------------" - @${PORTSNAP} ${PORTSNAP_FLAGS} fetch - @${PORTSNAP} ${PORTSNAP_FLAGS} update -.elif defined(SUP_UPDATE) && defined(PORTSSUPFILE) - @echo "--------------------------------------------------------------" @echo ">>> Running ${SUP}" @echo "--------------------------------------------------------------" @${SUP} ${SUPFLAGS} ${PORTSSUPFILE} @@ -171,5 +167,17 @@ @${ECHO_MSG} "Error: Please define PORTSSUPFILE before doing make update." @exit 1 .else - @${ECHO_MSG} "Error: Please define either PORTSNAP_UPDATE, SUP_UPDATE, or CVS_UPDATE first." + @echo "--------------------------------------------------------------" + @echo ">>> Running ${PORTSNAP}" + @echo "--------------------------------------------------------------" +.if !exists(${PORTSDIR}/.portsnap.INDEX) + @echo "Error: 'make update' uses portsnap(8) by default and" + @echo "needs ${PORTSDIR} to be created by portsnap on its first run." + @echo "Please run 'portsnap fetch extract' first." + @echo "You can also define SUP_UPDATE and PORTSSUPFILE to use csup(1)" + @echo "or CVS_UPDATE to use cvs(1) for updating." +.else + @${PORTSNAP} ${PORTSNAP_FLAGS} fetch + @${PORTSNAP} ${PORTSNAP_FLAGS} update +.endif .endif ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.apache.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.13 2006/11/07 09:11:53 clement Exp $ +# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.16 2007/07/22 12:43:00 clement Exp $ # # bsd.apache.mk - Apache related macros. # Author: Clement Laforet @@ -15,8 +15,15 @@ # : 1.3/13/2.0/20/2.1/2.2/1.3+/2.0+/2.1+/2.2+ # common*: common13, common20, common21 and common22 # +# Note: Setting USE_APACHE to "yes" is deprecated. It will set +# APACHE_PORT to www/apache13 and if WITH_APACHE2 (deprecated too) +# is defined, APACHE_PORT will be set to www/apache20 # -# + +#.if !defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) + +Apache_Pre_Include= bsd.apache.mk + .if defined(APACHE_COMPAT) USE_APACHE=yes .endif @@ -303,13 +310,13 @@ APACHEMODDIR= libexec/apache2 APACHEINCLUDEDIR=include/apache2 APACHEETCDIR= etc/apache2 -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .elif ${APACHE_VERSION} >= 21 AP_BUILDEXT= la APACHEMODDIR= libexec/apache${APACHE_VERSION} APACHEINCLUDEDIR=include/apache${APACHE_VERSION} APACHEETCDIR= etc/apache${APACHE_VERSION} -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .else AP_BUILDEXT= so APACHEMODDIR= libexec/apache @@ -346,6 +353,10 @@ .endif +#.endif #!defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) +#.if defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) +Apache_Post_Include= bsd.apache.mk + .if defined(AP_PORT_IS_SERVER) .if !target(print-closest-mirrors) print-closest-mirrors: @@ -393,7 +404,7 @@ .if defined(AP_GENPLIST) . if !exists(${PLIST}) @${ECHO} "===> Generating apache plist" - @${ECHO} "@unexec %D/sbin/apxs -e -A -n %%AP_NAME%% %D/%%APACHEMODDIR%%/%%AP_MODULE%%" > ${PLIST} + @${ECHO} "@unexec ${SED} -i '' '/LoadModule %%AP_NAME%%_module/d' %D/%%APACHEETCDIR%%/httpd.conf" >> ${PLIST} @${ECHO} "%%APACHEMODDIR%%/%%AP_MODULE%%" >> ${PLIST} @${ECHO} "@exec %D/sbin/apxs -e -A -n %%AP_NAME%% %D/%F" >> ${PLIST} @${ECHO} "@unexec echo \"Don't forget to remove all ${MODULENAME}-related directives in your httpd.conf\"">> ${PLIST} @@ -412,7 +423,6 @@ do-install: @${APXS} -i -A -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.${AP_BUILDEXT} .endif - .endif - .endif +#.endif # defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) ==== //depot/projects/soc2006/gabor_ports/Mk/bsd.autotools.mk#4 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.autotools.mk,v 1.28 2007/03/27 01:23:56 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.autotools.mk,v 1.30 2007/07/28 06:33:42 ade Exp $ # # Please view me with 4 column tabs! # @@ -11,21 +11,6 @@ Autotools_Include_MAINTAINER= ade@FreeBSD.org #--------------------------------------------------------------------------- -# IMPORTANT! READ ME! YES, THAT MEANS YOU! -# -# The "versioned" autotools referenced here are for BUILDING other ports -# only. THIS CANNOT BE STRESSED HIGHLY ENOUGH. Things WILL BREAK if you -# try to use them for anything other than ports/ work. This particularly -# includes use as a run-time dependency. -# -# If you need unmodified versions of autotools, such as for use in an -# IDE, then you MUST use the devel/gnu-* equivalents, and NOT these. -# See devel/anjuta and devel/kdevelop for examples. -# -# You have been WARNED! -#--------------------------------------------------------------------------- - -#--------------------------------------------------------------------------- # Entry point into the autotools system #--------------------------------------------------------------------------- # @@ -34,6 +19,10 @@ # 'tool' can currently be one of: # libtool, libltdl, autoconf, autoheader, automake, aclocal # +# There is also a special tool, called 'autotools', which is +# a convenience function to simply bring in dependencies of +# all the autotools. +# # 'version' is tool dependent # # ':env' is used to pecify that the environment variables are needed, @@ -75,10 +64,23 @@ AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/} .endfor -# XXX: temporary to highlight any missed ports in the conversion -# -.if defined(AUTOTOOL_libtool_inc) -IGNORE+= error: libtool:${AUTOTOOL_libtool_inc}:inc construct no longer available +#--------------------------------------------------------------------------- +# AUTOTOOLS handling (for build, runtime, and both) +#--------------------------------------------------------------------------- +.if defined(AUTOTOOL_autotools) +AUTOTOOLS_DEPENDS= ${LOCALBASE}/share/autotools:${PORTSDIR}/devel/autotools + +. if ${AUTOTOOL_autotools} == "build" +BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. elif ${AUTOTOOL_autotools} == "run" +RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. elif ${AUTOTOOL_autotools} == "both" +BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS} +RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. else +IGNORE+= Unknown autotools stanza: ${AUTOTOOL_autotools} +. endif + .endif #--------------------------------------------------------------------------- @@ -97,6 +99,7 @@ .if defined(AUTOTOOL_automake_env) AUTOMAKE_VERSION= ${AUTOTOOL_automake_env} +AUTOMAKE_SUFFIX= ${AUTOMAKE_VERSION:C/([0-9])(.*)/\1.\2/} # Make sure we specified a legal version of automake # @@ -106,12 +109,11 @@ # Set up the automake environment # -AUTOMAKE= ${LOCALBASE}/bin/automake${AUTOMAKE_VERSION} -AUTOMAKE_DIR= ${LOCALBASE}/share/automake${AUTOMAKE_VERSION} -ACLOCAL= ${LOCALBASE}/bin/aclocal${AUTOMAKE_VERSION} -ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${AUTOMAKE_VERSION} -AUTOMAKE_PATH= ${LOCALBASE}/libexec/automake${AUTOMAKE_VERSION}: -AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} +AUTOMAKE= ${LOCALBASE}/bin/automake-${AUTOMAKE_SUFFIX} +AUTOMAKE_DIR= ${LOCALBASE}/share/automake-${AUTOMAKE_SUFFIX} +ACLOCAL= ${LOCALBASE}/bin/aclocal-${AUTOMAKE_SUFFIX} +ACLOCAL_DIR= ${LOCALBASE}/share/aclocal-${AUTOMAKE_SUFFIX} +AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} AUTOMAKE_VERSION=${AUTOMAKE_VERSION} AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/devel/automake${AUTOMAKE_VERSION} BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS} @@ -143,6 +145,7 @@ .if defined(AUTOTOOL_autoconf_env) AUTOCONF_VERSION= ${AUTOTOOL_autoconf_env} +AUTOCONF_SUFFIX= ${AUTOCONF_VERSION:C/([0-9])(.*)/\1.\2/} # Make sure we specified a legal version of autoconf # @@ -152,16 +155,15 @@ # Set up the autoconf/autoheader environment # -AUTOCONF= ${LOCALBASE}/bin/autoconf${AUTOCONF_VERSION} -AUTOCONF_DIR= ${LOCALBASE}/share/autoconf${AUTOCONF_VERSION} -AUTOHEADER= ${LOCALBASE}/bin/autoheader${AUTOCONF_VERSION} -AUTOIFNAMES= ${LOCALBASE}/bin/ifnames${AUTOCONF_VERSION} -AUTOM4TE= ${LOCALBASE}/bin/autom4te${AUTOCONF_VERSION} -AUTORECONF= ${LOCALBASE}/bin/autoreconf${AUTOCONF_VERSION} -AUTOSCAN= ${LOCALBASE}/bin/autoscan${AUTOCONF_VERSION} -AUTOUPDATE= ${LOCALBASE}/bin/autoupdate${AUTOCONF_VERSION} -AUTOCONF_PATH= ${LOCALBASE}/libexec/autoconf${AUTOCONF_VERSION}: -AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE} +AUTOCONF= ${LOCALBASE}/bin/autoconf-${AUTOCONF_SUFFIX} +AUTOCONF_DIR= ${LOCALBASE}/share/autoconf-${AUTOCONF_SUFFIX} +AUTOHEADER= ${LOCALBASE}/bin/autoheader-${AUTOCONF_SUFFIX} +AUTOIFNAMES= ${LOCALBASE}/bin/ifnames-${AUTOCONF_SUFFIX} +AUTOM4TE= ${LOCALBASE}/bin/autom4te-${AUTOCONF_SUFFIX} +AUTORECONF= ${LOCALBASE}/bin/autoreconf-${AUTOCONF_SUFFIX} +AUTOSCAN= ${LOCALBASE}/bin/autoscan-${AUTOCONF_SUFFIX} +AUTOUPDATE= ${LOCALBASE}/bin/autoupdate-${AUTOCONF_SUFFIX} >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Aug 4 22:28:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 45D6316A41F; Sat, 4 Aug 2007 22:28:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1AA1216A41A for ; Sat, 4 Aug 2007 22:28:29 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1904513C45B for ; Sat, 4 Aug 2007 22:28:29 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74MSSSc082839 for ; Sat, 4 Aug 2007 22:28:28 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74MSSQK082817 for perforce@freebsd.org; Sat, 4 Aug 2007 22:28:28 GMT (envelope-from gabor@freebsd.org) Date: Sat, 4 Aug 2007 22:28:28 GMT Message-Id: <200708042228.l74MSSQK082817@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124696 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 22:28:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124696 Change 124696 by gabor@gabor_server on 2007/08/04 22:27:55 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/CHANGES#12 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.emacs.mk#7 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnome.mk#8 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.mail.mk#3 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.openssl.mk#3 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#39 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.subdir.mk#11 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#7 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.ruby.mk#6 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/scripts/security-check.awk#4 integrate .. //depot/projects/soc2006/gabor_destdir/UPDATING#14 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/CHANGES#12 (text+ko) ==== @@ -10,6 +10,22 @@ All ports committers are allowed to commit to this file. +20070804: +AUTHOR: gabor@FreeBSD.org +The following functional changes were made to bsd.*.mk and to +Tools/scripts/security-check.awk: + + * The variable definitions that cover command line tools, e.g. MKDIR, were + extracted from bsd.port.mk into bsd.commands.mk, so that we can + reuse them within the infrastructure later. + + * The old DESTDIR implementation was removed both from the infrastructure, + and from the individual ports. Variables like TARGETDIR should not longer + be used. + + * A new DESTDIR implementation has been added, implemented in bsd.destdir.mk. + The new implementation puts no requirements on the individual ports. + 20070730: AUTHOR: python@FreeBSD.org @@ -1385,4 +1401,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.76 2007/07/30 09:40:55 alexbl Exp $ +$FreeBSD: ports/CHANGES,v 1.77 2007/08/04 11:37:23 gabor Exp $ ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.emacs.mk#7 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.67 2007/07/16 18:05:18 nobutaka Exp $ +# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.68 2007/08/04 11:37:23 gabor Exp $ # # bsd.emacs.mk - 19990829 Shigeyuki Fukushima. # ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnome.mk#8 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.142 2007/07/23 09:35:27 rafan Exp $ +# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.143 2007/08/04 11:37:23 gabor Exp $ # $NetBSD: $ # $MCom: ports/Mk/bsd.gnome.mk,v 1.414 2007/03/13 01:24:54 marcus Exp $ # ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.mail.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.mail.mk,v 1.2 2006/08/04 12:34:41 erwin Exp $ +# $FreeBSD: ports/Mk/bsd.mail.mk,v 1.3 2007/08/04 11:37:23 gabor Exp $ # # Please view me with 4 column tabs! ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.openssl.mk#3 (text+ko) ==== @@ -2,7 +2,7 @@ # Date created: 31 May 2002 # Whom: dinoex # -# $FreeBSD: ports/Mk/bsd.openssl.mk,v 1.34 2006/10/08 09:38:38 dinoex Exp $ +# $FreeBSD: ports/Mk/bsd.openssl.mk,v 1.35 2007/08/04 11:37:23 gabor Exp $ # # Use of 'USE_OPENSSL=yes' includes this Makefile after bsd.ports.pre.mk # ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#39 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.577 2007/07/27 21:40:11 pav Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.579 2007/08/04 19:48:34 pav Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -604,11 +604,11 @@ # "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n". # The available sections chars are "123456789LN". # MAN_ -# - If your port does not install all man pages for all -# languages in MANLANG, language specific pages for +# - If your port does not install all man pages for all +# languages in MANLANG, language specific pages for # a language can be specified with this. For example, # if the port installs foo.1 in English, Japanese, and -# German, bar.1 in English only, and baz.3 in German +# German, bar.1 in English only, and baz.3 in German # only, set # MANLANG= "" de ja # MAN1= foo.1 @@ -1069,7 +1069,7 @@ # CHECKSUM_ALGORITHMS # - Different checksum algorithms to check for verifying the # integrity of the distfiles. The absence of the algorithm -# in distinfo doesn't make it fail. +# in distinfo doesn't make it fail. # Default: md5 sha256 # NO_CHECKSUM - Don't verify the checksum. Typically used when # when you noticed the distfile you just fetched has @@ -2051,6 +2051,9 @@ LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} . endif . endif +.endif + +.if defined(USE_XLIB) || defined(USE_XORG) # Add explicit X options to avoid problems with false positives in configure .if defined(GNU_CONFIGURE) CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.subdir.mk#11 (text+ko) ==== @@ -2,7 +2,7 @@ # ex:ts=4 # # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $FreeBSD: ports/Mk/bsd.port.subdir.mk,v 1.70 2007/05/25 00:09:37 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.port.subdir.mk,v 1.71 2007/08/04 11:37:24 gabor Exp $ # # The include file contains the default targets # for building ports subdirectories. ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.python.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.python.mk,v 1.98 2007/07/30 17:52:58 pav Exp $ +# $FreeBSD: ports/Mk/bsd.python.mk,v 1.99 2007/08/04 11:37:24 gabor Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.ruby.mk#6 (text+ko) ==== @@ -3,7 +3,7 @@ # # Created by: Akinori MUSHA # -# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.162 2007/07/15 09:39:05 stas Exp $ +# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.163 2007/08/04 11:37:24 gabor Exp $ # .if !defined(Ruby_Include) ==== //depot/projects/soc2006/gabor_destdir/Tools/scripts/security-check.awk#4 (text+ko) ==== ==== //depot/projects/soc2006/gabor_destdir/UPDATING#14 (text+ko) ==== @@ -6,6 +6,23 @@ time you update your ports collection, before attempting any port upgrades. +20070804: + AFFECTS: users of DESTDIR + AUTHOR: gabor@FreeBSD.org + +DESTDIR is a feature, that allows installation of ports into separate +environments, like jails. The previous implementation, introduced in the +August 2006, had some problems and was very expensive to maintain. It was +completely rolled back, and replaced with a brand new implementation utilizing +chroot. + +When DESTDIR is set, the system will chroot into the specified directory, mount +devfs, null mount the ports tree, then proceed with building and installing. +Your kernel must support nullfs (is available as loadable kernel module on +default installation). The target environment must be a full FreeBSD +installation. For advanced use, read comments at the beginning of +bsd.destdir.mk. + 20070730: AFFECTS: users of py-* AUTHOR: python@FreeBSD.org @@ -5489,4 +5506,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.531 2007/07/30 09:40:56 alexbl Exp $ +$FreeBSD: ports/UPDATING,v 1.532 2007/08/04 11:37:23 gabor Exp $ From owner-p4-projects@FreeBSD.ORG Sat Aug 4 22:29:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 658B316A41B; Sat, 4 Aug 2007 22:29:31 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2924A16A417 for ; Sat, 4 Aug 2007 22:29:31 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 26CA313C45A for ; Sat, 4 Aug 2007 22:29:31 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l74MTVm6082899 for ; Sat, 4 Aug 2007 22:29:31 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l74MTUZ8082896 for perforce@freebsd.org; Sat, 4 Aug 2007 22:29:30 GMT (envelope-from gabor@freebsd.org) Date: Sat, 4 Aug 2007 22:29:30 GMT Message-Id: <200708042229.l74MTUZ8082896@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124697 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 04 Aug 2007 22:29:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=124697 Change 124697 by gabor@gabor_server on 2007/08/04 22:29:12 IFC Affected files ... .. //depot/projects/soc2007/gabor_perlmk/CHANGES#2 integrate .. //depot/projects/soc2007/gabor_perlmk/MOVED#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.database.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.destdir.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.emacs.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gnome.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.mail.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.openssl.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#6 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.subdir.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.python.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.qt.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Mk/bsd.ruby.mk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/Tools/scripts/security-check.awk#2 integrate .. //depot/projects/soc2007/gabor_perlmk/UPDATING#2 integrate Differences ... ==== //depot/projects/soc2007/gabor_perlmk/CHANGES#2 (text+ko) ==== @@ -10,6 +10,22 @@ All ports committers are allowed to commit to this file. +20070804: +AUTHOR: gabor@FreeBSD.org +The following functional changes were made to bsd.*.mk and to +Tools/scripts/security-check.awk: + + * The variable definitions that cover command line tools, e.g. MKDIR, were + extracted from bsd.port.mk into bsd.commands.mk, so that we can + reuse them within the infrastructure later. + + * The old DESTDIR implementation was removed both from the infrastructure, + and from the individual ports. Variables like TARGETDIR should not longer + be used. + + * A new DESTDIR implementation has been added, implemented in bsd.destdir.mk. + The new implementation puts no requirements on the individual ports. + 20070730: AUTHOR: python@FreeBSD.org @@ -1385,4 +1401,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.76 2007/07/30 09:40:55 alexbl Exp $ +$FreeBSD: ports/CHANGES,v 1.77 2007/08/04 11:37:23 gabor Exp $ ==== //depot/projects/soc2007/gabor_perlmk/MOVED#2 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1436 2007/07/28 16:41:27 chinsan Exp $ +# $FreeBSD: ports/MOVED,v 1.1442 2007/08/03 07:24:48 clsung Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3112,3 +3112,30 @@ games/freeciv-gtk|games/freeciv|2007-07-28|Dropped gtk1 support games/freeciv-gtk2|games/freeciv|2007-07-28|Gtk2 is supported by default now math/cvcl||2007-07-28|Has expired: CVC Lite is no longer supported. Please use CVC3 (math/cvc3) for all your validity checking needs! +www/p5-Kwiki-Archive-Rcs||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Archive-SVK||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Atom||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Cache||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Diff||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Edit-RequireUserName||2007-08-01|Has expired: Already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-GDGraphGenerator||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Infobox||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-ModPerl||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NavigationToolbar||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-NewPage||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Notify-Mail||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-PagePrivacy||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChanges||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-RecentChangesRSS||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Revisions||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Search||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Theme-ColumnLayout||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserName||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-UserPreferences||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-VimMode||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-plugins||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +www/p5-Kwiki-Icons-Gnome||2007-08-01|Has expired: already bundled in www/p5-Kwiki (0.39 or later) +x11-fm/endeavour||2007-08-01|Has expired: Development ceased, this port should be updated to Endeavour Mark II +security/p5-openxpki-client-soap-lite||2007-08-01|Has expired: No longer maintained by Developers. +net-mgmt/aircrack|net-mgmt/aircrack-ng|2007-08-01|Has expired: Please use net-mgmt/aircrack-ng +databases/ruby-postgres|databases/rubygem-postgres|2007-08-03|Port updated in rubygem version ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.database.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.database.mk,v 1.18 2007/07/18 21:56:10 edwin Exp $ +# $FreeBSD: ports/Mk/bsd.database.mk,v 1.19 2007/08/02 05:42:21 delphij Exp $ # .if defined(_POSTMKINCLUDED) && !defined(Database_Post_Include) @@ -196,7 +196,7 @@ .if defined(USE_BDB) -_DB_PORTS= 2 3 40 41 42 43 44 3+ 40+ 41+ 42+ 43+ 44+ +_DB_PORTS= 2 3 40 41 42 43 44 45 3+ 40+ 41+ 42+ 43+ 44+ 45+ # Dependence lines for different db versions db2_DEPENDS= db2.0:${PORTSDIR}/databases/db2 db3_DEPENDS= db3.3:${PORTSDIR}/databases/db3 @@ -205,6 +205,7 @@ db42_DEPENDS= db-4.2.2:${PORTSDIR}/databases/db42 db43_DEPENDS= db-4.3.0:${PORTSDIR}/databases/db43 db44_DEPENDS= db-4.4.0:${PORTSDIR}/databases/db44 +db45_DEPENDS= db-4.5.0:${PORTSDIR}/databases/db45 # Detect db versions by finding some files db3_FIND= ${LOCALBASE}/include/db3/db.h db40_FIND= ${LOCALBASE}/include/db4/db.h @@ -212,13 +213,16 @@ db42_FIND= ${LOCALBASE}/include/db42/db.h db43_FIND= ${LOCALBASE}/include/db43/db.h db44_FIND= ${LOCALBASE}/include/db44/db.h +db45_FIND= ${LOCALBASE}/include/db45/db.h # For specifying [3, 40, 41, ..]+ -_DB_3P= 3 40 41 42 43 44 -_DB_40P= 40 41 42 43 44 -_DB_41P= 41 42 43 44 -_DB_42P= 42 43 44 -_DB_43P= 43 44 +_DB_3P= 3 ${_DB_40P} +_DB_40P= 40 ${_DB_41P} +_DB_41P= 41 ${_DB_42P} +_DB_42P= 42 ${_DB_43P} +_DB_43P= 43 ${_DB_44P} +_DB_44P= 44 ${_DB_45P} +_DB_45P= 45 # Override the global WITH_BDB_VER with the # port specific _WITH_BDB_VER @@ -342,6 +346,10 @@ BDB_LIB_NAME= db-4.4 BDB_LIB_CXX_NAME= db_cxx-4.4 BDB_LIB_DIR= ${LOCALBASE}/lib/db44 +. elif ${_BDB_VER} == 45 +BDB_LIB_NAME= db-4.5 +BDB_LIB_CXX_NAME= db_cxx-4.5 +BDB_LIB_DIR= ${LOCALBASE}/lib/db45 . endif BDB_LIB_NAME?= db${_BDB_VER} BDB_LIB_CXX_NAME?= db${_BDB_VER}_cxx ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.destdir.mk#2 (text+ko) ==== @@ -69,20 +69,23 @@ _DESTDIRMKINCLUDED= yes +.if defined(WITH_DESTDIR_DEBUG) +DEBUG_MSG= ${ECHO_MSG} "DEBUG:" +.else +DEBUG_MSG= ${TRUE} +.endif + DESTDIR_ENV_LIST?= DESTDIR_ENV= CHROOTED=yes .for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} DESTDIR_ENV+= ${_var}="${${_var}}" .endfor -WITH_EXPERIMENTAL_DESTDIR?= no - # Processing DESTDIR_MOUNT_LIST into something more machine-readable # VAR:HOST_PATH:DEST_PATH # VAR -> VAR:${VAR}:TMP # VAR:HOST_PATH -> VAR:HOST_PATH:TMP DESTDIR_MOUNT_LIST?= PORTSDIR DISTDIR -#DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC _DESTDIR_MOUNT_LIST= .for _entry in ${DESTDIR_MOUNT_LIST} __entry=${_entry} @@ -110,12 +113,7 @@ .if !target(do-chroot) do-chroot: - @if [ "${WITH_EXPERIMENTAL_DESTDIR}" = "no" ]; then \ - ${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ - ${ECHO_CMD} "===> if you want to use it."; \ - exit 0; \ - fi; \ - if [ ! -d ${DESTDIR} ]; then \ + @if [ ! -d ${DESTDIR} ]; then \ ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \ ${ECHO_MSG} "===> Please set DESTDIR to a valid jail environment."; \ exit 1; \ @@ -128,16 +126,16 @@ for _dir in tmp dev; do \ [ -d $${_destdir}/$${_dir} ] || \ if ${MKDIR} $${_destdir}/$${_dir}; then \ - ${ECHO_MSG} "=> /$${_dir} subdirectory has been successfully created"; \ + ${ECHO_MSG} "===> /$${_dir} subdirectory has been successfully created"; \ _created_mountpoints_list="$${_destdir}/$${_dir} $${_created_mountpoints_list}"; \ else \ - ${ECHO_MSG} "=> /$${_dir} subdirectory could not be created"; \ + ${ECHO_MSG} "===> /$${_dir} subdirectory could not be created"; \ exit 2; \ fi; \ done; \ - ${ECHO_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ + ${DEBUG_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ for _entry in ${_DESTDIR_MOUNT_LIST}; do \ - ${ECHO_MSG} "===> Processing $${_entry}"; \ + ${DEBUG_MSG} "Processing $${_entry}"; \ _mount_var=$${_entry%%:*}; \ _tp=$${_entry#*:}; \ _host_path=`${REALPATH} $${_tp%:*}`; \ @@ -145,81 +143,80 @@ _full_dest_path=`${REALPATH} $${_destdir}/$${_dest_path}`; \ _entry_was_created=0; \ _entry_should_mount=0; \ - ${ECHO_CMD} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ + ${DEBUG_MSG} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ if [ "$${_dest_path}" = "___temp___" ]; then \ - ${ECHO_CMD} "Creating temporary mount point"; \ + ${DEBUG_MSG} "Creating temporary mount point"; \ if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \ - ${ECHO_CMD} "Temporary mount point $${_full_dest_path} created successfully"; \ + ${DEBUG_MSG} "Temporary mount point $${_full_dest_path} created successfully"; \ _entry_was_created=1; \ _entry_should_mount=1; \ _dest_path=$${_full_dest_path#$${_destdir}}; \ _created_mountpoints_list="$${_full_dest_path} $${_created_mountpoints_list}"; \ else \ - ${ECHO_CMD} "Failed to create temporary mount point"; \ + ${ECHO_MSG} "===> Failed to create temporary mount point"; \ exit 9; \ fi; \ else \ - ${ECHO_CMD} "Checking if already mounted"; \ + ${DEBUG_MSG} "Checking if already mounted"; \ if ${MOUNT}|${GREP} -qs "^$${_host_path} on $${_full_dest_path} ("; then \ - ${ECHO_CMD} "$${_host_path} is already mounted on $${_full_dest_path}"; \ + ${DEBUG_MSG} "$${_host_path} is already mounted on $${_full_dest_path}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "$${_host_path} is not mounted on $${_full_dest_path}"; \ + ${DEBUG_MSG} "$${_host_path} is not mounted on $${_full_dest_path}"; \ _entry_should_mount=1; \ fi; \ fi; \ [ -d $${_full_dest_path} ] || \ if ${MKDIR} $${_full_dest_path}; then \ - ${ECHO_CMD} "Mount point $${_full_dest_path} created"; \ + ${DEBUG_MSG} "Mount point $${_full_dest_path} created"; \ _entry_was_created=1; \ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ else \ - ${ECHO_CMD} "Mount point $${_full_dest_path} could not be created"; \ + ${ECHO_MSG} "===> Mount point $${_full_dest_path} could not be created"; \ exit 7; \ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ - ${ECHO_CMD} "Dir $${_host_path} mounted"; \ + ${DEBUG_MSG} "Directory $${_host_path} mounted"; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - ${ECHO_CMD} "Dir $${_host_path} could not be mounted"; \ + ${ECHO_MSG} "===> Dir $${_host_path} could not be mounted"; \ [ "$${_entry_was_created}" = "0" ] || \ ${RMDIR} $${_full_dest_path} || ${TRUE}; \ exit 8; \ fi; \ done; \ - ${ECHO_CMD} "Handling devfs separately"; \ + ${DEBUG_MSG} "Handling devfs separately"; \ _full_dest_path=$${_destdir}/dev; \ ${MOUNT}|${GREP} -qs "^devfs on $${_full_dest_path} (" || \ if ${MOUNT_DEVFS} $${_full_dest_path}; then \ - ${ECHO_CMD} "devfs mounted"; \ + ${DEBUG_MSG} "devfs mounted"; \ _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ else \ - ${ECHO_CMD} "devfs could not be mounted"; \ + ${ECHO_MSG} "===> devfs could not be mounted"; \ [ -n "$${_created_mountpoints_list%%* $${_destdir}/dev *}" ] || \ ${RMDIR} $${_destdir}/dev || ${TRUE}; \ exit 9; \ fi; \ _var_path_list="$${_var_path_list} DEVFS=/dev"; \ - ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list}"; \ - ${ECHO_CMD} "Things we created: $${_created_mountpoints_list}"; \ - ${ECHO_CMD} "_var_path_list: $${_var_path_list}"; \ - ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ + ${DEBUG_MSG} "Things we mounted: $${_mounted_entries_list}"; \ + ${DEBUG_MSG} "Things we created: $${_created_mountpoints_list}"; \ + ${DEBUG_MSG} "_var_path_list: $${_var_path_list}"; \ + ${ECHO_MSG} "===> Starting chrooted make in ${DESTDIR}..."; \ export $${_var_path_list}; \ ${CHROOT} $${_destdir} ${SH} -c "\ cd $${PORTSDIR}${.CURDIR:S|^${PORTSDIR}||}; \ ${SETENV} -i ${DESTDIR_ENV} $${_var_path_list} ${MAKE} ${.TARGETS}" && \ - ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} succeeded" || \ - ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} failed"; \ - ${ECHO_CMD} "===> Cleaning up..."; \ + ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} succeeded" || \ + ${ECHO_MSG} "===> Chrooted make in ${DESTDIR} failed"; \ + ${ECHO_MSG} "===> Cleaning up..."; \ for _entry in $${_mounted_entries_list}; do \ ${UMOUNT} -f $${_entry} || ${TRUE}; \ done; \ for _entry in $${_created_mountpoints_list}; do \ ${RMDIR} $${_entry} || ${TRUE}; \ done; \ - ${ECHO_CMD} "===> Congratulations!"; \ exit 0 .endif # !target(do-chroot) .endif # !defined(_DESTDIRMKINCLUDED) ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.emacs.mk#2 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.67 2007/07/16 18:05:18 nobutaka Exp $ +# $FreeBSD: ports/Mk/bsd.emacs.mk,v 1.68 2007/08/04 11:37:23 gabor Exp $ # # bsd.emacs.mk - 19990829 Shigeyuki Fukushima. # ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.gnome.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.142 2007/07/23 09:35:27 rafan Exp $ +# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.143 2007/08/04 11:37:23 gabor Exp $ # $NetBSD: $ # $MCom: ports/Mk/bsd.gnome.mk,v 1.414 2007/03/13 01:24:54 marcus Exp $ # ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.mail.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.mail.mk,v 1.2 2006/08/04 12:34:41 erwin Exp $ +# $FreeBSD: ports/Mk/bsd.mail.mk,v 1.3 2007/08/04 11:37:23 gabor Exp $ # # Please view me with 4 column tabs! ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.openssl.mk#2 (text+ko) ==== @@ -2,7 +2,7 @@ # Date created: 31 May 2002 # Whom: dinoex # -# $FreeBSD: ports/Mk/bsd.openssl.mk,v 1.34 2006/10/08 09:38:38 dinoex Exp $ +# $FreeBSD: ports/Mk/bsd.openssl.mk,v 1.35 2007/08/04 11:37:23 gabor Exp $ # # Use of 'USE_OPENSSL=yes' includes this Makefile after bsd.ports.pre.mk # ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.mk#6 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.577 2007/07/27 21:40:11 pav Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.579 2007/08/04 19:48:34 pav Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -604,11 +604,11 @@ # "man/mann/bar.n", set "MAN1=foo.1" and "MANN=bar.n". # The available sections chars are "123456789LN". # MAN_ -# - If your port does not install all man pages for all -# languages in MANLANG, language specific pages for +# - If your port does not install all man pages for all +# languages in MANLANG, language specific pages for # a language can be specified with this. For example, # if the port installs foo.1 in English, Japanese, and -# German, bar.1 in English only, and baz.3 in German +# German, bar.1 in English only, and baz.3 in German # only, set # MANLANG= "" de ja # MAN1= foo.1 @@ -1069,7 +1069,7 @@ # CHECKSUM_ALGORITHMS # - Different checksum algorithms to check for verifying the # integrity of the distfiles. The absence of the algorithm -# in distinfo doesn't make it fail. +# in distinfo doesn't make it fail. # Default: md5 sha256 # NO_CHECKSUM - Don't verify the checksum. Typically used when # when you noticed the distfile you just fetched has @@ -1981,6 +1981,9 @@ LIB_DEPENDS+= X11.6:${X_LIBRARIES_PORT} . endif . endif +.endif + +.if defined(USE_XLIB) || defined(USE_XORG) # Add explicit X options to avoid problems with false positives in configure .if defined(GNU_CONFIGURE) CONFIGURE_ARGS+=--x-libraries=${X11BASE}/lib --x-includes=${X11BASE}/include ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.port.subdir.mk#2 (text+ko) ==== @@ -2,7 +2,7 @@ # ex:ts=4 # # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 -# $FreeBSD: ports/Mk/bsd.port.subdir.mk,v 1.70 2007/05/25 00:09:37 linimon Exp $ +# $FreeBSD: ports/Mk/bsd.port.subdir.mk,v 1.71 2007/08/04 11:37:24 gabor Exp $ # # The include file contains the default targets # for building ports subdirectories. ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.python.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ # -*- mode: Makefile; tab-width: 4; -*- # ex: ts=4 # -# $FreeBSD: ports/Mk/bsd.python.mk,v 1.96 2007/07/30 09:40:56 alexbl Exp $ +# $FreeBSD: ports/Mk/bsd.python.mk,v 1.99 2007/08/04 11:37:24 gabor Exp $ # .if !defined(_POSTMKINCLUDED) && !defined(Python_Pre_Include) @@ -174,7 +174,7 @@ # - Canonical directory name for easy_install egg packages. # default: ${PYDISTUTILS_PKGNAME:C/[^A-Za-z0-9.]+/_/g}-${PYDISTUTILS_PKGVERSION:C/[^A-Za-z0-9.]+/_/g}-${PYTHON_VERSION:S/thon//}${PYEASYINSTALL_OSARCH}.egg # -# PYEASYINSATLL_OSARCH +# PYEASYINSTALL_OSARCH # - Platform identifier for easy_install. # default: -${OPSYS:L}-${_OSRELEASE}-${ARCH} # if PYEASYINSTALL_ARCHDEP is defined. @@ -182,11 +182,11 @@ # PYEASYINSTALL_CMD - Full file path to easy_install command. # default: ${LOCALBASE}/bin/easy_install-${PYTHON_VER} # -# PYEASYINSTALL_INSTALL_ARGS +# PYEASYINSTALL_INSTALLARGS # - Arguments to easy_install command for egg installation. # default: -q -N -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # -# PYEASYINSTALL_UNINSTALL_ARGS +# PYEASYINSTALL_UNINSTALLARGS # - Arguments to easy_install command for egg uninstallation. # default: -q -m -S ${PYTHON_SITELIBDIR} ${PYDISTUTILS_PKGNAME}==${PYDISTUTILS_PKGVERSION} # ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.qt.mk#2 (text+ko) ==== @@ -34,7 +34,14 @@ CONFIGURE_ARGS+=-no-3dnow -no-sse -no-sse2 .endif #defined(PACKAGE_BUILDING) -.if defined(QT_WANT_VERBOSE_CONFIGURE) +.if !defined(WANT_QT_DEBUG) +CONFIGURE_ARGS+=-no-separate-debug-info +PLIST_SUB+= DEBUG="@comment " +.else +PLIST_SUB+= DEBUG="" +.endif + +.if defined(WANT_QT_VERBOSE_CONFIGURE) CONFIGURE_ARGS+=-v .endif .endif #defined(QT_DIST) @@ -44,6 +51,11 @@ UIC?= ${QT_PREFIX}/bin/uic-qt4 QMAKE?= ${QT_PREFIX}/bin/qmake-qt4 QMAKESPEC?= ${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++ +QMAKEFLAGS+= QMAKE_CC="${CC}" QMAKE_CXX="${CXX}" QMAKE_LINK_SHLIB="${CXX}" \ + QMAKE_LINK="${CXX}" QMAKE_CFLAGS="${CFLAGS}" \ + QMAKE_CXXFLAGS="${CXXFLAGS}" \ + QMAKE_CFLAGS_THREAD="${PTHREAD_CFLAGS}" \ + QMAKE_LFLAGS_THREAD="${PTHREAD_LIBS}" .if ${OSVERSION} < 700042 && ${ARCH} == "amd64" QTCPPFLAGS?= -fno-gcse @@ -101,24 +113,111 @@ uic3_DEPENDS= devel/qt4-uic3 xml_DEPENDS= textproc/qt4-xml +accessible_build_DEPENDS= ${accessible_DEPENDS} +assistant_build_DEPENDS= ${assistant_DEPENDS} +assistantclient_build_DEPENDS= ${assistantclient_DEPENDS} +assistantclient_build_NAME= ${assistantclient_NAME} +codecs-cn_build_DEPENDS= ${codecs-cn_DEPENDS} +codecs-jp_build_DEPENDS= ${codecs-jp_DEPENDS} +codecs-kr_build_DEPENDS= ${codecs-kr_DEPENDS} +codecs-tw_build_DEPENDS= ${codecs-tw_DEPENDS} +corelib_build_DEPENDS= ${corelib_DEPENDS} +dbus_build_DEPENDS= ${dbus_DEPENDS} +designer_build_DEPENDS= ${designer_DEPENDS} +doc_build_DEPENDS= ${doc_DEPENDS} +gui_build_DEPENDS= ${gui_DEPENDS} +iconengines_build_DEPENDS= ${iconengines_DEPENDS} +imageformats_build_DEPENDS= ${imageformats_DEPENDS} +inputmethods_build_DEPENDS= ${inputmethods_DEPENDS} +linguist_build_DEPENDS= ${linguist_DEPENDS} +makeqpf_build_DEPENDS= ${makeqpf_DEPENDS} +moc_build_DEPENDS= ${moc_DEPENDS} +network_build_DEPENDS= ${network_DEPENDS} +opengl_build_DEPENDS= ${opengl_DEPENDS} +pixeltool_build_DEPENDS= ${pixeltool_DEPENDS} +porting_build_DEPENDS= ${porting_DEPENDS} +qdbusviewer_build_DEPENDS= ${qdbusviewer_DEPENDS} +qmake_build_DEPENDS= ${qmake_DEPENDS} +qmake_build_QT4_PREFIX= ${qmake_QT4_PREFIX} +qt3support_build_DEPENDS= ${qt3support_DEPENDS} +qtconfig_build_DEPENDS= ${qtconfig_DEPENDS} +qtestlib_build_DEPENDS= ${qtestlib_DEPENDS} +qvfb_build_DEPENDS= ${qvfb_DEPENDS} +rcc_build_DEPENDS= ${rcc_DEPENDS} +script_build_DEPENDS= ${script_DEPENDS} +sql_build_DEPENDS= ${sql_DEPENDS} +svg_build_DEPENDS= ${svg_DEPENDS} +uic_build_DEPENDS= ${uic_DEPENDS} +uic3_build_DEPENDS= ${uic3_DEPENDS} +xml_build_DEPENDS= ${xml_DEPENDS} + +accessible_run_DEPENDS= ${accessible_DEPENDS} +assistant_run_DEPENDS= ${assistant_DEPENDS} +assistantclient_run_DEPENDS= ${assistantclient_DEPENDS} +assistantclient_run_NAME= ${assistantclient_NAME} +codecs-cn_run_DEPENDS= ${codecs-cn_DEPENDS} +codecs-jp_run_DEPENDS= ${codecs-jp_DEPENDS} +codecs-kr_run_DEPENDS= ${codecs-kr_DEPENDS} +codecs-tw_run_DEPENDS= ${codecs-tw_DEPENDS} +corelib_run_DEPENDS= ${corelib_DEPENDS} +dbus_run_DEPENDS= ${dbus_DEPENDS} +designer_run_DEPENDS= ${designer_DEPENDS} +doc_run_DEPENDS= ${doc_DEPENDS} +gui_run_DEPENDS= ${gui_DEPENDS} +iconengines_run_DEPENDS= ${iconengines_DEPENDS} +imageformats_run_DEPENDS= ${imageformats_DEPENDS} +inputmethods_run_DEPENDS= ${inputmethods_DEPENDS} +linguist_run_DEPENDS= ${linguist_DEPENDS} +makeqpf_run_DEPENDS= ${makeqpf_DEPENDS} +moc_run_DEPENDS= ${moc_DEPENDS} +network_run_DEPENDS= ${network_DEPENDS} +opengl_run_DEPENDS= ${opengl_DEPENDS} +pixeltool_run_DEPENDS= ${pixeltool_DEPENDS} +porting_run_DEPENDS= ${porting_DEPENDS} +qdbusviewer_run_DEPENDS= ${qdbusviewer_DEPENDS} +qmake_run_DEPENDS= ${qmake_DEPENDS} +qmake_run_QT4_PREFIX= ${qmake_QT4_PREFIX} +qt3support_run_DEPENDS= ${qt3support_DEPENDS} +qtconfig_run_DEPENDS= ${qtconfig_DEPENDS} +qtestlib_run_DEPENDS= ${qtestlib_DEPENDS} +qvfb_run_DEPENDS= ${qvfb_DEPENDS} +rcc_run_DEPENDS= ${rcc_DEPENDS} +script_run_DEPENDS= ${script_DEPENDS} +sql_run_DEPENDS= ${sql_DEPENDS} +svg_run_DEPENDS= ${svg_DEPENDS} +uic_run_DEPENDS= ${uic_DEPENDS} +uic3_run_DEPENDS= ${uic3_DEPENDS} +xml_run_DEPENDS= ${xml_DEPENDS} + .if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include) Qt_Post_Include= bsd.qt.mk +.for component in ${_QT_COMPONENTS_ALL} +_QT_COMPONENTS_SUFFIXED+=${component} ${component}_build ${component}_run +.endfor + .if defined(QT_COMPONENTS) .for ext in ${QT_COMPONENTS} -${ext}_QT4_PREFIX?= qt4- -${ext}_QT4_VERSION?= ${QT4_VERSION} -${ext}_NAME?= ${ext} -.if ${_QT_COMPONENTS_ALL:M${ext}}!= "" -BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} -RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +${ext}_QT4_PREFIX?= qt4- +${ext}_QT4_VERSION?= ${QT4_VERSION} +${ext}_NAME?= ${ext} +_${ext}= ${ext} +.if ${_QT_COMPONENTS_SUFFIXED:M${ext}}!= "" +.if ${_${ext}:M*_build}!= "" +BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME:S/_build//}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.elif ${_${ext}:M*_run}!= "" +RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME:S/_run//}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.else +BUILD_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +RUN_DEPENDS+= ${${ext}_QT4_PREFIX}${${ext}_NAME}>=${${ext}_QT4_VERSION}:${PORTSDIR}/${${ext}_DEPENDS} +.endif .else IGNORE= cannot install: unknown Qt4 component -- ${ext} .endif .endfor .else -BUILD_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 -RUN_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 +BUILD_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 +RUN_DEPENDS+= qt4>=${QT4_VERSION}:${PORTSDIR}/devel/qt4 .endif .endif ==== //depot/projects/soc2007/gabor_perlmk/Mk/bsd.ruby.mk#2 (text+ko) ==== @@ -3,7 +3,7 @@ # # Created by: Akinori MUSHA # -# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.162 2007/07/15 09:39:05 stas Exp $ +# $FreeBSD: ports/Mk/bsd.ruby.mk,v 1.163 2007/08/04 11:37:24 gabor Exp $ # .if !defined(Ruby_Include) ==== //depot/projects/soc2007/gabor_perlmk/Tools/scripts/security-check.awk#2 (text+ko) ==== ==== //depot/projects/soc2007/gabor_perlmk/UPDATING#2 (text+ko) ==== @@ -6,6 +6,23 @@ time you update your ports collection, before attempting any port upgrades. +20070804: + AFFECTS: users of DESTDIR + AUTHOR: gabor@FreeBSD.org + +DESTDIR is a feature, that allows installation of ports into separate +environments, like jails. The previous implementation, introduced in the +August 2006, had some problems and was very expensive to maintain. It was +completely rolled back, and replaced with a brand new implementation utilizing +chroot. + +When DESTDIR is set, the system will chroot into the specified directory, mount +devfs, null mount the ports tree, then proceed with building and installing. +Your kernel must support nullfs (is available as loadable kernel module on +default installation). The target environment must be a full FreeBSD +installation. For advanced use, read comments at the beginning of +bsd.destdir.mk. + 20070730: AFFECTS: users of py-* AUTHOR: python@FreeBSD.org @@ -5489,4 +5506,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.531 2007/07/30 09:40:56 alexbl Exp $ +$FreeBSD: ports/UPDATING,v 1.532 2007/08/04 11:37:23 gabor Exp $