From owner-svn-src-user@FreeBSD.ORG Sun Jun 13 16:27:46 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 217FF1065677; Sun, 13 Jun 2010 16:27:44 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 120FA8FC14; Sun, 13 Jun 2010 16:27:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5DGRhHL083891; Sun, 13 Jun 2010 16:27:43 GMT (envelope-from imp@svn.freebsd.org) Received: (from imp@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5DGRhrC083889; Sun, 13 Jun 2010 16:27:43 GMT (envelope-from imp@svn.freebsd.org) Message-Id: <201006131627.o5DGRhrC083889@svn.freebsd.org> From: Warner Losh Date: Sun, 13 Jun 2010 16:27:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209133 - user/imp/tbemd/contrib/smbfs X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jun 2010 16:27:46 -0000 Author: imp Date: Sun Jun 13 16:27:43 2010 New Revision: 209133 URL: http://svn.freebsd.org/changeset/base/209133 Log: Revert changes I made here: this file is unused and maybe should be deleted instead Modified: user/imp/tbemd/contrib/smbfs/Makefile Modified: user/imp/tbemd/contrib/smbfs/Makefile ============================================================================== --- user/imp/tbemd/contrib/smbfs/Makefile Sun Jun 13 13:30:26 2010 (r209132) +++ user/imp/tbemd/contrib/smbfs/Makefile Sun Jun 13 16:27:43 2010 (r209133) @@ -9,7 +9,7 @@ # deinstall-src undo corresponding install-* target # clean cleanup source tree -.if ${MACHINE_CPUARCH} != "i386" +.if ${MACHINE_ARCH} != "i386" . error "only IA32 machines supported" .endif From owner-svn-src-user@FreeBSD.ORG Thu Jun 17 09:36:24 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48C35106564A; Thu, 17 Jun 2010 09:36:24 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 383D48FC0C; Thu, 17 Jun 2010 09:36:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5H9aOG1082425; Thu, 17 Jun 2010 09:36:24 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5H9aOjX082422; Thu, 17 Jun 2010 09:36:24 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201006170936.o5H9aOjX082422@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 17 Jun 2010 09:36:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209245 - user/ae/usr.sbin/sade X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jun 2010 09:36:24 -0000 Author: ae Date: Thu Jun 17 09:36:23 2010 New Revision: 209245 URL: http://svn.freebsd.org/changeset/base/209245 Log: Rewrap long lines. Modified: user/ae/usr.sbin/sade/customdlg.c user/ae/usr.sbin/sade/parted.c Modified: user/ae/usr.sbin/sade/customdlg.c ============================================================================== --- user/ae/usr.sbin/sade/customdlg.c Thu Jun 17 08:49:31 2010 (r209244) +++ user/ae/usr.sbin/sade/customdlg.c Thu Jun 17 09:36:23 2010 (r209245) @@ -159,7 +159,8 @@ dlg_focus_prev(struct custom_dlg *dlg) } DLG_LABEL * -dlg_add_label(struct custom_dlg *dlg, int y, int x, int w, int h, const char *title) +dlg_add_label(struct custom_dlg *dlg, int y, int x, int w, int h, + const char *title) { DLG_LABEL *item; @@ -367,7 +368,8 @@ dlg_add_button(struct custom_dlg *dlg, i } static int -dlg_button_proc(struct custom_dlg *dlg, DLG_BUTTON *item, int (*key_handler)(int )) +dlg_button_proc(struct custom_dlg *dlg, DLG_BUTTON *item, + int (*key_handler)(int )) { int key, ret = 0; @@ -641,7 +643,8 @@ dlg_checkbox_toggle(struct custom_dlg *d } static int -dlg_checkbox_proc(struct custom_dlg *dlg, DLG_CHECKBOX *item, int (*key_handler)(int )) +dlg_checkbox_proc(struct custom_dlg *dlg, DLG_CHECKBOX *item, + int (*key_handler)(int )) { int key, ret = 0; @@ -760,8 +763,8 @@ dlg_proc(struct custom_dlg *dlg, int (*k key_handler); break; case CHECKBOX: - ret = dlg_checkbox_proc(dlg, (DLG_CHECKBOX *)item, - key_handler); + ret = dlg_checkbox_proc(dlg, + (DLG_CHECKBOX *)item, key_handler); break; default: err(EX_SOFTWARE, "unknown dlg_item type"); Modified: user/ae/usr.sbin/sade/parted.c ============================================================================== --- user/ae/usr.sbin/sade/parted.c Thu Jun 17 08:49:31 2010 (r209244) +++ user/ae/usr.sbin/sade/parted.c Thu Jun 17 09:36:23 2010 (r209245) @@ -119,8 +119,8 @@ static char *set_label_title = "Please e static const char *apm_aliases[] = { "freebsd", "freebsd-swap", "freebsd-ufs", "freebsd-vinum", "freebsd-zfs", NULL }; -static const char *bsd_aliases[] = { "freebsd-swap", "freebsd-ufs", "freebsd-vinum", - "freebsd-zfs", NULL }; +static const char *bsd_aliases[] = { "freebsd-swap", "freebsd-ufs", + "freebsd-vinum", "freebsd-zfs", NULL }; static const char *gpt_aliases[] = { "freebsd", "freebsd-boot", "freebsd-swap", "freebsd-ufs", "freebsd-vinum", "freebsd-zfs", "apple-boot", "apple-hfs", "apple-label", "apple-raid", "apple-raid-offline", @@ -162,7 +162,8 @@ again: if (ret == EINVAL && loaded == 0) { loaded = dmenu_open_yesno(kldload_msg); if (loaded == 0) { - loaded = kldload(sade_schemes[pitem->aux].module); + loaded = kldload( + sade_schemes[pitem->aux].module); if (loaded != -1) goto again; else @@ -370,8 +371,8 @@ again: } if (list == apm_aliases || list == gpt_aliases) label = dlg_edit_get_value(&dlg, eLabel); - ret = de_part_add(ppart->de_device, dlg_edit_get_value(&dlg, eType), - (off_t)start, (off_t)size, label, 0); + ret = de_part_add(ppart->de_device, dlg_edit_get_value(&dlg, + eType), (off_t)start, (off_t)size, label, 0); if (ret != 0) { dmenu_open_errormsg((ret < 0) ? de_error(): strerror(ret)); @@ -673,10 +674,16 @@ resize: selected = ppart; } mvprintw(row, 0, "%12s%20s%12s%11jd%11jd%6s%7s", - hscroll_str(dname, 12, LABEL(ppart->de_name), - selected == ppart ? hsc: 0, HSCROLL_LEFT), - hscroll_str(dtype, 19, LABEL(ppart->de_type), 0, HSCROLL_RIGHT), - hscroll_str(dlabel,11, LABEL(ppart->de_label), 0, HSCROLL_RIGHT), + hscroll_str(dname, 12, + LABEL(ppart->de_name), + selected == ppart ? hsc: 0, + HSCROLL_LEFT), + hscroll_str(dtype, 19, + LABEL(ppart->de_type), 0, + HSCROLL_RIGHT), + hscroll_str(dlabel,11, + LABEL(ppart->de_label), 0, + HSCROLL_RIGHT), ppart->de_start, ppart->de_end, fmtsize((ppart->de_end - ppart->de_start + 1) * @@ -707,7 +714,8 @@ resize: "L = Set Label"); } mvprintw(height + PARTED_MENU_TOP + 8, 0, - "Use F1 or ? to get more help, arrow keys to select"); + "Use F1 or ? to get more help, arrow keys to " + "select"); set_statusline(msg); if (msg) msg = NULL; @@ -721,7 +729,8 @@ resize: if (selected->de_type == NULL || ( strcmp(selected->de_type, "freebsd") != 0 #ifdef WITH_ZFS - && strcmp(selected->de_type, "freebsd-zfs") != 0 + && strcmp(selected->de_type, + "freebsd-zfs") != 0 #endif )) { msg = "This is not a freebsd slice " @@ -771,9 +780,11 @@ resize: break; } if (key == KEY_ESC) - ret = dmenu_open_noyes(pending_write_msg); + ret = dmenu_open_noyes( + pending_write_msg); else - ret = dmenu_open_yesno(pending_write_msg); + ret = dmenu_open_yesno( + pending_write_msg); if (ret) error = de_dev_undo(pdev); else @@ -798,7 +809,8 @@ resize: break; case 'D': if (count == 1 && selected->de_type == NULL) { - if (dmenu_open_noyes(destroy_scheme_msg)) + if (dmenu_open_noyes( + destroy_scheme_msg)) break; error = de_dev_scheme_destroy(pdev); if (error != 0) @@ -834,8 +846,8 @@ resize: break; } if (selected->de_type == NULL) { - msg = "Slice is unused, create it first " - "or move to another one."; + msg = "Slice is unused, create it " + "first or move to another one."; break; } ret = parted_set_label(selected); @@ -871,8 +883,8 @@ resize: break; case 'T': if (selected->de_type == NULL) { - msg = "Slice in unused, create it first " - "or move to another one."; + msg = "Slice in unused, create it " + "first or move to another one."; break; } ret = parted_set_type(selected); From owner-svn-src-user@FreeBSD.ORG Thu Jun 17 09:43:08 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 352D21065676; Thu, 17 Jun 2010 09:43:08 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 2470F8FC28; Thu, 17 Jun 2010 09:43:08 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5H9h8wI083954; Thu, 17 Jun 2010 09:43:08 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5H9h8Rg083952; Thu, 17 Jun 2010 09:43:08 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201006170943.o5H9h8Rg083952@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 17 Jun 2010 09:43:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209246 - user/ae/usr.sbin/sade X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jun 2010 09:43:08 -0000 Author: ae Date: Thu Jun 17 09:43:07 2010 New Revision: 209246 URL: http://svn.freebsd.org/changeset/base/209246 Log: Clean types. Replace "unsigned long long" to "off_t". Add a temporary make knob LIBDIALOG_PATH. Modified: user/ae/usr.sbin/sade/Makefile user/ae/usr.sbin/sade/libsade.h user/ae/usr.sbin/sade/parts.c user/ae/usr.sbin/sade/util.c Modified: user/ae/usr.sbin/sade/Makefile ============================================================================== --- user/ae/usr.sbin/sade/Makefile Thu Jun 17 09:36:23 2010 (r209245) +++ user/ae/usr.sbin/sade/Makefile Thu Jun 17 09:43:07 2010 (r209246) @@ -13,7 +13,8 @@ WARNS?= 1 DPADD= ${LIBUTIL} ${LIBGEOM} ${LIBDIALOG} ${LIBNCURSES} ${LIBUFS} LDADD= -lutil -lgeom -ldialog -lncurses -lufs +LIBDIALOG_PATH?= ../../../../head/gnu/lib/libdialog #DEBUG_FLAGS= -g -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/libdialog +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${LIBDIALOG_PATH} .include Modified: user/ae/usr.sbin/sade/libsade.h ============================================================================== --- user/ae/usr.sbin/sade/libsade.h Thu Jun 17 09:36:23 2010 (r209245) +++ user/ae/usr.sbin/sade/libsade.h Thu Jun 17 09:43:07 2010 (r209246) @@ -155,6 +155,6 @@ struct gclass *find_class(struct gmesh * struct ggeom *find_geom(struct gclass *classp, const char *name); const char *find_geomcfg(struct ggeom *gp, const char *cfg); const char *find_provcfg(struct gprovider *pp, const char *cfg); -struct gprovider *find_provider(struct ggeom *gp, unsigned long long minsector); +struct gprovider *find_provider(struct ggeom *gp, off_t minsector); #endif /* _SADE_H_ */ Modified: user/ae/usr.sbin/sade/parts.c ============================================================================== --- user/ae/usr.sbin/sade/parts.c Thu Jun 17 09:36:23 2010 (r209245) +++ user/ae/usr.sbin/sade/parts.c Thu Jun 17 09:43:07 2010 (r209246) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -109,7 +110,7 @@ de_partlist_get(struct de_device *pdev) struct gclass *cp; struct ggeom *gp; struct gprovider *pp; - unsigned long long first, last, start, end; + off_t first, last, start, end; const char *s; int error; @@ -133,23 +134,25 @@ de_partlist_get(struct de_device *pdev) pdev->de_scheme = strdup(s); s = find_geomcfg(gp, "first"); - first = atoll(s); + first = (off_t)strtoimax(s, NULL, 0); s = find_geomcfg(gp, "last"); - last = atoll(s); + last = (off_t)strtoimax(s, NULL, 0); while ((pp = find_provider(gp, first)) != NULL) { s = find_provcfg(pp, "start"); if (s == NULL) { s = find_provcfg(pp, "offset"); - start = atoll(s) / pdev->de_sectorsize; + start = + (off_t)strtoimax(s, NULL, 0) / pdev->de_sectorsize; } else - start = atoll(s); + start = (off_t)strtoimax(s, NULL, 0); s = find_provcfg(pp, "end"); if (s == NULL) { s = find_provcfg(pp, "length"); - end = start + atoll(s) / pdev->de_sectorsize - 1; + end = start - 1 + + (off_t)strtoimax(s, NULL, 0) / pdev->de_sectorsize; } else - end = atoll(s); + end = (off_t)strtoimax(s, NULL, 0); if (first < start) { error = de_partlist_add_unused(pdev, first, start - 1); @@ -410,9 +413,10 @@ de_part_add_calculate_size(const char *d struct gclass *cp; struct ggeom *gp; struct gprovider *pp; - unsigned long long first, last; - unsigned long long size, start; - unsigned long long lba, len, grade; + off_t first, last; + off_t size, start; + off_t lba, len; + uintmax_t grade; const char *s; int error; @@ -437,22 +441,24 @@ de_part_add_calculate_size(const char *d devname); goto fail; } - first = strtoull(find_geomcfg(gp, "first"), NULL, 10); - last = strtoull(find_geomcfg(gp, "last"), NULL, 10); + first = (off_t)strtoimax(find_geomcfg(gp, "first"), NULL, 10); + last = (off_t)strtoimax(find_geomcfg(gp, "last"), NULL, 10); grade = ~0ULL; while ((pp = find_provider(gp, first)) != NULL) { s = find_provcfg(pp, "start"); if (s == NULL) { s = find_provcfg(pp, "offset"); - lba = strtoull(s, NULL, 10) / pp->lg_sectorsize; + lba = + (off_t)strtoimax(s, NULL, 10) / pp->lg_sectorsize; } else - lba = strtoull(s, NULL, 10); + lba = (off_t)strtoimax(s, NULL, 10); if (first < lba) { /* Free space [first, lba> */ len = lba - first; if (*sizep) { - if (len >= size && len - size < grade) { + if (len >= size && + (uintmax_t)(len - size) < grade) { start = first; grade = len - size; } @@ -473,15 +479,17 @@ de_part_add_calculate_size(const char *d s = find_provcfg(pp, "end"); if (s == NULL) { s = find_provcfg(pp, "length"); - first = lba + strtoull(s, NULL, 10) / pp->lg_sectorsize; + first = lba + + (off_t)strtoimax(s, NULL, 10) / pp->lg_sectorsize; } else - first = strtoull(s, NULL, 10) + 1; + first = (off_t)strtoimax(s, NULL, 10) + 1; } if (first <= last) { /* Free space [first-last] */ len = last - first + 1; if (*sizep) { - if (len >= size && len - size < grade) { + if (len >= size && + (uintmax_t)(len - size) < grade) { start = first; grade = len - size; } @@ -542,10 +550,10 @@ de_part_add(struct de_device *pdev, cons return (ENOMEM); } error = ENOMEM; - asprintf(&sstart, "%lu", start); + asprintf(&sstart, "%jd", (intmax_t)start); if (sstart == NULL) goto fail; - asprintf(&ssize, "%lu", size); + asprintf(&ssize, "%jd", (intmax_t)size); if (ssize == NULL) goto fail; req = gctl_get_handle(); @@ -693,6 +701,7 @@ fail: return (error); } +/* XXX: Add VTOC8 support */ int de_part_bootcode(struct de_part *ppart, const char *path) { Modified: user/ae/usr.sbin/sade/util.c ============================================================================== --- user/ae/usr.sbin/sade/util.c Thu Jun 17 09:36:23 2010 (r209245) +++ user/ae/usr.sbin/sade/util.c Thu Jun 17 09:43:07 2010 (r209246) @@ -32,6 +32,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include @@ -87,11 +89,11 @@ find_provcfg(struct gprovider *pp, const } struct gprovider * -find_provider(struct ggeom *gp, unsigned long long minsector) +find_provider(struct ggeom *gp, off_t minsector) { struct gprovider *pp, *bestpp; const char *s; - unsigned long long sector, bestsector; + off_t sector, bestsector; bestpp = NULL; bestsector = 0; @@ -99,9 +101,10 @@ find_provider(struct ggeom *gp, unsigned s = find_provcfg(pp, "start"); if (s == NULL) { s = find_provcfg(pp, "offset"); - sector = atoll(s) / pp->lg_sectorsize; + sector = + (off_t)strtoimax(s, NULL, 0) / pp->lg_sectorsize; } else - sector = atoll(s); + sector = (off_t)strtoimax(s, NULL, 0); if (sector < minsector) continue; From owner-svn-src-user@FreeBSD.ORG Thu Jun 17 12:30:42 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 44DD91065674; Thu, 17 Jun 2010 12:30:42 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 8E7328FC14; Thu, 17 Jun 2010 12:30:41 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5HCUfOw022656; Thu, 17 Jun 2010 12:30:41 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5HCUffm022651; Thu, 17 Jun 2010 12:30:41 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201006171230.o5HCUffm022651@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Thu, 17 Jun 2010 12:30:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209251 - user/ae/usr.sbin/sade X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jun 2010 12:30:42 -0000 Author: ae Date: Thu Jun 17 12:30:41 2010 New Revision: 209251 URL: http://svn.freebsd.org/changeset/base/209251 Log: Use getmntopts() from sbin/mount for parsing fstab mntops. Add dump frequency and pass number fields to the struct de_fs. Properly initialize mount options checkboxes of "Select Mount Options" dialog. Wrap some long lines. Modified: user/ae/usr.sbin/sade/Makefile user/ae/usr.sbin/sade/fs.c user/ae/usr.sbin/sade/fsed.c user/ae/usr.sbin/sade/libsade.h Modified: user/ae/usr.sbin/sade/Makefile ============================================================================== --- user/ae/usr.sbin/sade/Makefile Thu Jun 17 12:25:47 2010 (r209250) +++ user/ae/usr.sbin/sade/Makefile Thu Jun 17 12:30:41 2010 (r209251) @@ -1,11 +1,15 @@ # $FreeBSD$ +SRCPATH?= ../../../../head + +.PATH: ${.CURDIR}/${SRCPATH}/sbin/mount PROG= sade NO_MAN= LIBSADE=devices.c parts.c util.c fs.c -SRCS= main.c parted.c menus.c customdlg.c history.c fsed.c +SRCS= main.c parted.c menus.c customdlg.c history.c fsed.c \ + getmntopts.c SRCS+= ${LIBSADE} WARNS?= 1 @@ -13,8 +17,8 @@ WARNS?= 1 DPADD= ${LIBUTIL} ${LIBGEOM} ${LIBDIALOG} ${LIBNCURSES} ${LIBUFS} LDADD= -lutil -lgeom -ldialog -lncurses -lufs -LIBDIALOG_PATH?= ../../../../head/gnu/lib/libdialog -#DEBUG_FLAGS= -g -CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${LIBDIALOG_PATH} +DEBUG_FLAGS?= -g +CFLAGS+= -I${.CURDIR} -I${.CURDIR}/${SRCPATH}/gnu/lib/libdialog \ + -I${.CURDIR}/${SRCPATH}/sbin/mount .include Modified: user/ae/usr.sbin/sade/fs.c ============================================================================== --- user/ae/usr.sbin/sade/fs.c Thu Jun 17 12:25:47 2010 (r209250) +++ user/ae/usr.sbin/sade/fs.c Thu Jun 17 12:30:41 2010 (r209251) @@ -55,7 +55,8 @@ static int de_fslist_add(struct de_fslist *fslist, enum de_fstype type, const char *parttype, const char *partname, const char *devname, const char *scheme, const char *mntfrom, const char *mntto, - const char *mounted, const char *mntops, off_t size, void *priv) + const char *mounted, const char *mntops, off_t size, + int freq, int pass, void *priv) { struct de_fs *fs; @@ -81,6 +82,8 @@ de_fslist_add(struct de_fslist *fslist, fs->de_mntops = strdup(mntops); fs->de_size = size; fs->de_type = type; + fs->de_freq = freq; + fs->de_pass = pass; fs->de_private = priv; TAILQ_INSERT_TAIL(fslist, fs, de_fs); return (0); @@ -267,7 +270,7 @@ de_fslist_get(struct de_fslist *fslist) struct statfs *psfs, *pmsfs; enum de_fstype type; char *mounted, *mntto, *mntops, *mntfrom, **labels; - int error, mntcnt; + int error, mntcnt, pass, freq; void *priv; assert(fslist != NULL); @@ -286,6 +289,7 @@ de_fslist_get(struct de_fslist *fslist) /* skip empty chunks */ if (ppart->de_type == NULL) continue; + pass = freq = 0; priv = mounted = mntops = mntto = mntfrom = NULL; if (strcmp(ppart->de_type, "freebsd-swap") == 0) { type = SWAP; @@ -303,6 +307,8 @@ de_fslist_get(struct de_fslist *fslist) mntto = pfstab->fs_file; mntops = pfstab->fs_mntops; mntfrom = pfstab->fs_spec; + freq = pfstab->fs_freq; + pass = pfstab->fs_passno; } if (type == UFS) { pmsfs = de_mntinfo_get(psfs, mntcnt, labels); @@ -314,7 +320,8 @@ de_fslist_get(struct de_fslist *fslist) error = de_fslist_add(fslist, type, ppart->de_type, ppart->de_name, pdev->de_name, pdev->de_scheme, mntfrom, mntto, mounted, mntops, (1 + ppart->de_end - - ppart->de_start) * pdev->de_sectorsize, priv); + ppart->de_start) * pdev->de_sectorsize, + freq, pass, priv); if (error) break; } Modified: user/ae/usr.sbin/sade/fsed.c ============================================================================== --- user/ae/usr.sbin/sade/fsed.c Thu Jun 17 12:25:47 2010 (r209250) +++ user/ae/usr.sbin/sade/fsed.c Thu Jun 17 12:30:41 2010 (r209251) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include #include #include "customdlg.h" +#include "mntopts.h" static char *ask_recreate_msg = @@ -290,11 +291,26 @@ fsed_ufs_create(struct de_fs *pfs) return (0); } -#define MNT_OPS_CNT 9 -static char *mnt_ops[MNT_OPS_CNT] = { - "noauto", "read only", "async", - "noatime", "multilabel", "acls", - "nfsv4acl", "noexec", "nosuid" +#define MNT_OPS_CNT 10 +static struct opt { + int o_opt; + const char* o_name; +} mntopt_names[MNT_OPS_CNT] = { + { MNT_RDONLY, "read-only" }, + { MNT_ASYNC, "async" }, + { MNT_NOATIME, "noatime" }, + { MNT_NOEXEC, "noexec" }, + { MNT_SUIDDIR, "suiddir" }, + { MNT_NOSUID, "nosuid" }, + { MNT_MULTILABEL, "multilabel" }, + { MNT_ACLS, "acls" }, + { MNT_NFS4ACLS, "nfsv4acls" }, + { 0, "noauto"} +}; + +static struct mntopt mopts[] = { + MOPT_STDOPTS, + MOPT_END }; static int @@ -309,8 +325,9 @@ fsed_ufs_mountops(struct de_fs *pfs) DLG_EDIT *eMnt, *eDumpFreq, *ePassno; DLG_LIST *lMenu; WINDOW *win; + char title_buf[100], label_buf[100], buf[32]; char **labels; - char title_buf[100], label_buf[100]; + int mntflags; // char newfs_cmd[255], tunefs_cmd[255]; int q, h, w, ret, cnt, i; @@ -323,10 +340,12 @@ fsed_ufs_mountops(struct de_fs *pfs) dlg_add_label(&dlg, 1, 2, 64, 2, title_buf); eMnt = dlg_add_edit(&dlg, 3, 2, 30, "Mountpoint:", MAXVOLLEN, pfs->de_mntto); + snprintf(buf, sizeof(buf), "%d", pfs->de_freq); eDumpFreq = dlg_add_edit(&dlg, 3, 34, 13, "Dump Freq:", - 10, "0"); + 10, buf); + snprintf(buf, sizeof(buf), "%d", pfs->de_pass); ePassno = dlg_add_edit(&dlg, 3, 49, 15, "Passno:", - 10, "0"); + 10, buf); labels = de_dev_aliases_get(pfs->de_partname); assert(labels != NULL); @@ -357,11 +376,22 @@ fsed_ufs_mountops(struct de_fs *pfs) snprintf(label_buf, sizeof(label_buf), "%s%s", _PATH_DEV, pfs->de_partname); lLabel = dlg_add_label(&dlg, 7, 18, 48, 1, label_buf); - assert(MNT_OPS_CNT >= 3); - for (h = 0, i = 0; MNT_OPS_CNT - i > 0; i++) { - cOps[0] = dlg_add_checkbox(&dlg, 8 + i % (MNT_OPS_CNT / 3), - 2 + 16 * (i / 3), 14, 1, 0, mnt_ops[i]); + + mntflags = 0; + if (pfs->de_mntops != NULL) + getmntopts(pfs->de_mntops, mopts, &mntflags, 0); + for (i = 0; i < MNT_OPS_CNT - 1; i++) { + cOps[i] = dlg_add_checkbox(&dlg, 8 + i % (MNT_OPS_CNT / 3), + 2 + 16 * (i / 3), 14, 1, + (mntflags & mntopt_names[i].o_opt) != 0, + mntopt_names[i].o_name); } + cOps[i] = dlg_add_checkbox(&dlg, 8 + i % (MNT_OPS_CNT / 3), + 2 + 16 * (i / 3), 14, 1, + (pfs->de_mntops != NULL) ? strstr(pfs->de_mntops, + mntopt_names[i].o_name) != NULL: 0, + mntopt_names[i].o_name); + btnOk = dlg_add_button(&dlg, 12, 24, " Ok "); btnCancel = dlg_add_button(&dlg, 12, 36, "Cancel"); use_helpline("Press F1 for help"); @@ -406,9 +436,11 @@ fsed_ufs_mountops(struct de_fs *pfs) cnt - 1, (const char **)&labels[1]); ret = dlg_popupmenu_proc(&popup, NULL); if (ret == DE_CR) { - snprintf(label_buf, sizeof(label_buf), + snprintf(label_buf, + sizeof(label_buf), "%s%s", _PATH_DEV, - dlg_popupmenu_get_choice(&popup)); + dlg_popupmenu_get_choice( + &popup)); dlg_item_set_title(&dlg, lLabel, label_buf); } else @@ -494,6 +526,7 @@ fsed_open(void) "Create partitions and try again."); return (0); } + getmnt_silent = 1; /* make getmntopts() silent */ hist = history_init(); win = savescr(); keypad(stdscr, TRUE); @@ -535,12 +568,12 @@ resize: selected = pfs; } if (view_mode) - mvprintw(row, 0, "%20s%30s%9s%15s%3s%3s", + mvprintw(row, 0, "%20s%30s%9s%15s%3d%3d", LABEL(pfs->de_mntfrom), LABEL(pfs->de_mntto), de_fstypestr(pfs->de_type), LABEL(pfs->de_mntops), - "0", "0"); + pfs->de_freq, pfs->de_pass); else mvprintw(row, 0, "%12s%20s%9s%6s%33s", LABEL(pfs->de_partname), Modified: user/ae/usr.sbin/sade/libsade.h ============================================================================== --- user/ae/usr.sbin/sade/libsade.h Thu Jun 17 12:25:47 2010 (r209250) +++ user/ae/usr.sbin/sade/libsade.h Thu Jun 17 12:30:41 2010 (r209251) @@ -89,6 +89,8 @@ struct de_fs { char *de_mounted; /* where it is mounted now */ char *de_mntops; /* mount options */ off_t de_size; /* file system size */ + int de_freq; /* dump frequency */ + int de_pass; /* pass number on parallel fsck */ char *de_devname; /* parent device name */ char *de_scheme; /* partition scheme name */ From owner-svn-src-user@FreeBSD.ORG Fri Jun 18 07:37:50 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DC0BA106564A; Fri, 18 Jun 2010 07:37:50 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CC7EB8FC0A; Fri, 18 Jun 2010 07:37:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5I7boAu090126; Fri, 18 Jun 2010 07:37:50 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5I7bofb090124; Fri, 18 Jun 2010 07:37:50 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201006180737.o5I7bofb090124@svn.freebsd.org> From: Doug Barton Date: Fri, 18 Jun 2010 07:37:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209285 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 07:37:50 -0000 Author: dougb Date: Fri Jun 18 07:37:50 2010 New Revision: 209285 URL: http://svn.freebsd.org/changeset/base/209285 Log: Catch up with ports version 2.30: If the user specified --no-confirm don't build the list. With a lot of ports to update it can get quite large. If there are a very large number of ports installed the grep in iport_from_origin() can fail with "Argument list too long." It's also theoretically possible that the grep would fail for other reasons. So if it does, fall back to 'pkg_info -O'. My method is faster which is why I'm still trying it first, but this is a sort of "belt and suspenders" situation. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jun 18 07:19:30 2010 (r209284) +++ user/dougb/portmaster/portmaster Fri Jun 18 07:37:50 2010 (r209285) @@ -601,7 +601,10 @@ unset var newopts iport_from_origin () { local dir - dir=`grep -l "@comment ORIGIN:${1}$" $pdb/*/+CONTENTS` || return 1 + + if ! dir=`grep -l "@comment ORIGIN:${1}$" $pdb/*/+CONTENTS 2>/dev/null`; then + dir=`pkg_info -q -O $1` || return 1 + fi # It should not happen that more than one port meets this # requirement, but it can if the pkg data is corrupted. @@ -1942,6 +1945,8 @@ term_printf () { } update_build_l () { + [ -n "$PM_NO_CONFIRM" ] && return + local origin iport new_port case "$1" in From owner-svn-src-user@FreeBSD.ORG Fri Jun 18 08:38:56 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B31F5106566C; Fri, 18 Jun 2010 08:38:56 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id A38828FC1E; Fri, 18 Jun 2010 08:38:56 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5I8cufh003860; Fri, 18 Jun 2010 08:38:56 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5I8cuQN003859; Fri, 18 Jun 2010 08:38:56 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201006180838.o5I8cuQN003859@svn.freebsd.org> From: Doug Barton Date: Fri, 18 Jun 2010 08:38:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209287 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 08:38:56 -0000 Author: dougb Date: Fri Jun 18 08:38:56 2010 New Revision: 209287 URL: http://svn.freebsd.org/changeset/base/209287 Log: Unset build_l in pm_make() Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jun 18 08:11:52 2010 (r209286) +++ user/dougb/portmaster/portmaster Fri Jun 18 08:38:56 2010 (r209287) @@ -367,7 +367,7 @@ pm_cd () { builtin cd $1 2>/dev/null pm_cd_pd () { builtin cd $pd/$1 2>/dev/null || fail "Cannot cd to port directory: $pd/$1"; } pm_kill () { /bin/kill $* >/dev/null 2>/dev/null; } -pm_make () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH; +pm_make () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH build_l; unset -v MASTER_RB_LIST CONFIG_SEEN_LIST; /usr/bin/make $PM_MAKE_ARGS $*; ); } pm_make_b () { /usr/bin/make $PM_MAKE_ARGS BEFOREPORTMK=bpm $*; } From owner-svn-src-user@FreeBSD.ORG Fri Jun 18 08:51:20 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 67759106567A; Fri, 18 Jun 2010 08:51:20 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 57F358FC1F; Fri, 18 Jun 2010 08:51:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5I8pKj4006670; Fri, 18 Jun 2010 08:51:20 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5I8pKxP006668; Fri, 18 Jun 2010 08:51:20 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201006180851.o5I8pKxP006668@svn.freebsd.org> From: Doug Barton Date: Fri, 18 Jun 2010 08:51:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209288 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 08:51:20 -0000 Author: dougb Date: Fri Jun 18 08:51:20 2010 New Revision: 209288 URL: http://svn.freebsd.org/changeset/base/209288 Log: build_l also needs to be unset in pm_make_s() Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jun 18 08:38:56 2010 (r209287) +++ user/dougb/portmaster/portmaster Fri Jun 18 08:51:20 2010 (r209288) @@ -383,7 +383,7 @@ pm_unlink () { /bin/test -e $1 && /bin/u pm_find_s () { $PM_SU_CMD /usr/bin/find $*; } pm_install_s () { $PM_SU_CMD /usr/bin/install -o root \ -g wheel -m 644 $1 $2; } -pm_make_s () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH; +pm_make_s () { ( unset -v CUR_DEPS INSTALLED_LIST PM_DEPTH build_l; unset -v MASTER_RB_LIST CONFIG_SEEN_LIST; $PM_SU_CMD /usr/bin/make $PM_MAKE_ARGS $*; ); } pm_mkdir_s () { $PM_SU_CMD /bin/mkdir -p $1; } From owner-svn-src-user@FreeBSD.ORG Fri Jun 18 11:18:04 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 025D3106566B; Fri, 18 Jun 2010 11:18:04 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DB1F88FC0A; Fri, 18 Jun 2010 11:18:03 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5IBI3dv040440; Fri, 18 Jun 2010 11:18:03 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5IBI3pG040436; Fri, 18 Jun 2010 11:18:03 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201006181118.o5IBI3pG040436@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 18 Jun 2010 11:18:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209296 - user/ae/usr.sbin/sade X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 11:18:04 -0000 Author: ae Date: Fri Jun 18 11:18:03 2010 New Revision: 209296 URL: http://svn.freebsd.org/changeset/base/209296 Log: Save ufsid in UFS's private structure. Some style fixes. Modified: user/ae/usr.sbin/sade/fs.c user/ae/usr.sbin/sade/fsed.c user/ae/usr.sbin/sade/libsade.h Modified: user/ae/usr.sbin/sade/fs.c ============================================================================== --- user/ae/usr.sbin/sade/fs.c Fri Jun 18 11:10:39 2010 (r209295) +++ user/ae/usr.sbin/sade/fs.c Fri Jun 18 11:18:03 2010 (r209296) @@ -242,6 +242,8 @@ de_ufs_check(const char *pname, void **p if (pu != NULL) { bzero(pu, sizeof(*pu)); pfs = &disk.d_fs; + pu->de_id[0] = pfs->fs_id[0]; + pu->de_id[1] = pfs->fs_id[1]; pu->de_ufs1 = (disk.d_ufs == 1); pu->de_su = ((pfs->fs_flags & FS_DOSOFTDEP) != 0); pu->de_suj = ((pfs->fs_flags & FS_SUJ) != 0); Modified: user/ae/usr.sbin/sade/fsed.c ============================================================================== --- user/ae/usr.sbin/sade/fsed.c Fri Jun 18 11:10:39 2010 (r209295) +++ user/ae/usr.sbin/sade/fsed.c Fri Jun 18 11:18:03 2010 (r209296) @@ -349,7 +349,8 @@ fsed_ufs_mountops(struct de_fs *pfs) labels = de_dev_aliases_get(pfs->de_partname); assert(labels != NULL); - for (cnt = 0; labels[cnt]; cnt++); + for (cnt = 0; labels[cnt]; cnt++) + ; /* If FS is not yet in fstab and it has a volname, we can * suggest use volname by default. */ @@ -382,15 +383,15 @@ fsed_ufs_mountops(struct de_fs *pfs) getmntopts(pfs->de_mntops, mopts, &mntflags, 0); for (i = 0; i < MNT_OPS_CNT - 1; i++) { cOps[i] = dlg_add_checkbox(&dlg, 8 + i % (MNT_OPS_CNT / 3), - 2 + 16 * (i / 3), 14, 1, - (mntflags & mntopt_names[i].o_opt) != 0, - mntopt_names[i].o_name); + 2 + 16 * (i / 3), 14, 1, + (mntflags & mntopt_names[i].o_opt) != 0, + mntopt_names[i].o_name); } + /* Last option is "noauto". Actually it hasn't special MNT_XXX flag. */ cOps[i] = dlg_add_checkbox(&dlg, 8 + i % (MNT_OPS_CNT / 3), - 2 + 16 * (i / 3), 14, 1, - (pfs->de_mntops != NULL) ? strstr(pfs->de_mntops, - mntopt_names[i].o_name) != NULL: 0, - mntopt_names[i].o_name); + 2 + 16 * (i / 3), 14, 1, + (pfs->de_mntops != NULL) ? strstr(pfs->de_mntops, + mntopt_names[i].o_name) != NULL: 0, mntopt_names[i].o_name); btnOk = dlg_add_button(&dlg, 12, 24, " Ok "); btnCancel = dlg_add_button(&dlg, 12, 36, "Cancel"); @@ -428,8 +429,8 @@ fsed_ufs_mountops(struct de_fs *pfs) if (item == cLabel) { if (dlg_checkbox_checked(&dlg, item)) { WINDOW *sw; - dlg_init(&popup); sw = savescr(); + dlg_init(&popup); dlg_open_popupmenu(&popup, dlg.y + 8, dlg.x + 18, 48, cnt > 5 ? 7: cnt + 1, Modified: user/ae/usr.sbin/sade/libsade.h ============================================================================== --- user/ae/usr.sbin/sade/libsade.h Fri Jun 18 11:10:39 2010 (r209295) +++ user/ae/usr.sbin/sade/libsade.h Fri Jun 18 11:18:03 2010 (r209296) @@ -101,6 +101,9 @@ struct de_fs { struct de_ufs_priv { char de_volname[MAXVOLLEN]; /* Volume label */ + int32_t de_id[2]; /* unique filesystem id */ +#define HAS_UFSID(ppriv) \ + ((ppriv)->de_id[0] != 0 || (ppriv)->de_id[1] != 0) int de_ufs1:1; /* UFS1 fs type */ int de_su:1; /* Soft Updates enabled */ From owner-svn-src-user@FreeBSD.ORG Fri Jun 18 11:36:55 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CF0C106564A; Fri, 18 Jun 2010 11:36:55 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4CE048FC18; Fri, 18 Jun 2010 11:36:55 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5IBatAN044634; Fri, 18 Jun 2010 11:36:55 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5IBatP9044632; Fri, 18 Jun 2010 11:36:55 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201006181136.o5IBatP9044632@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Fri, 18 Jun 2010 11:36:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209297 - user/ae/usr.sbin/sade X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Jun 2010 11:36:55 -0000 Author: ae Date: Fri Jun 18 11:36:55 2010 New Revision: 209297 URL: http://svn.freebsd.org/changeset/base/209297 Log: Add GEOM NOP class to list of discovered devices. Modified: user/ae/usr.sbin/sade/devices.c Modified: user/ae/usr.sbin/sade/devices.c ============================================================================== --- user/ae/usr.sbin/sade/devices.c Fri Jun 18 11:18:03 2010 (r209296) +++ user/ae/usr.sbin/sade/devices.c Fri Jun 18 11:36:55 2010 (r209297) @@ -38,11 +38,12 @@ static struct de_class_desc { const char *de_name; const char *de_desc; } classes[] = { -#define DISK_IDX 0 +#define DISK_IDX 0 {"DISK", "disk device"}, - {"MD", "memory backed virtual disk"}, -#define ZVOL_IDX 2 +#define ZVOL_IDX 1 {"ZFS::ZVOL", "ZFS volume"}, + {"MD", "memory backed virtual disk"}, + {"NOP", "transparent GEOM provider"}, {"MIRROR", "GEOM based mirror (RAID1)"}, {"STRIPE", "GEOM based stripe (RAID0)"}, {"RAID3", "GEOM based RAID3 array"}, From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 09:50:05 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 333B6106564A; Sat, 19 Jun 2010 09:50:05 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 212CD8FC12; Sat, 19 Jun 2010 09:50:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5J9o5ZK041656; Sat, 19 Jun 2010 09:50:05 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5J9o5lg041653; Sat, 19 Jun 2010 09:50:05 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006190950.o5J9o5lg041653@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 09:50:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209333 - in user/jmallett/octeon/sys/mips: cavium cavium/cryptocteon conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 09:50:05 -0000 Author: jmallett Date: Sat Jun 19 09:50:04 2010 New Revision: 209333 URL: http://svn.freebsd.org/changeset/base/209333 Log: Working towards making the cryptocteon code compile and work on FreeBSD. Some convoluted use of scatterlists has been replaced with direct use of pointers into a linear buffer since it appeared that only a single scatterlist entry was being used; I intend to make that use iovecs instead in the near future. The crypto device front-end is mostly commented out and is not compiled. Actual enabling and disabling of use of the crypto coprocessor within the kernel is unimplemented in this commit, but is trivial for kernel-only use. We need a mechanism that allows use of the coprocessor from userland at some point, but that's a stretch goal for me. Added: user/jmallett/octeon/sys/mips/cavium/cryptocteon/cryptocteonvar.h Modified: user/jmallett/octeon/sys/mips/cavium/cryptocteon/cavium_crypto.c user/jmallett/octeon/sys/mips/cavium/cryptocteon/cryptocteon.c user/jmallett/octeon/sys/mips/cavium/files.octeon1 user/jmallett/octeon/sys/mips/conf/OCTEON1-32 Modified: user/jmallett/octeon/sys/mips/cavium/cryptocteon/cavium_crypto.c ============================================================================== --- user/jmallett/octeon/sys/mips/cavium/cryptocteon/cavium_crypto.c Sat Jun 19 09:33:11 2010 (r209332) +++ user/jmallett/octeon/sys/mips/cavium/cryptocteon/cavium_crypto.c Sat Jun 19 09:50:04 2010 (r209333) @@ -1,4 +1,7 @@ /* + * vim:sw=4 ts=8 + */ +/* * Copyright (c) 2009 David McCullough * * Copyright (c) 2003-2007 Cavium Networks (support@cavium.com). All rights @@ -38,36 +41,40 @@ */ /****************************************************************************/ -#include -#include -#include "octeon-asm.h" +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include + +#include + +#include /****************************************************************************/ -extern unsigned long octeon_crypto_enable(struct octeon_cop2_state *); -extern void octeon_crypto_disable(struct octeon_cop2_state *, unsigned long); +/* + * XXX + * Not yet. + */ +struct octeon_cop2_state { +}; -#define SG_INIT(s, p, i, l) \ - { \ - (i) = 0; \ - (l) = (s)[0].length; \ - (p) = (typeof(p)) sg_virt((s)); \ - CVMX_PREFETCH0((p)); \ - } - -#define SG_CONSUME(s, p, i, l) \ - { \ - (p)++; \ - (l) -= sizeof(*(p)); \ - if ((l) < 0) { \ - dprintk("%s, %d: l = %d\n", __FILE__, __LINE__, l); \ - } else if ((l) == 0) { \ - (i)++; \ - (l) = (s)[0].length; \ - (p) = (typeof(p)) sg_virt(s); \ - CVMX_PREFETCH0((p)); \ - } \ - } +#define dprintf printf + +static inline unsigned long octeon_crypto_enable(struct octeon_cop2_state *state) +{ + return (0); +} + +static inline void octeon_crypto_disable(struct octeon_cop2_state *state, unsigned long flags) +{ +} #define ESP_HEADER_LENGTH 8 #define DES_CBC_IV_LENGTH 8 @@ -211,22 +218,8 @@ extern void octeon_crypto_disable(struct /****************************************************************************/ -static inline uint64_t -swap64(uint64_t a) -{ - return ((a >> 56) | - (((a >> 48) & 0xfful) << 8) | - (((a >> 40) & 0xfful) << 16) | - (((a >> 32) & 0xfful) << 24) | - (((a >> 24) & 0xfful) << 32) | - (((a >> 16) & 0xfful) << 40) | - (((a >> 8) & 0xfful) << 48) | (((a >> 0) & 0xfful) << 56)); -} - -/****************************************************************************/ - void -octo_calc_hash(__u8 auth, unsigned char *key, uint64_t *inner, uint64_t *outer) +octo_calc_hash(uint8_t auth, unsigned char *key, uint64_t *inner, uint64_t *outer) { uint8_t hash_key[64]; uint64_t *key1; @@ -235,8 +228,6 @@ octo_calc_hash(__u8 auth, unsigned char struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - memset(hash_key, 0, sizeof(hash_key)); memcpy(hash_key, (uint8_t *) key, (auth ? 20 : 16)); key1 = (uint64_t *) hash_key; @@ -323,28 +314,25 @@ octo_calc_hash(__u8 auth, unsigned char int octo_des_cbc_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) { uint64_t *data; - int data_i, data_l; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x7) || (crypt_off + crypt_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x7) || (crypt_off + crypt_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -361,22 +349,22 @@ octo_des_cbc_encrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } CVMX_MT_3DES_IV(* (uint64_t *) ivp); while (crypt_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - crypt_off -= 8; + data++; + crypt_off -= sizeof *data; } while (crypt_len > 0) { CVMX_MT_3DES_ENC_CBC(*data); CVMX_MF_3DES_RESULT(*data); - SG_CONSUME(sg, data, data_i, data_l); - crypt_len -= 8; + data++; + crypt_len -= sizeof *data; } octeon_crypto_disable(&state, flags); @@ -387,28 +375,25 @@ octo_des_cbc_encrypt( int octo_des_cbc_decrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) { uint64_t *data; - int data_i, data_l; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x7) || (crypt_off + crypt_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x7) || (crypt_off + crypt_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -425,22 +410,22 @@ octo_des_cbc_decrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } CVMX_MT_3DES_IV(* (uint64_t *) ivp); while (crypt_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - crypt_off -= 8; + data++; + crypt_off -= sizeof *data; } while (crypt_len > 0) { CVMX_MT_3DES_DEC_CBC(*data); CVMX_MF_3DES_RESULT(*data); - SG_CONSUME(sg, data, data_i, data_l); - crypt_len -= 8; + data++; + crypt_len -= sizeof *data; } octeon_crypto_disable(&state, flags); @@ -453,28 +438,25 @@ octo_des_cbc_decrypt( int octo_aes_cbc_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) { - uint64_t *data, *pdata; - int data_i, data_l; + uint64_t *data; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x7) || (crypt_off + crypt_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x7) || (crypt_off + crypt_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -496,7 +478,7 @@ octo_aes_cbc_encrypt( CVMX_MT_AES_KEY(((uint64_t *) od->octo_enckey)[3], 3); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } CVMX_MT_AES_KEYLENGTH(od->octo_encklen / 8 - 1); @@ -505,19 +487,17 @@ octo_aes_cbc_encrypt( CVMX_MT_AES_IV(((uint64_t *) ivp)[1], 1); while (crypt_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - crypt_off -= 8; + data++; + crypt_off -= sizeof *data; } while (crypt_len > 0) { - pdata = data; - CVMX_MT_AES_ENC_CBC0(*data); - SG_CONSUME(sg, data, data_i, data_l); - CVMX_MT_AES_ENC_CBC1(*data); - CVMX_MF_AES_RESULT(*pdata, 0); - CVMX_MF_AES_RESULT(*data, 1); - SG_CONSUME(sg, data, data_i, data_l); - crypt_len -= 16; + CVMX_MT_AES_ENC_CBC0(data[0]); + CVMX_MT_AES_ENC_CBC1(data[1]); + CVMX_MF_AES_RESULT(data[0], 0); + CVMX_MF_AES_RESULT(data[1], 1); + data += 2; + crypt_len -= 2 * sizeof *data; } octeon_crypto_disable(&state, flags); @@ -528,28 +508,25 @@ octo_aes_cbc_encrypt( int octo_aes_cbc_decrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) { - uint64_t *data, *pdata; - int data_i, data_l; + uint64_t *data; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x7) || (crypt_off + crypt_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x7) || (crypt_off + crypt_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -571,7 +548,7 @@ octo_aes_cbc_decrypt( CVMX_MT_AES_KEY(((uint64_t *) od->octo_enckey)[3], 3); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } CVMX_MT_AES_KEYLENGTH(od->octo_encklen / 8 - 1); @@ -580,19 +557,17 @@ octo_aes_cbc_decrypt( CVMX_MT_AES_IV(((uint64_t *) ivp)[1], 1); while (crypt_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - crypt_off -= 8; + data++; + crypt_off -= sizeof *data; } while (crypt_len > 0) { - pdata = data; - CVMX_MT_AES_DEC_CBC0(*data); - SG_CONSUME(sg, data, data_i, data_l); - CVMX_MT_AES_DEC_CBC1(*data); - CVMX_MF_AES_RESULT(*pdata, 0); - CVMX_MF_AES_RESULT(*data, 1); - SG_CONSUME(sg, data, data_i, data_l); - crypt_len -= 16; + CVMX_MT_AES_DEC_CBC0(data[0]); + CVMX_MT_AES_DEC_CBC1(data[1]); + CVMX_MF_AES_RESULT(data[0], 0); + CVMX_MF_AES_RESULT(data[1], 1); + data += 2; + crypt_len -= 2 * sizeof *data; } octeon_crypto_disable(&state, flags); @@ -605,7 +580,7 @@ octo_aes_cbc_decrypt( int octo_null_md5_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -613,22 +588,20 @@ octo_null_md5_encrypt( register int next = 0; uint64_t *data; uint64_t tmp1, tmp2; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || - (auth_off & 0x7) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || + (auth_off & 0x7) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; flags = octeon_crypto_enable(&state); @@ -637,20 +610,20 @@ octo_null_md5_encrypt( CVMX_MT_HSH_IV(od->octo_hminner[1], 1); while (auth_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - auth_off -= 8; + data++; + auth_off -= sizeof *data; } while (auth_len > 0) { CVM_LOAD_MD5_UNIT(*data, next); - auth_len -= 8; - SG_CONSUME(sg, data, data_i, data_l); + data++; + auth_len -= sizeof *data; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -692,13 +665,13 @@ octo_null_md5_encrypt( CVMX_MT_HSH_STARTMD5(tmp1); /* save the HMAC */ - SG_INIT(sg, data, data_i, data_l); + data = buf; while (icv_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - icv_off -= 8; + data++; + icv_off -= sizeof *data; } CVMX_MF_HSH_IV(*data, 0); - SG_CONSUME(sg, data, data_i, data_l); + data++; CVMX_MF_HSH_IV(tmp1, 1); *(uint32_t *)data = (uint32_t) (tmp1 >> 32); @@ -712,7 +685,7 @@ octo_null_md5_encrypt( int octo_null_sha1_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -720,22 +693,20 @@ octo_null_sha1_encrypt( register int next = 0; uint64_t *data; uint64_t tmp1, tmp2, tmp3; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || - (auth_off & 0x7) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + if (__predict_false(od == NULL || buf==NULL || buflen==0 || + (auth_off & 0x7) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data, data_i, data_l); + data = buf; flags = octeon_crypto_enable(&state); @@ -745,20 +716,20 @@ octo_null_sha1_encrypt( CVMX_MT_HSH_IV(od->octo_hminner[2], 2); while (auth_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - auth_off -= 8; + data++; + auth_off -= sizeof *data; } while (auth_len > 0) { CVM_LOAD_SHA_UNIT(*data, next); - auth_len -= 8; - SG_CONSUME(sg, data, data_i, data_l); + data++; + auth_len -= sizeof *data; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -802,13 +773,13 @@ octo_null_sha1_encrypt( CVMX_MT_HSH_STARTSHA((uint64_t) ((64 + 20) << 3)); /* save the HMAC */ - SG_INIT(sg, data, data_i, data_l); + data = buf; while (icv_off > 0) { - SG_CONSUME(sg, data, data_i, data_l); - icv_off -= 8; + data++; + icv_off -= sizeof *data; } CVMX_MF_HSH_IV(*data, 0); - SG_CONSUME(sg, data, data_i, data_l); + data++; CVMX_MF_HSH_IV(tmp1, 1); *(uint32_t *)data = (uint32_t) (tmp1 >> 32); @@ -822,7 +793,7 @@ octo_null_sha1_encrypt( int octo_des_cbc_md5_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -835,25 +806,23 @@ octo_des_cbc_md5_encrypt( uint64_t *data = &mydata.data64[0]; uint32_t *data32; uint64_t tmp1, tmp2; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x3) || (crypt_off + crypt_len > sg_len) || + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x3) || (crypt_off + crypt_len > buflen) || (crypt_len & 0x7) || (auth_len & 0x7) || - (auth_off & 0x3) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + (auth_off & 0x3) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -870,7 +839,7 @@ octo_des_cbc_md5_encrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } @@ -881,16 +850,14 @@ octo_des_cbc_md5_encrypt( CVMX_MT_HSH_IV(od->octo_hminner[1], 1); while (crypt_off > 0 && auth_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - crypt_off -= 4; - auth_off -= 4; + data32++; + crypt_off -= sizeof *data32; + auth_off -= sizeof *data32; } while (crypt_len > 0 || auth_len > 0) { - uint32_t *first = data32; - mydata.data32[0] = *first; - SG_CONSUME(sg, data32, data_i, data_l); - mydata.data32[1] = *data32; + mydata.data32[0] = data32[0]; + mydata.data32[1] = data32[1]; if (crypt_off <= 0) { if (crypt_len > 0) { CVMX_MT_3DES_ENC_CBC(*data); @@ -906,15 +873,15 @@ octo_des_cbc_md5_encrypt( } } else auth_off -= 8; - *first = mydata.data32[0]; - *data32 = mydata.data32[1]; - SG_CONSUME(sg, data32, data_i, data_l); + data32[0] = mydata.data32[0]; + data32[1] = mydata.data32[1]; + data32 += 2; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -956,16 +923,14 @@ octo_des_cbc_md5_encrypt( CVMX_MT_HSH_STARTMD5(tmp1); /* save the HMAC */ - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; while (icv_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - icv_off -= 4; + data32++; + icv_off -= sizeof *data32; } CVMX_MF_HSH_IV(tmp1, 0); - *data32 = (uint32_t) (tmp1 >> 32); - SG_CONSUME(sg, data32, data_i, data_l); - *data32 = (uint32_t) tmp1; - SG_CONSUME(sg, data32, data_i, data_l); + *data32++ = (uint32_t) (tmp1 >> 32); + *data32++ = (uint32_t) tmp1; CVMX_MF_HSH_IV(tmp1, 1); *data32 = (uint32_t) (tmp1 >> 32); @@ -976,7 +941,7 @@ octo_des_cbc_md5_encrypt( int octo_des_cbc_md5_decrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -989,25 +954,23 @@ octo_des_cbc_md5_decrypt( uint64_t *data = &mydata.data64[0]; uint32_t *data32; uint64_t tmp1, tmp2; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x3) || (crypt_off + crypt_len > sg_len) || + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x3) || (crypt_off + crypt_len > buflen) || (crypt_len & 0x7) || (auth_len & 0x7) || - (auth_off & 0x3) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + (auth_off & 0x3) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -1024,7 +987,7 @@ octo_des_cbc_md5_decrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } @@ -1035,16 +998,14 @@ octo_des_cbc_md5_decrypt( CVMX_MT_HSH_IV(od->octo_hminner[1], 1); while (crypt_off > 0 && auth_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - crypt_off -= 4; - auth_off -= 4; + data32++; + crypt_off -= sizeof *data32; + auth_off -= sizeof *data32; } while (crypt_len > 0 || auth_len > 0) { - uint32_t *first = data32; - mydata.data32[0] = *first; - SG_CONSUME(sg, data32, data_i, data_l); - mydata.data32[1] = *data32; + mydata.data32[0] = data32[0]; + mydata.data32[1] = data32[1]; if (auth_off <= 0) { if (auth_len > 0) { CVM_LOAD_MD5_UNIT(*data, next); @@ -1060,15 +1021,15 @@ octo_des_cbc_md5_decrypt( } } else crypt_off -= 8; - *first = mydata.data32[0]; - *data32 = mydata.data32[1]; - SG_CONSUME(sg, data32, data_i, data_l); + data32[0] = mydata.data32[0]; + data32[1] = mydata.data32[1]; + data32 += 2; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -1110,16 +1071,14 @@ octo_des_cbc_md5_decrypt( CVMX_MT_HSH_STARTMD5(tmp1); /* save the HMAC */ - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; while (icv_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - icv_off -= 4; + data32++; + icv_off -= sizeof *data32; } CVMX_MF_HSH_IV(tmp1, 0); - *data32 = (uint32_t) (tmp1 >> 32); - SG_CONSUME(sg, data32, data_i, data_l); - *data32 = (uint32_t) tmp1; - SG_CONSUME(sg, data32, data_i, data_l); + *data32++ = (uint32_t) (tmp1 >> 32); + *data32++ = (uint32_t) tmp1; CVMX_MF_HSH_IV(tmp1, 1); *data32 = (uint32_t) (tmp1 >> 32); @@ -1133,7 +1092,7 @@ octo_des_cbc_md5_decrypt( int octo_des_cbc_sha1_encrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -1146,25 +1105,23 @@ octo_des_cbc_sha1_encrypt( uint64_t *data = &mydata.data64[0]; uint32_t *data32; uint64_t tmp1, tmp2, tmp3; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x3) || (crypt_off + crypt_len > sg_len) || + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x3) || (crypt_off + crypt_len > buflen) || (crypt_len & 0x7) || (auth_len & 0x7) || - (auth_off & 0x3) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + (auth_off & 0x3) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -1181,7 +1138,7 @@ octo_des_cbc_sha1_encrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } @@ -1193,16 +1150,14 @@ octo_des_cbc_sha1_encrypt( CVMX_MT_HSH_IV(od->octo_hminner[2], 2); while (crypt_off > 0 && auth_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - crypt_off -= 4; - auth_off -= 4; + data32++; + crypt_off -= sizeof *data32; + auth_off -= sizeof *data32; } while (crypt_len > 0 || auth_len > 0) { - uint32_t *first = data32; - mydata.data32[0] = *first; - SG_CONSUME(sg, data32, data_i, data_l); - mydata.data32[1] = *data32; + mydata.data32[0] = data32[0]; + mydata.data32[1] = data32[1]; if (crypt_off <= 0) { if (crypt_len > 0) { CVMX_MT_3DES_ENC_CBC(*data); @@ -1218,15 +1173,15 @@ octo_des_cbc_sha1_encrypt( } } else auth_off -= 8; - *first = mydata.data32[0]; - *data32 = mydata.data32[1]; - SG_CONSUME(sg, data32, data_i, data_l); + data32[0] = mydata.data32[0]; + data32[1] = mydata.data32[1]; + data32 += 2; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -1270,16 +1225,14 @@ octo_des_cbc_sha1_encrypt( CVMX_MT_HSH_STARTSHA((uint64_t) ((64 + 20) << 3)); /* save the HMAC */ - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; while (icv_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - icv_off -= 4; + data32++; + icv_off -= sizeof *data32; } CVMX_MF_HSH_IV(tmp1, 0); - *data32 = (uint32_t) (tmp1 >> 32); - SG_CONSUME(sg, data32, data_i, data_l); - *data32 = (uint32_t) tmp1; - SG_CONSUME(sg, data32, data_i, data_l); + *data32++ = (uint32_t) (tmp1 >> 32); + *data32++ = (uint32_t) tmp1; CVMX_MF_HSH_IV(tmp1, 1); *data32 = (uint32_t) (tmp1 >> 32); @@ -1290,7 +1243,7 @@ octo_des_cbc_sha1_encrypt( int octo_des_cbc_sha1_decrypt( struct octo_sess *od, - struct scatterlist *sg, int sg_len, + void *buf, int buflen, int auth_off, int auth_len, int crypt_off, int crypt_len, int icv_off, uint8_t *ivp) @@ -1303,25 +1256,23 @@ octo_des_cbc_sha1_decrypt( uint64_t *data = &mydata.data64[0]; uint32_t *data32; uint64_t tmp1, tmp2, tmp3; - int data_i, data_l, alen = auth_len; + int alen = auth_len; struct octeon_cop2_state state; unsigned long flags; - dprintk("%s()\n", __FUNCTION__); - - if (unlikely(od == NULL || sg==NULL || sg_len==0 || ivp==NULL || - (crypt_off & 0x3) || (crypt_off + crypt_len > sg_len) || + if (__predict_false(od == NULL || buf==NULL || buflen==0 || ivp==NULL || + (crypt_off & 0x3) || (crypt_off + crypt_len > buflen) || (crypt_len & 0x7) || (auth_len & 0x7) || - (auth_off & 0x3) || (auth_off + auth_len > sg_len))) { - dprintk("%s: Bad parameters od=%p sg=%p sg_len=%d " + (auth_off & 0x3) || (auth_off + auth_len > buflen))) { + dprintf("%s: Bad parameters od=%p buf=%p buflen=%d " "auth_off=%d auth_len=%d crypt_off=%d crypt_len=%d " - "icv_off=%d ivp=%p\n", __FUNCTION__, od, sg, sg_len, + "icv_off=%d ivp=%p\n", __func__, od, buf, buflen, auth_off, auth_len, crypt_off, crypt_len, icv_off, ivp); return -EINVAL; } - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; CVMX_PREFETCH0(ivp); CVMX_PREFETCH0(od->octo_enckey); @@ -1338,7 +1289,7 @@ octo_des_cbc_sha1_decrypt( CVMX_MT_3DES_KEY(((uint64_t *) od->octo_enckey)[0], 2); } else { octeon_crypto_disable(&state, flags); - dprintk("%s: Bad key length %d\n", __FUNCTION__, od->octo_encklen); + dprintf("%s: Bad key length %d\n", __func__, od->octo_encklen); return -EINVAL; } @@ -1350,16 +1301,14 @@ octo_des_cbc_sha1_decrypt( CVMX_MT_HSH_IV(od->octo_hminner[2], 2); while (crypt_off > 0 && auth_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - crypt_off -= 4; - auth_off -= 4; + data32++; + crypt_off -= sizeof *data32; + auth_off -= sizeof *data32; } while (crypt_len > 0 || auth_len > 0) { - uint32_t *first = data32; - mydata.data32[0] = *first; - SG_CONSUME(sg, data32, data_i, data_l); - mydata.data32[1] = *data32; + mydata.data32[0] = data32[0]; + mydata.data32[1] = data32[1]; if (auth_off <= 0) { if (auth_len > 0) { CVM_LOAD_SHA_UNIT(*data, next); @@ -1375,15 +1324,15 @@ octo_des_cbc_sha1_decrypt( } } else crypt_off -= 8; - *first = mydata.data32[0]; - *data32 = mydata.data32[1]; - SG_CONSUME(sg, data32, data_i, data_l); + data32[0] = mydata.data32[0]; + data32[1] = mydata.data32[1]; + data32 += 2; } /* finish the hash */ CVMX_PREFETCH0(od->octo_hmouter); #if 0 - if (unlikely(inplen)) { + if (__predict_false(inplen)) { uint64_t tmp = 0; uint8_t *p = (uint8_t *) & tmp; p[inplen] = 0x80; @@ -1426,16 +1375,14 @@ octo_des_cbc_sha1_decrypt( CVMX_MT_HSH_DATZ(6); CVMX_MT_HSH_STARTSHA((uint64_t) ((64 + 20) << 3)); /* save the HMAC */ - SG_INIT(sg, data32, data_i, data_l); + data32 = buf; while (icv_off > 0) { - SG_CONSUME(sg, data32, data_i, data_l); - icv_off -= 4; + data32++; + icv_off -= sizeof *data32; } CVMX_MF_HSH_IV(tmp1, 0); - *data32 = (uint32_t) (tmp1 >> 32); - SG_CONSUME(sg, data32, data_i, data_l); - *data32 = (uint32_t) tmp1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 10:06:48 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 294CD106564A; Sat, 19 Jun 2010 10:06:48 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 1402B8FC13; Sat, 19 Jun 2010 10:06:48 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JA6lgS045470; Sat, 19 Jun 2010 10:06:47 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JA6lRb045452; Sat, 19 Jun 2010 10:06:47 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006191006.o5JA6lRb045452@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 10:06:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209334 - in user/jmallett/octeon: . bin/cp bin/date bin/getfacl bin/sh cddl/contrib/opensolaris/lib/libdtrace/common contrib/gdtoa contrib/llvm contrib/sendmail/mail.local contrib/tzco... X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 10:06:48 -0000 Author: jmallett Date: Sat Jun 19 10:06:46 2010 New Revision: 209334 URL: http://svn.freebsd.org/changeset/base/209334 Log: Merge from head, mostly pick up jchandra's merging of things from my branch. Added: user/jmallett/octeon/contrib/llvm/ - copied from r209333, head/contrib/llvm/ user/jmallett/octeon/contrib/wpa/hostapd/Makefile - copied unchanged from r209333, head/contrib/wpa/hostapd/Makefile user/jmallett/octeon/contrib/wpa/hostapd/driver_bsd.c - copied unchanged from r209333, head/contrib/wpa/hostapd/driver_bsd.c user/jmallett/octeon/contrib/wpa/hostapd/driver_hostap.c - copied unchanged from r209333, head/contrib/wpa/hostapd/driver_hostap.c user/jmallett/octeon/contrib/wpa/hostapd/driver_wired.c - copied unchanged from r209333, head/contrib/wpa/hostapd/driver_wired.c user/jmallett/octeon/contrib/wpa/hostapd/radiotap.c - copied unchanged from r209333, head/contrib/wpa/hostapd/radiotap.c user/jmallett/octeon/contrib/wpa/hostapd/radiotap.h - copied unchanged from r209333, head/contrib/wpa/hostapd/radiotap.h user/jmallett/octeon/contrib/wpa/hostapd/radiotap_iter.h - copied unchanged from r209333, head/contrib/wpa/hostapd/radiotap_iter.h user/jmallett/octeon/contrib/wpa/src/common/nl80211_copy.h - copied unchanged from r209333, head/contrib/wpa/src/common/nl80211_copy.h user/jmallett/octeon/contrib/wpa/src/common/wireless_copy.h - copied unchanged from r209333, head/contrib/wpa/src/common/wireless_copy.h user/jmallett/octeon/contrib/wpa/src/drivers/Makefile - copied unchanged from r209333, head/contrib/wpa/src/drivers/Makefile user/jmallett/octeon/contrib/wpa/src/drivers/driver_ndis_.c - copied unchanged from r209333, head/contrib/wpa/src/drivers/driver_ndis_.c user/jmallett/octeon/contrib/wpa/src/drivers/driver_ndiswrapper.c - copied unchanged from r209333, head/contrib/wpa/src/drivers/driver_ndiswrapper.c user/jmallett/octeon/contrib/wpa/src/drivers/driver_wired.c - copied unchanged from r209333, head/contrib/wpa/src/drivers/driver_wired.c user/jmallett/octeon/contrib/wpa/src/drivers/ndis_events.c - copied unchanged from r209333, head/contrib/wpa/src/drivers/ndis_events.c user/jmallett/octeon/contrib/wpa/src/drivers/radiotap.c - copied unchanged from r209333, head/contrib/wpa/src/drivers/radiotap.c user/jmallett/octeon/contrib/wpa/src/drivers/radiotap.h - copied unchanged from r209333, head/contrib/wpa/src/drivers/radiotap.h user/jmallett/octeon/contrib/wpa/src/drivers/radiotap_iter.h - copied unchanged from r209333, head/contrib/wpa/src/drivers/radiotap_iter.h user/jmallett/octeon/contrib/wpa/src/l2_packet/Makefile - copied unchanged from r209333, head/contrib/wpa/src/l2_packet/Makefile user/jmallett/octeon/contrib/wpa/src/l2_packet/l2_packet_freebsd.c - copied unchanged from r209333, head/contrib/wpa/src/l2_packet/l2_packet_freebsd.c user/jmallett/octeon/contrib/wpa/src/l2_packet/l2_packet_ndis.c - copied unchanged from r209333, head/contrib/wpa/src/l2_packet/l2_packet_ndis.c user/jmallett/octeon/contrib/wpa/src/l2_packet/l2_packet_none.c - copied unchanged from r209333, head/contrib/wpa/src/l2_packet/l2_packet_none.c user/jmallett/octeon/contrib/wpa/src/utils/eloop_none.c - copied unchanged from r209333, head/contrib/wpa/src/utils/eloop_none.c user/jmallett/octeon/contrib/wpa/src/utils/eloop_win.c - copied unchanged from r209333, head/contrib/wpa/src/utils/eloop_win.c user/jmallett/octeon/contrib/wpa/src/utils/os_none.c - copied unchanged from r209333, head/contrib/wpa/src/utils/os_none.c user/jmallett/octeon/contrib/wpa/src/utils/os_win32.c - copied unchanged from r209333, head/contrib/wpa/src/utils/os_win32.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/Makefile - copied unchanged from r209333, head/contrib/wpa/wpa_supplicant/Makefile user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c - copied unchanged from r209333, head/contrib/wpa/wpa_supplicant/ctrl_iface_named_pipe.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/main_none.c - copied unchanged from r209333, head/contrib/wpa/wpa_supplicant/main_none.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/nmake.mak - copied unchanged from r209333, head/contrib/wpa/wpa_supplicant/nmake.mak user/jmallett/octeon/etc/periodic/daily/800.scrub-zfs - copied unchanged from r209333, head/etc/periodic/daily/800.scrub-zfs user/jmallett/octeon/lib/clang/ - copied from r209333, head/lib/clang/ user/jmallett/octeon/lib/libc/posix1e/acl_id_to_name.c - copied unchanged from r209333, head/lib/libc/posix1e/acl_id_to_name.c user/jmallett/octeon/lib/libedit/filecomplete.c - copied unchanged from r209333, head/lib/libedit/filecomplete.c user/jmallett/octeon/lib/libedit/filecomplete.h - copied unchanged from r209333, head/lib/libedit/filecomplete.h user/jmallett/octeon/share/man/man4/ng_patch.4 - copied unchanged from r209333, head/share/man/man4/ng_patch.4 user/jmallett/octeon/share/man/man7/c99.7 - copied unchanged from r209333, head/share/man/man7/c99.7 user/jmallett/octeon/share/mk/bsd.arch.inc.mk - copied unchanged from r209333, head/share/mk/bsd.arch.inc.mk user/jmallett/octeon/sys/arm/include/fdt.h - copied unchanged from r209333, head/sys/arm/include/fdt.h user/jmallett/octeon/sys/arm/include/ofw_machdep.h - copied unchanged from r209333, head/sys/arm/include/ofw_machdep.h user/jmallett/octeon/sys/dev/fdt/ - copied from r209333, head/sys/dev/fdt/ user/jmallett/octeon/sys/dev/uart/uart_bus_fdt.c - copied unchanged from r209333, head/sys/dev/uart/uart_bus_fdt.c user/jmallett/octeon/sys/dev/usb/controller/ehci_mv.c - copied unchanged from r209333, head/sys/dev/usb/controller/ehci_mv.c user/jmallett/octeon/sys/libkern/memchr.c - copied unchanged from r209333, head/sys/libkern/memchr.c user/jmallett/octeon/sys/modules/netgraph/patch/ - copied from r209333, head/sys/modules/netgraph/patch/ user/jmallett/octeon/sys/netgraph/ng_patch.c - copied unchanged from r209333, head/sys/netgraph/ng_patch.c user/jmallett/octeon/sys/netgraph/ng_patch.h - copied unchanged from r209333, head/sys/netgraph/ng_patch.h user/jmallett/octeon/sys/powerpc/powermac/smusat.c - copied unchanged from r209333, head/sys/powerpc/powermac/smusat.c user/jmallett/octeon/sys/tools/fdt/ - copied from r209333, head/sys/tools/fdt/ user/jmallett/octeon/sys/x86/x86/io_apic.c - copied unchanged from r209333, head/sys/x86/x86/io_apic.c user/jmallett/octeon/sys/x86/x86/mca.c - copied unchanged from r209333, head/sys/x86/x86/mca.c user/jmallett/octeon/sys/x86/x86/msi.c - copied unchanged from r209333, head/sys/x86/x86/msi.c user/jmallett/octeon/tools/build/options/WITHOUT_CLANG - copied unchanged from r209333, head/tools/build/options/WITHOUT_CLANG user/jmallett/octeon/tools/tools/vhba/ - copied from r209333, head/tools/tools/vhba/ user/jmallett/octeon/usr.bin/clang/ - copied from r209333, head/usr.bin/clang/ Deleted: user/jmallett/octeon/contrib/wpa/hostapd/.gitignore user/jmallett/octeon/contrib/wpa/hostapd/doc/.gitignore user/jmallett/octeon/contrib/wpa/src/common/.gitignore user/jmallett/octeon/contrib/wpa/src/crypto/.gitignore user/jmallett/octeon/contrib/wpa/src/eap_common/.gitignore user/jmallett/octeon/contrib/wpa/src/eap_peer/.gitignore user/jmallett/octeon/contrib/wpa/src/eap_server/.gitignore user/jmallett/octeon/contrib/wpa/src/eapol_supp/.gitignore user/jmallett/octeon/contrib/wpa/src/hlr_auc_gw/.gitignore user/jmallett/octeon/contrib/wpa/src/radius/.gitignore user/jmallett/octeon/contrib/wpa/src/rsn_supp/.gitignore user/jmallett/octeon/contrib/wpa/src/tls/.gitignore user/jmallett/octeon/contrib/wpa/src/utils/.gitignore user/jmallett/octeon/contrib/wpa/src/wps/.gitignore user/jmallett/octeon/contrib/wpa/wpa_supplicant/.gitignore user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/.gitignore user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/.gitignore user/jmallett/octeon/sys/amd64/amd64/io_apic.c user/jmallett/octeon/sys/amd64/amd64/mca.c user/jmallett/octeon/sys/amd64/amd64/msi.c user/jmallett/octeon/sys/arm/mv/discovery/db78xxx.c user/jmallett/octeon/sys/arm/mv/kirkwood/db88f6xxx.c user/jmallett/octeon/sys/arm/mv/kirkwood/files.db88f6xxx user/jmallett/octeon/sys/arm/mv/obio.c user/jmallett/octeon/sys/dev/uart/uart_bus_mbus.c user/jmallett/octeon/sys/dev/uart/uart_cpu_mv.c user/jmallett/octeon/sys/dev/usb/controller/ehci_mbus.c user/jmallett/octeon/sys/i386/i386/io_apic.c user/jmallett/octeon/sys/i386/i386/mca.c user/jmallett/octeon/sys/i386/i386/msi.c user/jmallett/octeon/usr.bin/tftp/extern.h user/jmallett/octeon/usr.bin/tftp/tftpsubs.c user/jmallett/octeon/usr.bin/tftp/tftpsubs.h user/jmallett/octeon/usr.sbin/wpa/l2_packet.c user/jmallett/octeon/usr.sbin/wpa/wpa_supplicant/driver_wired.c Modified: user/jmallett/octeon/Makefile user/jmallett/octeon/Makefile.inc1 user/jmallett/octeon/bin/cp/cp.c user/jmallett/octeon/bin/date/date.1 user/jmallett/octeon/bin/getfacl/getfacl.1 user/jmallett/octeon/bin/sh/histedit.c user/jmallett/octeon/bin/sh/jobs.c user/jmallett/octeon/bin/sh/myhistedit.h user/jmallett/octeon/bin/sh/var.c user/jmallett/octeon/bin/sh/var.h user/jmallett/octeon/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l user/jmallett/octeon/contrib/gdtoa/hexnan.c user/jmallett/octeon/contrib/sendmail/mail.local/mail.local.8 user/jmallett/octeon/contrib/tzcode/zic/zic.8 user/jmallett/octeon/contrib/wpa/hostapd/ChangeLog user/jmallett/octeon/contrib/wpa/hostapd/README-WPS user/jmallett/octeon/contrib/wpa/hostapd/ap.h user/jmallett/octeon/contrib/wpa/hostapd/beacon.c user/jmallett/octeon/contrib/wpa/hostapd/config.c user/jmallett/octeon/contrib/wpa/hostapd/config.h user/jmallett/octeon/contrib/wpa/hostapd/ctrl_iface.c user/jmallett/octeon/contrib/wpa/hostapd/drivers.c user/jmallett/octeon/contrib/wpa/hostapd/hostapd.8 user/jmallett/octeon/contrib/wpa/hostapd/hostapd.c user/jmallett/octeon/contrib/wpa/hostapd/hostapd.conf user/jmallett/octeon/contrib/wpa/hostapd/hostapd_cli.1 user/jmallett/octeon/contrib/wpa/hostapd/hostapd_cli.c user/jmallett/octeon/contrib/wpa/hostapd/hw_features.c user/jmallett/octeon/contrib/wpa/hostapd/ieee802_11.c user/jmallett/octeon/contrib/wpa/hostapd/ieee802_1x.c user/jmallett/octeon/contrib/wpa/hostapd/preauth.c user/jmallett/octeon/contrib/wpa/hostapd/wme.c user/jmallett/octeon/contrib/wpa/hostapd/wme.h user/jmallett/octeon/contrib/wpa/hostapd/wpa.c user/jmallett/octeon/contrib/wpa/hostapd/wpa.h user/jmallett/octeon/contrib/wpa/hostapd/wpa_auth_i.h user/jmallett/octeon/contrib/wpa/hostapd/wpa_auth_ie.c user/jmallett/octeon/contrib/wpa/hostapd/wpa_ft.c user/jmallett/octeon/contrib/wpa/hostapd/wps_hostapd.c user/jmallett/octeon/contrib/wpa/hostapd/wps_hostapd.h user/jmallett/octeon/contrib/wpa/src/common/ieee802_11_common.c user/jmallett/octeon/contrib/wpa/src/common/ieee802_11_common.h user/jmallett/octeon/contrib/wpa/src/common/ieee802_11_defs.h user/jmallett/octeon/contrib/wpa/src/common/version.h user/jmallett/octeon/contrib/wpa/src/common/wpa_common.c user/jmallett/octeon/contrib/wpa/src/crypto/crypto_cryptoapi.c user/jmallett/octeon/contrib/wpa/src/crypto/crypto_gnutls.c user/jmallett/octeon/contrib/wpa/src/crypto/crypto_internal.c user/jmallett/octeon/contrib/wpa/src/crypto/dh_groups.c user/jmallett/octeon/contrib/wpa/src/crypto/ms_funcs.c user/jmallett/octeon/contrib/wpa/src/crypto/rc4.c user/jmallett/octeon/contrib/wpa/src/crypto/rc4.h user/jmallett/octeon/contrib/wpa/src/crypto/sha1.c user/jmallett/octeon/contrib/wpa/src/crypto/sha256.c user/jmallett/octeon/contrib/wpa/src/crypto/tls.h user/jmallett/octeon/contrib/wpa/src/crypto/tls_gnutls.c user/jmallett/octeon/contrib/wpa/src/crypto/tls_openssl.c user/jmallett/octeon/contrib/wpa/src/drivers/driver.h user/jmallett/octeon/contrib/wpa/src/drivers/driver_ndis.c user/jmallett/octeon/contrib/wpa/src/eap_common/eap_defs.h user/jmallett/octeon/contrib/wpa/src/eap_common/eap_fast_common.h user/jmallett/octeon/contrib/wpa/src/eap_common/eap_tlv_common.h user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_fast.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_gpsk.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_methods.h user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_sim.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_tls_common.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_tnc.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_ttls.c user/jmallett/octeon/contrib/wpa/src/eap_peer/eap_wsc.c user/jmallett/octeon/contrib/wpa/src/eap_peer/tncc.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap_fast.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap_gpsk.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap_i.h user/jmallett/octeon/contrib/wpa/src/eap_server/eap_tls_common.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap_tnc.c user/jmallett/octeon/contrib/wpa/src/eap_server/eap_ttls.c user/jmallett/octeon/contrib/wpa/src/eapol_supp/eapol_supp_sm.c user/jmallett/octeon/contrib/wpa/src/hlr_auc_gw/hlr_auc_gw.c user/jmallett/octeon/contrib/wpa/src/radius/radius_client.c user/jmallett/octeon/contrib/wpa/src/radius/radius_server.c user/jmallett/octeon/contrib/wpa/src/rsn_supp/wpa.c user/jmallett/octeon/contrib/wpa/src/rsn_supp/wpa_ft.c user/jmallett/octeon/contrib/wpa/src/rsn_supp/wpa_i.h user/jmallett/octeon/contrib/wpa/src/tls/rsa.c user/jmallett/octeon/contrib/wpa/src/tls/tlsv1_client.c user/jmallett/octeon/contrib/wpa/src/tls/tlsv1_server_read.c user/jmallett/octeon/contrib/wpa/src/utils/base64.c user/jmallett/octeon/contrib/wpa/src/utils/common.c user/jmallett/octeon/contrib/wpa/src/utils/common.h user/jmallett/octeon/contrib/wpa/src/utils/os_unix.c user/jmallett/octeon/contrib/wpa/src/utils/wpa_debug.c user/jmallett/octeon/contrib/wpa/src/utils/wpa_debug.h user/jmallett/octeon/contrib/wpa/src/utils/wpabuf.c user/jmallett/octeon/contrib/wpa/src/wps/httpread.c user/jmallett/octeon/contrib/wpa/src/wps/wps.h user/jmallett/octeon/contrib/wpa/src/wps/wps_attr_parse.c user/jmallett/octeon/contrib/wpa/src/wps/wps_common.c user/jmallett/octeon/contrib/wpa/src/wps/wps_enrollee.c user/jmallett/octeon/contrib/wpa/src/wps/wps_i.h user/jmallett/octeon/contrib/wpa/src/wps/wps_registrar.c user/jmallett/octeon/contrib/wpa/src/wps/wps_upnp.c user/jmallett/octeon/contrib/wpa/src/wps/wps_upnp_event.c user/jmallett/octeon/contrib/wpa/src/wps/wps_upnp_i.h user/jmallett/octeon/contrib/wpa/src/wps/wps_upnp_ssdp.c user/jmallett/octeon/contrib/wpa/src/wps/wps_upnp_web.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/ChangeLog user/jmallett/octeon/contrib/wpa/wpa_supplicant/README user/jmallett/octeon/contrib/wpa/wpa_supplicant/README-WPS user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_dbus.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_dbus.h user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_dbus_handlers.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_dbus_handlers.h user/jmallett/octeon/contrib/wpa/wpa_supplicant/ctrl_iface_unix.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/defconfig user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_background.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_cli.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_gui.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_passphrase.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_priv.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_supplicant.8 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5 user/jmallett/octeon/contrib/wpa/wpa_supplicant/doc/porting.doxygen user/jmallett/octeon/contrib/wpa/wpa_supplicant/eapol_test.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/events.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/mlme.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/scan.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/wpa_priv.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/wpa_supplicant.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/wpa_supplicant_i.h user/jmallett/octeon/contrib/wpa/wpa_supplicant/wpas_glue.c user/jmallett/octeon/contrib/wpa/wpa_supplicant/wps_supplicant.c user/jmallett/octeon/etc/Makefile user/jmallett/octeon/etc/login.conf user/jmallett/octeon/etc/mtree/BSD.include.dist user/jmallett/octeon/etc/namedb/named.root user/jmallett/octeon/etc/periodic/daily/Makefile user/jmallett/octeon/games/random/random.c user/jmallett/octeon/games/random/randomize_fd.c user/jmallett/octeon/gnu/lib/csu/Makefile user/jmallett/octeon/gnu/lib/libdialog/TESTS/check3.c user/jmallett/octeon/gnu/lib/libdialog/TESTS/menu3.c user/jmallett/octeon/gnu/lib/libdialog/TESTS/radio1.c user/jmallett/octeon/gnu/lib/libdialog/TESTS/radio3.c user/jmallett/octeon/gnu/usr.bin/Makefile user/jmallett/octeon/gnu/usr.bin/cc/Makefile.inc user/jmallett/octeon/include/histedit.h user/jmallett/octeon/lib/Makefile user/jmallett/octeon/lib/csu/i386-elf/crt1_s.S user/jmallett/octeon/lib/libarchive/archive_entry.3 user/jmallett/octeon/lib/libarchive/archive_read.3 user/jmallett/octeon/lib/libarchive/archive_read_disk.3 user/jmallett/octeon/lib/libarchive/archive_util.3 user/jmallett/octeon/lib/libarchive/archive_write.3 user/jmallett/octeon/lib/libarchive/archive_write_disk.3 user/jmallett/octeon/lib/libarchive/libarchive-formats.5 user/jmallett/octeon/lib/libarchive/tar.5 user/jmallett/octeon/lib/libc/gen/getcap.3 user/jmallett/octeon/lib/libc/net/sctp_recvmsg.3 user/jmallett/octeon/lib/libc/posix1e/Makefile.inc user/jmallett/octeon/lib/libc/posix1e/acl_entry.c user/jmallett/octeon/lib/libc/posix1e/acl_set.c user/jmallett/octeon/lib/libc/posix1e/acl_strip.c user/jmallett/octeon/lib/libc/posix1e/acl_support.c user/jmallett/octeon/lib/libc/posix1e/acl_support.h user/jmallett/octeon/lib/libc/posix1e/acl_to_text_nfs4.c user/jmallett/octeon/lib/libc/posix1e/acl_valid.c user/jmallett/octeon/lib/libc/stdlib/atexit.c user/jmallett/octeon/lib/libc/sys/flock.2 user/jmallett/octeon/lib/libc/sys/getitimer.2 user/jmallett/octeon/lib/libc/sys/getrusage.2 user/jmallett/octeon/lib/libc/sys/mq_close.2 user/jmallett/octeon/lib/libc/sys/mq_getattr.2 user/jmallett/octeon/lib/libc/sys/mq_notify.2 user/jmallett/octeon/lib/libc/sys/mq_open.2 user/jmallett/octeon/lib/libc/sys/mq_receive.2 user/jmallett/octeon/lib/libc/sys/mq_send.2 user/jmallett/octeon/lib/libc/sys/mq_setattr.2 user/jmallett/octeon/lib/libedit/Makefile user/jmallett/octeon/lib/libelf/elf_getbase.3 user/jmallett/octeon/lib/libelf/elf_getbase.c user/jmallett/octeon/lib/libkse/Makefile user/jmallett/octeon/lib/libkse/arch/amd64/Makefile.inc user/jmallett/octeon/lib/libkse/arch/arm/Makefile.inc user/jmallett/octeon/lib/libkse/arch/i386/Makefile.inc user/jmallett/octeon/lib/libkse/arch/ia64/Makefile.inc user/jmallett/octeon/lib/libkse/arch/powerpc/Makefile.inc user/jmallett/octeon/lib/libkse/arch/sparc64/Makefile.inc user/jmallett/octeon/lib/libkse/support/Makefile.inc user/jmallett/octeon/lib/libkvm/kvm_proc.c user/jmallett/octeon/lib/liblzma/config.h user/jmallett/octeon/lib/libmemstat/memstat.c user/jmallett/octeon/lib/libmemstat/memstat.h user/jmallett/octeon/lib/libmemstat/memstat_internal.h user/jmallett/octeon/lib/libmemstat/memstat_uma.c user/jmallett/octeon/lib/libpmc/pmc.corei7.3 user/jmallett/octeon/lib/libpmc/pmc.corei7uc.3 user/jmallett/octeon/lib/libpmc/pmc.westmereuc.3 user/jmallett/octeon/lib/libpmc/pmclog.c user/jmallett/octeon/lib/librpcsec_gss/rpc_gss_seccreate.3 user/jmallett/octeon/lib/msun/Symbol.map user/jmallett/octeon/lib/msun/man/atan2.3 user/jmallett/octeon/lib/msun/src/math.h user/jmallett/octeon/lib/msun/src/s_isnan.c user/jmallett/octeon/libexec/rtld-elf/rtld.c user/jmallett/octeon/release/doc/en_US.ISO8859-1/relnotes/article.sgml user/jmallett/octeon/release/scripts/ports-install.sh user/jmallett/octeon/sbin/camcontrol/modeedit.c user/jmallett/octeon/sbin/ccdconfig/ccdconfig.c user/jmallett/octeon/sbin/gbde/gbde.c user/jmallett/octeon/sbin/geom/class/part/geom_part.c user/jmallett/octeon/sbin/geom/class/part/gpart.8 user/jmallett/octeon/sbin/geom/misc/subr.c user/jmallett/octeon/sbin/gvinum/gvinum.c user/jmallett/octeon/sbin/hastd/ebuf.c user/jmallett/octeon/sbin/hastd/hast_proto.c user/jmallett/octeon/sbin/hastd/hastd.c user/jmallett/octeon/sbin/hastd/metadata.c user/jmallett/octeon/sbin/hastd/nv.c user/jmallett/octeon/sbin/hastd/primary.c user/jmallett/octeon/sbin/hastd/secondary.c user/jmallett/octeon/sbin/iscontrol/config.c user/jmallett/octeon/sbin/ping6/ping6.c user/jmallett/octeon/share/examples/kld/syscall/test/call.c user/jmallett/octeon/share/man/man1/builtin.1 user/jmallett/octeon/share/man/man4/Makefile user/jmallett/octeon/share/man/man4/ae.4 user/jmallett/octeon/share/man/man4/bpf.4 user/jmallett/octeon/share/man/man4/io.4 user/jmallett/octeon/share/man/man4/textdump.4 user/jmallett/octeon/share/man/man5/a.out.5 user/jmallett/octeon/share/man/man5/periodic.conf.5 user/jmallett/octeon/share/man/man5/src.conf.5 user/jmallett/octeon/share/man/man5/stab.5 user/jmallett/octeon/share/man/man7/Makefile user/jmallett/octeon/share/man/man9/bus_generic_new_pass.9 user/jmallett/octeon/share/man/man9/bus_set_pass.9 user/jmallett/octeon/share/man/man9/insmntque.9 user/jmallett/octeon/share/man/man9/vfs_busy.9 user/jmallett/octeon/share/man/man9/vfs_mountedfrom.9 user/jmallett/octeon/share/man/man9/vfs_unbusy.9 user/jmallett/octeon/share/misc/committers-ports.dot user/jmallett/octeon/share/misc/committers-src.dot user/jmallett/octeon/share/mk/bsd.own.mk user/jmallett/octeon/share/mk/sys.mk user/jmallett/octeon/share/termcap/termcap.5 user/jmallett/octeon/sys/amd64/acpica/acpi_wakeup.c user/jmallett/octeon/sys/amd64/acpica/madt.c user/jmallett/octeon/sys/amd64/amd64/apic_vector.S user/jmallett/octeon/sys/amd64/amd64/cpu_switch.S user/jmallett/octeon/sys/amd64/amd64/fpu.c user/jmallett/octeon/sys/amd64/amd64/intr_machdep.c user/jmallett/octeon/sys/amd64/amd64/legacy.c user/jmallett/octeon/sys/amd64/amd64/machdep.c user/jmallett/octeon/sys/amd64/amd64/mp_machdep.c user/jmallett/octeon/sys/amd64/amd64/pmap.c user/jmallett/octeon/sys/amd64/amd64/trap.c user/jmallett/octeon/sys/amd64/amd64/vm_machdep.c user/jmallett/octeon/sys/amd64/conf/NOTES user/jmallett/octeon/sys/amd64/ia32/ia32_reg.c user/jmallett/octeon/sys/amd64/ia32/ia32_signal.c user/jmallett/octeon/sys/amd64/include/fpu.h user/jmallett/octeon/sys/amd64/include/mca.h user/jmallett/octeon/sys/amd64/include/pcb.h user/jmallett/octeon/sys/amd64/include/smp.h user/jmallett/octeon/sys/amd64/linux32/linux32_machdep.c user/jmallett/octeon/sys/arm/arm/nexus.c user/jmallett/octeon/sys/arm/arm/pmap.c user/jmallett/octeon/sys/arm/conf/DB-78XXX user/jmallett/octeon/sys/arm/conf/DB-88F5XXX user/jmallett/octeon/sys/arm/conf/DB-88F6XXX user/jmallett/octeon/sys/arm/conf/SHEEVAPLUG user/jmallett/octeon/sys/arm/include/metadata.h user/jmallett/octeon/sys/arm/mv/bus_space.c user/jmallett/octeon/sys/arm/mv/common.c user/jmallett/octeon/sys/arm/mv/discovery/discovery.c user/jmallett/octeon/sys/arm/mv/discovery/files.db78xxx user/jmallett/octeon/sys/arm/mv/files.mv user/jmallett/octeon/sys/arm/mv/gpio.c user/jmallett/octeon/sys/arm/mv/ic.c user/jmallett/octeon/sys/arm/mv/kirkwood/kirkwood.c user/jmallett/octeon/sys/arm/mv/kirkwood/sheevaplug.c user/jmallett/octeon/sys/arm/mv/kirkwood/std.db88f6xxx user/jmallett/octeon/sys/arm/mv/kirkwood/std.sheevaplug user/jmallett/octeon/sys/arm/mv/mv_machdep.c user/jmallett/octeon/sys/arm/mv/mv_pci.c user/jmallett/octeon/sys/arm/mv/mv_sata.c user/jmallett/octeon/sys/arm/mv/mvreg.h user/jmallett/octeon/sys/arm/mv/mvvar.h user/jmallett/octeon/sys/arm/mv/mvwin.h user/jmallett/octeon/sys/arm/mv/orion/db88f5xxx.c user/jmallett/octeon/sys/arm/mv/orion/orion.c user/jmallett/octeon/sys/arm/mv/rtc.c user/jmallett/octeon/sys/arm/mv/timer.c user/jmallett/octeon/sys/arm/mv/twsi.c user/jmallett/octeon/sys/boot/arm/uboot/Makefile user/jmallett/octeon/sys/boot/i386/boot0/Makefile user/jmallett/octeon/sys/boot/i386/btx/btx/Makefile user/jmallett/octeon/sys/boot/i386/btx/btxldr/Makefile user/jmallett/octeon/sys/boot/i386/cdboot/Makefile user/jmallett/octeon/sys/boot/i386/mbr/Makefile user/jmallett/octeon/sys/boot/i386/pmbr/Makefile user/jmallett/octeon/sys/boot/i386/pxeldr/Makefile user/jmallett/octeon/sys/boot/pc98/boot0.5/Makefile user/jmallett/octeon/sys/boot/pc98/boot0/Makefile user/jmallett/octeon/sys/boot/pc98/btx/btx/Makefile user/jmallett/octeon/sys/boot/pc98/btx/btxldr/Makefile user/jmallett/octeon/sys/boot/pc98/cdboot/Makefile user/jmallett/octeon/sys/boot/powerpc/uboot/Makefile user/jmallett/octeon/sys/boot/sparc64/boot1/Makefile user/jmallett/octeon/sys/boot/uboot/common/metadata.c user/jmallett/octeon/sys/cam/ata/ata_pmp.c user/jmallett/octeon/sys/cam/ata/ata_xpt.c user/jmallett/octeon/sys/cam/cam_debug.h user/jmallett/octeon/sys/cam/cam_periph.c user/jmallett/octeon/sys/cam/cam_xpt.c user/jmallett/octeon/sys/cam/cam_xpt_internal.h user/jmallett/octeon/sys/cam/scsi/scsi_all.c user/jmallett/octeon/sys/cam/scsi/scsi_all.h user/jmallett/octeon/sys/cam/scsi/scsi_cd.c user/jmallett/octeon/sys/cam/scsi/scsi_ch.h user/jmallett/octeon/sys/cam/scsi/scsi_da.c user/jmallett/octeon/sys/cam/scsi/scsi_xpt.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scrub.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c user/jmallett/octeon/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c user/jmallett/octeon/sys/cddl/dev/cyclic/cyclic.c user/jmallett/octeon/sys/cddl/dev/dtrace/amd64/dtrace_subr.c user/jmallett/octeon/sys/cddl/dev/dtrace/dtrace_debug.c user/jmallett/octeon/sys/cddl/dev/dtrace/dtrace_load.c user/jmallett/octeon/sys/cddl/dev/dtrace/i386/dtrace_subr.c user/jmallett/octeon/sys/compat/linprocfs/linprocfs.c user/jmallett/octeon/sys/compat/ndis/subr_usbd.c user/jmallett/octeon/sys/conf/Makefile.arm user/jmallett/octeon/sys/conf/NOTES user/jmallett/octeon/sys/conf/files user/jmallett/octeon/sys/conf/files.amd64 user/jmallett/octeon/sys/conf/files.arm user/jmallett/octeon/sys/conf/files.i386 user/jmallett/octeon/sys/conf/files.pc98 user/jmallett/octeon/sys/conf/files.powerpc user/jmallett/octeon/sys/conf/options user/jmallett/octeon/sys/conf/options.amd64 user/jmallett/octeon/sys/conf/options.arm user/jmallett/octeon/sys/contrib/libfdt/libfdt_env.h user/jmallett/octeon/sys/crypto/via/padlock.c user/jmallett/octeon/sys/crypto/via/padlock.h user/jmallett/octeon/sys/crypto/via/padlock_cipher.c user/jmallett/octeon/sys/crypto/via/padlock_hash.c user/jmallett/octeon/sys/dev/acpi_support/acpi_asus.c user/jmallett/octeon/sys/dev/acpi_support/acpi_fujitsu.c user/jmallett/octeon/sys/dev/acpi_support/acpi_hp.c user/jmallett/octeon/sys/dev/acpi_support/acpi_ibm.c user/jmallett/octeon/sys/dev/acpica/acpi.c user/jmallett/octeon/sys/dev/acpica/acpi_cpu.c user/jmallett/octeon/sys/dev/acpica/acpi_dock.c user/jmallett/octeon/sys/dev/acpica/acpi_thermal.c user/jmallett/octeon/sys/dev/acpica/acpi_video.c user/jmallett/octeon/sys/dev/agp/agp_nvidia.c user/jmallett/octeon/sys/dev/ahci/ahci.c user/jmallett/octeon/sys/dev/ata/ata-all.h user/jmallett/octeon/sys/dev/ata/ata-lowlevel.c user/jmallett/octeon/sys/dev/ata/atapi-cam.c user/jmallett/octeon/sys/dev/ata/chipsets/ata-acerlabs.c user/jmallett/octeon/sys/dev/ata/chipsets/ata-intel.c user/jmallett/octeon/sys/dev/ata/chipsets/ata-serverworks.c user/jmallett/octeon/sys/dev/ath/if_ath.c user/jmallett/octeon/sys/dev/bge/if_bge.c user/jmallett/octeon/sys/dev/bge/if_bgereg.h user/jmallett/octeon/sys/dev/cas/if_cas.c user/jmallett/octeon/sys/dev/cxgb/cxgb_adapter.h user/jmallett/octeon/sys/dev/cxgb/cxgb_main.c user/jmallett/octeon/sys/dev/cxgb/cxgb_sge.c user/jmallett/octeon/sys/dev/cxgb/ulp/tom/cxgb_vm.c user/jmallett/octeon/sys/dev/e1000/if_em.c user/jmallett/octeon/sys/dev/e1000/if_igb.c user/jmallett/octeon/sys/dev/e1000/if_igb.h user/jmallett/octeon/sys/dev/e1000/if_lem.c user/jmallett/octeon/sys/dev/hwpmc/hwpmc_mod.c user/jmallett/octeon/sys/dev/iicbus/iic.h user/jmallett/octeon/sys/dev/isp/isp.c user/jmallett/octeon/sys/dev/isp/isp_freebsd.c user/jmallett/octeon/sys/dev/isp/isp_library.c user/jmallett/octeon/sys/dev/isp/isp_pci.c user/jmallett/octeon/sys/dev/iwn/if_iwn.c user/jmallett/octeon/sys/dev/ixgbe/ixgbe.c user/jmallett/octeon/sys/dev/ixgbe/ixgbe.h user/jmallett/octeon/sys/dev/md/md.c user/jmallett/octeon/sys/dev/mge/if_mge.c user/jmallett/octeon/sys/dev/mge/if_mgevar.h user/jmallett/octeon/sys/dev/mvs/mvs.c user/jmallett/octeon/sys/dev/ofw/ofw_bus_subr.c user/jmallett/octeon/sys/dev/ofw/ofw_bus_subr.h user/jmallett/octeon/sys/dev/pci/pci.c user/jmallett/octeon/sys/dev/pci/pcivar.h user/jmallett/octeon/sys/dev/random/nehemiah.c user/jmallett/octeon/sys/dev/sge/if_sge.c user/jmallett/octeon/sys/dev/siis/siis.c user/jmallett/octeon/sys/dev/sound/pci/hda/hdac.c user/jmallett/octeon/sys/dev/sound/pcm/feeder_eq.c user/jmallett/octeon/sys/dev/sound/pcm/feeder_rate.c user/jmallett/octeon/sys/dev/sound/pcm/sound.c user/jmallett/octeon/sys/dev/twa/tw_cl.h user/jmallett/octeon/sys/dev/twa/tw_cl_fwif.h user/jmallett/octeon/sys/dev/twa/tw_cl_init.c user/jmallett/octeon/sys/dev/twa/tw_cl_intr.c user/jmallett/octeon/sys/dev/twa/tw_cl_io.c user/jmallett/octeon/sys/dev/twa/tw_cl_misc.c user/jmallett/octeon/sys/dev/twa/tw_cl_share.h user/jmallett/octeon/sys/dev/twa/tw_osl.h user/jmallett/octeon/sys/dev/twa/tw_osl_cam.c user/jmallett/octeon/sys/dev/twa/tw_osl_externs.h user/jmallett/octeon/sys/dev/twa/tw_osl_freebsd.c user/jmallett/octeon/sys/dev/twa/tw_osl_inline.h user/jmallett/octeon/sys/dev/twa/tw_osl_share.h user/jmallett/octeon/sys/dev/usb/usb_dev.c user/jmallett/octeon/sys/dev/usb/usb_device.c user/jmallett/octeon/sys/dev/usb/usb_process.c user/jmallett/octeon/sys/dev/usb/wlan/if_rum.c user/jmallett/octeon/sys/dev/usb/wlan/if_run.c user/jmallett/octeon/sys/dev/usb/wlan/if_runvar.h user/jmallett/octeon/sys/dev/usb/wlan/if_ural.c user/jmallett/octeon/sys/dev/xen/netfront/netfront.c user/jmallett/octeon/sys/fs/devfs/devfs.h user/jmallett/octeon/sys/fs/devfs/devfs_devs.c user/jmallett/octeon/sys/fs/devfs/devfs_vnops.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clbio.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clcomsubs.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clport.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clrpcops.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clsubs.c user/jmallett/octeon/sys/fs/nfsclient/nfs_clvnops.c user/jmallett/octeon/sys/fs/nfsserver/nfs_nfsdport.c user/jmallett/octeon/sys/fs/nfsserver/nfs_nfsdsocket.c user/jmallett/octeon/sys/fs/nwfs/nwfs_io.c user/jmallett/octeon/sys/fs/procfs/procfs_type.c user/jmallett/octeon/sys/fs/smbfs/smbfs_io.c user/jmallett/octeon/sys/fs/tmpfs/tmpfs_vnops.c user/jmallett/octeon/sys/geom/gate/g_gate.c user/jmallett/octeon/sys/geom/geom_dev.c user/jmallett/octeon/sys/geom/geom_event.c user/jmallett/octeon/sys/geom/geom_io.c user/jmallett/octeon/sys/geom/mountver/g_mountver.c user/jmallett/octeon/sys/geom/part/g_part_bsd.c user/jmallett/octeon/sys/geom/part/g_part_gpt.c user/jmallett/octeon/sys/i386/acpica/acpi_wakeup.c user/jmallett/octeon/sys/i386/acpica/madt.c user/jmallett/octeon/sys/i386/conf/NOTES user/jmallett/octeon/sys/i386/i386/intr_machdep.c user/jmallett/octeon/sys/i386/i386/legacy.c user/jmallett/octeon/sys/i386/i386/machdep.c user/jmallett/octeon/sys/i386/i386/mp_machdep.c user/jmallett/octeon/sys/i386/i386/pmap.c user/jmallett/octeon/sys/i386/i386/ptrace_machdep.c user/jmallett/octeon/sys/i386/i386/swtch.s user/jmallett/octeon/sys/i386/i386/trap.c user/jmallett/octeon/sys/i386/i386/tsc.c user/jmallett/octeon/sys/i386/i386/vm_machdep.c user/jmallett/octeon/sys/i386/include/mca.h user/jmallett/octeon/sys/i386/include/npx.h user/jmallett/octeon/sys/i386/include/pcb.h user/jmallett/octeon/sys/i386/include/pcpu.h user/jmallett/octeon/sys/i386/isa/npx.c user/jmallett/octeon/sys/i386/linux/linux_machdep.c user/jmallett/octeon/sys/i386/linux/linux_ptrace.c user/jmallett/octeon/sys/i386/xen/pmap.c user/jmallett/octeon/sys/ia64/ia64/busdma_machdep.c user/jmallett/octeon/sys/ia64/ia64/exception.S user/jmallett/octeon/sys/ia64/ia64/pmap.c user/jmallett/octeon/sys/ia64/ia64/vm_machdep.c user/jmallett/octeon/sys/ia64/include/md_var.h user/jmallett/octeon/sys/kern/bus_if.m user/jmallett/octeon/sys/kern/kern_clock.c user/jmallett/octeon/sys/kern/kern_conf.c user/jmallett/octeon/sys/kern/kern_intr.c user/jmallett/octeon/sys/kern/kern_jail.c user/jmallett/octeon/sys/kern/kern_switch.c user/jmallett/octeon/sys/kern/kern_sx.c user/jmallett/octeon/sys/kern/kern_tc.c user/jmallett/octeon/sys/kern/kern_timeout.c user/jmallett/octeon/sys/kern/sched_4bsd.c user/jmallett/octeon/sys/kern/sched_ule.c user/jmallett/octeon/sys/kern/subr_acl_nfs4.c user/jmallett/octeon/sys/kern/subr_acl_posix1e.c user/jmallett/octeon/sys/kern/subr_bus.c user/jmallett/octeon/sys/kern/subr_kdb.c user/jmallett/octeon/sys/kern/subr_lock.c user/jmallett/octeon/sys/kern/subr_pcpu.c user/jmallett/octeon/sys/kern/subr_smp.c user/jmallett/octeon/sys/kern/subr_taskqueue.c user/jmallett/octeon/sys/kern/subr_trap.c user/jmallett/octeon/sys/kern/subr_unit.c user/jmallett/octeon/sys/kern/sysv_sem.c user/jmallett/octeon/sys/kern/sysv_shm.c user/jmallett/octeon/sys/kern/uipc_shm.c user/jmallett/octeon/sys/kern/vfs_acl.c user/jmallett/octeon/sys/kern/vfs_bio.c user/jmallett/octeon/sys/kern/vfs_subr.c user/jmallett/octeon/sys/mips/rmi/board.c user/jmallett/octeon/sys/mips/rmi/board.h user/jmallett/octeon/sys/mips/rmi/dev/xlr/rge.c user/jmallett/octeon/sys/modules/netgraph/Makefile user/jmallett/octeon/sys/modules/zfs/Makefile user/jmallett/octeon/sys/net/bpf.c user/jmallett/octeon/sys/net/bpf.h user/jmallett/octeon/sys/net/bpfdesc.h user/jmallett/octeon/sys/net/flowtable.c user/jmallett/octeon/sys/net/if_epair.c user/jmallett/octeon/sys/net/netisr.c user/jmallett/octeon/sys/net/vnet.h user/jmallett/octeon/sys/net80211/ieee80211_hwmp.c user/jmallett/octeon/sys/net80211/ieee80211_rssadapt.c user/jmallett/octeon/sys/net80211/ieee80211_sta.c user/jmallett/octeon/sys/netgraph/ng_pppoe.c user/jmallett/octeon/sys/netinet/ip_mroute.c user/jmallett/octeon/sys/netinet/ip_mroute.h user/jmallett/octeon/sys/netinet/pim_var.h user/jmallett/octeon/sys/netinet/sctp.h user/jmallett/octeon/sys/netinet/sctp_asconf.c user/jmallett/octeon/sys/netinet/sctp_auth.c user/jmallett/octeon/sys/netinet/sctp_bsd_addr.c user/jmallett/octeon/sys/netinet/sctp_constants.h user/jmallett/octeon/sys/netinet/sctp_indata.c user/jmallett/octeon/sys/netinet/sctp_input.c user/jmallett/octeon/sys/netinet/sctp_lock_bsd.h user/jmallett/octeon/sys/netinet/sctp_output.c user/jmallett/octeon/sys/netinet/sctp_pcb.c user/jmallett/octeon/sys/netinet/sctp_pcb.h user/jmallett/octeon/sys/netinet/sctp_sysctl.c user/jmallett/octeon/sys/netinet/sctp_usrreq.c user/jmallett/octeon/sys/netinet/sctputil.c user/jmallett/octeon/sys/nfsclient/nfs_bio.c user/jmallett/octeon/sys/nfsclient/nfs_subs.c user/jmallett/octeon/sys/nfsclient/nfs_vnops.c user/jmallett/octeon/sys/opencrypto/crypto.c user/jmallett/octeon/sys/pc98/pc98/machdep.c user/jmallett/octeon/sys/powerpc/aim/interrupt.c user/jmallett/octeon/sys/powerpc/aim/mmu_oea.c user/jmallett/octeon/sys/powerpc/aim/mmu_oea64.c user/jmallett/octeon/sys/powerpc/aim/mp_cpudep.c user/jmallett/octeon/sys/powerpc/aim/nexus.c user/jmallett/octeon/sys/powerpc/aim/platform_chrp.c user/jmallett/octeon/sys/powerpc/booke/interrupt.c user/jmallett/octeon/sys/powerpc/booke/pmap.c user/jmallett/octeon/sys/powerpc/include/intr_machdep.h user/jmallett/octeon/sys/powerpc/include/ocpbus.h user/jmallett/octeon/sys/powerpc/include/openpicvar.h user/jmallett/octeon/sys/powerpc/mpc85xx/atpic.c user/jmallett/octeon/sys/powerpc/mpc85xx/isa.c user/jmallett/octeon/sys/powerpc/mpc85xx/ocpbus.c user/jmallett/octeon/sys/powerpc/mpc85xx/ocpbus.h user/jmallett/octeon/sys/powerpc/mpc85xx/opic.c user/jmallett/octeon/sys/powerpc/mpc85xx/pci_ocp.c user/jmallett/octeon/sys/powerpc/ofw/ofw_pcib_pci.c user/jmallett/octeon/sys/powerpc/ofw/ofw_pcibus.c user/jmallett/octeon/sys/powerpc/ofw/ofw_syscons.c user/jmallett/octeon/sys/powerpc/powermac/cpcht.c user/jmallett/octeon/sys/powerpc/powermac/grackle.c user/jmallett/octeon/sys/powerpc/powermac/hrowpic.c user/jmallett/octeon/sys/powerpc/powermac/kiic.c user/jmallett/octeon/sys/powerpc/powermac/macgpio.c user/jmallett/octeon/sys/powerpc/powermac/macio.c user/jmallett/octeon/sys/powerpc/powermac/openpic_macio.c user/jmallett/octeon/sys/powerpc/powermac/smu.c user/jmallett/octeon/sys/powerpc/powermac/uninorth.c user/jmallett/octeon/sys/powerpc/powermac/uninorthpci.c user/jmallett/octeon/sys/powerpc/powerpc/intr_machdep.c user/jmallett/octeon/sys/powerpc/powerpc/mp_machdep.c user/jmallett/octeon/sys/powerpc/powerpc/openpic.c user/jmallett/octeon/sys/powerpc/powerpc/pic_if.m user/jmallett/octeon/sys/sparc64/ebus/ebus.c user/jmallett/octeon/sys/sparc64/isa/ofw_isa.c user/jmallett/octeon/sys/sparc64/pci/fire.c user/jmallett/octeon/sys/sparc64/pci/ofw_pcib_subr.c user/jmallett/octeon/sys/sparc64/pci/psycho.c user/jmallett/octeon/sys/sparc64/pci/schizo.c user/jmallett/octeon/sys/sparc64/sparc64/mp_locore.S user/jmallett/octeon/sys/sparc64/sparc64/pmap.c user/jmallett/octeon/sys/sun4v/sun4v/hv_pci.c user/jmallett/octeon/sys/sun4v/sun4v/pmap.c user/jmallett/octeon/sys/sys/buf.h user/jmallett/octeon/sys/sys/bus.h user/jmallett/octeon/sys/sys/conf.h user/jmallett/octeon/sys/sys/file.h user/jmallett/octeon/sys/sys/libkern.h user/jmallett/octeon/sys/sys/nlist_aout.h user/jmallett/octeon/sys/sys/param.h user/jmallett/octeon/sys/sys/pcpu.h user/jmallett/octeon/sys/sys/pmc.h user/jmallett/octeon/sys/sys/proc.h user/jmallett/octeon/sys/sys/smp.h user/jmallett/octeon/sys/sys/time.h user/jmallett/octeon/sys/sys/vnode.h user/jmallett/octeon/sys/sys/vtoc.h user/jmallett/octeon/sys/ufs/ffs/ffs_softdep.c user/jmallett/octeon/sys/ufs/ufs/ufs_quota.c user/jmallett/octeon/sys/vm/uma.h user/jmallett/octeon/sys/vm/uma_core.c user/jmallett/octeon/sys/vm/uma_int.h user/jmallett/octeon/sys/vm/vm_contig.c user/jmallett/octeon/sys/vm/vm_page.c user/jmallett/octeon/sys/vm/vm_page.h user/jmallett/octeon/sys/vm/vm_pageout.c user/jmallett/octeon/sys/vm/vm_pageout.h user/jmallett/octeon/sys/vm/vnode_pager.c user/jmallett/octeon/tools/build/mk/OptionalObsoleteFiles.inc user/jmallett/octeon/tools/regression/fstest/Makefile user/jmallett/octeon/tools/tools/nanobsd/nanobsd.sh user/jmallett/octeon/tools/tools/netrate/tcpp/README user/jmallett/octeon/tools/tools/netrate/tcpp/tcpp.c user/jmallett/octeon/tools/tools/netrate/tcpp/tcpp.h user/jmallett/octeon/tools/tools/netrate/tcpp/tcpp_client.c user/jmallett/octeon/tools/tools/netrate/tcpp/tcpp_server.c user/jmallett/octeon/tools/tools/tinybsd/conf/default/TINYBSD user/jmallett/octeon/tools/tools/tinybsd/conf/vpn/TINYBSD user/jmallett/octeon/usr.bin/Makefile user/jmallett/octeon/usr.bin/bc/scan.l user/jmallett/octeon/usr.bin/c99/c99.1 user/jmallett/octeon/usr.bin/calendar/calendars/calendar.freebsd user/jmallett/octeon/usr.bin/calendar/io.c user/jmallett/octeon/usr.bin/calendar/locale.c user/jmallett/octeon/usr.bin/calendar/sunpos.c user/jmallett/octeon/usr.bin/dc/bcode.c user/jmallett/octeon/usr.bin/dc/dc.c user/jmallett/octeon/usr.bin/gzip/gzip.c user/jmallett/octeon/usr.bin/hexdump/od.1 user/jmallett/octeon/usr.bin/ipcs/ipc.c user/jmallett/octeon/usr.bin/systat/vmstat.c user/jmallett/octeon/usr.bin/tar/read.c user/jmallett/octeon/usr.bin/tar/write.c user/jmallett/octeon/usr.bin/unzip/unzip.c user/jmallett/octeon/usr.bin/vmstat/vmstat.c user/jmallett/octeon/usr.bin/wtmpcvt/wtmpcvt.c user/jmallett/octeon/usr.sbin/Makefile user/jmallett/octeon/usr.sbin/arp/arp.c user/jmallett/octeon/usr.sbin/chown/chown.c user/jmallett/octeon/usr.sbin/config/mkmakefile.c user/jmallett/octeon/usr.sbin/moused/moused.c user/jmallett/octeon/usr.sbin/mptutil/mptutil.8 user/jmallett/octeon/usr.sbin/nfscbd/nfscbd.8 user/jmallett/octeon/usr.sbin/nfsdumpstate/nfsdumpstate.8 user/jmallett/octeon/usr.sbin/pmcstat/pmcpl_calltree.c user/jmallett/octeon/usr.sbin/pmcstat/pmcstat.c user/jmallett/octeon/usr.sbin/pmcstat/pmcstat_log.c user/jmallett/octeon/usr.sbin/powerd/powerd.c user/jmallett/octeon/usr.sbin/service/service.8 user/jmallett/octeon/usr.sbin/sysinstall/Makefile user/jmallett/octeon/usr.sbin/sysinstall/devices.c user/jmallett/octeon/usr.sbin/sysinstall/disks.c user/jmallett/octeon/usr.sbin/sysinstall/install.c user/jmallett/octeon/usr.sbin/sysinstall/installUpgrade.c user/jmallett/octeon/usr.sbin/sysinstall/label.c user/jmallett/octeon/usr.sbin/sysinstall/media.c user/jmallett/octeon/usr.sbin/sysinstall/sysinstall.h user/jmallett/octeon/usr.sbin/sysinstall/system.c user/jmallett/octeon/usr.sbin/sysinstall/tcpip.c user/jmallett/octeon/usr.sbin/timed/timed/timed.8 user/jmallett/octeon/usr.sbin/tzsetup/tzsetup.c user/jmallett/octeon/usr.sbin/wpa/hostapd/Makefile user/jmallett/octeon/usr.sbin/wpa/wpa_supplicant/Makefile Directory Properties: user/jmallett/octeon/ (props changed) user/jmallett/octeon/contrib/wpa/ (props changed) user/jmallett/octeon/sys/arm/include/bootinfo.h (props changed) Modified: user/jmallett/octeon/Makefile ============================================================================== --- user/jmallett/octeon/Makefile Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/Makefile Sat Jun 19 10:06:46 2010 (r209334) @@ -89,7 +89,8 @@ TGTS= all all-man buildenv buildenvvars obj objlink regress rerelease showconfig tags toolchain update \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _build-tools _cross-tools _includes _libraries _depend \ - build32 distribute32 install32 xdev xdev-build xdev-install + build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ + TGTS+= ${SUBDIR_TARGETS} BITGTS= files includes Modified: user/jmallett/octeon/Makefile.inc1 ============================================================================== --- user/jmallett/octeon/Makefile.inc1 Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/Makefile.inc1 Sat Jun 19 10:06:46 2010 (r209334) @@ -956,18 +956,31 @@ _gensnmptree= usr.sbin/bsnmpd/gensnmptre _crunchgen= usr.sbin/crunch/crunchgen .endif +# XXX: There is no way to specify bootstrap tools depending on MK-flags +# with different per-architecture default values. Always build tblgen. +_clang_tblgen= \ + lib/clang/libllvmsupport \ + lib/clang/libllvmsystem \ + usr.bin/clang/tblgen + .if ${MK_CDDL} != "no" _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \ lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge .endif +.if ${MK_FDT} != "no" +_dtc= gnu/usr.bin/dtc +.endif + bootstrap-tools: .for _tool in \ + ${_clang_tblgen} \ ${_dtrace_tools} \ ${_strfile} \ ${_gperf} \ ${_groff} \ ${_ar} \ + ${_dtc} \ usr.bin/lorder \ usr.bin/makewhatis \ ${_mklocale} \ @@ -1440,3 +1453,39 @@ _xi-links: ../../../../usr/bin/${XDDIR}${OSREL}-$$i; \ done .endif + +.if !empty(KRNLOBJDIR) && !empty(KERNCONF) +DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF}/ + +.if !defined(FDT_DTS_FILE) || empty(FDT_DTS_FILE) +FDT_DTS_FILE!= awk '/^makeoptions[[:space:]]+FDT_DTS_FILE/ {FS="=|[ \t]+"; print $$3}' \ + ${KERNCONFDIR}/${KERNCONF} +.endif + +.endif + +.if !defined(DTBOUTPUTPATH) || !exists(${DTBOUTPUTPATH}) +DTBOUTPUTPATH= ${.CURDIR} +.endif + +# +# Build 'standalone' Device Tree Blob +# +builddtb: + @if [ "${FDT_DTS_FILE}" = "" ]; then \ + echo "ERROR: FDT_DTS_FILE must be specified!"; \ + exit 1; \ + fi; \ + if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ]; then \ + echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \ + exist!"; \ + exit 1; \ + fi; \ + if [ "${DTBOUTPUTPATH}" = "${.CURDIR}" ]; then \ + echo "WARNING: DTB will be placed in the current working \ + directory"; \ + fi + @PATH=${TMPPATH} \ + dtc -O dtb -o \ + ${DTBOUTPUTPATH}/`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 \ + -p 1024 ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} Modified: user/jmallett/octeon/bin/cp/cp.c ============================================================================== --- user/jmallett/octeon/bin/cp/cp.c Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/cp/cp.c Sat Jun 19 10:06:46 2010 (r209334) @@ -466,6 +466,7 @@ copy(char *argv[], enum op type, int fts case S_IFSOCK: warnx("%s is a socket (not copied).", curr->fts_path); + break; case S_IFIFO: if (Rflag) { if (copy_fifo(curr->fts_statp, !dne)) Modified: user/jmallett/octeon/bin/date/date.1 ============================================================================== --- user/jmallett/octeon/bin/date/date.1 Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/date/date.1 Sat Jun 19 10:06:46 2010 (r209334) @@ -32,7 +32,7 @@ .\" @(#)date.1 8.3 (Berkeley) 4/28/95 .\" $FreeBSD$ .\" -.Dd June 2, 2007 +.Dd June 3, 2010 .Dt DATE 1 .Os .Sh NAME @@ -219,6 +219,14 @@ When the date is adjusted to a specific the resulting timezone will be set so that the date matches the earlier of the two times. .Pp +It is not possible to adjust a date to an invalid absolute day, so using +the switches +.Fl v No 31d Fl v No 12m +will simply fail five months of the year. +It is therefore usual to set the month before setting the day; using +.Fl v No 12m Fl v No 31d +always works. +.Pp Adjusting the date by months is inherently ambiguous because a month is a unit of variable length depending on the current date. This kind of date adjustment is applied in the most intuitive way. @@ -339,9 +347,9 @@ will display the last day of February in .Pp .Dl "Tue Feb 29 03:18:00 GMT 2000" .Pp -So will do the command: +So will the command: .Pp -.Dl "date -v30d -v3m -v0y -v-1m" +.Dl "date -v3m -v30d -v0y -v-1m" .Pp because there is no such date as the 30th of February. .Pp Modified: user/jmallett/octeon/bin/getfacl/getfacl.1 ============================================================================== --- user/jmallett/octeon/bin/getfacl/getfacl.1 Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/getfacl/getfacl.1 Sat Jun 19 10:06:46 2010 (r209334) @@ -48,7 +48,7 @@ the specified file(s) to standard output If the .Xr getconf 1 utility indicates that -.Eq { } Va _POSIX_ACL_EXTENDED +.Brq Va _POSIX_ACL_EXTENDED is not in effect for a .Ar file then the standard discretionary access permissions are interpreted as Modified: user/jmallett/octeon/bin/sh/histedit.c ============================================================================== --- user/jmallett/octeon/bin/sh/histedit.c Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/sh/histedit.c Sat Jun 19 10:06:46 2010 (r209334) @@ -98,6 +98,8 @@ histedit(void) /* * turn editing on */ + char *term; + INTOFF; if (el_in == NULL) el_in = fdopen(0, "r"); @@ -107,11 +109,19 @@ histedit(void) el_out = fdopen(2, "w"); if (el_in == NULL || el_err == NULL || el_out == NULL) goto bad; + term = lookupvar("TERM"); + if (term) + setenv("TERM", term, 1); + else + unsetenv("TERM"); el = el_init(arg0, el_in, el_out, el_err); if (el != NULL) { if (hist) el_set(el, EL_HIST, history, hist); el_set(el, EL_PROMPT, getprompt); + el_set(el, EL_ADDFN, "sh-complete", + "Filename completion", + _el_fn_sh_complete); } else { bad: out2fmt_flush("sh: can't initialize editing\n"); @@ -128,6 +138,7 @@ bad: el_set(el, EL_EDITOR, "vi"); else if (Eflag) el_set(el, EL_EDITOR, "emacs"); + el_set(el, EL_BIND, "^I", "sh-complete", NULL); el_source(el, NULL); } } else { @@ -160,6 +171,13 @@ sethistsize(hs) } } +void +setterm(const char *term) +{ + if (rootshell && el != NULL && term != NULL) + el_set(el, EL_TERMINAL, term); +} + int histcmd(int argc, char **argv) { Modified: user/jmallett/octeon/bin/sh/jobs.c ============================================================================== --- user/jmallett/octeon/bin/sh/jobs.c Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/sh/jobs.c Sat Jun 19 10:06:46 2010 (r209334) @@ -866,6 +866,7 @@ waitforjob(struct job *jp, int *origstat { #if JOBS pid_t mypgrp = getpgrp(); + int propagate_int = jp->jobctl && jp->foreground; #endif int status; int st; @@ -903,6 +904,11 @@ waitforjob(struct job *jp, int *origstat else CLEAR_PENDING_INT; } +#if JOBS + else if (rootshell && iflag && propagate_int && + WIFSIGNALED(status) && WTERMSIG(status) == SIGINT) + kill(getpid(), SIGINT); +#endif INTON; return st; } Modified: user/jmallett/octeon/bin/sh/myhistedit.h ============================================================================== --- user/jmallett/octeon/bin/sh/myhistedit.h Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/sh/myhistedit.h Sat Jun 19 10:06:46 2010 (r209334) @@ -38,6 +38,7 @@ extern int displayhist; void histedit(void); void sethistsize(const char *); +void setterm(const char *); int histcmd(int, char **); int not_fcnumber(const char *); int str_to_event(const char *, int); Modified: user/jmallett/octeon/bin/sh/var.c ============================================================================== --- user/jmallett/octeon/bin/sh/var.c Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/sh/var.c Sat Jun 19 10:06:46 2010 (r209334) @@ -80,6 +80,7 @@ struct varinit { #ifndef NO_HISTORY struct var vhistsize; +struct var vterm; #endif struct var vifs; struct var vmail; @@ -114,6 +115,10 @@ STATIC const struct varinit varinit[] = NULL }, { &vps4, 0, "PS4=+ ", NULL }, +#ifndef NO_HISTORY + { &vterm, VUNSET, "TERM=", + setterm }, +#endif { &voptind, 0, "OPTIND=1", getoptsreset }, { NULL, 0, NULL, Modified: user/jmallett/octeon/bin/sh/var.h ============================================================================== --- user/jmallett/octeon/bin/sh/var.h Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/bin/sh/var.h Sat Jun 19 10:06:46 2010 (r209334) @@ -77,6 +77,7 @@ extern struct var vps2; extern struct var vps4; #ifndef NO_HISTORY extern struct var vhistsize; +extern struct var vterm; #endif /* @@ -96,6 +97,7 @@ extern struct var vhistsize; #define optindval() (voptind.text + 7) #ifndef NO_HISTORY #define histsizeval() (vhistsize.text + 9) +#define termval() (vterm.text + 5) #endif #define mpathset() ((vmpath.flags & VUNSET) == 0) Modified: user/jmallett/octeon/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l ============================================================================== --- user/jmallett/octeon/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l Sat Jun 19 10:06:46 2010 (r209334) @@ -45,7 +45,7 @@ #undef input #undef unput #else -/* +/* * Define YY_INPUT for flex since input() can't be re-defined. */ #define YY_INPUT(buf,result,max_size) \ @@ -60,6 +60,15 @@ buf[n] = *yypcb->pcb_strptr++; \ result = n; \ } +/* + * Do not EOF let tokens to be put back. This does not work with flex. + * On the other hand, leaving current buffer in same state it was when + * last EOF was received guarantees that input() will keep returning EOF + * for all subsequent invocations, which is the effect desired. + */ +#undef unput +#define unput(c) \ + if (c != EOF) yyunput( c, yytext_ptr ) #endif static int id_or_type(const char *); Modified: user/jmallett/octeon/contrib/gdtoa/hexnan.c ============================================================================== --- user/jmallett/octeon/contrib/gdtoa/hexnan.c Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/contrib/gdtoa/hexnan.c Sat Jun 19 10:06:46 2010 (r209334) @@ -31,6 +31,8 @@ THIS SOFTWARE. /* $FreeBSD$ */ +#include + #include "gdtoaimp.h" static void Modified: user/jmallett/octeon/contrib/sendmail/mail.local/mail.local.8 ============================================================================== --- user/jmallett/octeon/contrib/sendmail/mail.local/mail.local.8 Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/contrib/sendmail/mail.local/mail.local.8 Sat Jun 19 10:06:46 2010 (r209334) @@ -39,9 +39,7 @@ The options are as follows: Do not advertise 8BITMIME support in LMTP mode. .TP .B \-B -Turn off the attempts to notify the -.Dq biff -service. +Turn off the attempts to notify the ``biff'' service. .TP .B \-b Return a permanent error instead of a temporary error @@ -63,11 +61,8 @@ Specify the sender's name. Turn on LMTP mode. .TP .B \-s -Turn off the -.Xr fsync 2 -call that forces the mailbox to be committed to disk before returning a -.Dq success -status. +Turn off the fsync(2) call that forces the mailbox to be committed +to disk before returning a "success" status. .TP .BI \-r " from" Specify the sender's name (for backward compatibility). Modified: user/jmallett/octeon/contrib/tzcode/zic/zic.8 ============================================================================== --- user/jmallett/octeon/contrib/tzcode/zic/zic.8 Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/contrib/tzcode/zic/zic.8 Sat Jun 19 10:06:46 2010 (r209334) @@ -120,9 +120,9 @@ Non-blank lines are expected to be of on rule lines, zone lines, and link lines. .Pp A rule line has the form: -.Dl "Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +.Dl "Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S" For example: -.Dl "Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D +.Dl "Rule US 1967 1973 \- Apr lastSun 2:00 1:00 D" .Pp The fields that make up a rule line are: .Bl -tag -width "LETTER/S" -offset indent @@ -262,7 +262,7 @@ the variable part is null. A zone line has the form: .Dl "Zone NAME GMTOFF RULES/SAVE FORMAT [UNTILYEAR [MONTH [DAY [TIME]]]]" For example: -.Dl "Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00 +.Dl "Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00" The fields that make up a zone line are: .Bl -tag -width indent .It NAME @@ -319,9 +319,9 @@ continuation. .El .Pp A link line has the form -.Dl "Link LINK-FROM LINK-TO +.Dl "Link LINK-FROM LINK-TO" For example: -.Dl "Link Europe/Istanbul Asia/Istanbul +.Dl "Link Europe/Istanbul Asia/Istanbul" The .Em LINK-FROM field should appear as the @@ -335,9 +335,9 @@ Except for continuation lines, lines may appear in any order in the input. .Pp Lines in the file that describes leap seconds have the following form: -.Dl "Leap YEAR MONTH DAY HH:MM:SS CORR R/S +.Dl "Leap YEAR MONTH DAY HH:MM:SS CORR R/S" For example: -.Dl "Leap 1974 Dec 31 23:59:60 + S +.Dl "Leap 1974 Dec 31 23:59:60 + S" The .Em YEAR , .Em MONTH , Modified: user/jmallett/octeon/contrib/wpa/hostapd/ChangeLog ============================================================================== --- user/jmallett/octeon/contrib/wpa/hostapd/ChangeLog Sat Jun 19 09:50:04 2010 (r209333) +++ user/jmallett/octeon/contrib/wpa/hostapd/ChangeLog Sat Jun 19 10:06:46 2010 (r209334) @@ -1,5 +1,37 @@ ChangeLog for hostapd +2010-01-12 - v0.6.10 + * fixed SHA-256 based key derivation function to match with the + standard when using CCMP (for IEEE 802.11r and IEEE 802.11w) + (note: this breaks interoperability with previous version) [Bug 307] + * fixed WPS selected registrar expiration for internal PIN registrar + * disable PMTU discovery for RADIUS packets + * fixed WPS UPnP SSDP on 32-bit targets + * fixed WPS AP reconfiguration with drivers that do not use hostapd + MLME + * fixed RSN parameter setting for multi-BSS case + * added WPS workarounds for known interoperability issues with broken, + deployed implementation + * update IEEE 802.11w implementation to match with the published + standard + * fixed OpCode when proxying WSC_ACK or WSC_NACK from WPS ER + * fixed proxying of WSC_NACK to WPS ER + * fixed compilation with newer GnuTLS versions + * added support for defining timeout for WPS PINs + * fixed WPS Probe Request processing to handle missing required + attribute + * fixed PKCS#12 use with OpenSSL 1.0.0 + +2009-03-23 - v0.6.9 + * driver_nl80211: fixed STA accounting data collection (TX/RX bytes + reported correctly; TX/RX packets not yet available from kernel) + * fixed EAPOL/EAP reauthentication when using an external RADIUS + authentication server + * driver_prism54: fixed segmentation fault on initialization + * fixed TNC with EAP-TTLS + * fixed IEEE 802.11r key derivation function to match with the standard + (note: this breaks interoperability with previous version) [Bug 303] + 2009-02-15 - v0.6.8 * increased hostapd_cli ping interval to 5 seconds and made this configurable with a new command line options (-G) Copied: user/jmallett/octeon/contrib/wpa/hostapd/Makefile (from r209333, head/contrib/wpa/hostapd/Makefile) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jmallett/octeon/contrib/wpa/hostapd/Makefile Sat Jun 19 10:06:46 2010 (r209334, copy of r209333, head/contrib/wpa/hostapd/Makefile) @@ -0,0 +1,635 @@ +ifndef CC +CC=gcc +endif + +ifndef CFLAGS +CFLAGS = -MMD -O2 -Wall -g +endif + +# define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to +# a file (undefine it, if you want to save in binary size) +CFLAGS += -DHOSTAPD_DUMP_STATE + +CFLAGS += -I../src +CFLAGS += -I../src/crypto +CFLAGS += -I../src/utils +CFLAGS += -I../src/common + +# Uncomment following line and set the path to your kernel tree include +# directory if your C library does not include all header files. +# CFLAGS += -DUSE_KERNEL_HEADERS -I/usr/src/linux/include + +-include .config + +ifndef CONFIG_OS +ifdef CONFIG_NATIVE_WINDOWS +CONFIG_OS=win32 +else +CONFIG_OS=unix +endif +endif + +ifeq ($(CONFIG_OS), internal) +CFLAGS += -DOS_NO_C_LIB_DEFINES +endif + +ifdef CONFIG_NATIVE_WINDOWS +CFLAGS += -DCONFIG_NATIVE_WINDOWS +LIBS += -lws2_32 +endif + +OBJS = hostapd.o ieee802_1x.o eapol_sm.o \ + ieee802_11.o config.o ieee802_11_auth.o accounting.o \ + sta_info.o wpa.o ctrl_iface.o \ + drivers.o preauth.o pmksa_cache.o beacon.o \ + hw_features.o wme.o ap_list.o \ + mlme.o vlan_init.o wpa_auth_ie.o + +OBJS += ../src/utils/eloop.o +OBJS += ../src/utils/common.o +OBJS += ../src/utils/wpa_debug.o +OBJS += ../src/utils/wpabuf.o +OBJS += ../src/utils/os_$(CONFIG_OS).o +OBJS += ../src/utils/ip_addr.o + +OBJS += ../src/common/ieee802_11_common.o +OBJS += ../src/common/wpa_common.o + +OBJS += ../src/radius/radius.o +OBJS += ../src/radius/radius_client.o + +OBJS += ../src/crypto/md5.o +OBJS += ../src/crypto/rc4.o +OBJS += ../src/crypto/md4.o +OBJS += ../src/crypto/sha1.o +OBJS += ../src/crypto/des.o +OBJS += ../src/crypto/aes_wrap.o +OBJS += ../src/crypto/aes.o + +HOBJS=../src/hlr_auc_gw/hlr_auc_gw.o ../src/utils/common.o ../src/utils/wpa_debug.o ../src/utils/os_$(CONFIG_OS).o ../src/hlr_auc_gw/milenage.o ../src/crypto/aes_wrap.o ../src/crypto/aes.o + +CFLAGS += -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX + +ifdef CONFIG_IAPP +CFLAGS += -DCONFIG_IAPP +OBJS += iapp.o +endif + +ifdef CONFIG_RSN_PREAUTH +CFLAGS += -DCONFIG_RSN_PREAUTH +CONFIG_L2_PACKET=y +endif + +ifdef CONFIG_PEERKEY +CFLAGS += -DCONFIG_PEERKEY +OBJS += peerkey.o +endif + +ifdef CONFIG_IEEE80211W +CFLAGS += -DCONFIG_IEEE80211W +NEED_SHA256=y +endif + +ifdef CONFIG_IEEE80211R +CFLAGS += -DCONFIG_IEEE80211R +OBJS += wpa_ft.o +NEED_SHA256=y +endif + +ifdef CONFIG_IEEE80211N +CFLAGS += -DCONFIG_IEEE80211N +endif + +ifdef CONFIG_DRIVER_HOSTAP +CFLAGS += -DCONFIG_DRIVER_HOSTAP +OBJS += driver_hostap.o +endif + +ifdef CONFIG_DRIVER_WIRED +CFLAGS += -DCONFIG_DRIVER_WIRED +OBJS += driver_wired.o +endif + +ifdef CONFIG_DRIVER_MADWIFI +CFLAGS += -DCONFIG_DRIVER_MADWIFI +OBJS += driver_madwifi.o +CONFIG_L2_PACKET=y +endif + +ifdef CONFIG_DRIVER_ATHEROS +CFLAGS += -DCONFIG_DRIVER_ATHEROS +OBJS += driver_atheros.o +CONFIG_L2_PACKET=y +endif + +ifdef CONFIG_DRIVER_PRISM54 +CFLAGS += -DCONFIG_DRIVER_PRISM54 +OBJS += driver_prism54.o +endif + +ifdef CONFIG_DRIVER_NL80211 +CFLAGS += -DCONFIG_DRIVER_NL80211 +OBJS += driver_nl80211.o radiotap.o +LIBS += -lnl +ifdef CONFIG_LIBNL20 +LIBS += -lnl-genl +CFLAGS += -DCONFIG_LIBNL20 +endif +endif + +ifdef CONFIG_DRIVER_BSD +CFLAGS += -DCONFIG_DRIVER_BSD +OBJS += driver_bsd.o +CONFIG_L2_PACKET=y +CONFIG_DNET_PCAP=y +CONFIG_L2_FREEBSD=y +endif + +ifdef CONFIG_DRIVER_TEST +CFLAGS += -DCONFIG_DRIVER_TEST +OBJS += driver_test.o +endif + +ifdef CONFIG_DRIVER_NONE +CFLAGS += -DCONFIG_DRIVER_NONE +OBJS += driver_none.o +endif + +ifdef CONFIG_L2_PACKET +ifdef CONFIG_DNET_PCAP +ifdef CONFIG_L2_FREEBSD +LIBS += -lpcap +OBJS += ../src/l2_packet/l2_packet_freebsd.o +else +LIBS += -ldnet -lpcap +OBJS += ../src/l2_packet/l2_packet_pcap.o +endif +else +OBJS += ../src/l2_packet/l2_packet_linux.o +endif +else +OBJS += ../src/l2_packet/l2_packet_none.o +endif + + +ifdef CONFIG_EAP_MD5 +CFLAGS += -DEAP_MD5 +OBJS += ../src/eap_server/eap_md5.o +CHAP=y +endif + +ifdef CONFIG_EAP_TLS +CFLAGS += -DEAP_TLS +OBJS += ../src/eap_server/eap_tls.o +TLS_FUNCS=y +endif + +ifdef CONFIG_EAP_PEAP +CFLAGS += -DEAP_PEAP +OBJS += ../src/eap_server/eap_peap.o +OBJS += ../src/eap_common/eap_peap_common.o +TLS_FUNCS=y +CONFIG_EAP_MSCHAPV2=y +endif + +ifdef CONFIG_EAP_TTLS +CFLAGS += -DEAP_TTLS +OBJS += ../src/eap_server/eap_ttls.o +TLS_FUNCS=y +CHAP=y +endif + +ifdef CONFIG_EAP_MSCHAPV2 +CFLAGS += -DEAP_MSCHAPv2 +OBJS += ../src/eap_server/eap_mschapv2.o +MS_FUNCS=y +endif + +ifdef CONFIG_EAP_GTC +CFLAGS += -DEAP_GTC +OBJS += ../src/eap_server/eap_gtc.o +endif + +ifdef CONFIG_EAP_SIM +CFLAGS += -DEAP_SIM +OBJS += ../src/eap_server/eap_sim.o +CONFIG_EAP_SIM_COMMON=y +endif + +ifdef CONFIG_EAP_AKA +CFLAGS += -DEAP_AKA +OBJS += ../src/eap_server/eap_aka.o +CONFIG_EAP_SIM_COMMON=y +NEED_SHA256=y +endif + +ifdef CONFIG_EAP_AKA_PRIME +CFLAGS += -DEAP_AKA_PRIME +endif + +ifdef CONFIG_EAP_SIM_COMMON +OBJS += ../src/eap_common/eap_sim_common.o +# Example EAP-SIM/AKA interface for GSM/UMTS authentication. This can be +# replaced with another file implementating the interface specified in +# eap_sim_db.h. +OBJS += ../src/eap_server/eap_sim_db.o +NEED_FIPS186_2_PRF=y +endif + +ifdef CONFIG_EAP_PAX +CFLAGS += -DEAP_PAX +OBJS += ../src/eap_server/eap_pax.o ../src/eap_common/eap_pax_common.o +endif + +ifdef CONFIG_EAP_PSK +CFLAGS += -DEAP_PSK +OBJS += ../src/eap_server/eap_psk.o ../src/eap_common/eap_psk_common.o +endif + +ifdef CONFIG_EAP_SAKE +CFLAGS += -DEAP_SAKE +OBJS += ../src/eap_server/eap_sake.o ../src/eap_common/eap_sake_common.o +endif + +ifdef CONFIG_EAP_GPSK +CFLAGS += -DEAP_GPSK +OBJS += ../src/eap_server/eap_gpsk.o ../src/eap_common/eap_gpsk_common.o +ifdef CONFIG_EAP_GPSK_SHA256 +CFLAGS += -DEAP_GPSK_SHA256 +endif +NEED_SHA256=y +endif + +ifdef CONFIG_EAP_VENDOR_TEST +CFLAGS += -DEAP_VENDOR_TEST +OBJS += ../src/eap_server/eap_vendor_test.o +endif + +ifdef CONFIG_EAP_FAST +CFLAGS += -DEAP_FAST +OBJS += ../src/eap_server/eap_fast.o +OBJS += ../src/eap_common/eap_fast_common.o +TLS_FUNCS=y +NEED_T_PRF=y +endif + +ifdef CONFIG_WPS +CFLAGS += -DCONFIG_WPS -DEAP_WSC +OBJS += ../src/utils/uuid.o +OBJS += wps_hostapd.o +OBJS += ../src/eap_server/eap_wsc.o ../src/eap_common/eap_wsc_common.o +OBJS += ../src/wps/wps.o +OBJS += ../src/wps/wps_common.o +OBJS += ../src/wps/wps_attr_parse.o +OBJS += ../src/wps/wps_attr_build.o +OBJS += ../src/wps/wps_attr_process.o +OBJS += ../src/wps/wps_dev_attr.o +OBJS += ../src/wps/wps_enrollee.o +OBJS += ../src/wps/wps_registrar.o +NEED_DH_GROUPS=y +NEED_SHA256=y +NEED_CRYPTO=y +NEED_BASE64=y + +ifdef CONFIG_WPS_UPNP +CFLAGS += -DCONFIG_WPS_UPNP +OBJS += ../src/wps/wps_upnp.o +OBJS += ../src/wps/wps_upnp_ssdp.o +OBJS += ../src/wps/wps_upnp_web.o +OBJS += ../src/wps/wps_upnp_event.o +OBJS += ../src/wps/httpread.o +endif + +endif + +ifdef CONFIG_EAP_IKEV2 +CFLAGS += -DEAP_IKEV2 +OBJS += ../src/eap_server/eap_ikev2.o ../src/eap_server/ikev2.o +OBJS += ../src/eap_common/eap_ikev2_common.o ../src/eap_common/ikev2_common.o +NEED_DH_GROUPS=y +NEED_DH_GROUPS_ALL=y +endif + +ifdef CONFIG_EAP_TNC +CFLAGS += -DEAP_TNC +OBJS += ../src/eap_server/eap_tnc.o +OBJS += ../src/eap_server/tncs.o +NEED_BASE64=y +ifndef CONFIG_DRIVER_BSD +LIBS += -ldl +endif +endif + +# Basic EAP functionality is needed for EAPOL +OBJS += ../src/eap_server/eap.o +OBJS += ../src/eap_common/eap_common.o +OBJS += ../src/eap_server/eap_methods.o +OBJS += ../src/eap_server/eap_identity.o + +ifdef CONFIG_EAP +CFLAGS += -DEAP_SERVER +endif + +ifndef CONFIG_TLS +CONFIG_TLS=openssl +endif + +ifeq ($(CONFIG_TLS), internal) +ifndef CONFIG_CRYPTO +CONFIG_CRYPTO=internal +endif +endif +ifeq ($(CONFIG_CRYPTO), libtomcrypt) +CFLAGS += -DCONFIG_INTERNAL_X509 +endif +ifeq ($(CONFIG_CRYPTO), internal) +CFLAGS += -DCONFIG_INTERNAL_X509 +endif + + +ifdef TLS_FUNCS +# Shared TLS functions (needed for EAP_TLS, EAP_PEAP, and EAP_TTLS) +CFLAGS += -DEAP_TLS_FUNCS +OBJS += ../src/eap_server/eap_tls_common.o +NEED_TLS_PRF=y +ifeq ($(CONFIG_TLS), openssl) +OBJS += ../src/crypto/tls_openssl.o +LIBS += -lssl -lcrypto +LIBS_p += -lcrypto +LIBS_h += -lcrypto +endif +ifeq ($(CONFIG_TLS), gnutls) +OBJS += ../src/crypto/tls_gnutls.o +LIBS += -lgnutls -lgcrypt -lgpg-error +LIBS_p += -lgcrypt +LIBS_h += -lgcrypt +endif +ifdef CONFIG_GNUTLS_EXTRA +CFLAGS += -DCONFIG_GNUTLS_EXTRA +LIBS += -lgnutls-extra +endif +ifeq ($(CONFIG_TLS), internal) +OBJS += ../src/crypto/tls_internal.o +OBJS += ../src/tls/tlsv1_common.o ../src/tls/tlsv1_record.o +OBJS += ../src/tls/tlsv1_cred.o ../src/tls/tlsv1_server.o +OBJS += ../src/tls/tlsv1_server_write.o ../src/tls/tlsv1_server_read.o +OBJS += ../src/tls/asn1.o ../src/tls/x509v3.o +OBJS_p += ../src/tls/asn1.o +OBJS_p += ../src/crypto/rc4.o ../src/crypto/aes_wrap.o ../src/crypto/aes.o +NEED_BASE64=y +CFLAGS += -DCONFIG_TLS_INTERNAL +CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER +ifeq ($(CONFIG_CRYPTO), internal) +ifdef CONFIG_INTERNAL_LIBTOMMATH +CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH +else +LIBS += -ltommath +LIBS_p += -ltommath +endif +endif +ifeq ($(CONFIG_CRYPTO), libtomcrypt) +LIBS += -ltomcrypt -ltfm +LIBS_p += -ltomcrypt -ltfm +endif +endif +NEED_CRYPTO=y +else +OBJS += ../src/crypto/tls_none.o +endif + +ifdef CONFIG_PKCS12 +CFLAGS += -DPKCS12_FUNCS +endif + +ifdef MS_FUNCS +OBJS += ../src/crypto/ms_funcs.o +NEED_CRYPTO=y +endif + +ifdef CHAP +OBJS += ../src/eap_common/chap.o +endif + +ifdef NEED_CRYPTO +ifndef TLS_FUNCS +ifeq ($(CONFIG_TLS), openssl) +LIBS += -lcrypto +LIBS_p += -lcrypto +LIBS_h += -lcrypto +endif +ifeq ($(CONFIG_TLS), gnutls) +LIBS += -lgcrypt +LIBS_p += -lgcrypt +LIBS_h += -lgcrypt +endif +ifeq ($(CONFIG_TLS), internal) +ifeq ($(CONFIG_CRYPTO), libtomcrypt) +LIBS += -ltomcrypt -ltfm +LIBS_p += -ltomcrypt -ltfm +endif +endif +endif +ifeq ($(CONFIG_TLS), openssl) +OBJS += ../src/crypto/crypto_openssl.o +OBJS_p += ../src/crypto/crypto_openssl.o +HOBJS += ../src/crypto/crypto_openssl.o +CONFIG_INTERNAL_SHA256=y +endif +ifeq ($(CONFIG_TLS), gnutls) +OBJS += ../src/crypto/crypto_gnutls.o +OBJS_p += ../src/crypto/crypto_gnutls.o +HOBJS += ../src/crypto/crypto_gnutls.o +CONFIG_INTERNAL_SHA256=y +endif +ifeq ($(CONFIG_TLS), internal) +ifeq ($(CONFIG_CRYPTO), libtomcrypt) +OBJS += ../src/crypto/crypto_libtomcrypt.o +OBJS_p += ../src/crypto/crypto_libtomcrypt.o +CONFIG_INTERNAL_SHA256=y +endif +ifeq ($(CONFIG_CRYPTO), internal) +OBJS += ../src/crypto/crypto_internal.o ../src/tls/rsa.o ../src/tls/bignum.o +OBJS_p += ../src/crypto/crypto_internal.o ../src/tls/rsa.o ../src/tls/bignum.o +CFLAGS += -DCONFIG_CRYPTO_INTERNAL +ifdef CONFIG_INTERNAL_LIBTOMMATH +CFLAGS += -DCONFIG_INTERNAL_LIBTOMMATH +ifdef CONFIG_INTERNAL_LIBTOMMATH_FAST +CFLAGS += -DLTM_FAST +endif +else +LIBS += -ltommath +LIBS_p += -ltommath +endif +CONFIG_INTERNAL_AES=y +CONFIG_INTERNAL_DES=y +CONFIG_INTERNAL_SHA1=y +CONFIG_INTERNAL_MD4=y +CONFIG_INTERNAL_MD5=y +CONFIG_INTERNAL_SHA256=y +endif +endif +else +CONFIG_INTERNAL_AES=y +CONFIG_INTERNAL_SHA1=y +CONFIG_INTERNAL_MD5=y +CONFIG_INTERNAL_SHA256=y +endif + +ifdef CONFIG_INTERNAL_AES +CFLAGS += -DINTERNAL_AES +endif +ifdef CONFIG_INTERNAL_SHA1 +CFLAGS += -DINTERNAL_SHA1 +endif +ifdef CONFIG_INTERNAL_SHA256 +CFLAGS += -DINTERNAL_SHA256 +endif +ifdef CONFIG_INTERNAL_MD5 +CFLAGS += -DINTERNAL_MD5 +endif +ifdef CONFIG_INTERNAL_MD4 +CFLAGS += -DINTERNAL_MD4 +endif +ifdef CONFIG_INTERNAL_DES +CFLAGS += -DINTERNAL_DES +endif + +ifdef NEED_SHA256 +OBJS += ../src/crypto/sha256.o +endif + +ifdef NEED_DH_GROUPS +OBJS += ../src/crypto/dh_groups.o +ifdef NEED_DH_GROUPS_ALL +CFLAGS += -DALL_DH_GROUPS +endif +endif + +ifndef NEED_FIPS186_2_PRF +CFLAGS += -DCONFIG_NO_FIPS186_2_PRF +endif + +ifndef NEED_T_PRF +CFLAGS += -DCONFIG_NO_T_PRF +endif + +ifndef NEED_TLS_PRF +CFLAGS += -DCONFIG_NO_TLS_PRF +endif + +ifdef CONFIG_RADIUS_SERVER +CFLAGS += -DRADIUS_SERVER +OBJS += ../src/radius/radius_server.o +endif + +ifdef CONFIG_IPV6 +CFLAGS += -DCONFIG_IPV6 +endif + +ifdef CONFIG_DRIVER_RADIUS_ACL +CFLAGS += -DCONFIG_DRIVER_RADIUS_ACL +endif + +ifdef CONFIG_FULL_DYNAMIC_VLAN +# define CONFIG_FULL_DYNAMIC_VLAN to have hostapd manipulate bridges +# and vlan interfaces for the vlan feature. +CFLAGS += -DCONFIG_FULL_DYNAMIC_VLAN +endif + +ifdef NEED_BASE64 +OBJS += ../src/utils/base64.o +endif + +ifdef CONFIG_NO_STDOUT_DEBUG +CFLAGS += -DCONFIG_NO_STDOUT_DEBUG +endif + +ifdef CONFIG_NO_AES_EXTRAS +CFLAGS += -DCONFIG_NO_AES_UNWRAP +CFLAGS += -DCONFIG_NO_AES_CTR -DCONFIG_NO_AES_OMAC1 +CFLAGS += -DCONFIG_NO_AES_EAX -DCONFIG_NO_AES_CBC +CFLAGS += -DCONFIG_NO_AES_DECRYPT +CFLAGS += -DCONFIG_NO_AES_ENCRYPT_BLOCK +endif + +ALL=hostapd hostapd_cli + +all: verify_config $(ALL) + +Q=@ +E=echo +ifeq ($(V), 1) +Q= +E=true +endif + +%.o: %.c + $(Q)$(CC) -c -o $@ $(CFLAGS) $< + @$(E) " CC " $< + +verify_config: + @if [ ! -r .config ]; then \ + echo 'Building hostapd requires a configuration file'; \ + echo '(.config). See README for more instructions. You can'; \ + echo 'run "cp defconfig .config" to create an example'; \ + echo 'configuration.'; \ + exit 1; \ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 10:14:44 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 08A9C1065670; Sat, 19 Jun 2010 10:14:44 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EB0B08FC14; Sat, 19 Jun 2010 10:14:43 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JAEh7H050538; Sat, 19 Jun 2010 10:14:43 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JAEh7m050531; Sat, 19 Jun 2010 10:14:43 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006191014.o5JAEh7m050531@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 10:14:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209335 - in user/jmallett/octeon/sys/mips: include mips X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 10:14:44 -0000 Author: jmallett Date: Sat Jun 19 10:14:43 2010 New Revision: 209335 URL: http://svn.freebsd.org/changeset/base/209335 Log: Mechanically update PTE bit/field names to start with PTE_ rather than PG_ per discussion on mips@ and on specific recommendation from alc@. Modified: user/jmallett/octeon/sys/mips/include/pte.h user/jmallett/octeon/sys/mips/include/vm.h user/jmallett/octeon/sys/mips/mips/exception.S user/jmallett/octeon/sys/mips/mips/machdep.c user/jmallett/octeon/sys/mips/mips/pmap.c user/jmallett/octeon/sys/mips/mips/trap.c Modified: user/jmallett/octeon/sys/mips/include/pte.h ============================================================================== --- user/jmallett/octeon/sys/mips/include/pte.h Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/include/pte.h Sat Jun 19 10:14:43 2010 (r209335) @@ -104,27 +104,27 @@ typedef pt_entry_t *pd_entry_t; * C: Cache attribute. * D: Dirty bit. This means a page is writable. It is not * set at first, and a write is trapped, and the dirty - * bit is set. See also PG_RO. + * bit is set. See also PTE_RO. * V: Valid bit. Obvious, isn't it? * G: Global bit. This means that this mapping is present * in EVERY address space, and to ignore the ASID when * it is matched. */ -#define PG_C(attr) ((attr & 0x07) << 3) -#define PG_C_UC (PG_C(0x02)) -#define PG_C_CNC (PG_C(0x03)) -#define PG_D 0x04 -#define PG_V 0x02 -#define PG_G 0x01 +#define PTE_C(attr) ((attr & 0x07) << 3) +#define PTE_C_UC (PTE_C(0x02)) +#define PTE_C_CNC (PTE_C(0x03)) +#define PTE_D 0x04 +#define PTE_V 0x02 +#define PTE_G 0x01 /* * VM flags managed in software: - * RO: Read only. Never set PG_D on this page, and don't + * RO: Read only. Never set PTE_D on this page, and don't * listen to requests to write to it. * W: Wired. ??? */ -#define PG_RO (0x01 << TLBLO_SWBITS_SHIFT) -#define PG_W (0x02 << TLBLO_SWBITS_SHIFT) +#define PTE_RO (0x01 << TLBLO_SWBITS_SHIFT) +#define PTE_W (0x02 << TLBLO_SWBITS_SHIFT) /* * PTE management functions for bits defined above. Modified: user/jmallett/octeon/sys/mips/include/vm.h ============================================================================== --- user/jmallett/octeon/sys/mips/include/vm.h Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/include/vm.h Sat Jun 19 10:14:43 2010 (r209335) @@ -32,8 +32,8 @@ #include /* Memory attributes. */ -#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PG_C_UC) -#define VM_MEMATTR_CACHEABLE_NONCOHERENT ((vm_memattr_t)PG_C_CNC) +#define VM_MEMATTR_UNCACHED ((vm_memattr_t)PTE_C_UC) +#define VM_MEMATTR_CACHEABLE_NONCOHERENT ((vm_memattr_t)PTE_C_CNC) #define VM_MEMATTR_DEFAULT VM_MEMATTR_CACHEABLE_NONCOHERENT Modified: user/jmallett/octeon/sys/mips/mips/exception.S ============================================================================== --- user/jmallett/octeon/sys/mips/mips/exception.S Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/mips/exception.S Sat Jun 19 10:14:43 2010 (r209335) @@ -834,7 +834,7 @@ NLEAF(MipsTLBInvalidException) lw k0, 0(k1) # k0=this PTE /* Validate page table entry. */ - andi k0, PG_V + andi k0, PTE_V beqz k0, 3f nop Modified: user/jmallett/octeon/sys/mips/mips/machdep.c ============================================================================== --- user/jmallett/octeon/sys/mips/mips/machdep.c Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/mips/machdep.c Sat Jun 19 10:14:43 2010 (r209335) @@ -421,7 +421,7 @@ mips_pcpu_tlb_init(struct pcpu *pcpu) * We use a wired tlb index to do this one-time mapping. */ pa = vtophys(pcpu); - pte = PG_D | PG_V | PG_G | PG_C_CNC; + pte = PTE_D | PTE_V | PTE_G | PTE_C_CNC; tlb_insert_wired(PCPU_TLB_ENTRY, (vm_offset_t)pcpup, TLBLO_PA_TO_PFN(pa) | pte, TLBLO_PA_TO_PFN(pa + PAGE_SIZE) | pte); Modified: user/jmallett/octeon/sys/mips/mips/pmap.c ============================================================================== --- user/jmallett/octeon/sys/mips/mips/pmap.c Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/mips/pmap.c Sat Jun 19 10:14:43 2010 (r209335) @@ -226,7 +226,7 @@ static struct local_sysmaps sysmap_lmem[ sysm = &sysmap_lmem[cpu]; \ va = sysm->base; \ npte = TLBLO_PA_TO_PFN(phys) | \ - PG_D | PG_V | PG_G | PG_W | PG_C_CNC; \ + PTE_D | PTE_V | PTE_G | PTE_W | PTE_C_CNC; \ pte = pmap_pte(kernel_pmap, va); \ *pte = npte; \ sysm->valid1 = 1 @@ -242,11 +242,11 @@ static struct local_sysmaps sysmap_lmem[ va1 = sysm->base; \ va2 = sysm->base + PAGE_SIZE; \ npte = TLBLO_PA_TO_PFN(phys1) | \ - PG_D | PG_V | PG_G | PG_W | PG_C_CNC; \ + PTE_D | PTE_V | PTE_G | PTE_W | PTE_C_CNC; \ pte = pmap_pte(kernel_pmap, va1); \ *pte = npte; \ npte = TLBLO_PA_TO_PFN(phys2) | \ - PG_D | PG_V | PG_G | PG_W | PG_C_CNC; \ + PTE_D | PTE_V | PTE_G | PTE_W | PTE_C_CNC; \ pte = pmap_pte(kernel_pmap, va2); \ *pte = npte; \ sysm->valid1 = 1; \ @@ -254,11 +254,11 @@ static struct local_sysmaps sysmap_lmem[ #define PMAP_LMEM_UNMAP() \ pte = pmap_pte(kernel_pmap, sysm->base); \ - *pte = PG_G; \ + *pte = PTE_G; \ tlb_invalidate_address(kernel_pmap, sysm->base); \ sysm->valid1 = 0; \ pte = pmap_pte(kernel_pmap, sysm->base + PAGE_SIZE); \ - *pte = PG_G; \ + *pte = PTE_G; \ tlb_invalidate_address(kernel_pmap, sysm->base + PAGE_SIZE); \ sysm->valid2 = 0; \ intr_restore(intr) @@ -489,7 +489,7 @@ again: * in the tlb. */ for (i = 0, pte = pgtab; i < (nkpt * NPTEPG); i++, pte++) - *pte = PG_G; + *pte = PTE_G; /* * The segment table contains the KVA of the pages in the second @@ -699,8 +699,8 @@ pmap_extract_and_hold(pmap_t pmap, vm_of PMAP_LOCK(pmap); retry: pte = pmap_pte(pmap, va); - if (pte != NULL && pte_test(pte, PG_V) && - (pte_test(pte, PG_D) || (prot & VM_PROT_WRITE) == 0)) { + if (pte != NULL && pte_test(pte, PTE_V) && + (pte_test(pte, PTE_D) || (prot & VM_PROT_WRITE) == 0)) { if (vm_page_pa_tryrelock(pmap, TLBLO_PTE_TO_PA(*pte), &pa)) goto retry; @@ -728,18 +728,18 @@ pmap_kenter(vm_offset_t va, vm_paddr_t p #ifdef PMAP_DEBUG printf("pmap_kenter: va: %p -> pa: %p\n", (void *)va, (void *)pa); #endif - npte = TLBLO_PA_TO_PFN(pa) | PG_D | PG_V | PG_G | PG_W; + npte = TLBLO_PA_TO_PFN(pa) | PTE_D | PTE_V | PTE_G | PTE_W; if (is_cacheable_mem(pa)) - npte |= PG_C_CNC; + npte |= PTE_C_CNC; else - npte |= PG_C_UC; + npte |= PTE_C_UC; pte = pmap_pte(kernel_pmap, va); opte = *pte; *pte = npte; - if (pte_test(&opte, PG_V) && opte != npte) { + if (pte_test(&opte, PTE_V) && opte != npte) { /* XXX dcache wbinv? */ pmap_update_page(kernel_pmap, va, npte); } @@ -759,7 +759,7 @@ pmap_kremove(vm_offset_t va) mips_dcache_wbinv_range_index(va, PAGE_SIZE); pte = pmap_pte(kernel_pmap, va); - *pte = PG_G; + *pte = PTE_G; pmap_invalidate_page(kernel_pmap, va); } @@ -1236,7 +1236,7 @@ pmap_growkernel(vm_offset_t addr) * produce a global bit to store in the tlb. */ for (i = 0; i < NPTEPG; i++, pte++) - *pte = PG_G; + *pte = PTE_G; kernel_vm_end = (kernel_vm_end + PAGE_SIZE * NPTEPG) & ~(PAGE_SIZE * NPTEPG - 1); @@ -1316,12 +1316,12 @@ retry: KASSERT(pte != NULL, ("pte")); oldpte = loadandclear((u_int *)pte); if (is_kernel_pmap(pmap)) - *pte = PG_G; - KASSERT(!pte_test(&oldpte, PG_W), + *pte = PTE_G; + KASSERT(!pte_test(&oldpte, PTE_W), ("wired pte for unwired page")); if (m->md.pv_flags & PV_TABLE_REF) vm_page_flag_set(m, PG_REFERENCED); - if (pte_test(&oldpte, PG_D)) + if (pte_test(&oldpte, PTE_D)) vm_page_dirty(m); pmap_invalidate_page(pmap, va); TAILQ_REMOVE(&pmap->pm_pvlist, pv, pv_plist); @@ -1459,9 +1459,9 @@ pmap_remove_pte(struct pmap *pmap, pt_en oldpte = loadandclear((u_int *)ptq); if (is_kernel_pmap(pmap)) - *ptq = PG_G; + *ptq = PTE_G; - if (pte_test(&oldpte, PG_W)) + if (pte_test(&oldpte, PTE_W)) pmap->pm_stats.wired_count -= 1; pmap->pm_stats.resident_count -= 1; @@ -1469,7 +1469,7 @@ pmap_remove_pte(struct pmap *pmap, pt_en if (page_is_managed(pa)) { m = PHYS_TO_VM_PAGE(pa); - if (pte_test(&oldpte, PG_D)) + if (pte_test(&oldpte, PTE_D)) vm_page_dirty(m); if (m->md.pv_flags & PV_TABLE_REF) vm_page_flag_set(m, PG_REFERENCED); @@ -1495,7 +1495,7 @@ pmap_remove_page(struct pmap *pmap, vm_o /* * if there is no pte for this address, just skip it!!! */ - if (!ptq || !pte_test(ptq, PG_V)) { + if (!ptq || !pte_test(ptq, PTE_V)) { return; } @@ -1597,15 +1597,15 @@ pmap_remove_all(vm_page_t m) tpte = loadandclear((u_int *)pte); if (is_kernel_pmap(pv->pv_pmap)) - *pte = PG_G; + *pte = PTE_G; - if (pte_test(&tpte, PG_W)) + if (pte_test(&tpte, PTE_W)) pv->pv_pmap->pm_stats.wired_count--; /* * Update the vm_page_t clean and reference bits. */ - if (pte_test(&tpte, PG_D)) + if (pte_test(&tpte, PTE_D)) vm_page_dirty(m); pmap_invalidate_page(pv->pv_pmap, pv->pv_va); @@ -1659,7 +1659,7 @@ pmap_protect(pmap_t pmap, vm_offset_t sv * If pte is invalid, skip this page */ pte = pmap_pte(pmap, sva); - if (!pte_test(pte, PG_V)) { + if (!pte_test(pte, PTE_V)) { sva += PAGE_SIZE; continue; } @@ -1667,13 +1667,13 @@ retry: obits = pbits = *pte; pa = TLBLO_PTE_TO_PA(pbits); - if (page_is_managed(pa) && pte_test(&pbits, PG_D)) { + if (page_is_managed(pa) && pte_test(&pbits, PTE_D)) { m = PHYS_TO_VM_PAGE(pa); vm_page_dirty(m); m->md.pv_flags &= ~PV_TABLE_MOD; } - pte_clear(&pbits, PG_D); - pte_set(&pbits, PG_RO); + pte_clear(&pbits, PTE_D); + pte_set(&pbits, PTE_RO); if (pbits != *pte) { if (!atomic_cmpset_int((u_int *)pte, obits, pbits)) @@ -1746,16 +1746,16 @@ pmap_enter(pmap_t pmap, vm_offset_t va, /* * Mapping has not changed, must be protection or wiring change. */ - if (pte_test(&origpte, PG_V) && opa == pa) { + if (pte_test(&origpte, PTE_V) && opa == pa) { /* * Wiring change, just update stats. We don't worry about * wiring PT pages as they remain resident as long as there * are valid mappings in them. Hence, if a user page is * wired, the PT page will be also. */ - if (wired && !pte_test(&origpte, PG_W)) + if (wired && !pte_test(&origpte, PTE_W)) pmap->pm_stats.wired_count++; - else if (!wired && pte_test(&origpte, PG_W)) + else if (!wired && pte_test(&origpte, PTE_W)) pmap->pm_stats.wired_count--; /* @@ -1777,7 +1777,7 @@ pmap_enter(pmap_t pmap, vm_offset_t va, * handle validating new mapping. */ if (opa) { - if (pte_test(&origpte, PG_W)) + if (pte_test(&origpte, PTE_W)) pmap->pm_stats.wired_count--; if (page_is_managed(opa)) { @@ -1830,25 +1830,25 @@ validate: /* * Now validate mapping with desired protection/wiring. */ - newpte = TLBLO_PA_TO_PFN(pa) | rw | PG_V; + newpte = TLBLO_PA_TO_PFN(pa) | rw | PTE_V; if (is_cacheable_mem(pa)) - newpte |= PG_C_CNC; + newpte |= PTE_C_CNC; else - newpte |= PG_C_UC; + newpte |= PTE_C_UC; if (wired) - newpte |= PG_W; + newpte |= PTE_W; if (is_kernel_pmap(pmap)) - newpte |= PG_G; + newpte |= PTE_G; /* * if the mapping or permission bits are different, we need to * update the pte. */ if (origpte != newpte) { - if (pte_test(&origpte, PG_V)) { + if (pte_test(&origpte, PTE_V)) { *pte = newpte; if (page_is_managed(opa) && opa != pa) { if (om->md.pv_flags & PV_TABLE_REF) @@ -1856,8 +1856,8 @@ validate: om->md.pv_flags &= ~(PV_TABLE_REF | PV_TABLE_MOD); } - if (pte_test(&origpte, PG_D)) { - KASSERT(!pte_test(&origpte, PG_RO), + if (pte_test(&origpte, PTE_D)) { + KASSERT(!pte_test(&origpte, PTE_RO), ("pmap_enter: modified page not writable:" " va: %p, pte: 0x%x", (void *)va, origpte)); if (page_is_managed(opa)) @@ -1965,7 +1965,7 @@ pmap_enter_quick_locked(pmap_t pmap, vm_ } pte = pmap_pte(pmap, va); - if (pte_test(pte, PG_V)) { + if (pte_test(pte, PTE_V)) { if (mpte != NULL) { mpte->wire_count--; mpte = NULL; @@ -1995,17 +1995,17 @@ pmap_enter_quick_locked(pmap_t pmap, vm_ /* * Now validate mapping with RO protection */ - *pte = TLBLO_PA_TO_PFN(pa) | PG_V; + *pte = TLBLO_PA_TO_PFN(pa) | PTE_V; if (is_cacheable_mem(pa)) - *pte |= PG_C_CNC; + *pte |= PTE_C_CNC; else - *pte |= PG_C_UC; + *pte |= PTE_C_UC; if (is_kernel_pmap(pmap)) - *pte |= PG_G; + *pte |= PTE_G; else { - *pte |= PG_RO; + *pte |= PTE_RO; /* * Sync I & D caches. Do this only if the the target pmap * belongs to the current process. Otherwise, an @@ -2053,7 +2053,7 @@ pmap_kenter_temporary(vm_paddr_t pa, int cpu = PCPU_GET(cpuid); sysm = &sysmap_lmem[cpu]; /* Since this is for the debugger, no locks or any other fun */ - npte = TLBLO_PA_TO_PFN(pa) | PG_D | PG_V | PG_G | PG_W | PG_C_CNC; + npte = TLBLO_PA_TO_PFN(pa) | PTE_D | PTE_V | PTE_G | PTE_W | PTE_C_CNC; pte = pmap_pte(kernel_pmap, sysm->base); *pte = npte; sysm->valid1 = 1; @@ -2084,7 +2084,7 @@ pmap_kenter_temporary_free(vm_paddr_t pa intr = intr_disable(); pte = pmap_pte(kernel_pmap, sysm->base); - *pte = PG_G; + *pte = PTE_G; pmap_invalidate_page(kernel_pmap, sysm->base); intr_restore(intr); sysm->valid1 = 0; @@ -2163,9 +2163,9 @@ pmap_change_wiring(pmap_t pmap, vm_offse PMAP_LOCK(pmap); pte = pmap_pte(pmap, va); - if (wired && !pte_test(pte, PG_W)) + if (wired && !pte_test(pte, PTE_W)) pmap->pm_stats.wired_count++; - else if (!wired && pte_test(pte, PG_W)) + else if (!wired && pte_test(pte, PTE_W)) pmap->pm_stats.wired_count--; /* @@ -2173,9 +2173,9 @@ pmap_change_wiring(pmap_t pmap, vm_offse * invalidate TLB. */ if (wired) - pte_set(pte, PG_W); + pte_set(pte, PTE_W); else - pte_clear(pte, PG_W); + pte_clear(pte, PTE_W); PMAP_UNLOCK(pmap); } @@ -2386,18 +2386,18 @@ pmap_remove_pages(pmap_t pmap) for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { pte = pmap_pte(pv->pv_pmap, pv->pv_va); - if (!pte_test(pte, PG_V)) + if (!pte_test(pte, PTE_V)) panic("pmap_remove_pages: page on pm_pvlist has no pte\n"); tpte = *pte; /* * We cannot remove wired pages from a process' mapping at this time */ - if (pte_test(&tpte, PG_W)) { + if (pte_test(&tpte, PTE_W)) { npv = TAILQ_NEXT(pv, pv_plist); continue; } - *pte = is_kernel_pmap(pmap) ? PG_G : 0; + *pte = is_kernel_pmap(pmap) ? PTE_G : 0; m = PHYS_TO_VM_PAGE(TLBLO_PTE_TO_PA(tpte)); KASSERT(m != NULL, @@ -2408,7 +2408,7 @@ pmap_remove_pages(pmap_t pmap) /* * Update the vm_page_t clean and reference bits. */ - if (pte_test(&tpte, PG_D)) { + if (pte_test(&tpte, PTE_D)) { vm_page_dirty(m); } npv = TAILQ_NEXT(pv, pv_plist); @@ -2456,7 +2456,7 @@ pmap_check_modified_bit(vm_page_t m) #endif PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); - rv = pte_test(pte, PG_D); + rv = pte_test(pte, PTE_D); PMAP_UNLOCK(pv->pv_pmap); if (rv) break; @@ -2492,10 +2492,10 @@ pmap_clear_modified_bit(vm_page_t m) PMAP_LOCK(pv->pv_pmap); pte = pmap_pte(pv->pv_pmap, pv->pv_va); - if (pte_test(pte, PG_D)) { + if (pte_test(pte, PTE_D)) { vm_page_dirty(m); - pte_clear(pte, PG_D); - pte_set(pte, PG_RO); + pte_clear(pte, PTE_D); + pte_set(pte, PTE_RO); /* XXX invalidate? */ pmap_update_page(pv->pv_pmap, pv->pv_va, *pte); @@ -2558,7 +2558,7 @@ pmap_remove_write(vm_page_t m) for (pv = TAILQ_FIRST(&m->md.pv_list); pv; pv = npv) { npv = TAILQ_NEXT(pv, pv_plist); pte = pmap_pte(pv->pv_pmap, pv->pv_va); - if (pte == NULL || !pte_test(pte, PG_V)) + if (pte == NULL || !pte_test(pte, PTE_V)) panic("page on pm_pvlist has no pte\n"); va = pv->pv_va; @@ -2604,7 +2604,7 @@ pmap_is_modified(vm_page_t m) /* * If the page is not VPO_BUSY, then PG_WRITEABLE cannot be * concurrently set while the object is locked. Thus, if PG_WRITEABLE - * is clear, no PTEs can have PG_D set. + * is clear, no PTEs can have PTE_D set. */ VM_OBJECT_LOCK_ASSERT(m->object, MA_OWNED); if ((m->oflags & VPO_BUSY) == 0 && @@ -2657,7 +2657,7 @@ pmap_clear_modify(vm_page_t m) ("pmap_clear_modify: page %p is busy", m)); /* - * If the page is not PG_WRITEABLE, then no PTEs can have PG_D set. + * If the page is not PG_WRITEABLE, then no PTEs can have PTE_D set. * If the object containing the page is locked and the page is not * VPO_BUSY, then PG_WRITEABLE cannot be concurrently set. */ @@ -2794,12 +2794,12 @@ pmap_mincore(pmap_t pmap, vm_offset_t ad retry: ptep = pmap_pte(pmap, addr); pte = (ptep != NULL) ? *ptep : 0; - if (!pte_test(&pte, PG_V)) { + if (!pte_test(&pte, PTE_V)) { val = 0; goto out; } val = MINCORE_INCORE; - if (pte_test(&pte, PG_D)) + if (pte_test(&pte, PTE_D)) val |= MINCORE_MODIFIED | MINCORE_MODIFIED_OTHER; pa = TLBLO_PTE_TO_PA(pte); managed = page_is_managed(pa); @@ -2947,20 +2947,20 @@ init_pte_prot(vm_offset_t va, vm_page_t pt_entry_t rw; if (!(prot & VM_PROT_WRITE)) - rw = PG_V | PG_RO | PG_C_CNC; + rw = PTE_V | PTE_RO | PTE_C_CNC; else { if (va >= VM_MIN_KERNEL_ADDRESS) { /* * Don't bother to trap on kernel writes, just * record page as dirty. */ - rw = PG_V | PG_D | PG_C_CNC; + rw = PTE_V | PTE_D | PTE_C_CNC; vm_page_dirty(m); } else if ((m->md.pv_flags & PV_TABLE_MOD) || m->dirty == VM_PAGE_BITS_ALL) - rw = PG_V | PG_D | PG_C_CNC; + rw = PTE_V | PTE_D | PTE_C_CNC; else - rw = PG_V | PG_C_CNC; + rw = PTE_V | PTE_C_CNC; vm_page_flag_set(m, PG_WRITEABLE); } return rw; Modified: user/jmallett/octeon/sys/mips/mips/trap.c ============================================================================== --- user/jmallett/octeon/sys/mips/mips/trap.c Sat Jun 19 10:06:46 2010 (r209334) +++ user/jmallett/octeon/sys/mips/mips/trap.c Sat Jun 19 10:14:43 2010 (r209335) @@ -378,23 +378,23 @@ trap(struct trapframe *trapframe) panic("trap: ktlbmod: can't find PTE"); #ifdef SMP /* It is possible that some other CPU changed m-bit */ - if (!pte_test(pte, PG_V) || pte_test(pte, PG_D)) { + if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D)) { pmap_update_page(kernel_pmap, trapframe->badvaddr, *pte); PMAP_UNLOCK(kernel_pmap); return (trapframe->pc); } #else - if (!pte_test(pte, PG_V) || pte_test(pte, PG_D)) + if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D)) panic("trap: ktlbmod: invalid pte"); #endif - if (pte_test(pte, PG_RO)) { + if (pte_test(pte, PTE_RO)) { /* write to read only page in the kernel */ ftype = VM_PROT_WRITE; PMAP_UNLOCK(kernel_pmap); goto kernel_fault; } - pte_set(pte, PG_D); + pte_set(pte, PTE_D); pmap_update_page(kernel_pmap, trapframe->badvaddr, *pte); pa = TLBLO_PTE_TO_PA(*pte); if (!page_is_managed(pa)) @@ -417,23 +417,23 @@ trap(struct trapframe *trapframe) panic("trap: utlbmod: can't find PTE"); #ifdef SMP /* It is possible that some other CPU changed m-bit */ - if (!pte_test(pte, PG_V) || pte_test(pte, PG_D)) { + if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D)) { pmap_update_page(pmap, trapframe->badvaddr, *pte); PMAP_UNLOCK(pmap); goto out; } #else - if (!pte_test(pte, PG_V) || pte_test(pte, PG_D)) + if (!pte_test(pte, PTE_V) || pte_test(pte, PTE_D)) panic("trap: utlbmod: invalid pte"); #endif - if (pte_test(pte, PG_RO)) { + if (pte_test(pte, PTE_RO)) { /* write to read only page */ ftype = VM_PROT_WRITE; PMAP_UNLOCK(pmap); goto dofault; } - pte_set(pte, PG_D); + pte_set(pte, PTE_D); pmap_update_page(pmap, trapframe->badvaddr, *pte); pa = TLBLO_PTE_TO_PA(*pte); if (!page_is_managed(pa)) From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 10:23:24 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A2BC1065670; Sat, 19 Jun 2010 10:23:24 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B3D828FC0A; Sat, 19 Jun 2010 10:23:23 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JANNkU052473; Sat, 19 Jun 2010 10:23:23 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JANNLq052471; Sat, 19 Jun 2010 10:23:23 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006191023.o5JANNLq052471@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 10:23:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209336 - user/jmallett/octeon/sys/mips/include X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 10:23:24 -0000 Author: jmallett Date: Sat Jun 19 10:23:23 2010 New Revision: 209336 URL: http://svn.freebsd.org/changeset/base/209336 Log: Add notes about comments I need to update and attempt to explain the wired bit (and mostly fail.) Modified: user/jmallett/octeon/sys/mips/include/pte.h Modified: user/jmallett/octeon/sys/mips/include/pte.h ============================================================================== --- user/jmallett/octeon/sys/mips/include/pte.h Sat Jun 19 10:14:43 2010 (r209335) +++ user/jmallett/octeon/sys/mips/include/pte.h Sat Jun 19 10:23:23 2010 (r209336) @@ -55,6 +55,8 @@ typedef pt_entry_t *pd_entry_t; #define TLBMASK_MASK ((PAGE_MASK >> TLBMASK_SHIFT) << TLBMASK_SHIFT) /* + * XXX This comment is not correct for FreeBSD. + * * PFN for EntryLo register. Upper bits are 0, which is to say that * bit 29 is the last hardware bit; Bits 30 and upwards (EntryLo is * 64 bit though it can be referred to in 32-bits providing 2 software @@ -73,11 +75,14 @@ typedef pt_entry_t *pd_entry_t; #define TLBLO_PTE_TO_PA(pte) (TLBLO_PFN_TO_PA(TLBLO_PTE_TO_PFN((pte)))) /* + * XXX This comment is not correct for anything more modern than R4K. + * * VPN for EntryHi register. Upper two bits select user, supervisor, * or kernel. Bits 61 to 40 copy bit 63. VPN2 is bits 39 and down to * as low as 13, down to PAGE_SHIFT, to index 2 TLB pages*. From bit 12 * to bit 8 there is a 5-bit 0 field. Low byte is ASID. * + * XXX This comment is not correct for FreeBSD. * Note that in FreeBSD, we map 2 TLB pages is equal to 1 VM page. */ #define TLBHI_ASID_MASK (0xff) @@ -121,7 +126,9 @@ typedef pt_entry_t *pd_entry_t; * VM flags managed in software: * RO: Read only. Never set PTE_D on this page, and don't * listen to requests to write to it. - * W: Wired. ??? + * W: Wired. Allows us to quickly increment and decrement + * the wired count by looking at the PTE and skip wired + * mappings when removing mappings from a process. */ #define PTE_RO (0x01 << TLBLO_SWBITS_SHIFT) #define PTE_W (0x02 << TLBLO_SWBITS_SHIFT) From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 21:10:13 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DBBE71065673; Sat, 19 Jun 2010 21:10:13 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id B1D618FC17; Sat, 19 Jun 2010 21:10:13 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JLADoH095955; Sat, 19 Jun 2010 21:10:13 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JLADgR095952; Sat, 19 Jun 2010 21:10:13 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006192110.o5JLADgR095952@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 21:10:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209355 - user/jmallett/octeon/sys/contrib/octeon-sdk X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 21:10:13 -0000 Author: jmallett Date: Sat Jun 19 21:10:13 2010 New Revision: 209355 URL: http://svn.freebsd.org/changeset/base/209355 Log: o) Make compilable on FreeBSD. o) Add functions requested by hps@ to manage the toggle bit in the host driver. Modified: user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h Modified: user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c ============================================================================== --- user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c Sat Jun 19 20:34:37 2010 (r209354) +++ user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.c Sat Jun 19 21:10:13 2010 (r209355) @@ -194,7 +194,7 @@ typedef struct /* This macro logs out when a function returns a value */ #define CVMX_USB_RETURN(v) \ do { \ - typeof(v) r = v; \ + __typeof(v) r = v; \ if (cvmx_unlikely(usb->init_flags & CVMX_USB_INITIALIZE_FLAGS_DEBUG_CALLS)) \ cvmx_dprintf("%*s%s: returned %s(%d)\n", 2*--usb->indent, "", __FUNCTION__, #v, r); \ return r; \ @@ -3648,3 +3648,20 @@ cvmx_usb_status_t cvmx_usb_device_disabl CVMX_USB_RETURN(CVMX_USB_SUCCESS); } +extern void cvmx_usb_set_toggle(cvmx_usb_state_t *state, int endpoint_num, int toggle) +{ + cvmx_usb_internal_state_t *usb = (cvmx_usb_internal_state_t*)state; + cvmx_usb_pipe_t *pipe = usb->pipe + endpoint_num; + + pipe->pid_toggle = !!toggle; +} + +extern int cvmx_usb_get_toggle(cvmx_usb_state_t *state, int endpoint_num) +{ + cvmx_usb_internal_state_t *usb = (cvmx_usb_internal_state_t*)state; + cvmx_usb_pipe_t *pipe = usb->pipe + endpoint_num; + + if (pipe->pid_toggle) + return (1); + return (0); +} Modified: user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h ============================================================================== --- user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h Sat Jun 19 20:34:37 2010 (r209354) +++ user/jmallett/octeon/sys/contrib/octeon-sdk/cvmx-usb.h Sat Jun 19 21:10:13 2010 (r209355) @@ -1122,6 +1122,13 @@ extern cvmx_usb_status_t cvmx_usb_device extern cvmx_usb_status_t cvmx_usb_device_disable_endpoint(cvmx_usb_state_t *state, int endpoint_num); +/* + * The FreeBSD host driver uses these functions to manipulate the toggle to deal + * more easily with endpoint management. + */ +extern void cvmx_usb_set_toggle(cvmx_usb_state_t *state, int endpoint_num, int toggle); +extern int cvmx_usb_get_toggle(cvmx_usb_state_t *state, int endpoint_num); + #ifdef __cplusplus } #endif From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 21:11:06 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5289106566C; Sat, 19 Jun 2010 21:11:06 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C354A8FC0A; Sat, 19 Jun 2010 21:11:06 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JLB6NP096205; Sat, 19 Jun 2010 21:11:06 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JLB6I1096201; Sat, 19 Jun 2010 21:11:06 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006192111.o5JLB6I1096201@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 21:11:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209356 - in user/jmallett/octeon/sys/mips: cavium cavium/usb conf X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 21:11:06 -0000 Author: jmallett Date: Sat Jun 19 21:11:06 2010 New Revision: 209356 URL: http://svn.freebsd.org/changeset/base/209356 Log: Add octusb driver from hps@ which uses the Simple Executive code to provide a simple host-mode controller. Only compile-tested. Submitted by: hps Added: user/jmallett/octeon/sys/mips/cavium/usb/ user/jmallett/octeon/sys/mips/cavium/usb/octusb.c user/jmallett/octeon/sys/mips/cavium/usb/octusb.h Modified: user/jmallett/octeon/sys/mips/cavium/files.octeon1 user/jmallett/octeon/sys/mips/conf/OCTEON1 user/jmallett/octeon/sys/mips/conf/OCTEON1-32 Modified: user/jmallett/octeon/sys/mips/cavium/files.octeon1 ============================================================================== --- user/jmallett/octeon/sys/mips/cavium/files.octeon1 Sat Jun 19 21:10:13 2010 (r209355) +++ user/jmallett/octeon/sys/mips/cavium/files.octeon1 Sat Jun 19 21:11:06 2010 (r209356) @@ -36,6 +36,8 @@ mips/cavium/octe/octebus.c optional oc mips/cavium/octopci.c optional pci mips/cavium/octopci_bus_space.c optional pci +mips/cavium/usb/octusb.c optional usb octusb + contrib/octeon-sdk/cvmx-cmd-queue.c optional octe contrib/octeon-sdk/cvmx-fpa.c optional octe contrib/octeon-sdk/cvmx-helper.c optional octe @@ -54,6 +56,8 @@ contrib/octeon-sdk/cvmx-spi.c optional contrib/octeon-sdk/cvmx-spi4000.c optional octe contrib/octeon-sdk/cvmx-twsi.c optional octe +contrib/octeon-sdk/cvmx-usb.c optional octusb + # XXX Some files could be excluded in some configurations. Making them # optional but on in the default config would seem reasonable. contrib/octeon-sdk/cvmx-bootmem.c standard Added: user/jmallett/octeon/sys/mips/cavium/usb/octusb.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/jmallett/octeon/sys/mips/cavium/usb/octusb.c Sat Jun 19 21:11:06 2010 (r209356) @@ -0,0 +1,1906 @@ +#include +__FBSDID("$FreeBSD: $"); + +/*- + * Copyright (c) 2010 Hans Petter Selasky. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * 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. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * This file contains the driver for Octeon Executive Library USB + * Controller driver API. + */ + +/* TODO: The root HUB port callback is not yet implemented. */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define USB_DEBUG_VAR octusbdebug + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#define OCTUSB_BUS2SC(bus) \ + ((struct octusb_softc *)(((uint8_t *)(bus)) - \ + ((uint8_t *)&(((struct octusb_softc *)0)->sc_bus)))) + +#ifdef USB_DEBUG +static int octusbdebug = 0; + +SYSCTL_NODE(_hw_usb, OID_AUTO, octusb, CTLFLAG_RW, 0, "OCTUSB"); +SYSCTL_INT(_hw_usb_octusb, OID_AUTO, debug, CTLFLAG_RW, + &octusbdebug, 0, "OCTUSB debug level"); + +TUNABLE_INT("hw.usb.octusb.debug", &octusbdebug); + +#endif + +struct octusb_std_temp { + octusb_cmd_t *func; + struct octusb_td *td; + struct octusb_td *td_next; + struct usb_page_cache *pc; + uint32_t offset; + uint32_t len; + uint8_t short_pkt; + uint8_t setup_alt_next; +}; + +extern struct usb_bus_methods octusb_bus_methods; +extern struct usb_pipe_methods octusb_device_bulk_methods; +extern struct usb_pipe_methods octusb_device_ctrl_methods; +extern struct usb_pipe_methods octusb_device_intr_methods; +extern struct usb_pipe_methods octusb_device_isoc_methods; + +static void octusb_standard_done(struct usb_xfer *); +static void octusb_device_done(struct usb_xfer *, usb_error_t); +static void octusb_timeout(void *); +static void octusb_do_poll(struct usb_bus *); + +static cvmx_usb_speed_t +octusb_convert_speed(enum usb_dev_speed speed) +{ + ; /* indent fix */ + switch (speed) { + case USB_SPEED_HIGH: + return (CVMX_USB_SPEED_HIGH); + case USB_SPEED_FULL: + return (CVMX_USB_SPEED_FULL); + default: + return (CVMX_USB_SPEED_LOW); + } +} + +static cvmx_usb_transfer_t +octusb_convert_ep_type(uint8_t ep_type) +{ + ; /* indent fix */ + switch (ep_type & UE_XFERTYPE) { + case UE_CONTROL: + return (CVMX_USB_TRANSFER_CONTROL); + case UE_INTERRUPT: + return (CVMX_USB_TRANSFER_INTERRUPT); + case UE_ISOCHRONOUS: + return (CVMX_USB_TRANSFER_ISOCHRONOUS); + case UE_BULK: + return (CVMX_USB_TRANSFER_BULK); + default: + return (0); /* should not happen */ + } +} + +static uint8_t +octusb_host_alloc_endpoint(struct octusb_td *td) +{ + struct octusb_softc *sc; + int ep_handle; + + if (td->qh->fixup_pending) + return (1); /* busy */ + + if (td->qh->ep_allocated) + return (0); /* success */ + + /* get softc */ + sc = td->qh->sc; + + ep_handle = cvmx_usb_open_pipe( + &sc->sc_port[td->qh->port_index].state, + 0, + td->qh->dev_addr, + td->qh->ep_num, + octusb_convert_speed(td->qh->dev_speed), + td->qh->max_packet_size, + octusb_convert_ep_type(td->qh->ep_type), + (td->qh->ep_num & UE_DIR_IN) ? CVMX_USB_DIRECTION_IN : + CVMX_USB_DIRECTION_OUT, + td->qh->ep_interval, + td->qh->ep_mult, + td->qh->hs_hub_addr, + td->qh->hs_hub_port); + + if (ep_handle < 0) + return (1); /* busy */ + + cvmx_usb_set_toggle( + &sc->sc_port[td->qh->port_index].state, + ep_handle, td->qh->ep_toggle_next); + + td->qh->fixup_handle = -1; + td->qh->fixup_complete = 0; + td->qh->fixup_len = 0; + td->qh->fixup_off = 0; + td->qh->fixup_pending = 0; + td->qh->fixup_actlen = 0; + + td->qh->ep_handle = ep_handle; + td->qh->ep_allocated = 1; + + return (0); /* success */ +} + +static void +octusb_host_free_endpoint(struct octusb_td *td) +{ + struct octusb_softc *sc; + + if (td->qh->ep_allocated == 0) + return; + + /* get softc */ + sc = td->qh->sc; + + if (td->qh->fixup_handle >= 0) { + /* cancel, if any */ + cvmx_usb_cancel(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_handle); + } + cvmx_usb_close_pipe(&sc->sc_port[td->qh->port_index].state, td->qh->ep_handle); + + td->qh->ep_allocated = 0; +} + +static void +octusb_complete_cb(cvmx_usb_state_t *state, + cvmx_usb_callback_t reason, + cvmx_usb_complete_t status, + int pipe_handle, int submit_handle, + int bytes_transferred, void *user_data) +{ + struct octusb_td *td; + + if (reason != CVMX_USB_CALLBACK_TRANSFER_COMPLETE) + return; + + td = user_data; + + td->qh->fixup_complete = 1; + td->qh->fixup_pending = 0; + td->qh->fixup_actlen = bytes_transferred; + td->qh->fixup_handle = -1; + + switch (status) { + case CVMX_USB_COMPLETE_SUCCESS: + case CVMX_USB_COMPLETE_SHORT: + td->error_any = 0; + td->error_stall = 0; + break; + case CVMX_USB_COMPLETE_STALL: + td->error_stall = 1; + td->error_any = 1; + break; + default: + td->error_any = 1; + break; + } +} + +static uint8_t +octusb_host_control_header_tx(struct octusb_td *td) +{ + int status; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + if (td->qh->fixup_complete != 0) { + /* clear complete flag */ + td->qh->fixup_complete = 0; + + /* flush data */ + usb_pc_cpu_invalidate(td->qh->fixup_pc); + return (0); /* done */ + } + /* verify length */ + if (td->remainder != 8) { + td->error_any = 1; + return (0); /* done */ + } + usbd_copy_out(td->pc, td->offset, td->qh->fixup_buf, 8); + + /* update offset and remainder */ + td->offset += 8; + td->remainder -= 8; + + td->qh->fixup_len = UGETW(td->qh->fixup_buf + 6); + if (td->qh->fixup_len > (OCTUSB_MAX_FIXUP - 8)) { + td->error_any = 1; + return (0); /* done */ + } + td->qh->fixup_len += 8; + td->qh->fixup_off = 8; + + /* do control IN request */ + if (td->qh->fixup_buf[0] & UE_DIR_IN) { + + struct octusb_softc *sc; + + /* get softc */ + sc = td->qh->sc; + + /* flush data */ + usb_pc_cpu_flush(td->qh->fixup_pc); + + status = cvmx_usb_submit_control( + &sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, + td->qh->fixup_phys + 8ULL, td->qh->fixup_len - 8, + &octusb_complete_cb, td); + /* check status */ + if (status < 0) { + td->error_any = 1; + return (0); /* done */ + } + td->qh->fixup_handle = status; + td->qh->fixup_pending = 1; + td->qh->fixup_complete = 0; + + return (1); /* busy */ + } + return (0); /* done */ +} + +static uint8_t +octusb_host_control_data_tx(struct octusb_td *td) +{ + uint32_t rem; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + rem = td->qh->fixup_len - td->qh->fixup_off; + + if (td->remainder > rem) { + td->error_any = 1; + DPRINTF(1, "Excess setup transmit data\n"); + return (0); /* done */ + } + usbd_copy_out(td->pc, td->offset, td->qh->fixup_buf + td->qh->fixup_off, td->remainder); + + td->offset += td->remainder; + td->qh->fixup_off += td->remainder; + td->remainder = 0; + + return (0); /* done */ +} + +static uint8_t +octusb_host_control_data_rx(struct octusb_td *td) +{ + uint32_t rem; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + /* copy data from buffer */ + rem = 8 + td->qh->fixup_actlen - td->qh->fixup_off; + + if (rem > td->remainder) + rem = td->remainder; + + usbd_copy_in(td->pc, td->offset, td->qh->fixup_buf + td->qh->fixup_off, rem); + + td->offset += rem; + td->remainder -= rem; + td->qh->fixup_off += rem; + + return (1); /* done */ +} + +static uint8_t +octusb_host_control_status_tx(struct octusb_td *td) +{ + int status; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + if (td->qh->fixup_complete != 0) { + /* clear complete flag */ + td->qh->fixup_complete = 0; + /* done */ + return (0); + } + /* do control IN request */ + if (!(td->qh->fixup_buf[0] & UE_DIR_IN)) { + + struct octusb_softc *sc; + + /* get softc */ + sc = td->qh->sc; + + /* flush data */ + usb_pc_cpu_flush(td->qh->fixup_pc); + + /* start USB transfer */ + status = cvmx_usb_submit_control( + &sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, + td->qh->fixup_phys + 8ULL, td->qh->fixup_len - 8, + &octusb_complete_cb, td); + + /* check status */ + if (status < 0) { + td->error_any = 1; + return (0); /* done */ + } + td->qh->fixup_handle = status; + td->qh->fixup_pending = 1; + td->qh->fixup_complete = 0; + + return (1); /* busy */ + } + return (0); /* done */ +} + +static uint8_t +octusb_non_control_data_tx(struct octusb_td *td) +{ + struct octusb_softc *sc; + uint32_t rem; + int status; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + if ((td->qh->fixup_complete != 0) && + ((td->qh->ep_type & UE_XFERTYPE) == UE_ISOCHRONOUS)) { + td->qh->fixup_complete = 0; + return (0); /* done */ + } + /* check complete */ + if (td->remainder == 0) { + if (td->short_pkt) + return (0); /* complete */ + /* else need to send a zero length packet */ + rem = 0; + td->short_pkt = 1; + } else { + /* get maximum length */ + rem = OCTUSB_MAX_FIXUP % td->qh->max_frame_size; + rem = OCTUSB_MAX_FIXUP - rem; + + if (rem == 0) { + /* should not happen */ + DPRINTF(1, "Fixup buffer is too small\n"); + td->error_any = 1; + return (0); /* done */ + } + /* get minimum length */ + if (rem > td->remainder) { + rem = td->remainder; + if ((rem == 0) || (rem % td->qh->max_frame_size)) + td->short_pkt = 1; + } + /* copy data into fixup buffer */ + usbd_copy_out(td->pc, td->offset, td->qh->fixup_buf, rem); + + /* flush data */ + usb_pc_cpu_flush(td->qh->fixup_pc); + + /* pre-increment TX buffer offset */ + td->offset += rem; + td->remainder -= rem; + } + + /* get softc */ + sc = td->qh->sc; + + switch (td->qh->ep_type & UE_XFERTYPE) { + case UE_ISOCHRONOUS: + td->qh->iso_pkt.offset = 0; + td->qh->iso_pkt.length = rem; + td->qh->iso_pkt.status = 0; + /* start USB transfer */ + status = cvmx_usb_submit_isochronous(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, 1, CVMX_USB_ISOCHRONOUS_FLAGS_ALLOW_SHORT | + CVMX_USB_ISOCHRONOUS_FLAGS_ASAP, 1, &td->qh->iso_pkt, + td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + case UE_BULK: + /* start USB transfer */ + status = cvmx_usb_submit_bulk(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + case UE_INTERRUPT: + /* start USB transfer (interrupt or interrupt) */ + status = cvmx_usb_submit_interrupt(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + default: + status = -1; + break; + } + + /* check status */ + if (status < 0) { + td->error_any = 1; + return (0); /* done */ + } + td->qh->fixup_handle = status; + td->qh->fixup_len = rem; + td->qh->fixup_pending = 1; + td->qh->fixup_complete = 0; + + return (1); /* busy */ +} + +static uint8_t +octusb_non_control_data_rx(struct octusb_td *td) +{ + struct octusb_softc *sc; + uint32_t rem; + int status; + uint8_t got_short; + + /* allocate endpoint and check pending */ + if (octusb_host_alloc_endpoint(td)) + return (1); /* busy */ + + /* check error */ + if (td->error_any) + return (0); /* done */ + + got_short = 0; + + if (td->qh->fixup_complete != 0) { + + /* invalidate data */ + usb_pc_cpu_invalidate(td->qh->fixup_pc); + + rem = td->qh->fixup_actlen; + + /* verify transfer length */ + if (rem != td->qh->fixup_len) { + if (rem < td->qh->fixup_len) { + /* we have a short packet */ + td->short_pkt = 1; + got_short = 1; + } else { + /* invalid USB packet */ + td->error_any = 1; + return (0); /* we are complete */ + } + } + /* copy data into fixup buffer */ + usbd_copy_in(td->pc, td->offset, td->qh->fixup_buf, rem); + + /* post-increment RX buffer offset */ + td->offset += rem; + td->remainder -= rem; + + td->qh->fixup_complete = 0; + + if ((td->qh->ep_type & UE_XFERTYPE) == UE_ISOCHRONOUS) + return (0); /* done */ + } + /* check if we are complete */ + if ((td->remainder == 0) || got_short) { + if (td->short_pkt) { + /* we are complete */ + return (0); + } + /* else need to receive a zero length packet */ + rem = 0; + td->short_pkt = 1; + } else { + /* get maximum length */ + rem = OCTUSB_MAX_FIXUP % td->qh->max_frame_size; + rem = OCTUSB_MAX_FIXUP - rem; + + if (rem == 0) { + /* should not happen */ + DPRINTF(1, "Fixup buffer is too small\n"); + td->error_any = 1; + return (0); /* done */ + } + /* get minimum length */ + if (rem > td->remainder) + rem = td->remainder; + } + + /* invalidate data */ + usb_pc_cpu_invalidate(td->qh->fixup_pc); + + /* get softc */ + sc = td->qh->sc; + + switch (td->qh->ep_type & UE_XFERTYPE) { + case UE_ISOCHRONOUS: + td->qh->iso_pkt.offset = 0; + td->qh->iso_pkt.length = rem; + td->qh->iso_pkt.status = 0; + /* start USB transfer */ + status = cvmx_usb_submit_isochronous(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, 1, CVMX_USB_ISOCHRONOUS_FLAGS_ALLOW_SHORT | + CVMX_USB_ISOCHRONOUS_FLAGS_ASAP, 1, &td->qh->iso_pkt, + td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + case UE_BULK: + /* start USB transfer */ + status = cvmx_usb_submit_bulk(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + case UE_INTERRUPT: + /* start USB transfer */ + status = cvmx_usb_submit_interrupt(&sc->sc_port[td->qh->port_index].state, + td->qh->ep_handle, td->qh->fixup_phys, rem, &octusb_complete_cb, td); + break; + default: + status = -1; + break; + } + + /* check status */ + if (status < 0) { + td->error_any = 1; + return (0); /* done */ + } + td->qh->fixup_handle = status; + td->qh->fixup_len = rem; + td->qh->fixup_pending = 1; + td->qh->fixup_complete = 0; + + return (1); /* busy */ +} + +static uint8_t +octusb_xfer_do_fifo(struct usb_xfer *xfer) +{ + struct octusb_td *td; + + DPRINTFN(8, "\n"); + + td = xfer->td_transfer_cache; + + while (1) { + if ((td->func) (td)) { + /* operation in progress */ + break; + } + if (((void *)td) == xfer->td_transfer_last) { + goto done; + } + if (td->error_any) { + goto done; + } else if (td->remainder > 0) { + /* + * We had a short transfer. If there is no + * alternate next, stop processing ! + */ + if (td->alt_next == 0) + goto done; + } + /* + * Fetch the next transfer descriptor and transfer + * some flags to the next transfer descriptor + */ + td = td->obj_next; + xfer->td_transfer_cache = td; + } + return (1); /* not complete */ + +done: + /* compute all actual lengths */ + + octusb_standard_done(xfer); + + return (0); /* complete */ +} + +static usb_error_t +octusb_standard_done_sub(struct usb_xfer *xfer) +{ + struct octusb_td *td; + uint32_t len; + usb_error_t error; + + DPRINTFN(8, "\n"); + + td = xfer->td_transfer_cache; + + do { + len = td->remainder; + + if (xfer->aframes != xfer->nframes) { + /* + * Verify the length and subtract + * the remainder from "frlengths[]": + */ + if (len > xfer->frlengths[xfer->aframes]) { + td->error_any = 1; + } else { + xfer->frlengths[xfer->aframes] -= len; + } + } + /* Check for transfer error */ + if (td->error_any) { + /* the transfer is finished */ + error = td->error_stall ? USB_ERR_STALLED : USB_ERR_IOERROR; + td = NULL; + break; + } + /* Check for short transfer */ + if (len > 0) { + if (xfer->flags_int.short_frames_ok) { + /* follow alt next */ + if (td->alt_next) { + td = td->obj_next; + } else { + td = NULL; + } + } else { + /* the transfer is finished */ + td = NULL; + } + error = 0; + break; + } + td = td->obj_next; + + /* this USB frame is complete */ + error = 0; + break; + + } while (0); + + /* update transfer cache */ + + xfer->td_transfer_cache = td; + + return (error); +} + +static void +octusb_standard_done(struct usb_xfer *xfer) +{ + struct octusb_softc *sc; + struct octusb_qh *qh; + usb_error_t error = 0; + + DPRINTFN(12, "xfer=%p endpoint=%p transfer done\n", + xfer, xfer->endpoint); + + /* reset scanner */ + + xfer->td_transfer_cache = xfer->td_transfer_first; + + if (xfer->flags_int.control_xfr) { + + if (xfer->flags_int.control_hdr) + error = octusb_standard_done_sub(xfer); + + xfer->aframes = 1; + + if (xfer->td_transfer_cache == NULL) + goto done; + } + while (xfer->aframes != xfer->nframes) { + + error = octusb_standard_done_sub(xfer); + + xfer->aframes++; + + if (xfer->td_transfer_cache == NULL) + goto done; + } + + if (xfer->flags_int.control_xfr && + !xfer->flags_int.control_act) + error = octusb_standard_done_sub(xfer); + +done: + /* update data toggle */ + + qh = xfer->qh_start[0]; + sc = qh->sc; + + xfer->endpoint->toggle_next = + cvmx_usb_get_toggle( + &sc->sc_port[qh->port_index].state, + qh->ep_handle) ? 1 : 0; + + octusb_device_done(xfer, error); +} + +static void +octusb_interrupt_poll(struct octusb_softc *sc) +{ + struct usb_xfer *xfer; + uint8_t x; + + /* poll all ports */ + for (x = 0; x != sc->sc_noport; x++) + cvmx_usb_poll(&sc->sc_port[x].state); + +repeat: + TAILQ_FOREACH(xfer, &sc->sc_bus.intr_q.head, wait_entry) { + if (!octusb_xfer_do_fifo(xfer)) { + /* queue has been modified */ + goto repeat; + } + } +} + +static void +octusb_start_standard_chain(struct usb_xfer *xfer) +{ + DPRINTFN(8, "\n"); + + /* poll one time */ + if (octusb_xfer_do_fifo(xfer)) { + + /* put transfer on interrupt queue */ + usbd_transfer_enqueue(&xfer->xroot->bus->intr_q, xfer); + + /* start timeout, if any */ + if (xfer->timeout != 0) { + usbd_transfer_timeout_ms(xfer, + &octusb_timeout, xfer->timeout); + } + } +} + +void +octusb_iterate_hw_softc(struct usb_bus *bus, usb_bus_mem_sub_cb_t *cb) +{ + +} + +usb_error_t +octusb_init(struct octusb_softc *sc) +{ + int status; + uint8_t x; + + /* flush all cache into memory */ + + usb_bus_mem_flush_all(&sc->sc_bus, &octusb_iterate_hw_softc); + + /* set up the bus struct */ + sc->sc_bus.methods = &octusb_bus_methods; + + /* get number of ports */ + sc->sc_noport = cvmx_usb_get_num_ports(); + + /* check number of ports */ + if (sc->sc_noport > OCTUSB_MAX_PORTS) + sc->sc_noport = OCTUSB_MAX_PORTS; + + USB_BUS_LOCK(&sc->sc_bus); + + /* setup all ports */ + for (x = 0; x != sc->sc_noport; x++) { + status = cvmx_usb_initialize( + &sc->sc_port[x].state, x, + CVMX_USB_INITIALIZE_FLAGS_CLOCK_AUTO); + if (status < 0) + sc->sc_port[x].disabled = 1; + } + + USB_BUS_UNLOCK(&sc->sc_bus); + + /* catch lost interrupts */ + octusb_do_poll(&sc->sc_bus); + + return (0); +} + +usb_error_t +octusb_uninit(struct octusb_softc *sc) +{ + uint8_t x; + + USB_BUS_LOCK(&sc->sc_bus); + + for (x = 0; x != sc->sc_noport; x++) { + if (sc->sc_port[x].disabled == 0) + cvmx_usb_shutdown(&sc->sc_port[x].state); + } + USB_BUS_UNLOCK(&sc->sc_bus); + + return (0); + +} + +void +octusb_suspend(struct octusb_softc *sc) +{ + +} + +void +octusb_resume(struct octusb_softc *sc) +{ + +} + +/*------------------------------------------------------------------------* + * octusb_interrupt - OCTUSB interrupt handler + *------------------------------------------------------------------------*/ +void +octusb_interrupt(struct octusb_softc *sc) +{ + USB_BUS_LOCK(&sc->sc_bus); + + DPRINTFN(16, "real interrupt\n"); + + /* poll all the USB transfers */ + octusb_interrupt_poll(sc); + + USB_BUS_UNLOCK(&sc->sc_bus); +} + +/*------------------------------------------------------------------------* + * octusb_timeout - OCTUSB transfer timeout handler + *------------------------------------------------------------------------*/ +static void +octusb_timeout(void *arg) +{ + struct usb_xfer *xfer = arg; + + DPRINTF("xfer=%p\n", xfer); + + USB_BUS_LOCK_ASSERT(xfer->xroot->bus, MA_OWNED); + + /* transfer is transferred */ + octusb_device_done(xfer, USB_ERR_TIMEOUT); +} + +/*------------------------------------------------------------------------* + * octusb_do_poll - OCTUSB poll transfers + *------------------------------------------------------------------------*/ +static void +octusb_do_poll(struct usb_bus *bus) +{ + struct octusb_softc *sc = OCTUSB_BUS2SC(bus); + + USB_BUS_LOCK(&sc->sc_bus); + octusb_interrupt_poll(sc); + USB_BUS_UNLOCK(&sc->sc_bus); +} + +static void +octusb_setup_standard_chain_sub(struct octusb_std_temp *temp) +{ + struct octusb_td *td; + + /* get current Transfer Descriptor */ + td = temp->td_next; + temp->td = td; + + /* prepare for next TD */ + temp->td_next = td->obj_next; + + /* fill out the Transfer Descriptor */ + td->func = temp->func; + td->pc = temp->pc; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-user@FreeBSD.ORG Sat Jun 19 22:13:41 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36BAE106564A; Sat, 19 Jun 2010 22:13:41 +0000 (UTC) (envelope-from jmallett@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E46B98FC08; Sat, 19 Jun 2010 22:13:40 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o5JMDesG010099; Sat, 19 Jun 2010 22:13:40 GMT (envelope-from jmallett@svn.freebsd.org) Received: (from jmallett@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o5JMDesn010097; Sat, 19 Jun 2010 22:13:40 GMT (envelope-from jmallett@svn.freebsd.org) Message-Id: <201006192213.o5JMDesn010097@svn.freebsd.org> From: Juli Mallett Date: Sat, 19 Jun 2010 22:13:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r209357 - user/jmallett/octeon/sys/mips/mips X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2010 22:13:41 -0000 Author: jmallett Date: Sat Jun 19 22:13:40 2010 New Revision: 209357 URL: http://svn.freebsd.org/changeset/base/209357 Log: Apply by hand alc@'s patch to init_pte_prot... I don't know if I mismerged this from head or it hasn't been committed yet, but it's necessary for me to boot. Modified: user/jmallett/octeon/sys/mips/mips/pmap.c Modified: user/jmallett/octeon/sys/mips/mips/pmap.c ============================================================================== --- user/jmallett/octeon/sys/mips/mips/pmap.c Sat Jun 19 21:11:06 2010 (r209356) +++ user/jmallett/octeon/sys/mips/mips/pmap.c Sat Jun 19 22:13:40 2010 (r209357) @@ -2948,21 +2948,16 @@ init_pte_prot(vm_offset_t va, vm_page_t if (!(prot & VM_PROT_WRITE)) rw = PTE_V | PTE_RO | PTE_C_CNC; - else { - if (va >= VM_MIN_KERNEL_ADDRESS) { - /* - * Don't bother to trap on kernel writes, just - * record page as dirty. - */ + else if ((m->flags & (PG_FICTITIOUS | PG_UNMANAGED)) == 0) { + if ((m->md.pv_flags & PV_TABLE_MOD) || + m->dirty == VM_PAGE_BITS_ALL) { rw = PTE_V | PTE_D | PTE_C_CNC; - vm_page_dirty(m); - } else if ((m->md.pv_flags & PV_TABLE_MOD) || - m->dirty == VM_PAGE_BITS_ALL) - rw = PTE_V | PTE_D | PTE_C_CNC; - else + } else rw = PTE_V | PTE_C_CNC; vm_page_flag_set(m, PG_WRITEABLE); - } + } else + /* Needn't emulate a modified bit for unmanaged pages. */ + rw = PTE_V | PTE_D | PTE_C_CNC; return rw; }