From owner-p4-projects@FreeBSD.ORG Sun Jul 22 03:13:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EF1D116A419; Sun, 22 Jul 2007 03:13:20 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B018916A417 for ; Sun, 22 Jul 2007 03:13:20 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9F1F913C461 for ; Sun, 22 Jul 2007 03:13:20 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M3DKpZ098635 for ; Sun, 22 Jul 2007 03:13:20 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M3DKnX098632 for perforce@freebsd.org; Sun, 22 Jul 2007 03:13:20 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 03:13:20 GMT Message-Id: <200707220313.l6M3DKnX098632@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123875 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 03:13:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=123875 Change 123875 by andrew@andrew_hermies on 2007/07/22 03:13:14 Add a struct to describe each base directory we are watching Affected files ... .. //depot/projects/soc2007/andrew-update/backend/facund-be.c#17 edit Differences ... ==== //depot/projects/soc2007/andrew-update/backend/facund-be.c#17 (text+ko) ==== @@ -58,9 +58,9 @@ #define DEFAULT_CONFIG_FILE "/etc/freebsd-update-control.conf" #define UPDATE_DATA_DIR "/var/db/freebsd-update" -static int has_update(const char *); +static int facund_has_update(unsigned int); static void *look_for_updates(void *); -static char **get_base_dirs(char *); +static int facund_read_base_dirs(const char *); static void *do_communication(void *); static struct facund_response * facund_get_update_types(const char *, @@ -86,18 +86,31 @@ static void facund_signal_handler(int, siginfo_t *, void *); /* + * Structure describing the current state of + * the freebsd-update database directory + */ +struct fbsd_update_db { + char *db_base; + char *db_dir; + int db_fd; +}; + +static unsigned int watched_db_count = 0; +static struct fbsd_update_db *watched_db = NULL; + +/* * Looks for updates on the system with a root of basedir */ static int -has_update(const char *basedir) +facund_has_update(unsigned int pos) { struct stat sb; char install_link[PATH_MAX], sha_base[PATH_MAX], sum[65]; - snprintf(sha_base, PATH_MAX, "%s\n", basedir); + snprintf(sha_base, PATH_MAX, "%s\n", watched_db[pos].db_base); SHA256_Data(sha_base, strlen(sha_base), sum); - snprintf(install_link, PATH_MAX, "%s" UPDATE_DATA_DIR "/%s-install", - basedir, sum); + snprintf(install_link, PATH_MAX, "%s/%s-install", + watched_db[pos].db_dir, sum); /* Look for the install link and check if it is a symlink */ if (lstat(install_link, &sb) == 0) { @@ -118,39 +131,26 @@ * sleeping is we may see the update sooner this way. */ void * -look_for_updates(void *data) +look_for_updates(void *data __unused) { - char db_dir[PATH_MAX]; struct timespec timeout; - int *dir_fd, kq, use_kqueue, found_updates; + int kq, use_kqueue, found_updates; struct kevent event, changes; - size_t pos, dir_count, signals; - char **base_dirs; + size_t pos, signals; int error, first_loop; signals = 1; - base_dirs = data; - for (dir_count = 0; base_dirs[dir_count] != NULL; dir_count++) - continue; - - /* Create a list of directories to watch */ - dir_fd = malloc(dir_count * sizeof(int)); - if (dir_fd == NULL) { - errx(1, "Could not allocate enough memory"); - } /* Create the kqueue to wait for events */ kq = kqueue(); if (kq == -1) use_kqueue = 0; - for (pos = 0; pos < dir_count; pos++) { - snprintf(db_dir, PATH_MAX, "%s/var/db/freebsd-update/", - base_dirs[pos]); - dir_fd[pos] = open(db_dir, O_RDONLY); + for (pos = 0; pos < watched_db_count; pos++) { + watched_db[pos].db_fd = open(watched_db[pos].db_dir, O_RDONLY); /* Create an event to look for files being added to the dir */ - EV_SET(&event, dir_fd[pos], EVFILT_VNODE, EV_ADD, + EV_SET(&event, watched_db[pos].db_fd, EVFILT_VNODE, EV_ADD, NOTE_WRITE | NOTE_DELETE | NOTE_EXTEND, 0, (void *)pos); kevent(kq, &event, 1, NULL, 0, NULL); @@ -173,7 +173,7 @@ timeout.tv_nsec = 0; /* Scan all directories on the first run */ - pos = dir_count; + pos = watched_db_count; first_loop = 1; @@ -184,37 +184,37 @@ * then scan all directories. */ while(facund_in_loop != 0) { - assert(pos <= dir_count); - if (use_kqueue == 0 || pos == dir_count) { + assert(pos <= watched_db_count); + if (use_kqueue == 0 || pos == watched_db_count) { /* * We are using sleep to wait for updates or * kqueue timed out. This means we have to check * all directories to see if they have an update. */ - for (pos = 0; base_dirs[pos] != NULL; pos++) { - if (has_update(base_dirs[pos])) { + for (pos = 0; pos < watched_db_count; pos++) { + if (facund_has_update(pos)) { printf("Updates found in %s\n", - base_dirs[pos]); + watched_db[pos].db_base); found_updates = 1; } } /* Check we have looked at all directories */ - assert(pos == dir_count); + assert(pos == watched_db_count); } else { /* * We are using kqueue to wait for updates. * pos will contain the position in base_dirs of * the directory that had file system activity. */ - if (pos < dir_count) { - if (has_update(base_dirs[pos])) { + if (pos < watched_db_count) { + if (facund_has_update(pos)) { printf("Updates found in %s\n", - base_dirs[pos]); + watched_db[pos].db_base); found_updates = 1; } } } - pos = dir_count; + pos = watched_db_count; /* * Before we sleep again check if we are to stop running @@ -255,7 +255,9 @@ } } - free(dir_fd); + for (pos = 0; pos < watched_db_count; pos++) { + close(watched_db[pos].db_fd); + } return NULL; } @@ -263,18 +265,20 @@ * Takes in a string of space seperated directories and returns * a NULL terminated array of pointers to each directory */ -char ** -get_base_dirs(char *str) +static int +facund_read_base_dirs(const char *str __unused) { - char *ptr, **ret; - int dir_count; + const char *ptr, *next_ptr; + unsigned int pos, len; /* An empty string will contain no directories */ if (str == NULL || str[0] == '\0') - return NULL; + return -1; + + /* Check we havn't already read in the directories */ + if (watched_db_count != 0 || watched_db != NULL) + return -1; - /* Count the number of dirs to read */ - dir_count = 0; ptr = str; while (ptr != NULL) { /* Skip leading spaces */ @@ -282,42 +286,52 @@ *ptr++; ptr = strchr(ptr, ' '); - dir_count++; + watched_db_count++; } /* * There must be at least one directory utherwise * the empty string check would have returned */ - assert(dir_count > 0); + assert(watched_db_count > 0); /* create an array to hold pointers to the dir names */ - ret = calloc((dir_count + 1) * sizeof(char *), 1); - + watched_db = calloc(watched_db_count, + sizeof(struct fbsd_update_db)); /* Set the point the ret array to the directories */ - dir_count = 0; ptr = str; + pos = 0; while (ptr != NULL) { /* Skip leading spaces */ while (ptr[0] == ' ') *ptr++; - /* Point to the directory name */ - ret[dir_count] = ptr; - ptr = strchr(ptr, ' '); + next_ptr = strchr(ptr, ' '); + if (next_ptr == NULL) { + next_ptr = strchr(ptr, '\0'); + } + assert(next_ptr > ptr); + len = next_ptr - ptr; + len++; - /* Make the previous directory null terminated */ - if (ptr != NULL) { - ptr[0] = '\0'; - *ptr++; + watched_db[pos].db_base = calloc(len, sizeof(char *)); + if (watched_db[pos].db_base == NULL) { + /* TODO: Clean up */ + return -1; } + strlcpy(watched_db[pos].db_base, ptr, len); + asprintf(&watched_db[pos].db_dir, "%s" UPDATE_DATA_DIR, + watched_db[pos].db_base); + printf("%s\n", watched_db[pos].db_dir); - dir_count++; + ptr = next_ptr; + if (ptr[0] == '\0') { + return 0; + } + pos++; } - ret[dir_count] = NULL; - - return ret; + return -1; } static void * @@ -558,7 +572,7 @@ facund_object_set_string(item, base_dirs[pos]); facund_object_array_append(pair, item); - /* Add a list of directories to the array */ + /* Add a list of updates to the array */ updates = facund_object_new_array(); item = facund_object_new_string(); facund_object_set_string(item, "6.2-p2"); @@ -624,7 +638,7 @@ facund_object_set_string(item, base_dirs[pos]); facund_object_array_append(pair, item); - /* Add a list of directories to the array */ + /* Add a list of updates to the array */ updates = facund_object_new_array(); item = facund_object_new_string(); facund_object_set_string(item, "6.2-p1"); @@ -679,7 +693,7 @@ pthread_t update_thread, comms_thread; struct facund_conn *conn; const char *config_file; - char *basedirs_string, **base_dirs; + char *basedirs_string; unsigned int pos; int config_fd; properties config_data; @@ -734,8 +748,7 @@ } /* Read in the base dirs */ - base_dirs = get_base_dirs(basedirs_string); - if (base_dirs == NULL) { + if (facund_read_base_dirs(basedirs_string) != 0) { errx(1, "No base dirs were given, set base_dirs in %s", config_file); } @@ -754,7 +767,7 @@ facund_server_add_call("rollback_patches",facund_call_rollback_patches); facund_server_add_call("restart_services",facund_call_restart_services); - pthread_create(&update_thread, NULL, look_for_updates, base_dirs); + pthread_create(&update_thread, NULL, look_for_updates, NULL); pthread_create(&comms_thread, NULL, do_communication, conn); /* Wait for the threads to quit */ @@ -766,12 +779,17 @@ pthread_kill(update_thread, SIGINT); pthread_join(update_thread, NULL); + if (watched_db != NULL) { + for (pos = 0; pos < watched_db_count; pos++) { + free(watched_db[pos].db_base); + free(watched_db[pos].db_dir); + } + free(watched_db); + } + if (conn != NULL) facund_cleanup(conn); - if (base_dirs != NULL) - free(base_dirs); - free(basedirs_string); return 0; } From owner-p4-projects@FreeBSD.ORG Sun Jul 22 03:22:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8501716A419; Sun, 22 Jul 2007 03:22:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5142516A417 for ; Sun, 22 Jul 2007 03:22:33 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 43D3C13C469 for ; Sun, 22 Jul 2007 03:22:33 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M3MXpU099274 for ; Sun, 22 Jul 2007 03:22:33 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M3MWjC099260 for perforce@freebsd.org; Sun, 22 Jul 2007 03:22:32 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 03:22:32 GMT Message-Id: <200707220322.l6M3MWjC099260@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123876 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 03:22:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=123876 Change 123876 by andrew@andrew_hermies on 2007/07/22 03:22:29 Support list_installed in the front end Remove the Downloaded item from the tree view as it is unused Affected files ... .. //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#5 edit Differences ... ==== //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#5 (text+ko) ==== @@ -51,7 +51,7 @@ self.__dirs = [] self.__connected = False self.__connection = None - self.__commands = ['Avaliable', 'Downloaded', 'Installed'] + self.__commands = ['Avaliable', 'Installed'] def __str__(self): return self.__name + ": " + self.__host @@ -83,6 +83,8 @@ print self.__commands[command] if self.__commands[command] == 'Avaliable': return self.getUpdateList(dir) + elif self.__commands[command] == 'Installed': + return self.getInstalledList(dir) else: print 'TODO: Handle this command (%d)' % (command,); @@ -102,6 +104,22 @@ call.releaseLock() return call.getResponse() + def getInstalledList(self, dir = None): + if dir is None: + for dir in self.__dirs: + args = None + else: + args = facund.Array() + args.append(facund.String("base")) + args.append(facund.String(dir)) + + call = facund.Call("list_installed", args) + self.__connection.doCall(call) + # Wait for the response + call.acquireLock() + call.releaseLock() + return call.getResponse() + def connect(self): '''Connects to the remote computer''' if self.__connection is not None: From owner-p4-projects@FreeBSD.ORG Sun Jul 22 08:28:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6641A16A41F; Sun, 22 Jul 2007 08:28:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2445016A419 for ; Sun, 22 Jul 2007 08:28:58 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1602F13C442 for ; Sun, 22 Jul 2007 08:28:58 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M8SvbU031199 for ; Sun, 22 Jul 2007 08:28:57 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M8Svai031196 for perforce@freebsd.org; Sun, 22 Jul 2007 08:28:57 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 08:28:57 GMT Message-Id: <200707220828.l6M8Svai031196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123884 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 08:28:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=123884 Change 123884 by andrew@andrew_hermies on 2007/07/22 08:28:34 Recreate the front end communications thread after disconnection. This allows us to reconnect Don't die when closing the connection and the other end has already closed Affected files ... .. //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#6 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/network/__init__.py#9 edit Differences ... ==== //depot/projects/soc2007/andrew-update/frontend/facund/computer.py#6 (text+ko) ==== @@ -133,6 +133,7 @@ self.start() except socket.error: print "Couldn't connect to " + self.__host + del self.__connection self.__connection = None def disconnect(self): @@ -141,6 +142,10 @@ return self.__connection.disconnect() + # Wait for the thread to exit then create a new thread + self.join() + threading.Thread.__init__(self) + del self.__connection self.__connection = None def run(self): ==== //depot/projects/soc2007/andrew-update/frontend/facund/network/__init__.py#9 (text+ko) ==== @@ -57,7 +57,10 @@ if self.isReady: self.isReady = False # Send a connection close - self.socket.send("") + try: + self.socket.send("") + except socket.error: + pass # Wait for the other end to close self.__connected_lock.acquire() From owner-p4-projects@FreeBSD.ORG Sun Jul 22 08:32:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA50916A41F; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8546716A419 for ; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 715B713C428 for ; Sun, 22 Jul 2007 08:32:02 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M8W2Yl031480 for ; Sun, 22 Jul 2007 08:32:02 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M8W2hm031475 for perforce@freebsd.org; Sun, 22 Jul 2007 08:32:02 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 08:32:02 GMT Message-Id: <200707220832.l6M8W2hm031475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123885 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 08:32:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=123885 Change 123885 by andrew@andrew_hermies on 2007/07/22 08:31:13 Add an install and remove button the the GUI. They are not connected to anything yet Affected files ... .. //depot/projects/soc2007/andrew-update/frontend/facund-fe.glade#4 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#3 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#7 edit .. //depot/projects/soc2007/andrew-update/frontend/facund/gui/update_model.py#2 edit Differences ... ==== //depot/projects/soc2007/andrew-update/frontend/facund-fe.glade#4 (text+ko) ==== @@ -1,6 +1,6 @@ - + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK @@ -201,20 +201,41 @@ - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 2 + 2 + 5 + 5 + + + True + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Remove + 0 + + + 1 + 2 + 1 + 2 + + - + True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Connect + Install 0 - 5 + 1 + 2 @@ -227,14 +248,24 @@ 0 - 5 - 1 + 1 + 2 + + + True + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Connect + 0 + + False - 10 + 5 1 ==== //depot/projects/soc2007/andrew-update/frontend/facund/controller.py#3 (text+ko) ==== @@ -40,6 +40,9 @@ def onComputerTreeSelect(self, position): computer = self.__computersModel.getComputer(position[0]) self.__view.setConnected(computer.getConnectionStatus()) + if computer.getConnectionStatus() is not True: + self.__view.setInstallable(False, False) + self.__currentComputer = computer if len(position) == 1: @@ -62,5 +65,13 @@ for update in pair[1].getData(): self.__updateModel.addUpdate(update) + if self.__updateModel.getSize() > 0: + if command == "Avaliable": + self.__view.setInstallable(True, False) + elif command == "Installed": + self.__view.setInstallable(False, True) + else: + self.__view.setInstallable(False, False) + def getCurrentComputer(self): return self.__currentComputer ==== //depot/projects/soc2007/andrew-update/frontend/facund/gui/main_window.py#7 (text+ko) ==== @@ -75,6 +75,14 @@ connectedButton.set_sensitive(not connected) disconnectedButton.set_sensitive(connected) + def setInstallable(self, installable, uninstallable): + installButton = self.__xml.get_widget('installButton') + installButton.set_sensitive(installable) + + deinstallButton = self.__xml.get_widget('deinstallButton') + deinstallButton.set_sensitive(uninstallable) + + def onConnectClick(self, widget): '''Signal handler for the connect button''' treeView = self.__xml.get_widget('computerView') @@ -83,6 +91,8 @@ self.setConnected(computer.getConnectionStatus()) self.__computerTreeModel.populateComputer(computer) + self.setInstallable(False, False) + def onDisconnectClick(self, widget): '''Signal handler for the connect button''' treeView = self.__xml.get_widget('computerView') @@ -91,6 +101,9 @@ self.setConnected(computer.getConnectionStatus()) self.__computerTreeModel.populateComputer(computer) + # Disable the install/remove buttons + self.setInstallable(False, False) + def onSelectComputer(self, widget): '''Signal handler for when the selected item is changed''' cursor = widget.get_cursor() ==== //depot/projects/soc2007/andrew-update/frontend/facund/gui/update_model.py#2 (text+ko) ==== @@ -31,11 +31,17 @@ '''A model used to display a list of updates to the user''' def __init__(self): gtk.TreeStore.__init__(self, gobject.TYPE_STRING) + self.__size = 0 def addUpdate(self, item): name = item.getData() iter = self.append(None) self.set(iter, 0, name) + self.__size += 1 def empty(self): + self.__size = 0 self.clear() + + def getSize(self): + return self.__size From owner-p4-projects@FreeBSD.ORG Sun Jul 22 08:47:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 847D716A41F; Sun, 22 Jul 2007 08:47:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3DEFB16A418 for ; Sun, 22 Jul 2007 08:47:22 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1790913C46A for ; Sun, 22 Jul 2007 08:47:22 +0000 (UTC) (envelope-from andrew@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6M8lLBv040801 for ; Sun, 22 Jul 2007 08:47:21 GMT (envelope-from andrew@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6M8lLos040798 for perforce@freebsd.org; Sun, 22 Jul 2007 08:47:21 GMT (envelope-from andrew@freebsd.org) Date: Sun, 22 Jul 2007 08:47:21 GMT Message-Id: <200707220847.l6M8lLos040798@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to andrew@freebsd.org using -f From: Andrew Turner To: Perforce Change Reviews Cc: Subject: PERFORCE change 123886 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 08:47:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=123886 Change 123886 by andrew@andrew_hermies on 2007/07/22 08:46:59 Mark a connection as closed to allow the back end to accept new connections Affected files ... .. //depot/projects/soc2007/andrew-update/lib/facund_server.c#11 edit Differences ... ==== //depot/projects/soc2007/andrew-update/lib/facund_server.c#11 (text+ko) ==== @@ -59,6 +59,7 @@ { const char *str; + conn->close = 0; conn->parser = XML_ParserCreate(NULL); if (facund_accept(conn) == -1) { XML_ParserFree(conn->parser); From owner-p4-projects@FreeBSD.ORG Sun Jul 22 13:39:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF21516A420; Sun, 22 Jul 2007 13:39:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B4A916A419 for ; Sun, 22 Jul 2007 13:39:35 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7ADAC13C45D for ; Sun, 22 Jul 2007 13:39:35 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MDdZpK086097 for ; Sun, 22 Jul 2007 13:39:35 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MDdWBM086094 for perforce@freebsd.org; Sun, 22 Jul 2007 13:39:32 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 22 Jul 2007 13:39:32 GMT Message-Id: <200707221339.l6MDdWBM086094@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 13:39:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=123894 Change 123894 by rdivacky@rdivacky_witten on 2007/07/22 13:39:16 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/cpu_switch.S#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/linux32/linux32_sysvec.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/Makefile.inc#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/board.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/boot2.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/kb920x_board.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/emac.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/emac.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit_internal.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit_kevents.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit_record.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/scsi/scsi_cd.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/00READ#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/README#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/TODO#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/cnode.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_fbsd.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_io.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_kernel.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_namecache.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_namecache.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_opstats.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_pioctl.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_psdev.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_psdev.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_subr.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_subr.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_venus.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_venus.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_vfsops.c#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_vfsops.h#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_vnops.c#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/coda/coda_vnops.h#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/ia32/ia32_sysvec.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/NOTES#8 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#8 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kern.pre.mk#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/kmod.mk#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/options#8 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/ngatm/netnatm/api/cc_conn.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_common.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_mc5.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_t3_hw.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/common/cxgb_xgmac.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_adapter.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_ioctl.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_main.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_offload.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_osdep.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_sge.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/sys/mvec.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/fb/splash_bmp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/firewire.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/firewire/firewirereg.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/if_ndis/if_ndis.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/if_ndis/if_ndisvar.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ipmi/ipmi_isa.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/isp/isp_freebsd.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/LICENSE#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_82598.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_api.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_api.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_common.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_common.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_osdep.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_phy.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_phy.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ixgbe/ixgbe_type.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/kbdmux/kbdmux.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/msk/if_msk.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/eth_z8e.dat.gz.uu#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/eth_z8e.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/ethp_z8e.dat.gz.uu#3 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/ethp_z8e.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/if_mxge.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/if_mxge_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mcp_gen_header.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/mxge/mxge_mcp.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/nxge/if_nxge.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2560.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/atiixp.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/hda/hdac.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/hda/hdac_private.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sound/pci/ich.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/sym/sym_hipd.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_rue.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_ruereg.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/if_ural.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_port.h#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_quirks.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/wi/if_wavelan_ieee.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/wi/if_wi.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/README#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/TODO#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/cnode.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_fbsd.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_io.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_kernel.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_namecache.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_namecache.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_opstats.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_pioctl.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_psdev.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_psdev.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_subr.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_subr.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_venus.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_venus.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_vfsops.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_vfsops.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_vnops.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/coda/coda_vnops.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/bpb.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_vnops.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfsmount.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/gnu/fs/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/acpica/acpi_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/swtch.s#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/sys_machdep.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/vm_machdep.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/include/pc/vesa.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/linux/linux_machdep.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/syscall.S#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/isa/isa_dma.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_event.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#13 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_mutex.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_resource.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_rwlock.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_sig.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_switch.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_ule.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/tty.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_mount.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/Makefile#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/coda/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/coda5/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/cxgb/Makefile#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/mxge/mxge_eth_z8e/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/netgraph/atm/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/modules/netgraph/bluetooth/Makefile#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netatm/atm_proto.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/icmp_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/in_mcast.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/ip_icmp.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_asconf.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_cc_functions.c#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_cc_functions.h#1 branch .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_constants.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_indata.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_input.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_os.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_os_bsd.h#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_output.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_pcb.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_pcb.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_peeloff.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_structs.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_sysctl.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_sysctl.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_timer.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_timer.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_usrreq.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctp_var.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctputil.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/sctputil.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/udp_usrreq.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/udp_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/in6.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/sctp6_usrreq.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_output.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_var.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec_input.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/ipsec_output.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netipsec/xform_ipip.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netsmb/smb_dev.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/cbus/sio.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pci/agp.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pci/agp_i810.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pci/agppriv.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pci/agpreg.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/include/atomic.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/pmap.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/lock_profile.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/mutex.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/rwlock.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysent.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_vnops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_fault.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_meter.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_page.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_page.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_phys.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_phys.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_zeroidle.c#5 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/Makefile,v 1.44 2007/07/05 08:55:13 bz Exp $ +# $FreeBSD: src/sys/Makefile,v 1.45 2007/07/12 21:04:55 rwatson Exp $ .include @@ -8,7 +8,7 @@ .endif # Directories to include in cscope name file and TAGS. -CSCOPEDIRS= bsm cam coda compat conf contrib crypto ddb dev fs geom gnu \ +CSCOPEDIRS= bsm cam compat conf contrib crypto ddb dev fs geom gnu \ i4b isa kern libkern modules net net80211 netatalk netatm \ netgraph netinet netinet6 netipsec netipx netnatm netncp \ netsmb nfs nfsclient nfs4client rpc pccard pci security sys \ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/cpu_switch.S#3 (text+ko) ==== @@ -30,13 +30,14 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $ + * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.159 2007/07/17 22:36:56 jeff Exp $ */ #include #include #include "assym.s" +#include "opt_sched.h" /*****************************************************************************/ /* Scheduling */ @@ -50,6 +51,12 @@ #define LK #endif +#if defined(SCHED_ULE) && defined(SMP) +#define SETLK xchgq +#else +#define SETLK movq +#endif + /* * cpu_throw() * @@ -148,13 +155,7 @@ movq %cr3,%rax cmpq %rcx,%rax /* Same address space? */ jne swinact - movq %rdx, TD_LOCK(%rdi) /* Release the old thread */ - /* Wait for the new thread to become unblocked */ - movq $blocked_lock, %rdx -1: - movq TD_LOCK(%rsi),%rcx - cmpq %rcx, %rdx - je 1b + SETLK %rdx, TD_LOCK(%rdi) /* Release the old thread */ jmp sw1 swinact: movq %rcx,%cr3 /* new address space */ @@ -163,21 +164,24 @@ movq TD_PROC(%rdi), %rcx /* oldproc */ movq P_VMSPACE(%rcx), %rcx LK btrl %eax, VM_PMAP+PM_ACTIVE(%rcx) /* clear old */ - movq %rdx, TD_LOCK(%rdi) /* Release the old thread */ + SETLK %rdx, TD_LOCK(%rdi) /* Release the old thread */ swact: + /* Set bit in new pmap->pm_active */ + movq TD_PROC(%rsi),%rdx /* newproc */ + movq P_VMSPACE(%rdx), %rdx + LK btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ + +sw1: +#if defined(SCHED_ULE) && defined(SMP) /* Wait for the new thread to become unblocked */ movq $blocked_lock, %rdx 1: movq TD_LOCK(%rsi),%rcx cmpq %rcx, %rdx + pause je 1b - - /* Set bit in new pmap->pm_active */ - movq TD_PROC(%rsi),%rdx /* newproc */ - movq P_VMSPACE(%rdx), %rdx - LK btsl %eax, VM_PMAP+PM_ACTIVE(%rdx) /* set new */ - -sw1: + lfence +#endif /* * At this point, we've switched address spaces and are ready * to load up the rest of the next context. ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/linux32/linux32_sysvec.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.29 2007/05/14 22:40:04 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/linux32/linux32_sysvec.c,v 1.30 2007/07/12 18:01:30 jhb Exp $"); #include "opt_compat.h" #ifndef COMPAT_IA32 @@ -1024,7 +1024,8 @@ VM_PROT_ALL, linux_copyout_strings, exec_linux_setregs, - linux32_fixlimit + linux32_fixlimit, + &linux32_maxssiz, }; static Elf32_Brandinfo linux_brand = { ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/Makefile.inc#2 (text) ==== @@ -1,12 +1,12 @@ -# $FreeBSD: src/sys/boot/arm/at91/Makefile.inc,v 1.6 2006/12/20 17:47:54 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/Makefile.inc,v 1.7 2007/07/13 14:27:04 imp Exp $ .if !target(__at91_boot_Makefile.inc__) .PATH: ${.CURDIR}/../../../../libkern ${.CURDIR}/../../../../libkern/arm __at91_boot_Makefile.inc__: -# tsc, bwct, kb920x are the supported flavors -BOOT_FLAVOR=kb920x +# tsc, bwct, kb920x, centipad are the supported flavors +BOOT_FLAVOR?=kb920x CFLAGS=-Os -mcpu=arm9 -ffreestanding \ -I${.CURDIR}/../libat91 \ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/board.h#2 (text+ko) ==== @@ -21,8 +21,9 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/arm/at91/boot2/board.h,v 1.1 2006/11/09 20:07:26 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/boot2/board.h,v 1.2 2007/07/13 14:27:04 imp Exp $ */ void Update(void); void board_init(void); +int drvread(void *, unsigned, unsigned); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/boot2.c#2 (text+ko) ==== @@ -14,7 +14,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.5 2007/04/02 20:26:04 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/boot2.c,v 1.6 2007/07/13 14:27:04 imp Exp $"); #include #include @@ -26,9 +26,7 @@ #include -#include "emac.h" #include "lib.h" -#include "sd-card.h" #include "board.h" #define RBX_ASKNAME 0x0 /* -a */ @@ -84,8 +82,6 @@ RBX_VERBOSE }; -unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; - unsigned dsk_start; static char cmd[512]; static char kname[1024]; @@ -96,7 +92,6 @@ static int parse(void); static int xfsread(ino_t, void *, size_t); static int dskread(void *, unsigned, unsigned); -static int drvread(void *, unsigned, unsigned); #include "ufsread.c" @@ -147,10 +142,6 @@ ino_t ino; board_init(); - EMAC_Init(); - EMAC_SetMACAddress(mac); - while (sdcard_init() == 0) - printf("Looking for SD card\n"); dmadat = (void *)(0x20000000 + (16 << 20)); /* Process configuration file */ @@ -179,14 +170,11 @@ xputchar('\n'); autoboot = 0; c = 0; - printf("cmd is '%s'\n", cmd); if (parse()) xputchar('\a'); #ifdef XMODEM_DL else if (*cmd == '*') - Update(); - else if (*cmd == '#') - reset(); + Update(); #endif else load(); @@ -281,14 +269,14 @@ dp = (void *)(sec + DOSPARTOFF); for (i = 0; i < NDOSPART; i++) { if (dp[i].dp_typ == DOSPTYP_386BSD) - break; + break; } if (i == NDOSPART) - return -1; + return -1; // Although dp_start is aligned within the disk partition structure, // DOSPARTOFF is 446, which is only word (2) aligned, not longword (4) // aligned. Cope by using memcpy to fetch the start of this partition. - memcpy(&dsk_start, &dp[i].dp_start, 4); + memcpy(&dsk_start, &dp[1].dp_start, 4); if (drvread(sec, dsk_start + LABELSECTOR, 1)) return -1; d = (void *)(sec + LABELOFFSET); @@ -306,12 +294,3 @@ } return drvread(buf, dsk_start + lba, nblk); } - -static int -drvread(void *buf, unsigned lba, unsigned nblk) -{ - static unsigned c = 0x2d5c7c2f; - - printf("%c\b", c = c << 8 | c >> 24); - return (MCI_read((char *)buf, lba << 9, nblk << 9)); -} ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/boot2/kb920x_board.c#2 (text+ko) ==== @@ -24,15 +24,16 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/kb920x_board.c,v 1.3 2006/11/09 20:08:46 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/arm/at91/boot2/kb920x_board.c,v 1.4 2007/07/13 14:27:04 imp Exp $"); #include #include "emac.h" #include "lib.h" #include "board.h" +#include "sd-card.h" -extern unsigned char mac[]; +unsigned char mac[6] = { 0x42, 0x53, 0x44, 0, 0, 1 }; static void MacFromEE() @@ -40,7 +41,7 @@ uint32_t sig; sig = 0; ReadEEPROM(12 * 1024, (uint8_t *)&sig, sizeof(sig)); - if (sig != 0xaa55aa55) + if (sig != 0x92021054) return; ReadEEPROM(12 * 1024 + 4, mac, 6); printf("MAC %x:%x:%x:%x:%x:%x\n", mac[0], @@ -57,4 +58,14 @@ { InitEEPROM(); MacFromEE(); + EMAC_Init(); + EMAC_SetMACAddress(mac); + while (sdcard_init() == 0) + printf("Looking for SD card\n"); +} + +int +drvread(void *buf, unsigned lba, unsigned nblk) +{ + return (MCI_read((char *)buf, lba << 9, nblk << 9)); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/Makefile#2 (text) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.8 2007/03/15 03:31:49 imp Exp $ +# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.9 2007/07/13 14:27:04 imp Exp $ .include "${.CURDIR}/../Makefile.inc" @@ -8,7 +8,7 @@ putchar.c printf.c reset.c spi_flash.c xmodem.c \ sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \ memset.c memcmp.c -SRCS+=ashldi3.c divsi3.S +SRCS+=ashldi3.c divsi3.c NO_MAN= .if ${MK_TAG_LIST} != "no" ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#2 (text) ==== @@ -24,7 +24,7 @@ * This software is derived from software provide by Kwikbyte who specifically * disclaimed copyright on the code. * - * $FreeBSD: src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c,v 1.5 2007/03/28 22:40:37 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c,v 1.6 2007/07/13 14:27:04 imp Exp $ */ #include "at91rm9200.h" @@ -62,7 +62,7 @@ AT91C_BASE_PIOC->PIO_CODR = AT91C_PIO_PC10; #endif -#ifdef BOOT_KB920X +#if defined(BOOT_KB920X) AT91C_BASE_PIOC->PIO_PER = AT91C_PIO_PC18 | AT91C_PIO_PC19 | AT91C_PIO_PC20; AT91C_BASE_PIOC->PIO_OER = AT91C_PIO_PC18 | AT91C_PIO_PC19 | @@ -136,7 +136,11 @@ AT91C_BASE_EBI->EBI_CSA = value; AT91C_BASE_SDRC->SDRC_CR = +#ifdef KB9202_B + AT91C_SDRC_NC_10 | +#else AT91C_SDRC_NC_9 | +#endif AT91C_SDRC_NR_13 | AT91C_SDRC_NB_4_BANKS | AT91C_SDRC_CAS_2 | ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#2 (text) ==== @@ -21,7 +21,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h,v 1.5 2007/03/28 22:40:37 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h,v 1.6 2007/07/13 14:27:04 imp Exp $ */ #ifndef _AT91RM9200_LOWLEVEL_H_ @@ -39,6 +39,14 @@ #define OSC_MAIN_MULT 90 #endif +#ifdef BOOT_CENTIPAD +/* The following divisor sets PLLA frequency: e.g. 10/5 * 90 = 180MHz */ +#define OSC_MAIN_FREQ_DIV 5 /* for 10MHz osc */ +#define SDRAM_WIDTH AT91C_SDRC_DBW_16_BITS +typedef unsigned short sdram_size_t; +#define OSC_MAIN_MULT 90 +#endif + #ifdef BOOT_BWCT /* The following divisor sets PLLA frequency: e.g. 16/4 * 45 = 180MHz */ #define OSC_MAIN_FREQ_DIV 4 /* for 16MHz osc */ ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/emac.c#2 (text) ==== @@ -19,7 +19,7 @@ * only. * END_BLOCK * - * $FreeBSD: src/sys/boot/arm/at91/libat91/emac.c,v 1.7 2007/03/28 22:40:37 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/libat91/emac.c,v 1.8 2007/07/13 14:27:04 imp Exp $ ******************************************************************************/ #include "at91rm9200.h" @@ -380,7 +380,7 @@ static void MII_GetLinkSpeed(AT91PS_EMAC pEmac) { -#if defined(BOOT_TSC) | defined(BOOT_KB920X) +#if defined(BOOT_TSC) || defined(BOOT_KB920X) || defined(BOOT_CENTIPAD) unsigned short stat2; #endif unsigned update; @@ -394,7 +394,7 @@ update |= AT91C_EMAC_SPD; update |= AT91C_EMAC_FD; #endif -#ifdef BOOT_KB920X +#if defined(BOOT_KB920X) || defined(BOOT_CENTIPAD) stat2 = AT91F_MII_ReadPhy(pEmac, MII_STS2_REG); if (!(stat2 & MII_STS2_LINK)) return ; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/boot/arm/at91/libat91/emac.h#2 (text) ==== @@ -17,7 +17,7 @@ * only. * END_BLOCK * - * $FreeBSD: src/sys/boot/arm/at91/libat91/emac.h,v 1.5 2006/11/09 20:32:36 imp Exp $ + * $FreeBSD: src/sys/boot/arm/at91/libat91/emac.h,v 1.6 2007/07/13 14:27:05 imp Exp $ *****************************************************************************/ @@ -114,7 +114,7 @@ /* MII registers definition */ #define MII_STS_REG 0x01 #define MII_STS_LINK_STAT 0x04 -#ifdef BOOT_KB920X +#if defined(BOOT_KB920X) || defined(BOOT_CENTIPAD) #define MII_STS2_REG 0x11 #define MII_STS2_LINK 0x400 #define MII_STS2_100TX 0x4000 ==== //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit.h#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,10 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#36 - * $FreeBSD: src/sys/bsm/audit.h,v 1.8 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#38 + * $FreeBSD: src/sys/bsm/audit.h,v 1.9 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _BSM_AUDIT_H ==== //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit_internal.h#3 (text) ==== @@ -6,8 +6,6 @@ * This code was developed in part by Robert N. M. Watson, Senior Principal * Scientist, SPARTA, Inc. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -32,10 +30,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#16 - * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.7 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#18 + * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.8 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _AUDIT_INTERNAL_H ==== //depot/projects/soc2007/rdivacky/linux_at/sys/bsm/audit_kevents.h#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,10 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#32 - * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.11 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#34 + * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.12 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -49,11 +45,12 @@ #define AUE_NULL 0 #define AUE_EXIT 1 #define AUE_FORK 2 +#define AUE_FORKALL AUE_FORK /* Solaris-specific. */ #define AUE_OPEN 3 #define AUE_CREAT 4 #define AUE_LINK 5 #define AUE_UNLINK 6 -#define AUE_DELETE AUE_UNLINK +#define AUE_DELETE AUE_UNLINK /* Darwin-specific. */ #define AUE_EXEC 7 #define AUE_CHDIR 8 #define AUE_MKNOD 9 @@ -62,7 +59,7 @@ #define AUE_UMOUNT 12 #define AUE_JUNK 13 /* Solaris-specific. */ #define AUE_ACCESS 14 -#define AUE_CHECKUSERACCESS AUE_ACCESS +#define AUE_CHECKUSERACCESS AUE_ACCESS /* Darwin-specific. */ #define AUE_KILL 15 #define AUE_STAT 16 #define AUE_LSTAT 17 @@ -161,7 +158,7 @@ #define AUE_SEMOP 110 #define AUE_CORE 111 /* Solaris-specific, currently. */ #define AUE_CLOSE 112 -#define AUE_SYSTEMBOOT 113 +#define AUE_SYSTEMBOOT 113 /* Solaris-specific. */ #define AUE_ASYNC_DAEMON_EXIT 114 /* Solaris-specific. */ #define AUE_NFSSVC_EXIT 115 /* Solaris-specific. */ #define AUE_WRITEL 128 /* Solaris-specific. */ @@ -184,9 +181,14 @@ #define AUE_GETKERNSTATE 147 /* Solaris-specific. */ #define AUE_SETKERNSTATE 148 /* Solaris-specific. */ #define AUE_GETPORTAUDIT 149 /* Solaris-specific. */ -#define AUE_AUDISTAT 150 /* Solaris-specific. */ +#define AUE_AUDITSTAT 150 /* Solaris-specific. */ +#define AUE_REVOKE 151 +#define AUE_MAC 152 /* Solaris-specific. */ #define AUE_ENTERPROM 153 /* Solaris-specific. */ #define AUE_EXITPROM 154 /* Solaris-specific. */ +#define AUE_IFLOAT 155 /* Solaris-specific. */ +#define AUE_PFLOAT 156 /* Solaris-specific. */ +#define AUE_UPRIV 157 /* Solaris-specific. */ #define AUE_IOCTL 158 #define AUE_SOCKET 183 #define AUE_SENDTO 184 @@ -198,28 +200,30 @@ #define AUE_RECVMSG 190 #define AUE_RECVFROM 191 #define AUE_READ 192 +#define AUE_GETDENTS 193 #define AUE_LSEEK 194 #define AUE_WRITE 195 #define AUE_WRITEV 196 #define AUE_NFS 197 /* Solaris-specific. */ #define AUE_READV 198 - /* XXXRW: XXX Solaris old stat()? */ +#define AUE_OSTAT 199 /* Solaris-specific. */ #define AUE_SETUID 200 /* XXXRW: Solaris old setuid? */ #define AUE_STIME 201 /* XXXRW: Solaris old stime? */ #define AUE_UTIME 202 /* XXXRW: Solaris old utime? */ #define AUE_NICE 203 /* XXXRW: Solaris old nice? */ - /* XXXRW: Solaris old setpgrp? */ -#define AUE_SETGID 205 /* XXXRW: Solaris old setgid? */ - /* XXXRW: Solaris readl? */ - /* XXXRW: Solaris readvl()? */ +#define AUE_OSETPGRP 204 /* Solaris-specific. */ +#define AUE_SETGID 205 +#define AUE_READL 206 /* Solaris-specific. */ +#define AUE_READVL 207 /* Solaris-specific. */ +#define AUE_FSTAT 208 #define AUE_DUP2 209 #define AUE_MMAP 210 #define AUE_AUDIT 211 -#define AUE_PRIOCNTLSYS 212 +#define AUE_PRIOCNTLSYS 212 /* Solaris-specific. */ #define AUE_MUNMAP 213 #define AUE_SETEGID 214 #define AUE_SETEUID 215 -#define AUE_PUTMSG 216 +#define AUE_PUTMSG 216 /* Solaris-specific. */ #define AUE_GETMSG 217 /* Solaris-specific. */ #define AUE_PUTPMSG 218 /* Solaris-specific. */ #define AUE_GETPMSG 219 /* Solaris-specific. */ @@ -236,26 +240,27 @@ #define AUE_AUDITON_SETCOND 230 #define AUE_AUDITON_GETCLASS 231 #define AUE_AUDITON_SETCLASS 232 -#define AUE_UTSSYS 233 /* Solaris-specific. */ +#define AUE_FUSERS 233 /* Solaris-specific; also UTSSYS? */ #define AUE_STATVFS 234 -#define AUE_XSTAT 235 -#define AUE_LXSTAT 236 +#define AUE_XSTAT 235 /* Solaris-specific. */ +#define AUE_LXSTAT 236 /* Solaris-specific. */ #define AUE_LCHOWN 237 #define AUE_MEMCNTL 238 /* Solaris-specific. */ #define AUE_SYSINFO 239 /* Solaris-specific. */ #define AUE_XMKNOD 240 /* Solaris-specific. */ #define AUE_FORK1 241 - /* XXXRW: Solaris modctl()? */ +#define AUE_MODCTL 242 /* Solaris-specific. */ #define AUE_MODLOAD 243 #define AUE_MODUNLOAD 244 #define AUE_MODCONFIG 245 /* Solaris-specific. */ #define AUE_MODADDMAJ 246 /* Solaris-specific. */ -#define AUE_SOCKACCEPT 247 -#define AUE_SOCKCONNECT 248 -#define AUE_SOCKSEND 249 -#define AUE_SOCKRECEIVE 250 +#define AUE_SOCKACCEPT 247 /* Solaris-specific. */ +#define AUE_SOCKCONNECT 248 /* Solaris-specific. */ +#define AUE_SOCKSEND 249 /* Solaris-specific. */ +#define AUE_SOCKRECEIVE 250 /* Solaris-specific. */ #define AUE_ACLSET 251 #define AUE_FACLSET 252 +#define AUE_DOORFS 253 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_CALL 254 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_RETURN 255 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_CREATE 256 /* Solaris-specific. */ @@ -267,11 +272,42 @@ #define AUE_P_ONLINE 262 /* Solaris-specific. */ #define AUE_PROCESSOR_BIND 263 /* Solaris-specific. */ #define AUE_INST_SYNC 264 /* Solaris-specific. */ -#define AUE_SOCK_CONFIG 265 /* Solaris-specific. */ +#define AUE_SOCKCONFIG 265 /* Solaris-specific. */ #define AUE_SETAUDIT_ADDR 266 #define AUE_GETAUDIT_ADDR 267 +#define AUE_UMOUNT2 268 /* Solaris-specific. */ +#define AUE_FSAT 269 /* Solaris-specific. */ +#define AUE_OPENAT_R 270 +#define AUE_OPENAT_RC 271 +#define AUE_OPENAT_RT 272 +#define AUE_OPENAT_RTC 273 +#define AUE_OPENAT_W 274 +#define AUE_OPENAT_WC 275 +#define AUE_OPENAT_WT 276 +#define AUE_OPENAT_WTC 277 +#define AUE_OPENAT_RW 278 +#define AUE_OPENAT_RWC 279 +#define AUE_OPENAT_RWT 280 +#define AUE_OPENAT_RWTC 281 +#define AUE_RENAMEAT 282 +#define AUE_FSTATAT 283 +#define AUE_FCHOWNAT 284 +#define AUE_FUTIMESAT 285 +#define AUE_UNLINKAT 286 #define AUE_CLOCK_SETTIME 287 #define AUE_NTP_ADJTIME 288 +#define AUE_SETPPRIV 289 /* Solaris-specific. */ +#define AUE_MODDEVPLCY 290 /* Solaris-specific. */ +#define AUE_MODADDPRIV 291 /* Solaris-specific. */ +#define AUE_CRYPTOADM 292 /* Solaris-specific. */ +#define AUE_CONFIGKSSL 293 /* Solaris-specific. */ +#define AUE_BRANDSYS 294 /* Solaris-specific. */ +#define AUE_PF_POLICY_ADDRULE 295 /* Solaris-specific. */ +#define AUE_PF_POLICY_DELRULE 296 /* Solaris-specific. */ +#define AUE_PF_POLICY_CLONE 297 /* Solaris-specific. */ +#define AUE_PF_POLICY_FLIP 298 /* Solaris-specific. */ +#define AUE_PF_POLICY_FLUSH 299 /* Solaris-specific. */ +#define AUE_PF_POLICY_ALGS 300 /* Solaris-specific. */ /* * Events added for Apple Darwin that potentially collide with future Solaris @@ -286,30 +322,30 @@ #define AUE_DARWIN_PROFILE 305 #define AUE_DARWIN_KTRACE 306 #define AUE_DARWIN_SETLOGIN 307 -#define AUE_DARWIN_REBOOT 308 /* XXX: See AUE_REBOOT. */ +#define AUE_DARWIN_REBOOT 308 #define AUE_DARWIN_REVOKE 309 #define AUE_DARWIN_UMASK 310 #define AUE_DARWIN_MPROTECT 311 -#define AUE_DARWIN_SETPRIORITY 312 /* XXX: See AUE_SETPRIORITY. */ -#define AUE_DARWIN_SETTIMEOFDAY 313 /* XXX: See AUE_SETTIMEOFDAY. */ -#define AUE_DARWIN_FLOCK 314 /* XXX: See AUE_FLOCK. */ +#define AUE_DARWIN_SETPRIORITY 312 +#define AUE_DARWIN_SETTIMEOFDAY 313 +#define AUE_DARWIN_FLOCK 314 #define AUE_DARWIN_MKFIFO 315 #define AUE_DARWIN_POLL 316 -#define AUE_DARWIN_SOCKETPAIR 317 /* XXXRW: See AUE_SOCKETPAIR. */ +#define AUE_DARWIN_SOCKETPAIR 317 #define AUE_DARWIN_FUTIMES 318 #define AUE_DARWIN_SETSID 319 #define AUE_DARWIN_SETPRIVEXEC 320 /* Darwin-specific. */ -#define AUE_DARWIN_NFSSVC 321 /* XXX: See AUE_NFS_SVC. */ -#define AUE_DARWIN_GETFH 322 /* XXX: See AUE_NFS_GETFH. */ -#define AUE_DARWIN_QUOTACTL 323 /* XXX: See AUE_QUOTACTL. */ +#define AUE_DARWIN_NFSSVC 321 +#define AUE_DARWIN_GETFH 322 +#define AUE_DARWIN_QUOTACTL 323 #define AUE_DARWIN_ADDPROFILE 324 /* Darwin-specific. */ #define AUE_DARWIN_KDEBUGTRACE 325 /* Darwin-specific. */ #define AUE_DARWIN_KDBUGTRACE AUE_KDEBUGTRACE #define AUE_DARWIN_FSTAT 326 #define AUE_DARWIN_FPATHCONF 327 #define AUE_DARWIN_GETDIRENTRIES 328 -#define AUE_DARWIN_TRUNCATE 329 /* XXX: See AUE_TRUNCATE. */ -#define AUE_DARWIN_FTRUNCATE 330 /* XXX: See AUE_FTRUNCATE. */ +#define AUE_DARWIN_TRUNCATE 329 +#define AUE_DARWIN_FTRUNCATE 330 #define AUE_DARWIN_SYSCTL 331 #define AUE_DARWIN_MLOCK 332 #define AUE_DARWIN_MUNLOCK 333 @@ -348,6 +384,11 @@ * These often duplicate events added to the Solaris set by Darwin, but use * event identifiers in a higher range in order to avoid colliding with * future Solaris additions. + * + * If an event in this section is later added to Solaris, we prefer the + * Solaris event identifier, and add _OPENBSM_ to the OpenBSM-specific + * identifier so that old trails can still be processed, but new trails use + * the Solaris identifier. */ #define AUE_GETFSSTAT 43001 #define AUE_PTRACE 43002 @@ -356,7 +397,7 @@ #define AUE_PROFILE 43005 #define AUE_KTRACE 43006 #define AUE_SETLOGIN 43007 -#define AUE_REVOKE 43008 +#define AUE_OPENBSM_REVOKE 43008 /* Solaris event now preferred. */ #define AUE_UMASK 43009 #define AUE_MPROTECT 43010 #define AUE_MKFIFO 43011 @@ -367,7 +408,7 @@ #define AUE_ADDPROFILE 43016 /* Darwin-specific. */ #define AUE_KDEBUGTRACE 43017 /* Darwin-specific. */ #define AUE_KDBUGTRACE AUE_KDEBUGTRACE -#define AUE_FSTAT 43018 +#define AUE_OPENBSM_FSTAT 43018 /* Solaris event now preferred. */ #define AUE_FPATHCONF 43019 #define AUE_GETDIRENTRIES 43020 #define AUE_SYSCTL 43021 @@ -497,6 +538,16 @@ #define AUE_LISTEN 43140 /* FreeBSD/Darwin/Linux. */ #define AUE_MLOCKALL 43141 /* FreeBSD. */ #define AUE_MUNLOCKALL 43142 /* FreeBSD. */ +#define AUE_CLOSEFROM 43143 /* FreeBSD. */ +#define AUE_FEXECVE 43144 /* FreeBSD. */ +#define AUE_FACCESSAT 43145 /* FreeBSD. */ +#define AUE_FCHMODAT 43146 /* FreeBSD. */ +#define AUE_LINKAT 43147 /* FreeBSD. */ +#define AUE_MKDIRAT 43148 /* FreeBSD. */ +#define AUE_MKFIFOAT 43149 /* FreeBSD. */ +#define AUE_MKNODAT 43150 /* FreeBSD. */ +#define AUE_READLINKAT 43151 /* FreeBSD. */ +#define AUE_SYMLINKAT 43152 /* FreeBSD. */ /* >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 22 13:52:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 44A3516A41B; Sun, 22 Jul 2007 13:52:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D31C416A419 for ; Sun, 22 Jul 2007 13:52:52 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B9AC213C478 for ; Sun, 22 Jul 2007 13:52:52 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MDqqOZ086975 for ; Sun, 22 Jul 2007 13:52:52 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MDqqsU086972 for perforce@freebsd.org; Sun, 22 Jul 2007 13:52:52 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 22 Jul 2007 13:52:52 GMT Message-Id: <200707221352.l6MDqqsU086972@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123895 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 13:52:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=123895 Change 123895 by rdivacky@rdivacky_witten on 2007/07/22 13:52:20 Change audit events to *at ones. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_sysent.c#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.c#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.master#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/systrace_args.c#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.h#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.mk#10 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysproto.h#10 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/init_sysent.c#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.229 2007/07/04 22:49:54 peter Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp */ @@ -510,4 +510,19 @@ { AS(lseek_args), (sy_call_t *)lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = lseek */ { AS(truncate_args), (sy_call_t *)truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = truncate */ { AS(ftruncate_args), (sy_call_t *)ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = ftruncate */ + { AS(faccessat_args), (sy_call_t *)faccessat, AUE_FACCESSAT, NULL, 0, 0 }, /* 481 = faccessat */ + { AS(fchmodat_args), (sy_call_t *)fchmodat, AUE_FCHMODAT, NULL, 0, 0 }, /* 482 = fchmodat */ + { AS(fchownat_args), (sy_call_t *)fchownat, AUE_FCHOWNAT, NULL, 0, 0 }, /* 483 = fchownat */ + { AS(fexecve_args), (sy_call_t *)fexecve, AUE_FEXECVE, NULL, 0, 0 }, /* 484 = fexecve */ + { AS(fstatat_args), (sy_call_t *)fstatat, AUE_FSTATAT, NULL, 0, 0 }, /* 485 = fstatat */ + { AS(futimesat_args), (sy_call_t *)futimesat, AUE_FUTIMESAT, NULL, 0, 0 }, /* 486 = futimesat */ + { AS(linkat_args), (sy_call_t *)linkat, AUE_LINKAT, NULL, 0, 0 }, /* 487 = linkat */ + { AS(mkdirat_args), (sy_call_t *)mkdirat, AUE_MKDIRAT, NULL, 0, 0 }, /* 488 = mkdirat */ + { AS(mkfifoat_args), (sy_call_t *)mkfifoat, AUE_MKFIFOAT, NULL, 0, 0 }, /* 489 = mkfifoat */ + { AS(mknodat_args), (sy_call_t *)mknodat, AUE_MKNODAT, NULL, 0, 0 }, /* 490 = mknodat */ + { AS(openat_args), (sy_call_t *)openat, AUE_OPENAT_RWTC, NULL, 0, 0 }, /* 491 = openat */ + { AS(readlinkat_args), (sy_call_t *)readlinkat, AUE_READLINKAT, NULL, 0, 0 }, /* 492 = readlinkat */ + { AS(renameat_args), (sy_call_t *)renameat, AUE_RENAMEAT, NULL, 0, 0 }, /* 493 = renameat */ + { AS(symlinkat_args), (sy_call_t *)symlinkat, AUE_SYMLINKAT, NULL, 0, 0 }, /* 494 = symlinkat */ + { AS(unlinkat_args), (sy_call_t *)unlinkat, AUE_UNLINKAT, NULL, 0, 0 }, /* 495 = unlinkat */ }; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.c#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.213 2007/07/04 22:49:55 peter Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp */ @@ -488,4 +488,19 @@ "lseek", /* 478 = lseek */ "truncate", /* 479 = truncate */ "ftruncate", /* 480 = ftruncate */ + "faccessat", /* 481 = faccessat */ + "fchmodat", /* 482 = fchmodat */ + "fchownat", /* 483 = fchownat */ + "fexecve", /* 484 = fexecve */ + "fstatat", /* 485 = fstatat */ + "futimesat", /* 486 = futimesat */ + "linkat", /* 487 = linkat */ + "mkdirat", /* 488 = mkdirat */ + "mkfifoat", /* 489 = mkfifoat */ + "mknodat", /* 490 = mknodat */ + "openat", /* 491 = openat */ + "readlinkat", /* 492 = readlinkat */ + "renameat", /* 493 = renameat */ + "symlinkat", /* 494 = symlinkat */ + "unlinkat", /* 495 = unlinkat */ }; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/syscalls.master#10 (text+ko) ==== @@ -846,21 +846,21 @@ int whence); } 479 AUE_TRUNCATE STD { int truncate(char *path, off_t length); } 480 AUE_FTRUNCATE STD { int ftruncate(int fd, off_t length); } -481 AUE_ACCESS STD { int faccessat(int fd, const char *path, int mode, int flag); } -482 AUE_CHMOD STD { int fchmodat(int fd, const char *path, mode_t mode, int flag); } -483 AUE_CHOWN STD { int fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } -484 AUE_EXECVE STD { int fexecve(int fd, char **argv, char **envv); } -485 AUE_STAT STD { int fstatat(int fd, const char *path, struct stat *buf, int flag); } -486 AUE_UTIMES STD { int futimesat(int fd, const char *path, const struct timeval *times); } -487 AUE_LINK STD { int linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } -488 AUE_MKDIR STD { int mkdirat(int fd, const char *path, mode_t mode); } -489 AUE_MKFIFO STD { int mkfifoat(int fd, const char *path, mode_t mode); } -490 AUE_MKNOD STD { int mknodat(int fd, const char *path, mode_t mode, dev_t dev); } +481 AUE_FACCESSAT STD { int faccessat(int fd, const char *path, int mode, int flag); } +482 AUE_FCHMODAT STD { int fchmodat(int fd, const char *path, mode_t mode, int flag); } +483 AUE_FCHOWNAT STD { int fchownat(int fd, const char *path, uid_t uid, gid_t gid, int flag); } +484 AUE_FEXECVE STD { int fexecve(int fd, char **argv, char **envv); } +485 AUE_FSTATAT STD { int fstatat(int fd, const char *path, struct stat *buf, int flag); } +486 AUE_FUTIMESAT STD { int futimesat(int fd, const char *path, const struct timeval *times); } +487 AUE_LINKAT STD { int linkat(int fd1, const char *path1, int fd2, const char *path2, int flag); } +488 AUE_MKDIRAT STD { int mkdirat(int fd, const char *path, mode_t mode); } +489 AUE_MKFIFOAT STD { int mkfifoat(int fd, const char *path, mode_t mode); } +490 AUE_MKNODAT STD { int mknodat(int fd, const char *path, mode_t mode, dev_t dev); } ; XXX: see the comment for open -491 AUE_OPEN_RWTC STD { int openat(int fd, const char *path, int flag, mode_t mode); } -492 AUE_READLINK STD { int readlinkat(int fd, const char *path, char *buf, size_t bufsize); } -493 AUE_RENAME STD { int renameat(int oldfd, const char *old, int newfd, const char *new); } -494 AUE_SYMLINK STD { int symlinkat(const char *path1, int fd, const char *path2); } -495 AUE_UNLINK STD { int unlinkat(int fd, const char *path, int flag); } +491 AUE_OPENAT_RWTC STD { int openat(int fd, const char *path, int flag, mode_t mode); } +492 AUE_READLINKAT STD { int readlinkat(int fd, const char *path, char *buf, size_t bufsize); } +493 AUE_RENAMEAT STD { int renameat(int oldfd, const char *old, int newfd, const char *new); } +494 AUE_SYMLINKAT STD { int symlinkat(const char *path1, int fd, const char *path2); } +495 AUE_UNLINKAT STD { int unlinkat(int fd, const char *path, int flag); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/systrace_args.c#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call argument to DTrace register array converstion. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/systrace_args.c,v 1.13 2007/07/04 22:49:55 peter Exp $ + * $FreeBSD$ * This file is part of the DTrace syscall provider. */ @@ -2862,6 +2862,152 @@ *n_args = 2; break; } + /* faccessat */ + case 481: { + struct faccessat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->mode; /* int */ + iarg[3] = p->flag; /* int */ + *n_args = 4; + break; + } + /* fchmodat */ + case 482: { + struct fchmodat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->mode; /* mode_t */ + iarg[3] = p->flag; /* int */ + *n_args = 4; + break; + } + /* fchownat */ + case 483: { + struct fchownat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + uarg[2] = p->uid; /* uid_t */ + iarg[3] = p->gid; /* gid_t */ + iarg[4] = p->flag; /* int */ + *n_args = 5; + break; + } + /* fexecve */ + case 484: { + struct fexecve_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->argv; /* char ** */ + uarg[2] = (intptr_t) p->envv; /* char ** */ + *n_args = 3; + break; + } + /* fstatat */ + case 485: { + struct fstatat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + uarg[2] = (intptr_t) p->buf; /* struct stat * */ + iarg[3] = p->flag; /* int */ + *n_args = 4; + break; + } + /* futimesat */ + case 486: { + struct futimesat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + uarg[2] = (intptr_t) p->times; /* const struct timeval * */ + *n_args = 3; + break; + } + /* linkat */ + case 487: { + struct linkat_args *p = params; + iarg[0] = p->fd1; /* int */ + uarg[1] = (intptr_t) p->path1; /* const char * */ + iarg[2] = p->fd2; /* int */ + uarg[3] = (intptr_t) p->path2; /* const char * */ + iarg[4] = p->flag; /* int */ + *n_args = 5; + break; + } + /* mkdirat */ + case 488: { + struct mkdirat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->mode; /* mode_t */ + *n_args = 3; + break; + } + /* mkfifoat */ + case 489: { + struct mkfifoat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->mode; /* mode_t */ + *n_args = 3; + break; + } + /* mknodat */ + case 490: { + struct mknodat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->mode; /* mode_t */ + iarg[3] = p->dev; /* dev_t */ + *n_args = 4; + break; + } + /* openat */ + case 491: { + struct openat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->flag; /* int */ + iarg[3] = p->mode; /* mode_t */ + *n_args = 4; + break; + } + /* readlinkat */ + case 492: { + struct readlinkat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + uarg[2] = (intptr_t) p->buf; /* char * */ + uarg[3] = p->bufsize; /* size_t */ + *n_args = 4; + break; + } + /* renameat */ + case 493: { + struct renameat_args *p = params; + iarg[0] = p->oldfd; /* int */ + uarg[1] = (intptr_t) p->old; /* const char * */ + iarg[2] = p->newfd; /* int */ + uarg[3] = (intptr_t) p->new; /* const char * */ + *n_args = 4; + break; + } + /* symlinkat */ + case 494: { + struct symlinkat_args *p = params; + uarg[0] = (intptr_t) p->path1; /* const char * */ + iarg[1] = p->fd; /* int */ + uarg[2] = (intptr_t) p->path2; /* const char * */ + *n_args = 3; + break; + } + /* unlinkat */ + case 495: { + struct unlinkat_args *p = params; + iarg[0] = p->fd; /* int */ + uarg[1] = (intptr_t) p->path; /* const char * */ + iarg[2] = p->flag; /* int */ + *n_args = 3; + break; + } default: *n_args = 0; break; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.h#10 (text+ko) ==== @@ -2,7 +2,7 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.210 2007/07/04 22:49:55 peter Exp $ + * $FreeBSD$ * created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp */ @@ -400,4 +400,19 @@ #define SYS_lseek 478 #define SYS_truncate 479 #define SYS_ftruncate 480 -#define SYS_MAXSYSCALL 481 +#define SYS_faccessat 481 +#define SYS_fchmodat 482 +#define SYS_fchownat 483 +#define SYS_fexecve 484 +#define SYS_fstatat 485 +#define SYS_futimesat 486 +#define SYS_linkat 487 +#define SYS_mkdirat 488 +#define SYS_mkfifoat 489 +#define SYS_mknodat 490 +#define SYS_openat 491 +#define SYS_readlinkat 492 +#define SYS_renameat 493 +#define SYS_symlinkat 494 +#define SYS_unlinkat 495 +#define SYS_MAXSYSCALL 496 ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/syscall.mk#10 (text+ko) ==== @@ -1,6 +1,6 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.165 2007/07/04 22:49:55 peter Exp $ +# $FreeBSD$ # created from FreeBSD: src/sys/kern/syscalls.master,v 1.232 2007/07/04 22:47:37 peter Exp MIASM = \ syscall.o \ @@ -348,4 +348,19 @@ mmap.o \ lseek.o \ truncate.o \ - ftruncate.o + ftruncate.o \ + faccessat.o \ + fchmodat.o \ + fchownat.o \ + fexecve.o \ + fstatat.o \ + futimesat.o \ + linkat.o \ + mkdirat.o \ + mkfifoat.o \ + mknodat.o \ + openat.o \ + readlinkat.o \ + renameat.o \ + symlinkat.o \ + unlinkat.o ==== //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysproto.h#10 (text+ko) ==== @@ -2517,21 +2517,21 @@ #define SYS_AUE_lseek AUE_LSEEK #define SYS_AUE_truncate AUE_TRUNCATE #define SYS_AUE_ftruncate AUE_FTRUNCATE -#define SYS_AUE_faccessat AUE_ACCESS -#define SYS_AUE_fchmodat AUE_CHMOD -#define SYS_AUE_fchownat AUE_CHOWN -#define SYS_AUE_fexecve AUE_EXECVE -#define SYS_AUE_fstatat AUE_STAT -#define SYS_AUE_futimesat AUE_UTIMES -#define SYS_AUE_linkat AUE_LINK -#define SYS_AUE_mkdirat AUE_MKDIR -#define SYS_AUE_mkfifoat AUE_MKFIFO -#define SYS_AUE_mknodat AUE_MKNOD -#define SYS_AUE_openat AUE_OPEN_RWTC -#define SYS_AUE_readlinkat AUE_READLINK -#define SYS_AUE_renameat AUE_RENAME -#define SYS_AUE_symlinkat AUE_SYMLINK -#define SYS_AUE_unlinkat AUE_UNLINK +#define SYS_AUE_faccessat AUE_FACCESSAT +#define SYS_AUE_fchmodat AUE_FCHMODAT +#define SYS_AUE_fchownat AUE_FCHOWNAT +#define SYS_AUE_fexecve AUE_FEXECVE +#define SYS_AUE_fstatat AUE_FSTATAT +#define SYS_AUE_futimesat AUE_FUTIMESAT +#define SYS_AUE_linkat AUE_LINKAT +#define SYS_AUE_mkdirat AUE_MKDIRAT +#define SYS_AUE_mkfifoat AUE_MKFIFOAT +#define SYS_AUE_mknodat AUE_MKNODAT +#define SYS_AUE_openat AUE_OPENAT_RWTC +#define SYS_AUE_readlinkat AUE_READLINKAT +#define SYS_AUE_renameat AUE_RENAMEAT +#define SYS_AUE_symlinkat AUE_SYMLINKAT +#define SYS_AUE_unlinkat AUE_UNLINKAT #undef PAD_ #undef PADL_ From owner-p4-projects@FreeBSD.ORG Sun Jul 22 14:15:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1E25516A41B; Sun, 22 Jul 2007 14:15:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 81E8416A41A for ; Sun, 22 Jul 2007 14:15:22 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 74E8413C45B for ; Sun, 22 Jul 2007 14:15:22 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MEFMgi089383 for ; Sun, 22 Jul 2007 14:15:22 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MEFM5e089380 for perforce@freebsd.org; Sun, 22 Jul 2007 14:15:22 GMT (envelope-from taleks@FreeBSD.org) Date: Sun, 22 Jul 2007 14:15:22 GMT Message-Id: <200707221415.l6MEFM5e089380@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 123897 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 14:15:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=123897 Change 123897 by taleks@taleks_th on 2007/07/22 14:15:16 pxe_sock: added pxe_socket_state() funxtion, used to get current socket state. pxe_http: added support for keep-alive connections and reestablishing of closed connections. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/Makefile#11 edit .. //depot/projects/soc2007/taleks-pxe_http/httpfs.c#4 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#10 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_http.c#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_http.h#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#16 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#14 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/Makefile#11 (text+ko) ==== @@ -30,6 +30,7 @@ #CFLAGS+= -DPXE_ARP_DEBUG #CFLAGS+= -DPXE_ARP_DEBUG_HELL # httpfs module -#CFLAGS+= -DPXE_HTTP_DEBUG +CFLAGS+= -DPXE_HTTP_DEBUG +#CFLAGS+= -DPXE_HTTP_DEBUG_HELL .include ==== //depot/projects/soc2007/taleks-pxe_http/httpfs.c#4 (text+ko) ==== @@ -124,7 +124,10 @@ } f->f_fsdata = (void *) httpfile; - + +#ifdef PXE_HTTP_DEBUG + printf("http_open(): success\n"); +#endif return (0); } @@ -138,7 +141,7 @@ return (EINVAL); } -#ifdef PXE_HTTP_DEBUG +#ifdef PXE_HTTP_DEBUG_HELL printf("http_read(): %s:%llu+%lu\n", httpfile->filename, httpfile->offset, size); #endif @@ -148,7 +151,7 @@ { if (resid) *resid = size; -#ifdef PXE_HTTP_DEBUG +#ifdef PXE_HTTP_DEBUG_HELL printf("http_read(): EOF\n"); #endif return (0); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_connection.c#10 (text+ko) ==== @@ -536,6 +536,10 @@ if ( (connection->state != PXE_TCP_ESTABLISHED) && (recv_buffer->bufleft == recv_buffer->bufsize) ) { +#ifdef PXE_DEBUG + printf("pxe_tcp_read(): state %u, no data in buffer\n", + connection->state); +#endif return (-1); /* connection closed and no data in buffer */ } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_http.c#8 (text+ko) ==== @@ -91,7 +91,7 @@ if (found == NULL) return (0); /* failed to parse response code */ - + found = strstr(data, "Content-Length:"); parse_data->size = PXE_HTTP_SIZE_UNKNOWN; @@ -126,8 +126,12 @@ while (count < maxsize - 1) { result = pxe_recv(socket, &data[count], maxsize - 1 - count); - if (result == -1) /* failed to recv */ + if (result == -1) { /* failed to recv */ +#ifdef PXE_HTTP_DEBUG_HELL + printf("http_get_header(): pxe_recv() failed\n"); +#endif break; + } if (result == 0) /* nothing received yet */ continue; @@ -157,6 +161,65 @@ return (result); } +/* http_get_header2() - gets from socket data related to http header + * byte by byte. + * in: + * socket - socket descriptor + * data - pointer to working buffer + * maxsize - buffer size + * found_result - if not NULL, there stored pointer to end of header + * count_result - if not NULL, received count stored + * out: + * -1 - failed + * >=0 - success + */ +int +http_get_header2(int socket, char *data, size_t maxsize, + char **found_result, size_t *count_result) +{ + int result = -1; + size_t count = 0; + char *found = NULL; + char ch = '\0'; + + while (count < maxsize - 1) { + result = pxe_recv(socket, &data[count], 1); + + if (result == -1) { /* failed to recv */ +#ifdef PXE_HTTP_DEBUG_HELL + printf("http_get_header2(): pxe_recv() failed\n"); +#endif + break; + } + + if (result == 0) /* nothing received yet */ + continue; + + /* make string ended with '\0' */ + ch = data[count + result]; + data[count + result] = '\0'; + + /* searching end of reply */ + found = strstr(&data[count], "\r\n\r\n"); + + /* restore char replaced by zero */ + data[count + result] = ch; + + count += 1; + + if (found != NULL) + break; + } + + if (found_result) + *found_result = found; + + if (count_result) + *count_result = count; + + return (result); +} + /* pxe_fetch() - testing function, if size = from = 0, retrieve full file, * otherwise partial * in: @@ -300,23 +363,45 @@ { size_t size_to_get = (size > 0) ? size : hh->size; -#ifdef PXE_DEBUG +#ifdef PXE_HTTP_DEBUG_HELL printf("pxe_get(): %s:%s:%llu+%lu(%lu:%lu) to 0x%x\n", inet_ntoa(hh->ip), hh->filename, hh->offset, size_to_get, size, hh->size, hh->buf); #endif if (hh->socket == -1) { - printf("pxe_get(): socket is not connected.\n"); + printf("pxe_get(): invalid socket.\n"); return (-1); } + + if (pxe_socket_state(hh->socket) != PXE_SOCKET_ESTABLISHED) { + /* means connection was closed, due e.g. for Apache + * - MaxKeepAliveRequests exceeds for that connection + * - Waited between read attempts more than KeepAliveTimeout + * or + * some other problem + * need to reestablish connection + */ + + /* close socket gracefully */ + pxe_close(hh->socket); + hh->socket = -1; + + if (!pxe_exists(hh)) { +#ifdef PXE_HTTP_DEBUG + printf("pxe_get(): connection breaked.\n"); +#endif + return (-1); + } + /* reestablished, continue normal work */ + } if ( (size_to_get < PXE_HTTP_SIZE_UNKNOWN) && (size_to_get > 0)) { snprintf(hh->buf, hh->bufsize, "GET %s HTTP/1.1\r\nHost: %s\r\n" "Range: bytes=%llu-%llu\r\nConnection: keep-alive\r\n" - "User-Agent: pxe_http/0\r\n\r\n", + "Keep-Alive: 300\r\nUser-Agent: pxe_http/0\r\n\r\n", hh->filename, hh->servername, hh->offset, hh->offset + size - 1); } else { @@ -345,7 +430,7 @@ &found, &count); if (found == NULL) { /* haven't found end of header */ - printf("pxe_get(): cannot find reply header\n"); + printf("pxe_get(): cannot find reply header.\n"); return (-1); } @@ -354,7 +439,7 @@ pxe_memset(&parse_data, 0, sizeof(PXE_HTTP_PARSE_DATA)); if (!http_reply_parse(hh->buf, count, &parse_data)) { - printf("pxe_get(): cannot parse reply header\n"); + printf("pxe_get(): cannot parse reply header.\n"); return (-1); } @@ -394,7 +479,7 @@ count += result; } -#ifdef PXE_DEBUG +#ifdef PXE_HTTP_DEBUG_HELL printf("\npxe_get(): %lu of %lu byte(s) received.\n", count, size); #endif @@ -470,7 +555,8 @@ char *found = NULL; /* retrieve header */ - result = http_get_header(socket, hh->buf, hh->bufsize - 1, &found, &count); + result = http_get_header(socket, hh->buf, hh->bufsize - 1, + &found, &count); if (found == NULL) { /* haven't found end of header */ printf("pxe_get_close(): cannot find reply header\n"); @@ -583,8 +669,6 @@ /* retrieve header */ result = http_get_header(socket, hh->buf, hh->bufsize, &found, &count); -/* pxe_close(socket); */ - if (found == NULL) { /* haven't found end of header */ pxe_close(socket); return (0); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_http.h#6 (text+ko) ==== @@ -53,6 +53,9 @@ uint32_t ip; /* web server ip */ off_t offset; /* current offset in bytes from * beginning of file */ + + off_t cache_start; /* cached block, to reduce http requests */ + uint16_t cache_size; /* size of cached block */ size_t size; /* file size if known */ } PXE_HTTP_HANDLE; @@ -60,8 +63,8 @@ /* gets requested data from server */ int pxe_get(PXE_HTTP_HANDLE *hh, size_t size, void *buffer); -/* gets requested data from server */ -int pxe_get2(PXE_HTTP_HANDLE *hh, size_t size, void *buffer); +/* gets requested data from server, closing connection after */ +int pxe_get_close(PXE_HTTP_HANDLE *hh, size_t size, void *buffer); /* checks if file exists and fills filesize if known */ int pxe_exists(PXE_HTTP_HANDLE *hh); ==== //depot/projects/soc2007/taleks-pxe_http/pxe_sock.c#16 (text+ko) ==== @@ -170,10 +170,6 @@ /* flush data in buffers */ pxe_flush(socket); - /* socket buffers seems not be used more */ -/* pxe_buffer_memfree(&sock->send_buffer); - pxe_buffer_memfree(&sock->recv_buffer); -*/ if (filter == NULL) { /* sanity check */ #ifdef PXE_DEBUG printf("pxe_close(): filter is NULL.\n"); @@ -777,3 +773,42 @@ return (-1); } + +/* pxe_socket_state() - returns current state of socket + * in: + * socket - socket descriptor number + * out: + * -1 - if failed + * one of PXE_SOCKET_ state flags otherwise + */ +int +pxe_socket_state(int socket) +{ + if ( (socket >= PXE_DEFAULT_SOCKETS) || (socket == -1)) { + printf("pxe_socket_state(): invalid socket %d.\n", socket); + return (-1); + } + + PXE_SOCKET *sock = &pxe_sockets[socket]; + PXE_FILTER_ENTRY *filter = sock->filter; + + if (filter == NULL) { +#ifdef PXE_DEBUG + printf("pxe_socket_state(): NULL filter\n"); +#endif + return (PXE_SOCKET_USED); + } + + if (filter->protocol == PXE_UDP_PROTOCOL) /* it's always 'established' */ + return (PXE_SOCKET_ESTABLISHED); + + else if (filter->protocol == PXE_TCP_PROTOCOL) { + /* for TCP connections need to check state */ + PXE_TCP_CONNECTION *connection = filter_to_connection(filter); + + if (connection && (connection->state == PXE_TCP_ESTABLISHED) ) + return (PXE_SOCKET_ESTABLISHED); + } + + return (PXE_SOCKET_CONNECTED); +} ==== //depot/projects/soc2007/taleks-pxe_http/pxe_sock.h#14 (text+ko) ==== @@ -88,10 +88,8 @@ /* shows socket usage statistics */ void pxe_sock_stats(); -/* returns int socket by pointer to PXE_SOCKET - * TODO: think about interfaces between pxe_filter and pxe_sock - */ -int pxe_sock_get(PXE_SOCKET *sock); +/* returns current socket state */ +int pxe_socket_state(int socket); /* pxe_listen() - creates "listening" socket * it's not the same as normal listen() system call. From owner-p4-projects@FreeBSD.ORG Sun Jul 22 16:23:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7E8EE16A41B; Sun, 22 Jul 2007 16:23:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 34CE416A417 for ; Sun, 22 Jul 2007 16:23:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 113F413C442 for ; Sun, 22 Jul 2007 16:23:15 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MGNE4H099204 for ; Sun, 22 Jul 2007 16:23:14 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MGNEDg099201 for perforce@freebsd.org; Sun, 22 Jul 2007 16:23:14 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 16:23:14 GMT Message-Id: <200707221623.l6MGNEDg099201@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123912 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 16:23:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=123912 Change 123912 by gonzo@gonzo_jeeves on 2007/07/22 16:22:44 o Disable MIPS DSP ASE Instruction set. Affected files ... .. //depot/projects/mips2/src/sys/conf/kern.mk#9 edit Differences ... ==== //depot/projects/mips2/src/sys/conf/kern.mk#9 (text+ko) ==== @@ -85,10 +85,11 @@ .endif # -# For MIPS we also tell gcc to use floating point emulation. +# For MIPS we also tell gcc to use floating point emulation and +# disable MIPS DSP ASE Instruction set. # .if ${MACHINE_ARCH} == "mips" -CFLAGS+= -msoft-float +CFLAGS+= -msoft-float -mno-dsp INLINE_LIMIT?= 15000 .endif From owner-p4-projects@FreeBSD.ORG Sun Jul 22 17:37:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3FCE16A41F; Sun, 22 Jul 2007 17:37:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 77EA416A41A for ; Sun, 22 Jul 2007 17:37:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6BCB113C47E for ; Sun, 22 Jul 2007 17:37:52 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MHbqGB013023 for ; Sun, 22 Jul 2007 17:37:52 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MHbnjW013020 for perforce@freebsd.org; Sun, 22 Jul 2007 17:37:49 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 17:37:49 GMT Message-Id: <200707221737.l6MHbnjW013020@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123914 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 17:37:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=123914 Change 123914 by gonzo@gonzo_jeeves on 2007/07/22 17:37:30 o Update config/mips from vendor repo Affected files ... .. //depot/projects/mips2/src/contrib/gcc/config/mips/5400.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/5500.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/7000.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/9000.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/elf.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/elforion.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/freebsd.h#6 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/iris5.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/iris6.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/irix-crti.asm#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/irix-crtn.asm#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/linux.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/linux64.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips-modes.def#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips-protos.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips.c#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/mips16.S#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/netbsd.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/openbsd.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/r3900.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/rtems.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/sdb.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/sr71k.md#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-elf#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-iris#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-iris6#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-isa3264#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-linux64#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-mips#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-r3900#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-rtems#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/t-vr#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/vr.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/vxworks.h#2 edit .. //depot/projects/mips2/src/contrib/gcc/config/mips/windiss.h#2 edit Differences ... ==== //depot/projects/mips2/src/contrib/gcc/config/mips/5400.md#2 (text+ko) ==== @@ -26,20 +26,17 @@ (define_insn_reservation "ir_vr54_load" 2 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "load") - (eq_attr "mode" "!SF,DF,FPSW"))) + (eq_attr "type" "load,fpload,fpidxload")) "vr54_mem") (define_insn_reservation "ir_vr54_store" 1 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "store") - (eq_attr "mode" "!SF,DF,FPSW"))) + (eq_attr "type" "store")) "vr54_mem") (define_insn_reservation "ir_vr54_fstore" 1 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "store") - (eq_attr "mode" "SF,DF"))) + (eq_attr "type" "fpstore,fpidxstore")) "vr54_mem") @@ -58,29 +55,29 @@ (define_insn_reservation "ir_vr54_hilo" 1 (and (eq_attr "cpu" "r5400") - (eq_attr "type" "hilo")) + (eq_attr "type" "mthilo,mfhilo")) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_arith" 1 (and (eq_attr "cpu" "r5400") - (eq_attr "type" "move,arith,darith,const,icmp,nop")) + (eq_attr "type" "arith,shift,slt,clz,const,nop,trap")) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_imul_si" 3 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "imul") + (and (eq_attr "type" "imul,imul3") (eq_attr "mode" "SI"))) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_imul_di" 4 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "imul") + (and (eq_attr "type" "imul,imul3") (eq_attr "mode" "DI"))) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_imadd_si" 3 (and (eq_attr "cpu" "r5400") - (eq_attr "type" "imul")) + (eq_attr "type" "imul,imul3")) "vr54_mac") (define_insn_reservation "ir_vr54_idiv_si" 42 @@ -126,19 +123,19 @@ (define_insn_reservation "ir_vr54_fdiv_sf" 42 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "fdiv,fsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") (eq_attr "mode" "SF"))) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_fdiv_df" 72 (and (eq_attr "cpu" "r5400") - (and (eq_attr "type" "fdiv,fsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") (eq_attr "mode" "DF"))) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_fabs" 2 (and (eq_attr "cpu" "r5400") - (eq_attr "type" "fabs,fneg")) + (eq_attr "type" "fabs,fneg,fmove")) "vr54_dp0|vr54_dp1") (define_insn_reservation "ir_vr54_fcmp" 2 ==== //depot/projects/mips2/src/contrib/gcc/config/mips/5500.md#2 (text+ko) ==== @@ -28,12 +28,17 @@ (define_insn_reservation "ir_vr55_load" 3 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "load")) + (eq_attr "type" "load,fpload,fpidxload")) "vr55_mem") -(define_insn_reservation "ir_vr55_store" 1 +(define_bypass 4 + "ir_vr55_load" + "ir_vr55_mthilo,ir_vr55_imul_si,ir_vr55_imul_di,ir_vr55_imadd, + ir_vr55_idiv_si,ir_vr55_idiv_di") + +(define_insn_reservation "ir_vr55_store" 0 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "store")) + (eq_attr "type" "store,fpstore,fpidxstore")) "vr55_mem") ;; This reservation is for conditional move based on integer @@ -49,33 +54,66 @@ (eq_attr "type" "xfer")) "vr55_dp0|vr55_dp1") -(define_insn_reservation "ir_vr55_hilo" 2 +(define_insn_reservation "ir_vr55_arith" 1 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "hilo")) + (eq_attr "type" "arith,shift,slt,clz,const,nop,trap")) "vr55_dp0|vr55_dp1") -(define_insn_reservation "ir_vr55_arith" 1 +(define_bypass 2 + "ir_vr55_arith" + "ir_vr55_mthilo,ir_vr55_imul_si,ir_vr55_imul_di,ir_vr55_imadd, + ir_vr55_idiv_si,ir_vr55_idiv_di") + +(define_insn_reservation "ir_vr55_mthilo" 1 + (and (eq_attr "cpu" "r5500") + (eq_attr "type" "mthilo")) + "vr55_mac") + +(define_insn_reservation "ir_vr55_mfhilo" 5 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "move,arith,darith,const,icmp,nop")) - "vr55_dp0|vr55_dp1") + (eq_attr "type" "mfhilo")) + "vr55_mac") -(define_insn_reservation "ir_vr55_imul_si" 3 +;; The default latency is for the GPR result of a mul. Bypasses handle the +;; latency of {mul,mult}->{mfhi,mflo}. +(define_insn_reservation "ir_vr55_imul_si" 5 (and (eq_attr "cpu" "r5500") - (and (eq_attr "type" "imul") + (and (eq_attr "type" "imul,imul3") (eq_attr "mode" "SI"))) "vr55_mac") -(define_insn_reservation "ir_vr55_imul_di" 4 +;; The default latency is for pre-reload scheduling and handles the case +;; where a pseudo destination will be stored in a GPR (as it usually is). +;; The delay includes the latency of the dmult itself and the anticipated +;; mflo or mfhi. +;; +;; Once the mflo or mfhi has been created, bypasses handle the latency +;; between it and the dmult. +(define_insn_reservation "ir_vr55_imul_di" 9 (and (eq_attr "cpu" "r5500") - (and (eq_attr "type" "imul") + (and (eq_attr "type" "imul,imul3") (eq_attr "mode" "DI"))) - "vr55_mac") + "vr55_mac*4") -(define_insn_reservation "ir_vr55_imadd_si" 3 +;; The default latency is as for ir_vr55_imul_si. +(define_insn_reservation "ir_vr55_imadd" 5 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "imul")) + (eq_attr "type" "imadd")) "vr55_mac") +(define_bypass 1 + "ir_vr55_imul_si,ir_vr55_imadd" + "ir_vr55_imadd" + "mips_linked_madd_p") + +(define_bypass 2 + "ir_vr55_imul_si,ir_vr55_imadd" + "ir_vr55_mfhilo") + +(define_bypass 4 + "ir_vr55_imul_di" + "ir_vr55_mfhilo") + ;; Divide algorithm is early out with best latency of 7 pcycles. ;; Use worst case for scheduling purposes. (define_insn_reservation "ir_vr55_idiv_si" 42 @@ -121,19 +159,19 @@ (define_insn_reservation "ir_vr55_fdiv_sf" 30 (and (eq_attr "cpu" "r5500") - (and (eq_attr "type" "fdiv,fsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") (eq_attr "mode" "SF"))) "vr55_mac") (define_insn_reservation "ir_vr55_fdiv_df" 59 (and (eq_attr "cpu" "r5500") - (and (eq_attr "type" "fdiv,fsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") (eq_attr "mode" "DF"))) "vr55_mac") (define_insn_reservation "ir_vr55_fabs" 2 (and (eq_attr "cpu" "r5500") - (eq_attr "type" "fabs,fneg")) + (eq_attr "type" "fabs,fneg,fmove")) "vr55_fp") (define_insn_reservation "ir_vr55_fcmp" 2 ==== //depot/projects/mips2/src/contrib/gcc/config/mips/7000.md#2 (text+ko) ==== @@ -1,5 +1,5 @@ ;; DFA-based pipeline description for the RM7000. -;; Copyright (C) 2003 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. ;; ;; This file is part of GCC. @@ -15,8 +15,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GCC; see the file COPYING. If not, write to the -;; Free Software Foundation, 59 Temple Place - Suite 330, Boston, -;; MA 02111-1307, USA. +;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, +;; MA 02110-1301, USA. ;; ......................... ;; @@ -42,39 +42,39 @@ (define_cpu_unit "ixum_addsub_agen" "rm7000_other") ;; Integer execution unit (F-Pipe). -(define_cpu_unit "ixuf_addsub" "rm7000_other") -(define_cpu_unit "ixuf_branch" "rm7000_other") -(define_cpu_unit "ixuf_mpydiv" "rm7000_other") +(define_cpu_unit "ixuf_addsub" "rm7000_other") +(define_cpu_unit "ixuf_branch" "rm7000_other") +(define_cpu_unit "ixuf_mpydiv" "rm7000_other") (define_cpu_unit "ixuf_mpydiv_iter" "rm7000_idiv") ;; Floating-point unit (F-Pipe). -(define_cpu_unit "fxuf_add" "rm7000_other") -(define_cpu_unit "fxuf_mpy" "rm7000_other") +(define_cpu_unit "fxuf_add" "rm7000_other") +(define_cpu_unit "fxuf_mpy" "rm7000_other") (define_cpu_unit "fxuf_mpy_iter" "rm7000_fdiv") (define_cpu_unit "fxuf_divsqrt" "rm7000_other") (define_cpu_unit "fxuf_divsqrt_iter" "rm7000_fdiv") (exclusion_set "ixuf_addsub" "ixuf_branch,ixuf_mpydiv,fxuf_add,fxuf_mpy,fxuf_divsqrt") -(exclusion_set "ixuf_branch" "ixuf_mpydiv,fxuf_add,fxuf_mpy,fxuf_divsqrt") -(exclusion_set "ixuf_mpydiv" "fxuf_add,fxuf_mpy,fxuf_divsqrt") -(exclusion_set "fxuf_add" "fxuf_mpy,fxuf_divsqrt") -(exclusion_set "fxuf_mpy" "fxuf_divsqrt") +(exclusion_set "ixuf_branch" "ixuf_mpydiv,fxuf_add,fxuf_mpy,fxuf_divsqrt") +(exclusion_set "ixuf_mpydiv" "fxuf_add,fxuf_mpy,fxuf_divsqrt") +(exclusion_set "fxuf_add" "fxuf_mpy,fxuf_divsqrt") +(exclusion_set "fxuf_mpy" "fxuf_divsqrt") -;; After branch any insn can not be issued. +;; After branch any insn cannot be issued. (absence_set "rm7_iss0,rm7_iss1" "ixuf_branch") ;; ;; Define reservations for unit name mnemonics or combinations. ;; -(define_reservation "rm7_iss" "rm7_iss0|rm7_iss1") +(define_reservation "rm7_iss" "rm7_iss0|rm7_iss1") (define_reservation "rm7_single_dispatch" "rm7_iss0+rm7_iss1") (define_reservation "rm7_iaddsub" "rm7_iss+(ixum_addsub_agen|ixuf_addsub)") -(define_reservation "rm7_imem" "rm7_iss+ixum_addsub_agen") -(define_reservation "rm7_impydiv" "rm7_iss+ixuf_mpydiv") -(define_reservation "rm7_impydiv_iter" "ixuf_mpydiv_iter") -(define_reservation "rm7_branch" "rm7_iss+ixuf_branch") +(define_reservation "rm7_imem" "rm7_iss+ixum_addsub_agen") +(define_reservation "rm7_impydiv" "rm7_iss+ixuf_mpydiv") +(define_reservation "rm7_impydiv_iter" "ixuf_mpydiv_iter") +(define_reservation "rm7_branch" "rm7_iss+ixuf_branch") (define_reservation "rm7_fpadd" "rm7_iss+fxuf_add") (define_reservation "rm7_fpmpy" "rm7_iss+fxuf_mpy") @@ -87,125 +87,129 @@ ;; (define_insn_reservation "rm7_int_other" 1 - (and (eq_attr "cpu" "r7000") - (eq_attr "type" "arith,darith,const,move,condmove,icmp,nop")) - "rm7_iaddsub") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "arith,shift,slt,clz,const,condmove,nop,trap")) + "rm7_iaddsub") -(define_insn_reservation "rm7_ld" 2 (and (eq_attr "cpu" "r7000") - (eq_attr "type" "load")) - "rm7_imem") +(define_insn_reservation "rm7_ld" 2 + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "load,fpload,fpidxload")) + "rm7_imem") -(define_insn_reservation "rm7_st" 1 (and (eq_attr "cpu" "r7000") - (eq_attr "type" "store")) - "rm7_imem") +(define_insn_reservation "rm7_st" 1 + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "store,fpstore,fpidxstore")) + "rm7_imem") -(define_insn_reservation "rm7_idiv_si" 36 (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "idiv") - (eq_attr "mode" "SI"))) - "rm7_impydiv+(rm7_impydiv_iter*36)") +(define_insn_reservation "rm7_idiv_si" 36 + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "idiv") + (eq_attr "mode" "SI"))) + "rm7_impydiv+(rm7_impydiv_iter*36)") -(define_insn_reservation "rm7_idiv_di" 68 (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "idiv") - (eq_attr "mode" "DI"))) - "rm7_impydiv+(rm7_impydiv_iter*68)") +(define_insn_reservation "rm7_idiv_di" 68 + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "idiv") + (eq_attr "mode" "DI"))) + "rm7_impydiv+(rm7_impydiv_iter*68)") (define_insn_reservation "rm7_impy_si_mult" 5 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "imul,imadd") - (and (eq_attr "mode" "SI") - (match_operand 0 "hilo_operand" "")))) - "rm7_impydiv+(rm7_impydiv_iter*3)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "imul,imadd") + (eq_attr "mode" "SI"))) + "rm7_impydiv+(rm7_impydiv_iter*3)") ;; There are an additional 2 stall cycles. (define_insn_reservation "rm7_impy_si_mul" 2 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "imul,imadd") - (and (eq_attr "mode" "SI") - (not (match_operand 0 "hilo_operand" ""))))) - "rm7_impydiv") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "imul3") + (eq_attr "mode" "SI"))) + "rm7_impydiv") -(define_insn_reservation "rm7_impy_di" 9 (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "imul") - (eq_attr "mode" "DI"))) - "rm7_impydiv+(rm7_impydiv_iter*8)") +(define_insn_reservation "rm7_impy_di" 9 + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "imul,imul3") + (eq_attr "mode" "DI"))) + "rm7_impydiv+(rm7_impydiv_iter*8)") ;; Move to/from HI/LO. (define_insn_reservation "rm7_mthilo" 3 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "hilo") - (match_operand 0 "hilo_operand" ""))) - "rm7_impydiv") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "mthilo")) + "rm7_impydiv") (define_insn_reservation "rm7_mfhilo" 1 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "hilo") - (not (match_operand 0 "hilo_operand" "")))) - "rm7_impydiv") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "mfhilo")) + "rm7_impydiv") ;; Move to/from fp coprocessor. -(define_insn_reservation "rm7_ixfer" 2 (and (eq_attr "cpu" "r7000") - (eq_attr "type" "xfer")) - "rm7_iaddsub") +(define_insn_reservation "rm7_ixfer" 2 + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "xfer")) + "rm7_iaddsub") -(define_insn_reservation "rm7_ibr" 3 (and (eq_attr "cpu" "r7000") - (eq_attr "type" "branch,jump,call")) - "rm7_branch") +(define_insn_reservation "rm7_ibr" 3 + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "branch,jump,call")) + "rm7_branch") ;; ;; Describe instruction reservations for the floating-point operations. ;; (define_insn_reservation "rm7_fp_quick" 4 - (and (eq_attr "cpu" "r7000") - (eq_attr "type" "fneg,fcmp,fabs")) - "rm7_fpadd") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "fneg,fcmp,fabs,fmove")) + "rm7_fpadd") (define_insn_reservation "rm7_fp_other" 4 - (and (eq_attr "cpu" "r7000") - (eq_attr "type" "fadd")) - "rm7_fpadd") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "fadd")) + "rm7_fpadd") (define_insn_reservation "rm7_fp_cvt" 4 - (and (eq_attr "cpu" "r7000") - (eq_attr "type" "fcvt")) - "rm7_fpadd") + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "fcvt")) + "rm7_fpadd") (define_insn_reservation "rm7_fp_divsqrt_df" 36 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "fdiv,fsqrt") - (eq_attr "mode" "DF"))) - "rm7_fpdivsqr+(rm7_fpdivsqr_iter*36)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") + (eq_attr "mode" "DF"))) + "rm7_fpdivsqr+(rm7_fpdivsqr_iter*36)") (define_insn_reservation "rm7_fp_divsqrt_sf" 21 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "fdiv,fsqrt") - (eq_attr "mode" "SF"))) - "rm7_fpdivsqr+(rm7_fpdivsqr_iter*21)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "fdiv,frdiv,fsqrt") + (eq_attr "mode" "SF"))) + "rm7_fpdivsqr+(rm7_fpdivsqr_iter*21)") (define_insn_reservation "rm7_fp_rsqrt_df" 68 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "frsqrt") - (eq_attr "mode" "DF"))) - "rm7_fpdivsqr+(rm7_fpdivsqr_iter*68)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "frsqrt") + (eq_attr "mode" "DF"))) + "rm7_fpdivsqr+(rm7_fpdivsqr_iter*68)") (define_insn_reservation "rm7_fp_rsqrt_sf" 38 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "frsqrt") - (eq_attr "mode" "SF"))) - "rm7_fpdivsqr+(rm7_fpdivsqr_iter*38)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "frsqrt") + (eq_attr "mode" "SF"))) + "rm7_fpdivsqr+(rm7_fpdivsqr_iter*38)") (define_insn_reservation "rm7_fp_mpy_sf" 4 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "fmul,fmadd") - (eq_attr "mode" "SF"))) - "rm7_fpmpy+rm7_fpmpy_iter") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "fmul,fmadd") + (eq_attr "mode" "SF"))) + "rm7_fpmpy+rm7_fpmpy_iter") (define_insn_reservation "rm7_fp_mpy_df" 5 - (and (eq_attr "cpu" "r7000") - (and (eq_attr "type" "fmul,fmadd") - (eq_attr "mode" "DF"))) - "rm7_fpmpy+(rm7_fpmpy_iter*2)") + (and (eq_attr "cpu" "r7000") + (and (eq_attr "type" "fmul,fmadd") + (eq_attr "mode" "DF"))) + "rm7_fpmpy+(rm7_fpmpy_iter*2)") ;; Force single-dispatch for unknown or multi. -(define_insn_reservation "rm7_unknown" 1 (and (eq_attr "cpu" "r7000") - (eq_attr "type" "unknown,multi")) - "rm7_single_dispatch") +(define_insn_reservation "rm7_unknown" 1 + (and (eq_attr "cpu" "r7000") + (eq_attr "type" "unknown,multi")) + "rm7_single_dispatch") ==== //depot/projects/mips2/src/contrib/gcc/config/mips/9000.md#2 (text+ko) ==== @@ -1,5 +1,5 @@ ;; DFA-based pipeline description for the RM9000. -;; Copyright (C) 2003 Free Software Foundation, Inc. +;; Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. ;; ;; This file is part of GCC. @@ -15,8 +15,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GCC; see the file COPYING. If not, write to the -;; Free Software Foundation, 59 Temple Place - Suite 330, Boston, -;; MA 02111-1307, USA. +;; Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, +;; MA 02110-1301, USA. (define_automaton "rm9k_main, rm9k_imul, rm9k_fdiv") @@ -42,17 +42,17 @@ (define_insn_reservation "rm9k_load" 3 (and (eq_attr "cpu" "r9000") - (eq_attr "type" "load")) + (eq_attr "type" "load,fpload,fpidxload")) "rm9k_m") (define_insn_reservation "rm9k_store" 1 (and (eq_attr "cpu" "r9000") - (eq_attr "type" "store")) + (eq_attr "type" "store,fpstore,fpidxstore")) "rm9k_m") (define_insn_reservation "rm9k_int" 1 (and (eq_attr "cpu" "r9000") - (eq_attr "type" "move,arith,darith,const,icmp,nop")) + (eq_attr "type" "arith,shift,slt,clz,const,nop,trap")) "rm9k_any1 | rm9k_any2") (define_insn_reservation "rm9k_int_cmove" 2 @@ -64,13 +64,13 @@ ;; This applies to both 'mul' and 'mult'. (define_insn_reservation "rm9k_mulsi" 3 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "imul,imadd") + (and (eq_attr "type" "imul,imul3,imadd") (eq_attr "mode" "!DI"))) "rm9k_f_int") (define_insn_reservation "rm9k_muldi" 7 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "imul,imadd") + (and (eq_attr "type" "imul,imul3,imadd") (eq_attr "mode" "DI"))) "rm9k_f_int + rm9k_imul * 7") @@ -88,14 +88,12 @@ (define_insn_reservation "rm9k_mfhilo" 1 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "hilo") - (not (match_operand 0 "hilo_operand" "")))) + (eq_attr "type" "mfhilo")) "rm9k_f_int") (define_insn_reservation "rm9k_mthilo" 5 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "hilo") - (match_operand 0 "hilo_operand" ""))) + (eq_attr "type" "mthilo")) "rm9k_f_int") (define_insn_reservation "rm9k_xfer" 2 @@ -105,7 +103,7 @@ (define_insn_reservation "rm9k_fquick" 2 (and (eq_attr "cpu" "r9000") - (eq_attr "type" "fabs,fneg,fcmp")) + (eq_attr "type" "fabs,fneg,fcmp,fmove")) "rm9k_f_float") (define_insn_reservation "rm9k_fcmove" 2 @@ -133,13 +131,13 @@ (define_insn_reservation "rm9k_fdivs" 22 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "fdiv,fsqrt,frsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt,frsqrt") (eq_attr "mode" "SF"))) "rm9k_f_float + rm9k_fdiv * 22") (define_insn_reservation "rm9k_fdivd" 37 (and (eq_attr "cpu" "r9000") - (and (eq_attr "type" "fdiv,fsqrt,frsqrt") + (and (eq_attr "type" "fdiv,frdiv,fsqrt,frsqrt") (eq_attr "mode" "DF"))) "rm9k_f_float + rm9k_fdiv * 37") ==== //depot/projects/mips2/src/contrib/gcc/config/mips/elf.h#2 (text+ko) ==== @@ -1,5 +1,4 @@ -/* Definitions of target machine for GNU compiler. MIPS R3000 version with - GOFAST floating point library. +/* Target macros for mips*-elf targets. Copyright (C) 1994, 1997, 1999, 2000, 2002, 2003, 2004 Free Software Foundation, Inc. @@ -17,55 +16,22 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ -/* Biggest alignment supported by the object file format of this - machine. Use this macro to limit the alignment which can be - specified using the `__attribute__ ((aligned (N)))' construct. If - not defined, the default value is `BIGGEST_ALIGNMENT'. */ - -#undef MAX_OFILE_ALIGNMENT -#define MAX_OFILE_ALIGNMENT (32768*8) - -/* Switch into a generic section. */ -#undef TARGET_ASM_NAMED_SECTION -#define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section - -/* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers - expect various different forms for this operand. The one given here - is just a default. You may need to override it in your machine- - specific tm.h file (depending upon the particulars of your assembler). */ - -#define TYPE_OPERAND_FMT "@%s" - -/* Define the strings used for the special svr4 .type and .size directives. - These strings generally do not vary from one system running svr4 to - another, but if a given system (e.g. m88k running svr) needs to use - different pseudo-op names for these, they may be overridden in the - file which includes this one. */ - -#undef TYPE_ASM_OP -#undef SIZE_ASM_OP -#define TYPE_ASM_OP "\t.type\t" -#define SIZE_ASM_OP "\t.size\t" - -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ - -#ifndef BSS_SECTION_ASM_OP -#define BSS_SECTION_ASM_OP "\t.section\t.bss" -#endif - -#ifndef ASM_OUTPUT_ALIGNED_BSS -#define ASM_OUTPUT_ALIGNED_BSS mips_output_aligned_bss -#endif +/* MIPS assemblers don't have the usual .set foo,bar construct; + .set is used for assembler options instead. */ +#undef SET_ASM_OP +#define ASM_OUTPUT_DEF(FILE, LABEL1, LABEL2) \ + do \ + { \ + fputc ('\t', FILE); \ + assemble_name (FILE, LABEL1); \ + fputs (" = ", FILE); \ + assemble_name (FILE, LABEL2); \ + fputc ('\n', FILE); \ + } \ + while (0) #undef ASM_DECLARE_OBJECT_NAME #define ASM_DECLARE_OBJECT_NAME mips_declare_object_name @@ -73,52 +39,7 @@ #undef ASM_FINISH_DECLARE_OBJECT #define ASM_FINISH_DECLARE_OBJECT mips_finish_declare_object -#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ - do { fputc ( '\t', FILE); \ - assemble_name (FILE, LABEL1); \ - fputs ( " = ", FILE); \ - assemble_name (FILE, LABEL2); \ - fputc ( '\n', FILE); \ - } while (0) - -/* Note about .weak vs. .weakext - The mips native assemblers support .weakext, but not .weak. - mips-elf gas supports .weak, but not .weakext. - mips-elf gas has been changed to support both .weak and .weakext, - but until that support is generally available, the 'if' below - should serve. */ - -#undef ASM_WEAKEN_LABEL -#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0) -#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \ - do { \ - if (TARGET_GAS) \ - fputs ("\t.weak\t", FILE); \ - else \ - fputs ("\t.weakext\t", FILE); \ - assemble_name (FILE, NAME); \ - if (VALUE) \ - { \ - fputc (' ', FILE); \ - assemble_name (FILE, VALUE); \ - } \ - fputc ('\n', FILE); \ - } while (0) - -#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1) - -/* On elf, we *do* have support for the .init and .fini sections, and we - can put stuff in there to be executed before and after `main'. We let - crtstuff.c and other files know this by defining the following symbols. - The definitions say how to change sections to the .init and .fini - sections. This is the same for all known elf assemblers. */ - -#undef INIT_SECTION_ASM_OP -#define INIT_SECTION_ASM_OP "\t.section\t.init" -#undef FINI_SECTION_ASM_OP -#define FINI_SECTION_ASM_OP "\t.section\t.fini" - -/* Don't set the target flags, this is done by the linker script */ +/* Leave the linker script to choose the appropriate libraries. */ #undef LIB_SPEC #define LIB_SPEC "" @@ -128,5 +49,6 @@ #undef ENDFILE_SPEC #define ENDFILE_SPEC "crtend%O%s crtn%O%s" -/* We support #pragma. */ -#define HANDLE_SYSV_PRAGMA 1 +#define NO_IMPLICIT_EXTERN_C 1 + +#define HANDLE_PRAGMA_PACK_PUSH_POP 1 ==== //depot/projects/mips2/src/contrib/gcc/config/mips/elforion.h#2 (text+ko) ==== @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ #define MIPS_CPU_STRING_DEFAULT "orion" ==== //depot/projects/mips2/src/contrib/gcc/config/mips/freebsd.h#6 (text+ko) ==== ==== //depot/projects/mips2/src/contrib/gcc/config/mips/iris5.h#2 (text+ko) ==== @@ -16,289 +16,30 @@ You should have received a copy of the GNU General Public License along with GCC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. */ -/* We are compiling for IRIX now. */ -#undef TARGET_IRIX -#define TARGET_IRIX 1 +#ifdef IRIX_USING_GNU_LD +#define IRIX_SUBTARGET_LINK_SPEC "-melf32bsmip" +#else +#define IRIX_SUBTARGET_LINK_SPEC "-_SYSTYPE_SVR4" +#endif -/* Allow some special handling for IRIX 5. */ -#undef TARGET_IRIX5 -#define TARGET_IRIX5 1 - -#define ABICALLS_ASM_OP "\t.option pic2" - -/* Dummy definition which allows EXTRA_SECTION_FUNCTIONS to be the same - for IRIX 5 and 6. */ -#define BSS_SECTION_ASM_OP "\t.data" - -/* ??? This is correct, but not very useful, because there is no file that - uses this macro. */ -/* ??? The best way to handle global constructors under ELF is to use .init - and .fini sections. Unfortunately, there is apparently no way to get - the IRIX 5.x (x <= 2) assembler to create these sections. So we instead - use collect. The linker can create these sections via -init and -fini - options, but using this would require modifying how crtstuff works, and - I will leave that for another time (or someone else). */ -#define OBJECT_FORMAT_ELF -#define HAS_INIT_SECTION -#define LD_INIT_SWITCH "-init" -#define LD_FINI_SWITCH "-fini" - -/* The linker needs a space after "-o". */ -#define SWITCHES_NEED_SPACES "o" - -/* Specify wchar_t types. */ -#undef WCHAR_TYPE -#undef WCHAR_TYPE_SIZE -#undef MAX_WCHAR_TYPE_SIZE - -#define WCHAR_TYPE "int" -#define WCHAR_TYPE_SIZE INT_TYPE_SIZE -#define MAX_WCHAR_TYPE_SIZE 64 - -/* Plain char is unsigned in the SGI compiler. */ -#undef DEFAULT_SIGNED_CHAR -#define DEFAULT_SIGNED_CHAR 0 - -#define WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ - || !strcmp (STR, "rpath")) - -/* We must pass -D_LONGLONG always, even when -ansi is used, because IRIX 5 - system header files require it. This is OK, because gcc never warns - when long long is used in system header files. Alternatively, we can - add support for the SGI builtin type __long_long. */ - -#define TARGET_OS_CPP_BUILTINS() \ - do { \ - builtin_define_std ("host_mips"); \ - builtin_define_std ("sgi"); \ - builtin_define_std ("unix"); \ - builtin_define_std ("SYSTYPE_SVR4"); \ - builtin_define ("_LONGLONG"); \ - builtin_define ("_MODERN_C"); \ - builtin_define ("_SVR4_SOURCE"); \ - builtin_define ("__DSO__"); \ - builtin_define ("_ABIO32=1"); \ - builtin_define ("_MIPS_SIM=_ABIO32"); \ - builtin_define ("_MIPS_SZPTR=32"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=svr4"); \ - builtin_assert ("machine=sgi"); \ - \ - if (!TARGET_FLOAT64) \ - builtin_define ("_MIPS_FPSET=16"); \ - else \ - builtin_define ("_MIPS_FPSET=32"); \ - \ - if (!TARGET_INT64) \ - builtin_define ("_MIPS_SZINT=32"); \ - else \ - builtin_define ("_MIPS_SZINT=64"); \ - \ - if (!TARGET_LONG64) \ - builtin_define ("_MIPS_SZLONG=32"); \ - else \ - builtin_define ("_MIPS_SZLONG=64"); \ - \ - if (!flag_iso) \ - { \ - builtin_define ("__EXTENSIONS__"); \ - builtin_define ("_SGI_SOURCE"); \ - } \ -} while (0); - -#undef SUBTARGET_CC1_SPEC -#define SUBTARGET_CC1_SPEC "%{static: -mno-abicalls}" - -/* Override mips.h default: the IRIX 5 assembler warns about -O3: - - as1: Warning: .s, line 1: Binasm file dictates -pic: 2 - uld: - No ucode object file linked -- please use -O2 or lower. - - So avoid passing it in the first place. */ -#undef SUBTARGET_ASM_OPTIMIZING_SPEC -#define SUBTARGET_ASM_OPTIMIZING_SPEC "\ -%{noasmopt:-O0} \ -%{!noasmopt:%{O|O1|O2|O3:-O2}}" - -#undef LINK_SPEC -#define LINK_SPEC "\ -%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} \ -%{bestGnum} %{shared} %{non_shared} \ -%{call_shared} %{no_archive} %{exact_version} \ -%{static: -non_shared} \ +#undef STARTFILE_SPEC +#define STARTFILE_SPEC "\ %{!static: \ - %{!shared:%{!non_shared:%{!call_shared: -call_shared -no_unresolved}}}} \ -%{rpath} \ --_SYSTYPE_SVR4" - -/* We now support shared libraries. */ -#define IRIX_STARTFILE_SPEC "\ -%{!static: \ %{!shared:%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}}} \ %{static: \ %{pg:gcrt1.o%s} \ %{!pg:%{p:/usr/lib/nonshared/mcrt1.o%s libprof1.a%s} \ - %{!p:/usr/lib/nonshared/crt1.o%s}}}" + %{!p:/usr/lib/nonshared/crt1.o%s}}} \ +irix-crti.o%s crtbegin.o%s" -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%(irix_startfile_spec)" - #undef LIB_SPEC #define LIB_SPEC "%{!shared:%{p:-lprof1} %{pg:-lprof1} -lc}" -#define IRIX_ENDFILE_SPEC "%{!shared:crtn.o%s}" - #undef ENDFILE_SPEC -#define ENDFILE_SPEC "%(irix_endfile_spec)" - -/* We do not want to run mips-tfile! */ -#undef ASM_FINAL_SPEC +#define ENDFILE_SPEC "crtend.o%s irix-crtn.o%s %{!shared:crtn.o%s}" -/* The system header files are C++ aware. */ -/* ??? Unfortunately, most but not all of the headers are C++ aware. - Specifically, curses.h is not, and as a consequence, defining this - used to prevent libg++ building. This is no longer the case so - define it again to prevent other problems, e.g. with getopt in - unistd.h. We still need some way to fix just those files that need - fixing. */ -#define NO_IMPLICIT_EXTERN_C 1 - -/* We don't support debugging info for now. */ -#undef DBX_DEBUGGING_INFO -#undef MIPS_DEBUGGING_INFO -#undef PREFERRED_DEBUGGING_TYPE - -/* Likewise, the assembler doesn't handle DWARF2 directives. */ -#define DWARF2_UNWIND_INFO 0 - #undef MACHINE_TYPE #define MACHINE_TYPE "SGI running IRIX 5.x" - -/* Always use 1 for .file number. I [meissner@osf.org] wonder why - IRIX needs this. */ - -#undef SET_FILE_NUMBER -#define SET_FILE_NUMBER() num_source_filenames = 1 - -/* Put out a label after a .loc. I [meissner@osf.org] wonder why - IRIX needs this. */ - -#undef LABEL_AFTER_LOC -#define LABEL_AFTER_LOC(STREAM) fprintf (STREAM, "LM%d:\n", ++sym_lineno) - - /* Dollar signs are OK in IRIX 5 but not in IRIX 3. */ -#undef DOLLARS_IN_IDENTIFIERS -#undef NO_DOLLAR_IN_LABEL >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Jul 22 17:47:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 95A3F16A419; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3F25416A417 for ; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3476D13C428 for ; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MHl4x5013586 for ; Sun, 22 Jul 2007 17:47:04 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MHl3Y3013582 for perforce@freebsd.org; Sun, 22 Jul 2007 17:47:03 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sun, 22 Jul 2007 17:47:03 GMT Message-Id: <200707221747.l6MHl3Y3013582@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 123917 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 17:47:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=123917 Change 123917 by rpaulo@rpaulo_epsilon on 2007/07/22 17:46:35 Stop creating a child node in the sysctl hw tree and start using the device tree provided by newbus. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#10 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#10 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#9 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#10 $ * */ @@ -175,21 +175,14 @@ if (error) return (error); - sysctl_ctx_init(&sc->sc_sysctl_ctx); - sc->sc_sysctl_tree = SYSCTL_ADD_NODE(&sc->sc_sysctl_ctx, - SYSCTL_STATIC_CHILDREN(_hw), - OID_AUTO, - device_get_name(dev), - CTLFLAG_RD, 0, ""); - - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sysctl_tree), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "enable", CTLTYPE_INT | CTLFLAG_RW, sc, 0, model->bm_enable, "I", "Turn the backlight on/off"); - SYSCTL_ADD_PROC(&sc->sc_sysctl_ctx, - SYSCTL_CHILDREN(sc->sc_sysctl_tree), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, "level", CTLTYPE_INT | CTLFLAG_RW, sc, 0, model->bm_level, "I", "Brightness level of the backlight"); @@ -200,10 +193,6 @@ static int backlight_detach(device_t dev) { - struct backlight_softc *sc = device_get_softc(dev); - - sysctl_ctx_free(&sc->sc_sysctl_ctx); - return (0); } From owner-p4-projects@FreeBSD.ORG Sun Jul 22 17:47:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4387A16A505; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AB0CB16A47D for ; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8900613C467 for ; Sun, 22 Jul 2007 17:47:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MHl4Un013594 for ; Sun, 22 Jul 2007 17:47:04 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MHl4K3013590 for perforce@freebsd.org; Sun, 22 Jul 2007 17:47:04 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 17:47:04 GMT Message-Id: <200707221747.l6MHl4K3013590@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123918 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 17:47:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=123918 Change 123918 by gonzo@gonzo_jeeves on 2007/07/22 17:46:35 o Add PCPU_ADD and PCPU_INC memebers. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/pcpu.h#5 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/pcpu.h#5 (text+ko) ==== @@ -44,7 +44,10 @@ * XXX The implementation of this operation should be made atomic * with respect to preemption. */ + +#define PCPU_ADD(member, value) (PCPUP->pc_ ## member += (value)) #define PCPU_GET(member) (PCPUP->pc_ ## member) +#define PCPU_INC(member) PCPU_ADD(member, 1) #define PCPU_PTR(member) (&PCPUP->pc_ ## member) #define PCPU_SET(member,value) (PCPUP->pc_ ## member = (value)) #define PCPU_LAZY_INC(member) (++PCPUP->pc_ ## member) From owner-p4-projects@FreeBSD.ORG Sun Jul 22 17:52:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3457316A41B; Sun, 22 Jul 2007 17:52:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C8C4516A417 for ; Sun, 22 Jul 2007 17:52:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9F40213C45E for ; Sun, 22 Jul 2007 17:52:11 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MHqBfn014018 for ; Sun, 22 Jul 2007 17:52:11 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MHqBpH014015 for perforce@freebsd.org; Sun, 22 Jul 2007 17:52:11 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 17:52:11 GMT Message-Id: <200707221752.l6MHqBpH014015@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123920 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 17:52:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=123920 Change 123920 by gonzo@gonzo_jeeves on 2007/07/22 17:51:43 o Add parameters for free pages lists managing. Mostly borrowed from -arm tree. Affected files ... .. //depot/projects/mips2/src/sys/mips/include/vmparam.h#9 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/include/vmparam.h#9 (text+ko) ==== @@ -101,6 +101,40 @@ #endif /* + * max number of non-contig chunks of physical RAM you can have + */ +#define VM_PHYSSEG_MAX 32 + +/* + * The physical address space is densely populated. + */ +#define VM_PHYSSEG_DENSE + +/* + * Create two free page pools: VM_FREEPOOL_DEFAULT is the default pool + * from which physical pages are allocated and VM_FREEPOOL_DIRECT is + * the pool from which physical pages for small UMA objects are + * allocated. + */ +#define VM_NFREEPOOL 2 +#define VM_FREEPOOL_DEFAULT 0 +#define VM_FREEPOOL_DIRECT 1 + +/* + * we support 1 free list: + * + * - DEFAULT for all systems + */ + +#define VM_NFREELIST 1 +#define VM_FREELIST_DEFAULT 0 + +/* + * The largest allocation size is 1MB. + */ +#define VM_NFREEORDER 9 + +/* * XXXMIPS: This values need to be changed!!! */ #define VM_MIN_ADDRESS ((vm_offset_t)0x0000000000010000) From owner-p4-projects@FreeBSD.ORG Sun Jul 22 17:58:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D990916A421; Sun, 22 Jul 2007 17:58:19 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AEBA416A41A for ; Sun, 22 Jul 2007 17:58:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A459E13C468 for ; Sun, 22 Jul 2007 17:58:19 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MHwJVu014237 for ; Sun, 22 Jul 2007 17:58:19 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MHwJXD014234 for perforce@freebsd.org; Sun, 22 Jul 2007 17:58:19 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 17:58:19 GMT Message-Id: <200707221758.l6MHwJXD014234@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123921 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 17:58:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=123921 Change 123921 by gonzo@gonzo_jeeves on 2007/07/22 17:57:56 o cpu_switch now accepts three arguments - the third one is a new lock. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#15 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#15 (text+ko) ==== @@ -102,7 +102,7 @@ /* * DO NOT ENABLE ANY INTERRUPTS HERE: - * after cpu_throw we're supposed to be with sched_lock locked + * after cpu_throw we're supposed to be with td_lock locked * and this means - no interrupts enabled. */ td2->td_pcb->pcb_regs[PCB_REG_SR] = 0; @@ -118,7 +118,7 @@ td2->td_frame->tf_regs[TF_A3] = 0; /* - * Setup to release sched_lock in fork_exit(). By unlocking + * Setup to release spin count in fork_exit(). By unlocking * sched_lock we'll enable interrupts and unmask timer * interrupt (HW IRQ5) */ @@ -131,7 +131,7 @@ } void -cpu_switch(struct thread *old, struct thread *new) +cpu_switch(struct thread *old, struct thread *new, struct mtx * new_lock) { if (!savectx(old->td_pcb)) { From owner-p4-projects@FreeBSD.ORG Sun Jul 22 18:23:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 033A816A417; Sun, 22 Jul 2007 18:23:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 82ACD16A418 for ; Sun, 22 Jul 2007 18:23:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 785F213C45D for ; Sun, 22 Jul 2007 18:23:04 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MIN4d0016936 for ; Sun, 22 Jul 2007 18:23:04 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MIN4Z5016933 for perforce@freebsd.org; Sun, 22 Jul 2007 18:23:04 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 18:23:04 GMT Message-Id: <200707221823.l6MIN4Z5016933@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123922 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 18:23:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=123922 Change 123922 by gonzo@gonzo_jeeves on 2007/07/22 18:22:04 o Use vm_offset_t as more appropriate type for memory address managment. Spotted by: Juli Mallett Affected files ... .. //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#16 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips/vm_machdep.c#16 (text+ko) ==== @@ -230,7 +230,7 @@ /* Stack pointer. Should be double-word aligned due to EABI */ td->td_pcb->pcb_regs[PCB_REG_SP] = - (register_t)((uint32_t)(td->td_frame - 1) & ~7); + (register_t)((vm_offset_t)(td->td_frame - 1) & ~7); } void From owner-p4-projects@FreeBSD.ORG Sun Jul 22 18:32:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9B29416A421; Sun, 22 Jul 2007 18:32:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4E20316A418 for ; Sun, 22 Jul 2007 18:32:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2AB6A13C467 for ; Sun, 22 Jul 2007 18:32:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MIWHFE017493 for ; Sun, 22 Jul 2007 18:32:17 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MIWHnT017488 for perforce@freebsd.org; Sun, 22 Jul 2007 18:32:17 GMT (envelope-from gonzo@FreeBSD.org) Date: Sun, 22 Jul 2007 18:32:17 GMT Message-Id: <200707221832.l6MIWHnT017488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 123923 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 18:32:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=123923 Change 123923 by gonzo@gonzo_wooster on 2007/07/22 18:31:55 o Disable MIPS DSP ASE Instruction set for buildworld as well. Affected files ... .. //depot/projects/mips2/src/share/mk/bsd.cpu.mk#9 edit Differences ... ==== //depot/projects/mips2/src/share/mk/bsd.cpu.mk#9 (text+ko) ==== @@ -110,7 +110,7 @@ _CPUCFLAGS = -mcpu=${CPUTYPE} . endif . elif ${MACHINE_ARCH} == "mips" -_CPUCFLAGS = -G0 -mabicalls +_CPUCFLAGS = -G0 -mabicalls -mno-dsp . if ${CPUTYPE} == "mips32" _CPUCFLAGS += -march=mips32 . elif ${CPUTYPE} == "mips64" From owner-p4-projects@FreeBSD.ORG Sun Jul 22 18:54:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E400816A41F; Sun, 22 Jul 2007 18:54:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B62F416A417 for ; Sun, 22 Jul 2007 18:54:45 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AA80D13C459 for ; Sun, 22 Jul 2007 18:54:45 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6MIsj86018666 for ; Sun, 22 Jul 2007 18:54:45 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6MIsjvM018663 for perforce@freebsd.org; Sun, 22 Jul 2007 18:54:45 GMT (envelope-from rpaulo@FreeBSD.org) Date: Sun, 22 Jul 2007 18:54:45 GMT Message-Id: <200707221854.l6MIsjvM018663@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 123925 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jul 2007 18:54:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=123925 Change 123925 by rpaulo@rpaulo_epsilon on 2007/07/22 18:53:45 Kill backlight_detach(). Pointed out by: Attilio Rao Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#11 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#11 (text+ko) ==== @@ -23,7 +23,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#10 $ + * $P4: //depot/projects/soc2007/rpaulo-macbook/dev/backlight/backlight.c#11 $ * */ @@ -57,7 +57,6 @@ static void backlight_identify(driver_t *driver, device_t parent); static int backlight_probe(device_t dev); static int backlight_attach(device_t dev); -static int backlight_detach(device_t dev); /* * Backlight modules. @@ -85,7 +84,6 @@ DEVMETHOD(device_identify, backlight_identify), DEVMETHOD(device_probe, backlight_probe), DEVMETHOD(device_attach, backlight_attach), - DEVMETHOD(device_detach, backlight_detach), { 0, 0 } }; @@ -190,11 +188,6 @@ return (0); } -static int -backlight_detach(device_t dev) -{ - return (0); -} /* * Apple's MacBook specific functions. From owner-p4-projects@FreeBSD.ORG Mon Jul 23 05:52:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8EBE716A41B; Mon, 23 Jul 2007 05:52:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3200C16A418 for ; Mon, 23 Jul 2007 05:52:01 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1F3CE13C459 for ; Mon, 23 Jul 2007 05:52:01 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6N5q0pB001455 for ; Mon, 23 Jul 2007 05:52:01 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6N5q0D8001450 for perforce@freebsd.org; Mon, 23 Jul 2007 05:52:00 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Mon, 23 Jul 2007 05:52:00 GMT Message-Id: <200707230552.l6N5q0D8001450@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 123935 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 05:52:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=123935 Change 123935 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/23 05:51:13 Test unlink too Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#2 (text+ko) ==== @@ -7,7 +7,7 @@ dir=`dirname $0` . ${dir}/../misc.sh -echo "1..5" +echo "1..9" n0=`namegen` n1=`namegen` @@ -37,20 +37,48 @@ ############################################################# t=`sysctl security.mac.mls.enabled=1` echo "enforcing mac/mls!" - +#case 1: mkdir mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n3} 0755 +#case 2: setfmac mactestexpect "" "" -m "mls/low(low-high)" -f ${mactest_conf} system setfmac "mls/6" ${n3} +#case 3: create mactestexpect "" 0 -m "mls/6(low-high)" -f ${mactest_conf} create ${n3}/${n2} 0644 +#case 4: setfmac mactestexpect "" "" -m "mls/6(low-high)" -f ${mactest_conf} system setfmac "mls/5" ${n3}/${n2} + +#case 5: link + echo -n "pid = -1 mac_test_check_vnode_link:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/high,mls/5" >> ${mactest_conf} mactestexpect "" EACCES -m "mls/6(low-high)" -f ${mactest_conf} link ${n3}/${n2} ${n3}/${n1} +############################################################# +#case 6: unlink + echo -n "pid = -1 mac_test_check_vnode_delete:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(low-high) biba/high,mls/6 biba/high,mls/5" >> ${mactest_conf} + mactestexpect "" EACCES -m "mls/6(low-high)" -f ${mactest_conf} unlink ${n3}/${n1} + + +#case 7: setfmac fail, old vnode not in range + echo -n "pid = -2 mac_test_check_vnode_relabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(6-6) biba/high,mls/5 biba/,mls/6" >> ${mactest_conf} + mactestexpect "setfmac:.mac_set_link.${n3}.${n1},.biba.,mls.6.:.Operation.not.permitted" "" -m "mls/6(6-6)" -f ${mactest_conf} system setfmac "biba/,mls/6" ${n3}/${n1} + +#case 8: setfmac success + echo -n "pid = -2 mac_test_check_vnode_relabel:" > ${mactest_conf} + echo "biba/high(low-high),mls/6(4-6) biba/high,mls/5 biba/,mls/6" >> ${mactest_conf} + mactestexpect "" "" -m "mls/6(4-6)" -f ${mactest_conf} system setfmac "biba/,mls/6" ${n3}/${n1} + +#case 9: unlink + rm ${mactest_conf} + touch ${mactest_conf} + mactestexpect "" 0 -m "mls/6(low-high)" -f ${mactest_conf} unlink ${n3}/${n1} + #cleanup: t=`sysctl security.mac.mls.enabled=0` echo "disabling mac/mls!" - cd .. -# rm -fr ${n3} + rm -fr ${n3} rm ${mactest_conf} fi From owner-p4-projects@FreeBSD.ORG Mon Jul 23 07:38:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C2EB16A41B; Mon, 23 Jul 2007 07:38:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA48916A4A5 for ; Mon, 23 Jul 2007 07:38:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7E3F713C45D for ; Mon, 23 Jul 2007 07:38:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6N7cFv9009884 for ; Mon, 23 Jul 2007 07:38:15 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6N7cF5l009881 for perforce@freebsd.org; Mon, 23 Jul 2007 07:38:15 GMT (envelope-from gabor@freebsd.org) Date: Mon, 23 Jul 2007 07:38:15 GMT Message-Id: <200707230738.l6N7cF5l009881@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 07:38:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=123941 Change 123941 by gabor@gabor_server on 2007/07/23 07:38:02 - Fix the condition of the post-chroot target Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#35 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#35 (text+ko) ==== @@ -4048,7 +4048,7 @@ # Please note that the order of the following targets is important, and # should not be modified. -.if !defined(CHROOTED) +.if defined(CHROOTED) _CHROOT_SEQ= post-chroot .else _CHROOT_SEQ= From owner-p4-projects@FreeBSD.ORG Mon Jul 23 07:59:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8ED9816A421; Mon, 23 Jul 2007 07:59:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2E8F316A41F for ; Mon, 23 Jul 2007 07:59:44 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1A08913C48D for ; Mon, 23 Jul 2007 07:59:44 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6N7xhOg010979 for ; Mon, 23 Jul 2007 07:59:43 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6N7xhBQ010976 for perforce@freebsd.org; Mon, 23 Jul 2007 07:59:43 GMT (envelope-from gabor@freebsd.org) Date: Mon, 23 Jul 2007 07:59:43 GMT Message-Id: <200707230759.l6N7xhBQ010976@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123942 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 07:59:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=123942 Change 123942 by gabor@gabor_server on 2007/07/23 07:58:57 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/LEGAL#7 integrate .. //depot/projects/soc2006/gabor_destdir/MOVED#12 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.apache.mk#3 integrate .. //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackagestats#4 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/LEGAL#7 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.542 2007/06/07 08:59:34 miwi Exp $ +# $FreeBSD: ports/LEGAL,v 1.543 2007/07/23 02:09:24 rafan Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -226,7 +226,7 @@ distribution without permission fp-freebsd-ws-* security/f-prot Free for personal use only freefem++-* math/freefem++ No resale, not for commercial usage -framework-* security/metasploit-devel May not be re-sold +framework-* security/metasploit May not be re-sold freefonts-* x11-fonts/freefonts Some of the fonts are shareware. Some are freeware. Permission must be obtained ==== //depot/projects/soc2006/gabor_destdir/MOVED#12 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1426 2007/07/16 17:04:58 nobutaka Exp $ +# $FreeBSD: ports/MOVED,v 1.1429 2007/07/23 02:11:21 rafan Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3101,3 +3101,6 @@ devel/libslang2-devel||2007-07-11|Non-devel port have newer version graphics/hpoj||2007-07-14|Expired: project discontinued, please switch to print/hplip net/jffnms|net-mgmt/jffnms|2007-07-14|move to net-mgmt/jffnms +java/linux-blackdown-jdk13||2007-07-22|Expired: unfixed security vulnerability +devel/rx||2007-07-22|Expired: has been decommissioned and is no longer developed +security/metasploit-devel|security/metasploit|2007-07-23|move to security/metasploit ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.apache.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.14 2007/06/28 15:50:53 pav Exp $ +# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.16 2007/07/22 12:43:00 clement Exp $ # # bsd.apache.mk - Apache related macros. # Author: Clement Laforet @@ -15,8 +15,15 @@ # : 1.3/13/2.0/20/2.1/2.2/1.3+/2.0+/2.1+/2.2+ # common*: common13, common20, common21 and common22 # +# Note: Setting USE_APACHE to "yes" is deprecated. It will set +# APACHE_PORT to www/apache13 and if WITH_APACHE2 (deprecated too) +# is defined, APACHE_PORT will be set to www/apache20 # -# + +#.if !defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) + +Apache_Pre_Include= bsd.apache.mk + .if defined(APACHE_COMPAT) USE_APACHE=yes .endif @@ -303,13 +310,13 @@ APACHEMODDIR= libexec/apache2 APACHEINCLUDEDIR=include/apache2 APACHEETCDIR= etc/apache2 -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .elif ${APACHE_VERSION} >= 21 AP_BUILDEXT= la APACHEMODDIR= libexec/apache${APACHE_VERSION} APACHEINCLUDEDIR=include/apache${APACHE_VERSION} APACHEETCDIR= etc/apache${APACHE_VERSION} -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .else AP_BUILDEXT= so APACHEMODDIR= libexec/apache @@ -346,6 +353,10 @@ .endif +#.endif #!defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) +#.if defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) +Apache_Post_Include= bsd.apache.mk + .if defined(AP_PORT_IS_SERVER) .if !target(print-closest-mirrors) print-closest-mirrors: @@ -412,7 +423,6 @@ do-install: @${APXS} -i -A -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.${AP_BUILDEXT} .endif - .endif - .endif +#.endif # defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) ==== //depot/projects/soc2006/gabor_destdir/Tools/portbuild/scripts/dopackagestats#4 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: ports/Tools/portbuild/scripts/dopackagestats,v 1.17 2007/03/23 05:49:49 linimon Exp $ +# $FreeBSD: ports/Tools/portbuild/scripts/dopackagestats,v 1.18 2007/07/22 04:36:49 linimon Exp $ # # create HTML showing numbers of packages vs errors. Run this in a directory # accessible to the web server. @@ -228,7 +228,8 @@ # display all the mainstream builds first for arch in ${SUPPORTED_ARCHS}; do - builds=`ls ${ROOT_DIRECTORY}/${arch} | grep '^[1-9]$' | sort` + # drop 4 as obsolete + builds=`ls ${ROOT_DIRECTORY}/${arch} | grep '^[5-9]$' | sort` if [ ! -z "$builds" ]; then write_table_begin From owner-p4-projects@FreeBSD.ORG Mon Jul 23 08:08:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8E9EB16A41F; Mon, 23 Jul 2007 08:08:57 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6502A16A417 for ; Mon, 23 Jul 2007 08:08:57 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5026C13C461 for ; Mon, 23 Jul 2007 08:08:57 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6N88vSN012734 for ; Mon, 23 Jul 2007 08:08:57 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6N88vht012731 for perforce@freebsd.org; Mon, 23 Jul 2007 08:08:57 GMT (envelope-from gabor@freebsd.org) Date: Mon, 23 Jul 2007 08:08:57 GMT Message-Id: <200707230808.l6N88vht012731@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123944 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 08:08:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=123944 Change 123944 by gabor@gabor_server on 2007/07/23 08:08:17 - Preparing for a patch submission, add WITH_EXPERIMENTAL_DESTDIR. In this way, we can do the revert of the old DESTDIR and give a way to users to test the existing code, but it will warn them about the incomplete status. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#21 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#21 (text+ko) ==== @@ -67,6 +67,7 @@ PORTSDIR_TMP_REL= ${PORTSDIR_TMP:S,^${DESTDIR},,} BUILDDIR= ${.CURDIR:S,^${PORTSDIR},,:S,^,${PORTSDIR_TMP_REL},} +.if defined(WITH_EXPERIMENTAL_DESTDIR) do-chroot: ${ECHO_CMD} "===> Nullmounting ports tree into ${DESTDIR}..."; \ ${MOUNT_NULLFS} ${PORTSDIR} ${DESTDIR}${PORTSDIR_TMP_REL}; \ @@ -84,6 +85,13 @@ ${CHROOT} ${DESTDIR} ${SH} -c "(cd ${BUILDDIR}; ${SETENV} -i ${DESTDIR_ENV} ${MAKE} ${.TARGETS})"; \ ${UMOUNT} ${DESTDIR}${PORTSDIR_TMP_REL}; \ ${RMDIR} ${DESTDIR}${PORTSDIR_TMP_REL} +.else +do-chroot: + @${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ + ${ECHO_CMD} "===> if you want to use it."; \ + ${FALSE} +.endif + .endif .endif From owner-p4-projects@FreeBSD.ORG Mon Jul 23 10:37:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD5CB16A41A; Mon, 23 Jul 2007 10:37:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AEF216A418 for ; Mon, 23 Jul 2007 10:37:30 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: from mail.garage.freebsd.pl (arm132.internetdsl.tpnet.pl [83.17.198.132]) by mx1.freebsd.org (Postfix) with ESMTP id 8CF1513C45A for ; Mon, 23 Jul 2007 10:37:28 +0000 (UTC) (envelope-from pjd@garage.freebsd.pl) Received: by mail.garage.freebsd.pl (Postfix, from userid 65534) id 3D3E44881A; Mon, 23 Jul 2007 12:37:25 +0200 (CEST) Received: from localhost (154.81.datacomsa.pl [195.34.81.154]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.garage.freebsd.pl (Postfix) with ESMTP id 9509E4880F; Mon, 23 Jul 2007 12:37:19 +0200 (CEST) Date: Mon, 23 Jul 2007 12:36:51 +0200 From: Pawel Jakub Dawidek To: Alexander Leidinger Message-ID: <20070723103651.GD5456@garage.freebsd.pl> References: <200707172109.l6HL9PMJ078780@repoman.freebsd.org> <46A03390.3030602@freebsd.org> <20070720123524.GA71360@twoflower.idi.ntnu.no> <20070720150716.77d2636a@deskjail> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="NtwzykIc2mflq5ck" Content-Disposition: inline In-Reply-To: <20070720150716.77d2636a@deskjail> User-Agent: Mutt/1.4.2.3i X-PGP-Key-URL: http://people.freebsd.org/~pjd/pjd.asc X-OS: FreeBSD 7.0-CURRENT i386 X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on mail.garage.freebsd.pl X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=BAYES_00 autolearn=ham version=3.0.4 Cc: Ulf Lilleengen , perforce@freebsd.org, Eric Anderson Subject: Re: PERFORCE change 123662 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 10:37:31 -0000 --NtwzykIc2mflq5ck Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 20, 2007 at 03:07:16PM +0200, Alexander Leidinger wrote: > Quoting Ulf Lilleengen (Fri, 20 Jul 2007 14:35:24 +020= 0): >=20 > [growing RAID-5] > > Well, what I do is to attach/create the new subdisk as usual, but since= it's a > > RAID-5 array that I know is operational, I give the subdisk a flag, and= sets the > > plex in a resize state. Then, In the raid-5 code, I modify gv_raid5_off= set > > (which basically computes offsets within a subdisk based on the number = of > > subdisks and stripesize). However, what I do, is that instead of taking= all > > subdisks in the calculation, I only take those who does not have the GR= OW flag > > (when reading), and I take all subdisks into calculation when it's a wr= ite. > >=20 > > This means, that if a create a gv_grow_plex function that reads (stripe= size x > > sdcount) bytes (from the subdisks that do not have the GROW flag), and = writes > > that data to the plex (including all subdisks). This way, i sort of ove= rwrite > > the old data, but the data is spread out over the new subdisks. I'm sor= ry if > > this might seem a bit complex, but just ask more questions if you didn't > > understand. >=20 > Do you use the additional drive(s) only to write checksums to them, or > do you write real data to it? If the later, how do you make sure you > read the right data in case you read data again, which was just written > there a moment before (how do you know to read from all subdisks and > not only from a subset in this case)? You only need to move offset while you synchronize new disk. When you start you have: Disk0 Disk1 Disk2 NewDisk D0 D1 P0 U D2 P1 D3 U P2 D4 D5 U D6 D7 P3 U D8 P4 D9 U P5 D10 D11 U After some time you have: Disk0 Disk1 Disk2 NewDisk D0 D1 D2 NP0 D3 D4 NP1 D5 U U U U --> D6 D7 P3 U D8 P4 D9 U P5 D10 D11 U And at the end you have: Disk0 Disk1 Disk2 NewDisk D0 D1 D2 NP0 D3 D4 NP1 D5 D6 NP2 D7 D8 NP3 D9 D10 D11 U U U U U U U U Where: D - data block P - parity block NP - new parity block U - unused --> - if offset in I/O request is below that point, you use four disks, if it is above that point you use only three disks BTW. Such functionality is really cool. --=20 Pawel Jakub Dawidek http://www.wheel.pl pjd@FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! --NtwzykIc2mflq5ck Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFGpITDForvXbEpPzQRAlsiAJ9f5lTZ188mFypz1uO4+ltEb6QMjgCeO45h 5hgG+gHHAH8G3dWg2LNr9Bw= =cOgP -----END PGP SIGNATURE----- --NtwzykIc2mflq5ck-- From owner-p4-projects@FreeBSD.ORG Mon Jul 23 10:44:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 828A316A468; Mon, 23 Jul 2007 10:44:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4F88816A419; Mon, 23 Jul 2007 10:44:26 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from signal.itea.ntnu.no (signal.itea.ntnu.no [129.241.190.231]) by mx1.freebsd.org (Postfix) with ESMTP id C8A1713C469; Mon, 23 Jul 2007 10:44:25 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by signal.itea.ntnu.no (Postfix) with ESMTP id 697D3401AF; Mon, 23 Jul 2007 12:44:24 +0200 (CEST) Received: from gaupe.stud.ntnu.no (gaupe.stud.ntnu.no [129.241.56.184]) by signal.itea.ntnu.no (Postfix) with ESMTP; Mon, 23 Jul 2007 12:44:24 +0200 (CEST) Received: by gaupe.stud.ntnu.no (Postfix, from userid 2312) id 01BC0D0034; Mon, 23 Jul 2007 12:44:32 +0200 (CEST) Date: Mon, 23 Jul 2007 12:44:32 +0200 From: Ulf Lilleengen To: Pawel Jakub Dawidek Message-ID: <20070723104432.GA557@stud.ntnu.no> References: <200707172109.l6HL9PMJ078780@repoman.freebsd.org> <46A03390.3030602@freebsd.org> <20070720123524.GA71360@twoflower.idi.ntnu.no> <20070720150716.77d2636a@deskjail> <20070723103651.GD5456@garage.freebsd.pl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070723103651.GD5456@garage.freebsd.pl> User-Agent: Mutt/1.5.9i X-Content-Scanned: with sophos and spamassassin at mailgw.ntnu.no. Cc: Alexander Leidinger , perforce@freebsd.org, Eric Anderson Subject: Re: PERFORCE change 123662 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 10:44:26 -0000 On Mon, Jul 23, 2007 at 12:36:51PM +0200, Pawel Jakub Dawidek wrote: > On Fri, Jul 20, 2007 at 03:07:16PM +0200, Alexander Leidinger wrote: > > Quoting Ulf Lilleengen (Fri, 20 Jul 2007 14:35:24 +0200): > > > > [growing RAID-5] > > > Well, what I do is to attach/create the new subdisk as usual, but since it's a > > > RAID-5 array that I know is operational, I give the subdisk a flag, and sets the > > > plex in a resize state. Then, In the raid-5 code, I modify gv_raid5_offset > > > (which basically computes offsets within a subdisk based on the number of > > > subdisks and stripesize). However, what I do, is that instead of taking all > > > subdisks in the calculation, I only take those who does not have the GROW flag > > > (when reading), and I take all subdisks into calculation when it's a write. > > > > > > This means, that if a create a gv_grow_plex function that reads (stripesize x > > > sdcount) bytes (from the subdisks that do not have the GROW flag), and writes > > > that data to the plex (including all subdisks). This way, i sort of overwrite > > > the old data, but the data is spread out over the new subdisks. I'm sorry if > > > this might seem a bit complex, but just ask more questions if you didn't > > > understand. > > > > Do you use the additional drive(s) only to write checksums to them, or > > do you write real data to it? If the later, how do you make sure you > > read the right data in case you read data again, which was just written > > there a moment before (how do you know to read from all subdisks and > > not only from a subset in this case)? > > You only need to move offset while you synchronize new disk. > > When you start you have: > > Disk0 Disk1 Disk2 NewDisk > > D0 D1 P0 U > D2 P1 D3 U > P2 D4 D5 U > D6 D7 P3 U > D8 P4 D9 U > P5 D10 D11 U > > After some time you have: > > Disk0 Disk1 Disk2 NewDisk > > D0 D1 D2 NP0 > D3 D4 NP1 D5 > U U U U > --> D6 D7 P3 U > D8 P4 D9 U > P5 D10 D11 U > > And at the end you have: > > Disk0 Disk1 Disk2 NewDisk > > D0 D1 D2 NP0 > D3 D4 NP1 D5 > D6 NP2 D7 D8 > NP3 D9 D10 D11 > U U U U > U U U U > > Where: > D - data block > P - parity block > NP - new parity block > U - unused > --> - if offset in I/O request is below that point, you use four disks, > if it is above that point you use only three disks EXACTLY! You're 100 times better than me to explain how it works :) Thanks. -- Ulf Lilleengen From owner-p4-projects@FreeBSD.ORG Mon Jul 23 11:22:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 989B316A469; Mon, 23 Jul 2007 11:22:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6746416A417 for ; Mon, 23 Jul 2007 11:22:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4F05C13C480 for ; Mon, 23 Jul 2007 11:22:04 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NBM4BB045455 for ; Mon, 23 Jul 2007 11:22:04 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NBM4Oe045452 for perforce@freebsd.org; Mon, 23 Jul 2007 11:22:04 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 23 Jul 2007 11:22:04 GMT Message-Id: <200707231122.l6NBM4Oe045452@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123950 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 11:22:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=123950 Change 123950 by lulf@lulf_carrot on 2007/07/23 11:21:38 - Fix removal of drive panic. If a drive is removed when it has attached subdisks, it will just go into referenced state. When it has no subdisks, it is removed. The -r flag can be given to remove everything recursively. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#29 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#22 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#9 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.c#29 (text+ko) ==== @@ -588,7 +588,8 @@ case GV_EVENT_RM_DRIVE: printf("VINUM: event 'remove drive'\n"); d = ev->arg1; - gv_rm_drive(sc, d); + flags = ev->arg3; + gv_rm_drive(sc, d, flags); /*gv_setup_objects(sc);*/ break; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#22 (text+ko) ==== @@ -65,7 +65,7 @@ void gv_remove(struct g_geom *, struct gctl_req *); int gv_resetconfig(struct gv_softc *); void gv_rm_sd(struct gv_softc *sc, struct gv_sd *s); -void gv_rm_drive(struct gv_softc *, struct gv_drive *); +void gv_rm_drive(struct gv_softc *, struct gv_drive *, int); void gv_rm_plex(struct gv_softc *, struct gv_plex *); void gv_rm_vol(struct gv_softc *, struct gv_volume *); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#9 (text+ko) ==== @@ -133,14 +133,14 @@ } /* A drive with subdisks needs a recursive removal. */ - if (!LIST_EMPTY(&d->subdisks) && +/* if (!LIST_EMPTY(&d->subdisks) && !(*flags & GV_FLAG_R)) { gctl_error(req, "drive '%s' still has subdisks" " - need recursive removal", d->name); return; - } + }*/ - gv_post_event(sc, GV_EVENT_RM_DRIVE, d, NULL, 0, 0); + gv_post_event(sc, GV_EVENT_RM_DRIVE, d, NULL, *flags, 0); break; default: @@ -169,7 +169,7 @@ } /* Then if not, we remove everything. */ LIST_FOREACH_SAFE(d, &sc->drives, drive, d2) - gv_rm_drive(sc, d); + gv_rm_drive(sc, d, 0); LIST_FOREACH_SAFE(s, &sc->subdisks, sd, s2) gv_rm_sd(sc, s); LIST_FOREACH_SAFE(p, &sc->plexes, plex, p2) @@ -290,13 +290,14 @@ /* Remove a drive. */ void -gv_rm_drive(struct gv_softc *sc, struct gv_drive *d) +gv_rm_drive(struct gv_softc *sc, struct gv_drive *d, int flags) { struct g_consumer *cp; struct gv_freelist *fl, *fl2; struct gv_plex *p; struct gv_sd *s, *s2; struct gv_volume *v; + struct gv_drive *d2; int err; KASSERT(d != NULL, ("gv_rm_drive: NULL d")); @@ -329,14 +330,16 @@ } /* Remove all associated subdisks, plexes, volumes. */ - /* XXX not quite correct */ - if (!LIST_EMPTY(&d->subdisks)) { - LIST_FOREACH_SAFE(s, &d->subdisks, from_drive, s2) { - p = s->plex_sc; - if (p != NULL) { - v = p->vol_sc; - if (v != NULL) - gv_rm_vol(sc, v); + /* XXX not quite correct. Perhaps now...? */ + if (flags & GV_FLAG_R) { + if (!LIST_EMPTY(&d->subdisks)) { + LIST_FOREACH_SAFE(s, &d->subdisks, from_drive, s2) { + p = s->plex_sc; + if (p != NULL) { + v = p->vol_sc; + if (v != NULL) + gv_rm_vol(sc, v); + } } } } @@ -346,8 +349,32 @@ LIST_REMOVE(fl, freelist); g_free(fl); } + LIST_REMOVE(d, drive); g_free(d->hdr); + + /* Put ourself into referenced state if we have subdisks. */ + if (d->sdcount > 0) { + d->consumer = NULL; + d->hdr = NULL; + d->flags |= GV_DRIVE_REFERENCED; + snprintf(d->device, GV_MAXDRIVENAME, "???"); + d->size = 0; + d->avail = 0; + d->freelist_entries = 0; + LIST_FOREACH(s, &d->subdisks, from_drive) { + s->flags |= GV_SD_TASTED; + gv_set_sd_state(s, GV_SD_DOWN, GV_SETSTATE_FORCE); + } + /* Shuffle around so we keep gv_is_newer happy. */ + LIST_REMOVE(d, drive); + d2 = LIST_FIRST(&sc->drives); + if (d2 == NULL) + LIST_INSERT_HEAD(&sc->drives, d, drive); + else + LIST_INSERT_AFTER(d2, d, drive); + return; + } g_free(d); gv_save_config(sc); From owner-p4-projects@FreeBSD.ORG Mon Jul 23 12:49:55 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8F90E16A537; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2BC7816A534 for ; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1A06E13C4B4 for ; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NCnsb0059884 for ; Mon, 23 Jul 2007 12:49:54 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NCnsce059881 for perforce@freebsd.org; Mon, 23 Jul 2007 12:49:54 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 23 Jul 2007 12:49:54 GMT Message-Id: <200707231249.l6NCnsce059881@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123953 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 12:49:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=123953 Change 123953 by lulf@lulf_carrot on 2007/07/23 12:49:01 - Improve RAID-5 growing a bit, by using p->synced to see how far we're in the growing. This means we can run normal requests while growing! (except those that span across the old and new plex, which must be delayed). Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#15 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#18 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#11 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#15 (text+ko) ==== @@ -282,6 +282,7 @@ origsize = (sdcount - 1) * s->size; origlength = (sdcount - 1) * p->stripesize; printf("Starting growing at 0 reading %jd bytes\n", origlength); + p->synced = 0; gv_grow_request(p, 0, MIN(origlength, origsize), BIO_READ, NULL); return (0); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#18 (text+ko) ==== @@ -554,6 +554,7 @@ /* If it was a read, write it. */ if (bp->bio_cmd == BIO_READ) { printf("Finished read, do a write\n"); + p->synced += bp->bio_length; err = gv_grow_request(p, bp->bio_offset, bp->bio_length, BIO_WRITE, bp->bio_data); /* If it was a write, read next. */ @@ -586,6 +587,9 @@ g_topology_lock(); gv_access(v->provider, -1, -1, 0); g_topology_unlock(); + p->synced = 0; + /* Issue delayed requests. */ + gv_plex_flush(p); } else { offset = bp->bio_offset + bp->bio_length; printf("Issuing next bio read at 0x%jx\n", offset); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_raid5.c#11 (text+ko) ==== @@ -341,15 +341,24 @@ type = REQ_TYPE_NORMAL; original = parity = broken = NULL; - /* Reads must take into account the growing plexes. */ - if (bp->bio_cmd == BIO_READ) - gv_raid5_offset(p, boff, bcount, &real_off, &real_len, &sdno, - &psdno, 1); - else - gv_raid5_offset(p, boff, bcount, &real_off, &real_len, &sdno, - &psdno, 0); + /* XXX: The resize won't crash with rebuild or sync, but we should still + * be aware of it. Also this should perhaps be done on rebuild/check as + * well? + */ + /* If we're over, we must use the old. */ + if (boff >= p->synced) { + gv_raid5_offset(p, boff, bcount, &real_off, &real_len, + &sdno, &psdno, 1); + /* Or if over the resized offset, we use all drives. */ + } else if (boff + bcount <= p->synced) { + gv_raid5_offset(p, boff, bcount, &real_off, &real_len, + &sdno, &psdno, 0); + /* Else, we're in the middle, and must wait a bit. */ + } else { + bioq_disksort(p->rqueue, bp); + return (0); + } - printf("Got sdno %d and psdno %d\n", sdno, psdno); /* Find the right subdisks. */ i = 0; LIST_FOREACH(s, &p->subdisks, in_plex) { @@ -548,9 +557,8 @@ int sd, psd, sdcount; off_t len_left, stripeend, stripeoff, stripestart; - printf("In read we take into account new subdisks.\n"); sdcount = p->sdcount; - if (growing) { + if (growing) { LIST_FOREACH(s, &p->subdisks, in_plex) { if (s->flags & GV_SD_GROW) sdcount--; From owner-p4-projects@FreeBSD.ORG Mon Jul 23 12:49:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A1D816A524; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 809F716A535 for ; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6ECF913C4B5 for ; Mon, 23 Jul 2007 12:49:55 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NCntEt059891 for ; Mon, 23 Jul 2007 12:49:55 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NCntL5059887 for perforce@freebsd.org; Mon, 23 Jul 2007 12:49:55 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 23 Jul 2007 12:49:55 GMT Message-Id: <200707231249.l6NCntL5059887@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123954 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 12:49:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=123954 Change 123954 by lulf@lulf_carrot on 2007/07/23 12:49:40 - Change resetconfig to remove subdisks before drives, since we now don't completely remove drives. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#10 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rm.c#10 (text+ko) ==== @@ -168,10 +168,10 @@ } } /* Then if not, we remove everything. */ + LIST_FOREACH_SAFE(s, &sc->subdisks, sd, s2) + gv_rm_sd(sc, s); LIST_FOREACH_SAFE(d, &sc->drives, drive, d2) gv_rm_drive(sc, d, 0); - LIST_FOREACH_SAFE(s, &sc->subdisks, sd, s2) - gv_rm_sd(sc, s); LIST_FOREACH_SAFE(p, &sc->plexes, plex, p2) gv_rm_plex(sc, p); LIST_FOREACH_SAFE(v, &sc->volumes, volume, v2) From owner-p4-projects@FreeBSD.ORG Mon Jul 23 13:31:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 847AD16A41A; Mon, 23 Jul 2007 13:31:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4538F16A417 for ; Mon, 23 Jul 2007 13:31:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 363E313C4B4 for ; Mon, 23 Jul 2007 13:31:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NDVuh4064020 for ; Mon, 23 Jul 2007 13:31:56 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NDVtTY064013 for perforce@freebsd.org; Mon, 23 Jul 2007 13:31:55 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 13:31:55 GMT Message-Id: <200707231331.l6NDVtTY064013@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123958 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 13:31:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=123958 Change 123958 by rdivacky@rdivacky_witten on 2007/07/23 13:31:46 Wrap a line. Noticed by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#6 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#6 (text+ko) ==== @@ -2003,7 +2003,8 @@ FILEDESC_SUNLOCK(fdp); return (EBADF); } - if (flags == FEXEC && (fp->f_flag & FREAD) == 0 && (fp->f_flag & FEXEC) == 0) { + if (flags == FEXEC && (fp->f_flag & FREAD) == 0 && + (fp->f_flag & FEXEC) == 0) { FILEDESC_SUNLOCK(fdp); return (EBADF); } From owner-p4-projects@FreeBSD.ORG Mon Jul 23 13:44:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BEC8C16A421; Mon, 23 Jul 2007 13:44:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 55C4716A420 for ; Mon, 23 Jul 2007 13:44:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 473A813C481 for ; Mon, 23 Jul 2007 13:44:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NDiCOS064735 for ; Mon, 23 Jul 2007 13:44:12 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NDiCJa064732 for perforce@freebsd.org; Mon, 23 Jul 2007 13:44:12 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 13:44:12 GMT Message-Id: <200707231344.l6NDiCJa064732@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123960 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 13:44:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=123960 Change 123960 by rdivacky@rdivacky_witten on 2007/07/23 13:44:10 Deal with recycled vnodes by switching from VOP_LOCK to vn_lock and supplying LK_RETRY flag too. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#14 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#14 (text+ko) ==== @@ -395,7 +395,7 @@ if (error) goto exec_fail; vfslocked = VFS_LOCK_GIANT(binvp->v_mount); - VOP_LOCK(binvp, LK_EXCLUSIVE, td); + vn_lock(binvp, LK_EXCLUSIVE | LK_RETRY, td); imgp->vp = binvp; } From owner-p4-projects@FreeBSD.ORG Mon Jul 23 14:07:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80FDB16A420; Mon, 23 Jul 2007 14:07:42 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3EED516A419 for ; Mon, 23 Jul 2007 14:07:42 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3178B13C4A3 for ; Mon, 23 Jul 2007 14:07:42 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NE7gIn070248 for ; Mon, 23 Jul 2007 14:07:42 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NE7frG070245 for perforce@freebsd.org; Mon, 23 Jul 2007 14:07:41 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 14:07:41 GMT Message-Id: <200707231407.l6NE7frG070245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123961 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 14:07:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=123961 Change 123961 by rdivacky@rdivacky_witten on 2007/07/23 14:06:59 Slight optimization of fexecve() process title filling in. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#15 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_exec.c#15 (text+ko) ==== @@ -569,8 +569,9 @@ if (freepath) free(freepath, M_TEMP); } else { - len = strlen("fexecved process"); - bcopy("fexecved process", p->p_comm, len); + static const char proc_title[] = "fexecved process"; + len = sizeof(proc_title); + bcopy(proc_title, p->p_comm, len); } error = 0; } From owner-p4-projects@FreeBSD.ORG Mon Jul 23 14:31:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE96D16A41B; Mon, 23 Jul 2007 14:31:11 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AAF4916A41A for ; Mon, 23 Jul 2007 14:31:11 +0000 (UTC) (envelope-from avatar@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9EDD313C469 for ; Mon, 23 Jul 2007 14:31:11 +0000 (UTC) (envelope-from avatar@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NEVBFr073257 for ; Mon, 23 Jul 2007 14:31:11 GMT (envelope-from avatar@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NEVBa6073254 for perforce@freebsd.org; Mon, 23 Jul 2007 14:31:11 GMT (envelope-from avatar@freebsd.org) Date: Mon, 23 Jul 2007 14:31:11 GMT Message-Id: <200707231431.l6NEVBa6073254@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to avatar@freebsd.org using -f From: Tai-hwa Liang To: Perforce Change Reviews Cc: Subject: PERFORCE change 123963 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 14:31:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=123963 Change 123963 by avatar@avatar_t40 on 2007/07/23 14:30:22 Fixing a possible NULL pointer dereference by making the actual assignment after the NULL check. Found by: Coverity Prevent(tm) CID: 2303 Reviewed by: sam MFP4 after: 1 week Affected files ... .. //depot/projects/wifi/sys/dev/wi/if_wi.c#40 edit Differences ... ==== //depot/projects/wifi/sys/dev/wi/if_wi.c#40 (text+ko) ==== @@ -267,12 +267,12 @@ int error; ifp = sc->sc_ifp = if_alloc(IFT_ETHER); - ifp->if_softc = sc; if (ifp == NULL) { device_printf(dev, "can not if_alloc\n"); wi_free(dev); return (ENOSPC); } + ifp->if_softc = sc; /* * NB: no locking is needed here; don't put it here From owner-p4-projects@FreeBSD.ORG Mon Jul 23 14:49:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5426C16A46D; Mon, 23 Jul 2007 14:49:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF5DB16A421 for ; Mon, 23 Jul 2007 14:49:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B272913C458 for ; Mon, 23 Jul 2007 14:49:38 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NEncnl074185 for ; Mon, 23 Jul 2007 14:49:38 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NEnc6G074182 for perforce@freebsd.org; Mon, 23 Jul 2007 14:49:38 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 14:49:38 GMT Message-Id: <200707231449.l6NEnc6G074182@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123965 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 14:49:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=123965 Change 123965 by rdivacky@rdivacky_witten on 2007/07/23 14:48:37 args->uap and introduce local variables that shadow the uap context where appropriate. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#47 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#47 (text+ko) ==== @@ -963,10 +963,10 @@ }; #endif int -openat(struct thread *td, struct openat_args *args) +openat(struct thread *td, struct openat_args *uap) { - return (kern_openat(td, args->fd, args->path, UIO_USERSPACE, - args->flag, args->mode)); + return (kern_openat(td, uap->fd, uap->path, UIO_USERSPACE, + uap->flag, uap->mode)); } int @@ -1226,10 +1226,10 @@ }; #endif int -mknodat(struct thread *td, struct mknodat_args *args) +mknodat(struct thread *td, struct mknodat_args *uap) { - return (kern_mknodat(td, args->fd, args->path, UIO_USERSPACE, args->mode, - args->dev)); + return (kern_mknodat(td, uap->fd, uap->path, UIO_USERSPACE, uap->mode, + uap->dev)); } int @@ -1394,9 +1394,9 @@ }; #endif int -mkfifoat(struct thread *td, struct mkfifoat_args *args) +mkfifoat(struct thread *td, struct mkfifoat_args *uap) { - return (kern_mkfifoat(td, args->fd, args->path, UIO_USERSPACE, args->mode)); + return (kern_mkfifoat(td, uap->fd, uap->path, UIO_USERSPACE, uap->mode)); } int @@ -1521,17 +1521,21 @@ }; #endif int -linkat(struct thread *td, struct linkat_args *args) +linkat(struct thread *td, struct linkat_args *uap) { - if (args->flag & ~AT_SYMLINK_FOLLOW) + int flag = uap->flag; + int fd1 = uap->fd1, fd2 = uap->fd2; + const char *path1 = uap->path1, *path2 = uap->path2; + + if (flag & ~AT_SYMLINK_FOLLOW) return (EINVAL); - if (args->flag & AT_SYMLINK_FOLLOW) - return (kern_linkat(td, args->fd1, args->fd2, args->path1, - args->path2, UIO_USERSPACE, FOLLOW)); + if (flag & AT_SYMLINK_FOLLOW) + return (kern_linkat(td, fd1, fd2, path1, path2, UIO_USERSPACE, + FOLLOW)); else - return (kern_linkat(td, args->fd1, args->fd2, args->path1, - args->path2, UIO_USERSPACE, 0)); + return (kern_linkat(td, fd1, fd2, path1, path2, UIO_USERSPACE, + 0)); } static int hardlink_check_uid = 0; @@ -1703,9 +1707,9 @@ }; #endif int -symlinkat(struct thread *td, struct symlinkat_args *args) +symlinkat(struct thread *td, struct symlinkat_args *uap) { - return (kern_symlinkat(td, args->path1, args->fd, args->path2, UIO_USERSPACE)); + return (kern_symlinkat(td, uap->path1, uap->fd, uap->path2, UIO_USERSPACE)); } int @@ -1883,15 +1887,19 @@ }; #endif int -unlinkat(struct thread *td, struct unlinkat_args *args) +unlinkat(struct thread *td, struct unlinkat_args *uap) { - if (args->flag & ~AT_REMOVEDIR) + int flag = uap->flag; + int fd = uap->fd; + const char *path = uap->path; + + if (flag & ~AT_REMOVEDIR) return (EINVAL); - if (args->flag & AT_REMOVEDIR) - return (kern_rmdirat(td, args->fd, args->path, UIO_USERSPACE)); + if (flag & AT_REMOVEDIR) + return (kern_rmdirat(td, fd, path, UIO_USERSPACE)); else - return (kern_unlinkat(td, args->fd, args->path, UIO_USERSPACE)); + return (kern_unlinkat(td, fd, path, UIO_USERSPACE)); } int @@ -2180,12 +2188,12 @@ int flag; } #endif -int faccessat(struct thread *td, struct faccessat_args *args) +int faccessat(struct thread *td, struct faccessat_args *uap) { - if (args->flag & ~AT_EACCESS) + if (uap->flag & ~AT_EACCESS) return (EINVAL); /* XXX: what about mode? */ - return (kern_accessat(td, args->fd, args->path, UIO_USERSPACE, args->flag)); + return (kern_accessat(td, uap->fd, uap->path, UIO_USERSPACE, uap->flag)); } int @@ -2413,15 +2421,20 @@ } #endif int -fstatat(struct thread *td, struct fstatat_args *args) +fstatat(struct thread *td, struct fstatat_args *uap) { - if (args->flag & ~AT_SYMLINK_NOFOLLOW) + int flag = uap->flag; + int fd = uap->fd; + const char *path = uap->path; + struct stat *buf = uap->buf; + + if (flag & ~AT_SYMLINK_NOFOLLOW) return (EINVAL); - if (args->flag & AT_SYMLINK_NOFOLLOW) - return (kern_lstatat(td, args->fd, args->path, UIO_USERSPACE, args->buf)); + if (flag & AT_SYMLINK_NOFOLLOW) + return (kern_lstatat(td, fd, path, UIO_USERSPACE, buf)); else - return (kern_statat(td, args->fd, args->path, UIO_USERSPACE, args->buf)); + return (kern_statat(td, fd, path, UIO_USERSPACE, buf)); } int @@ -2691,10 +2704,10 @@ }; #endif int -readlinkat(struct thread *td, struct readlinkat_args *args) +readlinkat(struct thread *td, struct readlinkat_args *uap) { - return (kern_readlinkat(td, args->fd, args->path, UIO_USERSPACE, - args->buf, UIO_USERSPACE, args->bufsize)); + return (kern_readlinkat(td, uap->fd, uap->path, UIO_USERSPACE, + uap->buf, UIO_USERSPACE, uap->bufsize)); } int @@ -2962,17 +2975,20 @@ } #endif int -fchmodat(struct thread *td, struct fchmodat_args *args) +fchmodat(struct thread *td, struct fchmodat_args *uap) { - if (args->flag & ~AT_SYMLINK_NOFOLLOW) + int flag = uap->flag; + int fd = uap->fd; + const char *path = uap->path; + mode_t mode = uap->mode; + + if (flag & ~AT_SYMLINK_NOFOLLOW) return (EINVAL); - if (args->flag & AT_SYMLINK_NOFOLLOW) - return (kern_lchmodat(td, args->fd, args->path, UIO_USERSPACE, - args->mode)); + if (flag & AT_SYMLINK_NOFOLLOW) + return (kern_lchmodat(td, fd, path, UIO_USERSPACE, mode)); else - return (kern_chmodat(td, args->fd, args->path, UIO_USERSPACE, - args->mode)); + return (kern_chmodat(td, fd, path, UIO_USERSPACE, mode)); } int @@ -3160,17 +3176,21 @@ #ifndef _SYS_SYSPROTO_H_ #endif int -fchownat(struct thread *td, struct fchownat_args *args) +fchownat(struct thread *td, struct fchownat_args *uap) { - if (args->flag & ~AT_SYMLINK_NOFOLLOW) + int flag = uap->flag; + int fd = uap->fd; + const char *path = uap->path; + uid_t uid = uap->uid; + uid_t gid = uap->gid; + + if (flag & ~AT_SYMLINK_NOFOLLOW) return (EINVAL); - if (args->flag & AT_SYMLINK_NOFOLLOW) - return (kern_lchownat(td, args->fd, args->path, UIO_USERSPACE, - args->uid, args->gid)); + if (flag & AT_SYMLINK_NOFOLLOW) + return (kern_lchownat(td, fd, path, UIO_USERSPACE, uid, gid)); else - return (kern_chownat(td, args->fd, args->path, UIO_USERSPACE, - args->uid, args->gid)); + return (kern_chownat(td, fd, path, UIO_USERSPACE, uid, gid)); } int @@ -3414,10 +3434,10 @@ #ifndef _SYS_SYSPROTO_H_ #endif int -futimesat(struct thread *td, struct futimesat_args *args) +futimesat(struct thread *td, struct futimesat_args *uap) { - return (kern_utimesat(td, args->fd, args->path, UIO_USERSPACE, - args->times, UIO_USERSPACE)); + return (kern_utimesat(td, uap->fd, uap->path, UIO_USERSPACE, + uap->times, UIO_USERSPACE)); } int @@ -3836,9 +3856,9 @@ }; #endif int -renameat(struct thread *td, struct renameat_args *args) +renameat(struct thread *td, struct renameat_args *uap) { - return (kern_renameat(td, args->oldfd, args->old, args->newfd, args->new, + return (kern_renameat(td, uap->oldfd, uap->old, uap->newfd, uap->new, UIO_USERSPACE)); } @@ -4021,9 +4041,9 @@ }; #endif int -mkdirat(struct thread *td, struct mkdirat_args *args) +mkdirat(struct thread *td, struct mkdirat_args *uap) { - return (kern_mkdirat(td, args->fd, args->path, UIO_USERSPACE, args->mode)); + return (kern_mkdirat(td, uap->fd, uap->path, UIO_USERSPACE, uap->mode)); } int From owner-p4-projects@FreeBSD.ORG Mon Jul 23 14:56:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D7BA16A468; Mon, 23 Jul 2007 14:56:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 35BEF16A417 for ; Mon, 23 Jul 2007 14:56:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2971313C480 for ; Mon, 23 Jul 2007 14:56:48 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NEum8g074790 for ; Mon, 23 Jul 2007 14:56:48 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NEulTC074787 for perforce@freebsd.org; Mon, 23 Jul 2007 14:56:47 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 14:56:47 GMT Message-Id: <200707231456.l6NEulTC074787@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123966 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 14:56:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=123966 Change 123966 by rdivacky@rdivacky_witten on 2007/07/23 14:56:03 Merge ndp and ndl into one nd as in original code. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#48 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#48 (text+ko) ==== @@ -1588,7 +1588,7 @@ kern_linkat(struct thread *td, int fd1, int fd2, const char *path1, const char *path2, enum uio_seg segflg, int follow) { - struct nameidata ndp, ndl; + struct nameidata nd; struct vnode *pdvp = NULL, *ldvp = NULL; struct vnode *vp; struct mount *mp; @@ -1600,7 +1600,7 @@ if (error && !kern_absolute_path(path1, segflg)) return (error); - NDINIT_AT(&ndp, LOOKUP, ((error) ? ATBADF : 0) | follow | MPSAFE | + NDINIT_AT(&nd, LOOKUP, ((error) ? ATBADF : 0) | follow | MPSAFE | AUDITVNODE1, segflg, path1, td, pdvp); error = kern_get_at(td, fd2, &ldvp); @@ -1613,15 +1613,15 @@ return (error); } - NDINIT_AT(&ndl, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | + NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, ldvp); bwillwrite(); - if ((error = namei(&ndp)) != 0) + if ((error = namei(&nd)) != 0) goto out; - vfslocked = NDHASGIANT(&ndp); - NDFREE(&ndp, NDF_ONLY_PNBUF); - vp = ndp.ni_vp; + vfslocked = NDHASGIANT(&nd); + NDFREE(&nd, NDF_ONLY_PNBUF); + vp = nd.ni_vp; if (vp->v_type == VDIR) { vrele(vp); VFS_UNLOCK_GIANT(vfslocked); @@ -1633,31 +1633,31 @@ VFS_UNLOCK_GIANT(vfslocked); goto out; } - if ((error = namei(&ndl)) == 0) { - lvfslocked = NDHASGIANT(&ndl); - if (ndl.ni_vp != NULL) { - if (ndl.ni_dvp == ndl.ni_vp) - vrele(ndl.ni_dvp); + if ((error = namei(&nd)) == 0) { + lvfslocked = NDHASGIANT(&nd); + if (nd.ni_vp != NULL) { + if (nd.ni_dvp == nd.ni_vp) + vrele(nd.ni_dvp); else - vput(ndl.ni_dvp); - vrele(ndl.ni_vp); + vput(nd.ni_dvp); + vrele(nd.ni_vp); error = EEXIST; } else if ((error = vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td)) == 0) { - VOP_LEASE(ndl.ni_dvp, td, td->td_ucred, LEASE_WRITE); + VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); VOP_LEASE(vp, td, td->td_ucred, LEASE_WRITE); error = can_hardlink(vp, td, td->td_ucred); if (error == 0) #ifdef MAC error = mac_check_vnode_link(td->td_ucred, - ndl.ni_dvp, vp, &ndl.ni_cnd); + nd.ni_dvp, vp, &nd.ni_cnd); if (error == 0) #endif - error = VOP_LINK(ndl.ni_dvp, vp, &ndl.ni_cnd); + error = VOP_LINK(nd.ni_dvp, vp, &nd.ni_cnd); VOP_UNLOCK(vp, 0, td); - vput(ndl.ni_dvp); + vput(nd.ni_dvp); } - NDFREE(&ndl, NDF_ONLY_PNBUF); + NDFREE(&nd, NDF_ONLY_PNBUF); VFS_UNLOCK_GIANT(lvfslocked); } vrele(vp); From owner-p4-projects@FreeBSD.ORG Mon Jul 23 14:59:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 93F0816A46B; Mon, 23 Jul 2007 14:59:56 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A05416A419 for ; Mon, 23 Jul 2007 14:59:56 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 2A61213C457 for ; Mon, 23 Jul 2007 14:59:56 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NExuYk075022 for ; Mon, 23 Jul 2007 14:59:56 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NExqjW075018 for perforce@freebsd.org; Mon, 23 Jul 2007 14:59:52 GMT (envelope-from delphij@freebsd.org) Date: Mon, 23 Jul 2007 14:59:52 GMT Message-Id: <200707231459.l6NExqjW075018@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 123968 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 14:59:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=123968 Change 123968 by delphij@charlie on 2007/07/23 14:58:59 IFC Affected files ... .. //depot/projects/delphij_fork/contrib/openbsm/HISTORY#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/README#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/VERSION#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/audit/audit.8#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/audit/audit.c#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/audit_warn.c#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.8#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.h#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/bin/auditreduce/auditreduce.c#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/config/config.h#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/configure#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/configure.ac#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/libbsm/au_control.3#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/libbsm/au_event.3#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/libbsm/audit_submit.3#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/projects/delphij_fork/contrib/openbsm/libbsm/bsm_token.c#2 integrate .. //depot/projects/delphij_fork/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/projects/delphij_fork/lib/libc/stdlib/getenv.c#2 integrate .. //depot/projects/delphij_fork/lib/libpam/modules/pam_lastlog/pam_lastlog.c#2 integrate .. //depot/projects/delphij_fork/lib/ncurses/config.mk#2 integrate .. //depot/projects/delphij_fork/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/delphij_fork/share/examples/kld/syscall/module/syscall.c#2 integrate .. //depot/projects/delphij_fork/share/man/man5/src.conf.5#2 integrate .. //depot/projects/delphij_fork/share/man/man9/contigmalloc.9#2 integrate .. //depot/projects/delphij_fork/share/mk/version_gen.awk#2 integrate .. //depot/projects/delphij_fork/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/delphij_fork/sys/bsm/audit.h#2 integrate .. //depot/projects/delphij_fork/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/delphij_fork/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/delphij_fork/sys/bsm/audit_record.h#2 integrate .. //depot/projects/delphij_fork/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/delphij_fork/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/delphij_fork/sys/conf/NOTES#6 integrate .. //depot/projects/delphij_fork/sys/conf/files#5 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/firewire/firewire.c#4 integrate .. //depot/projects/delphij_fork/sys/dev/firewire/firewirereg.h#3 integrate .. //depot/projects/delphij_fork/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/eth_z8e.dat.gz.uu#3 delete .. //depot/projects/delphij_fork/sys/dev/mxge/eth_z8e.h#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/ethp_z8e.dat.gz.uu#3 delete .. //depot/projects/delphij_fork/sys/dev/mxge/ethp_z8e.h#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/if_mxge.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/projects/delphij_fork/sys/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/projects/delphij_fork/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ral/rt2661.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/usb_quirks.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_fat.c#4 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/projects/delphij_fork/sys/i386/isa/clock.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/linux/linux_machdep.c#3 integrate .. //depot/projects/delphij_fork/sys/ia64/ia64/clock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/sched_ule.c#3 integrate .. //depot/projects/delphij_fork/sys/kern/subr_clock.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/tty.c#2 integrate .. //depot/projects/delphij_fork/sys/modules/Makefile#3 integrate .. //depot/projects/delphij_fork/sys/modules/mxge/mxge_eth_z8e/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate .. //depot/projects/delphij_fork/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/delphij_fork/sys/netinet/icmp_var.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_asconf.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_indata.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.h#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_usrreq.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet6/sctp6_usrreq.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet6/udp6_output.c#4 delete .. //depot/projects/delphij_fork/sys/netinet6/udp6_usrreq.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet6/udp6_var.h#3 integrate .. //depot/projects/delphij_fork/sys/pc98/cbus/clock.c#2 integrate .. //depot/projects/delphij_fork/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/eeprom.c#2 integrate .. //depot/projects/delphij_fork/sys/sparc64/sparc64/rtc.c#2 integrate .. //depot/projects/delphij_fork/sys/sys/proc.h#2 integrate .. //depot/projects/delphij_fork/sys/sys/rwlock.h#2 integrate .. //depot/projects/delphij_fork/sys/vm/vm_fault.c#4 integrate .. //depot/projects/delphij_fork/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/delphij_fork/tools/regression/environ/envtest.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/environ/timings.c#2 integrate .. //depot/projects/delphij_fork/usr.bin/locate/locate/locate.rc#2 integrate .. //depot/projects/delphij_fork/usr.bin/tar/Makefile#2 integrate .. //depot/projects/delphij_fork/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/delphij_fork/usr.bin/tar/read.c#2 integrate Differences ... ==== //depot/projects/delphij_fork/contrib/openbsm/HISTORY#2 (text) ==== @@ -1,3 +1,14 @@ +OpenBSM 1.0 alpha 15 + +- Fix bug when processing in_addr_ex tokens. +- Restore the behavior of printing the string/text specified while + auditing arg32 tokens. +- Synchronized audit event list to Solaris, picking up the *at(2) system call + definitions, now required for FreeBSD and Linux. Added additional events + for *at(2) system calls not present in Solaris. +- Bugs in auditreduce(8) fixed allowing partial date strings to be used in + filtering events. + OpenBSM 1.0 alpha 14 - Fix endian issues when processing IPv6 addresses for extended subject @@ -284,4 +295,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#50 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#55 $ ==== //depot/projects/delphij_fork/contrib/openbsm/README#2 (text) ==== @@ -89,6 +89,7 @@ Ruslan Ermilov Martin Voros Diego Giagio + Alex Samorukov In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -110,4 +111,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#23 $ +$P4: //depot/projects/trustedbsd/openbsm/README#24 $ ==== //depot/projects/delphij_fork/contrib/openbsm/VERSION#2 (text) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0_ALPHA_14 +OPENBSM_1_0_ALPHA_15 ==== //depot/projects/delphij_fork/contrib/openbsm/bin/audit/audit.8#2 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#9 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#10 $ .\" .Dd October 2, 2006 .Dt AUDIT 8 ==== //depot/projects/delphij_fork/contrib/openbsm/bin/audit/audit.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#8 $ */ /* * Program to trigger the audit daemon with a message that is either: ==== //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/audit_warn.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#8 $ */ #include ==== //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.8#2 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#12 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#13 $ .\" .Dd October 2, 2006 .Dt AUDITD 8 ==== //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2004 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#25 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#26 $ */ #include ==== //depot/projects/delphij_fork/contrib/openbsm/bin/auditd/auditd.h#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#8 $ */ #ifndef _AUDITD_H_ ==== //depot/projects/delphij_fork/contrib/openbsm/bin/auditreduce/auditreduce.c#2 (text) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#18 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#19 $ */ /* @@ -629,6 +629,7 @@ usage("d is exclusive with a and b"); } SETOPT(opttochk, OPT_a); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d%H%M%S", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", &tm); @@ -641,6 +642,7 @@ usage("d is exclusive with a and b"); } SETOPT(opttochk, OPT_b); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d%H%M%S", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", &tm); @@ -661,6 +663,7 @@ OPT_a)) usage("'d' is exclusive with 'a' and 'b'"); SETOPT(opttochk, OPT_d); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d", &tm); /* fprintf(stderr, "Time converted = %s\n", timestr); */ ==== //depot/projects/delphij_fork/contrib/openbsm/config/config.h#2 (text) ==== @@ -1,6 +1,6 @@ /* config/config.h. Generated by configure. */ /* config/config.h.in. Generated from configure.ac by autoheader. */ -/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.5 2007/04/16 15:49:15 rwatson Exp $ */ +/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.6 2007/07/22 12:22:25 rwatson Exp $ */ /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -150,13 +150,13 @@ #define PACKAGE_NAME "OpenBSM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "OpenBSM 1.0alpha14" +#define PACKAGE_STRING "OpenBSM 1.0alpha15" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "openbsm" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.0alpha14" +#define PACKAGE_VERSION "1.0alpha15" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -171,7 +171,7 @@ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "1.0alpha14" +#define VERSION "1.0alpha15" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ ==== //depot/projects/delphij_fork/contrib/openbsm/configure#2 (text) ==== @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#33 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for OpenBSM 1.0alpha14. +# Generated by GNU Autoconf 2.59 for OpenBSM 1.0alpha15. # # Report bugs to . # @@ -424,8 +424,8 @@ # Identity of this package. PACKAGE_NAME='OpenBSM' PACKAGE_TARNAME='openbsm' -PACKAGE_VERSION='1.0alpha14' -PACKAGE_STRING='OpenBSM 1.0alpha14' +PACKAGE_VERSION='1.0alpha15' +PACKAGE_STRING='OpenBSM 1.0alpha15' PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org' ac_unique_file="bin/auditreduce/auditreduce.c" @@ -955,7 +955,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenBSM 1.0alpha14 to adapt to many kinds of systems. +\`configure' configures OpenBSM 1.0alpha15 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1021,7 +1021,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenBSM 1.0alpha14:";; + short | recursive ) echo "Configuration of OpenBSM 1.0alpha15:";; esac cat <<\_ACEOF @@ -1162,7 +1162,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -OpenBSM configure 1.0alpha14 +OpenBSM configure 1.0alpha15 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1176,7 +1176,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenBSM $as_me 1.0alpha14, which was +It was created by OpenBSM $as_me 1.0alpha15, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -19278,7 +19278,7 @@ # Define the identity of the package. PACKAGE=OpenBSM - VERSION=1.0alpha14 + VERSION=1.0alpha15 cat >>confdefs.h <<_ACEOF @@ -23479,7 +23479,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by OpenBSM $as_me 1.0alpha14, which was +This file was extended by OpenBSM $as_me 1.0alpha15, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23542,7 +23542,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenBSM config.status 1.0alpha14 +OpenBSM config.status 1.0alpha15 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" ==== //depot/projects/delphij_fork/contrib/openbsm/configure.ac#2 (text) ==== @@ -2,8 +2,8 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([OpenBSM], [1.0alpha14], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) -AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#34 $]) +AC_INIT([OpenBSM], [1.0alpha15], [trustedbsd-audit@TrustesdBSD.org],[openbsm]) +AC_REVISION([$P4: //depot/projects/trustedbsd/openbsm/configure.ac#35 $]) AC_CONFIG_SRCDIR([bin/auditreduce/auditreduce.c]) AC_CONFIG_AUX_DIR(config) AC_CONFIG_HEADER([config/config.h]) ==== //depot/projects/delphij_fork/contrib/openbsm/etc/audit_event#2 (text) ==== @@ -1,6 +1,6 @@ # -# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#20 $ -# $FreeBSD: src/contrib/openbsm/etc/audit_event,v 1.7 2007/04/16 15:41:56 rwatson Exp $ +# $P4: //depot/projects/trustedbsd/openbsm/etc/audit_event#25 $ +# $FreeBSD: src/contrib/openbsm/etc/audit_event,v 1.8 2007/07/22 12:20:42 rwatson Exp $ # 0:AUE_NULL:indir system call:no 1:AUE_EXIT:exit(2):pc @@ -141,8 +141,13 @@ 148:AUE_SETKERNSTATE:setkernstate(2):ad 149:AUE_GETPORTAUDIT:getportaudit(2):ad 150:AUE_AUDITSTAT:auditstat(2):ad +151:AUE_REVOKE:revoke(2):cl +152:AUE_MAC:Solaris AUE_MAC:no 153:AUE_ENTERPROM:enter prom:ad 154:AUE_EXITPROM:exit prom:ad +155:AUE_IFLOAT:Solaris AUE_IFLOAT:no +156:AUE_PFLOAT:Solaris AUE_PFLOAT:no +157:AUE_UPRIV:Solaris AUE_UPRIV:no 158:AUE_IOCTL:ioctl(2):io 173:AUE_ONESIDE:one-sided session record:nt 174:AUE_MSGGETL:msggetl(2):ip @@ -166,19 +171,19 @@ 196:AUE_WRITEV:writev(2):no 197:AUE_NFS:nfs server:ad 198:AUE_READV:readv(2):no -199:AUE_OSTAT:old stat(2):fa +199:AUE_OSTAT:Solaris old stat(2):fa 200:AUE_SETUID:setuid(2):pc 201:AUE_STIME:old stime(2):ad 202:AUE_UTIME:old utime(2):fm 203:AUE_NICE:old nice(2):pc -204:AUE_OSETPGRP:old setpgrp(2):pc +204:AUE_OSETPGRP:Solaris old setpgrp(2):pc 205:AUE_SETGID:setgid(2):pc 206:AUE_READL:readl(2):no 207:AUE_READVL:readvl(2):no 209:AUE_DUP2:dup2(2):no 210:AUE_MMAP:mmap(2):no 211:AUE_AUDIT:audit(2):ot -212:AUE_PRIOCNTLSYS:priocntlsys(2):pc +212:AUE_PRIOCNTLSYS:Solaris priocntlsys(2):pc 213:AUE_MUNMAP:munmap(2):cl 214:AUE_SETEGID:setegid(2):pc 215:AUE_SETEUID:seteuid(2):pc @@ -202,7 +207,7 @@ 233:AUE_UTSSYS:utssys(2) - fusers:ad 234:AUE_STATVFS:statvfs(2):fa 235:AUE_XSTAT:xstat(2):fa -236:AUE_LXSTAT:lx6stat(2):fa +236:AUE_LXSTAT:lxstat(2):fa 237:AUE_LCHOWN:lchown(2):fm 238:AUE_MEMCNTL:memcntl(2):ot 239:AUE_SYSINFO:sysinfo(2):ad @@ -231,12 +236,43 @@ 262:AUE_P_ONLINE:p_online(2):ad 263:AUE_PROCESSOR_BIND:processor_bind(2):ad 264:AUE_INST_SYNC:inst_sync(2):ad +265:AUE_SOCKCONFIG:configure socket:nt 266:AUE_SETAUDIT_ADDR:setaudit_addr(2):ad 267:AUE_GETAUDIT_ADDR:getaudit_addr(2):ad -268:AUE_CLOCK_SETTIME:clock_settime(2):ad -269:AUE_NTP_ADJTIME:ntp_adjtime(2):ad +268:AUE_UMOUNT2:Solaris umount(2):ad +269:AUE_FSAT:fsat(2) - place holder:no +270:AUE_OPENAT_R:openat(2) - read:fr +271:AUE_OPENAT_RC:openat(2) - read,creat:fc,fr,fa,fm +272:AUE_OPENAT_RT:openat(2) - read,trunc:fd,fr,fa,fm +273:AUE_OPENAT_RTC:openat(2) - read,creat,trunc:fc,fd,fr,fa,fm +274:AUE_OPENAT_W:openat(2) - write:fw +275:AUE_OPENAT_WC:openat(2) - write,creat:fc,fw,fa,fm +276:AUE_OPENAT_WT:openat(2) - write,trunc:fd,fw,fa,fm +277:AUE_OPENAT_WTC:openat(2) - write,creat,trunc:fc,fd,fw,fa,fm +278:AUE_OPENAT_RW:openat(2) - read,write:fr,fw +279:AUE_OPENAT_RWC:openat(2) - read,write,create:fc,fw,fr,fa,fm +280:AUE_OPENAT_RWTC:openat(2) - read,write,creat,trunc:fc,fd,fw,fr,fa,fm +282:AUE_RENAMEAT:renameat(2):fc,fd +283:AUE_FSTATAT:fstatat(2):fa +284:AUE_FCHOWNAT:fchownat(2):fm +285:AUE_FUTIMESAT:futimesat(2):fm +286:AUE_UNLINKAT:unlinkat(2):fd +287:AUE_CLOCK_SETTIME:clock_settime(2):ad +288:AUE_NTP_ADJTIME:ntp_adjtime(2):ad +289:AUE_SETPPRIV:setppriv(2):pc +290:AUE_MODDEVPLCY:modctl(2) - configure device policy:ad +291:AUE_MODADDPRIV:modctl(2) - configure additional privilege:ad +292:AUE_CRYPTOADM:kernel cryptographic framework:ad +293:AUE_CONFIGKSSL:configure kernel SSL:ad +294:AUE_BRANDSYS:brandsys(2):ot +295:AUE_PF_POLICY_ADDRULE:Add IPsec policy rule:ad +296:AUE_PF_POLICY_DELRULE:Delete IPsec policy rule:ad +297:AUE_PF_POLICY_CLONE:Clone IPsec policy:ad +298:AUE_PF_POLICY_FLIP:Flip IPsec policy:ad +299:AUE_PF_POLICY_FLUSH:Flush IPsec policy rules:ad +300:AUE_PF_POLICY_ALGS:Update IPsec algorithms:ad # -# What follows are deprecated Darwin event numbers that may someday conflict +# What follows are deprecated Darwin event numbers that may soon conflict # with Solaris events. # 301:AUE_DARWIN_GETFSSTAT:getfsstat(2):fa @@ -293,7 +329,7 @@ 352:AUE_DARWIN_AUDITCTL:auditctl(2):ad 353:AUE_DARWIN_RFORK:rfork(2):pc 354:AUE_DARWIN_LCHMOD:lchmod(2):fm -355:AUE_DARWIN_SWAPOFF:swapoff():ad +355:AUE_DARWIN_SWAPOFF:swapoff(2):ad 356:AUE_DARWIN_INITPROCESS:init_process():pc 357:AUE_DARWIN_MAPFD:map_fd():fa 358:AUE_DARWIN_TASKFORPID:task_for_pid():pc @@ -310,7 +346,7 @@ 43005:AUE_PROFILE:profil(2):pc 43006:AUE_KTRACE:ktrace(2):pc 43007:AUE_SETLOGIN:setlogin(2):pc -43008:AUE_REVOKE:revoke(2):cl +43008:AUE_OPENBSM_REVOKE:revoke(2):cl 43009:AUE_UMASK:umask(2):pc 43010:AUE_MPROTECT:mprotect(2):fm 43011:AUE_MKFIFO:mkfifo(2):fc @@ -320,7 +356,7 @@ 43015:AUE_SETPRIVEXEC:setprivexec(2):pc 43016:AUE_ADDPROFILE:system call:pc 43017:AUE_KDEBUGTRACE:system call:pc -43018:AUE_FSTAT:fstat(2):fa +43018:AUE_OPENBSM_FSTAT:fstat(2):fa 43019:AUE_FPATHCONF:fpathconf(2):fa 43020:AUE_GETDIRENTRIES:getdirentries(2):no 43021:AUE_SYSCTL:sysctl(3):ot @@ -347,13 +383,13 @@ 43042:AUE_AUDITCTL:auditctl(2):ad 43043:AUE_RFORK:rfork(2):pc 43044:AUE_LCHMOD:lchmod(2):fm -43045:AUE_SWAPOFF:swapoff():ad +43045:AUE_SWAPOFF:swapoff(2):ad 43046:AUE_INITPROCESS:init_process():pc 43047:AUE_MAPFD:map_fd():fa 43048:AUE_TASKFORPID:task_for_pid():pc 43049:AUE_PIDFORTASK:pid_for_task():pc 43050:AUE_SYSCTL_NONADMIN:sysctl() - non-admin:ot -43051:AUE_COPYFILE:copyfile():fr,fw +43051:AUE_COPYFILE:copyfile(2):fr,fw 43052:AUE_LUTIMES:lutimes(2):fm 43053:AUE_LCHFLAGS:lchflags(2):fm 43054:AUE_SENDFILE:sendfile(2):nt @@ -445,6 +481,16 @@ 43140:AUE_LISTEN:listen(2):nt 43141:AUE_MLOCKALL:mlockall(2):pc 43142:AUE_MUNLOCKALL:munlockall(2):pc +43143:AUE_CLOSEFROM:closefrom(2):cl +43144:AUE_FEXECVE:fexecve(2):pc,ex +43145:AUE_FACCESSAT:faccessat(2):fa +43146:AUE_FCHMODAT:fchmodat(2):fm +43147:AUE_LINKAT:linkat(2):fc +43148:AUE_MKDIRAT:mkdirat(2):fc +43149:AUE_MKFIFOAT:mkfifoat(2):fc +43150:AUE_MKNODAT:mknodat(2):fc +43151:AUE_READLINKAT:readlinkat(2):fr +43152:AUE_SYMLINKAT:symlinkat(2):fc # # User space system events. # ==== //depot/projects/delphij_fork/contrib/openbsm/libbsm/au_control.3#2 (text) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_control.3#8 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_control.3#9 $ .\" .Dd April 19, 2005 .Dt AU_CONTROL 3 @@ -77,7 +77,7 @@ section for more information. .Pp The -.Fn sendac +.Fn endac function closes the .Xr audit_control 5 ==== //depot/projects/delphij_fork/contrib/openbsm/libbsm/au_event.3#2 (text) ==== @@ -23,7 +23,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_event.3#7 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/au_event.3#8 $ .\" .Dd April 19, 2005 .Dt AU_EVENT 3 @@ -131,7 +131,7 @@ .Fn getauevnum , .Fn getauevnum_r , and -.Fn getauevnuam +.Fn getauevnonam will return a reference to a .Vt "struct au_event_ent" or ==== //depot/projects/delphij_fork/contrib/openbsm/libbsm/audit_submit.3#2 (text) ==== @@ -27,7 +27,7 @@ .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#11 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#12 $ .\" .Dd May 29, 2006 .Dt audit_submit 3 @@ -54,7 +54,7 @@ .Fa au_event . The subject token will be generated based on .Fa au_ctx . -The return token is dependant on the +The return token is dependent on the .Fa status and .Fa reterr ==== //depot/projects/delphij_fork/contrib/openbsm/libbsm/bsm_io.c#2 (text) ==== @@ -32,7 +32,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#48 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_io.c#49 $ */ #include @@ -1306,6 +1306,7 @@ print_delim(fp, del); print_4_bytes(fp, tok->tt.arg32.val, "0x%x"); print_delim(fp, del); + print_string(fp, tok->tt.arg32.text, tok->tt.arg32.len); } } ==== //depot/projects/delphij_fork/contrib/openbsm/libbsm/bsm_token.c#2 (text) ==== @@ -30,7 +30,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#62 $ + * $P4: //depot/projects/trustedbsd/openbsm/libbsm/bsm_token.c#63 $ */ #include @@ -411,7 +411,7 @@ ADD_U_CHAR(dptr, AUT_IN_ADDR_EX); ADD_U_INT32(dptr, type); - ADD_MEM(dptr, internet_addr, 5 * sizeof(uint32_t)); + ADD_MEM(dptr, internet_addr, 4 * sizeof(uint32_t)); return (t); } ==== //depot/projects/delphij_fork/lib/libarchive/archive_read_support_compression_program.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.1 2007/05/29 01:00:19 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.2 2007/07/20 01:28:50 kientzle Exp $"); #ifdef HAVE_SYS_WAIT_H # include @@ -113,6 +113,7 @@ { struct archive_decompress_program *state = a->decompressor->data; ssize_t ret, requested; + const void *child_buf; if (state->child_stdout == -1) return (-1); @@ -138,8 +139,10 @@ return (-1); if (state->child_in_buf_avail == 0) { + child_buf = state->child_in_buf; ret = (a->client_reader)(&a->archive, - a->client_data, (const void **)&state->child_in_buf); + a->client_data,&child_buf); + state->child_in_buf = (const char *)child_buf; if (ret < 0) { close(state->child_stdin); ==== //depot/projects/delphij_fork/lib/libc/stdlib/getenv.c#2 (text+ko) ==== @@ -33,7 +33,13 @@ #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.9 2007/07/04 00:00:39 scf Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/getenv.c,v 1.10 2007/07/20 23:30:13 scf Exp $"); + + +static const char CorruptEnvFindMsg[] = + "environment corrupt; unable to find %.*s"; +static const char CorruptEnvValueMsg[] = + "environment corrupt; missing value for %s"; /* @@ -43,9 +49,12 @@ * allows environ to return to as it was before. * environSize: Number of variables environ can hold. Can only * increase. + * intEnviron: Internally-built environ. Exposed via environ during + * (re)builds of the environment. */ extern char **environ; static char **origEnviron; +static char **intEnviron = NULL; static int environSize = 0; /* @@ -84,7 +93,7 @@ /* Deinitialization of new environment. */ -static void __attribute__ ((destructor)) __clean_env(void); +static void __attribute__ ((destructor)) __clean_env_destructor(void); /* @@ -173,6 +182,64 @@ /* + * Remove variable added by putenv() from variable tracking array. + */ +static void +__remove_putenv(int envNdx) +{ + envVarsTotal--; + if (envVarsTotal > envNdx) + memmove(&(envVars[envNdx]), &(envVars[envNdx + 1]), + (envVarsTotal - envNdx) * sizeof (*envVars)); + memset(&(envVars[envVarsTotal]), 0, sizeof (*envVars)); + + return; +} + + +/* + * Deallocate the environment built from environ as well as environ then set + * both to NULL. Eases debugging of memory leaks. + */ +static void +__clean_env(bool freeVars) +{ + int envNdx; + + /* Deallocate environment and environ if created by *env(). */ + if (envVars != NULL) { + for (envNdx = envVarsTotal - 1; envNdx >= 0; envNdx--) + /* Free variables or deactivate them. */ + if (envVars[envNdx].putenv) { + if (!freeVars) + __remove_putenv(envNdx); + } else { + if (freeVars) + free(envVars[envNdx].name); + else + envVars[envNdx].active = false; + } + if (freeVars) { + free(envVars); + envVars = NULL; + } else + envActive = 0; + + /* Restore original environ if it has not updated by program. */ + if (origEnviron != NULL) { + if (environ == intEnviron) + environ = origEnviron; + free(intEnviron); + intEnviron = NULL; + environSize = 0; + } + } + + return; +} + + +/* * Using the environment, rebuild the environ array for use by other C library * calls that depend upon it. */ @@ -187,20 +254,23 @@ /* Resize environ. */ if (newEnvironSize > environSize) { tmpEnvironSize = newEnvironSize * 2; - tmpEnviron = realloc(environ, sizeof (*environ) * + tmpEnviron = realloc(intEnviron, sizeof (*intEnviron) * (tmpEnvironSize + 1)); if (tmpEnviron == NULL) return (-1); environSize = tmpEnvironSize; - environ = tmpEnviron; + intEnviron = tmpEnviron; } envActive = newEnvironSize; /* Assign active variables to environ. */ for (envNdx = envVarsTotal - 1, environNdx = 0; envNdx >= 0; envNdx--) if (envVars[envNdx].active) - environ[environNdx++] = envVars[envNdx].name; - environ[environNdx] = NULL; + intEnviron[environNdx++] = envVars[envNdx].name; + intEnviron[environNdx] = NULL; + + /* Always set environ which may have been replaced by program. */ + environ = intEnviron; return (0); } @@ -241,15 +311,12 @@ char **env; int activeNdx; int envNdx; - int rtrnVal; int savedErrno; size_t nameLen; /* Check for non-existant environment. */ - if (environ == NULL) + if (environ == NULL || environ[0] == NULL) return (0); - if (environ[0] == NULL) - goto SaveEnviron; /* Count environment variables. */ for (env = environ, envVarsTotal = 0; *env != NULL; env++) @@ -274,8 +341,7 @@ envVars[envNdx].valueSize = strlen(envVars[envNdx].value); } else { - warnx("environment corrupt; missing value for %s", - envVars[envNdx].name); + warnx(CorruptEnvValueMsg, envVars[envNdx].name); errno = EFAULT; goto Failure; } @@ -290,8 +356,7 @@ activeNdx = envVarsTotal - 1; if (__findenv(envVars[envNdx].name, nameLen, &activeNdx, false) == NULL) { - warnx("environment corrupt; unable to find %.*s", - nameLen, envVars[envNdx].name); + warnx(CorruptEnvFindMsg, nameLen, envVars[envNdx].name); errno = EFAULT; goto Failure; } @@ -299,24 +364,14 @@ } /* Create a new environ. */ -SaveEnviron: origEnviron = environ; environ = NULL; - if (envVarsTotal > 0) { - rtrnVal = __rebuild_environ(envVarsTotal); - if (rtrnVal == -1) { - savedErrno = errno; - __clean_env(); - errno = savedErrno; - } - } else - rtrnVal = 0; - - return (rtrnVal); + if (__rebuild_environ(envVarsTotal) == 0) + return (0); Failure: savedErrno = errno; - __clean_env(); + __clean_env(true); errno = savedErrno; return (-1); @@ -324,48 +379,18 @@ /* - * Remove variable added by putenv() from variable tracking array. + * Destructor function with default argument to __clean_env(). */ static void -__remove_putenv(int envNdx) +__clean_env_destructor(void) { - memmove(&(envVars[envNdx]), &(envVars[envNdx + 1]), - (envVarsTotal - envNdx) * sizeof (*envVars)); - envVarsTotal--; + __clean_env(true); return; } /* - * Deallocate the environment built from environ as well as environ then set - * both to NULL. Eases debugging of memory leaks. - */ -static void -__clean_env(void) -{ - int envNdx; - - /* Deallocate environment and environ if created by *env(). */ - if (envVars != NULL) { - for (envNdx = 0; envNdx < envVarsTotal; envNdx++) - if (!envVars[envNdx].putenv) - free(envVars[envNdx].name); - free(envVars); - envVars = NULL; - >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 23 15:03:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CF1B16A41F; Mon, 23 Jul 2007 15:03:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AC30016A418 for ; Mon, 23 Jul 2007 15:03:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9FC8B13C46A for ; Mon, 23 Jul 2007 15:03:00 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NF302E075349 for ; Mon, 23 Jul 2007 15:03:00 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NF30fb075346 for perforce@freebsd.org; Mon, 23 Jul 2007 15:03:00 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 15:03:00 GMT Message-Id: <200707231503.l6NF30fb075346@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123969 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 15:03:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=123969 Change 123969 by rdivacky@rdivacky_witten on 2007/07/23 15:02:42 Move bwillwrite() to such places where its not covered by any locks. Thus restoring original behaviour. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#49 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#49 (text+ko) ==== @@ -1270,16 +1270,17 @@ } if (error) return (error); + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) return (error); - bwillwrite(); NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { @@ -1417,16 +1418,17 @@ struct vnode *dvp = NULL; AUDIT_ARG(mode, mode); + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) return (error); - bwillwrite(); NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { @@ -1596,6 +1598,7 @@ int lvfslocked; int error; + bwillwrite(); error = kern_get_at(td, fd1, &pdvp); if (error && !kern_absolute_path(path1, segflg)) return (error); @@ -1616,7 +1619,6 @@ NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, ldvp); - bwillwrite(); if ((error = namei(&nd)) != 0) goto out; vfslocked = NDHASGIANT(&nd); @@ -1739,16 +1741,17 @@ goto out; } AUDIT_ARG(text, syspath); + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path2, segflg)) return (error); - bwillwrite(); NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, dvp); if ((error = namei(&nd)) != 0) @@ -1917,16 +1920,17 @@ struct nameidata nd; int vfslocked; + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) return (error); - bwillwrite(); NDINIT_AT(&nd, DELETE, ((error) ? ATBADF : 0) | LOCKPARENT | LOCKLEAF | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { @@ -3881,6 +3885,7 @@ int fvfslocked; int error; + bwillwrite(); error = kern_get_at(td, oldfd, &frdvp); if (error && !kern_absolute_path(old, pathseg)) return (error); @@ -3906,7 +3911,6 @@ LOCKLEAF | NOCACHE | SAVESTART | MPSAFE | AUDITVNODE2, pathseg, new, td, todvp); - bwillwrite(); if ((error = namei(&fromnd)) != 0) goto out2; fvfslocked = NDHASGIANT(&fromnd); @@ -4064,16 +4068,17 @@ int vfslocked; AUDIT_ARG(mode, mode); + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, segflg)) return (error); - bwillwrite(); NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, segflg, path, td, dvp); nd.ni_cnd.cn_flags |= WILLBEDIR; @@ -4176,16 +4181,17 @@ struct nameidata nd; int vfslocked; + bwillwrite(); restart: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(vfslocked); + bwillwrite(); } error = kern_get_at(td, fd, &dvp); if (error && !kern_absolute_path(path, pathseg)) return (error); - bwillwrite(); NDINIT_AT(&nd, DELETE, ((error) ? ATBADF : 0) | LOCKPARENT | LOCKLEAF | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) From owner-p4-projects@FreeBSD.ORG Mon Jul 23 15:54:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D96E16A469; Mon, 23 Jul 2007 15:54:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB77416A420 for ; Mon, 23 Jul 2007 15:54:14 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C644713C467 for ; Mon, 23 Jul 2007 15:54:14 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NFsE7A080191 for ; Mon, 23 Jul 2007 15:54:14 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NFsEri080188 for perforce@freebsd.org; Mon, 23 Jul 2007 15:54:14 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 15:54:14 GMT Message-Id: <200707231554.l6NFsEri080188@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 15:54:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=123972 Change 123972 by rdivacky@rdivacky_witten on 2007/07/23 15:53:18 Fix some Giant leaks. Suggested by: kib Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#50 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#50 (text+ko) ==== @@ -1156,8 +1156,11 @@ td->td_retval[0] = indx; return (0); out: - if (dvp) + if (dvp) { + vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(vfslocked); + } return (error); bad: VFS_UNLOCK_GIANT(vfslocked); @@ -1249,7 +1252,7 @@ int error; int whiteout = 0; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; AUDIT_ARG(mode, mode); AUDIT_ARG(dev, dev); @@ -1273,9 +1276,9 @@ bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -1284,8 +1287,11 @@ NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } vfslocked = NDHASGIANT(&nd); @@ -1298,8 +1304,11 @@ vput(nd.ni_dvp); vrele(vp); VFS_UNLOCK_GIANT(vfslocked); - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (EEXIST); } else { VATTR_NULL(&vattr); @@ -1332,8 +1341,11 @@ vput(nd.ni_dvp); VFS_UNLOCK_GIANT(vfslocked); if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } goto restart; @@ -1355,7 +1367,7 @@ } } if (dvp) { - int dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(dvfslocked); } @@ -1414,16 +1426,16 @@ struct vattr vattr; int error; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; struct vnode *dvp = NULL; AUDIT_ARG(mode, mode); bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -1432,8 +1444,11 @@ NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | SAVENAME | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } vfslocked = NDHASGIANT(&nd); @@ -1445,8 +1460,11 @@ vput(nd.ni_dvp); vrele(nd.ni_vp); VFS_UNLOCK_GIANT(vfslocked); - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (EEXIST); } if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) { @@ -1454,8 +1472,11 @@ vput(nd.ni_dvp); VFS_UNLOCK_GIANT(vfslocked); if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } goto restart; @@ -1479,7 +1500,7 @@ out: #endif if (dvp) { - int dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(dvfslocked); } @@ -1730,7 +1751,7 @@ char *syspath; int error; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; struct vnode *dvp = NULL; if (segflg == UIO_SYSSPACE) { @@ -1744,9 +1765,9 @@ bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -1800,9 +1821,9 @@ VFS_UNLOCK_GIANT(vfslocked); out: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); } if (segflg != UIO_SYSSPACE) uma_zfree(namei_zone, syspath); @@ -1918,14 +1939,14 @@ struct vnode *vp, *dvp = NULL; int error; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -1934,8 +1955,11 @@ NDINIT_AT(&nd, DELETE, ((error) ? ATBADF : 0) | LOCKPARENT | LOCKLEAF | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) { - if (dvp) - vrele(dvp); + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error == EINVAL ? EPERM : error); } vfslocked = NDHASGIANT(&nd); @@ -1962,8 +1986,11 @@ VFS_UNLOCK_GIANT(vfslocked); if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } goto restart; @@ -1984,7 +2011,7 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); if (dvp) { - int dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(dvfslocked); } @@ -3070,12 +3097,13 @@ NDINIT_AT(&nd, LOOKUP, NOFOLLOW | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); if ((error = namei(&nd)) != 0) - return (error); + goto out; vfslocked = NDHASGIANT(&nd); NDFREE(&nd, NDF_ONLY_PNBUF); error = setfmode(td, nd.ni_vp, mode); vrele(nd.ni_vp); VFS_UNLOCK_GIANT(vfslocked); +out: if (dvp) { vfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); @@ -4000,8 +4028,6 @@ vrele(fromnd.ni_startdir); VFS_UNLOCK_GIANT(fvfslocked); VFS_UNLOCK_GIANT(tvfslocked); - if (error == -1) - return (0); out2: if (frdvp) { fvfslocked = VFS_NEEDSGIANT(frdvp->v_mount); @@ -4013,6 +4039,9 @@ vrele(todvp); VFS_UNLOCK_GIANT(tvfslocked); } + /* Nothing to do, return success. */ + if (error == -1) + return (0); return (error); } @@ -4065,15 +4094,15 @@ struct vattr vattr; int error; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; AUDIT_ARG(mode, mode); bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -4083,8 +4112,11 @@ SAVENAME | MPSAFE | AUDITVNODE1, segflg, path, td, dvp); nd.ni_cnd.cn_flags |= WILLBEDIR; if ((error = namei(&nd)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } vfslocked = NDHASGIANT(&nd); @@ -4102,8 +4134,11 @@ vput(nd.ni_dvp); vrele(vp); VFS_UNLOCK_GIANT(vfslocked); - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (EEXIST); } if (vn_start_write(nd.ni_dvp, &mp, V_NOWAIT) != 0) { @@ -4111,8 +4146,11 @@ vput(nd.ni_dvp); VFS_UNLOCK_GIANT(vfslocked); if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) { - if (dvp) + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); } goto restart; @@ -4134,7 +4172,7 @@ out: #endif if (dvp) { - int dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(dvfslocked); } @@ -4179,14 +4217,14 @@ struct vnode *vp, *dvp = NULL; int error; struct nameidata nd; - int vfslocked; + int vfslocked, dvfslocked; bwillwrite(); restart: if (dvp) { - vfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); - VFS_UNLOCK_GIANT(vfslocked); + VFS_UNLOCK_GIANT(dvfslocked); bwillwrite(); } error = kern_get_at(td, fd, &dvp); @@ -4194,8 +4232,14 @@ return (error); NDINIT_AT(&nd, DELETE, ((error) ? ATBADF : 0) | LOCKPARENT | LOCKLEAF | MPSAFE | AUDITVNODE1, pathseg, path, td, dvp); - if ((error = namei(&nd)) != 0) + if ((error = namei(&nd)) != 0) { + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); + } vfslocked = NDHASGIANT(&nd); vp = nd.ni_vp; if (vp->v_type != VDIR) { @@ -4230,8 +4274,14 @@ else vput(nd.ni_dvp); VFS_UNLOCK_GIANT(vfslocked); - if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) + if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0) { + if (dvp) { + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + vrele(dvp); + VFS_UNLOCK_GIANT(dvfslocked); + } return (error); + } goto restart; } VOP_LEASE(nd.ni_dvp, td, td->td_ucred, LEASE_WRITE); @@ -4242,7 +4292,7 @@ NDFREE(&nd, NDF_ONLY_PNBUF); vput(vp); if (dvp) { - int dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); + dvfslocked = VFS_NEEDSGIANT(dvp->v_mount); vrele(dvp); VFS_UNLOCK_GIANT(dvfslocked); } From owner-p4-projects@FreeBSD.ORG Mon Jul 23 15:55:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AD7816A46E; Mon, 23 Jul 2007 15:55:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F343116A468 for ; Mon, 23 Jul 2007 15:55:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E891F13C47E for ; Mon, 23 Jul 2007 15:55:16 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NFtGJp080284 for ; Mon, 23 Jul 2007 15:55:16 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NFtGjo080281 for perforce@freebsd.org; Mon, 23 Jul 2007 15:55:16 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 15:55:16 GMT Message-Id: <200707231555.l6NFtGjo080281@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123973 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 15:55:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=123973 Change 123973 by rdivacky@rdivacky_witten on 2007/07/23 15:55:13 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/compat/ndis/subr_ntoskrnl.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_quirks.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdevs#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/isa/clock.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_thread.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_clock.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_output.c#6 delete .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_var.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/cbus/clock.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/eeprom.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/rtc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/proc.h#4 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/isa/clock.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.232 2007/06/15 22:58:14 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -686,8 +686,7 @@ return; wrong_time: - printf("Invalid time in real time clock.\n"); - printf("Check and reset the date immediately!\n"); + printf("Invalid time in clock: check and reset the date!\n"); } /* ==== //depot/projects/soc2007/rdivacky/linux_at/sys/compat/ndis/subr_ntoskrnl.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.89 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.90 2007/07/22 20:53:28 thompsa Exp $"); #include #include @@ -2778,6 +2778,7 @@ KeAcquireSpinLock(&kq->kq_lock, &irql); if (kq->kq_exit) { + kq->kq_exit = 0; KeReleaseSpinLock(&kq->kq_lock, irql); break; } @@ -2814,7 +2815,8 @@ kq = wq_queues + i; kq->kq_exit = 1; KeSetEvent(&kq->kq_proc, IO_NO_INCREMENT, FALSE); - tsleep(kq->kq_td->td_proc, PWAIT, "waitiw", 0); + while (kq->kq_exit) + tsleep(kq->kq_td->td_proc, PWAIT, "waitiw", hz/10); } return; @@ -3842,6 +3844,7 @@ KeAcquireSpinLock(&kq->kq_lock, &irql); if (kq->kq_exit) { + kq->kq_exit = 0; KeReleaseSpinLock(&kq->kq_lock, irql); break; } @@ -3891,7 +3894,8 @@ KeInitializeDpc(&dpc, NULL, NULL); KeSetTargetProcessorDpc(&dpc, i); KeInsertQueueDpc(&dpc, NULL, NULL); - tsleep(kq->kq_td->td_proc, PWAIT, "dpcw", 0); + while (kq->kq_exit) + tsleep(kq->kq_td->td_proc, PWAIT, "dpcw", hz/10); } return; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/conf/files#9 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1239 2007/07/19 16:15:58 gallatin Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1240 2007/07/23 07:58:58 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1912,7 +1912,6 @@ netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 netinet6/sctp6_usrreq.c optional inet6 sctp -netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional ipsec netipsec/ipsec_input.c optional ipsec ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi_hpet.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.9 2007/06/15 18:02:34 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.10 2007/07/22 20:45:27 njl Exp $"); #include "opt_acpi.h" #include @@ -140,7 +140,7 @@ { struct acpi_hpet_softc *sc; int rid; - uint32_t val; + uint32_t val, val2; uintmax_t freq; ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); @@ -163,6 +163,9 @@ return (ENXIO); } + /* Be sure timer is enabled. */ + bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 1); + /* Read basic statistics about the timer. */ val = bus_read_4(sc->mem_res, HPET_OFFSET_PERIOD); freq = (1000000000000000LL + val / 2) / val; @@ -175,12 +178,23 @@ ((val >> 13) & 1) ? " count_size" : ""); } - /* Be sure it is enabled. */ - bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 1); - if (testenv("debug.acpi.hpet_test")) acpi_hpet_test(sc); + /* + * Don't attach if the timer never increments. Since the spec + * requires it to be at least 10 MHz, it has to change in 1 us. + */ + val = bus_read_4(sc->mem_res, HPET_OFFSET_VALUE); + DELAY(1); + val2 = bus_read_4(sc->mem_res, HPET_OFFSET_VALUE); + if (val == val2) { + device_printf(dev, "HPET never increments, disabling\n"); + bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 0); + bus_free_resource(dev, SYS_RES_MEMORY, sc->mem_res); + return (ENXIO); + } + hpet_timecounter.tc_frequency = freq; hpet_timecounter.tc_priv = sc; tc_init(&hpet_timecounter); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usb_quirks.c#6 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.62 2007/07/10 21:00:10 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/usb_quirks.c,v 1.63 2007/07/22 15:59:45 imp Exp $"); #include #include @@ -108,7 +108,7 @@ /* Devices which should be ignored by both ukbd and uhid */ { USB_VENDOR_CYPRESS, USB_PRODUCT_CYPRESS_WISPY, ANY, { UQ_KBD_IGNORE }}, - { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY, + { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPYX, ANY, { UQ_KBD_IGNORE }}, { 0, 0, 0, { 0 } } }; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/usb/usbdevs#7 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/sys/dev/usb/usbdevs,v 1.324 2007/07/22 03:45:35 imp Exp $ +$FreeBSD: src/sys/dev/usb/usbdevs,v 1.325 2007/07/22 18:29:18 imp Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- @@ -1562,7 +1562,7 @@ product MELCO G54HP 0x00d9 WLI-U2-G54HP /* MetaGeek products */ -product METAGEEK WISPYX 0x083e MetaGeek Wi-Spy +product METAGEEK WISPYX 0x083e MetaGeek Wi-Spy 2.4x /* Metricom products */ product METRICOM RICOCHET_GS 0x0001 Ricochet GS ==== //depot/projects/soc2007/rdivacky/linux_at/sys/fs/msdosfs/msdosfs_vfsops.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/fs/msdosfs/msdosfs_vfsops.c,v 1.166 2007/07/12 17:17:47 bde Exp $ */ +/* $FreeBSD: src/sys/fs/msdosfs/msdosfs_vfsops.c,v 1.167 2007/07/23 07:10:17 bde Exp $ */ /* $NetBSD: msdosfs_vfsops.c,v 1.51 1997/11/17 15:36:58 ws Exp $ */ /*- @@ -279,9 +279,12 @@ return (error); DROP_GIANT(); g_topology_lock(); - g_access(pmp->pm_cp, 0, -1, 0); + error = g_access(pmp->pm_cp, 0, -1, 0); g_topology_unlock(); PICKUP_GIANT(); + if (error) + return (error); + /* Now the volume is clean. Mark it. */ error = markvoldirty(pmp, 0); if (error && (flags & FORCECLOSE) == 0) @@ -402,11 +405,11 @@ struct g_consumer *cp; struct bufobj *bo; - ronly = !vfs_getopt(mp->mnt_optnew, "ro", NULL, NULL); + ronly = (mp->mnt_flag & MNT_RDONLY) != 0; /* XXX: use VOP_ACCESS to check FS perms */ DROP_GIANT(); g_topology_lock(); - error = g_vfs_open(devvp, &cp, "msdos", ronly ? 0 : 1); + error = g_vfs_open(devvp, &cp, "msdosfs", ronly ? 0 : 1); g_topology_unlock(); PICKUP_GIANT(); VOP_UNLOCK(devvp, 0, td); @@ -446,6 +449,15 @@ pmp->pm_bo = bo; /* + * Initialize ownerships and permissions, since nothing else will + * initialize them iff we are mounting root. + */ + pmp->pm_uid = UID_ROOT; + pmp->pm_gid = GID_WHEEL; + pmp->pm_mask = pmp->pm_dirmask = S_IXUSR | S_IXGRP | S_IXOTH | + S_IRUSR | S_IRGRP | S_IROTH | S_IWUSR; + + /* * Experimental support for large MS-DOS filesystems. * WARNING: This uses at least 32 bytes of kernel memory (which is not * reclaimed until the FS is unmounted) for each file on disk to map ==== //depot/projects/soc2007/rdivacky/linux_at/sys/fs/tmpfs/tmpfs_vfsops.c#5 (text+ko) ==== @@ -48,7 +48,7 @@ * allocate and release resources. */ #include -__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_vfsops.c,v 1.6 2007/07/11 14:26:27 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_vfsops.c,v 1.7 2007/07/23 06:54:58 delphij Exp $"); #include #include @@ -268,7 +268,7 @@ mtx_init(&tmp->allnode_lock, "tmpfs allnode lock", NULL, MTX_DEF); tmp->tm_nodes_max = nodes; tmp->tm_nodes_inuse = 0; - tmp->tm_maxfilesize = get_swpgtotal() * PAGE_SIZE; + tmp->tm_maxfilesize = (cnt.v_page_count + get_swpgtotal()) * PAGE_SIZE; LIST_INIT(&tmp->tm_nodes_used); tmp->tm_pages_max = pages; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/i386/isa/clock.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.237 2007/06/15 22:58:13 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.238 2007/07/23 09:42:31 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -679,8 +679,7 @@ /* Look if we have a RTC present and the time is valid */ if (!(rtcin(RTC_STATUSD) & RTCSD_PWR)) { - printf("Invalid time in real time clock.\n"); - printf("Check and reset the date immediately!\n"); + printf("Invalid time in clock: check and reset the date!\n"); return; } @@ -704,7 +703,11 @@ #else ct.year += 2000; #endif - clock_ct_to_ts(&ct, &ts); + /* Should we set dow = -1 because some clocks don't set it correctly? */ + if (clock_ct_to_ts(&ct, &ts)) { + printf("Invalid time in clock: check and reset the date!\n"); + return; + } ts.tv_sec += utc_offset(); tc_setclock(&ts); } ==== //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/clock.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ia64/ia64/clock.c,v 1.30 2006/10/19 00:53:35 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/clock.c,v 1.31 2007/07/23 09:42:31 dwmalone Exp $"); #include #include @@ -142,7 +142,8 @@ ct.mon = tm.tm_mon; ct.year = tm.tm_year; ct.dow = -1; - clock_ct_to_ts(&ct, &ts); + if (clock_ct_to_ts(&ct, &ts)) + printf("Invalid time in clock: check and reset the date!\n"); ts.tv_sec += utc_offset(); /* ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.231 2007/06/12 19:49:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.232 2007/07/23 14:52:21 attilio Exp $"); #include #include @@ -68,9 +68,6 @@ static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); static struct kse_upcall *upcall_alloc(void); static void upcall_free(struct kse_upcall *ku); -static void upcall_link(struct kse_upcall *ku, struct proc *p); -static void upcall_unlink(struct kse_upcall *ku); -static void upcall_stash(struct kse_upcall *ke); struct mtx kse_lock; @@ -93,30 +90,11 @@ } void -upcall_link(struct kse_upcall *ku, struct proc *p) -{ - - PROC_SLOCK_ASSERT(p, MA_OWNED); - TAILQ_INSERT_TAIL(&p->p_upcalls, ku, ku_link); - ku->ku_proc = p; -} - -void -upcall_unlink(struct kse_upcall *ku) -{ - struct proc *p = ku->ku_proc; - - PROC_SLOCK_ASSERT(p, MA_OWNED); - KASSERT(ku->ku_owner == NULL, ("%s: have owner", __func__)); - TAILQ_REMOVE(&p->p_upcalls, ku, ku_link); - upcall_stash(ku); -} - -void upcall_remove(struct thread *td) { PROC_SLOCK_ASSERT(td->td_proc, MA_OWNED); + THREAD_LOCK_ASSERT(td, MA_OWNED); if (td->td_upcall != NULL) { /* * If we are not a bound thread then decrement the count of @@ -124,8 +102,12 @@ */ if (td->td_pflags & TDP_SA) td->td_proc->p_numupcalls--; + mtx_lock_spin(&kse_lock); td->td_upcall->ku_owner = NULL; - upcall_unlink(td->td_upcall); + TAILQ_REMOVE(&td->td_upcall->ku_proc->p_upcalls, td->td_upcall, + ku_link); + TAILQ_INSERT_HEAD(&zombie_upcalls, td->td_upcall, ku_link); + mtx_unlock_spin(&kse_lock); td->td_upcall = NULL; } } @@ -157,8 +139,12 @@ struct kse_upcall *ku; int error; - if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) + thread_lock(td); + if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); return (EINVAL); + } + thread_unlock(td); error = (uap->tmbx == NULL) ? EINVAL : 0; if (!error) error = copyin(uap->tmbx, &tmbx, sizeof(tmbx)); @@ -181,11 +167,11 @@ else ptrace_clear_single_step(td); if (tmbx.tm_dflags & TMDF_SUSPEND) { - PROC_SLOCK(td->td_proc); + thread_lock(td); /* fuword can block, check again */ if (td->td_upcall) ku->ku_flags |= KUF_DOUPCALL; - PROC_SUNLOCK(td->td_proc); + thread_unlock(td); } _PRELE(td->td_proc); } @@ -219,8 +205,12 @@ p = td->td_proc; - if (!(p->p_flag & P_SA)) + PROC_LOCK(p); + if (!(p->p_flag & P_SA)) { + PROC_UNLOCK(p); return (EINVAL); + } + PROC_UNLOCK(p); switch (uap->cmd) { case KSE_INTR_SENDSIG: @@ -274,16 +264,18 @@ /* this sub-function is only for bound thread */ if (td->td_pflags & TDP_SA) return (EINVAL); + thread_lock(td); ku = td->td_upcall; + thread_unlock(td); tmbx = (void *)fuword((void *)&ku->ku_mailbox->km_curthread); if (tmbx == NULL || tmbx == (void *)-1) return (EINVAL); flags = 0; + PROC_LOCK(p); while ((p->p_flag & P_TRACED) && !(p->p_flag & P_SINGLE_EXIT)) { flags = fuword32(&tmbx->tm_dflags); if (!(flags & TMDF_SUSPEND)) break; - PROC_LOCK(p); PROC_SLOCK(p); thread_stopped(p); PROC_UNLOCK(p); @@ -292,7 +284,9 @@ PROC_SUNLOCK(p); mi_switch(SW_VOL, NULL); thread_unlock(td); + PROC_LOCK(p); } + PROC_UNLOCK(p); return (0); case KSE_INTR_EXECVE: @@ -338,9 +332,12 @@ /* * Ensure that this is only called from the UTS */ - if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) + thread_lock(td); + if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); return (EINVAL); - + } + thread_unlock(td); /* * Calculate the existing non-exiting upcalls in this process. @@ -384,7 +381,9 @@ psignal(p, SIGSEGV); sigqueue_flush(&td->td_sigqueue); PROC_SLOCK(p); + thread_lock(td); upcall_remove(td); + thread_unlock(td); if (p->p_numthreads != 1) { thread_stopped(p); thread_exit(); @@ -435,10 +434,13 @@ int error; p = td->td_proc; + thread_lock(td); if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); printf("kse_release: called outside of threading. exiting"); exit1(td, 0); } + thread_unlock(td); if (uap->timeout != NULL) { if ((error = copyin(uap->timeout, &timeout, sizeof(timeout)))) return (error); @@ -508,9 +510,11 @@ td2 = NULL; ku = NULL; /* KSE-enabled processes only, please. */ - if (!(p->p_flag & P_SA)) + PROC_LOCK(p); + if (!(p->p_flag & P_SA)) { + PROC_UNLOCK(p); return (EINVAL); - PROC_LOCK(p); + } PROC_SLOCK(p); if (uap->mbx) { FOREACH_UPCALL_IN_PROC(p, ku) { @@ -531,10 +535,14 @@ PROC_UNLOCK(p); return (ESRCH); } + mtx_lock_spin(&kse_lock); if ((td2 = ku->ku_owner) == NULL) { + mtx_unlock_spin(&kse_lock); PROC_SUNLOCK(p); + PROC_UNLOCK(p); panic("%s: no owner", __func__); } else if (td2->td_kflags & (TDK_KSEREL | TDK_KSERELSIG)) { + mtx_unlock_spin(&kse_lock); if (!(td2->td_kflags & TDK_WAKEUP)) { td2->td_kflags |= TDK_WAKEUP; if (td2->td_kflags & TDK_KSEREL) @@ -544,6 +552,7 @@ } } else { ku->ku_flags |= KUF_DOUPCALL; + mtx_unlock_spin(&kse_lock); } PROC_SUNLOCK(p); PROC_UNLOCK(p); @@ -582,6 +591,7 @@ * suddenly start calling this one * XXX maybe... */ + PROC_LOCK(p); if ((p->p_flag & (P_SA|P_HADTHREADS)) == P_HADTHREADS) { PROC_UNLOCK(p); return (EINVAL); @@ -590,6 +600,7 @@ first = 1; p->p_flag |= P_SA|P_HADTHREADS; } + PROC_UNLOCK(p); if ((err = copyin(uap->mbx, &mbx, sizeof(mbx)))) return (err); @@ -662,7 +673,8 @@ * Make the new upcall available to the process. * It may or may not use it, but it's available. */ - upcall_link(newku, p); + TAILQ_INSERT_TAIL(&p->p_upcalls, newku, ku_link); + newku->ku_proc = p; PROC_UNLOCK(p); if (mbx.km_quantum) /* XXX should this be in the thread? */ @@ -786,44 +798,6 @@ } /* - * Stash an embarasingly extra upcall into the zombie upcall queue. - */ - -void -upcall_stash(struct kse_upcall *ku) -{ - mtx_lock_spin(&kse_lock); - TAILQ_INSERT_HEAD(&zombie_upcalls, ku, ku_link); - mtx_unlock_spin(&kse_lock); -} - -/* - * Reap zombie kse resource. - */ -void -kse_GC(void) -{ - struct kse_upcall *ku_first, *ku_next; - - /* - * Don't even bother to lock if none at this instant, - * we really don't care about the next instant.. - */ - if (!TAILQ_EMPTY(&zombie_upcalls)) { - mtx_lock_spin(&kse_lock); - ku_first = TAILQ_FIRST(&zombie_upcalls); - if (ku_first) - TAILQ_INIT(&zombie_upcalls); - mtx_unlock_spin(&kse_lock); - while (ku_first) { - ku_next = TAILQ_NEXT(ku_first, ku_link); - upcall_free(ku_first); - ku_first = ku_next; - } - } -} - -/* * Store the thread context in the UTS's mailbox. * then add the mailbox at the head of a list we are building in user space. * The list is anchored in the proc structure. @@ -885,6 +859,7 @@ } PROC_LOCK(p); if (mbx == (uintptr_t)p->p_completed) { + thread_lock(td); p->p_completed = td->td_mailbox; /* * The thread context may be taken away by @@ -893,6 +868,7 @@ * use it again in any other places. */ td->td_mailbox = NULL; + thread_unlock(td); PROC_UNLOCK(p); break; } @@ -968,8 +944,12 @@ caddr_t addr; u_int uticks; - if (td->td_mailbox == NULL) + thread_lock(td); + if (td->td_mailbox == NULL) { + thread_unlock(td); return (-1); + } + thread_unlock(td); if ((uticks = td->td_uuticks) != 0) { td->td_uuticks = 0; @@ -1173,7 +1153,9 @@ * note where our mailbox is. */ + thread_lock(td); ku = td->td_upcall; + thread_unlock(td); KASSERT(ku != NULL, ("no upcall owned")); KASSERT(ku->ku_owner == td, ("wrong owner")); @@ -1200,16 +1182,18 @@ } else { td->td_mailbox = tmbx; td->td_pflags |= TDP_CAN_UNBIND; + PROC_LOCK(p); if (__predict_false(p->p_flag & P_TRACED)) { flags = fuword32(&tmbx->tm_dflags); if (flags & TMDF_SUSPEND) { - PROC_SLOCK(td->td_proc); + thread_lock(td); /* fuword can block, check again */ if (td->td_upcall) ku->ku_flags |= KUF_DOUPCALL; - PROC_SUNLOCK(td->td_proc); + thread_unlock(td); } } + PROC_UNLOCK(p); } } } @@ -1249,6 +1233,7 @@ } p = td->td_proc; + thread_lock(td); ku = td->td_upcall; /* @@ -1258,6 +1243,7 @@ * then it can return direct to userland. */ if (TD_CAN_UNBIND(td)) { + thread_unlock(td); td->td_pflags &= ~TDP_CAN_UNBIND; if ((td->td_flags & TDF_NEEDSIGCHK) == 0 && (p->p_completed == NULL) && @@ -1281,6 +1267,7 @@ */ td->td_pflags |= TDP_UPCALLING; } else if (td->td_mailbox && (ku == NULL)) { + thread_unlock(td); thread_export_context(td, 1); PROC_LOCK(p); if (p->p_upsleeps) @@ -1292,15 +1279,16 @@ thread_stopped(p); thread_exit(); /* NOTREACHED */ - } + } else + thread_unlock(td); KASSERT(ku != NULL, ("upcall is NULL")); KASSERT(TD_CAN_UNBIND(td) == 0, ("can unbind")); + PROC_LOCK(p); + PROC_SLOCK(p); if (p->p_numthreads > max_threads_per_proc) { max_threads_hits++; - PROC_LOCK(p); - PROC_SLOCK(p); while (p->p_numthreads > max_threads_per_proc) { if (p->p_numupcalls >= max_threads_per_proc) break; @@ -1309,13 +1297,12 @@ "maxthreads", hz/10) != EWOULDBLOCK) { PROC_SLOCK(p); break; - } else { + } else PROC_SLOCK(p); - } } - PROC_SUNLOCK(p); - PROC_UNLOCK(p); } + PROC_SUNLOCK(p); + PROC_UNLOCK(p); if (td->td_pflags & TDP_UPCALLING) { uts_crit = 0; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_thread.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.250 2007/06/12 19:49:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.251 2007/07/23 14:52:21 attilio Exp $"); #include #include @@ -550,7 +550,9 @@ KASSERT((p->p_numthreads == 1), ("Unthreading with >1 threads")); #ifdef KSE + thread_lock(td); upcall_remove(td); + thread_unlock(td); p->p_flag &= ~(P_SA|P_HADTHREADS); td->td_mailbox = NULL; td->td_pflags &= ~(TDP_SA | TDP_CAN_UNBIND); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_clock.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_clock.c,v 1.11 2006/10/02 18:23:37 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_clock.c,v 1.12 2007/07/23 09:42:31 dwmalone Exp $"); #include #include @@ -151,7 +151,7 @@ days += days_in_month(year, i); days += (ct->day - 1); - /* Another sanity check. */ + /* XXX Dow sanity check. Dow is not used, so should we check it? */ if (ct->dow != -1 && ct->dow != day_of_week(days)) return (EINVAL); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/netinet6/udp6_usrreq.c#6 (text+ko) ==== @@ -1,5 +1,6 @@ -/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.78 2007/07/19 22:34:25 rwatson Exp $ */ +/* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.79 2007/07/23 07:58:58 rwatson Exp $ */ /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ +/* $KAME: udp6_output.c,v 1.31 2001/05/21 16:39:15 jinmei Exp $ */ /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. @@ -468,6 +469,231 @@ SYSCTL_PROC(_net_inet6_udp6, OID_AUTO, getcred, CTLTYPE_OPAQUE|CTLFLAG_RW, 0, 0, udp6_getcred, "S,xucred", "Get the xucred of a UDP6 connection"); +#define in6pcb inpcb +#define udp6stat udpstat +#define udp6s_opackets udps_opackets + +static int +udp6_output(struct in6pcb *in6p, struct mbuf *m, struct sockaddr *addr6, + struct mbuf *control, struct thread *td) +{ + u_int32_t ulen = m->m_pkthdr.len; + u_int32_t plen = sizeof(struct udphdr) + ulen; + struct ip6_hdr *ip6; + struct udphdr *udp6; + struct in6_addr *laddr, *faddr; + struct sockaddr_in6 *sin6 = NULL; + struct ifnet *oifp = NULL; + int scope_ambiguous = 0; + u_short fport; + int error = 0; + struct ip6_pktopts *optp, opt; + int priv; + int af = AF_INET6, hlen = sizeof(struct ip6_hdr); + int flags; + struct sockaddr_in6 tmp; + + INP_LOCK_ASSERT(in6p); + + priv = 0; + if (td && !suser(td)) + priv = 1; + + if (addr6) { + /* addr6 has been validated in udp6_send(). */ + sin6 = (struct sockaddr_in6 *)addr6; + + /* protect *sin6 from overwrites */ + tmp = *sin6; + sin6 = &tmp; + + /* + * Application should provide a proper zone ID or the use of + * default zone IDs should be enabled. Unfortunately, some + * applications do not behave as it should, so we need a + * workaround. Even if an appropriate ID is not determined, + * we'll see if we can determine the outgoing interface. If we + * can, determine the zone ID based on the interface below. + */ + if (sin6->sin6_scope_id == 0 && !ip6_use_defzone) + scope_ambiguous = 1; + if ((error = sa6_embedscope(sin6, ip6_use_defzone)) != 0) + return (error); + } + + if (control) { + if ((error = ip6_setpktopts(control, &opt, + in6p->in6p_outputopts, priv, IPPROTO_UDP)) != 0) + goto release; + optp = &opt; + } else + optp = in6p->in6p_outputopts; + + if (sin6) { + faddr = &sin6->sin6_addr; + + /* + * IPv4 version of udp_output calls in_pcbconnect in this case, + * which needs splnet and affects performance. + * Since we saw no essential reason for calling in_pcbconnect, + * we get rid of such kind of logic, and call in6_selectsrc + * and in6_pcbsetport in order to fill in the local address + * and the local port. + */ + if (sin6->sin6_port == 0) { + error = EADDRNOTAVAIL; + goto release; + } + + if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) { + /* how about ::ffff:0.0.0.0 case? */ + error = EISCONN; + goto release; + } + + fport = sin6->sin6_port; /* allow 0 port */ + + if (IN6_IS_ADDR_V4MAPPED(faddr)) { + if ((in6p->in6p_flags & IN6P_IPV6_V6ONLY)) { + /* + * I believe we should explicitly discard the + * packet when mapped addresses are disabled, + * rather than send the packet as an IPv6 one. + * If we chose the latter approach, the packet + * might be sent out on the wire based on the + * default route, the situation which we'd + * probably want to avoid. + * (20010421 jinmei@kame.net) + */ + error = EINVAL; + goto release; + } + if (!IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_laddr) && + !IN6_IS_ADDR_V4MAPPED(&in6p->in6p_laddr)) { + /* + * when remote addr is an IPv4-mapped address, + * local addr should not be an IPv6 address, + * since you cannot determine how to map IPv6 + * source address to IPv4. + */ + error = EINVAL; + goto release; + } + + af = AF_INET; + } + + if (!IN6_IS_ADDR_V4MAPPED(faddr)) { + laddr = in6_selectsrc(sin6, optp, in6p->in6p_moptions, + NULL, &in6p->in6p_laddr, &oifp, &error); + if (oifp && scope_ambiguous && + (error = in6_setscope(&sin6->sin6_addr, + oifp, NULL))) { + goto release; + } + } else + laddr = &in6p->in6p_laddr; /* XXX */ + if (laddr == NULL) { + if (error == 0) + error = EADDRNOTAVAIL; + goto release; + } + if (in6p->in6p_lport == 0 && + (error = in6_pcbsetport(laddr, in6p, td->td_ucred)) != 0) + goto release; + } else { + if (IN6_IS_ADDR_UNSPECIFIED(&in6p->in6p_faddr)) { + error = ENOTCONN; + goto release; + } + if (IN6_IS_ADDR_V4MAPPED(&in6p->in6p_faddr)) { + if ((in6p->in6p_flags & IN6P_IPV6_V6ONLY)) { + /* + * XXX: this case would happen when the + * application sets the V6ONLY flag after + * connecting the foreign address. + * Such applications should be fixed, + * so we bark here. + */ + log(LOG_INFO, "udp6_output: IPV6_V6ONLY " + "option was set for a connected socket\n"); + error = EINVAL; + goto release; + } else + af = AF_INET; + } + laddr = &in6p->in6p_laddr; + faddr = &in6p->in6p_faddr; + fport = in6p->in6p_fport; + } + + if (af == AF_INET) + hlen = sizeof(struct ip); + + /* + * Calculate data length and get a mbuf + * for UDP and IP6 headers. + */ + M_PREPEND(m, hlen + sizeof(struct udphdr), M_DONTWAIT); + if (m == 0) { + error = ENOBUFS; + goto release; + } + + /* + * Stuff checksum and output datagram. + */ + udp6 = (struct udphdr *)(mtod(m, caddr_t) + hlen); + udp6->uh_sport = in6p->in6p_lport; /* lport is always set in the PCB */ + udp6->uh_dport = fport; + if (plen <= 0xffff) + udp6->uh_ulen = htons((u_short)plen); + else + udp6->uh_ulen = 0; + udp6->uh_sum = 0; + + switch (af) { + case AF_INET6: + ip6 = mtod(m, struct ip6_hdr *); + ip6->ip6_flow = in6p->in6p_flowinfo & IPV6_FLOWINFO_MASK; + ip6->ip6_vfc &= ~IPV6_VERSION_MASK; + ip6->ip6_vfc |= IPV6_VERSION; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 23 16:47:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6C7216A41A; Mon, 23 Jul 2007 16:47:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 943CB16A417 for ; Mon, 23 Jul 2007 16:47:22 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8BA2B13C428 for ; Mon, 23 Jul 2007 16:47:22 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NGlMx0092934 for ; Mon, 23 Jul 2007 16:47:22 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NGlM5P092929 for perforce@freebsd.org; Mon, 23 Jul 2007 16:47:22 GMT (envelope-from mharvan@FreeBSD.org) Date: Mon, 23 Jul 2007 16:47:22 GMT Message-Id: <200707231647.l6NGlM5P092929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 16:47:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=123975 Change 123975 by mharvan@mharvan_twoflower on 2007/07/23 16:46:34 plugins can choose whether the daemon should prepend a fragmentation header the tcp plugin does framing on its own Affected files ... .. //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_icmp.c#3 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_tcp.c#5 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_udp.c#4 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#10 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#5 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_icmp.c#3 (text+ko) ==== @@ -113,6 +113,7 @@ int plugin_register(plugint* pl) { pl->name = "icmp"; + pl->need_frag = 1; pl->initialize = plugin_initialize; pl->deinitialize = plugin_deinitialize; pl->send = plugin_send; @@ -185,7 +186,7 @@ if (data->server) { #ifdef __FreeBSD__ - //system("sysctl net.ipv4.icmp_echo_ignore_all=0"); + system("sysctl net.ipv4.icmp_echo_ignore_all=0"); #else system("sysctl net.ipv4.icmp_echo_ignore_all=0"); #endif ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_tcp.c#5 (text+ko) ==== @@ -15,6 +15,8 @@ #include "tunneld.h" #include "plugin.h" +#define min(a,b) ( (a>b) ? b : a ) + /* * Establish a connected UDP endpoint. First get the list of potential * network layer addresses and transport layer port numbers. Iterate @@ -188,6 +190,7 @@ int plugin_register(plugint* pl) { pl->name = "tcp"; + pl->need_frag = 0; pl->initialize = plugin_initialize; pl->deinitialize = plugin_deinitialize; pl->send = plugin_send; @@ -247,7 +250,9 @@ plugin_tcp_datat *data = (plugin_tcp_datat*) pl->data; int n = 0; char packet[PACKETLEN]; + char *packet_p = packet; int new_fd = -1; + int len; //fprintf(stderr, "state: %d\n", data->state); if (! (data->state == PLUGIN_STATE_CONNECTED @@ -272,19 +277,42 @@ //report_plugin_error(pl, PLUGIN_ERROR_SUCCESS); } } else { - //n = read(data->fd, packet, sizeof(packet)); - n = recv(fd, packet, sizeof(packet),0); - //fprintf(stderr, "n: %d\n", n); - if (n <= 0) { - /* client disconnected */ - unregister_select_fd(fd); - data->state = PLUGIN_STATE_DISCONNECTED; - report_plugin_error(pl, PLUGIN_ERROR_RECEIVE); - } else if (n > 0) { + /* get length of the next packet */ + n = recv(fd, &len, sizeof(len),0); + if (n <= 0) goto recv_error; + + if (len <= sizeof(packet)) { + while (len>0) { + n = recv(fd, packet_p, len,0); + if (n <= 0) { + goto recv_error; + } else { + len -= n; + packet_p += n; + } + } process_data_from_plugin(pl, packet, n); + //report_plugin_error(pl, PLUGIN_ERROR_SUCCESS); + /* packet too large */ + } else { + fprintf(stderr, "client sent a too large packet (len: %d)\n", + len); + while(len) { + n = recv(fd, packet, min(len, sizeof(packet)),0); + if (n <= 0) { + goto recv_error; + } else { + len -= n; + } + } } + return; + recv_error: + /* client disconnected */ + unregister_select_fd(fd); + data->state = PLUGIN_STATE_DISCONNECTED; + report_plugin_error(pl, PLUGIN_ERROR_RECEIVE); } - //report_plugin_error(pl, PLUGIN_ERROR_SUCCESS); } /* @@ -294,11 +322,15 @@ int plugin_send(plugint *pl, char *data, int len) { plugin_tcp_datat *datapl = (plugin_tcp_datat*) pl->data; int n = 0; + if (datapl->state != PLUGIN_STATE_CONNECTED) { fprintf(stderr, "no client connected yet, discarding data\n"); return 0; } else { //n = write(datapl->fd, data, len); + // TODO: we should use on buffer only as the current + // approach generates two packets + n = send(datapl->fd, &len, sizeof(len), 0); n = send(datapl->fd, data, len, 0); //fprintf(stderr, "plugin_send: fd: %d\n", datapl->fd); //fprintf(stderr, "plugin_send: write returned %d\n", n); ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/plugin_udp.c#4 (text+ko) ==== @@ -129,6 +129,7 @@ int plugin_register(plugint* pl) { pl->name = "udp"; + pl->need_frag = 1; pl->initialize = plugin_initialize; pl->deinitialize = plugin_deinitialize; pl->send = plugin_send; ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#10 (text+ko) ==== @@ -32,7 +32,7 @@ #define min(a,b) ( (a>b) ? b : a ) -/* max transfered unit - capsuled packet size */ +/* max transfered unit - encapsulated packet size */ //const int mtu = 1400; #define MTU 1500 /* how many pings can fail before the plugin is declared broken */ @@ -262,7 +262,8 @@ { u_int8_t dispatch = *data; frag_hdr_t *frag_hdr = NULL; - frag_llist_t *p, *q, **pp; + frag_llist_t *p; /* pointer to frag info about the processed fragment */ + frag_llist_t **pp; /* previous item before p */ struct timeval tv; int i; int dgram_reassembled; @@ -288,7 +289,7 @@ fprintf(stderr, "got a frag header: id %d, size %d, off %d, len %d\n", frag_hdr->id, frag_hdr->size, frag_hdr->offset, len); - /* search frag info in list */ + /* check if reassembly for this fragment has already started */ pp = &frag_list; for(p = frag_list; p; p = p->next) { if (p->id == frag_hdr->id && @@ -300,7 +301,7 @@ /* found in list */ if (p) { fprintf(stderr, "found frag info in list\n"); - /* fragment info not found in list, start a new reassembly */ + /* fragment info not found in list, start a new reassembly */ } else { fprintf(stderr, "frag info NOT found in list\n"); /* allocate memory */ @@ -349,6 +350,7 @@ } } else { fprintf(stderr, "fragment outside of packet payload\n"); + return; } /* check if the complete packet has been reassembled */ @@ -357,23 +359,13 @@ for(i=0; i < p->size/8 && dgram_reassembled; i++) { if (p->bitmap[i] != 0xff) { dgram_reassembled = 0; -/* printf("dgram_reassembled = 0 (bitmap[%d]: 0x%x)\n", */ -/* i, p->bitmap[i]); */ } } for(i=0; i < p->size%8 && dgram_reassembled; i++) { if (! (p->bitmap[p->size/8] & (1 << i))) { dgram_reassembled=0; -/* printf("dgram_reassembled = 0 (bitmap<<%d)\n", i); */ -/* printf("bitmap[%d]: 0x%x)\n", */ -/* p->size/8, p->bitmap[p->size/8]); */ } } -/* printf("bitmap: 0x"); */ -/* for(i=0; i < p->size/8 + 1; i++) { */ -/* printf("%x",p->bitmap[i]); */ -/* } */ -/* printf("\n"); */ /* packet completely reassembled */ if (dgram_reassembled) { fprintf(stderr, "frag reassembly: packet complete\n"); @@ -381,11 +373,10 @@ tun_send(p->buf, p->size); /* remove fragment info from linked list */ - q = p->next; + *pp = p->next; free(p->buf); free(p->bitmap); free(p); - *pp = q; } break; case DISPATCH_ECHO_REQUEST: @@ -419,8 +410,11 @@ if (current_pl == NULL) { fprintf(stderr, "no plugin connected yet, discarding tun data\n"); report_plugin_error(NULL, PLUGIN_ERROR_BOOTSTRAP); - } else { -#ifdef NO_FRAG + return; + } + + /* no need to add the fragmentation header */ + if (! current_pl->need_frag) { *ldata = DISPATCH_DATA; memcpy(ldata+1, data, min(sizeof(ldata)-1, len)); n = current_pl->send(current_pl, ldata, min(sizeof(ldata), len+1)); @@ -429,7 +423,8 @@ fprintf(stderr, "process_data_from_tun: plugind sent less " "bytes (%d) than requested (%d)\n", n, len); } -#else /* NO_FRAG */ + /* add the fragmentation header */ + } else { // mtu = current_pl->mtu; /* prepare the frag header */ @@ -467,7 +462,6 @@ frag_hdr.offset += n; len -= n; } -#endif /* NO_FRAG */ } } @@ -603,19 +597,22 @@ /* setup the tun interface */ if (server) { - #ifdef __FreeBSD__ +#ifdef __FreeBSD__ ssystem("ifconfig tun0 mtu 1400 192.168.0.1 192.168.0.2"); - #endif +#endif +#ifdef __linux + ssystem("ifconfig tun0 mtu 1400 192.168.0.1"); + ssystem("route add 192.168.0.2 tun0"); +#endif } else { - /* FreeBSD */ - #ifdef __FreeBSD__ +#ifdef __FreeBSD__ ssystem("ifconfig tun0 mtu 1400 192.168.0.2 192.168.0.1"); - #else - /* Linux */ +#endif +#ifdef __linux ssystem("ifconfig tun0 mtu 1400 192.168.0.2"); ssystem("route add 192.168.0.1 tun0"); - #endif +#endif } signal(SIGHUP, sigcb); @@ -635,8 +632,8 @@ plugins->name = "tcp_2222"; load_plugin("./plugin_tcp.so"); plugins->name = "tcp_3333"; - load_plugin("./plugin_icmp.so"); - plugins->name = "icmp"; + // load_plugin("./plugin_icmp.so"); + // plugins->name = "icmp"; if (server) { /* initialize all plugins */ ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#5 (text+ko) ==== @@ -44,6 +44,8 @@ int (*send)(struct _plugint*, char*, int); void (*receive)(int fd, short ev_type, void *arg); /* select fired on some fd - check for data */ void* data; + int need_frag; + int mtu; struct _plugint *next; } plugint; From owner-p4-projects@FreeBSD.ORG Mon Jul 23 17:09:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EE41116A420; Mon, 23 Jul 2007 17:09:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BFC9A16A417 for ; Mon, 23 Jul 2007 17:09:52 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B878713C442 for ; Mon, 23 Jul 2007 17:09:52 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NH9qaA095382 for ; Mon, 23 Jul 2007 17:09:52 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NH9q43095379 for perforce@freebsd.org; Mon, 23 Jul 2007 17:09:52 GMT (envelope-from rdivacky@FreeBSD.org) Date: Mon, 23 Jul 2007 17:09:52 GMT Message-Id: <200707231709.l6NH9q43095379@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 123977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 17:09:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=123977 Change 123977 by rdivacky@rdivacky_witten on 2007/07/23 17:08:52 Fix kern_linkat() nd* merge. Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#4 edit .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#51 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#4 (text+ko) ==== @@ -67,8 +67,6 @@ static void thread_alloc_spare(struct thread *td); static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); static struct kse_upcall *upcall_alloc(void); -static void upcall_free(struct kse_upcall *ku); - struct mtx kse_lock; MTX_SYSINIT(kse_lock, &kse_lock, "kse lock", MTX_SPIN); @@ -83,13 +81,6 @@ } void -upcall_free(struct kse_upcall *ku) -{ - - uma_zfree(upcall_zone, ku); -} - -void upcall_remove(struct thread *td) { ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#51 (text+ko) ==== @@ -1637,9 +1637,6 @@ return (error); } - NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | - SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, ldvp); - if ((error = namei(&nd)) != 0) goto out; vfslocked = NDHASGIANT(&nd); @@ -1656,6 +1653,8 @@ VFS_UNLOCK_GIANT(vfslocked); goto out; } + NDINIT_AT(&nd, CREATE, ((error) ? ATBADF : 0) | LOCKPARENT | + SAVENAME | MPSAFE | AUDITVNODE1, segflg, path2, td, ldvp); if ((error = namei(&nd)) == 0) { lvfslocked = NDHASGIANT(&nd); if (nd.ni_vp != NULL) { @@ -4028,6 +4027,7 @@ vrele(fromnd.ni_startdir); VFS_UNLOCK_GIANT(fvfslocked); VFS_UNLOCK_GIANT(tvfslocked); + out2: if (frdvp) { fvfslocked = VFS_NEEDSGIANT(frdvp->v_mount); From owner-p4-projects@FreeBSD.ORG Mon Jul 23 17:11:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BA8FD16A468; Mon, 23 Jul 2007 17:11:57 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4AFEF16A41A for ; Mon, 23 Jul 2007 17:11:57 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 0A87D13C4B7 for ; Mon, 23 Jul 2007 17:11:54 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 1BE588C0347 for ; Mon, 23 Jul 2007 19:11:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id woI7mGBtCzy4 for ; Mon, 23 Jul 2007 19:11:52 +0200 (CEST) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 065908C0346 for ; Mon, 23 Jul 2007 19:11:52 +0200 (CEST) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l6NHBpqr074058 for perforce@FreeBSD.org; Mon, 23 Jul 2007 19:11:51 +0200 (CEST) (envelope-from rdivacky) Date: Mon, 23 Jul 2007 19:11:51 +0200 From: Roman Divacky To: Perforce Change Reviews Message-ID: <20070723171151.GA74046@freebsd.org> References: <200707231709.l6NH9q43095379@repoman.freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200707231709.l6NH9q43095379@repoman.freebsd.org> User-Agent: Mutt/1.4.2.3i Cc: Subject: Re: PERFORCE change 123977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 17:11:58 -0000 On Mon, Jul 23, 2007 at 05:09:52PM +0000, Roman Divacky wrote: > http://perforce.freebsd.org/chv.cgi?CH=123977 > > Change 123977 by rdivacky@rdivacky_witten on 2007/07/23 17:08:52 > > Fix kern_linkat() nd* merge. > > Affected files ... > > .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#4 edit > .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_syscalls.c#51 edit > > Differences ... > > ==== //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_kse.c#4 (text+ko) ==== > > @@ -67,8 +67,6 @@ > static void thread_alloc_spare(struct thread *td); > static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); > static struct kse_upcall *upcall_alloc(void); > -static void upcall_free(struct kse_upcall *ku); > - > > struct mtx kse_lock; > MTX_SYSINIT(kse_lock, &kse_lock, "kse lock", MTX_SPIN); > @@ -83,13 +81,6 @@ > } > > void > -upcall_free(struct kse_upcall *ku) > -{ > - > - uma_zfree(upcall_zone, ku); > -} > - > -void > upcall_remove(struct thread *td) > { > > this does not belong here of course ;( From owner-p4-projects@FreeBSD.ORG Mon Jul 23 17:18:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D731816A420; Mon, 23 Jul 2007 17:18:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 938F116A41B for ; Mon, 23 Jul 2007 17:18:03 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8B57213C442 for ; Mon, 23 Jul 2007 17:18:03 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NHI3pN095932 for ; Mon, 23 Jul 2007 17:18:03 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NHI3cP095929 for perforce@freebsd.org; Mon, 23 Jul 2007 17:18:03 GMT (envelope-from anchie@FreeBSD.org) Date: Mon, 23 Jul 2007 17:18:03 GMT Message-Id: <200707231718.l6NHI3cP095929@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 123978 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 17:18:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=123978 Change 123978 by anchie@anchie_malimis on 2007/07/23 17:17:31 Added support for PF_KEY variables in vnets. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/key.c#7 edit .. //depot/projects/vimage/src/sys/netipsec/keysock.c#6 edit .. //depot/projects/vimage/src/sys/netipsec/keysock.h#2 edit .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#6 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/key.c#7 (text+ko) ==== @@ -6742,7 +6742,7 @@ if ((m->m_flags & M_PKTHDR) == 0 || m->m_pkthdr.len != m->m_pkthdr.len) { ipseclog((LOG_DEBUG, "%s: invalid message length.\n",__func__)); - pfkeystat.out_invlen++; + V_pfkeystat.out_invlen++; error = EINVAL; goto senderror; } @@ -6750,7 +6750,7 @@ if (msg->sadb_msg_version != PF_KEY_V2) { ipseclog((LOG_DEBUG, "%s: PF_KEY version %u is mismatched.\n", __func__, msg->sadb_msg_version)); - pfkeystat.out_invver++; + V_pfkeystat.out_invver++; error = EINVAL; goto senderror; } @@ -6758,7 +6758,7 @@ if (msg->sadb_msg_type > SADB_MAX) { ipseclog((LOG_DEBUG, "%s: invalid type %u is passed.\n", __func__, msg->sadb_msg_type)); - pfkeystat.out_invmsgtype++; + V_pfkeystat.out_invmsgtype++; error = EINVAL; goto senderror; } @@ -6811,7 +6811,7 @@ ipseclog((LOG_DEBUG, "%s: must specify satype " "when msg type=%u.\n", __func__, msg->sadb_msg_type)); - pfkeystat.out_invsatype++; + V_pfkeystat.out_invsatype++; error = EINVAL; goto senderror; } @@ -6831,7 +6831,7 @@ case SADB_X_SPDDELETE2: ipseclog((LOG_DEBUG, "%s: illegal satype=%u\n", __func__, msg->sadb_msg_type)); - pfkeystat.out_invsatype++; + V_pfkeystat.out_invsatype++; error = EINVAL; goto senderror; } @@ -6842,7 +6842,7 @@ case SADB_SATYPE_MIP: ipseclog((LOG_DEBUG, "%s: type %u isn't supported.\n", __func__, msg->sadb_msg_satype)); - pfkeystat.out_invsatype++; + V_pfkeystat.out_invsatype++; error = EOPNOTSUPP; goto senderror; case 1: /* XXX: What does it do? */ @@ -6852,7 +6852,7 @@ default: ipseclog((LOG_DEBUG, "%s: invalid type %u is passed.\n", __func__, msg->sadb_msg_satype)); - pfkeystat.out_invsatype++; + V_pfkeystat.out_invsatype++; error = EINVAL; goto senderror; } @@ -6870,7 +6870,7 @@ if (src0->sadb_address_proto != dst0->sadb_address_proto) { ipseclog((LOG_DEBUG, "%s: upper layer protocol " "mismatched.\n", __func__)); - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6880,7 +6880,7 @@ PFKEY_ADDR_SADDR(dst0)->sa_family) { ipseclog((LOG_DEBUG, "%s: address family mismatched.\n", __func__)); - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6888,7 +6888,7 @@ PFKEY_ADDR_SADDR(dst0)->sa_len) { ipseclog((LOG_DEBUG, "%s: address struct size " "mismatched.\n", __func__)); - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6897,7 +6897,7 @@ case AF_INET: if (PFKEY_ADDR_SADDR(src0)->sa_len != sizeof(struct sockaddr_in)) { - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6905,7 +6905,7 @@ case AF_INET6: if (PFKEY_ADDR_SADDR(src0)->sa_len != sizeof(struct sockaddr_in6)) { - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6913,7 +6913,7 @@ default: ipseclog((LOG_DEBUG, "%s: unsupported address family\n", __func__)); - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EAFNOSUPPORT; goto senderror; } @@ -6935,7 +6935,7 @@ dst0->sadb_address_prefixlen > plen) { ipseclog((LOG_DEBUG, "%s: illegal prefixlen.\n", __func__)); - pfkeystat.out_invaddr++; + V_pfkeystat.out_invaddr++; error = EINVAL; goto senderror; } @@ -6948,7 +6948,7 @@ if (msg->sadb_msg_type >= sizeof(key_typesw)/sizeof(key_typesw[0]) || key_typesw[msg->sadb_msg_type] == NULL) { - pfkeystat.out_invmsgtype++; + V_pfkeystat.out_invmsgtype++; error = EINVAL; goto senderror; } @@ -7043,7 +7043,7 @@ ipseclog((LOG_DEBUG, "%s: duplicate ext_type " "%u\n", __func__, ext->sadb_ext_type)); m_freem(m); - pfkeystat.out_dupext++; + V_pfkeystat.out_dupext++; return EINVAL; } break; @@ -7051,7 +7051,7 @@ ipseclog((LOG_DEBUG, "%s: invalid ext_type %u\n", __func__, ext->sadb_ext_type)); m_freem(m); - pfkeystat.out_invexttype++; + V_pfkeystat.out_invexttype++; return EINVAL; } @@ -7059,7 +7059,7 @@ if (key_validate_ext(ext, extlen)) { m_freem(m); - pfkeystat.out_invlen++; + V_pfkeystat.out_invlen++; return EINVAL; } @@ -7077,7 +7077,7 @@ if (off != end) { m_freem(m); - pfkeystat.out_invlen++; + V_pfkeystat.out_invlen++; return EINVAL; } ==== //depot/projects/vimage/src/sys/netipsec/keysock.c#6 (text+ko) ==== @@ -65,9 +65,12 @@ #include #include #include - +#ifdef VIMAGE +#include +#endif #include +#ifndef VIMAGE struct key_cb { int key_count; int any_count; @@ -76,10 +79,13 @@ static struct sockaddr key_dst = { 2, PF_KEY, }; static struct sockaddr key_src = { 2, PF_KEY, }; +#endif static int key_sendup0 __P((struct rawcb *, struct mbuf *, int)); +#ifndef VIMAGE struct pfkeystat pfkeystat; +#endif /* * key_output() @@ -94,19 +100,19 @@ if (m == 0) panic("%s: NULL pointer was passed.\n", __func__); - pfkeystat.out_total++; - pfkeystat.out_bytes += m->m_pkthdr.len; + V_pfkeystat.out_total++; + V_pfkeystat.out_bytes += m->m_pkthdr.len; len = m->m_pkthdr.len; if (len < sizeof(struct sadb_msg)) { - pfkeystat.out_tooshort++; + V_pfkeystat.out_tooshort++; error = EINVAL; goto end; } if (m->m_len < sizeof(struct sadb_msg)) { if ((m = m_pullup(m, sizeof(struct sadb_msg))) == 0) { - pfkeystat.out_nomem++; + V_pfkeystat.out_nomem++; error = ENOBUFS; goto end; } @@ -117,9 +123,9 @@ KEYDEBUG(KEYDEBUG_KEY_DUMP, kdebug_mbuf(m)); msg = mtod(m, struct sadb_msg *); - pfkeystat.out_msgtype[msg->sadb_msg_type]++; + V_pfkeystat.out_msgtype[msg->sadb_msg_type]++; if (len != PFKEY_UNUNIT64(msg->sadb_msg_len)) { - pfkeystat.out_invlen++; + V_pfkeystat.out_invlen++; error = EINVAL; goto end; } @@ -141,6 +147,7 @@ struct mbuf *m; int promisc; { + INIT_VNET_IPSEC(curvnet); int error; if (promisc) { @@ -150,7 +157,7 @@ if (m && m->m_len < sizeof(struct sadb_msg)) m = m_pullup(m, sizeof(struct sadb_msg)); if (!m) { - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; m_freem(m); return ENOBUFS; } @@ -163,12 +170,12 @@ pmsg->sadb_msg_len = PFKEY_UNIT64(m->m_pkthdr.len); /* pid and seq? */ - pfkeystat.in_msgtype[pmsg->sadb_msg_type]++; + V_pfkeystat.in_msgtype[pmsg->sadb_msg_type]++; } - if (!sbappendaddr(&rp->rcb_socket->so_rcv, (struct sockaddr *)&key_src, + if (!sbappendaddr(&rp->rcb_socket->so_rcv, (struct sockaddr *)&V_key_src, m, NULL)) { - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; m_freem(m); error = ENOBUFS; } else @@ -201,9 +208,9 @@ * we increment statistics here, just in case we have ENOBUFS * in this function. */ - pfkeystat.in_total++; - pfkeystat.in_bytes += len; - pfkeystat.in_msgtype[msg->sadb_msg_type]++; + V_pfkeystat.in_total++; + V_pfkeystat.in_bytes += len; + V_pfkeystat.in_msgtype[msg->sadb_msg_type]++; /* * Get mbuf chain whenever possible (not clusters), @@ -220,14 +227,14 @@ if (tlen == len) { MGETHDR(n, M_DONTWAIT, MT_DATA); if (n == NULL) { - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; return ENOBUFS; } n->m_len = MHLEN; } else { MGET(n, M_DONTWAIT, MT_DATA); if (n == NULL) { - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; return ENOBUFS; } n->m_len = MLEN; @@ -237,7 +244,7 @@ if ((n->m_flags & M_EXT) == 0) { m_free(n); m_freem(m); - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; return ENOBUFS; } n->m_len = MCLBYTES; @@ -260,9 +267,9 @@ m_copyback(m, 0, len, (caddr_t)msg); /* avoid duplicated statistics */ - pfkeystat.in_total--; - pfkeystat.in_bytes -= len; - pfkeystat.in_msgtype[msg->sadb_msg_type]--; + V_pfkeystat.in_total--; + V_pfkeystat.in_bytes -= len; + V_pfkeystat.in_msgtype[msg->sadb_msg_type]--; return key_sendup_mbuf(so, m, target); } @@ -275,6 +282,7 @@ int target; { INIT_VNET_NET(curvnet); + INIT_VNET_IPSEC(curvnet); struct mbuf *n; struct keycb *kp; int sendup; @@ -286,19 +294,19 @@ if (so == NULL && target == KEY_SENDUP_ONE) panic("%s: NULL pointer was passed.\n", __func__); - pfkeystat.in_total++; - pfkeystat.in_bytes += m->m_pkthdr.len; + V_pfkeystat.in_total++; + V_pfkeystat.in_bytes += m->m_pkthdr.len; if (m->m_len < sizeof(struct sadb_msg)) { m = m_pullup(m, sizeof(struct sadb_msg)); if (m == NULL) { - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; return ENOBUFS; } } if (m->m_len >= sizeof(struct sadb_msg)) { struct sadb_msg *msg; msg = mtod(m, struct sadb_msg *); - pfkeystat.in_msgtype[msg->sadb_msg_type]++; + V_pfkeystat.in_msgtype[msg->sadb_msg_type]++; } mtx_lock(&rawcb_mtx); LIST_FOREACH(rp, &V_rawcb_list, list) @@ -343,14 +351,14 @@ sendup++; break; } - pfkeystat.in_msgtarget[target]++; + V_pfkeystat.in_msgtarget[target]++; if (!sendup) continue; if ((n = m_copy(m, 0, (int)M_COPYALL)) == NULL) { m_freem(m); - pfkeystat.in_nomem++; + V_pfkeystat.in_nomem++; mtx_unlock(&rawcb_mtx); return ENOBUFS; } @@ -392,6 +400,7 @@ static int key_attach(struct socket *so, int proto, struct thread *td) { + INIT_VNET_IPSEC(curvnet); struct keycb *kp; int error; @@ -414,10 +423,10 @@ kp->kp_promisc = kp->kp_registered = 0; if (kp->kp_raw.rcb_proto.sp_protocol == PF_KEY) /* XXX: AF_KEY */ - key_cb.key_count++; - key_cb.any_count++; - kp->kp_raw.rcb_laddr = &key_src; - kp->kp_raw.rcb_faddr = &key_dst; + V_key_cb.key_count++; + V_key_cb.any_count++; + kp->kp_raw.rcb_laddr = &V_key_src; + kp->kp_raw.rcb_faddr = &V_key_dst; soisconnected(so); so->so_options |= SO_USELOOPBACK; @@ -462,13 +471,14 @@ static void key_detach(struct socket *so) { + INIT_VNET_IPSEC(curvnet); struct keycb *kp = (struct keycb *)sotorawcb(so); KASSERT(kp != NULL, ("key_detach: kp == NULL")); if (kp->kp_raw.rcb_proto.sp_protocol == PF_KEY) /* XXX: AF_KEY */ - key_cb.key_count--; - key_cb.any_count--; + V_key_cb.key_count--; + V_key_cb.any_count--; key_freereg(so); raw_usrreqs.pru_detach(so); @@ -564,7 +574,14 @@ static void key_init0(void) { - bzero((caddr_t)&key_cb, sizeof(key_cb)); + INIT_VNET_IPSEC(curvnet); + + V_key_dst.sa_len = 2; + V_key_dst.sa_family = PF_KEY; + V_key_src.sa_len = 2; + V_key_src.sa_family = PF_KEY; + + bzero((caddr_t)&V_key_cb, sizeof(V_key_cb)); key_init(); } ==== //depot/projects/vimage/src/sys/netipsec/keysock.h#2 (text+ko) ==== @@ -57,7 +57,12 @@ /* others */ u_quad_t sockerr; /* # of socket related errors */ }; - +#ifdef VIMAGE +struct key_cb { + int key_count; + int any_count; +}; +#endif #define KEY_SENDUP_ONE 0 #define KEY_SENDUP_ALL 1 #define KEY_SENDUP_REGISTERED 2 ==== //depot/projects/vimage/src/sys/netipsec/vipsec.h#6 (text+ko) ==== @@ -50,6 +50,8 @@ #include #include +#include + struct vnet_ipsec { struct vnet *parent_vnet; @@ -107,6 +109,11 @@ int _ipcomp_enable; struct ipcompstat _ipcompstat; + + struct pfkeystat _pfkeystat; + struct key_cb _key_cb; + struct sockaddr _key_dst; + struct sockaddr _key_src; }; #endif @@ -165,4 +172,8 @@ #define V_ahstat VNET_IPSEC(ahstat) #define V_ipcomp_enable VNET_IPSEC(ipcomp_enable) #define V_ipcompstat VNET_IPSEC(ipcompstat) +#define V_pfkeystat VNET_IPSEC(pfkeystat) +#define V_key_cb VNET_IPSEC(key_cb) +#define V_key_dst VNET_IPSEC(key_dst) +#define V_key_src VNET_IPSEC(key_src) #endif /* !_NETIPSEC_VIPSEC_H_ */ From owner-p4-projects@FreeBSD.ORG Mon Jul 23 17:31:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A145C16A41B; Mon, 23 Jul 2007 17:31:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E934E16A417 for ; Mon, 23 Jul 2007 17:31:20 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E281513C46E for ; Mon, 23 Jul 2007 17:31:20 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NHVK7n096991 for ; Mon, 23 Jul 2007 17:31:20 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NHVKK1096988 for perforce@freebsd.org; Mon, 23 Jul 2007 17:31:20 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 23 Jul 2007 17:31:20 GMT Message-Id: <200707231731.l6NHVKK1096988@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123979 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 17:31:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=123979 Change 123979 by lulf@lulf_carrot on 2007/07/23 17:31:10 - Change order of GV_PLEX_DEGRADED and _RESIZING, since we now allow mounted rebuilds. - Make use of bio_pflags and a bad misuse of GV_BIO_SYNCREQ to determine if we're handling a resize BIO. But, since the bio_?flags-fields are only eight bits... Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#19 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#23 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#19 (text+ko) ==== @@ -377,7 +377,7 @@ gv_rebuild_complete(p, pbp); } else if (pbp->bio_cflags & GV_BIO_INIT) { gv_init_complete(p, pbp); - } else if (p->state == GV_PLEX_RESIZING) { + } else if (pbp->bio_pflags & GV_BIO_SYNCREQ) { gv_grow_complete(p, pbp); } else { g_io_deliver(pbp, pbp->bio_error); @@ -628,6 +628,7 @@ bp->bio_error = 0; bp->bio_offset = offset; bp->bio_length = length; + bp->bio_pflags |= GV_BIO_SYNCREQ; /* XXX: misuse of pflags AND syncreq.*/ if (data == NULL) data = g_malloc(length, M_WAITOK); bp->bio_cflags |= GV_BIO_MALLOC; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_var.h#23 (text+ko) ==== @@ -310,8 +310,8 @@ int state; /* The plex state. */ #define GV_PLEX_DOWN 0 #define GV_PLEX_INITIALIZING 1 -#define GV_PLEX_RESIZING 2 -#define GV_PLEX_DEGRADED 3 +#define GV_PLEX_DEGRADED 2 +#define GV_PLEX_RESIZING 3 #define GV_PLEX_UP 4 int org; /* The plex organisation. */ From owner-p4-projects@FreeBSD.ORG Mon Jul 23 18:06:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E633C16A420; Mon, 23 Jul 2007 18:06:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8DA8516A419 for ; Mon, 23 Jul 2007 18:06:05 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 859FD13C49D for ; Mon, 23 Jul 2007 18:06:05 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NI6510000282 for ; Mon, 23 Jul 2007 18:06:05 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NI65Kh000279 for perforce@freebsd.org; Mon, 23 Jul 2007 18:06:05 GMT (envelope-from thioretic@FreeBSD.org) Date: Mon, 23 Jul 2007 18:06:05 GMT Message-Id: <200707231806.l6NI65Kh000279@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 123980 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 18:06:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=123980 Change 123980 by thioretic@thioretic on 2007/07/23 18:05:04 ivars stuff. some cleanups. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#19 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#19 (text+ko) ==== @@ -171,8 +171,8 @@ #define DF_PERSISTENT 256 /* Should not delete when refs == 0*/ u_char order; /**< order from device_add_child_ordered() */ u_char pad; - void *ivars; /**< instance variables */ - void *softc; /**< current driver's variables */ + //void *ivars; /**< instance variables */ + //void *softc; /**< current driver's variables */ u_long refs; int raw; @@ -2000,7 +2000,7 @@ * @returns the new device */ static device_t -make_device(device_t parent, const char *name, int unit/*, driver_t *initto*/) /*TODO*/ +make_device(device_t parent, const char *name, int unit) /*TODO*/ { device_t dev; devclass_t dc; @@ -2053,7 +2053,6 @@ return (NULL); } } - dev->ivars = NULL; TAILQ_INSERT_TAIL(&bus_data_devices, dev, devlink); bus_data_generation_update(); @@ -2253,7 +2252,7 @@ } if (devtodel->refs) - return (1); + return (0); TAILQ_REMOVE(&bus_data_devices, devtodel, devlink); kobj_delete((kobj_t) devtodel, M_BUS); @@ -2868,6 +2867,32 @@ dil->flags &= ~DF_EXTERNALSOFTC; } + +void* +device_get_driver_ivars (device_t dev, driver_t *driver){ + int level; + driverinfolink_t dil; + u_int32_t flags; + + KASSERT(dev != NULL, ("device_get_ivars(NULL, ...)")); + if (!driverinfo_get_flags (driver, &flags)) + return (NULL); + level = driverinfo_flags2idx (flags); + + if (TAILQ_EMPTY(&dev->drivers[level])) + return (NULL); + + TAILQ_FOREACH (dil, &dev->drivers[level], link){ + if (dil->pdriver->driver == driver) + break; + } + + if (!dil) + return (NULL); + else + return (dil->ivars); +} + /** * @brief Get the device's ivars field * @@ -2878,9 +2903,37 @@ void * device_get_ivars(device_t dev) { + driverinfolink_t dil; + + KASSERT(dev != NULL, ("device_get_ivars(NULL, ...)")); + if (TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) + return (NULL); + dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + + return (dil>ivars); +} + +void +device_set_driver_ivars (device_t dev, driver_t *driver, void* ivars){ + int level; + driverinfolink_t dil; + u_int32_t flags; KASSERT(dev != NULL, ("device_get_ivars(NULL, ...)")); - return (dev->ivars); + if (!driverinfo_get_flags (driver, &flags)) + return (NULL); + level = driverinfo_flags2idx (flags); + + if (TAILQ_EMPTY(&dev->drivers[level])) + return (NULL); + + TAILQ_FOREACH (dil, &dev->drivers[level], link){ + if (dil->pdriver->driver == driver) + break; + } + + if (dil) + dil->ivars = ivars; } /** @@ -2889,9 +2942,14 @@ void device_set_ivars(device_t dev, void * ivars) { + driverinfolink_t dil; KASSERT(dev != NULL, ("device_set_ivars(NULL, ...)")); - dev->ivars = ivars; + if(!(TAILQ_EMPTY(&dev->drivers[DRV_LOWEST]))){ + dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + } + dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + dil->ivars = ivars; } /** @@ -3078,7 +3136,7 @@ driverinfo_t di; driverinfolink_t dil; uint32_t flags; - int level; + int level, present = 0; if (dev->state >= DS_ATTACHED) return (EBUSY); @@ -3086,20 +3144,15 @@ if (driver == dev->driver->pdriver->driver) return (0); + di = driverinfo_find_driver (driver); + driverinfo_get_flags(driver, &flags); + level = driverinfo_flags2idx(flags); + if (driver != NULL){ - di = driverinfo_find_driver (driver); - - driverinfo_get_flags(driver, &flags); - level = driverinfo_flags2idx(flags); - TAILQ_FOREACH(dil, &(dev->drivers[level]), link){ if (dil->pdriver == di) break; } - if (dil){ - dil->state = DS_RAW; - return (0); - } } if(driver == NULL || level == DRV_LOWEST){ @@ -3107,31 +3160,33 @@ return (EBUSY); } - dil = malloc (sizeof(struct driverinfolink), M_BUS, M_NOWAIT|M_ZERO); + if (!dil){ + dil = malloc (sizeof(struct driverinfolink), M_BUS, M_NOWAIT|M_ZERO); + TAILQ_INSERT_TAIL (&dev->drivers[level], dil); + } + dil->pdriver = di; dil->state = DS_RAW; dev->raw++; - TAILQ_INSERT_TAIL (&(dev->drivers[level]), dil); - dev->driver = dil; dev->driver_level = level; - if (dev->softc && !(dev->flags & DF_EXTERNALSOFTC)) { /*TODO*/ - free(dev->softc, M_BUS_SC); - dev->softc = NULL; + if (dil->softc && !(dil->flags & DF_EXTERNALSOFTC)) { + free(dil->softc, M_BUS_SC); + dil->softc = NULL; } if (driver) { - if (!(dev->flags & DF_EXTERNALSOFTC) && driver->size > 0) { - dev->softc = malloc(driver->size, M_BUS_SC, + if (!(dil->flags & DF_EXTERNALSOFTC) && driver->size > 0) { + dil->softc = malloc(driver->size, M_BUS_SC, M_NOWAIT | M_ZERO); - if (!dev->softc) { + if (!dil->softc) { TAILQ_REMOVE(&(dev->drivers[level]), dil, link); free (dil); return (ENOMEM); } } - }*/ + } bus_data_generation_update(); return (0); @@ -4620,7 +4675,7 @@ */ static int -parse_parent_name (char* in, char ***out){ /*TODO*/ +parse_parent_name (char* in, char ***out){ char* cptr = in, *ptr = in, *newpar; int count = 1, num = 0; @@ -4646,9 +4701,91 @@ (*out)[count++] = newpar; num = 0; cptr = ++ptr; } while (cptr<(in+strlen(in))); - (*out)[count]=NULL; + (*out)[count] = NULL; + return (1); + } +} + +int +register_filter_or_device_driver (driver *driver, char* hosts, devclass_t *pdc){ + int error = 0, count = 0; + devclass_t dc, parentdc; + char *parents[]; + + if (!parse_parent_name(hosts, &parents)) + return (1); + + while (parents[count]){ + parentdc = devclass_find_internal(parents[count], 0, TRUE, FALSE); + error &= devclass_add_driver (parentdc, driver); + count++; + } + free(parents); + if (error) + break; + + /* + * If the driver has any base classes, make the + * devclass inherit from the devclass of the driver's + * first base class. This will allow the system to + * search for drivers in both devclasses for children + * of a device using this driver. + */ + if (driver->baseclasses) { + const char *parentname; + parentname = driver->baseclasses[0]->name; + *pdc = devclass_find_internal(driver->name, + parentname, TRUE, FALSE); + } else { + *pdc = devclass_find_internal(driver->name, 0, TRUE, FALSE); + } +} + +int +register_func_driver (driver_t *driver, char* hosts, devclass_t *pdc){ + int error, count=0, devcount; + device_t dev, *devices; + devclass_t dc, parentdc; + + if ((dc = devclass_find_internal(driver->name, 0, TRUE, FALSE)) == NULL) + return (1); + + if (error = devclass_add_driver(dc, driver)) + return (error); + + if ((dev = make_device (root_bus, DRIVERNAME(driver), -1)) == NULL) return (1); + + if (error = device_set_driver(dev, driver)) + return (error); + + if (error = device_set_devclass(dev, driver->name)) + return (error); + + /* Fetch any flags for the device before probing.*/ + resource_int_value(driver->name, dev->unit, + "flags", &dev->devflags); + dev->flags |= DF_PERSISTENT; + *pdc = dc; + + if (!parse_parent_name(hosts, &parents)) + return (0); + + while (parents[count]){ + if (!(parentdc = devclass_find(parents[count++]))) + continue; + devclass_get_devices(parentdc, &devices, &devcount); + for (i=0, idmd_chainevh) error = dmd->dmd_chainevh(mod,what,dmd->dmd_chainarg); - driverinfo_add_driver(drv_intnl); driver = drv_intnl->devops; PDEBUG(("Loading module: driver %s on bus %s", DRIVERNAME(driver), dmd->dmd_busname)); - if (!parse_parent_name(dmd->dmd_busname, &parents)) - break; - isfilter = driverinfo_isfilter (driver); - while (parents[count]){ - parent_devclass = devclass_find_internal(parents[count], 0, TRUE, FALSE); - error &= devclass_add_driver (parent_devclass, driver); - count++; - } - free(parents); - if (error) - break; - /* - * If the driver has any base classes, make the - * devclass inherit from the devclass of the driver's - * first base class. This will allow the system to - * search for drivers in both devclasses for children - * of a device using this driver. - */ - if (driver->baseclasses) { - const char *parentname; - parentname = driver->baseclasses[0]->name; - *dmd->dmd_devclass = - devclass_find_internal(driver->name, - parentname, TRUE, FALSE); - } else { - *dmd->dmd_devclass = - devclass_find_internal(driver->name, 0, TRUE, FALSE); - } - - if(drv_intnl->flags & (DR_REQDEV|DR_LOWEST)){ - dev = make_device (root_bus, DRIVERNAME(driver), -1); - device_set_driver(dev, driver); - device_set_devclass(dev, driver->name); - - /* Fetch any flags for the device before probing. - resource_int_value(dl->driver->name, child->unit, - "flags", &child->devflags); - */ - dev->flags |= DF_PERSISTENT; - count = 0; - while (parents[count]){ - if (!(parent_devclass = devclass_find(parents[count++]))) - continue; - devclass_get_devices(parent_devclass, &devices, &devcount); - for (i=0, iflags & (DR_REQDEV|DR_LOWEST)) + error = register_func_driver(driver, dmd->dmd_busname, dmd->dmd_devclass); + else + error = register_filter_or_device_driver(driver, dmd->dmd_busname, dmd->dmd_devclass); break; case MOD_UNLOAD: @@ -4753,7 +4837,7 @@ if (!error && dmd->dmd_chainevh) error = dmd->dmd_chainevh(mod,what,dmd->dmd_chainarg); break; - case MOD_QUIESCE: /*TODO*/ + case MOD_QUIESCE: PDEBUG(("Quiesce module: driver %s from bus %s", DRIVERNAME(dmd->dmd_driver), dmd->dmd_busname)); From owner-p4-projects@FreeBSD.ORG Mon Jul 23 19:03:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 663A316A417; Mon, 23 Jul 2007 19:03:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E289216A419 for ; Mon, 23 Jul 2007 19:03:20 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DC9FC13C4A7 for ; Mon, 23 Jul 2007 19:03:20 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NJ3KpY004739 for ; Mon, 23 Jul 2007 19:03:20 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NJ3KXc004736 for perforce@freebsd.org; Mon, 23 Jul 2007 19:03:20 GMT (envelope-from cnst@FreeBSD.org) Date: Mon, 23 Jul 2007 19:03:20 GMT Message-Id: <200707231903.l6NJ3KXc004736@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 123982 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 19:03:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=123982 Change 123982 by cnst@dale on 2007/07/23 19:02:42 integrate files (no more udp6_output.c) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.conf/files#4 integrate Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.conf/files#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1239 2007/07/19 16:15:58 gallatin Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1240 2007/07/23 07:58:58 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1915,7 +1915,6 @@ netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 netinet6/sctp6_usrreq.c optional inet6 sctp -netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional ipsec netipsec/ipsec_input.c optional ipsec From owner-p4-projects@FreeBSD.ORG Mon Jul 23 23:02:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2131B16A417; Mon, 23 Jul 2007 23:02:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C7BB716A41F for ; Mon, 23 Jul 2007 23:02:16 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD23313C478 for ; Mon, 23 Jul 2007 23:02:16 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NN2GZR031991 for ; Mon, 23 Jul 2007 23:02:16 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NN2Fvw031988 for perforce@freebsd.org; Mon, 23 Jul 2007 23:02:15 GMT (envelope-from lulf@FreeBSD.org) Date: Mon, 23 Jul 2007 23:02:15 GMT Message-Id: <200707232302.l6NN2Fvw031988@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 123983 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 23:02:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=123983 Change 123983 by lulf@lulf_carrot on 2007/07/23 23:01:14 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#11 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/swtch.s#3 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#7 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/mutex.h#3 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#11 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1444 2007/07/14 21:49:23 rwatson Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1445 2007/07/18 02:51:21 jeff Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -176,10 +176,11 @@ # queue and no CPU affinity which makes it suboptimal for SMP. It has very # good interactivity and priority selection. # -# SCHED_ULE is a new scheduler that has been designed for SMP and has some -# advantages for UP as well. It is intended to replace the 4BSD scheduler -# over time. NOTE: SCHED_ULE is currently considered experimental and is -# not recommended for production use at this time. +# SCHED_ULE provides significant performance advantages over 4BSD on many +# workloads on SMP machines. It supports cpu-affinity, per-cpu runqueues +# and scheduler locks. It also has a stronger notion of interactivity +# which leads to better responsiveness even on uniprocessor machines. This +# will eventually become the default scheduler. # options SCHED_4BSD #options SCHED_ULE ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/genassym.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.157 2007/06/06 07:35:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/genassym.c,v 1.158 2007/07/17 22:34:14 jeff Exp $"); #include "opt_apic.h" #include "opt_compat.h" @@ -81,6 +81,7 @@ ASSYM(P_SFLAG, offsetof(struct proc, p_sflag)); ASSYM(TD_FLAGS, offsetof(struct thread, td_flags)); +ASSYM(TD_LOCK, offsetof(struct thread, td_lock)); ASSYM(TD_PCB, offsetof(struct thread, td_pcb)); ASSYM(TD_PROC, offsetof(struct thread, td_proc)); ASSYM(TD_MD, offsetof(struct thread, td_md)); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/swtch.s#3 (text+ko) ==== @@ -29,15 +29,32 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/i386/i386/swtch.s,v 1.154 2007/06/06 07:35:07 davidxu Exp $ + * $FreeBSD: src/sys/i386/i386/swtch.s,v 1.155 2007/07/17 22:34:14 jeff Exp $ */ #include "opt_npx.h" +#include "opt_sched.h" #include #include "assym.s" +#if defined(SMP) && defined(SCHED_ULE) +#define SETOP xchgl +#define BLOCK_SPIN(reg) \ + movl $blocked_lock,%eax ; \ + 100: ; \ + lock ; \ + cmpxchgl %eax,TD_LOCK(reg) ; \ + jne 101f ; \ + pause ; \ + jmp 100b ; \ + 101: +#else +#define SETOP movl +#define BLOCK_SPIN(reg) +#endif + /*****************************************************************************/ /* Scheduling */ /*****************************************************************************/ @@ -91,6 +108,7 @@ * 0(%esp) = ret * 4(%esp) = oldtd * 8(%esp) = newtd + * 12(%esp) = newlock */ ENTRY(cpu_switch) @@ -145,13 +163,14 @@ #endif /* Save is done. Now fire up new thread. Leave old vmspace. */ + movl 4(%esp),%edi movl 8(%esp),%ecx /* New thread */ + movl 12(%esp),%esi /* New lock */ #ifdef INVARIANTS testl %ecx,%ecx /* no thread? */ jz badsw3 /* no, panic */ #endif movl TD_PCB(%ecx),%edx - movl PCPU(CPUID), %esi /* switch address space */ movl PCB_CR3(%edx),%eax @@ -160,11 +179,14 @@ #else cmpl %eax,IdlePTD /* Kernel address space? */ #endif - je sw1 + je sw0 movl %cr3,%ebx /* The same address space? */ cmpl %ebx,%eax - je sw1 + je sw0 movl %eax,%cr3 /* new address space */ + movl %esi,%eax + movl PCPU(CPUID),%esi + SETOP %eax,TD_LOCK(%edi) /* Switchout td_lock */ /* Release bit from old pmap->pm_active */ movl PCPU(CURPMAP), %ebx @@ -182,8 +204,12 @@ lock #endif btsl %esi, PM_ACTIVE(%ebx) /* set new */ + jmp sw1 +sw0: + SETOP %esi,TD_LOCK(%edi) /* Switchout td_lock */ sw1: + BLOCK_SPIN(%ecx) /* * At this point, we've switched address spaces and are ready * to load up the rest of the next context. ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_mutex.c#6 (text+ko) ==== @@ -34,7 +34,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.196 2007/06/09 18:09:37 mjacob Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_mutex.c,v 1.198 2007/07/18 20:46:05 jeff Exp $"); #include "opt_adaptive_mutexes.h" #include "opt_ddb.h" @@ -118,7 +118,6 @@ * System-wide mutexes */ struct mtx blocked_lock; -struct mtx sched_lock; struct mtx Giant; #ifdef LOCK_PROFILING @@ -473,9 +472,12 @@ { struct mtx *m; uintptr_t tid; - int i; + int i, contested; + uint64_t waittime; - i = 0; + + contested = i = 0; + waittime = 0; tid = (uintptr_t)curthread; for (;;) { retry: @@ -488,6 +490,7 @@ m->mtx_recurse++; break; } + lock_profile_obtain_lock_failed(&m->lock_object, &contested, &waittime); /* Give interrupts a chance while we spin. */ spinlock_exit(); while (m->mtx_lock != MTX_UNOWNED) { @@ -508,6 +511,8 @@ break; _rel_spin_lock(m); /* does spinlock_exit() */ } + lock_profile_obtain_lock_success(&m->lock_object, contested, + waittime, (file), (line)); WITNESS_LOCK(&m->lock_object, opts | LOP_EXCLUSIVE, file, line); } @@ -769,7 +774,6 @@ * Initialize mutexes. */ mtx_init(&Giant, "Giant", NULL, MTX_DEF | MTX_RECURSE); - mtx_init(&sched_lock, "sched lock", NULL, MTX_SPIN | MTX_RECURSE); mtx_init(&blocked_lock, "blocked lock", NULL, MTX_SPIN); blocked_lock.mtx_lock = 0xdeadc0de; /* Always blocked. */ mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_resource.c#7 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.179 2007/07/12 18:01:31 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_resource.c,v 1.180 2007/07/17 01:08:09 jeff Exp $"); #include "opt_compat.h" @@ -840,6 +840,14 @@ p->p_rux.rux_runtime += u - PCPU_GET(switchtime); PCPU_SET(switchtime, u); } + /* Make sure the per-thread stats are current. */ + FOREACH_THREAD_IN_PROC(p, td) { + if (td->td_runtime == 0) + continue; + thread_lock(td); + ruxagg(&p->p_rux, td); + thread_unlock(td); + } calcru1(p, &p->p_rux, up, sp); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_4bsd.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.102 2007/06/12 07:47:09 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.103 2007/07/18 20:46:05 jeff Exp $"); #include "opt_hwpmc_hooks.h" @@ -101,6 +101,7 @@ ((ts)->ts_runq != 0 && (ts)->ts_runq != &runq) static struct td_sched td_sched0; +struct mtx sched_lock; static int sched_tdcnt; /* Total runnable threads in the system. */ static int sched_quantum; /* Roundrobin scheduling quantum in ticks. */ @@ -578,6 +579,7 @@ thread0.td_sched = &td_sched0; thread0.td_lock = &sched_lock; td_sched0.ts_thread = &thread0; + mtx_init(&sched_lock, "sched lock", NULL, MTX_SPIN | MTX_RECURSE); } int ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#6 (text+ko) ==== @@ -24,8 +24,19 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* + * This file implements the ULE scheduler. ULE supports independent CPU + * run queues and fine grain locking. It has superior interactive + * performance under load even on uni-processor systems. + * + * etymology: + * ULE is the last three letters in schedule. It owes it's name to a + * generic user created for a scheduling system by Paul Mikesell at + * Isilon Systems and a general lack of creativity on the part of the author. + */ + #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.199 2007/06/15 19:33:58 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.200 2007/07/17 22:53:23 jeff Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -64,26 +75,23 @@ #error "SCHED_ULE requires options PREEMPTION" #endif -/* - * TODO: - * Pick idle from affinity group or self group first. - * Implement pick_score. - */ - -#define KTR_ULE 0x0 /* Enable for pickpri debugging. */ +#define KTR_ULE 0 /* - * Thread scheduler specific section. + * Thread scheduler specific section. All fields are protected + * by the thread lock. */ struct td_sched { - TAILQ_ENTRY(td_sched) ts_procq; /* (j/z) Run queue. */ - int ts_flags; /* (j) TSF_* flags. */ - struct thread *ts_thread; /* (*) Active associated thread. */ - u_char ts_rqindex; /* (j) Run queue index. */ - int ts_slptime; - int ts_slice; - struct runq *ts_runq; + TAILQ_ENTRY(td_sched) ts_procq; /* Run queue. */ + struct thread *ts_thread; /* Active associated thread. */ + struct runq *ts_runq; /* Run-queue we're queued on. */ + short ts_flags; /* TSF_* flags. */ + u_char ts_rqindex; /* Run queue index. */ u_char ts_cpu; /* CPU that we have affinity for. */ + int ts_slptick; /* Tick when we went to sleep. */ + int ts_slice; /* Ticks of slice remaining. */ + u_int ts_slptime; /* Number of ticks we vol. slept */ + u_int ts_runtime; /* Number of ticks we were running */ /* The following variables are only used for pctcpu calculation */ int ts_ltick; /* Last tick that we were running on */ int ts_ftick; /* First tick that we were running on */ @@ -91,10 +99,6 @@ #ifdef SMP int ts_rltick; /* Real last tick, for affinity. */ #endif - - /* originally from kg_sched */ - u_int skg_slptime; /* Number of ticks we vol. slept */ - u_int skg_runtime; /* Number of ticks we were running */ }; /* flags kept in ts_flags */ #define TSF_BOUND 0x0001 /* Thread can not migrate. */ @@ -165,33 +169,40 @@ * due to rounding would be unacceptably high. * realstathz: stathz is sometimes 0 and run off of hz. * sched_slice: Runtime of each thread before rescheduling. + * preempt_thresh: Priority threshold for preemption and remote IPIs. */ static int sched_interact = SCHED_INTERACT_THRESH; static int realstathz; static int tickincr; static int sched_slice; +static int preempt_thresh = PRI_MIN_KERN; +#define SCHED_BAL_SECS 2 /* How often we run the rebalance algorithm. */ + /* - * tdq - per processor runqs and statistics. + * tdq - per processor runqs and statistics. All fields are protected by the + * tdq_lock. The load and lowpri may be accessed without to avoid excess + * locking in sched_pickcpu(); */ struct tdq { + struct mtx tdq_lock; /* Protects all fields below. */ + struct runq tdq_realtime; /* real-time run queue. */ + struct runq tdq_timeshare; /* timeshare run queue. */ struct runq tdq_idle; /* Queue of IDLE threads. */ - struct runq tdq_timeshare; /* timeshare run queue. */ - struct runq tdq_realtime; /* real-time run queue. */ + int tdq_load; /* Aggregate load. */ u_char tdq_idx; /* Current insert index. */ u_char tdq_ridx; /* Current removal index. */ - short tdq_flags; /* Thread queue flags */ - int tdq_load; /* Aggregate load. */ #ifdef SMP - int tdq_transferable; + u_char tdq_lowpri; /* Lowest priority thread. */ + int tdq_transferable; /* Transferable thread count. */ LIST_ENTRY(tdq) tdq_siblings; /* Next in tdq group. */ struct tdq_group *tdq_group; /* Our processor group. */ #else int tdq_sysload; /* For loadavg, !ITHD load. */ #endif -}; + char tdq_name[16]; /* lock name. */ +} __aligned(64); -#define TDQF_BUSY 0x0001 /* Queue is marked as busy */ #ifdef SMP /* @@ -210,9 +221,9 @@ int tdg_load; /* Total load of this group. */ int tdg_transferable; /* Transferable load of this group. */ LIST_HEAD(, tdq) tdg_members; /* Linked list of all members. */ -}; +} __aligned(64); -#define SCHED_AFFINITY_DEFAULT (hz / 100) +#define SCHED_AFFINITY_DEFAULT (max(1, hz / 300)) #define SCHED_AFFINITY(ts) ((ts)->ts_rltick > ticks - affinity) /* @@ -220,28 +231,23 @@ */ static int rebalance = 0; static int pick_pri = 0; +static int pick_zero = 0; static int affinity; static int tryself = 1; static int tryselfidle = 1; -static int ipi_ast = 0; -static int ipi_preempt = 1; -static int ipi_thresh = PRI_MIN_KERN; -static int steal_htt = 1; -static int steal_busy = 1; -static int busy_thresh = 4; +static int steal_htt = 0; +static int steal_idle = 0; static int topology = 0; /* * One thread queue per processor. */ static volatile cpumask_t tdq_idle; -static volatile cpumask_t tdq_busy; static int tdg_maxid; static struct tdq tdq_cpu[MAXCPU]; static struct tdq_group tdq_groups[MAXCPU]; -static int bal_tick; -static int gbal_tick; -static int balance_groups; +static struct callout balco; +static struct callout gbalco; #define TDQ_SELF() (&tdq_cpu[PCPU_GET(cpuid)]) #define TDQ_CPU(x) (&tdq_cpu[(x)]) @@ -255,14 +261,18 @@ #define TDQ_CPU(x) (&tdq_cpu) #endif +#define TDQ_LOCK_ASSERT(t, type) mtx_assert(TDQ_LOCKPTR((t)), (type)) +#define TDQ_LOCK(t) mtx_lock_spin(TDQ_LOCKPTR((t))) +#define TDQ_LOCK_FLAGS(t, f) mtx_lock_spin_flags(TDQ_LOCKPTR((t)), (f)) +#define TDQ_UNLOCK(t) mtx_unlock_spin(TDQ_LOCKPTR((t))) +#define TDQ_LOCKPTR(t) (&(t)->tdq_lock) + static void sched_priority(struct thread *); static void sched_thread_priority(struct thread *, u_char); static int sched_interact_score(struct thread *); static void sched_interact_update(struct thread *); static void sched_interact_fork(struct thread *); static void sched_pctcpu_update(struct td_sched *); -static inline void sched_pin_td(struct thread *td); -static inline void sched_unpin_td(struct thread *td); /* Operations on per processor queues */ static struct td_sched * tdq_choose(struct tdq *); @@ -273,19 +283,21 @@ static __inline void tdq_runq_rem(struct tdq *, struct td_sched *); void tdq_print(int cpu); static void runq_print(struct runq *rq); +static void tdq_add(struct tdq *, struct thread *, int); #ifdef SMP -static int tdq_pickidle(struct tdq *, struct td_sched *); -static int tdq_pickpri(struct tdq *, struct td_sched *, int); +static void tdq_move(struct tdq *, struct tdq *); +static int tdq_idled(struct tdq *); +static void tdq_notify(struct td_sched *); +static struct td_sched *tdq_steal(struct tdq *, int); static struct td_sched *runq_steal(struct runq *); -static void sched_balance(void); -static void sched_balance_groups(void); +static int sched_pickcpu(struct td_sched *, int); +static void sched_balance(void *); +static void sched_balance_groups(void *); static void sched_balance_group(struct tdq_group *); static void sched_balance_pair(struct tdq *, struct tdq *); -static void sched_smp_tick(struct thread *); -static void tdq_move(struct tdq *, int); -static int tdq_idled(struct tdq *); -static void tdq_notify(struct td_sched *); -static struct td_sched *tdq_steal(struct tdq *, int); +static inline struct tdq *sched_setcpu(struct td_sched *, int, int); +static inline struct mtx *thread_block_switch(struct thread *); +static inline void thread_unblock_switch(struct thread *, struct mtx *); #define THREAD_CAN_MIGRATE(td) ((td)->td_pinned == 0) #endif @@ -296,18 +308,9 @@ static void sched_initticks(void *dummy); SYSINIT(sched_initticks, SI_SUB_CLOCKS, SI_ORDER_THIRD, sched_initticks, NULL) -static inline void -sched_pin_td(struct thread *td) -{ - td->td_pinned++; -} - -static inline void -sched_unpin_td(struct thread *td) -{ - td->td_pinned--; -} - +/* + * Print the threads waiting on a run-queue. + */ static void runq_print(struct runq *rq) { @@ -332,6 +335,9 @@ } } +/* + * Print the status of a per-cpu thread queue. Should be a ddb show cmd. + */ void tdq_print(int cpu) { @@ -340,8 +346,10 @@ tdq = TDQ_CPU(cpu); printf("tdq:\n"); + printf("\tlockptr %p\n", TDQ_LOCKPTR(tdq)); + printf("\tlock name %s\n", tdq->tdq_name); printf("\tload: %d\n", tdq->tdq_load); - printf("\ttimeshare idx: %d\n", tdq->tdq_idx); + printf("\ttimeshare idx: %d\n", tdq->tdq_idx); printf("\ttimeshare ridx: %d\n", tdq->tdq_ridx); printf("\trealtime runq:\n"); runq_print(&tdq->tdq_realtime); @@ -351,22 +359,26 @@ runq_print(&tdq->tdq_idle); #ifdef SMP printf("\tload transferable: %d\n", tdq->tdq_transferable); + printf("\tlowest priority: %d\n", tdq->tdq_lowpri); #endif } +#define TS_RQ_PPQ (((PRI_MAX_TIMESHARE - PRI_MIN_TIMESHARE) + 1) / RQ_NQS) +/* + * Add a thread to the actual run-queue. Keeps transferable counts up to + * date with what is actually on the run-queue. Selects the correct + * queue position for timeshare threads. + */ static __inline void tdq_runq_add(struct tdq *tdq, struct td_sched *ts, int flags) { + TDQ_LOCK_ASSERT(tdq, MA_OWNED); + THREAD_LOCK_ASSERT(ts->ts_thread, MA_OWNED); #ifdef SMP if (THREAD_CAN_MIGRATE(ts->ts_thread)) { tdq->tdq_transferable++; tdq->tdq_group->tdg_transferable++; ts->ts_flags |= TSF_XFERABLE; - if (tdq->tdq_transferable >= busy_thresh && - (tdq->tdq_flags & TDQF_BUSY) == 0) { - tdq->tdq_flags |= TDQF_BUSY; - atomic_set_int(&tdq_busy, 1 << TDQ_ID(tdq)); - } } #endif if (ts->ts_runq == &tdq->tdq_timeshare) { @@ -379,7 +391,6 @@ * This queue contains only priorities between MIN and MAX * realtime. Use the whole queue to represent these values. */ -#define TS_RQ_PPQ (((PRI_MAX_TIMESHARE - PRI_MIN_TIMESHARE) + 1) / RQ_NQS) if ((flags & SRQ_BORROWING) == 0) { pri = (pri - PRI_MIN_TIMESHARE) / TS_RQ_PPQ; pri = (pri + tdq->tdq_idx) % RQ_NQS; @@ -398,19 +409,22 @@ runq_add(ts->ts_runq, ts, flags); } +/* + * Remove a thread from a run-queue. This typically happens when a thread + * is selected to run. Running threads are not on the queue and the + * transferable count does not reflect them. + */ static __inline void tdq_runq_rem(struct tdq *tdq, struct td_sched *ts) { + TDQ_LOCK_ASSERT(tdq, MA_OWNED); + KASSERT(ts->ts_runq != NULL, + ("tdq_runq_remove: thread %p null ts_runq", ts->ts_thread)); #ifdef SMP if (ts->ts_flags & TSF_XFERABLE) { tdq->tdq_transferable--; tdq->tdq_group->tdg_transferable--; ts->ts_flags &= ~TSF_XFERABLE; - if (tdq->tdq_transferable < busy_thresh && - (tdq->tdq_flags & TDQF_BUSY)) { - atomic_clear_int(&tdq_busy, 1 << TDQ_ID(tdq)); - tdq->tdq_flags &= ~TDQF_BUSY; - } } #endif if (ts->ts_runq == &tdq->tdq_timeshare) { @@ -429,11 +443,17 @@ runq_remove(ts->ts_runq, ts); } +/* + * Load is maintained for all threads RUNNING and ON_RUNQ. Add the load + * for this thread to the referenced thread queue. + */ static void tdq_load_add(struct tdq *tdq, struct td_sched *ts) { int class; - mtx_assert(&sched_lock, MA_OWNED); + + TDQ_LOCK_ASSERT(tdq, MA_OWNED); + THREAD_LOCK_ASSERT(ts->ts_thread, MA_OWNED); class = PRI_BASE(ts->ts_thread->td_pri_class); tdq->tdq_load++; CTR2(KTR_SCHED, "cpu %jd load: %d", TDQ_ID(tdq), tdq->tdq_load); @@ -446,11 +466,17 @@ #endif } +/* + * Remove the load from a thread that is transitioning to a sleep state or + * exiting. + */ static void tdq_load_rem(struct tdq *tdq, struct td_sched *ts) { int class; - mtx_assert(&sched_lock, MA_OWNED); + + THREAD_LOCK_ASSERT(ts->ts_thread, MA_OWNED); + TDQ_LOCK_ASSERT(tdq, MA_OWNED); class = PRI_BASE(ts->ts_thread->td_pri_class); if (class != PRI_ITHD && (ts->ts_thread->td_proc->p_flag & P_NOLOAD) == 0) @@ -459,27 +485,14 @@ #else tdq->tdq_sysload--; #endif + KASSERT(tdq->tdq_load != 0, + ("tdq_load_rem: Removing with 0 load on queue %d", (int)TDQ_ID(tdq))); tdq->tdq_load--; CTR1(KTR_SCHED, "load: %d", tdq->tdq_load); ts->ts_runq = NULL; } #ifdef SMP -static void -sched_smp_tick(struct thread *td) -{ - struct tdq *tdq; - - tdq = TDQ_SELF(); - if (rebalance) { - if (ticks >= bal_tick) - sched_balance(); - if (ticks >= gbal_tick && balance_groups) - sched_balance_groups(); - } - td->td_sched->ts_rltick = ticks; -} - /* * sched_balance is a simple CPU load balancing algorithm. It operates by * finding the least loaded and most loaded cpu and equalizing their load @@ -489,15 +502,11 @@ * installations will only have 2 cpus. Secondly, load balancing too much at * once can have an unpleasant effect on the system. The scheduler rarely has * enough information to make perfect decisions. So this algorithm chooses - * algorithm simplicity and more gradual effects on load in larger systems. + * simplicity and more gradual effects on load in larger systems. * - * It could be improved by considering the priorities and slices assigned to - * each task prior to balancing them. There are many pathological cases with - * any approach and so the semi random algorithm below may work as well as any. - * */ static void -sched_balance(void) +sched_balance(void *arg) { struct tdq_group *high; struct tdq_group *low; @@ -505,8 +514,9 @@ int cnt; int i; - bal_tick = ticks + (random() % (hz * 2)); - if (smp_started == 0) + callout_reset(&balco, max(hz / 2, random() % (hz * SCHED_BAL_SECS)), + sched_balance, NULL); + if (smp_started == 0 || rebalance == 0) return; low = high = NULL; i = random() % (tdg_maxid + 1); @@ -529,18 +539,25 @@ LIST_FIRST(&low->tdg_members)); } +/* + * Balance load between CPUs in a group. Will only migrate within the group. + */ static void -sched_balance_groups(void) +sched_balance_groups(void *arg) { int i; - gbal_tick = ticks + (random() % (hz * 2)); - mtx_assert(&sched_lock, MA_OWNED); - if (smp_started) - for (i = 0; i <= tdg_maxid; i++) - sched_balance_group(TDQ_GROUP(i)); + callout_reset(&gbalco, max(hz / 2, random() % (hz * SCHED_BAL_SECS)), + sched_balance_groups, NULL); + if (smp_started == 0 || rebalance == 0) + return; + for (i = 0; i <= tdg_maxid; i++) + sched_balance_group(TDQ_GROUP(i)); } +/* + * Finds the greatest imbalance between two tdqs in a group. + */ static void sched_balance_group(struct tdq_group *tdg) { @@ -564,6 +581,24 @@ sched_balance_pair(high, low); } +/* + * Lock two thread queues using their address to maintain lock order. + */ +static void +tdq_lock_pair(struct tdq *one, struct tdq *two) +{ + if (one < two) { + TDQ_LOCK(one); + TDQ_LOCK_FLAGS(two, MTX_DUPOK); + } else { + TDQ_LOCK(two); + TDQ_LOCK_FLAGS(one, MTX_DUPOK); + } +} + +/* + * Transfer load between two imbalanced thread queues. + */ static void sched_balance_pair(struct tdq *high, struct tdq *low) { @@ -574,6 +609,7 @@ int diff; int i; + tdq_lock_pair(high, low); /* * If we're transfering within a group we have to use this specific * tdq's transferable count, otherwise we can steal from other members @@ -588,31 +624,37 @@ high_load = high->tdq_group->tdg_load; low_load = low->tdq_group->tdg_load; } - if (transferable == 0) - return; /* * Determine what the imbalance is and then adjust that to how many * threads we actually have to give up (transferable). */ - diff = high_load - low_load; - move = diff / 2; - if (diff & 0x1) - move++; - move = min(move, transferable); - for (i = 0; i < move; i++) - tdq_move(high, TDQ_ID(low)); + if (transferable != 0) { + diff = high_load - low_load; + move = diff / 2; + if (diff & 0x1) + move++; + move = min(move, transferable); + for (i = 0; i < move; i++) + tdq_move(high, low); + } + TDQ_UNLOCK(high); + TDQ_UNLOCK(low); return; } +/* + * Move a thread from one thread queue to another. + */ static void -tdq_move(struct tdq *from, int cpu) +tdq_move(struct tdq *from, struct tdq *to) { + struct td_sched *ts; + struct thread *td; struct tdq *tdq; - struct tdq *to; - struct td_sched *ts; + int cpu; tdq = from; - to = TDQ_CPU(cpu); + cpu = TDQ_ID(to); ts = tdq_steal(tdq, 1); if (ts == NULL) { struct tdq_group *tdg; @@ -625,26 +667,42 @@ break; } if (ts == NULL) - panic("tdq_move: No threads available with a " - "transferable count of %d\n", - tdg->tdg_transferable); + return; } if (tdq == to) return; - sched_rem(ts->ts_thread); + td = ts->ts_thread; + /* + * Although the run queue is locked the thread may be blocked. Lock + * it to clear this. + */ + thread_lock(td); + /* Drop recursive lock on from. */ + TDQ_UNLOCK(from); + sched_rem(td); ts->ts_cpu = cpu; - sched_pin_td(ts->ts_thread); - sched_add(ts->ts_thread, SRQ_YIELDING); - sched_unpin_td(ts->ts_thread); + td->td_lock = TDQ_LOCKPTR(to); + tdq_add(to, td, SRQ_YIELDING); } +/* + * This tdq has idled. Try to steal a thread from another cpu and switch + * to it. + */ static int tdq_idled(struct tdq *tdq) { struct tdq_group *tdg; struct tdq *steal; struct td_sched *ts; + struct thread *td; + int highload; + int highcpu; + int load; + int cpu; + /* We don't want to be preempted while we're iterating over tdqs */ + spinlock_enter(); tdg = tdq->tdq_group; /* * If we're in a cpu group, try and steal threads from another cpu in @@ -654,51 +712,59 @@ LIST_FOREACH(steal, &tdg->tdg_members, tdq_siblings) { if (steal == tdq || steal->tdq_transferable == 0) continue; + TDQ_LOCK(steal); ts = tdq_steal(steal, 0); if (ts) goto steal; + TDQ_UNLOCK(steal); } } - if (steal_busy) { - while (tdq_busy) { - int cpu; - - cpu = ffs(tdq_busy); - if (cpu == 0) - break; - cpu--; + for (;;) { + if (steal_idle == 0) + break; + highcpu = 0; + highload = 0; + for (cpu = 0; cpu <= mp_maxid; cpu++) { + if (CPU_ABSENT(cpu)) + continue; steal = TDQ_CPU(cpu); - if (steal->tdq_transferable == 0) + load = TDQ_CPU(cpu)->tdq_transferable; + if (load < highload) continue; - ts = tdq_steal(steal, 1); - if (ts == NULL) - continue; - CTR5(KTR_ULE, - "tdq_idled: stealing td %p(%s) pri %d from %d busy 0x%X", - ts->ts_thread, ts->ts_thread->td_proc->p_comm, - ts->ts_thread->td_priority, cpu, tdq_busy); + highload = load; + highcpu = cpu; + } + if (highload < 2) + break; + steal = TDQ_CPU(highcpu); + TDQ_LOCK(steal); + if (steal->tdq_transferable > 1 && + (ts = tdq_steal(steal, 1)) != NULL) goto steal; - } + TDQ_UNLOCK(steal); + break; } - /* - * We only set the idled bit when all of the cpus in the group are - * idle. Otherwise we could get into a situation where a thread bounces - * back and forth between two idle cores on seperate physical CPUs. - */ - tdg->tdg_idlemask |= PCPU_GET(cpumask); - if (tdg->tdg_idlemask == tdg->tdg_cpumask) - atomic_set_int(&tdq_idle, tdg->tdg_mask); + spinlock_exit(); return (1); steal: - sched_rem(ts->ts_thread); - ts->ts_cpu = PCPU_GET(cpuid); - sched_pin_td(ts->ts_thread); - sched_add(ts->ts_thread, SRQ_YIELDING); - sched_unpin_td(ts->ts_thread); + td = ts->ts_thread; + thread_lock(td); + spinlock_exit(); + MPASS(td->td_lock == TDQ_LOCKPTR(steal)); + TDQ_UNLOCK(steal); + sched_rem(td); + sched_setcpu(ts, PCPU_GET(cpuid), SRQ_YIELDING); + tdq_add(tdq, td, SRQ_YIELDING); + MPASS(td->td_lock == curthread->td_lock); + mi_switch(SW_VOL, NULL); + thread_unlock(curthread); return (0); } +/* + * Notify a remote cpu of new work. Sends an IPI if criteria are met. + */ static void tdq_notify(struct td_sched *ts) { @@ -734,29 +800,74 @@ /* * Otherwise only IPI if we exceed the threshold. */ - if (pri > ipi_thresh) + if (pri > preempt_thresh) return; sendipi: ctd->td_flags |= TDF_NEEDRESCHED; - if (cpri < PRI_MIN_IDLE) { - if (ipi_ast) - ipi_selected(1 << cpu, IPI_AST); - else if (ipi_preempt) - ipi_selected(1 << cpu, IPI_PREEMPT); - } else - ipi_selected(1 << cpu, IPI_PREEMPT); + ipi_selected(1 << cpu, IPI_PREEMPT); +} + +/* + * Steals load from a timeshare queue. Honors the rotating queue head + * index. + */ +static struct td_sched * +runq_steal_from(struct runq *rq, u_char start) +{ + struct td_sched *ts; + struct rqbits *rqb; + struct rqhead *rqh; + int first; + int bit; + int pri; + int i; + + rqb = &rq->rq_status; + bit = start & (RQB_BPW -1); + pri = 0; + first = 0; +again: + for (i = RQB_WORD(start); i < RQB_LEN; bit = 0, i++) { + if (rqb->rqb_bits[i] == 0) + continue; + if (bit != 0) { + for (pri = bit; pri < RQB_BPW; pri++) + if (rqb->rqb_bits[i] & (1ul << pri)) + break; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Jul 23 23:39:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 55A8D16A41B; Mon, 23 Jul 2007 23:39:06 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 09DA516A41A for ; Mon, 23 Jul 2007 23:39:06 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F186713C45E for ; Mon, 23 Jul 2007 23:39:05 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NNd5vT035093 for ; Mon, 23 Jul 2007 23:39:05 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NNd5rh035088 for perforce@freebsd.org; Mon, 23 Jul 2007 23:39:05 GMT (envelope-from loafier@FreeBSD.org) Date: Mon, 23 Jul 2007 23:39:05 GMT Message-Id: <200707232339.l6NNd5rh035088@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123985 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 23:39:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=123985 Change 123985 by loafier@chrisdsoc on 2007/07/23 23:38:49 Use bus_alloc_resources(), pci_enable_busmaster(), etc. The driver was missing detach, suspend and resume methods. I added detatch method here, but I don't know what to send to the card to shut it down. Haven't tested this. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#2 (text+ko) ==== @@ -66,12 +66,31 @@ int dir; }; +/* XXX: seems like the driver only makes use of one port */ + +enum { + RES_P0, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec au_res_spec_mem[] = { + {SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE} +}; + +static struct resource_spec au_res_spec_io[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE} +}; + struct au_info { int unit; + + struct resource_spec *spec; + struct resource *res[RES_SZ]; + void *ih; - bus_space_tag_t st[3]; - bus_space_handle_t sh[3]; - bus_dma_tag_t parent_dmat; struct mtx *lock; @@ -86,36 +105,13 @@ /* -------------------------------------------------------------------- */ -static u_int32_t -au_rd(struct au_info *au, int mapno, int regno, int size) -{ - switch(size) { - case 1: - return bus_space_read_1(au->st[mapno], au->sh[mapno], regno); - case 2: - return bus_space_read_2(au->st[mapno], au->sh[mapno], regno); - case 4: - return bus_space_read_4(au->st[mapno], au->sh[mapno], regno); - default: - return 0xffffffff; - } -} +#define au_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_P0], _reg) +#define au_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_P0], _reg) +#define au_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_P0], _reg) -static void -au_wr(struct au_info *au, int mapno, int regno, u_int32_t data, int size) -{ - switch(size) { - case 1: - bus_space_write_1(au->st[mapno], au->sh[mapno], regno, data); - break; - case 2: - bus_space_write_2(au->st[mapno], au->sh[mapno], regno, data); - break; - case 4: - bus_space_write_4(au->st[mapno], au->sh[mapno], regno, data); - break; - } -} +#define au_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_P0], _reg, _val) +#define au_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_P0], _reg, _val) +#define au_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_P0], _reg, _val) /* -------------------------------------------------------------------- */ @@ -126,9 +122,9 @@ int i=0, j=0; regno<<=16; - au_wr(au, 0, AU_REG_CODECIO, regno, 4); + au_wr4(au, AU_REG_CODECIO, regno); while (j<50) { - i=au_rd(au, 0, AU_REG_CODECIO, 4); + i=au_rd4(au, AU_REG_CODECIO); if ((i & 0x00ff0000) == (regno | 0x00800000)) break; DELAY(j * 200 + 2000); j++; @@ -146,13 +142,13 @@ i=j=tries=0; do { while (j<50 && (i & AU_CDC_WROK) == 0) { - i=au_rd(au, 0, AU_REG_CODECST, 4); + i=au_rd4(au, AU_REG_CODECST); DELAY(2000); j++; } if (j==50) printf("codec timeout during write of register %x, data %x\n", regno, data); - au_wr(au, 0, AU_REG_CODECIO, (regno<<16) | AU_CDC_REGSET | data, 4); + au_wr4(au, AU_REG_CODECIO, (regno<<16) | AU_CDC_REGSET | data); /* DELAY(20000); i=au_rdcd(au, regno); */ tries++; @@ -188,8 +184,8 @@ int j = 0x1099c+(a<<2); if (au->x[a] != a+0x67) j = AU_REG_RTBASE+(au->x[a]<<2); - au_wr(au, 0, AU_REG_RTBASE+(route<<2), 0xffffffff, 4); - au_wr(au, 0, j, route | (b<<7), 4); + au_wr4(au, AU_REG_RTBASE+(route<<2), 0xffffffff); + au_wr4(au, j, route | (b<<7)); au->y[route]=au->x[a]; au->x[a]=route; au->z[route]=a & 0x000000ff; @@ -204,10 +200,10 @@ au_setbit(au->routes, route, 0); au->z[route]=0x1f; - i=au_rd(au, 0, AU_REG_RTBASE+(route<<2), 4); - au_wr(au, 0, AU_REG_RTBASE+(au->y[route]<<2), i, 4); + i=au_rd4(au, AU_REG_RTBASE+(route<<2)); + au_wr4(au, AU_REG_RTBASE+(au->y[route]<<2), i); au->y[i & 0x7f]=au->y[route]; - au_wr(au, 0, AU_REG_RTBASE+(route<<2), 0xfffffffe, 4); + au_wr4(au, AU_REG_RTBASE+(route<<2), 0xfffffffe); if (au->x[j] == route) au->x[j]=au->y[route]; au->y[route]=0x7f; } @@ -215,8 +211,8 @@ static void au_encodec(struct au_info *au, char channel) { - au_wr(au, 0, AU_REG_CODECEN, - au_rd(au, 0, AU_REG_CODECEN, 4) | (1 << (channel + 8)), 4); + au_wr4(au, AU_REG_CODECEN, + au_rd4(au, AU_REG_CODECEN) | (1 << (channel + 8))); } static void @@ -224,7 +220,7 @@ { u_int32_t i; - for (i=0; i<32; i++) au_wr(au, 0, AU_REG_FIFOBASE+(c<<7)+(i<<2), 0, 4); + for (i=0; i<32; i++) au_wr4(au, AU_REG_FIFOBASE+(c<<7)+(i<<2), 0); } static void @@ -232,10 +228,10 @@ { int x; - x = au_rd(au, 0, AU_REG_ADB, 4); + x = au_rd4(au, AU_REG_ADB); x &= ~(1 << c); x |= (enable << c); - au_wr(au, 0, AU_REG_ADB, x, 4); + au_wr4(au, AU_REG_ADB, x); } static void @@ -245,9 +241,9 @@ int i, stereo = (format & AFMT_STEREO)? 1 : 0; u_int32_t baseaddr = sndbuf_getbufaddr(ch->buffer); - au_wr(au, 0, 0x1061c, 0, 4); - au_wr(au, 0, 0x10620, 0, 4); - au_wr(au, 0, 0x10624, 0, 4); + au_wr4(au, 0x1061c, 0); + au_wr4(au, 0x10620, 0); + au_wr4(au, 0x10624, 0); switch(format & ~AFMT_STEREO) { case 1: i=0xb000; @@ -264,28 +260,28 @@ default: i=0x3000; } - au_wr(au, 0, 0x10200, baseaddr, 4); - au_wr(au, 0, 0x10204, baseaddr+0x1000, 4); - au_wr(au, 0, 0x10208, baseaddr+0x2000, 4); - au_wr(au, 0, 0x1020c, baseaddr+0x3000, 4); + au_wr4(au, 0x10200, baseaddr); + au_wr4(au, 0x10204, baseaddr+0x1000); + au_wr4(au, 0x10208, baseaddr+0x2000); + au_wr4(au, 0x1020c, baseaddr+0x3000); - au_wr(au, 0, 0x10400, 0xdeffffff, 4); - au_wr(au, 0, 0x10404, 0xfcffffff, 4); + au_wr4(au, 0x10400, 0xdeffffff); + au_wr4(au, 0x10404, 0xfcffffff); - au_wr(au, 0, 0x10580, i, 4); + au_wr4(au, 0x10580, i); - au_wr(au, 0, 0x10210, baseaddr, 4); - au_wr(au, 0, 0x10214, baseaddr+0x1000, 4); - au_wr(au, 0, 0x10218, baseaddr+0x2000, 4); - au_wr(au, 0, 0x1021c, baseaddr+0x3000, 4); + au_wr4(au, 0x10210, baseaddr); + au_wr4(au, 0x10214, baseaddr+0x1000); + au_wr4(au, 0x10218, baseaddr+0x2000); + au_wr4(au, 0x1021c, baseaddr+0x3000); - au_wr(au, 0, 0x10408, 0x00fff000 | 0x56000000 | 0x00000fff, 4); - au_wr(au, 0, 0x1040c, 0x00fff000 | 0x74000000 | 0x00000fff, 4); + au_wr4(au, 0x10408, 0x00fff000 | 0x56000000 | 0x00000fff); + au_wr4(au, 0x1040c, 0x00fff000 | 0x74000000 | 0x00000fff); - au_wr(au, 0, 0x10584, i, 4); + au_wr4(au, 0x10584, i); - au_wr(au, 0, 0x0f800, stereo? 0x00030032 : 0x00030030, 4); - au_wr(au, 0, 0x0f804, stereo? 0x00030032 : 0x00030030, 4); + au_wr4(au, 0x0f800, stereo? 0x00030032 : 0x00030030); + au_wr4(au, 0x0f804, stereo? 0x00030032 : 0x00030030); au_addroute(au, 0x11, 0, 0x58); au_addroute(au, 0x11, stereo? 0 : 1, 0x59); @@ -345,8 +341,8 @@ if (ch->dir == PCMDIR_PLAY) { au_setadb(au, 0x11, (go)? 1 : 0); if (go != PCMTRIG_START) { - au_wr(au, 0, 0xf800, 0, 4); - au_wr(au, 0, 0xf804, 0, 4); + au_wr4(au, 0xf800, 0); + au_wr4(au, 0xf804, 0); au_delroute(au, 0x58); au_delroute(au, 0x59); } @@ -361,7 +357,7 @@ struct au_chinfo *ch = data; struct au_info *au = ch->parent; if (ch->dir == PCMDIR_PLAY) { - return au_rd(au, 0, AU_REG_UNK2, 4) & (AU_BUFFSIZE-1); + return au_rd4(au, AU_REG_UNK2) & (AU_BUFFSIZE-1); } else { return 0; } @@ -395,21 +391,21 @@ u_int32_t intsrc, i; au->interrupts++; - intsrc=au_rd(au, 0, AU_REG_IRQSRC, 4); + intsrc=au_rd4(au, AU_REG_IRQSRC); printf("pcm%d: interrupt with src %x\n", au->unit, intsrc); if (intsrc & AU_IRQ_FATAL) printf("pcm%d: fatal error irq\n", au->unit); if (intsrc & AU_IRQ_PARITY) printf("pcm%d: parity error irq\n", au->unit); if (intsrc & AU_IRQ_UNKNOWN) { - (void)au_rd(au, 0, AU_REG_UNK1, 4); - au_wr(au, 0, AU_REG_UNK1, 0, 4); - au_wr(au, 0, AU_REG_UNK1, 0x10000, 4); + (void)au_rd4(au, AU_REG_UNK1); + au_wr4(au, AU_REG_UNK1, 0); + au_wr4(au, AU_REG_UNK1, 0x10000); } if (intsrc & AU_IRQ_PCMOUT) { - i=au_rd(au, 0, AU_REG_UNK2, 4) & (AU_BUFFSIZE-1); + i=au_rd4(au, AU_REG_UNK2) & (AU_BUFFSIZE-1); chn_intr(au->pch.channel); - (void)au_rd(au, 0, AU_REG_UNK3, 4); - (void)au_rd(au, 0, AU_REG_UNK4, 4); - (void)au_rd(au, 0, AU_REG_UNK5, 4); + (void)au_rd4(au, AU_REG_UNK3); + (void)au_rd4(au, AU_REG_UNK4); + (void)au_rd4(au, AU_REG_UNK5); } /* don't support midi if (intsrc & AU_IRQ_MIDI) { @@ -424,8 +420,8 @@ } } */ - au_wr(au, 0, AU_REG_IRQSRC, intsrc & 0x7ff, 4); - au_rd(au, 0, AU_REG_IRQSRC, 4); + au_wr4(au, AU_REG_IRQSRC, intsrc & 0x7ff); + au_rd4(au, AU_REG_IRQSRC); } @@ -438,48 +434,48 @@ { u_int32_t i, j; - au_wr(au, 0, AU_REG_IRQGLOB, 0xffffffff, 4); + au_wr4(au, AU_REG_IRQGLOB, 0xffffffff); DELAY(100000); /* init codec */ /* cold reset */ for (i=0; i<32; i++) { - au_wr(au, 0, AU_REG_CODECCHN+(i<<2), 0, 4); + au_wr4(au, AU_REG_CODECCHN+(i<<2), 0); DELAY(10000); } if (1) { - au_wr(au, 0, AU_REG_CODECST, 0x8068, 4); + au_wr4(au, AU_REG_CODECST, 0x8068); DELAY(10000); - au_wr(au, 0, AU_REG_CODECST, 0x00e8, 4); + au_wr4(au, AU_REG_CODECST, 0x00e8); DELAY(10000); } else { - au_wr(au, 0, AU_REG_CODECST, 0x00a8, 4); + au_wr4(au, AU_REG_CODECST, 0x00a8); DELAY(100000); - au_wr(au, 0, AU_REG_CODECST, 0x80a8, 4); + au_wr4(au, AU_REG_CODECST, 0x80a8); DELAY(100000); - au_wr(au, 0, AU_REG_CODECST, 0x80e8, 4); + au_wr4(au, AU_REG_CODECST, 0x80e8); DELAY(100000); - au_wr(au, 0, AU_REG_CODECST, 0x80a8, 4); + au_wr4(au, AU_REG_CODECST, 0x80a8); DELAY(100000); - au_wr(au, 0, AU_REG_CODECST, 0x00a8, 4); + au_wr4(au, AU_REG_CODECST, 0x00a8); DELAY(100000); - au_wr(au, 0, AU_REG_CODECST, 0x00e8, 4); + au_wr4(au, AU_REG_CODECST, 0x00e8); DELAY(100000); } /* init */ for (i=0; i<32; i++) { - au_wr(au, 0, AU_REG_CODECCHN+(i<<2), 0, 4); + au_wr4(au, AU_REG_CODECCHN+(i<<2), 0); DELAY(10000); } - au_wr(au, 0, AU_REG_CODECST, 0xe8, 4); + au_wr4(au, AU_REG_CODECST, 0xe8); DELAY(10000); - au_wr(au, 0, AU_REG_CODECEN, 0, 4); + au_wr4(au, AU_REG_CODECEN, 0); /* setup codec */ i=j=0; while (j<100 && (i & AU_CDC_READY)==0) { - i=au_rd(au, 0, AU_REG_CODECST, 4); + i=au_rd4(au, AU_REG_CODECST); DELAY(1000); j++; } @@ -490,16 +486,16 @@ for (i=0; i<32; i++) au->x[i]=i+0x67; for (i=0; i<128; i++) au->y[i]=0x7f; for (i=0; i<128; i++) au->z[i]=0x1f; - au_wr(au, 0, AU_REG_ADB, 0, 4); - for (i=0; i<124; i++) au_wr(au, 0, AU_REG_RTBASE+(i<<2), 0xffffffff, 4); + au_wr4(au, AU_REG_ADB, 0); + for (i=0; i<124; i++) au_wr4(au, AU_REG_RTBASE+(i<<2), 0xffffffff); /* test */ - i=au_rd(au, 0, 0x107c0, 4); + i=au_rd4(au, 0, 0x107c0); if (i!=0xdeadbeef) device_printf(dev, "dma check failed: 0x%x\n", i); /* install mixer */ - au_wr(au, 0, AU_REG_IRQGLOB, - au_rd(au, 0, AU_REG_IRQGLOB, 4) | AU_IRQ_ENABLE, 4); + au_wr4(au, AU_REG_IRQGLOB, + au_rd4(au, AU_REG_IRQGLOB) | AU_IRQ_ENABLE); /* braindead but it's what the oss/linux driver does * for (i=0; i<0x80000000; i++) au_wr(au, 0, i<<2, 0, 4); */ @@ -512,9 +508,9 @@ au_encodec(au, 0); au_encodec(au, 1); - for (i=0; i<48; i++) au_wr(au, 0, 0xf800+(i<<2), 0x20, 4); - for (i=2; i<6; i++) au_wr(au, 0, 0xf800+(i<<2), 0, 4); - au_wr(au, 0, 0xf8c0, 0x0843, 4); + for (i=0; i<48; i++) au_wr4(au, 0xf800+(i<<2), 0x20); + for (i=2; i<6; i++) au_wr4(au, 0xf800+(i<<2), 0); + au_wr4(au, 0xf8c0, 0x0843); for (i=0; i<4; i++) au_clrfifo(au, i); return (0); @@ -523,15 +519,27 @@ static int au_testirq(struct au_info *au) { - au_wr(au, 0, AU_REG_UNK1, 0x80001000, 4); - au_wr(au, 0, AU_REG_IRQEN, 0x00001030, 4); - au_wr(au, 0, AU_REG_IRQSRC, 0x000007ff, 4); + au_wr4(au, AU_REG_UNK1, 0x80001000); + au_wr4(au, AU_REG_IRQEN, 0x00001030); + au_wr4(au, AU_REG_IRQSRC, 0x000007ff); DELAY(1000000); if (au->interrupts==0) printf("pcm%d: irq test failed\n", au->unit); /* this apparently generates an irq */ return 0; } +static void +au_destroy(device_t dev, au_info *sc) +{ + if (!sc) + return; + + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, sc->spec, sc->res); + free(sc, M_DEVBUF); +} + static int au_pci_probe(device_t dev) { @@ -546,92 +554,49 @@ static int au_pci_attach(device_t dev) { - u_int32_t data; - struct au_info *au; - int type[10]; - int regid[10]; - struct resource *reg[10]; - int i, j, mapped = 0; - int irqid; - struct resource *irq = 0; - void *ih = 0; + struct au_info *sc; struct ac97_info *codec; char status[SND_STATUSLEN]; - au = malloc(sizeof(*au), M_DEVBUF, M_WAITOK | M_ZERO); - au->unit = device_get_unit(dev); + sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO); + if (sc == NULL) { + device_printf(dev, "cannot allocate softc\n"); + return ENXIO; + } + sc->unit = device_get_unit(dev); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); + pci_enable_io(dev, SYS_RES_MEMORY); - j=0; - /* XXX dfr: is this strictly necessary? */ - for (i=0; imap[i].ln2size); - printf("%s space ", (config_id->map[i].type & PCI_MAPPORT)? - "io" : "memory"); - printf("at 0x%x...", config_id->map[i].base); + sc->spec = au_res_spec_mem; + if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) { + sc->spec = au_res_spec_io; + if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); + goto bad; } -#endif - regid[j] = PCIR_BAR(i); - type[j] = SYS_RES_MEMORY; - reg[j] = bus_alloc_resource_any(dev, type[j], ®id[j], - RF_ACTIVE); - if (!reg[j]) { - type[j] = SYS_RES_IOPORT; - reg[j] = bus_alloc_resource_any(dev, type[j], - ®id[j], RF_ACTIVE); - } - if (reg[j]) { - au->st[i] = rman_get_bustag(reg[j]); - au->sh[i] = rman_get_bushandle(reg[j]); - mapped++; - } -#if 0 - if (bootverbose) printf("%s\n", mapped? "ok" : "failed"); -#endif - if (mapped) j++; - if (j == 10) { - /* XXX */ - device_printf(dev, "too many resources"); - goto bad; - } - } + } -#if 0 - if (j < config_id->nummaps) { - printf("pcm%d: unable to map a required resource\n", unit); - free(au, M_DEVBUF); - return; - } -#endif - - au_wr(au, 0, AU_REG_IRQEN, 0, 4); - - irqid = 0; - irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!irq || snd_setup_intr(dev, irq, 0, au_intr, au, &ih)) { + au_wr4(sc, AU_REG_IRQEN, 0); + if (snd_setup_intr(dev, sc->res[RES_IRQ], 0, au_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } - if (au_testirq(au)) device_printf(dev, "irq test failed\n"); + if (au_testirq(sc)) + device_printf(dev, "irq test failed\n"); - if (au_init(dev, au) == -1) { + if (au_init(dev, sc) == -1) { device_printf(dev, "unable to initialize the card\n"); goto bad; } - codec = AC97_CREATE(dev, au, au_ac97); - if (codec == NULL) goto bad; - if (mixer_init(dev, ac97_getmixerclass(), codec) == -1) goto bad; + codec = AC97_CREATE(dev, sc, au_ac97); + if (codec == NULL) + goto bad; + if (mixer_init(dev, ac97_getmixerclass(), codec) == -1) + goto bad; if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2, /*boundary*/0, @@ -646,29 +611,47 @@ } snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s", - (type[0] == SYS_RES_IOPORT)? "io" : "memory", - rman_get_start(reg[0]), rman_get_start(irq),PCM_KLDSTRING(snd_aureal)); + (sc->spec == au_res_spec_io)? "io" : "memory", + rman_get_start(sc->res[RES_P0]), + rman_get_start(sc->res[RES_IRQ]), + PCM_KLDSTRING(snd_aureal)); - if (pcm_register(dev, au, 1, 1)) goto bad; + if (pcm_register(dev, sc, 1, 1)) + goto bad; /* pcm_addchan(dev, PCMDIR_REC, &au_chantemplate, au); */ - pcm_addchan(dev, PCMDIR_PLAY, &auchan_class, au); + pcm_addchan(dev, PCMDIR_PLAY, &auchan_class, sc); pcm_setstatus(dev, status); return 0; bad: - if (au) free(au, M_DEVBUF); - for (i = 0; i < j; i++) - bus_release_resource(dev, type[i], regid[i], reg[i]); - if (ih) bus_teardown_intr(dev, irq, ih); - if (irq) bus_release_resource(dev, SYS_RES_IRQ, irqid, irq); + au_destroy(dev, sc); return ENXIO; } +static int +au_pci_detach(device_t dev) +{ + int ret; + struct au_info *sc; + + ret = pcm_unregister(dev); + if (ret) + return ret; + + sc = pcm_getdevinfo(dev); + + /* XXX: how to shut down card?? */ + au_destroy(dev, sc); + + return 0; +} + static device_method_t au_methods[] = { /* Device interface */ DEVMETHOD(device_probe, au_pci_probe), DEVMETHOD(device_attach, au_pci_attach), + DEVMETHOD(device_detach, au_pci_detach), { 0, 0 } }; From owner-p4-projects@FreeBSD.ORG Mon Jul 23 23:51:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 076FD16A41F; Mon, 23 Jul 2007 23:51:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9B62316A41B for ; Mon, 23 Jul 2007 23:51:22 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7893813C458 for ; Mon, 23 Jul 2007 23:51:22 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6NNpMw9035856 for ; Mon, 23 Jul 2007 23:51:22 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6NNpMs8035849 for perforce@freebsd.org; Mon, 23 Jul 2007 23:51:22 GMT (envelope-from loafier@FreeBSD.org) Date: Mon, 23 Jul 2007 23:51:22 GMT Message-Id: <200707232351.l6NNpMs8035849@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123986 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jul 2007 23:51:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=123986 Change 123986 by loafier@chrisdsoc on 2007/07/23 23:50:45 Use bus_dma_tag_destroy() in detach method. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#3 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#3 (text+ko) ==== @@ -534,6 +534,9 @@ if (!sc) return; + if (sc->parent_dmat) + bus_dma_tag_destroy(sc->parent_dmat); + if (sc->ih) bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); bus_release_resources(dev, sc->spec, sc->res); From owner-p4-projects@FreeBSD.ORG Tue Jul 24 00:35:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7974A16A419; Tue, 24 Jul 2007 00:35:16 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4294716A41B for ; Tue, 24 Jul 2007 00:35:16 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29C7A13C45D for ; Tue, 24 Jul 2007 00:35:16 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O0ZGZn039537 for ; Tue, 24 Jul 2007 00:35:16 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O0ZFb9039534 for perforce@freebsd.org; Tue, 24 Jul 2007 00:35:15 GMT (envelope-from loafier@FreeBSD.org) Date: Tue, 24 Jul 2007 00:35:15 GMT Message-Id: <200707240035.l6O0ZFb9039534@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 123987 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 00:35:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=123987 Change 123987 by loafier@chrisdsoc on 2007/07/24 00:34:33 Added sentinal to resource_spec arrays in aureal.c. Used bus_alloc_resources, etc in cmi.c. Haven't tried compiling either of these yet. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#4 edit .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cmi.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#4 (text+ko) ==== @@ -76,12 +76,14 @@ static struct resource_spec au_res_spec_mem[] = { {SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE}, - {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE} + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {-1, 0, 0} }; static struct resource_spec au_res_spec_io[] = { {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, - {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE} + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {-1, 0, 0} }; struct au_info { ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cmi.c#2 (text+ko) ==== @@ -100,14 +100,23 @@ int dir; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec cmi_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {-1, 0, 0} +}; + struct sc_info { device_t dev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; - struct resource *reg, *irq; - int regid, irqid; + struct resource *res[RES_SZ]; void *ih; struct mtx *lock; @@ -138,37 +147,13 @@ /* ------------------------------------------------------------------------- */ /* Register Utilities */ -static u_int32_t -cmi_rd(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->st, sc->sh, regno); - case 2: - return bus_space_read_2(sc->st, sc->sh, regno); - case 4: - return bus_space_read_4(sc->st, sc->sh, regno); - default: - DEB(printf("cmi_rd: failed 0x%04x %d\n", regno, size)); - return 0xFFFFFFFF; - } -} +#define cmi_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define cmi_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define cmi_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) -static void -cmi_wr(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->st, sc->sh, regno, data); - break; - case 2: - bus_space_write_2(sc->st, sc->sh, regno, data); - break; - case 4: - bus_space_write_4(sc->st, sc->sh, regno, data); - break; - } -} +#define cmi_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define cmi_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define cmi_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) static void cmi_partial_wr4(struct sc_info *sc, @@ -176,10 +161,10 @@ { u_int32_t r; - r = cmi_rd(sc, reg, 4); + r = cmi_rd4(sc, reg); r &= ~(mask << shift); r |= val << shift; - cmi_wr(sc, reg, r, 4); + cmi_wr4(sc, reg, r); } static void @@ -187,9 +172,9 @@ { u_int32_t r; - r = cmi_rd(sc, reg, 4); + r = cmi_rd4(sc, reg); r &= ~mask; - cmi_wr(sc, reg, r, 4); + cmi_wr4(sc, reg, r); } static void @@ -197,9 +182,9 @@ { u_int32_t r; - r = cmi_rd(sc, reg, 4); + r = cmi_rd4(sc, reg); r |= mask; - cmi_wr(sc, reg, r, 4); + cmi_wr4(sc, reg, r); } /* ------------------------------------------------------------------------- */ @@ -250,14 +235,14 @@ ch->phys_buf = sndbuf_getbufaddr(ch->buffer); - cmi_wr(sc, base, ch->phys_buf, 4); + cmi_wr4(sc, base, ch->phys_buf); sz = (u_int32_t)sndbuf_getsize(ch->buffer); s = sz / ch->bps - 1; - cmi_wr(sc, base + 4, s, 2); + cmi_wr2(sc, base + 4, s); i = sz / (ch->bps * CMI_INTR_PER_BUFFER) - 1; - cmi_wr(sc, base + 6, i, 2); + cmi_wr2(sc, base + 6, i); } @@ -431,7 +416,7 @@ /* enable if req after rate change */ cmi_spdif_speed(ch->parent, speed); } - rsp = cmi_rd(ch->parent, CMPCI_REG_FUNC_1, 4); + rsp = cmi_rd4(ch->parent, CMPCI_REG_FUNC_1); rsp >>= CMPCI_REG_DAC_FS_SHIFT; rsp &= CMPCI_REG_DAC_FS_MASK; } else { @@ -440,7 +425,7 @@ CMPCI_REG_ADC_FS_SHIFT, CMPCI_REG_ADC_FS_MASK, r); - rsp = cmi_rd(ch->parent, CMPCI_REG_FUNC_1, 4); + rsp = cmi_rd4(ch->parent, CMPCI_REG_FUNC_1); rsp >>= CMPCI_REG_ADC_FS_SHIFT; rsp &= CMPCI_REG_ADC_FS_MASK; } @@ -513,9 +498,9 @@ snd_mtxlock(sc->lock); if (ch->dir == PCMDIR_PLAY) { - physptr = cmi_rd(sc, CMPCI_REG_DMA0_BASE, 4); + physptr = cmi_rd4(sc, CMPCI_REG_DMA0_BASE); } else { - physptr = cmi_rd(sc, CMPCI_REG_DMA1_BASE, 4); + physptr = cmi_rd4(sc, CMPCI_REG_DMA1_BASE); } snd_mtxunlock(sc->lock); @@ -533,7 +518,7 @@ u_int32_t toclear; snd_mtxlock(sc->lock); - intrstat = cmi_rd(sc, CMPCI_REG_INTR_STATUS, 4); + intrstat = cmi_rd4(sc, CMPCI_REG_INTR_STATUS); if ((intrstat & CMPCI_REG_ANY_INTR) != 0) { toclear = 0; @@ -596,15 +581,15 @@ static void cmimix_wr(struct sc_info *sc, u_int8_t port, u_int8_t val) { - cmi_wr(sc, CMPCI_REG_SBADDR, port, 1); - cmi_wr(sc, CMPCI_REG_SBDATA, val, 1); + cmi_wr1(sc, CMPCI_REG_SBADDR, port); + cmi_wr1(sc, CMPCI_REG_SBDATA, val); } static u_int8_t cmimix_rd(struct sc_info *sc, u_int8_t port) { - cmi_wr(sc, CMPCI_REG_SBADDR, port, 1); - return (u_int8_t)cmi_rd(sc, CMPCI_REG_SBDATA, 1); + cmi_wr1(sc, CMPCI_REG_SBADDR, port); + return (u_int8_t)cmi_rd1(sc, CMPCI_REG_SBDATA); } struct sb16props { @@ -677,11 +662,11 @@ if (cmt[dev].rreg == CMPCI_NON_SB16_CONTROL) { /* For time being this can only be one thing (mic in * mic/aux reg) */ - v = cmi_rd(sc, CMPCI_REG_AUX_MIC, 1) & 0xf0; + v = cmi_rd1(sc, CMPCI_REG_AUX_MIC) & 0xf0; l = left * max / 100; /* 3 bit gain with LSB MICGAIN off(1),on(1) -> 4 bit value */ v |= ((l << 1) | (~l >> 3)) & 0x0f; - cmi_wr(sc, CMPCI_REG_AUX_MIC, v, 1); + cmi_wr1(sc, CMPCI_REG_AUX_MIC, v); return 0; } @@ -898,6 +883,24 @@ sc->mpu_intr = 0; } +static void +cmi_destroy(device_t dev, sc_info *sc) +{ + if (!sc) + return; + + if (sc->parent_dmat) + bus_dma_tag_destroy(sc->parent_dmat); + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, sc->res, cmi_res_spec); + if (sc->lock) + snd_mtxfree(sc->lock); + + free(sc, M_DEVBUF); +} + + /* ------------------------------------------------------------------------- */ /* Bus and device registration */ static int @@ -925,35 +928,28 @@ cmi_attach(device_t dev) { struct sc_info *sc; - u_int32_t data; char status[SND_STATUSLEN]; sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO); + if (!sc) { + device_printf(dev, "cannot allocate softc\n"); + return ENXIO; + } + sc->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_cmi softc"); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); sc->dev = dev; - sc->regid = PCIR_BAR(0); - sc->reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &sc->regid, - RF_ACTIVE); - if (!sc->reg) { - device_printf(dev, "cmi_attach: Cannot allocate bus resource\n"); + + if (bus_alloc_resources(dev, sc->res, cmi_res_spec) != 0) goto bad; - } - sc->st = rman_get_bustag(sc->reg); - sc->sh = rman_get_bushandle(sc->reg); if (0) cmi_midiattach(sc); - sc->irqid = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || - snd_setup_intr(dev, sc->irq, INTR_MPSAFE, cmi_intr, sc, &sc->ih)) { + if (snd_setup_intr(dev, sc->res[RES_IRQ], + INTR_MPSAFE, cmi_intr, sc, &sc->ih)) { device_printf(dev, "cmi_attach: Unable to map interrupt\n"); goto bad; } @@ -990,25 +986,16 @@ pcm_addchan(dev, PCMDIR_REC, &cmichan_class, sc); snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s", - rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_cmi)); + rman_get_start(sc->res[RES_MEM]), + rman_get_start(sc->res[RES_IRQ]), + PCM_KLDSTRING(snd_cmi)); pcm_setstatus(dev, status); DEB(printf("cmi_attach: succeeded\n")); return 0; bad: - if (sc->parent_dmat) - bus_dma_tag_destroy(sc->parent_dmat); - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - if (sc->reg) - bus_release_resource(dev, SYS_RES_IOPORT, sc->regid, sc->reg); - if (sc->lock) - snd_mtxfree(sc->lock); - if (sc) - free(sc, M_DEVBUF); + cmi_destroy(dev, sc); return ENXIO; } @@ -1026,17 +1013,12 @@ cmi_uninit(sc); cmi_power(sc, 3); - bus_dma_tag_destroy(sc->parent_dmat); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); if(sc->mpu) mpu401_uninit(sc->mpu); - bus_release_resource(dev, SYS_RES_IOPORT, sc->regid, sc->reg); if (sc->mpu_reg) bus_release_resource(dev, SYS_RES_IOPORT, sc->mpu_regid, sc->mpu_reg); - snd_mtxfree(sc->lock); - free(sc, M_DEVBUF); + cmi_destroy(dev, sc); return 0; } From owner-p4-projects@FreeBSD.ORG Tue Jul 24 07:26:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 649E916A468; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3064C16A41F for ; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1B4A613C474 for ; Tue, 24 Jul 2007 07:26:51 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O7QoiG093963 for ; Tue, 24 Jul 2007 07:26:51 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O7QoeH093960 for perforce@freebsd.org; Tue, 24 Jul 2007 07:26:50 GMT (envelope-from gabor@freebsd.org) Date: Tue, 24 Jul 2007 07:26:50 GMT Message-Id: <200707240726.l6O7QoeH093960@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 123994 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 07:26:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=123994 Change 123994 by gabor@gabor_server on 2007/07/24 07:26:44 - Add back experimental mounting code Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#22 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#22 (text+ko) ==== @@ -69,8 +69,31 @@ .if defined(WITH_EXPERIMENTAL_DESTDIR) do-chroot: - ${ECHO_CMD} "===> Nullmounting ports tree into ${DESTDIR}..."; \ - ${MOUNT_NULLFS} ${PORTSDIR} ${DESTDIR}${PORTSDIR_TMP_REL}; \ + @for _entry in ${DESTDIR_MOUNT_LIST}; do \ + _var= `${ECHO_CMD} $${_entry} | ${SED} -e 's/:.*//'`; \ + _path1= `${ECHO_CMD} $${_entry} | ${SED} -e 's/[^:]*://'`; \ + _path2= `${ECHO_CMD} $${_path1} | ${SED} -e 's/.*://'`; \ + echo "$${_var} $${_path1} $${_path2}"; \ + if [ $${_path1} = $${_path2} ]; then \ + _tmpdir= `${MKTEMP} -d ${DESTDIR}/tmp/tmpdir.XXXXXX`; \ + _tmpdir_rel= `${ECHO_CMD} $${_tmpdir} | ${SED} -e 's|^${DESTDIR}||'`; \ + if [ $${_var} = PORTSDIR ]; then \ + _builddir= `${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \ + fi; \ + _tmp= "$${_destdir_env}"; \ + _destdir_env= "$${_tmp} $${_var}=$${_tmpdir_rel}"; \ + echo "$${_destdir_env}"; \ + ${MOUNT_NULLFS} $${_path1} ${DESTDIR}${_tmpdir_rel}; \ + else \ + if [ $${_var} = PORTSDIR ]; then \ + _builddir= `${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \ + fi; \ + _tmp= "$${_destdir_env}"; \ + _destdir_env= "$${_tmp} $${_var}=$${_path2}"; \ + ${MOUNT_NULLFS} $${_path1} ${DESTDIR}/$${_path2}; \ + fi; \ + done; \ + echo "$${_destdir_env}"; \ found=0; \ for _entry in `${MOUNT} | ${GREP} devfs | ${AWK} {'print $$3'}`; do \ if [ `${REALPATH} $${_entry}` = `${REALPATH} ${DESTDIR}/dev` ]; then \ @@ -82,9 +105,7 @@ ${MOUNT_DEVFS} ${DESTDIR}/dev; \ fi; \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ - ${CHROOT} ${DESTDIR} ${SH} -c "(cd ${BUILDDIR}; ${SETENV} -i ${DESTDIR_ENV} ${MAKE} ${.TARGETS})"; \ - ${UMOUNT} ${DESTDIR}${PORTSDIR_TMP_REL}; \ - ${RMDIR} ${DESTDIR}${PORTSDIR_TMP_REL} + ${CHROOT} ${DESTDIR} ${SH} -c "(cd $${_builddir}; ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})" .else do-chroot: @${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ From owner-p4-projects@FreeBSD.ORG Tue Jul 24 08:16:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 47C4B16A41A; Tue, 24 Jul 2007 08:16:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F1ECB16A417 for ; Tue, 24 Jul 2007 08:16:57 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id DC8EB13C45B for ; Tue, 24 Jul 2007 08:16:57 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O8Gv5C000745 for ; Tue, 24 Jul 2007 08:16:57 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O8Gv5f000742 for perforce@freebsd.org; Tue, 24 Jul 2007 08:16:57 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 24 Jul 2007 08:16:57 GMT Message-Id: <200707240816.l6O8Gv5f000742@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 123998 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 08:16:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=123998 Change 123998 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/24 08:16:40 add test cases about mdconfig Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#11 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/00.t#3 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh -# $FreeBSD: src/tools/regression/mactest/tests/rename/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ +# $FreeBSD: src/tools/regression/mactest/tests/link/00.t,v 1.2 2007/01/25 20:50:02 zhouzhouyi Exp $ -desc="rename changes file name" +desc="link creates hardlinks" dir=`dirname $0` ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#11 (text+ko) ==== @@ -100,6 +100,8 @@ echo "not ok ${ntest}" fi ntest=`expr $ntest + 1` + ret=`cat ${tmp_file}|tail -1` + rm ${tmp_file} rm ${tmp_file1} @@ -171,5 +173,10 @@ echo "mactest_`dd if=/dev/random bs=1k count=1 2>/dev/null | openssl md5`" } +namegenshort() +{ + echo "mactest_`dd if=/dev/random bs=1k count=1 2>/dev/null | openssl md5|awk '{print substr($0,1,16)}'`" +} + From owner-p4-projects@FreeBSD.ORG Tue Jul 24 08:32:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B5CA916A46E; Tue, 24 Jul 2007 08:32:18 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 758E316A419 for ; Tue, 24 Jul 2007 08:32:18 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 60CEF13C46A for ; Tue, 24 Jul 2007 08:32:18 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O8WIMC001795 for ; Tue, 24 Jul 2007 08:32:18 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O8WIQm001792 for perforce@freebsd.org; Tue, 24 Jul 2007 08:32:18 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 08:32:18 GMT Message-Id: <200707240832.l6O8WIQm001792@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 08:32:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=124000 Change 124000 by sat@sat_amilo on 2007/07/24 08:31:32 - Check if DESTDIR and DESTDIR/tmp exist - Fail if DESTDIR doesn't - Create /tmp if needed, fail if we can't - Define .MAIN:all to deal with no-targets make invocations Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#23 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#23 (text+ko) ==== @@ -51,6 +51,7 @@ DESTDIR_ENV+= ${_var}="${${_var}}" .endfor +.MAIN: all .for _target in ${.TARGETS} ${_target}: pre-chroot do-chroot @${TRUE} @@ -69,7 +70,21 @@ .if defined(WITH_EXPERIMENTAL_DESTDIR) do-chroot: - @for _entry in ${DESTDIR_MOUNT_LIST}; do \ + @if [ ! -d ${DESTDIR} ]; then \ + ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \ + ${ECHO_MSG} "=> Please set DESTDIR to a valid jail environment."; \ + exit 1; \ + fi; \ + if [ ! -d ${DESTDIR}/tmp ]; then \ + ${ECHO_MSG} "===> Directory ${DESTDIR}/tmp does not exist"; \ + if mkdir ${DESTDIR}/tmp; then \ + ${ECHO_MSG} "=> tmp subdirectory has been successfully created"; \ + else \ + ${ECHO_MSG} "=> tmp subdirectory could not be created"; \ + exit 2; \ + fi; \ + fi; \ + for _entry in ${DESTDIR_MOUNT_LIST}; do \ _var= `${ECHO_CMD} $${_entry} | ${SED} -e 's/:.*//'`; \ _path1= `${ECHO_CMD} $${_entry} | ${SED} -e 's/[^:]*://'`; \ _path2= `${ECHO_CMD} $${_path1} | ${SED} -e 's/.*://'`; \ From owner-p4-projects@FreeBSD.ORG Tue Jul 24 08:39:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D97B016A420; Tue, 24 Jul 2007 08:39:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B0FB216A417 for ; Tue, 24 Jul 2007 08:39:27 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B99513C442 for ; Tue, 24 Jul 2007 08:39:27 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O8dRUe002067 for ; Tue, 24 Jul 2007 08:39:27 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O8dRSR002064 for perforce@freebsd.org; Tue, 24 Jul 2007 08:39:27 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 24 Jul 2007 08:39:27 GMT Message-Id: <200707240839.l6O8dRSR002064@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124001 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 08:39:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124001 Change 124001 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/24 08:38:26 forget to enable mac/mls when mdconfiging :( Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#2 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#2 (text+ko) ==== @@ -35,7 +35,7 @@ touch ${mactest_conf} ############################################################# -# t=`sysctl security.mac.mls.enabled=1` + t=`sysctl security.mac.mls.enabled=1` echo "enforcing mac/mls!" #case 1: mkdir mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n0} 0755 From owner-p4-projects@FreeBSD.ORG Tue Jul 24 09:05:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E2A4316A41F; Tue, 24 Jul 2007 09:05:00 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B721F16A418 for ; Tue, 24 Jul 2007 09:05:00 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 94EF313C45E for ; Tue, 24 Jul 2007 09:05:00 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6O950k0013292 for ; Tue, 24 Jul 2007 09:05:00 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6O950rM013279 for perforce@freebsd.org; Tue, 24 Jul 2007 09:05:00 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 24 Jul 2007 09:05:00 GMT Message-Id: <200707240905.l6O950rM013279@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124002 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 09:05:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=124002 Change 124002 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/24 09:04:59 Information leak by means of mount Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#3 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#3 (text+ko) ==== @@ -16,10 +16,10 @@ sysctl ${i}=0 done - echo "1..5" + echo "1..10" n0=`namegenshort` n1=`namegen` - n2=`namegen` + n2=`namegenshort` mac_mls_support=`sysctl -n security.mac.mls.enabled 2>/dev/null` mac_biba_support=`sysctl -n security.mac.biba.enabled 2>/dev/null` @@ -40,22 +40,52 @@ #case 1: mkdir mactestexpect "" 0 -m "mls/low(low-high)" -f ${mactest_conf} mkdir ${n0} 0755 -#case 2: mdconfig - mactestexpect "" "[0-9]*" -m "mls/7(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m +#case 2: mdconfig, couldn't open /dev/mdctl, BLP prevents write down + echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo "biba/high(low-high),mls/7(low-high) biba/high,mls/low" >> ${mactest_conf} + mactestexpect "*Permission.denied" "" -m "mls/7(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m + +#case 3: mdconfig, successfully open /dev/mdctl + echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo "biba/high(low-high),mls/low(low-high) biba/high,mls/low" >> ${mactest_conf} + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -a -n -t malloc -s 1m mdnum=${ret} -#case 3: newfs - mactestexpect "" "*" -m "mls/7(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} + +#case 4: newfs, fail for writing, BLP prevents write down + echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo "biba/high(low-high),mls/7(low-high) biba/high,mls/low" >> ${mactest_conf} + mactestexpect "*failed.to.open.disk.for.writing" "*" -m "mls/7(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} + +#case 5: newfs, success + echo -n "pid = -2 mac_test_check_vnode_open#VREAD VWRITE:" > ${mactest_conf} + echo "biba/high(low-high),mls/low(low-high) biba/high,mls/low" >> ${mactest_conf} + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system newfs -i 1 /dev/md${mdnum} -#case 4: mount -# echo ${mdnum} +#case 6: mount + rm ${mactest_conf} + touch ${mactest_conf} mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n0} - umount ${n0} + +#case 7: touch + mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system touch ${n0}/${n1} + +#case 8: umount + mactestexpect "" "" -m "mls/7(low-high)" -f ${mactest_conf} system umount ${n0} + +#case 9: remount with low label + mkdir ${n2} + mactestexpect "" "" -m "mls/low(low-high)" -f ${mactest_conf} system mount /dev/md${mdnum} ${n2} +# umount ${n0} +#case 10: lookup the previous touched file + mactestexpect "" ${n1} -m "mls/low(low-high)" -f ${mactest_conf} system ls ${n2} + umount ${n2} #cleanup: t=`sysctl security.mac.mls.enabled=0` echo "disabling mac/mls!" rm -fr ${n0} + rm -fr ${n2} rm ${mactest_conf} fi From owner-p4-projects@FreeBSD.ORG Tue Jul 24 13:10:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 056D816A41F; Tue, 24 Jul 2007 13:10:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 84D5916A418 for ; Tue, 24 Jul 2007 13:10:11 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6D1DB13C45A for ; Tue, 24 Jul 2007 13:10:11 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6ODABpF042689 for ; Tue, 24 Jul 2007 13:10:11 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6ODA9KQ042676 for perforce@freebsd.org; Tue, 24 Jul 2007 13:10:09 GMT (envelope-from rpaulo@FreeBSD.org) Date: Tue, 24 Jul 2007 13:10:09 GMT Message-Id: <200707241310.l6ODA9KQ042676@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124008 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 13:10:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=124008 Change 124008 by rpaulo@rpaulo_epsilon on 2007/07/24 13:09:28 IFC Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/amd64/isa/clock.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/bsm/audit.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/bsm/audit_internal.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/bsm/audit_kevents.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/bsm/audit_record.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/cam/scsi/scsi_cd.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/compat/ndis/subr_ntoskrnl.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/conf/files#20 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfe.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfevar.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/re/if_re.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/sym/sym_hipd.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#18 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_fat.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vfsops.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vnops.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#6 integrate .. //depot/projects/soc2007/rpaulo-macbook/i386/isa/clock.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/clock.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_kse.c#4 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thread.c#5 integrate .. //depot/projects/soc2007/rpaulo-macbook/kern/subr_clock.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.c#9 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_indata.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_os_bsd.h#11 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#14 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.h#10 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/sctp6_usrreq.c#13 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_output.c#6 delete .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_usrreq.c#7 integrate .. //depot/projects/soc2007/rpaulo-macbook/netinet6/udp6_var.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pc98/cbus/clock.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/if_rl.c#2 integrate .. //depot/projects/soc2007/rpaulo-macbook/pci/if_rlreg.h#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/eeprom.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/rtc.c#3 integrate .. //depot/projects/soc2007/rpaulo-macbook/sys/proc.h#5 integrate Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/amd64/isa/clock.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.232 2007/06/15 22:58:14 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -686,8 +686,7 @@ return; wrong_time: - printf("Invalid time in real time clock.\n"); - printf("Check and reset the date immediately!\n"); + printf("Invalid time in clock: check and reset the date!\n"); } /* ==== //depot/projects/soc2007/rpaulo-macbook/bsm/audit.h#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,10 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#36 - * $FreeBSD: src/sys/bsm/audit.h,v 1.8 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit.h#38 + * $FreeBSD: src/sys/bsm/audit.h,v 1.9 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _BSM_AUDIT_H ==== //depot/projects/soc2007/rpaulo-macbook/bsm/audit_internal.h#3 (text) ==== @@ -6,8 +6,6 @@ * This code was developed in part by Robert N. M. Watson, Senior Principal * Scientist, SPARTA, Inc. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -32,10 +30,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#16 - * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.7 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_internal.h#18 + * $FreeBSD: src/sys/bsm/audit_internal.h,v 1.8 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _AUDIT_INTERNAL_H ==== //depot/projects/soc2007/rpaulo-macbook/bsm/audit_kevents.h#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,10 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#32 - * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.11 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_kevents.h#34 + * $FreeBSD: src/sys/bsm/audit_kevents.h,v 1.12 2007/07/22 12:28:12 rwatson Exp $ */ #ifndef _BSM_AUDIT_KEVENTS_H_ @@ -49,11 +45,12 @@ #define AUE_NULL 0 #define AUE_EXIT 1 #define AUE_FORK 2 +#define AUE_FORKALL AUE_FORK /* Solaris-specific. */ #define AUE_OPEN 3 #define AUE_CREAT 4 #define AUE_LINK 5 #define AUE_UNLINK 6 -#define AUE_DELETE AUE_UNLINK +#define AUE_DELETE AUE_UNLINK /* Darwin-specific. */ #define AUE_EXEC 7 #define AUE_CHDIR 8 #define AUE_MKNOD 9 @@ -62,7 +59,7 @@ #define AUE_UMOUNT 12 #define AUE_JUNK 13 /* Solaris-specific. */ #define AUE_ACCESS 14 -#define AUE_CHECKUSERACCESS AUE_ACCESS +#define AUE_CHECKUSERACCESS AUE_ACCESS /* Darwin-specific. */ #define AUE_KILL 15 #define AUE_STAT 16 #define AUE_LSTAT 17 @@ -161,7 +158,7 @@ #define AUE_SEMOP 110 #define AUE_CORE 111 /* Solaris-specific, currently. */ #define AUE_CLOSE 112 -#define AUE_SYSTEMBOOT 113 +#define AUE_SYSTEMBOOT 113 /* Solaris-specific. */ #define AUE_ASYNC_DAEMON_EXIT 114 /* Solaris-specific. */ #define AUE_NFSSVC_EXIT 115 /* Solaris-specific. */ #define AUE_WRITEL 128 /* Solaris-specific. */ @@ -184,9 +181,14 @@ #define AUE_GETKERNSTATE 147 /* Solaris-specific. */ #define AUE_SETKERNSTATE 148 /* Solaris-specific. */ #define AUE_GETPORTAUDIT 149 /* Solaris-specific. */ -#define AUE_AUDISTAT 150 /* Solaris-specific. */ +#define AUE_AUDITSTAT 150 /* Solaris-specific. */ +#define AUE_REVOKE 151 +#define AUE_MAC 152 /* Solaris-specific. */ #define AUE_ENTERPROM 153 /* Solaris-specific. */ #define AUE_EXITPROM 154 /* Solaris-specific. */ +#define AUE_IFLOAT 155 /* Solaris-specific. */ +#define AUE_PFLOAT 156 /* Solaris-specific. */ +#define AUE_UPRIV 157 /* Solaris-specific. */ #define AUE_IOCTL 158 #define AUE_SOCKET 183 #define AUE_SENDTO 184 @@ -198,28 +200,30 @@ #define AUE_RECVMSG 190 #define AUE_RECVFROM 191 #define AUE_READ 192 +#define AUE_GETDENTS 193 #define AUE_LSEEK 194 #define AUE_WRITE 195 #define AUE_WRITEV 196 #define AUE_NFS 197 /* Solaris-specific. */ #define AUE_READV 198 - /* XXXRW: XXX Solaris old stat()? */ +#define AUE_OSTAT 199 /* Solaris-specific. */ #define AUE_SETUID 200 /* XXXRW: Solaris old setuid? */ #define AUE_STIME 201 /* XXXRW: Solaris old stime? */ #define AUE_UTIME 202 /* XXXRW: Solaris old utime? */ #define AUE_NICE 203 /* XXXRW: Solaris old nice? */ - /* XXXRW: Solaris old setpgrp? */ -#define AUE_SETGID 205 /* XXXRW: Solaris old setgid? */ - /* XXXRW: Solaris readl? */ - /* XXXRW: Solaris readvl()? */ +#define AUE_OSETPGRP 204 /* Solaris-specific. */ +#define AUE_SETGID 205 +#define AUE_READL 206 /* Solaris-specific. */ +#define AUE_READVL 207 /* Solaris-specific. */ +#define AUE_FSTAT 208 #define AUE_DUP2 209 #define AUE_MMAP 210 #define AUE_AUDIT 211 -#define AUE_PRIOCNTLSYS 212 +#define AUE_PRIOCNTLSYS 212 /* Solaris-specific. */ #define AUE_MUNMAP 213 #define AUE_SETEGID 214 #define AUE_SETEUID 215 -#define AUE_PUTMSG 216 +#define AUE_PUTMSG 216 /* Solaris-specific. */ #define AUE_GETMSG 217 /* Solaris-specific. */ #define AUE_PUTPMSG 218 /* Solaris-specific. */ #define AUE_GETPMSG 219 /* Solaris-specific. */ @@ -236,26 +240,27 @@ #define AUE_AUDITON_SETCOND 230 #define AUE_AUDITON_GETCLASS 231 #define AUE_AUDITON_SETCLASS 232 -#define AUE_UTSSYS 233 /* Solaris-specific. */ +#define AUE_FUSERS 233 /* Solaris-specific; also UTSSYS? */ #define AUE_STATVFS 234 -#define AUE_XSTAT 235 -#define AUE_LXSTAT 236 +#define AUE_XSTAT 235 /* Solaris-specific. */ +#define AUE_LXSTAT 236 /* Solaris-specific. */ #define AUE_LCHOWN 237 #define AUE_MEMCNTL 238 /* Solaris-specific. */ #define AUE_SYSINFO 239 /* Solaris-specific. */ #define AUE_XMKNOD 240 /* Solaris-specific. */ #define AUE_FORK1 241 - /* XXXRW: Solaris modctl()? */ +#define AUE_MODCTL 242 /* Solaris-specific. */ #define AUE_MODLOAD 243 #define AUE_MODUNLOAD 244 #define AUE_MODCONFIG 245 /* Solaris-specific. */ #define AUE_MODADDMAJ 246 /* Solaris-specific. */ -#define AUE_SOCKACCEPT 247 -#define AUE_SOCKCONNECT 248 -#define AUE_SOCKSEND 249 -#define AUE_SOCKRECEIVE 250 +#define AUE_SOCKACCEPT 247 /* Solaris-specific. */ +#define AUE_SOCKCONNECT 248 /* Solaris-specific. */ +#define AUE_SOCKSEND 249 /* Solaris-specific. */ +#define AUE_SOCKRECEIVE 250 /* Solaris-specific. */ #define AUE_ACLSET 251 #define AUE_FACLSET 252 +#define AUE_DOORFS 253 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_CALL 254 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_RETURN 255 /* Solaris-specific. */ #define AUE_DOORFS_DOOR_CREATE 256 /* Solaris-specific. */ @@ -267,11 +272,42 @@ #define AUE_P_ONLINE 262 /* Solaris-specific. */ #define AUE_PROCESSOR_BIND 263 /* Solaris-specific. */ #define AUE_INST_SYNC 264 /* Solaris-specific. */ -#define AUE_SOCK_CONFIG 265 /* Solaris-specific. */ +#define AUE_SOCKCONFIG 265 /* Solaris-specific. */ #define AUE_SETAUDIT_ADDR 266 #define AUE_GETAUDIT_ADDR 267 +#define AUE_UMOUNT2 268 /* Solaris-specific. */ +#define AUE_FSAT 269 /* Solaris-specific. */ +#define AUE_OPENAT_R 270 +#define AUE_OPENAT_RC 271 +#define AUE_OPENAT_RT 272 +#define AUE_OPENAT_RTC 273 +#define AUE_OPENAT_W 274 +#define AUE_OPENAT_WC 275 +#define AUE_OPENAT_WT 276 +#define AUE_OPENAT_WTC 277 +#define AUE_OPENAT_RW 278 +#define AUE_OPENAT_RWC 279 +#define AUE_OPENAT_RWT 280 +#define AUE_OPENAT_RWTC 281 +#define AUE_RENAMEAT 282 +#define AUE_FSTATAT 283 +#define AUE_FCHOWNAT 284 +#define AUE_FUTIMESAT 285 +#define AUE_UNLINKAT 286 #define AUE_CLOCK_SETTIME 287 #define AUE_NTP_ADJTIME 288 +#define AUE_SETPPRIV 289 /* Solaris-specific. */ +#define AUE_MODDEVPLCY 290 /* Solaris-specific. */ +#define AUE_MODADDPRIV 291 /* Solaris-specific. */ +#define AUE_CRYPTOADM 292 /* Solaris-specific. */ +#define AUE_CONFIGKSSL 293 /* Solaris-specific. */ +#define AUE_BRANDSYS 294 /* Solaris-specific. */ +#define AUE_PF_POLICY_ADDRULE 295 /* Solaris-specific. */ +#define AUE_PF_POLICY_DELRULE 296 /* Solaris-specific. */ +#define AUE_PF_POLICY_CLONE 297 /* Solaris-specific. */ +#define AUE_PF_POLICY_FLIP 298 /* Solaris-specific. */ +#define AUE_PF_POLICY_FLUSH 299 /* Solaris-specific. */ +#define AUE_PF_POLICY_ALGS 300 /* Solaris-specific. */ /* * Events added for Apple Darwin that potentially collide with future Solaris @@ -286,30 +322,30 @@ #define AUE_DARWIN_PROFILE 305 #define AUE_DARWIN_KTRACE 306 #define AUE_DARWIN_SETLOGIN 307 -#define AUE_DARWIN_REBOOT 308 /* XXX: See AUE_REBOOT. */ +#define AUE_DARWIN_REBOOT 308 #define AUE_DARWIN_REVOKE 309 #define AUE_DARWIN_UMASK 310 #define AUE_DARWIN_MPROTECT 311 -#define AUE_DARWIN_SETPRIORITY 312 /* XXX: See AUE_SETPRIORITY. */ -#define AUE_DARWIN_SETTIMEOFDAY 313 /* XXX: See AUE_SETTIMEOFDAY. */ -#define AUE_DARWIN_FLOCK 314 /* XXX: See AUE_FLOCK. */ +#define AUE_DARWIN_SETPRIORITY 312 +#define AUE_DARWIN_SETTIMEOFDAY 313 +#define AUE_DARWIN_FLOCK 314 #define AUE_DARWIN_MKFIFO 315 #define AUE_DARWIN_POLL 316 -#define AUE_DARWIN_SOCKETPAIR 317 /* XXXRW: See AUE_SOCKETPAIR. */ +#define AUE_DARWIN_SOCKETPAIR 317 #define AUE_DARWIN_FUTIMES 318 #define AUE_DARWIN_SETSID 319 #define AUE_DARWIN_SETPRIVEXEC 320 /* Darwin-specific. */ -#define AUE_DARWIN_NFSSVC 321 /* XXX: See AUE_NFS_SVC. */ -#define AUE_DARWIN_GETFH 322 /* XXX: See AUE_NFS_GETFH. */ -#define AUE_DARWIN_QUOTACTL 323 /* XXX: See AUE_QUOTACTL. */ +#define AUE_DARWIN_NFSSVC 321 +#define AUE_DARWIN_GETFH 322 +#define AUE_DARWIN_QUOTACTL 323 #define AUE_DARWIN_ADDPROFILE 324 /* Darwin-specific. */ #define AUE_DARWIN_KDEBUGTRACE 325 /* Darwin-specific. */ #define AUE_DARWIN_KDBUGTRACE AUE_KDEBUGTRACE #define AUE_DARWIN_FSTAT 326 #define AUE_DARWIN_FPATHCONF 327 #define AUE_DARWIN_GETDIRENTRIES 328 -#define AUE_DARWIN_TRUNCATE 329 /* XXX: See AUE_TRUNCATE. */ -#define AUE_DARWIN_FTRUNCATE 330 /* XXX: See AUE_FTRUNCATE. */ +#define AUE_DARWIN_TRUNCATE 329 +#define AUE_DARWIN_FTRUNCATE 330 #define AUE_DARWIN_SYSCTL 331 #define AUE_DARWIN_MLOCK 332 #define AUE_DARWIN_MUNLOCK 333 @@ -348,6 +384,11 @@ * These often duplicate events added to the Solaris set by Darwin, but use * event identifiers in a higher range in order to avoid colliding with * future Solaris additions. + * + * If an event in this section is later added to Solaris, we prefer the + * Solaris event identifier, and add _OPENBSM_ to the OpenBSM-specific + * identifier so that old trails can still be processed, but new trails use + * the Solaris identifier. */ #define AUE_GETFSSTAT 43001 #define AUE_PTRACE 43002 @@ -356,7 +397,7 @@ #define AUE_PROFILE 43005 #define AUE_KTRACE 43006 #define AUE_SETLOGIN 43007 -#define AUE_REVOKE 43008 +#define AUE_OPENBSM_REVOKE 43008 /* Solaris event now preferred. */ #define AUE_UMASK 43009 #define AUE_MPROTECT 43010 #define AUE_MKFIFO 43011 @@ -367,7 +408,7 @@ #define AUE_ADDPROFILE 43016 /* Darwin-specific. */ #define AUE_KDEBUGTRACE 43017 /* Darwin-specific. */ #define AUE_KDBUGTRACE AUE_KDEBUGTRACE -#define AUE_FSTAT 43018 +#define AUE_OPENBSM_FSTAT 43018 /* Solaris event now preferred. */ #define AUE_FPATHCONF 43019 #define AUE_GETDIRENTRIES 43020 #define AUE_SYSCTL 43021 @@ -497,6 +538,16 @@ #define AUE_LISTEN 43140 /* FreeBSD/Darwin/Linux. */ #define AUE_MLOCKALL 43141 /* FreeBSD. */ #define AUE_MUNLOCKALL 43142 /* FreeBSD. */ +#define AUE_CLOSEFROM 43143 /* FreeBSD. */ +#define AUE_FEXECVE 43144 /* FreeBSD. */ +#define AUE_FACCESSAT 43145 /* FreeBSD. */ +#define AUE_FCHMODAT 43146 /* FreeBSD. */ +#define AUE_LINKAT 43147 /* FreeBSD. */ +#define AUE_MKDIRAT 43148 /* FreeBSD. */ +#define AUE_MKFIFOAT 43149 /* FreeBSD. */ +#define AUE_MKNODAT 43150 /* FreeBSD. */ +#define AUE_READLINKAT 43151 /* FreeBSD. */ +#define AUE_SYMLINKAT 43152 /* FreeBSD. */ /* * Darwin BSM uses a number of AUE_O_* definitions, which are aliased to the ==== //depot/projects/soc2007/rpaulo-macbook/bsm/audit_record.h#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,10 +26,8 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#24 - * $FreeBSD: src/sys/bsm/audit_record.h,v 1.9 2007/04/17 12:27:08 rwatson Exp $ + * P4: //depot/projects/trustedbsd/audit3/sys/bsm/audit_record.h#26 + * $FreeBSD: src/sys/bsm/audit_record.h,v 1.10 2007/07/22 12:28:13 rwatson Exp $ */ #ifndef _BSM_AUDIT_RECORD_H_ ==== //depot/projects/soc2007/rpaulo-macbook/cam/scsi/scsi_cd.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.101 2007/05/16 16:54:23 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.102 2007/07/21 18:07:45 kan Exp $"); #include "opt_cd.h" @@ -1860,14 +1860,17 @@ && (cmd != CDIOCEJECT)) && (IOCGROUP(cmd) == 'c')) { error = cdcheckmedia(periph); + if (error != 0) { + cam_periph_unhold(periph); + cam_periph_unlock(periph); + return (error); + } } /* * Drop the lock here so later mallocs can use WAITOK. The periph * is essentially locked still with the cam_periph_hold call above. */ cam_periph_unlock(periph); - if (error != 0) - return (error); nocopyout = 0; switch (cmd) { ==== //depot/projects/soc2007/rpaulo-macbook/compat/ndis/subr_ntoskrnl.c#3 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.89 2007/06/05 00:00:50 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.90 2007/07/22 20:53:28 thompsa Exp $"); #include #include @@ -2778,6 +2778,7 @@ KeAcquireSpinLock(&kq->kq_lock, &irql); if (kq->kq_exit) { + kq->kq_exit = 0; KeReleaseSpinLock(&kq->kq_lock, irql); break; } @@ -2814,7 +2815,8 @@ kq = wq_queues + i; kq->kq_exit = 1; KeSetEvent(&kq->kq_proc, IO_NO_INCREMENT, FALSE); - tsleep(kq->kq_td->td_proc, PWAIT, "waitiw", 0); + while (kq->kq_exit) + tsleep(kq->kq_td->td_proc, PWAIT, "waitiw", hz/10); } return; @@ -3842,6 +3844,7 @@ KeAcquireSpinLock(&kq->kq_lock, &irql); if (kq->kq_exit) { + kq->kq_exit = 0; KeReleaseSpinLock(&kq->kq_lock, irql); break; } @@ -3891,7 +3894,8 @@ KeInitializeDpc(&dpc, NULL, NULL); KeSetTargetProcessorDpc(&dpc, i); KeInsertQueueDpc(&dpc, NULL, NULL); - tsleep(kq->kq_td->td_proc, PWAIT, "dpcw", 0); + while (kq->kq_exit) + tsleep(kq->kq_td->td_proc, PWAIT, "dpcw", hz/10); } return; ==== //depot/projects/soc2007/rpaulo-macbook/conf/files#20 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1239 2007/07/19 16:15:58 gallatin Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1240 2007/07/23 07:58:58 rwatson Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1913,7 +1913,6 @@ netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 netinet6/sctp6_usrreq.c optional inet6 sctp -netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional ipsec netipsec/ipsec_input.c optional ipsec ==== //depot/projects/soc2007/rpaulo-macbook/dev/acpica/acpi_hpet.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.9 2007/06/15 18:02:34 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_hpet.c,v 1.10 2007/07/22 20:45:27 njl Exp $"); #include "opt_acpi.h" #include @@ -140,7 +140,7 @@ { struct acpi_hpet_softc *sc; int rid; - uint32_t val; + uint32_t val, val2; uintmax_t freq; ACPI_FUNCTION_TRACE((char *)(uintptr_t) __func__); @@ -163,6 +163,9 @@ return (ENXIO); } + /* Be sure timer is enabled. */ + bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 1); + /* Read basic statistics about the timer. */ val = bus_read_4(sc->mem_res, HPET_OFFSET_PERIOD); freq = (1000000000000000LL + val / 2) / val; @@ -175,12 +178,23 @@ ((val >> 13) & 1) ? " count_size" : ""); } - /* Be sure it is enabled. */ - bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 1); - if (testenv("debug.acpi.hpet_test")) acpi_hpet_test(sc); + /* + * Don't attach if the timer never increments. Since the spec + * requires it to be at least 10 MHz, it has to change in 1 us. + */ + val = bus_read_4(sc->mem_res, HPET_OFFSET_VALUE); + DELAY(1); + val2 = bus_read_4(sc->mem_res, HPET_OFFSET_VALUE); + if (val == val2) { + device_printf(dev, "HPET never increments, disabling\n"); + bus_write_4(sc->mem_res, HPET_OFFSET_ENABLE, 0); + bus_free_resource(dev, SYS_RES_MEMORY, sc->mem_res); + return (ENXIO); + } + hpet_timecounter.tc_frequency = freq; hpet_timecounter.tc_priv = sc; tc_init(&hpet_timecounter); ==== //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfe.c#3 (text+ko) ==== @@ -21,7 +21,7 @@ /* Driver for NVIDIA nForce MCP Fast Ethernet and Gigabit Ethernet */ #include -__FBSDID("$FreeBSD: src/sys/dev/nfe/if_nfe.c,v 1.18 2007/06/12 02:35:01 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/nfe/if_nfe.c,v 1.19 2007/07/24 01:11:00 yongari Exp $"); #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -108,7 +108,7 @@ static void nfe_init_locked(void *); static void nfe_stop(struct ifnet *); static int nfe_alloc_rx_ring(struct nfe_softc *, struct nfe_rx_ring *); -static int nfe_alloc_jrx_ring(struct nfe_softc *, struct nfe_jrx_ring *); +static void nfe_alloc_jrx_ring(struct nfe_softc *, struct nfe_jrx_ring *); static int nfe_init_rx_ring(struct nfe_softc *, struct nfe_rx_ring *); static int nfe_init_jrx_ring(struct nfe_softc *, struct nfe_jrx_ring *); static void nfe_free_rx_ring(struct nfe_softc *, struct nfe_rx_ring *); @@ -151,8 +151,10 @@ /* Tunables. */ static int msi_disable = 0; static int msix_disable = 0; +static int jumbo_disable = 0; TUNABLE_INT("hw.nfe.msi_disable", &msi_disable); TUNABLE_INT("hw.nfe.msix_disable", &msix_disable); +TUNABLE_INT("hw.nfe.jumbo_disable", &jumbo_disable); static device_method_t nfe_methods[] = { /* Device interface */ @@ -513,8 +515,7 @@ if ((error = nfe_alloc_rx_ring(sc, &sc->rxq)) != 0) goto fail; - if ((error = nfe_alloc_jrx_ring(sc, &sc->jrxq)) != 0) - goto fail; + nfe_alloc_jrx_ring(sc, &sc->jrxq); SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), @@ -1140,7 +1141,7 @@ } -static int +static void nfe_alloc_jrx_ring(struct nfe_softc *sc, struct nfe_jrx_ring *ring) { struct nfe_dmamap_arg ctx; @@ -1151,7 +1152,12 @@ int i, error, descsize; if ((sc->nfe_flags & NFE_JUMBO_SUP) == 0) - return (0); + return; + if (jumbo_disable != 0) { + device_printf(sc->nfe_dev, "disabling jumbo frame support\n"); + sc->nfe_jumbo_disable = 1; + return; + } if (sc->nfe_flags & NFE_40BIT_ADDR) { desc = ring->jdesc64; @@ -1301,11 +1307,17 @@ jpool_entries); } - return (0); + return; fail: + /* + * Running without jumbo frame support is ok for most cases + * so don't fail on creating dma tag/map for jumbo frame. + */ nfe_free_jrx_ring(sc, ring); - return (error); + device_printf(sc->nfe_dev, "disabling jumbo frame support due to " + "resource shortage\n"); + sc->nfe_jumbo_disable = 1; } @@ -1671,7 +1683,10 @@ return; } - nfe_rxeof(sc, count); + if (sc->nfe_framesize > MCLBYTES - ETHER_HDR_LEN) + nfe_jrxeof(sc, count); + else + nfe_rxeof(sc, count); nfe_txeof(sc); if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) taskqueue_enqueue_fast(taskqueue_fast, &sc->nfe_tx_task); @@ -1746,7 +1761,8 @@ if (ifr->ifr_mtu < ETHERMIN || ifr->ifr_mtu > NFE_JUMBO_MTU) error = EINVAL; else if (ifp->if_mtu != ifr->ifr_mtu) { - if ((sc->nfe_flags & NFE_JUMBO_SUP) == 0 && + if ((((sc->nfe_flags & NFE_JUMBO_SUP) == 0) || + (sc->nfe_jumbo_disable != 0)) && ifr->ifr_mtu > ETHERMTU) error = EINVAL; else { ==== //depot/projects/soc2007/rpaulo-macbook/dev/nfe/if_nfevar.h#3 (text+ko) ==== @@ -15,7 +15,7 @@ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $FreeBSD: src/sys/dev/nfe/if_nfevar.h,v 1.4 2007/06/12 02:16:02 yongari Exp $ + * $FreeBSD: src/sys/dev/nfe/if_nfevar.h,v 1.5 2007/07/24 01:11:00 yongari Exp $ */ struct nfe_tx_data { @@ -103,6 +103,7 @@ #define NFE_PWR_MGMT 0x0010 #define NFE_CORRECT_MACADDR 0x0020 #define NFE_TX_FLOW_CTRL 0x0040 + int nfe_jumbo_disable; uint32_t rxtxctl; uint8_t mii_phyaddr; uint8_t eaddr[ETHER_ADDR_LEN]; ==== //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2560.c#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.13 2007/06/29 02:43:13 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.13 2007/06/29 02:43:13 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); /*- * Ralink Technology RT2560 chipset driver @@ -410,9 +410,10 @@ ring->cur = ring->next = 0; ring->cur_encrypt = ring->next_encrypt = 0; - error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, count * RT2560_TX_DESC_SIZE, 1, - count * RT2560_TX_DESC_SIZE, 0, NULL, NULL, &ring->desc_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + count * RT2560_TX_DESC_SIZE, 1, count * RT2560_TX_DESC_SIZE, + 0, NULL, NULL, &ring->desc_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create desc DMA tag\n"); goto fail; @@ -441,9 +442,10 @@ goto fail; } - error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, RT2560_MAX_SCATTER, - MCLBYTES, 0, NULL, NULL, &ring->data_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + MCLBYTES, RT2560_MAX_SCATTER, MCLBYTES, 0, NULL, NULL, + &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); goto fail; @@ -552,9 +554,10 @@ ring->cur = ring->next = 0; ring->cur_decrypt = 0; - error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, count * RT2560_RX_DESC_SIZE, 1, - count * RT2560_RX_DESC_SIZE, 0, NULL, NULL, &ring->desc_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + count * RT2560_RX_DESC_SIZE, 1, count * RT2560_RX_DESC_SIZE, + 0, NULL, NULL, &ring->desc_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create desc DMA tag\n"); goto fail; @@ -586,9 +589,9 @@ /* * Pre-allocate Rx buffers and populate Rx ring. */ - error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, 1, MCLBYTES, 0, NULL, - NULL, &ring->data_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, + 1, MCLBYTES, 0, NULL, NULL, &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); goto fail; ==== //depot/projects/soc2007/rpaulo-macbook/dev/ral/rt2661.c#4 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.13 2007/06/29 02:43:13 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ /*- * Copyright (c) 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.13 2007/06/29 02:43:13 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); /*- * Ralink Technology RT2561, RT2561S and RT2661 chipset driver @@ -445,9 +445,10 @@ ring->queued = 0; ring->cur = ring->next = ring->stat = 0; - error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, count * RT2661_TX_DESC_SIZE, 1, - count * RT2661_TX_DESC_SIZE, 0, NULL, NULL, &ring->desc_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + count * RT2661_TX_DESC_SIZE, 1, count * RT2661_TX_DESC_SIZE, + 0, NULL, NULL, &ring->desc_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create desc DMA tag\n"); goto fail; @@ -476,9 +477,9 @@ goto fail; } - error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, RT2661_MAX_SCATTER, - MCLBYTES, 0, NULL, NULL, &ring->data_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, + RT2661_MAX_SCATTER, MCLBYTES, 0, NULL, NULL, &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); goto fail; @@ -585,9 +586,10 @@ ring->count = count; ring->cur = ring->next = 0; - error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, count * RT2661_RX_DESC_SIZE, 1, - count * RT2661_RX_DESC_SIZE, 0, NULL, NULL, &ring->desc_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 4, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, + count * RT2661_RX_DESC_SIZE, 1, count * RT2661_RX_DESC_SIZE, + 0, NULL, NULL, &ring->desc_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create desc DMA tag\n"); goto fail; @@ -619,9 +621,9 @@ /* * Pre-allocate Rx buffers and populate Rx ring. */ - error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT, - BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, 1, MCLBYTES, 0, NULL, - NULL, &ring->data_dmat); + error = bus_dma_tag_create(bus_get_dma_tag(sc->sc_dev), 1, 0, + BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES, + 1, MCLBYTES, 0, NULL, NULL, &ring->data_dmat); if (error != 0) { device_printf(sc->sc_dev, "could not create data DMA tag\n"); goto fail; ==== //depot/projects/soc2007/rpaulo-macbook/dev/re/if_re.c#4 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.91 2007/07/06 00:05:11 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/re/if_re.c,v 1.92 2007/07/24 01:24:02 yongari Exp $"); /* * RealTek 8139C+/8169/8169S/8110S/8168/8111/8101E PCI NIC driver @@ -160,6 +160,10 @@ #include +/* Tunables. */ +static int msi_disable = 0; +TUNABLE_INT("hw.re.msi_disable", &msi_disable); + #define RE_CSUM_FEATURES (CSUM_IP | CSUM_TCP | CSUM_UDP) /* @@ -1159,6 +1163,7 @@ int hwrev; u_int16_t re_did = 0; int error = 0, rid, i; + int msic, reg; sc = device_get_softc(dev); sc->rl_dev = dev; @@ -1185,15 +1190,45 @@ sc->rl_btag = rman_get_bustag(sc->rl_res); sc->rl_bhandle = rman_get_bushandle(sc->rl_res); + msic = 0; + if (pci_find_extcap(dev, PCIY_EXPRESS, ®) == 0) { + msic = pci_msi_count(dev); + if (bootverbose) + device_printf(dev, "MSI count : %d\n", msic); + } + if (msic == RL_MSI_MESSAGES && msi_disable == 0) { + if (pci_alloc_msi(dev, &msic) == 0) { + if (msic == RL_MSI_MESSAGES) { + device_printf(dev, "Using %d MSI messages\n", + msic); + sc->rl_msi = 1; + } else + pci_release_msi(dev); + } + } + /* Allocate interrupt */ - rid = 0; - sc->rl_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, - RF_SHAREABLE | RF_ACTIVE); - - if (sc->rl_irq == NULL) { - device_printf(dev, "couldn't map interrupt\n"); - error = ENXIO; - goto fail; + if (sc->rl_msi == 0) { + rid = 0; + sc->rl_irq[0] = bus_alloc_resource_any(dev, SYS_RES_IRQ, &rid, + RF_SHAREABLE | RF_ACTIVE); + if (sc->rl_irq[0] == NULL) { + device_printf(dev, "couldn't allocate IRQ resources\n"); + error = ENXIO; + goto fail; + } + } else { + for (i = 0, rid = 1; i < RL_MSI_MESSAGES; i++, rid++) { + sc->rl_irq[i] = bus_alloc_resource_any(dev, + SYS_RES_IRQ, &rid, RF_ACTIVE); + if (sc->rl_irq[i] == NULL) { + device_printf(dev, + "couldn't llocate IRQ resources for " + "message %d\n", rid); + error = ENXIO; + goto fail; + } + } } /* Reset the adapter. */ @@ -1320,8 +1355,19 @@ #endif /* Hook interrupt last to avoid having to lock softc */ - error = bus_setup_intr(dev, sc->rl_irq, INTR_TYPE_NET | INTR_MPSAFE, - re_intr, NULL, sc, &sc->rl_intrhand); + if (sc->rl_msi == 0) + error = bus_setup_intr(dev, sc->rl_irq[0], + INTR_TYPE_NET | INTR_MPSAFE, re_intr, NULL, sc, + &sc->rl_intrhand[0]); + else { + for (i = 0; i < RL_MSI_MESSAGES; i++) { + error = bus_setup_intr(dev, sc->rl_irq[i], + INTR_TYPE_NET | INTR_MPSAFE, re_intr, NULL, sc, + &sc->rl_intrhand[i]); + if (error != 0) + break; + } + } if (error) { device_printf(dev, "couldn't set up irq\n"); ether_ifdetach(ifp); @@ -1348,7 +1394,7 @@ { struct rl_softc *sc; struct ifnet *ifp; - int i; + int i, rid; sc = device_get_softc(dev); ifp = sc->rl_ifp; @@ -1393,12 +1439,31 @@ * stopped here. */ - if (sc->rl_intrhand) - bus_teardown_intr(dev, sc->rl_irq, sc->rl_intrhand); + for (i = 0; i < RL_MSI_MESSAGES; i++) { + if (sc->rl_intrhand[i] != NULL) { + bus_teardown_intr(dev, sc->rl_irq[i], + sc->rl_intrhand[i]); + sc->rl_intrhand[i] = NULL; + } + } if (ifp != NULL) if_free(ifp); - if (sc->rl_irq) - bus_release_resource(dev, SYS_RES_IRQ, 0, sc->rl_irq); + if (sc->rl_msi == 0) { + if (sc->rl_irq[0] != NULL) { + bus_release_resource(dev, SYS_RES_IRQ, 0, + sc->rl_irq[0]); + sc->rl_irq[0] = NULL; + } + } else { + for (i = 0, rid = 1; i < RL_MSI_MESSAGES; i++, rid++) { + if (sc->rl_irq[i] != NULL) { + bus_release_resource(dev, SYS_RES_IRQ, rid, + sc->rl_irq[i]); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 24 13:32:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1A41616A46B; Tue, 24 Jul 2007 13:32:47 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C337D16A41F for ; Tue, 24 Jul 2007 13:32:46 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id 3864D13C478 for ; Tue, 24 Jul 2007 13:32:46 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id 7948F690E79; Tue, 24 Jul 2007 14:26:18 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id 3A1B9690E81; Tue, 24 Jul 2007 14:26:18 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=AWL, BAYES_00, FORGED_RCVD_HELO, RCVD_IN_DSBL,RCVD_IN_SORBS_DUL autolearn=no version=3.1.7 Received: from epsilon.local (87-196-92-57.net.novis.pt [87.196.92.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id 47B56690E79; Tue, 24 Jul 2007 14:26:17 +0100 (WEST) Message-ID: <46A5FF7A.1090803@fnop.net> Date: Tue, 24 Jul 2007 14:32:42 +0100 From: Rui Paulo User-Agent: Thunderbird 2.0.0.4 (X11/20070704) MIME-Version: 1.0 To: Hans Petter Selasky References: <200707121918.l6CJIFkI094946@repoman.freebsd.org> <200707130713.14525.hselasky@c2i.net> <4697815C.2080103@fnop.net> <200707131604.22648.hselasky@c2i.net> In-Reply-To: <200707131604.22648.hselasky@c2i.net> Content-Type: multipart/mixed; boundary="------------040908040603050309080809" X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 123399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 13:32:47 -0000 This is a multi-part message in MIME format. --------------040908040603050309080809 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hans Petter Selasky wrote: > Remove all USB device drivers from your kernel config file, except "device > ugen". All your USB devices should show up like "ugenX" devices. Then > install "/usr/ports/sysutils/udesc_dump" and run this command on > all /dev/ugenX instances. Redirect the contents to a set of files and upload > them somewhere. I want to have a look at the descriptors. Maybe there is a > USB descriptor that you can detect, that makes a keyboard an Apple keyboard. > That will be more generic than adding these quirks! The output of udesc_dump is attached. ugen3 is what you really wanted to take a look. Thanks. -- Rui Paulo --------------040908040603050309080809 Content-Type: text/plain; name="udescdump" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="udescdump" /dev/ugen0 (iSight): Standard Device Descriptor: bLength 18 bDescriptorType 01 bcdUSB 0200 bDeviceClass ff bDeviceSubClass ff bDeviceProtocol ff bMaxPacketSize 64 idVendor 05ac idProduct 8300 bcdDevice 000c iManufacturer 0 iProduct 0 iSerialNumber 0 bNumConfigurations 1 Configuration 0: Standard Configuration Descriptor: bLength 9 bDescriptorType 02 wTotalLength 171 bNumInterface 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 80 bMaxPower 50 (100 mA) Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass ff bInterfaceSubClass ff bInterfaceProtocol ff iInterface 0 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 1 bNumEndpoints 6 bInterfaceClass ff bInterfaceSubClass ff bInterfaceProtocol ff iInterface 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 01 (out) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 02 (out) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 04 (out) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 86 (in) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 88 (in) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 2 bNumEndpoints 6 bInterfaceClass ff bInterfaceSubClass ff bInterfaceProtocol ff iInterface 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 01 (out) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 02 (out) bmAttributes 03 (Interrupt) wMaxPacketSize 512 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 04 (out) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 86 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 512 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 88 (in) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 3 bNumEndpoints 6 bInterfaceClass ff bInterfaceSubClass ff bInterfaceProtocol ff iInterface 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 01 (out) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 02 (out) bmAttributes 01 (Isochronous) wMaxPacketSize 512 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 04 (out) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 86 (in) bmAttributes 01 (Isochronous) wMaxPacketSize 512 bInterval 1 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 88 (in) bmAttributes 02 (Bulk) wMaxPacketSize 512 bInterval 0 ------------------------------------------------------------------------------- /dev/ugen1 (keyboard + touchpad): Standard Device Descriptor: bLength 18 bDescriptorType 01 bcdUSB 0200 bDeviceClass 00 bDeviceSubClass 00 bDeviceProtocol 00 bMaxPacketSize 8 idVendor 05ac idProduct 0218 bcdDevice 0064 iManufacturer 1 iProduct 2 iSerialNumber 0 bNumConfigurations 1 Configuration 0: Standard Configuration Descriptor: bLength 9 bDescriptorType 02 wTotalLength 84 bNumInterface 3 bConfigurationValue 1 iConfiguration 0 bmAttributes a0 (remote-wakeup) bMaxPower 20 (40 mA) Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 01 bInterfaceProtocol 01 iInterface 3 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 0d bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 73 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 83 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 8 bInterval 8 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 01 bInterfaceProtocol 02 iInterface 4 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 00 bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 89 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 8 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 00 bInterfaceProtocol 00 iInterface 3 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 00 bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 20 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 84 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 1 bInterval 8 Codes Representing Languages by the Device: bLength 4 bDescriptorType 03 wLANGID[0] 0409 String (index 1): Apple Computer String (index 2): Apple Internal Keyboard / Trackpad String (index 3): Apple Internal Keyboard String (index 4): Touchpad ------------------------------------------------------------------------------- /dev/ugen2 (IR reciever): Standard Device Descriptor: bLength 18 bDescriptorType 01 bcdUSB 0200 bDeviceClass 00 bDeviceSubClass 00 bDeviceProtocol 00 bMaxPacketSize 8 idVendor 05ac idProduct 8240 bcdDevice 0110 iManufacturer 1 iProduct 2 iSerialNumber 0 bNumConfigurations 1 Configuration 0: Standard Configuration Descriptor: bLength 9 bDescriptorType 02 wTotalLength 34 bNumInterface 1 bConfigurationValue 1 iConfiguration 0 bmAttributes a0 (remote-wakeup) bMaxPower 50 (100 mA) Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 00 bInterfaceProtocol 00 iInterface 0 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 00 bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 41 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 83 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 64 bInterval 10 Codes Representing Languages by the Device: bLength 4 bDescriptorType 03 wLANGID[0] 0409 String (index 1): Apple Computer, Inc. String (index 2): IR Receiver ------------------------------------------------------------------------------- /dev/ugen3 (bluetooth in HID mode): Standard Device Descriptor: bLength 18 bDescriptorType 01 bcdUSB 0200 bDeviceClass 00 bDeviceSubClass 00 bDeviceProtocol 00 bMaxPacketSize 64 idVendor 05ac idProduct 1000 bcdDevice 1965 iManufacturer 0 iProduct 0 iSerialNumber 0 bNumConfigurations 1 Configuration 0: Standard Configuration Descriptor: bLength 9 bDescriptorType 02 wTotalLength 59 bNumInterface 2 bConfigurationValue 1 iConfiguration 0 bmAttributes e0 (self-powered, remote-wakeup) bMaxPower 0 (0 mA) Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 01 bInterfaceProtocol 01 iInterface 0 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 00 bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 63 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 81 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 16 bInterval 1 Standard Interface Descriptor: bLength 9 bDescriptorType 04 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 03 bInterfaceSubClass 01 bInterfaceProtocol 02 iInterface 0 HID Descriptor: bLength 9 bDescriptorType 21 bcdHID 0111 bCountryCode 00 bNumDescriptors 1 bDescriptorType 22 wDescriptorLength 61 Standard Endpoint Descriptor: bLength 7 bDescriptorType 05 bEndpointAddress 82 (in) bmAttributes 03 (Interrupt) wMaxPacketSize 16 bInterval 1 --------------040908040603050309080809-- From owner-p4-projects@FreeBSD.ORG Tue Jul 24 13:59:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7152E16A41B; Tue, 24 Jul 2007 13:59:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3694816A417 for ; Tue, 24 Jul 2007 13:59:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 20D3B13C45D for ; Tue, 24 Jul 2007 13:59:15 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6ODxF2n047107 for ; Tue, 24 Jul 2007 13:59:15 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6ODxE93047104 for perforce@freebsd.org; Tue, 24 Jul 2007 13:59:14 GMT (envelope-from rpaulo@FreeBSD.org) Date: Tue, 24 Jul 2007 13:59:14 GMT Message-Id: <200707241359.l6ODxE93047104@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124012 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 13:59:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124012 Change 124012 by rpaulo@rpaulo_epsilon on 2007/07/24 13:59:10 Don't depend on a quirk to detect Apple keyboards with the Fn key. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#10 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#10 edit .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.h#9 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/ukbd.c#10 (text+ko) ==== @@ -201,23 +201,20 @@ /* * Locate the Fn key on Apple keyboards. */ - if (usbd_get_quirks(uaa->device)->uq_flags & UQ_KBD_FNKEY) { - err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP); - if (err) { - device_printf(self, - "could not read report descriptor\n"); - return ENXIO; - } + err = usbd_read_report_desc(uaa->iface, &desc, &size, M_TEMP); + if (err) { + device_printf(self, "could not read report descriptor\n"); + return ENXIO; + } - if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY), - hid_input, &sc->sc_loc_fn, &flags)) { - device_printf(self, "Fn key.\n"); - sc->sc_flags |= UKBD_FN; - } else - device_printf(self, "Fn key not found.\n"); - free(desc, M_TEMP); + if (hid_locate(desc, size, HID_USAGE2(HUP_CUSTOM, HUC_FNKEY), + hid_input, &sc->sc_loc_fn, &flags)) { + device_printf(self, "Fn key.\n"); + sc->sc_flags |= UKBD_FN; } + free(desc, M_TEMP); + arg[0] = (void *)uaa; arg[1] = (void *)ukbd_intr; kbd = NULL; ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.c#10 (text+ko) ==== @@ -110,10 +110,7 @@ ANY, { UQ_KBD_IGNORE }}, { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPYX, ANY, { UQ_KBD_IGNORE }}, - /* Devices that need special handling of the Fn key */ - { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_INTKBTP, - ANY, { UQ_KBD_FNKEY } }, - + /* XXX: temporary */ { USB_VENDOR_APPLE, USB_PRODUCT_APPLE_BLUETOOTH_HID, ANY, { UQ_MS_IGNORE } }, ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usb_quirks.h#9 (text+ko) ==== @@ -57,7 +57,6 @@ #define UQ_KBD_IGNORE 0x00018000 /* device should be ignored by both kbd and hid class */ #define UQ_MS_BAD_CLASS 0x00020000 /* doesn't identify properly */ #define UQ_MS_LEADING_BYTE 0x40000 /* mouse sends an unknown leading byte. */ -#define UQ_KBD_FNKEY 0x00080000 /* device needs special handling for the Fn key */ #define UQ_MS_IGNORE 0x00100000 /* device should be ignored by ums */ }; From owner-p4-projects@FreeBSD.ORG Tue Jul 24 15:07:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7902716A41F; Tue, 24 Jul 2007 15:07:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 334A016A419 for ; Tue, 24 Jul 2007 15:07:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0522D13C468 for ; Tue, 24 Jul 2007 15:07:21 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OF7KIa054258 for ; Tue, 24 Jul 2007 15:07:20 GMT (envelope-from rpaulo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OF7KeD054255 for perforce@freebsd.org; Tue, 24 Jul 2007 15:07:20 GMT (envelope-from rpaulo@FreeBSD.org) Date: Tue, 24 Jul 2007 15:07:20 GMT Message-Id: <200707241507.l6OF7KeD054255@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rpaulo@FreeBSD.org using -f From: Rui Paulo To: Perforce Change Reviews Cc: Subject: PERFORCE change 124020 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 15:07:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=124020 Change 124020 by rpaulo@rpaulo_epsilon on 2007/07/24 15:06:28 Add Apple IR Receiver product id. Affected files ... .. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#19 edit Differences ... ==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#19 (text+ko) ==== @@ -840,6 +840,7 @@ product APPLE IPODNANO 0x120a iPod Nano product APPLE INTKBTP 0x0218 Apple Internal Keyboard / Trackpad product APPLE BLUETOOTH 0x8205 Bluetooth +product APPLE IR 0x8240 IR Receiver /* Arkmicro Technologies */ product ARKMICRO ARK3116 0x0232 ARK3116 Serial From owner-p4-projects@FreeBSD.ORG Tue Jul 24 17:13:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 02E0516A46B; Tue, 24 Jul 2007 17:13:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B530C16A469 for ; Tue, 24 Jul 2007 17:13:36 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9DE9E13C4D0 for ; Tue, 24 Jul 2007 17:13:36 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OHDa2D073688 for ; Tue, 24 Jul 2007 17:13:36 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OHDVoi073685 for perforce@freebsd.org; Tue, 24 Jul 2007 17:13:31 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 24 Jul 2007 17:13:31 GMT Message-Id: <200707241713.l6OHDVoi073685@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 124037 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 17:13:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124037 Change 124037 by mjacob@mjexp on 2007/07/24 17:13:11 IFC Affected files ... .. //depot/projects/mjexp/ObsoleteFiles.inc#22 integrate .. //depot/projects/mjexp/contrib/diff/FREEBSD-Xlist#2 integrate .. //depot/projects/mjexp/contrib/diff/Makefile.am#2 delete .. //depot/projects/mjexp/contrib/diff/bootstrap#2 delete .. //depot/projects/mjexp/contrib/diff/doc/Makefile.am#2 delete .. //depot/projects/mjexp/contrib/diff/doc/diagmeet.note#2 delete .. //depot/projects/mjexp/contrib/diff/exgettext#2 delete .. //depot/projects/mjexp/contrib/diff/lib/Makefile.am#2 delete .. //depot/projects/mjexp/contrib/diff/lib/alloca.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/alloca_.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/dirname.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/fnmatch.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/fnmatch_.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/fnmatch_loop.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/getopt.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/getopt1.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/getopt_int.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/gettimeofday.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/imaxtostr.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/inttostr.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/malloc.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/mkstemp.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/offtostr.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/realloc.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/regex.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/regex.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/setmode.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/stdbool_.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strcasecmp.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/stripslash.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strncasecmp.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strtol.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strtoll.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strtoul.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/strtoull.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/tempname.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/time_r.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/time_r.h#2 delete .. //depot/projects/mjexp/contrib/diff/lib/umaxtostr.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/waitpid.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/xstrdup.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/xstrtol.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/xstrtoul.c#2 delete .. //depot/projects/mjexp/contrib/diff/lib/xstrtoumax.c#2 delete .. //depot/projects/mjexp/contrib/diff/man/Makefile.am#2 delete .. //depot/projects/mjexp/contrib/diff/src/Makefile.am#2 delete .. //depot/projects/mjexp/contrib/openbsm/HISTORY#3 integrate .. //depot/projects/mjexp/contrib/openbsm/README#3 integrate .. //depot/projects/mjexp/contrib/openbsm/VERSION#3 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/audit/audit.8#3 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/audit/audit.c#2 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/auditd/audit_warn.c#2 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.8#3 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.c#3 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.h#2 integrate .. //depot/projects/mjexp/contrib/openbsm/bin/auditreduce/auditreduce.c#2 integrate .. //depot/projects/mjexp/contrib/openbsm/config/config.h#3 integrate .. //depot/projects/mjexp/contrib/openbsm/configure#3 integrate .. //depot/projects/mjexp/contrib/openbsm/configure.ac#3 integrate .. //depot/projects/mjexp/contrib/openbsm/etc/audit_event#3 integrate .. //depot/projects/mjexp/contrib/openbsm/libbsm/au_control.3#3 integrate .. //depot/projects/mjexp/contrib/openbsm/libbsm/au_event.3#3 integrate .. //depot/projects/mjexp/contrib/openbsm/libbsm/audit_submit.3#3 integrate .. //depot/projects/mjexp/contrib/openbsm/libbsm/bsm_io.c#3 integrate .. //depot/projects/mjexp/contrib/openbsm/libbsm/bsm_token.c#3 integrate .. //depot/projects/mjexp/etc/mtree/BSD.usr.dist#7 integrate .. //depot/projects/mjexp/lib/libarchive/Makefile#14 integrate .. //depot/projects/mjexp/lib/libarchive/archive_entry.3#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_entry.c#10 integrate .. //depot/projects/mjexp/lib/libarchive/archive_entry.h#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_tar.c#14 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_zip.c#7 integrate .. //depot/projects/mjexp/lib/libarchive/archive_string.c#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_string_sprintf.c#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_disk.c#9 integrate .. //depot/projects/mjexp/lib/libc/stdlib/getenv.c#5 integrate .. //depot/projects/mjexp/lib/libc/yp/yplib.c#3 integrate .. //depot/projects/mjexp/lib/libpam/modules/pam_lastlog/pam_lastlog.c#2 integrate .. //depot/projects/mjexp/lib/ncurses/config.mk#3 integrate .. //depot/projects/mjexp/lib/ncurses/ncurses/Makefile#8 integrate .. //depot/projects/mjexp/libexec/getty/ttys.5#2 integrate .. //depot/projects/mjexp/libexec/rtld-elf/powerpc/reloc.c#2 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#22 integrate .. //depot/projects/mjexp/sbin/Makefile#7 integrate .. //depot/projects/mjexp/sbin/iscontrol/Makefile#1 branch .. //depot/projects/mjexp/sbin/iscontrol/auth_subr.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/config.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/fsm.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/iscontrol.8#1 branch .. //depot/projects/mjexp/sbin/iscontrol/iscontrol.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/iscontrol.h#1 branch .. //depot/projects/mjexp/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/projects/mjexp/sbin/iscontrol/login.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/misc.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/pdu.c#1 branch .. //depot/projects/mjexp/sbin/iscontrol/pdu.h#1 branch .. //depot/projects/mjexp/share/examples/kld/syscall/module/syscall.c#2 integrate .. //depot/projects/mjexp/share/man/man4/Makefile#19 integrate .. //depot/projects/mjexp/share/man/man4/ipmi.4#3 integrate .. //depot/projects/mjexp/share/man/man4/iscsi_initiator.4#1 branch .. //depot/projects/mjexp/share/man/man4/udav.4#3 integrate .. //depot/projects/mjexp/share/man/man4/usb.4#3 integrate .. //depot/projects/mjexp/share/man/man5/src.conf.5#6 integrate .. //depot/projects/mjexp/share/man/man7/ports.7#4 integrate .. //depot/projects/mjexp/share/man/man8/rc.8#3 integrate .. //depot/projects/mjexp/share/man/man9/contigmalloc.9#2 integrate .. //depot/projects/mjexp/share/man/man9/module.9#2 integrate .. //depot/projects/mjexp/share/mk/version_gen.awk#3 integrate .. //depot/projects/mjexp/sys/amd64/amd64/cpu_switch.S#6 integrate .. //depot/projects/mjexp/sys/amd64/isa/clock.c#8 integrate .. //depot/projects/mjexp/sys/bsm/audit.h#4 integrate .. //depot/projects/mjexp/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/mjexp/sys/bsm/audit_kevents.h#4 integrate .. //depot/projects/mjexp/sys/bsm/audit_record.h#4 integrate .. //depot/projects/mjexp/sys/cam/scsi/scsi_cd.c#6 integrate .. //depot/projects/mjexp/sys/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/mjexp/sys/conf/NOTES#30 integrate .. //depot/projects/mjexp/sys/conf/files#33 integrate .. //depot/projects/mjexp/sys/conf/options#26 integrate .. //depot/projects/mjexp/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#9 integrate .. //depot/projects/mjexp/sys/dev/acpica/acpi_hpet.c#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_mc5.c#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_t3_cpl.h#4 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/projects/mjexp/sys/dev/cxgb/common/cxgb_xgmac.c#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_ioctl.h#3 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_main.c#10 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_offload.c#4 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/mjexp/sys/dev/cxgb/cxgb_sge.c#12 integrate .. //depot/projects/mjexp/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/mjexp/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch .. //depot/projects/mjexp/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch .. //depot/projects/mjexp/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete .. //depot/projects/mjexp/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch .. //depot/projects/mjexp/sys/dev/firewire/firewire.c#10 integrate .. //depot/projects/mjexp/sys/dev/firewire/firewirereg.h#7 integrate .. //depot/projects/mjexp/sys/dev/ipmi/ipmi_isa.c#2 integrate .. //depot/projects/mjexp/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/mjexp/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/mjexp/sys/dev/msk/if_msk.c#10 integrate .. //depot/projects/mjexp/sys/dev/mxge/eth_z8e.dat.gz.uu#6 delete .. //depot/projects/mjexp/sys/dev/mxge/eth_z8e.h#1 branch .. //depot/projects/mjexp/sys/dev/mxge/ethp_z8e.dat.gz.uu#6 delete .. //depot/projects/mjexp/sys/dev/mxge/ethp_z8e.h#1 branch .. //depot/projects/mjexp/sys/dev/mxge/if_mxge.c#19 integrate .. //depot/projects/mjexp/sys/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/projects/mjexp/sys/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/projects/mjexp/sys/dev/nfe/if_nfe.c#8 integrate .. //depot/projects/mjexp/sys/dev/nfe/if_nfevar.h#4 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2560.c#8 integrate .. //depot/projects/mjexp/sys/dev/ral/rt2661.c#7 integrate .. //depot/projects/mjexp/sys/dev/re/if_re.c#14 integrate .. //depot/projects/mjexp/sys/dev/sym/sym_hipd.c#9 integrate .. //depot/projects/mjexp/sys/dev/usb/if_udav.c#6 integrate .. //depot/projects/mjexp/sys/dev/usb/if_ural.c#17 integrate .. //depot/projects/mjexp/sys/dev/usb/usb_quirks.c#8 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdevs#18 integrate .. //depot/projects/mjexp/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/mjexp/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/mjexp/sys/fs/msdosfs/msdosfs_fat.c#5 integrate .. //depot/projects/mjexp/sys/fs/msdosfs/msdosfs_vfsops.c#10 integrate .. //depot/projects/mjexp/sys/fs/msdosfs/msdosfs_vnops.c#8 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vnops.c#5 integrate .. //depot/projects/mjexp/sys/i386/i386/genassym.c#6 integrate .. //depot/projects/mjexp/sys/i386/i386/swtch.s#4 integrate .. //depot/projects/mjexp/sys/i386/isa/clock.c#10 integrate .. //depot/projects/mjexp/sys/i386/linux/linux_machdep.c#14 integrate .. //depot/projects/mjexp/sys/ia64/ia64/clock.c#4 integrate .. //depot/projects/mjexp/sys/ia64/ia64/syscall.S#2 integrate .. //depot/projects/mjexp/sys/kern/kern_kse.c#10 integrate .. //depot/projects/mjexp/sys/kern/kern_mutex.c#14 integrate .. //depot/projects/mjexp/sys/kern/kern_resource.c#16 integrate .. //depot/projects/mjexp/sys/kern/kern_rwlock.c#11 integrate .. //depot/projects/mjexp/sys/kern/kern_sig.c#17 integrate .. //depot/projects/mjexp/sys/kern/kern_switch.c#9 integrate .. //depot/projects/mjexp/sys/kern/kern_thread.c#13 integrate .. //depot/projects/mjexp/sys/kern/sched_4bsd.c#13 integrate .. //depot/projects/mjexp/sys/kern/sched_ule.c#18 integrate .. //depot/projects/mjexp/sys/kern/subr_clock.c#3 integrate .. //depot/projects/mjexp/sys/kern/tty.c#10 integrate .. //depot/projects/mjexp/sys/modules/Makefile#17 integrate .. //depot/projects/mjexp/sys/modules/cxgb/Makefile#6 integrate .. //depot/projects/mjexp/sys/modules/iscsi/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/mxge/mxge_eth_z8e/Makefile#2 integrate .. //depot/projects/mjexp/sys/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate .. //depot/projects/mjexp/sys/net80211/ieee80211_scan_sta.c#4 integrate .. //depot/projects/mjexp/sys/netinet/icmp_var.h#2 integrate .. //depot/projects/mjexp/sys/netinet/ip_icmp.c#5 integrate .. //depot/projects/mjexp/sys/netinet/sctp.h#9 integrate .. //depot/projects/mjexp/sys/netinet/sctp_asconf.c#14 integrate .. //depot/projects/mjexp/sys/netinet/sctp_cc_functions.c#2 integrate .. //depot/projects/mjexp/sys/netinet/sctp_constants.h#13 integrate .. //depot/projects/mjexp/sys/netinet/sctp_indata.c#19 integrate .. //depot/projects/mjexp/sys/netinet/sctp_input.c#19 integrate .. //depot/projects/mjexp/sys/netinet/sctp_os_bsd.h#13 integrate .. //depot/projects/mjexp/sys/netinet/sctp_output.c#20 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#19 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.h#13 integrate .. //depot/projects/mjexp/sys/netinet/sctp_peeloff.c#10 integrate .. //depot/projects/mjexp/sys/netinet/sctp_structs.h#15 integrate .. //depot/projects/mjexp/sys/netinet/sctp_timer.c#14 integrate .. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#18 integrate .. //depot/projects/mjexp/sys/netinet/sctp_var.h#12 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.c#21 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.h#12 integrate .. //depot/projects/mjexp/sys/netinet6/in6.h#5 integrate .. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#16 integrate .. //depot/projects/mjexp/sys/netinet6/udp6_output.c#5 delete .. //depot/projects/mjexp/sys/netinet6/udp6_usrreq.c#8 integrate .. //depot/projects/mjexp/sys/netinet6/udp6_var.h#3 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec_input.c#4 integrate .. //depot/projects/mjexp/sys/netipsec/ipsec_output.c#4 integrate .. //depot/projects/mjexp/sys/netipsec/xform_ipip.c#3 integrate .. //depot/projects/mjexp/sys/pc98/cbus/clock.c#8 integrate .. //depot/projects/mjexp/sys/pci/if_rl.c#6 integrate .. //depot/projects/mjexp/sys/pci/if_rlreg.h#7 integrate .. //depot/projects/mjexp/sys/security/mac_mls/mac_mls.c#6 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/eeprom.c#3 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/pmap.c#7 integrate .. //depot/projects/mjexp/sys/sparc64/sparc64/rtc.c#3 integrate .. //depot/projects/mjexp/sys/sys/mutex.h#12 integrate .. //depot/projects/mjexp/sys/sys/proc.h#20 integrate .. //depot/projects/mjexp/sys/sys/rwlock.h#8 integrate .. //depot/projects/mjexp/sys/vm/vm_fault.c#13 integrate .. //depot/projects/mjexp/tools/build/options/WITHOUT_TOOLCHAIN#2 integrate .. //depot/projects/mjexp/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/mjexp/tools/regression/environ/envtest.t#2 integrate .. //depot/projects/mjexp/tools/regression/environ/timings.c#2 integrate .. //depot/projects/mjexp/tools/regression/fstest/fstest.c#2 integrate .. //depot/projects/mjexp/tools/regression/fstest/tests/open/16.t#2 integrate .. //depot/projects/mjexp/tools/regression/fstest/tests/open/18.t#2 integrate .. //depot/projects/mjexp/usr.bin/locate/locate/locate.rc#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/atalk.c#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/bpf.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/if.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/inet.c#6 integrate .. //depot/projects/mjexp/usr.bin/netstat/inet6.c#3 integrate .. //depot/projects/mjexp/usr.bin/netstat/ipsec.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/ipx.c#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/main.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/mbuf.c#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/mcast.c#6 integrate .. //depot/projects/mjexp/usr.bin/netstat/mroute.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/mroute6.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/netgraph.c#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/netstat.h#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/pfkey.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/route.c#4 integrate .. //depot/projects/mjexp/usr.bin/netstat/sctp.c#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/unix.c#2 integrate .. //depot/projects/mjexp/usr.bin/su/su.1#2 integrate .. //depot/projects/mjexp/usr.bin/tar/Makefile#5 integrate .. //depot/projects/mjexp/usr.bin/tar/getdate.y#4 integrate .. //depot/projects/mjexp/usr.bin/tar/read.c#9 integrate .. //depot/projects/mjexp/usr.sbin/periodic/periodic.8#3 integrate .. //depot/projects/mjexp/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#2 integrate Differences ... ==== //depot/projects/mjexp/ObsoleteFiles.inc#22 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.105 2007/07/12 00:02:12 dougb Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.107 2007/07/17 17:28:59 delphij Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,79 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070715: netatm temporarily disconnected +OLD_FILES+=rescue/atm +OLD_FILES+=rescue/fore_dnld +OLD_FILES+=rescue/ilmid +OLD_FILES+=sbin/atm +OLD_FILES+=sbin/fore_dnld +OLD_FILES+=sbin/ilmid +OLD_FILES+=usr/include/libatm.h +OLD_FILES+=usr/include/netatm/atm.h +OLD_FILES+=usr/include/netatm/atm_cm.h +OLD_FILES+=usr/include/netatm/atm_if.h +OLD_FILES+=usr/include/netatm/atm_ioctl.h +OLD_FILES+=usr/include/netatm/atm_pcb.h +OLD_FILES+=usr/include/netatm/atm_sap.h +OLD_FILES+=usr/include/netatm/atm_sigmgr.h +OLD_FILES+=usr/include/netatm/atm_stack.h +OLD_FILES+=usr/include/netatm/atm_sys.h +OLD_FILES+=usr/include/netatm/atm_var.h +OLD_FILES+=usr/include/netatm/atm_vc.h +OLD_FILES+=usr/include/netatm/ipatm/ipatm.h +OLD_FILES+=usr/include/netatm/ipatm/ipatm_serv.h +OLD_FILES+=usr/include/netatm/ipatm/ipatm_var.h +OLD_FILES+=usr/include/netatm/port.h +OLD_FILES+=usr/include/netatm/queue.h +OLD_FILES+=usr/include/netatm/sigpvc/sigpvc_var.h +OLD_FILES+=usr/include/netatm/spans/spans_cls.h +OLD_FILES+=usr/include/netatm/spans/spans_kxdr.h +OLD_FILES+=usr/include/netatm/spans/spans_var.h +OLD_FILES+=usr/include/netatm/uni/sscf_uni.h +OLD_FILES+=usr/include/netatm/uni/sscf_uni_var.h +OLD_FILES+=usr/include/netatm/uni/sscop.h +OLD_FILES+=usr/include/netatm/uni/sscop_misc.h +OLD_FILES+=usr/include/netatm/uni/sscop_pdu.h +OLD_FILES+=usr/include/netatm/uni/sscop_var.h +OLD_FILES+=usr/include/netatm/uni/uni.h +OLD_FILES+=usr/include/netatm/uni/uniip_var.h +OLD_FILES+=usr/include/netatm/uni/unisig.h +OLD_FILES+=usr/include/netatm/uni/unisig_decode.h +OLD_FILES+=usr/include/netatm/uni/unisig_mbuf.h +OLD_FILES+=usr/include/netatm/uni/unisig_msg.h +OLD_FILES+=usr/include/netatm/uni/unisig_print.h +OLD_FILES+=usr/include/netatm/uni/unisig_var.h +OLD_FILES+=usr/lib/libatm.a +OLD_FILES+=usr/lib/libatm_p.a +OLD_FILES+=usr/sbin/atmarpd +OLD_FILES+=usr/sbin/scspd +OLD_FILES+=usr/share/man/en.ISO8859-1/man8/atm.8.gz +OLD_FILES+=usr/share/man/en.ISO8859-1/man8/atmarpd.8.gz +OLD_FILES+=usr/share/man/en.ISO8859-1/man8/fore_dnld.8.gz +OLD_FILES+=usr/share/man/en.ISO8859-1/man8/ilmid.8.gz +OLD_FILES+=usr/share/man/en.ISO8859-1/man8/scspd.8.gz +OLD_FILES+=usr/share/man/man8/atm.8.gz +OLD_FILES+=usr/share/man/man8/atmarpd.8.gz +OLD_FILES+=usr/share/man/man8/fore_dnld.8.gz +OLD_FILES+=usr/share/man/man8/ilmid.8.gz +OLD_FILES+=usr/share/man/man8/scspd.8.gz +OLD_FILES+=usr/share/examples/atm/NOTES +OLD_FILES+=usr/share/examples/atm/README +OLD_FILES+=usr/share/examples/atm/Startup +OLD_FILES+=usr/share/examples/atm/atm-config.sh +OLD_FILES+=usr/share/examples/atm/atm-sockets.txt +OLD_FILES+=usr/share/examples/atm/cpcs-design.txt +OLD_FILES+=usr/share/examples/atm/fore-microcode.txt +OLD_FILES+=usr/share/examples/atm/sscf-design.txt +OLD_FILES+=usr/share/examples/atm/sscop-design.txt +OLD_LIBS+=lib/libatm.so.5 +OLD_LIBS+=usr/lib/libatm.so +OLD_DIRS+=usr/include/netatm/sigpvc +OLD_DIRS+=usr/include/netatm/spans +OLD_DIRS+=usr/include/netatm/ipatm +OLD_DIRS+=usr/include/netatm/uni +OLD_DIRS+=usr/include/netatm +OLD_DIRS+=usr/share/examples/atm # 20070705: I4B headers repo-copied to include/i4b/ .if ${TARGET_ARCH} == "i386" OLD_FILES+=usr/include/machine/i4b_cause.h @@ -104,6 +177,8 @@ OLD_LIBS+=usr/lib/snmp_mibII.so.4 OLD_LIBS+=usr/lib/snmp_netgraph.so.4 OLD_LIBS+=usr/lib/snmp_pf.so.4 +# 20070613: IPX over IP tunnel removal +OLD_FILES+=usr/include/netipx/ipx_ip.h # 20070605: sched_core removal OLD_FILES+=usr/share/man/man4/sched_core.4.gz # 20070603: BIND 9.4.1 import @@ -242,6 +317,230 @@ OLD_FILES+=usr/libexec/f771 OLD_FILES+=usr/share/info/g77.info.gz OLD_FILES+=usr/share/man/man1/f77.1.gz +OLD_FILES+=usr/include/c++/3.4/algorithm +OLD_FILES+=usr/include/c++/3.4/backward/algo.h +OLD_FILES+=usr/include/c++/3.4/backward/algobase.h +OLD_FILES+=usr/include/c++/3.4/backward/alloc.h +OLD_FILES+=usr/include/c++/3.4/backward/backward_warning.h +OLD_FILES+=usr/include/c++/3.4/backward/bvector.h +OLD_FILES+=usr/include/c++/3.4/backward/complex.h +OLD_FILES+=usr/include/c++/3.4/backward/defalloc.h +OLD_FILES+=usr/include/c++/3.4/backward/deque.h +OLD_FILES+=usr/include/c++/3.4/backward/fstream.h +OLD_FILES+=usr/include/c++/3.4/backward/function.h +OLD_FILES+=usr/include/c++/3.4/backward/hash_map.h +OLD_FILES+=usr/include/c++/3.4/backward/hash_set.h +OLD_FILES+=usr/include/c++/3.4/backward/hashtable.h +OLD_FILES+=usr/include/c++/3.4/backward/heap.h +OLD_FILES+=usr/include/c++/3.4/backward/iomanip.h +OLD_FILES+=usr/include/c++/3.4/backward/iostream.h +OLD_FILES+=usr/include/c++/3.4/backward/istream.h +OLD_FILES+=usr/include/c++/3.4/backward/iterator.h +OLD_FILES+=usr/include/c++/3.4/backward/list.h +OLD_FILES+=usr/include/c++/3.4/backward/map.h +OLD_FILES+=usr/include/c++/3.4/backward/multimap.h +OLD_FILES+=usr/include/c++/3.4/backward/multiset.h +OLD_FILES+=usr/include/c++/3.4/backward/new.h +OLD_FILES+=usr/include/c++/3.4/backward/ostream.h +OLD_FILES+=usr/include/c++/3.4/backward/pair.h +OLD_FILES+=usr/include/c++/3.4/backward/queue.h +OLD_FILES+=usr/include/c++/3.4/backward/rope.h +OLD_FILES+=usr/include/c++/3.4/backward/set.h +OLD_FILES+=usr/include/c++/3.4/backward/slist.h +OLD_FILES+=usr/include/c++/3.4/backward/stack.h +OLD_FILES+=usr/include/c++/3.4/backward/stream.h +OLD_FILES+=usr/include/c++/3.4/backward/streambuf.h +OLD_FILES+=usr/include/c++/3.4/backward/strstream +OLD_FILES+=usr/include/c++/3.4/backward/tempbuf.h +OLD_FILES+=usr/include/c++/3.4/backward/tree.h +OLD_FILES+=usr/include/c++/3.4/backward/vector.h +OLD_FILES+=usr/include/c++/3.4/bits/allocator.h +OLD_FILES+=usr/include/c++/3.4/bits/atomic_word.h +OLD_FILES+=usr/include/c++/3.4/bits/atomicity.h +OLD_FILES+=usr/include/c++/3.4/bits/basic_file.h +OLD_FILES+=usr/include/c++/3.4/bits/basic_ios.h +OLD_FILES+=usr/include/c++/3.4/bits/basic_ios.tcc +OLD_FILES+=usr/include/c++/3.4/bits/basic_string.h +OLD_FILES+=usr/include/c++/3.4/bits/basic_string.tcc +OLD_FILES+=usr/include/c++/3.4/bits/boost_concept_check.h +OLD_FILES+=usr/include/c++/3.4/bits/c++allocator.h +OLD_FILES+=usr/include/c++/3.4/bits/c++config.h +OLD_FILES+=usr/include/c++/3.4/bits/c++io.h +OLD_FILES+=usr/include/c++/3.4/bits/c++locale.h +OLD_FILES+=usr/include/c++/3.4/bits/c++locale_internal.h +OLD_FILES+=usr/include/c++/3.4/bits/char_traits.h +OLD_FILES+=usr/include/c++/3.4/bits/cmath.tcc +OLD_FILES+=usr/include/c++/3.4/bits/codecvt.h +OLD_FILES+=usr/include/c++/3.4/bits/codecvt_specializations.h +OLD_FILES+=usr/include/c++/3.4/bits/concept_check.h +OLD_FILES+=usr/include/c++/3.4/bits/concurrence.h +OLD_FILES+=usr/include/c++/3.4/bits/cpp_type_traits.h +OLD_FILES+=usr/include/c++/3.4/bits/ctype_base.h +OLD_FILES+=usr/include/c++/3.4/bits/ctype_inline.h +OLD_FILES+=usr/include/c++/3.4/bits/ctype_noninline.h +OLD_FILES+=usr/include/c++/3.4/bits/deque.tcc +OLD_FILES+=usr/include/c++/3.4/bits/fstream.tcc +OLD_FILES+=usr/include/c++/3.4/bits/functexcept.h +OLD_FILES+=usr/include/c++/3.4/bits/gslice.h +OLD_FILES+=usr/include/c++/3.4/bits/gslice_array.h +OLD_FILES+=usr/include/c++/3.4/bits/gthr-default.h +OLD_FILES+=usr/include/c++/3.4/bits/gthr-posix.h +OLD_FILES+=usr/include/c++/3.4/bits/gthr-single.h +OLD_FILES+=usr/include/c++/3.4/bits/gthr.h +OLD_FILES+=usr/include/c++/3.4/bits/indirect_array.h +OLD_FILES+=usr/include/c++/3.4/bits/ios_base.h +OLD_FILES+=usr/include/c++/3.4/bits/istream.tcc +OLD_FILES+=usr/include/c++/3.4/bits/list.tcc +OLD_FILES+=usr/include/c++/3.4/bits/locale_classes.h +OLD_FILES+=usr/include/c++/3.4/bits/locale_facets.h +OLD_FILES+=usr/include/c++/3.4/bits/locale_facets.tcc +OLD_FILES+=usr/include/c++/3.4/bits/localefwd.h +OLD_FILES+=usr/include/c++/3.4/bits/mask_array.h +OLD_FILES+=usr/include/c++/3.4/bits/messages_members.h +OLD_FILES+=usr/include/c++/3.4/bits/os_defines.h +OLD_FILES+=usr/include/c++/3.4/bits/ostream.tcc +OLD_FILES+=usr/include/c++/3.4/bits/postypes.h +OLD_FILES+=usr/include/c++/3.4/bits/slice_array.h +OLD_FILES+=usr/include/c++/3.4/bits/sstream.tcc +OLD_FILES+=usr/include/c++/3.4/bits/stl_algo.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_algobase.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_bvector.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_construct.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_deque.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_function.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_heap.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_iterator.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_iterator_base_funcs.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_iterator_base_types.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_list.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_map.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_multimap.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_multiset.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_numeric.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_pair.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_queue.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_raw_storage_iter.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_relops.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_set.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_stack.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_tempbuf.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_threads.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_tree.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_uninitialized.h +OLD_FILES+=usr/include/c++/3.4/bits/stl_vector.h +OLD_FILES+=usr/include/c++/3.4/bits/stream_iterator.h +OLD_FILES+=usr/include/c++/3.4/bits/streambuf.tcc +OLD_FILES+=usr/include/c++/3.4/bits/streambuf_iterator.h +OLD_FILES+=usr/include/c++/3.4/bits/stringfwd.h +OLD_FILES+=usr/include/c++/3.4/bits/time_members.h +OLD_FILES+=usr/include/c++/3.4/bits/type_traits.h +OLD_FILES+=usr/include/c++/3.4/bits/valarray_after.h +OLD_FILES+=usr/include/c++/3.4/bits/valarray_array.h +OLD_FILES+=usr/include/c++/3.4/bits/valarray_array.tcc +OLD_FILES+=usr/include/c++/3.4/bits/valarray_before.h +OLD_FILES+=usr/include/c++/3.4/bits/vector.tcc +OLD_FILES+=usr/include/c++/3.4/bitset +OLD_FILES+=usr/include/c++/3.4/cassert +OLD_FILES+=usr/include/c++/3.4/cctype +OLD_FILES+=usr/include/c++/3.4/cerrno +OLD_FILES+=usr/include/c++/3.4/cfloat +OLD_FILES+=usr/include/c++/3.4/ciso646 +OLD_FILES+=usr/include/c++/3.4/climits +OLD_FILES+=usr/include/c++/3.4/clocale +OLD_FILES+=usr/include/c++/3.4/cmath +OLD_FILES+=usr/include/c++/3.4/complex +OLD_FILES+=usr/include/c++/3.4/csetjmp +OLD_FILES+=usr/include/c++/3.4/csignal +OLD_FILES+=usr/include/c++/3.4/cstdarg +OLD_FILES+=usr/include/c++/3.4/cstddef +OLD_FILES+=usr/include/c++/3.4/cstdio +OLD_FILES+=usr/include/c++/3.4/cstdlib +OLD_FILES+=usr/include/c++/3.4/cstring +OLD_FILES+=usr/include/c++/3.4/ctime +OLD_FILES+=usr/include/c++/3.4/cwchar +OLD_FILES+=usr/include/c++/3.4/cwctype +OLD_FILES+=usr/include/c++/3.4/cxxabi.h +OLD_FILES+=usr/include/c++/3.4/debug/bitset +OLD_FILES+=usr/include/c++/3.4/debug/debug.h +OLD_FILES+=usr/include/c++/3.4/debug/deque +OLD_FILES+=usr/include/c++/3.4/debug/formatter.h +OLD_FILES+=usr/include/c++/3.4/debug/hash_map +OLD_FILES+=usr/include/c++/3.4/debug/hash_map.h +OLD_FILES+=usr/include/c++/3.4/debug/hash_multimap.h +OLD_FILES+=usr/include/c++/3.4/debug/hash_multiset.h +OLD_FILES+=usr/include/c++/3.4/debug/hash_set +OLD_FILES+=usr/include/c++/3.4/debug/hash_set.h +OLD_FILES+=usr/include/c++/3.4/debug/list +OLD_FILES+=usr/include/c++/3.4/debug/map +OLD_FILES+=usr/include/c++/3.4/debug/map.h +OLD_FILES+=usr/include/c++/3.4/debug/multimap.h +OLD_FILES+=usr/include/c++/3.4/debug/multiset.h +OLD_FILES+=usr/include/c++/3.4/debug/safe_base.h +OLD_FILES+=usr/include/c++/3.4/debug/safe_iterator.h +OLD_FILES+=usr/include/c++/3.4/debug/safe_iterator.tcc +OLD_FILES+=usr/include/c++/3.4/debug/safe_sequence.h +OLD_FILES+=usr/include/c++/3.4/debug/set +OLD_FILES+=usr/include/c++/3.4/debug/set.h +OLD_FILES+=usr/include/c++/3.4/debug/string +OLD_FILES+=usr/include/c++/3.4/debug/vector +OLD_FILES+=usr/include/c++/3.4/deque +OLD_FILES+=usr/include/c++/3.4/exception +OLD_FILES+=usr/include/c++/3.4/exception_defines.h +OLD_FILES+=usr/include/c++/3.4/ext/algorithm +OLD_FILES+=usr/include/c++/3.4/ext/bitmap_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/debug_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/enc_filebuf.h +OLD_FILES+=usr/include/c++/3.4/ext/functional +OLD_FILES+=usr/include/c++/3.4/ext/hash_fun.h +OLD_FILES+=usr/include/c++/3.4/ext/hash_map +OLD_FILES+=usr/include/c++/3.4/ext/hash_set +OLD_FILES+=usr/include/c++/3.4/ext/hashtable.h +OLD_FILES+=usr/include/c++/3.4/ext/iterator +OLD_FILES+=usr/include/c++/3.4/ext/malloc_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/memory +OLD_FILES+=usr/include/c++/3.4/ext/mt_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/new_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/numeric +OLD_FILES+=usr/include/c++/3.4/ext/pod_char_traits.h +OLD_FILES+=usr/include/c++/3.4/ext/pool_allocator.h +OLD_FILES+=usr/include/c++/3.4/ext/rb_tree +OLD_FILES+=usr/include/c++/3.4/ext/rope +OLD_FILES+=usr/include/c++/3.4/ext/ropeimpl.h +OLD_FILES+=usr/include/c++/3.4/ext/slist +OLD_FILES+=usr/include/c++/3.4/ext/stdio_filebuf.h +OLD_FILES+=usr/include/c++/3.4/ext/stdio_sync_filebuf.h +OLD_FILES+=usr/include/c++/3.4/fstream +OLD_FILES+=usr/include/c++/3.4/functional +OLD_FILES+=usr/include/c++/3.4/iomanip +OLD_FILES+=usr/include/c++/3.4/ios +OLD_FILES+=usr/include/c++/3.4/iosfwd +OLD_FILES+=usr/include/c++/3.4/iostream +OLD_FILES+=usr/include/c++/3.4/istream +OLD_FILES+=usr/include/c++/3.4/iterator +OLD_FILES+=usr/include/c++/3.4/limits +OLD_FILES+=usr/include/c++/3.4/list +OLD_FILES+=usr/include/c++/3.4/locale +OLD_FILES+=usr/include/c++/3.4/map +OLD_FILES+=usr/include/c++/3.4/memory +OLD_FILES+=usr/include/c++/3.4/new +OLD_FILES+=usr/include/c++/3.4/numeric +OLD_FILES+=usr/include/c++/3.4/ostream +OLD_FILES+=usr/include/c++/3.4/queue +OLD_FILES+=usr/include/c++/3.4/set +OLD_FILES+=usr/include/c++/3.4/sstream +OLD_FILES+=usr/include/c++/3.4/stack +OLD_FILES+=usr/include/c++/3.4/stdexcept +OLD_FILES+=usr/include/c++/3.4/streambuf +OLD_FILES+=usr/include/c++/3.4/string +OLD_FILES+=usr/include/c++/3.4/typeinfo +OLD_FILES+=usr/include/c++/3.4/utility +OLD_FILES+=usr/include/c++/3.4/valarray +OLD_FILES+=usr/include/c++/3.4/vector +OLD_DIRS+=usr/include/c++/3.4/backward +OLD_DIRS+=usr/include/c++/3.4/bits +OLD_DIRS+=usr/include/c++/3.4/debug +OLD_DIRS+=usr/include/c++/3.4/ext +OLD_DIRS+=usr/include/c++/3.4 # 20070510: zpool/zfs moved to /sbin OLD_FILES+=usr/sbin/zfs OLD_FILES+=usr/sbin/zpool ==== //depot/projects/mjexp/contrib/diff/FREEBSD-Xlist#2 (text+ko) ==== @@ -1,17 +1,61 @@ -# $FreeBSD: src/contrib/diff/FREEBSD-Xlist,v 1.1 2007/06/15 07:28:00 delphij Exp $ +# $FreeBSD: src/contrib/diff/FREEBSD-Xlist,v 1.2 2007/07/19 06:57:44 delphij Exp $ INSTALL +Makefile.am +Makefile.in +aclocal.m4 +bootstrap +config.hin config/ +configure +configure.ac +doc/Makefile.am +doc/Makefile.in +doc/diagmeet.note +exgettext +lib/Makefile.am +lib/Makefile.in +lib/alloca.c +lib/alloca_.h +lib/dirname.c +lib/fnmatch.c +lib/fnmatch_.h +lib/fnmatch_loop.c +lib/getopt.c +lib/getopt1.c +lib/getopt_int.h +lib/gettimeofday.c +lib/imaxtostr.c +lib/inttostr.c +lib/malloc.c +lib/mkstemp.c +lib/offtostr.c +lib/posix/Makefile.in +lib/realloc.c +lib/regex.c +lib/regex.h +lib/setmode.c +lib/stdbool_.h +lib/strcasecmp.c +lib/stripslash.c +lib/strncasecmp.c +lib/strtol.c +lib/strtoll.c +lib/strtoul.c +lib/strtoull.c +lib/tempname.c +lib/time_r.c +lib/time_r.h +lib/umaxtostr.c +lib/waitpid.c +lib/xstrdup.c +lib/xstrtol.c +lib/xstrtoul.c +lib/xstrtoumax.c m4/ +man/Makefile.am +man/Makefile.in ms/ po/ +src/Makefile.am src/Makefile.in -lib/posix/Makefile.in -lib/Makefile.in -doc/Makefile.in -man/Makefile.in -Makefile.in -aclocal.m4 -config.hin -configure -configure.ac ==== //depot/projects/mjexp/contrib/openbsm/HISTORY#3 (text) ==== @@ -1,3 +1,14 @@ +OpenBSM 1.0 alpha 15 + +- Fix bug when processing in_addr_ex tokens. +- Restore the behavior of printing the string/text specified while + auditing arg32 tokens. +- Synchronized audit event list to Solaris, picking up the *at(2) system call + definitions, now required for FreeBSD and Linux. Added additional events + for *at(2) system calls not present in Solaris. +- Bugs in auditreduce(8) fixed allowing partial date strings to be used in + filtering events. + OpenBSM 1.0 alpha 14 - Fix endian issues when processing IPv6 addresses for extended subject @@ -284,4 +295,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#50 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#55 $ ==== //depot/projects/mjexp/contrib/openbsm/README#3 (text) ==== @@ -89,6 +89,7 @@ Ruslan Ermilov Martin Voros Diego Giagio + Alex Samorukov In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -110,4 +111,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#23 $ +$P4: //depot/projects/trustedbsd/openbsm/README#24 $ ==== //depot/projects/mjexp/contrib/openbsm/VERSION#3 (text) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0_ALPHA_14 +OPENBSM_1_0_ALPHA_15 ==== //depot/projects/mjexp/contrib/openbsm/bin/audit/audit.8#3 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#9 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#10 $ .\" .Dd October 2, 2006 .Dt AUDIT 8 ==== //depot/projects/mjexp/contrib/openbsm/bin/audit/audit.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#8 $ */ /* * Program to trigger the audit daemon with a message that is either: ==== //depot/projects/mjexp/contrib/openbsm/bin/auditd/audit_warn.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#8 $ */ #include ==== //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.8#3 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#12 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#13 $ .\" .Dd October 2, 2006 .Dt AUDITD 8 ==== //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.c#3 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2004 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#25 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#26 $ */ #include ==== //depot/projects/mjexp/contrib/openbsm/bin/auditd/auditd.h#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#8 $ */ #ifndef _AUDITD_H_ ==== //depot/projects/mjexp/contrib/openbsm/bin/auditreduce/auditreduce.c#2 (text) ==== @@ -26,7 +26,7 @@ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#18 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditreduce/auditreduce.c#19 $ */ /* @@ -629,6 +629,7 @@ usage("d is exclusive with a and b"); } SETOPT(opttochk, OPT_a); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d%H%M%S", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", &tm); @@ -641,6 +642,7 @@ usage("d is exclusive with a and b"); } SETOPT(opttochk, OPT_b); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d%H%M%S", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d%H%M%S", &tm); @@ -661,6 +663,7 @@ OPT_a)) usage("'d' is exclusive with 'a' and 'b'"); SETOPT(opttochk, OPT_d); + bzero(&tm, sizeof(tm)); strptime(optarg, "%Y%m%d", &tm); strftime(timestr, sizeof(timestr), "%Y%m%d", &tm); /* fprintf(stderr, "Time converted = %s\n", timestr); */ ==== //depot/projects/mjexp/contrib/openbsm/config/config.h#3 (text) ==== @@ -1,6 +1,6 @@ /* config/config.h. Generated by configure. */ /* config/config.h.in. Generated from configure.ac by autoheader. */ -/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.5 2007/04/16 15:49:15 rwatson Exp $ */ +/* $FreeBSD: src/contrib/openbsm/config/config.h,v 1.6 2007/07/22 12:22:25 rwatson Exp $ */ /* Define to 1 if you have the `alarm' function. */ #define HAVE_ALARM 1 @@ -150,13 +150,13 @@ #define PACKAGE_NAME "OpenBSM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "OpenBSM 1.0alpha14" +#define PACKAGE_STRING "OpenBSM 1.0alpha15" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "openbsm" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.0alpha14" +#define PACKAGE_VERSION "1.0alpha15" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void @@ -171,7 +171,7 @@ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "1.0alpha14" +#define VERSION "1.0alpha15" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ ==== //depot/projects/mjexp/contrib/openbsm/configure#3 (text) ==== @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac P4: //depot/projects/trustedbsd/openbsm/configure.ac#33 . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for OpenBSM 1.0alpha14. +# Generated by GNU Autoconf 2.59 for OpenBSM 1.0alpha15. # # Report bugs to . # @@ -424,8 +424,8 @@ # Identity of this package. PACKAGE_NAME='OpenBSM' PACKAGE_TARNAME='openbsm' -PACKAGE_VERSION='1.0alpha14' -PACKAGE_STRING='OpenBSM 1.0alpha14' +PACKAGE_VERSION='1.0alpha15' +PACKAGE_STRING='OpenBSM 1.0alpha15' PACKAGE_BUGREPORT='trustedbsd-audit@TrustesdBSD.org' ac_unique_file="bin/auditreduce/auditreduce.c" @@ -955,7 +955,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenBSM 1.0alpha14 to adapt to many kinds of systems. +\`configure' configures OpenBSM 1.0alpha15 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1021,7 +1021,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenBSM 1.0alpha14:";; + short | recursive ) echo "Configuration of OpenBSM 1.0alpha15:";; esac cat <<\_ACEOF @@ -1162,7 +1162,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -OpenBSM configure 1.0alpha14 +OpenBSM configure 1.0alpha15 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1176,7 +1176,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenBSM $as_me 1.0alpha14, which was +It was created by OpenBSM $as_me 1.0alpha15, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Jul 24 17:33:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE51516A41B; Tue, 24 Jul 2007 17:33:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 90A5716A419 for ; Tue, 24 Jul 2007 17:33:04 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7CE2013C45B for ; Tue, 24 Jul 2007 17:33:04 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OHX4fj074849 for ; Tue, 24 Jul 2007 17:33:04 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OHX4fR074846 for perforce@freebsd.org; Tue, 24 Jul 2007 17:33:04 GMT (envelope-from thioretic@FreeBSD.org) Date: Tue, 24 Jul 2007 17:33:04 GMT Message-Id: <200707241733.l6OHX4fR074846@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 17:33:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=124042 Change 124042 by thioretic@thioretic on 2007/07/24 17:32:51 drv_compat_ctrl_driver (nice name :)) implementation, some cleanups. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/TODO#15 edit .. //depot/projects/soc2007/thioretic_gidl/kern/device_if.m#3 edit .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#20 edit .. //depot/projects/soc2007/thioretic_gidl/sys/bus.h#7 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/TODO#15 (text+ko) ==== @@ -142,4 +142,28 @@ FILE(S) AFFECTED: kern/subr_bus.c # I'm unsure about what to do with those, who have more than a single parent. # Although it's highly unlikely that any devices, which have multiple parents - # (functional devices) will use the api. + # (functional devices) will use the api. + a.1.7 generic device control driver + SOLUTION: add drv_compat_ctrl_driver + FILE(S) AFFECTED: kern/subr_bus.c + # The driver is implemented using macro. There are different implementations + # of corresponding bus_if and device_if methods. A method is implemented using + # one of the following macro: + # FOR_RAW_DRIVER - is used for methods which suold just pass control to the + # driver being probed/attached/... + # FOR_ALL_DRIVERS (exclude_raw, returns_val, return_on_non_zero, func, memb, + # ...) + # here exclude_raw - should we call the method for all drivers in the + # configuration, or exclude driver being probed/attached + # returns_val - does the method, being called, return a value + # return_on_non_zero - + # TRUE: the first positive value (with no + # regard for which driver at which level returned it) is + # the vlue the generic driver returns to a caller. + # This is useful, if a filter driver implements eg. cashing + # functionality. + # FALSE: the value, returned by DR_LOWEST driver is the + # value returned to a caller. + # func - the method from bus_if or driver_if being applied to drivers + # memb - the object from driverinfo, which contains the method + # implementation. ==== //depot/projects/soc2007/thioretic_gidl/kern/device_if.m#3 (text+ko) ==== @@ -341,6 +341,8 @@ * currently char* is more likely. * */ -METHOD void* info { +METHOD int info { device_t dev; + char *buf; + size_t buflen; } DEFAULT null_info; ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#20 (text+ko) ==== @@ -109,14 +109,14 @@ typedef struct devclasslink* devclasslink_t; struct devclasslink{ devclass_t devclass_ptr; - TAILQ_ENTRY(pdevclass) link; + TAILQ_ENTRY(devclasslink) link; }; struct devclass { TAILQ_ENTRY(devclass) link; devclass_t parent; /* parent in devclass hierarchy */ devclasslink_list_t filters; /* these are used to hold information, - used for non-DRV_LOWEST drivers' classes */ + used for non-DRL_LOWEST drivers' classes */ driver_list_t drivers; /* bus devclasses store drivers for bus */ char *name; device_t *devices; /* array of devices indexed by unit */ @@ -142,7 +142,6 @@ */ TAILQ_ENTRY(device) link; /**< list of devices in parent */ TAILQ_ENTRY(device) devlink; /**< global device list membership */ - //device_t parent; /**< parent of this device */ devicelink_list_t parents; devicelink_list_t children; /**< list of child devices */ @@ -151,7 +150,7 @@ */ driverinfolink_t driver; /**< current driver to be probed/attached/...*/ int driver_level; - driverinfolink_list_t drivers[DRV_LEVELS]; + driverinfolink_list_t drivers[DRL_LEVELS]; int driverinfo_flags; devclass_t devclass; /**< current device class */ int unit; /**< current unit number */ @@ -305,13 +304,13 @@ case DEVICE_SYSCTL_DRIVER: value = buf = malloc(1024, M_BUS, M_WAITOK | M_ZERO); buf[0]='\0'; - for (level=DRV_LOWEST; level<=DRV_TOPMOST; level++){ + for (level=DRL_LOWEST; level<=DRL_TOPMOST; level++){ switch(level){ - case DRV_LOWEST: tmpbuf="LOWEST:"; break; - case DRV_LOWER: tmpbuf="LOWER:"; break; - case DRV_MIDDLE: tmpbuf="MIDDLE:"; break; - case DRV_UPPER: tmpbuf="UPPER:"; break; - case DRV_TOPMOST: tmpbuf="TOPMOST:"; break; + case DRL_LOWEST: tmpbuf="LOWEST:"; break; + case DRL_LOWER: tmpbuf="LOWER:"; break; + case DRL_MIDDLE: tmpbuf="MIDDLE:"; break; + case DRL_UPPER: tmpbuf="UPPER:"; break; + case DRL_TOPMOST: tmpbuf="TOPMOST:"; break; } if (strlen(tmpbuf)+strlen(buf)>1023) break; TAILQ_FOREACH(dil, &((dev->drivers)[level]), link){ @@ -808,8 +807,19 @@ * Driver compatibility layer implementation */ -static driverinfo_list_t driverinfo_layer = TAILQ_HEAD_INITIALIZER(driverinfo_layer); +static driverinfo_list_t driverinfos = TAILQ_HEAD_INITIALIZER(driverinfos); + +static drv_internal_t +driverinfo_create_driver_drv_internal (driver_t *driver){ + drv_internal_t new_drv; + new_drv = malloc (sizeof(struct drv_internal), M_TEMP, M_NOWAIT|M_ZERO); + if (new_drv){ + new_drv.devops = driver; + new_drv.flags = DR_LOWEST; + } + return (new_drv); +} /** * @internal * @brief Find or add driver compatibility settings @@ -828,7 +838,7 @@ if (!driver) return (NULL); - TAILQ_FOREACH(di, &driverinfo_layer, link){ + TAILQ_FOREACH(di, &driverinfos, link){ if (driver->devops == di->driver) break; } @@ -840,7 +850,7 @@ return (NULL); di->driver = driver->devops; di->flags = driver->flags; - TAILQ_INSERT_TAIL(&driverinfo_layer, di, link); + TAILQ_INSERT_TAIL(&driverinfos, di, link); bus_data_generation_update(); } @@ -858,7 +868,7 @@ driverinfo_find_driver (driver_t *driver) { driverinfo_t di; - TAILQ_FOREACH(di, &driverinfo_layer, link){ + TAILQ_FOREACH(di, &driverinfos, link){ if (driver == di->driver) break; } @@ -893,7 +903,7 @@ di = driverinfo_find_driver(driver); if (di) - TAILQ_REMOVE(&driverinfo_layer, di, link); + TAILQ_REMOVE(&driverinfos, di, link); } /** @@ -943,11 +953,11 @@ static int driverinfo_flags2idx (uint32_t flags){ switch (flags & DR_ALLLEVELS){ - case DR_LOWEST: return (DRV_LOWEST); - case DR_LOWER: return (DRV_LOWER); - case DR_MIDDLE: return (DRV_MIDDLE); - case DR_UPPER: return (DRV_UPPER); - case DR_TOPMOST: return (DRV_TOPMOST); + case DR_LOWEST: return (DRL_LOWEST); + case DR_LOWER: return (DRL_LOWER); + case DR_MIDDLE: return (DRL_MIDDLE); + case DR_UPPER: return (DRL_UPPER); + case DR_TOPMOST: return (DRL_TOPMOST); } } @@ -955,7 +965,7 @@ * @internal * @brief Checks, whether this is a filtering driver * - * Returns true, if driver level is DRV_LOWESTDRV_LOWEST & levelDRL_LOWEST & leveldrivers[level]))) \ + int val = 0; \ + for (level = DRL_TOPMOST; level >= DRL_LOWEST; level--){ \ + if (TAILQ_EMPTY(&dev->drivers[level])) \ continue; \ - TAILQ_FOREACH (dil, &(dev->drivers[level]), link){ \ - func(dil->pdriver->memb, __VA_ARGS__); \ + TAILQ_FOREACH (dil, &dev->drivers[level], link){ \ + if (exclude_raw && dil->pdriver->state == DS_RAW) \ + continue; \ + if (returns_val){ \ + val = func (dil->pdriver->##memb , __VA_ARGS__); \ + if (val && return_on_non_zero) \ + return (val); \ + } \ + else \ + func (dil->pdriver->##memb , __VA_ARGS__); \ } \ - } + } \ + if (returns_val) \ + return (val); - -FUNC(int, PREFIX, probe, device_t dev){ - FOR_RAW_DRIVER(DEVICE_PROBE, dev->driver->pdriver->topology_ops); +/** + * device control multiplexing entries + */ +FUNC (int, PREFIX, probe, device_t dev){ + FOR_RAW_DRIVER (DEVICE_PROBE, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, identify, driver_t *driver, device_t parent){ - FOR_RAW_DRIVER(DEVICE_IDENTIFY, dev->driver->pdriver->driver, parent); +FUNC (int, PREFIX, identify, driver_t *driver, device_t parent){ + FOR_RAW_DRIVER (DEVICE_IDENTIFY, dev->driver->pdriver->driver, parent); } -FUNC(int, PREFIX, attach, device_t dev){ - FOR_RAW_DRIVER(DEVICE_ATTACH, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, attach, device_t dev){ + FOR_RAW_DRIVER (DEVICE_ATTACH, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, detach, device_t dev){ - FOR_RAW_DRIVER(DEVICE_DETACH, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, detach, device_t dev){ + FOR_RAW_DRIVER (DEVICE_DETACH, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, shutdown, device_t parent){ - FOR_RAW_DRIVER(DEVICE_SHUTDOWN, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, shutdown, device_t parent){ + FOR_RAW_DRIVER (DEVICE_SHUTDOWN, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, suspend, device_t dev){ - FOR_RAW_DRIVER(DEVICE_SUSPEND, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, suspend, device_t dev){ + FOR_RAW_DRIVER (DEVICE_SUSPEND, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, resume, device_t dev){ - FOR_RAW_DRIVER(DEVICE_RESUME, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, resume, device_t dev){ + FOR_RAW_DRIVER (DEVICE_RESUME, dev->driver->pdriver->topology_ops); } -FUNC(int, PREFIX, quiesce, device_t dev){ - FOR_RAW_DRIVER(DEVICE_QUIESCE, dev->driver->pdriver->topology_ops); +FUNC (int, PREFIX, quiesce, device_t dev){ + FOR_RAW_DRIVER (DEVICE_QUIESCE, dev->driver->pdriver->topology_ops); } -FUNC(void *, PREFIX, info, driver_t *driver, device_t parent){ - FOR_ALL_BUT_RAW_DRIVER(DEVICE_INFO, topology_ops); +FUNC (int, PREFIX, info, device_t dev, char *buf, size_t buflen){ + FOR_ALL_DRIVERS (TRUE, TRUE, FALSE, DEVICE_INFO, topology_ops, buf, buflen); } /** * bus control multiplexing entries */ -static int -drv_compat_ctrl_print_child (device_t dev, - device_t child); -static void -drv_compat_ctrl_probe_nomatch (device_t dev, - device_t child); -static int -drv_compat_ctrl_read_ivar (device_t dev, - device_t child, - int index, - uintptr_t *result); -static int -drv_compat_ctrl_write_ivar (device_t dev, - device_t child, - int index, - uintptr_t value); -static void -drv_compat_ctrl_child_detached (device_t dev, - device_t child); -static void -drv_compat_ctrl_driver_added (device_t dev, - driver_t *driver); -static device_t -drv_compat_ctrl_add_child (device_t dev, - int order, - const char* name, - int unit); -static struct_resource * -drv_compat_ctrl_alloc_resource (device_t dev, - device_t child, - int type, - int *rid, - u_long start, - u_long end, - u_long count, - u_int flags); -static int -drv_compat_ctrl_activate_resource (device_t dev, - device_t child, - int type, - int rid, - struct resource *r); -static int -drv_compat_ctrl_deactivate_resource (device_t dev, - device_t child, - int type, - int rid, - struct resource *r); -static int -drv_compat_ctrl_release_resource (device_t dev, - device_t child, - int type, - int rid, - struct resource *res); -static int -drv_compat_ctrl_setup_intr (device_t dev, - device_t child, - struct resource *irq, - int flags, - driver_intr_t *intr, - void *arg, - void **cookiep); -static int -drv_compat_ctrl_teardown_intr (device_t dev, - device_t child, - struct resource *irq, - void *cookie); -static int -drv_compat_ctrl_set_resource (device_t dev, - device_t child, - int type, - int rid, - u_long start, - u_long count); -static int -drv_compat_ctrl_get_resource (device_t dev, - device_t child, - int type, - int rid, - u_long *startp, - u_long *countp); -static void -drv_compat_ctrl_delete_resource (device_t dev, - device_t child, - int type, - int rid); -static struct resource_list * -drv_compat_ctrl_get_resource_list (device_t dev, - device_t child); -static int -drv_compat_ctrl_child_present (device_t dev, - device_t child); -static int -drv_compat_ctrl_child_pnpinfo_str (device_t dev, - device_t child, - char *buf, - size_t buflen); -static int -drv_compat_ctrl_child_location_str (device_t dev, - device_t child, - char *buf, - size_t buflen); -static int -drv_compat_ctrl_config_intr (device_t dev, - int irq, - enum intr_trigger trig, - enum intr_polarity pol); -static void -drv_compat_ctrl_hinted_child (device_t dev, - const char *dname, - int dunit); +FUNC (int, PREFIX, print_child, device_t dev, device_t child){ + FOR_ALL_DRIVERS (FALSE, TRUE, FALSE, BUS_PRINT_CHILD, topology_ops, child); +} + +FUNC (void, PREFIX, probe_nomatch, device_t dev, device_t child){ + FOR_ALL_DRIVERS (FALSE, FALSE, FALSE, BUS_PROBE_NOMATCH, topology_ops, child); +} + +FUNC (int, PREFIX, read_ivar, device_t dev, device_t child, + int index, uintptr_t *result){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_READ_IVAR, topology_ops, child, + index, result); +} + +FUNC (int, PREFIX, write_ivar, device_t dev, device_t child, + int index, uintptr_t value){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_WRITE_IVAR, topology_ops, child, + index, value); +} + +FUNC (void, PREFIX, child_detached, device_t dev, device_t child){ + FOR_ALL_DRIVERS (FALSE, FALSE, FALSE, BUS_CHILD_DETACHED, topology_ops, child); +} + +FUNC (void, PREFIX, driver_added, device_t dev, driver_t *driver){ + FOR_ALL_DRIVERS (FALSE, FALSE, FALSE, BUS_DRIVER_ADDED, topology_ops, driver); +} + +FUNC (device_t, PREFIX, add_child, device_t dev, int order, + const char* name, int unit){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_ADD_CHILD, topology_ops, order, + name, unit); +} + +FUNC (struct resource *, PREFIX, alloc_resource, device_t dev, + device_t child, int type, int *rid, u_long start, + u_long end, u_long count, u_int flags){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_ALLOC_RESOURCE, topology_ops, + child, type, rid, start, end, count, flags); +} + +FUNC (int, PREFIX, activate_resource, device_t dev, device_t child, + int type, int rid, struct resource *r){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_ACTIVATE_RESOURCE, topology_ops, + child, type, rid, r); +} + +FUNC (int, PREFIX, deactivate_resource, device_t dev, device_t child, + int type, int rid, struct resource *r){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_DEACTIVATE_RESOURCE, topology_ops, + child, type, rid, r); +} + +FUNC (int, PREFIX, release_resource, device_t dev, device_t child, + int type, int rid, struct resource *res){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_RELEASE_RESOURCE, topology_ops, + child, type, rid, res); +} + +FUNC (int, PREFIX, setup_intr, device_t dev, device_t child, + struct resource *irq, int flags, driver_intr_t *intr, + void *arg, void **cookiep){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_SETUP_INTR, topology_ops, + child, irq, flags, intr, arg, cookiep); +} + +FUNC (int, PREFIX, teardown_intr, device_t dev, device_t child, + struct resource *irq, void *cookie){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_TEARDOWN_INTR, topology_ops, + child, irq, cookie); +} + +FUNC (int, PREFIX, set_resource, device_t dev, device_t child, + int type, int rid, u_long start, u_long count){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_SET_RESOURCE, topology_ops, + child, type, rid, start, count); +} + +FUNC (int, PREFIX, get_resource, device_t dev, device_t child, + int type, int rid, u_long *startp, u_long *countp){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_GET_RESOURCE, topology_ops, + child, type, rid, startp, countp); +} + +FUNC (void, PREFIX, delete_resource, device_t dev, device_t child, + int type, int rid){ + FOR_ALL_DRIVERS (FALSE, FALSE, FALSE, BUS_DELETE_RESOURCE, topology_ops, + child, type, rid); +} + +FUNC (struct resource_list *, PREFIX, get_resource_list, device_t dev, + device_t child){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_GET_RESOURCE_LIST, topology_ops, + child); +} + +FUNC (int, PREFIX, child_present, device_t dev, device_t child){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_CHILD_PRESENT, topology_ops, child); +} + +FUNC (int, PREFIX, child_pnpinfo_str, device_t dev, device_t child, + char *buf, size_t buflen){ + FOR_ALL_DRIVERS (FALSE, TRUE, FALSE, BUS_CHILD_PNPINFO_STR, topology_ops, + child, buf, buflen); +} + +FUNC (int, PREFIX, child_location_str, device_t dev, device_t child, + char *buf, size_t buflen){ + FOR_ALL_DRIVERS (FALSE, TRUE, FALSE, BUS_CHILD_LOCATION_STR, topology_ops, + child, buf, buflen); +} + +FUNC (int, PREFIX, config_intr, device_t dev, int irq, + enum intr_trigger trig, enum intr_polarity pol){ + FOR_ALL_DRIVERS (FALSE, TRUE, TRUE, BUS_CONFIG_INTR, topology_ops, + irq, trig, pol); +} + +FUNC (void, PREFIX, hinted_child, device_t dev, const char *dname, + int dunit){ + FOR_ALL_DRIVERS (FALSE, FALSE, FALSE, BUS_HINTED_CHILD, topology_ops, + dname, dunit); +} + +#define DRIVERMETHOD (name, if_prefix, driver_prefix) \ + DEVMETHOD (if_prefix##_##name, driver_prefix##_##name) static device_method_t drv_compat_ctrl_methods[] = { - DEVMETHOD(device_probe, drv_compat_ctrl_probe), - DEVMETHOD(device_identify, drv_compat_ctrl_identify), - DEVMETHOD(device_attach, drv_compat_ctrl_attach), - DEVMETHOD(device_detach, drv_compat_ctrl_detach), - DEVMETHOD(device_shutdown, drv_compat_ctrl_shutdown), - DEVMETHOD(device_suspend, drv_compat_ctrl_suspend), - DEVMETHOD(device_resume, drv_compat_ctrl_resume), - DEVMETHOD(device_info, drv_compat_ctrl_info), - DEVMETHOD(bus_print_child, drv_compat_ctrl_print_child), - DEVMETHOD(bus_probe_nomatch, drv_compat_ctrl_probe_nomatch), - DEVMETHOD(bus_read_ivar, drv_compat_ctrl_read_ivar), - DEVMETHOD(bus_write_ivar, drv_compat_ctrl_write_ivar), - DEVMETHOD(bus_child_detached, drv_compat_ctrl_child_detached), - DEVMETHOD(bus_driver_added, drv_compat_ctrl_driver_added), - DEVMETHOD(bus_add_child, drv_compat_ctrl_add_child), - DEVMETHOD(bus_alloc_resource, drv_compat_ctrl_alloc_resource), - DEVMETHOD(bus_activate_resource, drv_compat_ctrl_activate_resource), - DEVMETHOD(bus_deactivate_resource, drv_compat_ctrl_deactivate_resource), - DEVMETHOD(bus_release_resource, drv_compat_ctrl_release_resource), - DEVMETHOD(bus_setup_intr, drv_compat_ctrl_setup_intr), - DEVMETHOD(bus_teardown_intr, drv_compat_ctrl_teardown_intr), - DEVMETHOD(bus_set_resource, drv_compat_ctrl_set_resource), - DEVMETHOD(bus_get_resource, drv_compat_ctrl_get_resource), - DEVMETHOD(bus_delete_resource, drv_compat_ctrl_delete_resource), - DEVMETHOD(bus_get_resource_list, drv_compat_ctrl_get_resource_list), - DEVMETHOD(bus_child_present, drv_compat_ctrl_child_present), - DEVMETHOD(bus_child_pnpinfo_str, drv_compat_ctrl_child_pnpinfo_str), - DEVMETHOD(bus_child_location_str, drv_compat_ctrl_child_location_str), - DEVMETHOD(bus_config_intr, drv_compat_ctrl_config_intr), - DEVMETHOD(bus_hinted_child, drv_compat_ctrl_hinted_child) + DRIVERMETHOD (probe, device, PREFIX), + DRIVERMETHOD (identify, device, PREFIX), + DRIVERMETHOD (attach, device, PREFIX), + DRIVERMETHOD (detach, device, PREFIX), + DRIVERMETHOD (shutdown, device, PREFIX), + DRIVERMETHOD (suspend, device, PREFIX), + DRIVERMETHOD (resume, device, PREFIX), + DRIVERMETHOD (info, device, PREFIX), + + DRIVERMETHOD (print_child, bus, PREFIX), + DRIVERMETHOD (probe_nomatch, bus, PREFIX), + DRIVERMETHOD (read_ivar, bus, PREFIX), + DRIVERMETHOD (write_ivar, bus, PREFIX), + DRIVERMETHOD (child_detached, bus, PREFIX), + DRIVERMETHOD (driver_added, bus, PREFIX), + DRIVERMETHOD (add_child, bus, PREFIX), + DRIVERMETHOD (alloc_resource, bus, PREFIX), + DRIVERMETHOD (activate_resource, bus, PREFIX), + DRIVERMETHOD (deactivate_resource, bus, PREFIX), + DRIVERMETHOD (release_resource, bus, PREFIX), + DRIVERMETHOD (setup_intr, bus, PREFIX), + DRIVERMETHOD (teardown_intr, bus, PREFIX), + DRIVERMETHOD (set_resource, bus, PREFIX), + DRIVERMETHOD (get_resource, bus, PREFIX), + DRIVERMETHOD (delete_resource, bus, PREFIX), + DRIVERMETHOD (get_resource_list, bus, PREFIX), + DRIVERMETHOD (child_present, bus, PREFIX), + DRIVERMETHOD (child_pnpinfo_str, bus, PREFIX), + DRIVERMETHOD (child_location_str, bus, PREFIX), + DRIVERMETHOD (config_intr, bus, PREFIX), + DRIVERMETHOD (hinted_child, bus, PREFIX) }; static driver_t drv_compat_ctrl_driver = { /*TODO*/ @@ -1201,7 +1241,8 @@ uint32_t flags; driverinfolink_t dil; - driverinfo_get_flags(driver, &flags); + if (!driverinfo_get_flags(driver, &flags);) + return (FALSE); level = driverinfo_flags2idx (flags); TAILQ_FOREACH(dil, &dev->drivers[level], link){ @@ -1362,6 +1403,13 @@ * double-free in devclass_delete_driver. */ di = driverinfo_find_driver (driver); + if (!di) { + drv_internal_t drv_intnl; + + drv_intnl = driverinfo_create_driver_drv_internal (driver); + if (!drv_intnl && !(di = driverinfo_add_driver(intnl))) + if (drv_intnl) free (drv_intnl); + } di->topology_ops = kobj_create (di->driver, M_BUS, M_NOWAIT|M_ZERO); /* @@ -2030,7 +2078,7 @@ TAILQ_INSERT_TAIL(&(dev->parents), pd, link); TAILQ_INIT(&(dev->children)); kobj_init((kobj_t) dev, &drv_compat_ctrl_driver) - for (level=DRV_LOWEST; level<=DRV_TOPMOST; level++) + for (level=DRL_LOWEST; level<=DRL_TOPMOST; level++) TAILQ_INIT(&((dev->drivers)[level])); dev->devclass = NULL; dev->state = DS_NOTPRESENT; @@ -2213,7 +2261,7 @@ destroy_recurse (device_t dev, device_t devtodel, int direction){ int error; devicelink_t grand; - devicelink_t pd; + devicelink_t pd, pd2; devicelink_list_t *list; device_t child, parent; @@ -2223,7 +2271,7 @@ return (destroy_recurse (devtodel, dev, CHILDREN)); /* remove children first */ - if (devtodel->refs>1) goto deletefromparents; + if (devtodel->refs > 1) goto deletefromparents; while ( (grand = TAILQ_FIRST(&devtodel->children)) ) { error = destroy_recurse(devtodel, grand->device_ptr, direction); if (error) @@ -2237,7 +2285,7 @@ if (devtodel->devclass) devclass_delete_device(devtodel->devclass, devtodel); deletefromparents: - TAILQ_FOREACH_SAFE(pd, &devtodel->parents, link){ + TAILQ_FOREACH_SAFE(pd, &devtodel->parents, link, pd2){ if (pd->device_ptr == dev){ TAILQ_REMOVE(&devtodel->parents, pd, link); devtodel->refs--; @@ -2612,8 +2660,8 @@ { driverinfolink_t dil; - if (!TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])){ - dil=TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + if (!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])){ + dil=TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); return (dil->pdriver->driver); } return (NULL); @@ -2795,8 +2843,8 @@ void * device_get_softc(device_t dev) { - if(!TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) - return ((TAILQ_FIRST(&dev->drivers[DRV_LOWEST]))->softc); + if(!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) + return ((TAILQ_FIRST(&dev->drivers[DRL_LOWEST]))->softc); return (NULL); } @@ -2830,9 +2878,9 @@ void *psoftc; driverinfolink_t dil; - if(TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) + if(TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) return (NULL); - dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + dil = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); if (dil && !(dil->flags & DF_EXTERNALSOFTC)) free(dil->softc, M_BUS_SC); dil->softc = softc; @@ -2906,9 +2954,9 @@ driverinfolink_t dil; KASSERT(dev != NULL, ("device_get_ivars(NULL, ...)")); - if (TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) + if (TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) return (NULL); - dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + dil = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); return (dil>ivars); } @@ -2945,10 +2993,10 @@ driverinfolink_t dil; KASSERT(dev != NULL, ("device_set_ivars(NULL, ...)")); - if(!(TAILQ_EMPTY(&dev->drivers[DRV_LOWEST]))){ - dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + if(!(TAILQ_EMPTY(&dev->drivers[DRL_LOWEST]))){ + dil = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); } - dil = TAILQ_FIRST(&dev->drivers[DRV_LOWEST]); + dil = TAILQ_FIRST(&dev->drivers[DRL_LOWEST]); dil->ivars = ivars; } @@ -3109,7 +3157,7 @@ int level, error; driverinfolink_t dil; - for (level = DRV_TOPMOST; level>= DRV_LOWEST; level--){ + for (level = DRL_TOPMOST; level>= DRL_LOWEST; level--){ if (TAILQ_EMPTY(&dev->drivers[level])) continue; while(dil = TAILQ_FIRST(&dev->drivers[level])){ @@ -3144,7 +3192,14 @@ if (driver == dev->driver->pdriver->driver) return (0); - di = driverinfo_find_driver (driver); + di = driverinfo_find_driver (driver); + if (!di) { + drv_internal_t drv_intnl; + + drv_intnl = driverinfo_create_driver_drv_internal (driver); + if (!drv_intnl && !(di = driverinfo_add_driver(intnl))) + if (drv_intnl) free (drv_intnl); + } driverinfo_get_flags(driver, &flags); level = driverinfo_flags2idx(flags); @@ -3155,7 +3210,7 @@ } } - if(driver == NULL || level == DRV_LOWEST){ + if(driver == NULL || level == DRL_LOWEST){ if(!device_destroy_configuration(dev)) return (EBUSY); } @@ -3295,23 +3350,23 @@ free(dev->driver); device_sysctl_fini(dev); if(!dev->raw){ - dev->state = (dev->driver_level == DRV_LOWEST) ? DS_NOTPRESENT : + dev->state = (dev->driver_level == DRL_LOWEST) ? DS_NOTPRESENT : DS_ATTACHED; } return (error); } dil = dev->driver; - if (dev->driver_level == DRV_LOWEST){ + if (dev->driver_level == DRL_LOWEST){ dev->devclass = devclass_find (DRIVERNAME(dil->pdriver->driver)); devclass_device2filters(dev, dev->devclass); } dil->state = DS_ATTACHED; if(!dev->raw) dev->state = DS_ATTACHED; - dev->driver = (!TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) ? - TAILQ_FIRST(&(dev->drivers[DRV_LOWEST])) : NULL; - dev->driver_level=DRV_LOWEST; + dev->driver = (!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) ? + TAILQ_FIRST(&dev->drivers[DRL_LOWEST]) : NULL; + dev->driver_level=DRL_LOWEST; devadded(dev); return (0); } @@ -3348,12 +3403,12 @@ if ((error = DEVICE_DETACH(dev)) != 0) return (error); - if (dev->driver_level != DRV_LOWEST){ + if (dev->driver_level != DRL_LOWEST){ TAILQ_REMOVE(&dev->drivers[dev->driver_level], dev->driver, link); free(dev->driver); - dev->driver = (!TAILQ_EMPTY(&dev->drivers[DRV_LOWEST])) ? - TAILQ_FIRST(&dev->drivers[DRV_LOWEST]) : NULL; - dev->driver_level=DRV_LOWEST; + dev->driver = (!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) ? + TAILQ_FIRST(&dev->drivers[DRL_LOWEST]) : NULL; + dev->driver_level=DRL_LOWEST; dev->raw--; if(!dev->raw) dev->state = DS_ATTACHED; @@ -4911,7 +4966,7 @@ (dev->flags&DF_DESCMALLOCED? "descmalloced,":""), (dev->flags&DF_REBID? "rebiddable,":""), (dev->ivars? "":"no "), - ((TAILQ_FIRST(&(dev->drivers[DRV_LOWEST])))->softc? "":"no "), + ((TAILQ_FIRST(&(dev->drivers[DRL_LOWEST])))->softc? "":"no "), dev->busy)); } ==== //depot/projects/soc2007/thioretic_gidl/sys/bus.h#7 (text+ko) ==== @@ -479,12 +479,12 @@ int driver_module_handler(struct module *, int, void *); -#define DRV_LEVELS 5 -#define DRV_LOWEST 0 -#define DRV_LOWER 1 -#define DRV_MIDDLE 2 -#define DRV_UPPER 3 -#define DRV_TOPMOST 4 +#define DRL_LEVELS 5 +#define DRL_LOWEST 0 +#define DRL_LOWER 1 +#define DRL_MIDDLE 2 +#define DRL_UPPER 3 +#define DRL_TOPMOST 4 /** * Module support for automatically adding drivers to busses. */ @@ -517,7 +517,7 @@ \ static struct drv_internal name##_##busname##_intnl { \ (kobj_class_t) &driver, \ - DR_LOWEST \ + DR_LOWEST \ }; \ \ static struct driver_module_data name##_##busname##_driver_mod = { \ From owner-p4-projects@FreeBSD.ORG Tue Jul 24 19:25:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0F19416A421; Tue, 24 Jul 2007 19:25:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D056E16A41B for ; Tue, 24 Jul 2007 19:25:27 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0CBE13C45A for ; Tue, 24 Jul 2007 19:25:27 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OJPR5B083639 for ; Tue, 24 Jul 2007 19:25:27 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OJPRpc083636 for perforce@freebsd.org; Tue, 24 Jul 2007 19:25:27 GMT (envelope-from mjacob@freebsd.org) Date: Tue, 24 Jul 2007 19:25:27 GMT Message-Id: <200707241925.l6OJPRpc083636@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 124047 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 19:25:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124047 Change 124047 by mjacob@mjexp on 2007/07/24 19:24:43 More IFC Affected files ... .. //depot/projects/mjexp/contrib/pf/pflogd/pidfile.c#2 integrate .. //depot/projects/mjexp/contrib/pf/pflogd/pidfile.h#2 integrate .. //depot/projects/mjexp/sbin/iscontrol/iscontrol.8#2 integrate .. //depot/projects/mjexp/sbin/iscontrol/iscsi.conf.5#2 integrate .. //depot/projects/mjexp/share/man/man4/iscsi_initiator.4#2 integrate .. //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vfsops.c#6 integrate Differences ... ==== //depot/projects/mjexp/contrib/pf/pflogd/pidfile.c#2 (text+ko) ==== ==== //depot/projects/mjexp/contrib/pf/pflogd/pidfile.h#2 (text+ko) ==== ==== //depot/projects/mjexp/sbin/iscontrol/iscontrol.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/iscontrol/iscontrol.8,v 1.1 2007/07/24 15:35:01 scottl Exp $ +.\" $FreeBSD: src/sbin/iscontrol/iscontrol.8,v 1.2 2007/07/24 18:08:15 brueffer Exp $ .\" .Dd February 22, 2007 .Dt ISCONTROL 8 @@ -45,14 +45,15 @@ the .Nm program is the userland side of an iSCSI session, see -iscsi_initiator(4). +.Xr iscsi_initiator 4 . It has 2 modes of operation, if -d (discovery session) is specified, it will print out the .Em target names returned by the target and exit. -In the second mode, it will, after a succesful login/negotiation, run +In the second mode, it will, after a successful login/negotiation, run in daemon mode, monitoring the connection, and will try to reconnect -in case of a network/target failure. It will terminate/logout the session +in case of a network/target failure. +It will terminate/logout the session when a SIGHUP signal is received. The flags are as follows: .Bl -tag -width variable=value @@ -65,17 +66,21 @@ .It Fl c Ar file a file containing configuration .Em key-options , -see iscsi.conf(5) +see +.Xr iscsi.conf 5 .It Fl n Ar nickname if .Sy -c file is specified, then search for the block named .Em nickname -in that file, see iscsi.conf(5) +in that file, see +.Xr iscsi.conf 5 .It Fl t Ar target is the target's IP address or name .It Ar variable Ns = Ns Ar value -see iscsi.conf(5) for the complete list of variables/options and their +see +.Xr iscsi.conf 5 +for the complete list of variables/options and their possible values. .El .Sh EXAMPLES @@ -87,21 +92,23 @@ print to stdout the list of available targetnames/targetadresses. Note: this listing does not necessarily mean availability, since depending on the target configuration, a discovery session might -not need login/access permition, but a +not need login/access permission, but a .Em full session certainly does. .sp .Dl iscontrol -c /etc/iscsi.conf -n myiscsi .Pp -will read options from file /etc/iscsi.conf, use the targetaddress +will read options from +.Pa /etc/iscsi.conf , +use the targetaddress found in the block nicknamed myiscsi, login and negotiate whatever options are specified, and start an iscsi-session. .Sh SEE ALSO +.Xr da 4 , .Xr iscsi_initiator 4 , +.Xr sa 4 , .Xr iscsi.conf 5 , -.Xr camcontrol 8 , -.Xr da 4 , -.Xr sa 4 +.Xr camcontrol 8 .Sh STANDARDS RFC 3720 .\"Sh HISTORY @@ -110,7 +117,7 @@ should probably load the iscsi_initiator module if needed. .br Not all functions/specifications have been implemented yet, noticeably -missing are the Task Management Funtions. +missing are the Task Management Functions. The error recovery, though not .Em fully compliant does a brave effort to recover from network disconnects. ==== //depot/projects/mjexp/sbin/iscontrol/iscsi.conf.5#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/iscontrol/iscsi.conf.5,v 1.1 2007/07/24 15:35:01 scottl Exp $ +.\" $FreeBSD: src/sbin/iscontrol/iscsi.conf.5,v 1.2 2007/07/24 18:08:15 brueffer Exp $ .\" .Dd June 5, 2007 .Os @@ -35,7 +35,8 @@ .Nm , is read by the .Xr iscontrol 8 -program, it contains declarations and parameter/key-options. +program. +It contains declarations and parameter/key-options. The syntax is very simple, .D1 Li variable = value; and they can be grouped via a @@ -55,13 +56,16 @@ for a full description see sections 11/12 of the RFC. .Bl -tag -width MaxConnections .It Cm AuthMethod -current only supported authentication method is CHAP, with -digest either MD5 or SHA. Default is none. +currently only supported authentication method is CHAP, with +digest either MD5 or SHA. +Default is none. .It Cm HeaderDigest a .Em digest is calculated on the header of all iSCSI PDUs, and -checked. Only CRC32C is implemented. Default is none. +checked. +Only CRC32C is implemented. +Default is none. .It Cm DataDigest same as for HeaderDigest, but on the data part of the iSCSI PDU. .It Cm MaxConnections @@ -118,7 +122,7 @@ .It Cm ErrorRecoveryLevel Only level 0 is supported. .It Cm SessionType -either Discovery or Normal, default is Normal, see the +either Discovery or Normal, default is Normal, see the .Fl d flag of .Cm iscontrol . @@ -128,7 +132,7 @@ .Sy RFC 3720 .Bl -tag -width sockbufsize .It Cm port -The iscsi port used by the iscsi protocol, defaults to 3260. +The iSCSI port used by the iSCSI protocol, defaults to 3260. .It Cm tags Sets the .Em tag opening @@ -137,23 +141,25 @@ overrides the compiled value of .Sy luns , see -.Xr iscsi_initiator 4 . This value can only be reduced. +.Xr iscsi_initiator 4 . +This value can only be reduced. .It Cm sockbufsize sets the receiver and transmitter socket buffer size to .Em size, -in kilobites. The default is 128. +in kilobytes. +The default is 128. .El .sp If -.Em AutheMethod +.Em AuthMethod is set to .Cm CHAP , then the following must also be set: .Bl -tag -width chapSecret .It Cm chapSecret this -.Em shared-secret. -Can be either an ascci string (e.g. hello world), a hex string (e.g +.Em shared-secret . +Can be either an ASCII string (e.g. hello world), a hex string (e.g 0xababcd0987654321...), or base64 string (eg 0b...) .It Cm chapIName the chap-name, defaults to @@ -188,7 +194,7 @@ } .Ed .Sh ERRORS -The parsing is very primitive, so don't expect - at the moment - any +The parsing is very primitive, so do not expect - at the moment - any error messages. .Sh SEE ALSO .Xr iscsi_initiator 4 , ==== //depot/projects/mjexp/share/man/man4/iscsi_initiator.4#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/iscsi_initiator.4,v 1.1 2007/07/24 15:35:00 scottl Exp $ +.\" $FreeBSD: src/share/man/man4/iscsi_initiator.4,v 1.2 2007/07/24 18:08:16 brueffer Exp $ .\" .Dd February 23, 2007 .Os @@ -47,11 +47,12 @@ .Sh DESCRIPTION The .Nm -implements the kernel side of the Internet ISCSI (iSCSI) network +implements the kernel side of the Internet SCSI (iSCSI) network protocol standard, the user land companion is -.Xr iscontrol 8, and permits access to remote +.Xr iscontrol 8 , +and permits access to remote .Em virtual -SCSI devices via the +SCSI devices via .Xr cam 4 . .Sh SYSCTL VARIABLES .Bl -tag -width ".Va net.iscsi.n.targeaddress" @@ -83,21 +84,21 @@ .El .Sh FILES The -.NM +.Nm driver creates the following: .Bl -tag -width ".Pa /dev/iscsi%dxx" -compact +.Pp .It Pa /dev/iscsi -used to creat new sessions. +used to create new sessions. .It Pa /dev/iscsi%d for each new session. .El -.\" .Sh ERRORS .Sh SEE ALSO -.Xr iscontrol 8 , .Xr cam 4 , -.Xr camcontrol 8 +.Xr camcontrol 8 , +.Xr iscontrol 8 .Sh STANDARDS -ISCSI RFC 3720 +iSCSI RFC 3720 .\" .Sh HISTORY .\" .Sh AUTHORS .Sh BUGS ==== //depot/projects/mjexp/sys/fs/tmpfs/tmpfs_vfsops.c#6 (text+ko) ==== @@ -48,7 +48,7 @@ * allocate and release resources. */ #include -__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_vfsops.c,v 1.7 2007/07/23 06:54:58 delphij Exp $"); +__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_vfsops.c,v 1.8 2007/07/24 17:14:53 delphij Exp $"); #include #include @@ -268,7 +268,7 @@ mtx_init(&tmp->allnode_lock, "tmpfs allnode lock", NULL, MTX_DEF); tmp->tm_nodes_max = nodes; tmp->tm_nodes_inuse = 0; - tmp->tm_maxfilesize = (cnt.v_page_count + get_swpgtotal()) * PAGE_SIZE; + tmp->tm_maxfilesize = (u_int64_t)(cnt.v_page_count + get_swpgtotal()) * PAGE_SIZE; LIST_INIT(&tmp->tm_nodes_used); tmp->tm_pages_max = pages; From owner-p4-projects@FreeBSD.ORG Tue Jul 24 21:02:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D6E0516A421; Tue, 24 Jul 2007 21:02:52 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F77116A41A for ; Tue, 24 Jul 2007 21:02:52 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 71EDA13C46A for ; Tue, 24 Jul 2007 21:02:52 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OL2qom099145 for ; Tue, 24 Jul 2007 21:02:52 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OL2qRT099142 for perforce@freebsd.org; Tue, 24 Jul 2007 21:02:52 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 21:02:52 GMT Message-Id: <200707242102.l6OL2qRT099142@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124055 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 21:02:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=124055 Change 124055 by sat@sat_amilo on 2007/07/24 21:02:31 - Work around a strange bug with mount -t nullfs. See the comment for more. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.commands.mk#7 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.commands.mk#7 (text+ko) ==== @@ -57,7 +57,10 @@ MKTEMP?= /usr/bin/mktemp MOUNT?= /sbin/mount MOUNT_DEVFS?= ${MOUNT} -t devfs devfs -MOUNT_NULLFS?= ${MOUNT} -t nullfs +# XXX: this is a work-around for an obscure bug where +# mount -t nullfs returns zero status on errors whithin +# a make target +MOUNT_NULLFS?= /sbin/mount_nullfs MV?= /bin/mv OBJCOPY?= /usr/bin/objcopy OBJDUMP?= /usr/bin/objdump From owner-p4-projects@FreeBSD.ORG Tue Jul 24 21:18:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0A27016A41B; Tue, 24 Jul 2007 21:18:13 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BCBD916A417 for ; Tue, 24 Jul 2007 21:18:12 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B057313C457 for ; Tue, 24 Jul 2007 21:18:12 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OLIC3q001250 for ; Tue, 24 Jul 2007 21:18:12 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OLICKe001247 for perforce@freebsd.org; Tue, 24 Jul 2007 21:18:12 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 21:18:12 GMT Message-Id: <200707242118.l6OLICKe001247@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124056 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 21:18:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124056 Change 124056 by sat@sat_amilo on 2007/07/24 21:17:24 - Correct a typo in comment Submitted by: remko the spellchecker :-) Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#24 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#24 (text+ko) ==== @@ -32,23 +32,49 @@ # work for the chrooted build if necessary. At # default, this target is empty. # +# DESTDIR_ENV_LIST +# - Contains names of the variables in host environ(7), +# which should be imported into the chrooted environ +# along with their values. +# Default: empty. +# +# You can use something like this in host /etc/make.conf to +# customize per-chroot environment: +# .if ${DESTDIR}=/foo/bar +# PREFIX=/opt +# CFLAGS=-O3 -pipe +# DESTDIR_ENV_LIST=PREFIX CFLAGS +# .endif +# .if !defined(_DESTDIRMKINCLUDED) _DESTDIRMKINCLUDED= yes -# Place variable names into DESTDIR_ENV_LIST, which you want to override in -# the DESTDIR environment from outside. E.g.: -# -# make DESTDIR=/foo/bar PREFIX=/opt DESTDIR_ENV_LIST=PREFIX -# - DESTDIR_ENV_LIST?= +DESTDIR_ENV= DESTDIR= CHROOTED=YES +.for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} +DESTDIR_ENV+= ${_var}="${${_var}}" +.endfor -DESTDIR_ENV= DESTDIR= CHROOTED=YES PORTSDIR=${PORTSDIR_TMP_REL} +WITH_EXPERIMENTAL_DESTDIR?= no -.for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} -DESTDIR_ENV+= ${_var}="${${_var}}" +# Processing DESTDIR_MOUNT_LIST into something more machine-readable +# VAR:HOST_PATH:DEST_PATH +# If HOST_PATH is not a dir +DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC +_DESTDIR_MOUNT_LIST= +.for _entry in ${DESTDIR_MOUNT_LIST} +__entry=${_entry} +.if ${__entry:M*\:*\:*} +_DESTDIR_MOUNT_LIST+= ${_entry} +.elif ${__entry:M*\:*} +_DESTDIR_MOUNT_LIST+= ${_entry}:___temp___ +.else +.if defined(${_entry}) && !empty(${_entry}) +_DESTDIR_MOUNT_LIST+= ${_entry}:${${_entry}}:___temp___ +.endif +.endif .endfor .MAIN: all @@ -63,71 +89,94 @@ .endif .if !target(do-chroot) - -PORTSDIR_TMP!= ${MKTEMP} -d ${DESTDIR}/tmp/portsdir.XXXXXX -PORTSDIR_TMP_REL= ${PORTSDIR_TMP:S,^${DESTDIR},,} -BUILDDIR= ${.CURDIR:S,^${PORTSDIR},,:S,^,${PORTSDIR_TMP_REL},} - -.if defined(WITH_EXPERIMENTAL_DESTDIR) do-chroot: - @if [ ! -d ${DESTDIR} ]; then \ + @if [ "${WITH_EXPERIMENTAL_DESTDIR}" = "no" ]; then \ + ${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ + ${ECHO_CMD} "===> if you want to use it."; \ + exit 0; \ + fi; \ + if [ ! -d ${DESTDIR} ]; then \ ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \ ${ECHO_MSG} "=> Please set DESTDIR to a valid jail environment."; \ exit 1; \ fi; \ - if [ ! -d ${DESTDIR}/tmp ]; then \ + _destdir=`realpath ${DESTDIR}`; \ + if [ ! -d $${_destdir}/tmp ]; then \ ${ECHO_MSG} "===> Directory ${DESTDIR}/tmp does not exist"; \ - if mkdir ${DESTDIR}/tmp; then \ - ${ECHO_MSG} "=> tmp subdirectory has been successfully created"; \ + if mkdir $${_destdir}/tmp; then \ + ${ECHO_MSG} "=> /tmp subdirectory has been successfully created"; \ else \ - ${ECHO_MSG} "=> tmp subdirectory could not be created"; \ + ${ECHO_MSG} "=> /tmp subdirectory could not be created"; \ exit 2; \ fi; \ fi; \ - for _entry in ${DESTDIR_MOUNT_LIST}; do \ - _var= `${ECHO_CMD} $${_entry} | ${SED} -e 's/:.*//'`; \ - _path1= `${ECHO_CMD} $${_entry} | ${SED} -e 's/[^:]*://'`; \ - _path2= `${ECHO_CMD} $${_path1} | ${SED} -e 's/.*://'`; \ - echo "$${_var} $${_path1} $${_path2}"; \ - if [ $${_path1} = $${_path2} ]; then \ - _tmpdir= `${MKTEMP} -d ${DESTDIR}/tmp/tmpdir.XXXXXX`; \ - _tmpdir_rel= `${ECHO_CMD} $${_tmpdir} | ${SED} -e 's|^${DESTDIR}||'`; \ - if [ $${_var} = PORTSDIR ]; then \ - _builddir= `${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \ + ${ECHO_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ + for _entry in ${_DESTDIR_MOUNT_LIST}; do \ + ${ECHO_MSG} "==> Processing $${_entry}"; \ + _mount_var=$${_entry%%:*}; \ + _tp=$${_entry#*:}; \ + _host_path=`realpath $${_tp%:*}`; \ + _dest_path=$${_entry##*:}; \ + _full_dest_path=`realpath $${_destdir}/$${_dest_path}`; \ + _mounted_entries_list=""; \ + _created_mountpoints_list=""; \ + _entry_was_created=0; \ + _entry_should_mount=0; \ + echo "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ + if [ "$${_dest_path}" = "___temp___" ]; then \ + echo "Creating temporary mount point"; \ + if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \ + echo "Temporary mount point $${_full_dest_path} created successfully"; \ + _entry_was_created=1; \ + _entry_should_mount=1; \ + _dest_path=$${_full_dest_path#$${_destdir}/}; \ + _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ + else \ + echo "Failed to create temporary mount point"; \ + exit 9; \ fi; \ - _tmp= "$${_destdir_env}"; \ - _destdir_env= "$${_tmp} $${_var}=$${_tmpdir_rel}"; \ - echo "$${_destdir_env}"; \ - ${MOUNT_NULLFS} $${_path1} ${DESTDIR}${_tmpdir_rel}; \ else \ - if [ $${_var} = PORTSDIR ]; then \ - _builddir= `${ECHO_CMD} ${.CURDIR} | ${SED} -e 's|^${PORTSDIR}||' -e 's|^|$${_tmpdir_rel}|'`; \ + echo "Checking if already mounted"; \ + if ${MOUNT}|grep -qs "^$${_host_path} on $${_full_dest_path} ("; then \ + echo "$${_host_path} is already mounted on $${_full_dest_path}"; \ + else \ + echo "$${_host_path} is not mounted on $${_full_dest_path}"; \ + _entry_should_mount=1; \ + fi; \ fi; \ - _tmp= "$${_destdir_env}"; \ - _destdir_env= "$${_tmp} $${_var}=$${_path2}"; \ - ${MOUNT_NULLFS} $${_path1} ${DESTDIR}/$${_path2}; \ - fi; \ + [ -d $${_full_dest_path} ] || \ + if mkdir $${_full_dest_path}; then \ + echo "Mount point $${_full_dest_path} created"; \ + _entry_was_created=1; \ + _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ + else \ + echo "Mount point $${_full_dest_path} could not be created"; \ + exit 7; \ + fi; \ + [ "$${_entry_should_mount}" = "0" ] || \ + if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ + echo "Dir $${_host_path} mounted"; \ + _mounted_entries_list="$${_mounted_entries_list} $${_full_dest_path}"; \ + else \ + echo "Dir $${_host_path} could not be mounted"; \ + [ "$${_entry_was_created}" = "0" ]||rmdir $${_full_dest_path}; \ + exit 8; \ + fi; \ done; \ echo "$${_destdir_env}"; \ - found=0; \ - for _entry in `${MOUNT} | ${GREP} devfs | ${AWK} {'print $$3'}`; do \ - if [ `${REALPATH} $${_entry}` = `${REALPATH} ${DESTDIR}/dev` ]; then \ - found=1; \ - fi; \ + ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list};" \ + ${ECHO_CMD} "Things we created: $${_created_mountpoints_list};" \ + ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ + ${CHROOT} $${_destdir} ${SH} -c "(cd $${_builddir}; \ + ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})"; \ + ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} finished. Cleaning up..."; \ + for _entry in $${_mounted_entries_list}; do \ + umount -f $${_entry}; \ + done; \ + for _entry in $${_created_mountpoints_list}; do \ + rmdir $${_entry}; \ done; \ - if [ $${found} = 0 ]; then \ - ${ECHO_CMD} "===> Mounting devfs into ${DESTDIR}..."; \ - ${MOUNT_DEVFS} ${DESTDIR}/dev; \ - fi; \ - ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ - ${CHROOT} ${DESTDIR} ${SH} -c "(cd $${_builddir}; ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})" -.else -do-chroot: - @${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ - ${ECHO_CMD} "===> if you want to use it."; \ - ${FALSE} -.endif - -.endif - -.endif + ${ECHO_CMD} "===> Congratulations!"; \ + exit 0 +.endif # !target(do-chroot) +.endif # !defined(_DESTDIRMKINCLUDED) From owner-p4-projects@FreeBSD.ORG Tue Jul 24 21:31:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2E8D916A41F; Tue, 24 Jul 2007 21:31:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04B6E16A418 for ; Tue, 24 Jul 2007 21:31:30 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EDC7113C481 for ; Tue, 24 Jul 2007 21:31:29 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OLVTws002130 for ; Tue, 24 Jul 2007 21:31:29 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OLVTsB002127 for perforce@freebsd.org; Tue, 24 Jul 2007 21:31:29 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 21:31:29 GMT Message-Id: <200707242131.l6OLVTsB002127@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124057 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 21:31:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=124057 Change 124057 by sat@sat_amilo on 2007/07/24 21:31:07 - Correct a typo in comment Submitted by: remko Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.commands.mk#8 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.commands.mk#8 (text+ko) ==== @@ -58,7 +58,7 @@ MOUNT?= /sbin/mount MOUNT_DEVFS?= ${MOUNT} -t devfs devfs # XXX: this is a work-around for an obscure bug where -# mount -t nullfs returns zero status on errors whithin +# mount -t nullfs returns zero status on errors within # a make target MOUNT_NULLFS?= /sbin/mount_nullfs MV?= /bin/mv From owner-p4-projects@FreeBSD.ORG Tue Jul 24 21:34:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CBB1816A418; Tue, 24 Jul 2007 21:34:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7DF7216A41F for ; Tue, 24 Jul 2007 21:34:34 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7389913C46B for ; Tue, 24 Jul 2007 21:34:34 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6OLYYOE002333 for ; Tue, 24 Jul 2007 21:34:34 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6OLYX9r002315 for perforce@freebsd.org; Tue, 24 Jul 2007 21:34:33 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 21:34:33 GMT Message-Id: <200707242134.l6OLYX9r002315@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124058 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 21:34:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=124058 Change 124058 by sat@sat_amilo on 2007/07/24 21:33:52 The previous commit was actually a work-in-progress with some mounting code. This one brings a couple of tweaks. Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#25 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#25 (text+ko) ==== @@ -61,8 +61,10 @@ # Processing DESTDIR_MOUNT_LIST into something more machine-readable # VAR:HOST_PATH:DEST_PATH -# If HOST_PATH is not a dir -DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC +# VAR -> VAR:${VAR}:TMP +# VAR:HOST_PATH -> VAR:HOST_PATH:TMP +DESTDIR_MOUNT_LIST?= +#DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC _DESTDIR_MOUNT_LIST= .for _entry in ${DESTDIR_MOUNT_LIST} __entry=${_entry} @@ -120,6 +122,7 @@ _full_dest_path=`realpath $${_destdir}/$${_dest_path}`; \ _mounted_entries_list=""; \ _created_mountpoints_list=""; \ + _var_path_list=""; \ _entry_was_created=0; \ _entry_should_mount=0; \ echo "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ @@ -139,6 +142,7 @@ echo "Checking if already mounted"; \ if ${MOUNT}|grep -qs "^$${_host_path} on $${_full_dest_path} ("; then \ echo "$${_host_path} is already mounted on $${_full_dest_path}"; \ + _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ echo "$${_host_path} is not mounted on $${_full_dest_path}"; \ _entry_should_mount=1; \ @@ -166,6 +170,7 @@ echo "$${_destdir_env}"; \ ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list};" \ ${ECHO_CMD} "Things we created: $${_created_mountpoints_list};" \ + ${ECHO_CMD} "_var_path_list: $${_var_path_list};" \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ ${CHROOT} $${_destdir} ${SH} -c "(cd $${_builddir}; \ ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})"; \ From owner-p4-projects@FreeBSD.ORG Tue Jul 24 23:14:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 22F5C16A419; Tue, 24 Jul 2007 23:14:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EA94716A417 for ; Tue, 24 Jul 2007 23:14:41 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E0E2E13C442 for ; Tue, 24 Jul 2007 23:14:41 +0000 (UTC) (envelope-from sat@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6ONEfjV010817 for ; Tue, 24 Jul 2007 23:14:41 GMT (envelope-from sat@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6ONEfcX010814 for perforce@freebsd.org; Tue, 24 Jul 2007 23:14:41 GMT (envelope-from sat@freebsd.org) Date: Tue, 24 Jul 2007 23:14:41 GMT Message-Id: <200707242314.l6ONEfcX010814@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sat@freebsd.org using -f From: Andrew Pantyukhin To: Perforce Change Reviews Cc: Subject: PERFORCE change 124062 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 23:14:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=124062 Change 124062 by sat@sat_amilo on 2007/07/24 23:14:33 - Finally back in a seemingly working shape Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#26 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#26 (text+ko) ==== @@ -52,7 +52,7 @@ _DESTDIRMKINCLUDED= yes DESTDIR_ENV_LIST?= -DESTDIR_ENV= DESTDIR= CHROOTED=YES +DESTDIR_ENV= CHROOTED=yes .for _var in ${DESTDIR_ENV_LIST:NDESTDIR:NCHROOTED:NPORTSDIR} DESTDIR_ENV+= ${_var}="${${_var}}" .endfor @@ -63,7 +63,7 @@ # VAR:HOST_PATH:DEST_PATH # VAR -> VAR:${VAR}:TMP # VAR:HOST_PATH -> VAR:HOST_PATH:TMP -DESTDIR_MOUNT_LIST?= +DESTDIR_MOUNT_LIST?= PORTSDIR DISTDIR #DESTDIR_MOUNT_LIST?= PORTSDIR WRKDIR:/123 WRKSRC:/567:/789 ABC _DESTDIR_MOUNT_LIST= .for _entry in ${DESTDIR_MOUNT_LIST} @@ -103,15 +103,20 @@ exit 1; \ fi; \ _destdir=`realpath ${DESTDIR}`; \ - if [ ! -d $${_destdir}/tmp ]; then \ - ${ECHO_MSG} "===> Directory ${DESTDIR}/tmp does not exist"; \ - if mkdir $${_destdir}/tmp; then \ - ${ECHO_MSG} "=> /tmp subdirectory has been successfully created"; \ - else \ - ${ECHO_MSG} "=> /tmp subdirectory could not be created"; \ - exit 2; \ - fi; \ - fi; \ + _mounted_entries_list=""; \ + _created_mountpoints_list=""; \ + _var_path_list=""; \ + ${ECHO_MSG} "===> Creating some important subdirectories"; \ + for _dir in tmp dev; do \ + [ -d $${_destdir}/$${_dir} ] || \ + if ${MKDIR} $${_destdir}/$${_dir}; then \ + ${ECHO_MSG} "=> /$${_dir} subdirectory has been successfully created"; \ + _created_mountpoints_list="$${_destdir}/$${_dir} $${_created_mountpoints_list}"; \ + else \ + ${ECHO_MSG} "=> /$${_dir} subdirectory could not be created"; \ + exit 2; \ + fi; \ + done; \ ${ECHO_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ for _entry in ${_DESTDIR_MOUNT_LIST}; do \ ${ECHO_MSG} "==> Processing $${_entry}"; \ @@ -120,66 +125,81 @@ _host_path=`realpath $${_tp%:*}`; \ _dest_path=$${_entry##*:}; \ _full_dest_path=`realpath $${_destdir}/$${_dest_path}`; \ - _mounted_entries_list=""; \ - _created_mountpoints_list=""; \ - _var_path_list=""; \ _entry_was_created=0; \ _entry_should_mount=0; \ - echo "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ + ${ECHO_CMD} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ if [ "$${_dest_path}" = "___temp___" ]; then \ - echo "Creating temporary mount point"; \ + ${ECHO_CMD} "Creating temporary mount point"; \ if _full_dest_path=`${MKTEMP} -d $${_destdir}/tmp/mountpoint.XXXXXX`; then \ - echo "Temporary mount point $${_full_dest_path} created successfully"; \ + ${ECHO_CMD} "Temporary mount point $${_full_dest_path} created successfully"; \ _entry_was_created=1; \ _entry_should_mount=1; \ - _dest_path=$${_full_dest_path#$${_destdir}/}; \ - _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ + _dest_path=$${_full_dest_path#$${_destdir}}; \ + _created_mountpoints_list="$${_full_dest_path} $${_created_mountpoints_list}"; \ else \ - echo "Failed to create temporary mount point"; \ + ${ECHO_CMD} "Failed to create temporary mount point"; \ exit 9; \ fi; \ else \ - echo "Checking if already mounted"; \ - if ${MOUNT}|grep -qs "^$${_host_path} on $${_full_dest_path} ("; then \ - echo "$${_host_path} is already mounted on $${_full_dest_path}"; \ + ${ECHO_CMD} "Checking if already mounted"; \ + if ${MOUNT}|${GREP} -qs "^$${_host_path} on $${_full_dest_path} ("; then \ + ${ECHO_CMD} "$${_host_path} is already mounted on $${_full_dest_path}"; \ _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - echo "$${_host_path} is not mounted on $${_full_dest_path}"; \ + ${ECHO_CMD} "$${_host_path} is not mounted on $${_full_dest_path}"; \ _entry_should_mount=1; \ fi; \ fi; \ [ -d $${_full_dest_path} ] || \ - if mkdir $${_full_dest_path}; then \ - echo "Mount point $${_full_dest_path} created"; \ + if ${MKDIR} $${_full_dest_path}; then \ + ${ECHO_CMD} "Mount point $${_full_dest_path} created"; \ _entry_was_created=1; \ _created_mountpoints_list="$${_created_mountpoints_list} ${_full_dest_path}"; \ else \ - echo "Mount point $${_full_dest_path} could not be created"; \ + ${ECHO_CMD} "Mount point $${_full_dest_path} could not be created"; \ exit 7; \ fi; \ [ "$${_entry_should_mount}" = "0" ] || \ if ${MOUNT_NULLFS} $${_host_path} $${_full_dest_path}; then \ - echo "Dir $${_host_path} mounted"; \ - _mounted_entries_list="$${_mounted_entries_list} $${_full_dest_path}"; \ + ${ECHO_CMD} "Dir $${_host_path} mounted"; \ + _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ + _var_path_list="$${_var_path_list} $${_mount_var}=$${_dest_path}"; \ else \ - echo "Dir $${_host_path} could not be mounted"; \ - [ "$${_entry_was_created}" = "0" ]||rmdir $${_full_dest_path}; \ + ${ECHO_CMD} "Dir $${_host_path} could not be mounted"; \ + [ "$${_entry_was_created}" = "0" ] || \ + ${RMDIR} $${_full_dest_path} || ${TRUE}; \ exit 8; \ fi; \ done; \ - echo "$${_destdir_env}"; \ - ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list};" \ - ${ECHO_CMD} "Things we created: $${_created_mountpoints_list};" \ - ${ECHO_CMD} "_var_path_list: $${_var_path_list};" \ + ${ECHO_CMD} "Handling devfs separately"; \ + _full_dest_path=$${_destdir}/dev; \ + ${MOUNT}|${GREP} -qs "^devfs on $${_full_dest_path} (" || \ + if ${MOUNT_DEVFS} $${_full_dest_path}; then \ + ${ECHO_CMD} "devfs mounted"; \ + _mounted_entries_list="$${_full_dest_path} $${_mounted_entries_list}"; \ + else \ + ${ECHO_CMD} "devfs could not be mounted"; \ + [ -n "$${_created_mountpoints_list%%* $${_destdir}/dev *}" ] || \ + ${RMDIR} $${_destdir}/dev || ${TRUE}; \ + exit 9; \ + fi; \ + _var_path_list="$${_var_path_list} DEVFS=/dev"; \ + ${ECHO_CMD} "Things we mounted: $${_mounted_entries_list}"; \ + ${ECHO_CMD} "Things we created: $${_created_mountpoints_list}"; \ + ${ECHO_CMD} "_var_path_list: $${_var_path_list}"; \ ${ECHO_CMD} "===> Starting chrooted make in ${DESTDIR}..."; \ - ${CHROOT} $${_destdir} ${SH} -c "(cd $${_builddir}; \ - ${SETENV} -i ${DESTDIR_ENV} $${_destdir_env} ${MAKE} ${.TARGETS})"; \ - ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} finished. Cleaning up..."; \ + export $${_var_path_list}; \ + ${CHROOT} $${_destdir} ${SH} -c "\ + cd $${PORTSDIR}${.CURDIR:S|^${PORTSDIR}||}; \ + ${SETENV} -i ${DESTDIR_ENV} $${_var_path_list} ${MAKE} ${.TARGETS}" && \ + ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} succeeded" || \ + ${ECHO_CMD} "===> Chrooted make in ${DESTDIR} failed"; \ + ${ECHO_CMD} "===> Cleaning up..."; \ for _entry in $${_mounted_entries_list}; do \ - umount -f $${_entry}; \ + ${UMOUNT} -f $${_entry} || ${TRUE}; \ done; \ for _entry in $${_created_mountpoints_list}; do \ - rmdir $${_entry}; \ + ${RMDIR} $${_entry} || ${TRUE}; \ done; \ ${ECHO_CMD} "===> Congratulations!"; \ exit 0 From owner-p4-projects@FreeBSD.ORG Wed Jul 25 03:56:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8838116A421; Wed, 25 Jul 2007 03:56:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AF4816A417 for ; Wed, 25 Jul 2007 03:56:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 518E613C457 for ; Wed, 25 Jul 2007 03:56:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P3uSSw044893 for ; Wed, 25 Jul 2007 03:56:28 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P3uSEI044890 for perforce@freebsd.org; Wed, 25 Jul 2007 03:56:28 GMT (envelope-from loafier@FreeBSD.org) Date: Wed, 25 Jul 2007 03:56:28 GMT Message-Id: <200707250356.l6P3uSEI044890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124063 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 03:56:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124063 Change 124063 by loafier@chrisdsoc on 2007/07/25 03:56:22 Fix typos in cmi.c Compiles -- haven't tested Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cmi.c#3 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/cmi.c#3 (text+ko) ==== @@ -108,7 +108,7 @@ static struct resource_spec cmi_res_spec[] = { {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, - {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, {-1, 0, 0} }; @@ -884,7 +884,7 @@ } static void -cmi_destroy(device_t dev, sc_info *sc) +cmi_destroy(device_t dev, struct sc_info *sc) { if (!sc) return; @@ -893,7 +893,7 @@ bus_dma_tag_destroy(sc->parent_dmat); if (sc->ih) bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); - bus_release_resources(dev, sc->res, cmi_res_spec); + bus_release_resources(dev, cmi_res_spec, sc->res); if (sc->lock) snd_mtxfree(sc->lock); @@ -942,7 +942,7 @@ pci_enable_io(dev, SYS_RES_IOPORT); sc->dev = dev; - if (bus_alloc_resources(dev, sc->res, cmi_res_spec) != 0) + if (bus_alloc_resources(dev, cmi_res_spec, sc->res) != 0) goto bad; if (0) From owner-p4-projects@FreeBSD.ORG Wed Jul 25 04:01:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AA44516A41A; Wed, 25 Jul 2007 04:01:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 643AD16A417 for ; Wed, 25 Jul 2007 04:01:38 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5AA2113C458 for ; Wed, 25 Jul 2007 04:01:38 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P41bX9045295 for ; Wed, 25 Jul 2007 04:01:38 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P41bvv045282 for perforce@freebsd.org; Wed, 25 Jul 2007 04:01:37 GMT (envelope-from loafier@FreeBSD.org) Date: Wed, 25 Jul 2007 04:01:37 GMT Message-Id: <200707250401.l6P41bvv045282@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 04:01:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=124065 Change 124065 by loafier@chrisdsoc on 2007/07/25 04:01:17 Fixed typos in aureal.c haven't tested Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#5 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#5 (text+ko) ==== @@ -76,13 +76,13 @@ static struct resource_spec au_res_spec_mem[] = { {SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE}, - {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, {-1, 0, 0} }; static struct resource_spec au_res_spec_io[] = { {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, - {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHARABLE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, {-1, 0, 0} }; @@ -492,7 +492,7 @@ for (i=0; i<124; i++) au_wr4(au, AU_REG_RTBASE+(i<<2), 0xffffffff); /* test */ - i=au_rd4(au, 0, 0x107c0); + i=au_rd4(au, 0x107c0); if (i!=0xdeadbeef) device_printf(dev, "dma check failed: 0x%x\n", i); /* install mixer */ @@ -531,7 +531,7 @@ } static void -au_destroy(device_t dev, au_info *sc) +au_destroy(device_t dev, struct au_info *sc) { if (!sc) return; @@ -610,7 +610,7 @@ /*filter*/NULL, /*filterarg*/NULL, /*maxsize*/AU_BUFFSIZE, /*nsegments*/1, /*maxsegz*/0x3ffff, /*flags*/0, /*lockfunc*/busdma_lock_mutex, - /*lockarg*/&Giant, &au->parent_dmat) != 0) { + /*lockarg*/&Giant, &sc->parent_dmat) != 0) { device_printf(dev, "unable to create dma tag\n"); goto bad; } From owner-p4-projects@FreeBSD.ORG Wed Jul 25 05:57:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0FED816A41F; Wed, 25 Jul 2007 05:57:04 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6829E16A417 for ; Wed, 25 Jul 2007 05:57:03 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5BCA313C457 for ; Wed, 25 Jul 2007 05:57:03 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P5v3SF062524 for ; Wed, 25 Jul 2007 05:57:03 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P5v3st062521 for perforce@freebsd.org; Wed, 25 Jul 2007 05:57:03 GMT (envelope-from loafier@FreeBSD.org) Date: Wed, 25 Jul 2007 05:57:03 GMT Message-Id: <200707250557.l6P5v3st062521@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 05:57:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=124066 Change 124066 by loafier@chrisdsoc on 2007/07/25 05:56:57 Modified es137x for bus_alloc_resources(), etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/es137x.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/es137x.c#2 (text+ko) ==== @@ -177,13 +177,29 @@ */ #define ES_DEFAULT_DAC_CFG 0 +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec es_res_spec_io[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + +static struct resource_spec es_res_spec_mem[] = { + {SYS_RES_MEMORY, MEM_MAP_REG, RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct es_info { - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; - struct resource *reg, *irq; - int regtype, regid, irqid; + struct resource *res[RES_SZ]; + struct resource_spec *spec; void *ih; device_t dev; @@ -204,6 +220,15 @@ #define ES_UNLOCK(sc) snd_mtxunlock((sc)->lock) #define ES_LOCK_ASSERT(sc) snd_mtxassert((sc)->lock) +#define es_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define es_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define es_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) + +#define es_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define es_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define es_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) + + /* prototypes */ static void es_intr(void *); static uint32_t es1371_wait_src_ready(struct es_info *); @@ -244,37 +269,6 @@ [SOUND_MIXER_OGAIN] = { 9, 0xf, 0x0, 0, 0x0000, 1 } }; -static __inline uint32_t -es_rd(struct es_info *es, int regno, int size) -{ - switch (size) { - case 1: - return (bus_space_read_1(es->st, es->sh, regno)); - case 2: - return (bus_space_read_2(es->st, es->sh, regno)); - case 4: - return (bus_space_read_4(es->st, es->sh, regno)); - default: - return (0xFFFFFFFF); - } -} - -static __inline void -es_wr(struct es_info *es, int regno, uint32_t data, int size) -{ - - switch (size) { - case 1: - bus_space_write_1(es->st, es->sh, regno, data); - break; - case 2: - bus_space_write_2(es->st, es->sh, regno, data); - break; - case 4: - bus_space_write_4(es->st, es->sh, regno, data); - break; - } -} /* -------------------------------------------------------------------- */ /* The es1370 mixer interface */ @@ -394,10 +388,10 @@ ES_LOCK_ASSERT(es); for (t = 0; t < 0x1000; t++) { - if ((es_rd(es, ES1370_REG_STATUS, 4) & + if ((es_rd4(es, ES1370_REG_STATUS) & STAT_CSTAT) == 0) { - es_wr(es, ES1370_REG_CODEC, - ((unsigned short)i << CODEC_INDEX_SHIFT) | data, 2); + es_wr2(es, ES1370_REG_CODEC, + ((unsigned short)i << CODEC_INDEX_SHIFT) | data); return (0); } DELAY(1); @@ -476,26 +470,26 @@ ES_LOCK(es); if (dir == PCMDIR_PLAY) { if (ch->index == ES_DAC1) { - es_wr(es, ES1370_REG_MEMPAGE, - ES1370_REG_DAC1_FRAMEADR >> 8, 1); - es_wr(es, ES1370_REG_DAC1_FRAMEADR & 0xff, - sndbuf_getbufaddr(ch->buffer), 4); - es_wr(es, ES1370_REG_DAC1_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr1(es, ES1370_REG_MEMPAGE, + ES1370_REG_DAC1_FRAMEADR >> 8); + es_wr4(es, ES1370_REG_DAC1_FRAMEADR & 0xff, + sndbuf_getbufaddr(ch->buffer)); + es_wr4(es, ES1370_REG_DAC1_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } else { - es_wr(es, ES1370_REG_MEMPAGE, - ES1370_REG_DAC2_FRAMEADR >> 8, 1); - es_wr(es, ES1370_REG_DAC2_FRAMEADR & 0xff, - sndbuf_getbufaddr(ch->buffer), 4); - es_wr(es, ES1370_REG_DAC2_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr1(es, ES1370_REG_MEMPAGE, + ES1370_REG_DAC2_FRAMEADR >> 8); + es_wr4(es, ES1370_REG_DAC2_FRAMEADR & 0xff, + sndbuf_getbufaddr(ch->buffer)); + es_wr4(es, ES1370_REG_DAC2_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } } else { - es_wr(es, ES1370_REG_MEMPAGE, ES1370_REG_ADC_FRAMEADR >> 8, 1); - es_wr(es, ES1370_REG_ADC_FRAMEADR & 0xff, - sndbuf_getbufaddr(ch->buffer), 4); - es_wr(es, ES1370_REG_ADC_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr1(es, ES1370_REG_MEMPAGE, ES1370_REG_ADC_FRAMEADR >> 8); + es_wr4(es, ES1370_REG_ADC_FRAMEADR & 0xff, + sndbuf_getbufaddr(ch->buffer)); + es_wr4(es, ES1370_REG_ADC_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } ES_UNLOCK(es); return (ch); @@ -529,7 +523,7 @@ if (format & AFMT_STEREO) es->sctrl |= SCTRL_R1SMB; } - es_wr(es, ES1370_REG_SERIAL_CONTROL, es->sctrl, 4); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, es->sctrl); ES_UNLOCK(es); ch->fmt = format; return (0); @@ -575,7 +569,7 @@ es->ctrl &= ~CTRL_PCLKDIV; es->ctrl |= DAC2_SRTODIV(speed) << CTRL_SH_PCLKDIV; } - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); ES_UNLOCK(es); return (speed); } @@ -673,8 +667,8 @@ } else reg = ES1370_REG_ADC_FRAMECNT; sz = ch->blksz * ch->blkcnt; - es_wr(es, ES1370_REG_MEMPAGE, reg >> 8, 4); - ptr = es_rd(es, reg & 0x000000ff, 4) >> 16; + es_wr4(es, ES1370_REG_MEMPAGE, reg >> 8); + ptr = es_rd4(es, reg & 0x000000ff) >> 16; ptr <<= 2; ch->ptr = ptr; ptr %= sz; @@ -749,12 +743,12 @@ else es->sctrl &= ~SCTRL_P1INTEN; es->sctrl |= b; - es_wr(es, ES1370_REG_DAC1_SCOUNT, cnt, 4); + es_wr4(es, ES1370_REG_DAC1_SCOUNT, cnt); /* start at beginning of buffer */ - es_wr(es, ES1370_REG_MEMPAGE, - ES1370_REG_DAC1_FRAMECNT >> 8, 4); - es_wr(es, ES1370_REG_DAC1_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr4(es, ES1370_REG_MEMPAGE, + ES1370_REG_DAC1_FRAMECNT >> 8); + es_wr4(es, ES1370_REG_DAC1_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } else { es->ctrl |= CTRL_DAC2_EN; es->sctrl &= ~(SCTRL_P2ENDINC | SCTRL_P2STINC | @@ -766,12 +760,12 @@ es->sctrl &= ~SCTRL_P2INTEN; es->sctrl |= (b << 2) | ((((b >> 1) & 1) + 1) << SCTRL_SH_P2ENDINC); - es_wr(es, ES1370_REG_DAC2_SCOUNT, cnt, 4); + es_wr4(es, ES1370_REG_DAC2_SCOUNT, cnt); /* start at beginning of buffer */ - es_wr(es, ES1370_REG_MEMPAGE, - ES1370_REG_DAC2_FRAMECNT >> 8, 4); - es_wr(es, ES1370_REG_DAC2_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr4(es, ES1370_REG_MEMPAGE, + ES1370_REG_DAC2_FRAMECNT >> 8); + es_wr4(es, ES1370_REG_DAC2_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } } else es->ctrl &= ~((ch->index == ES_DAC1) ? @@ -785,17 +779,17 @@ else es->sctrl &= ~SCTRL_R1INTEN; es->sctrl |= b << 4; - es_wr(es, ES1370_REG_ADC_SCOUNT, cnt, 4); + es_wr4(es, ES1370_REG_ADC_SCOUNT, cnt); /* start at beginning of buffer */ - es_wr(es, ES1370_REG_MEMPAGE, - ES1370_REG_ADC_FRAMECNT >> 8, 4); - es_wr(es, ES1370_REG_ADC_FRAMECNT & 0xff, - (ch->bufsz >> 2) - 1, 4); + es_wr4(es, ES1370_REG_MEMPAGE, + ES1370_REG_ADC_FRAMECNT >> 8); + es_wr4(es, ES1370_REG_ADC_FRAMECNT & 0xff, + (ch->bufsz >> 2) - 1); } else es->ctrl &= ~CTRL_ADC_EN; } - es_wr(es, ES1370_REG_SERIAL_CONTROL, es->sctrl, 4); - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, es->sctrl); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); if (go == PCMTRIG_START) { if (es->polling != 0) { ch->ptr = 0; @@ -838,8 +832,8 @@ reg = ES1370_REG_DAC2_FRAMECNT; } else reg = ES1370_REG_ADC_FRAMECNT; - es_wr(es, ES1370_REG_MEMPAGE, reg >> 8, 4); - cnt = es_rd(es, reg & 0x000000ff, 4) >> 16; + es_wr4(es, ES1370_REG_MEMPAGE, reg >> 8); + cnt = es_rd4(es, reg & 0x000000ff) >> 16; /* cnt is longwords */ cnt <<= 2; } @@ -897,7 +891,7 @@ ES_UNLOCK(es); return; } - intsrc = es_rd(es, ES1370_REG_STATUS, 4); + intsrc = es_rd4(es, ES1370_REG_STATUS); if ((intsrc & STAT_INTR) == 0) { ES_UNLOCK(es); return; @@ -911,8 +905,8 @@ if (intsrc & STAT_DAC2) sctrl &= ~SCTRL_P2INTEN; - es_wr(es, ES1370_REG_SERIAL_CONTROL, sctrl, 4); - es_wr(es, ES1370_REG_SERIAL_CONTROL, es->sctrl, 4); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, sctrl); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, es->sctrl); ES_UNLOCK(es); if (intsrc & STAT_ADC) @@ -967,10 +961,10 @@ es->ctrl = CTRL_CDC_EN | CTRL_JYSTK_EN | CTRL_SERR_DIS | (DAC2_SRTODIV(fixed_rate) << CTRL_SH_PCLKDIV); es->ctrl |= 3 << CTRL_SH_WTSRSEL; - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); es->sctrl = 0; - es_wr(es, ES1370_REG_SERIAL_CONTROL, es->sctrl, 4); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, es->sctrl); /* No RST, PD */ es1370_wrcodec(es, CODEC_RES_PD, 3); @@ -1023,26 +1017,26 @@ es->ctrl |= (1 << 16); } /* initialize the chips */ - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); - es_wr(es, ES1370_REG_SERIAL_CONTROL, es->sctrl, 4); - es_wr(es, ES1371_REG_LEGACY, 0, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); + es_wr4(es, ES1370_REG_SERIAL_CONTROL, es->sctrl); + es_wr4(es, ES1371_REG_LEGACY, 0); if ((devid == ES1371_PCI_ID && revid == ES1371REV_ES1373_8) || (devid == ES1371_PCI_ID && revid == ES1371REV_CT5880_A) || (devid == CT5880_PCI_ID && revid == CT5880REV_CT5880_C) || (devid == CT5880_PCI_ID && revid == CT5880REV_CT5880_D) || (devid == CT5880_PCI_ID && revid == CT5880REV_CT5880_E)) { cssr = 1 << 29; - es_wr(es, ES1370_REG_STATUS, cssr, 4); + es_wr4(es, ES1370_REG_STATUS, cssr); DELAY(20000); } /* AC'97 warm reset to start the bitclk */ - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); - es_wr(es, ES1371_REG_LEGACY, ES1371_SYNC_RES, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); + es_wr4(es, ES1371_REG_LEGACY, ES1371_SYNC_RES); DELAY(2000); - es_wr(es, ES1370_REG_CONTROL, es->sctrl, 4); + es_wr4(es, ES1370_REG_CONTROL, es->sctrl); es1371_wait_src_ready(es); /* Init the sample rate converter */ - es_wr(es, ES1371_REG_SMPRATE, ES1371_DIS_SRC, 4); + es_wr4(es, ES1371_REG_SMPRATE, ES1371_DIS_SRC); for (idx = 0; idx < 0x80; idx++) es1371_src_write(es, idx, 0); es1371_src_write(es, ES_SMPREG_DAC1 + ES_SMPREG_TRUNC_N, 16 << 4); @@ -1066,10 +1060,10 @@ * power cycle) */ es1371_wait_src_ready(es); - es_wr(es, ES1371_REG_SMPRATE, 0, 4); + es_wr4(es, ES1371_REG_SMPRATE, 0); /* try to reset codec directly */ - es_wr(es, ES1371_REG_CODEC, 0, 4); - es_wr(es, ES1370_REG_STATUS, cssr, 4); + es_wr4(es, ES1371_REG_CODEC, 0); + es_wr4(es, ES1370_REG_STATUS, cssr); ES_UNLOCK(es); return (0); @@ -1084,33 +1078,33 @@ struct es_info *es = (struct es_info*)s; for (t = 0; t < 0x1000; t++) { - if (!es_rd(es, ES1371_REG_CODEC & CODEC_WIP, 4)) + if (!es_rd4(es, ES1371_REG_CODEC & CODEC_WIP)) break; } /* save the current state for later */ - x = orig = es_rd(es, ES1371_REG_SMPRATE, 4); + x = orig = es_rd4(es, ES1371_REG_SMPRATE); /* enable SRC state data in SRC mux */ - es_wr(es, ES1371_REG_SMPRATE, (x & (ES1371_DIS_SRC | ES1371_DIS_P1 | - ES1371_DIS_P2 | ES1371_DIS_R1)) | 0x00010000, 4); + es_wr4(es, ES1371_REG_SMPRATE, (x & (ES1371_DIS_SRC | ES1371_DIS_P1 | + ES1371_DIS_P2 | ES1371_DIS_R1)) | 0x00010000); /* busy wait */ for (t = 0; t < 0x1000; t++) { - if ((es_rd(es, ES1371_REG_SMPRATE, 4) & 0x00870000) == + if ((es_rd4(es, ES1371_REG_SMPRATE) & 0x00870000) == 0x00000000) break; } /* wait for a SAFE time to write addr/data and then do it, dammit */ for (t = 0; t < 0x1000; t++) { - if ((es_rd(es, ES1371_REG_SMPRATE, 4) & 0x00870000) == + if ((es_rd4(es, ES1371_REG_SMPRATE) & 0x00870000) == 0x00010000) break; } - es_wr(es, ES1371_REG_CODEC, ((addr << CODEC_POADD_SHIFT) & + es_wr4(es, ES1371_REG_CODEC, ((addr << CODEC_POADD_SHIFT) & CODEC_POADD_MASK) | ((data << CODEC_PODAT_SHIFT) & - CODEC_PODAT_MASK), 4); + CODEC_PODAT_MASK)); /* restore SRC reg */ es1371_wait_src_ready(s); - es_wr(es, ES1371_REG_SMPRATE, orig, 4); + es_wr4(es, ES1371_REG_SMPRATE, orig); return (0); } @@ -1122,38 +1116,38 @@ struct es_info *es = (struct es_info *)s; for (t = 0; t < 0x1000; t++) { - if (!(x = es_rd(es, ES1371_REG_CODEC, 4) & CODEC_WIP)) + if (!(x = es_rd4(es, ES1371_REG_CODEC) & CODEC_WIP)) break; } /* save the current state for later */ - x = orig = es_rd(es, ES1371_REG_SMPRATE, 4); + x = orig = es_rd4(es, ES1371_REG_SMPRATE); /* enable SRC state data in SRC mux */ - es_wr(es, ES1371_REG_SMPRATE, (x & (ES1371_DIS_SRC | ES1371_DIS_P1 | - ES1371_DIS_P2 | ES1371_DIS_R1)) | 0x00010000, 4); + es_wr4(es, ES1371_REG_SMPRATE, (x & (ES1371_DIS_SRC | ES1371_DIS_P1 | + ES1371_DIS_P2 | ES1371_DIS_R1)) | 0x00010000); /* busy wait */ for (t = 0; t < 0x1000; t++) { - if ((x = es_rd(es, ES1371_REG_SMPRATE, 4) & 0x00870000) == + if ((x = es_rd4(es, ES1371_REG_SMPRATE) & 0x00870000) == 0x00000000) break; } /* wait for a SAFE time to write addr/data and then do it, dammit */ for (t = 0; t < 0x1000; t++) { - if ((x = es_rd(es, ES1371_REG_SMPRATE, 4) & 0x00870000) == + if ((x = es_rd4(es, ES1371_REG_SMPRATE) & 0x00870000) == 0x00010000) break; } - es_wr(es, ES1371_REG_CODEC, ((addr << CODEC_POADD_SHIFT) & - CODEC_POADD_MASK) | CODEC_PORD, 4); + es_wr4(es, ES1371_REG_CODEC, ((addr << CODEC_POADD_SHIFT) & + CODEC_POADD_MASK) | CODEC_PORD); /* restore SRC reg */ es1371_wait_src_ready(s); - es_wr(es, ES1371_REG_SMPRATE, orig, 4); + es_wr4(es, ES1371_REG_SMPRATE, orig); /* now wait for the stinkin' data (RDY) */ for (t = 0; t < 0x1000; t++) { - if ((x = es_rd(es, ES1371_REG_CODEC, 4)) & CODEC_RDY) + if ((x = es_rd4(es, ES1371_REG_CODEC)) & CODEC_RDY) break; } @@ -1177,7 +1171,7 @@ r = es1371_wait_src_ready(es) & (ES1371_DIS_SRC | ES1371_DIS_P1 | ES1371_DIS_P2 | ES1371_DIS_R1); r |= ES1371_SRC_RAM_ADDRO(reg); - es_wr(es, ES1371_REG_SMPRATE, r, 4); + es_wr4(es, ES1371_REG_SMPRATE, r); return (ES1371_SRC_RAM_DATAI(es1371_wait_src_ready(es))); } @@ -1189,7 +1183,7 @@ r = es1371_wait_src_ready(es) & (ES1371_DIS_SRC | ES1371_DIS_P1 | ES1371_DIS_P2 | ES1371_DIS_R1); r |= ES1371_SRC_RAM_ADDRO(reg) | ES1371_SRC_RAM_DATAO(data); - es_wr(es, ES1371_REG_SMPRATE, r | ES1371_SRC_RAM_WE, 4); + es_wr4(es, ES1371_REG_SMPRATE, r | ES1371_SRC_RAM_WE); } static unsigned int @@ -1250,14 +1244,14 @@ dis = (set == ES_DAC1) ? ES1371_DIS_P2 : ES1371_DIS_P1; r = (es1371_wait_src_ready(es) & (ES1371_DIS_SRC | ES1371_DIS_P1 | ES1371_DIS_P2 | ES1371_DIS_R1)); - es_wr(es, ES1371_REG_SMPRATE, r, 4); + es_wr4(es, ES1371_REG_SMPRATE, r); es1371_src_write(es, dac + ES_SMPREG_INT_REGS, (es1371_src_read(es, dac + ES_SMPREG_INT_REGS) & 0x00ff) | ((freq >> 5) & 0xfc00)); es1371_src_write(es, dac + ES_SMPREG_VFREQ_FRAC, freq & 0x7fff); r = (es1371_wait_src_ready(es) & (ES1371_DIS_SRC | dis | ES1371_DIS_R1)); - es_wr(es, ES1371_REG_SMPRATE, r, 4); + es_wr4(es, ES1371_REG_SMPRATE, r); return (result); } @@ -1267,7 +1261,7 @@ uint32_t t, r; for (t = 0; t < 0x1000; t++) { - if (!((r = es_rd(es, ES1371_REG_SMPRATE, 4)) & + if (!((r = es_rd4(es, ES1371_REG_SMPRATE)) & ES1371_SRC_RAM_BUSY)) return (r); DELAY(1); @@ -1374,7 +1368,7 @@ dev = oidp->oid_arg1; es = pcm_getdevinfo(dev); ES_LOCK(es); - r = es_rd(es, ES1370_REG_STATUS, 4); + r = es_rd4(es, ES1370_REG_STATUS); ES_UNLOCK(es); new_en = (r & ENABLE_SPDIF) ? 1 : 0; err = sysctl_handle_int(oidp, &new_en, 0, req); @@ -1394,8 +1388,8 @@ es->ctrl &= ~SPDIFEN_B; es->ctrl &= ~RECEN_B; } - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); - es_wr(es, ES1370_REG_STATUS, r, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); + es_wr4(es, ES1370_REG_STATUS, r); ES_UNLOCK(es); return (0); @@ -1464,7 +1458,7 @@ es->ch[ES_ADC].caps.minspeed = val; es->ctrl &= ~CTRL_PCLKDIV; es->ctrl |= DAC2_SRTODIV(val) << CTRL_SH_PCLKDIV; - es_wr(es, ES1370_REG_CONTROL, es->ctrl, 4); + es_wr4(es, ES1370_REG_CONTROL, es->ctrl); } } else { es->escfg = ES_SET_FIXED_RATE(es->escfg, 0); @@ -1676,6 +1670,22 @@ #endif /* SND_DYNSYSCTL */ } +static void +es_destroy(device_t dev, struct es_info *es) +{ + if (!es) + return; + + if (es->parent_dmat) + bus_dma_tag_destroy(es->parent_dmat); + if (es->ih) + bus_teardown_intr(dev, es->res[RES_IRQ], es->ih); + bus_release_resources(dev, es->spec, es->res); + if (es->lock) + snd_mtxfree(es->lock); + free(es, M_DEVBUF); +} + static int es_pci_attach(device_t dev) { @@ -1698,29 +1708,22 @@ data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN); pci_write_config(dev, PCIR_COMMAND, data, 2); data = pci_read_config(dev, PCIR_COMMAND, 2); + if (mapped == 0 && (data & PCIM_CMD_MEMEN)) { - es->regid = MEM_MAP_REG; - es->regtype = SYS_RES_MEMORY; - es->reg = bus_alloc_resource_any(dev, es->regtype, &es->regid, - RF_ACTIVE); - if (es->reg) + es->spec = es_res_spec_mem; + if (bus_alloc_resources(dev, es->spec, es->res) == 0) mapped++; } if (mapped == 0 && (data & PCIM_CMD_PORTEN)) { - es->regid = PCIR_BAR(0); - es->regtype = SYS_RES_IOPORT; - es->reg = bus_alloc_resource_any(dev, es->regtype, &es->regid, - RF_ACTIVE); - if (es->reg) + es->spec = es_res_spec_io; + if (bus_alloc_resources(dev, es->spec, es->res) == 0) mapped++; - } + } if (mapped == 0) { device_printf(dev, "unable to map register space\n"); goto bad; } - es->st = rman_get_bustag(es->reg); - es->sh = rman_get_bushandle(es->reg); callout_init(&es->poll_timer, CALLOUT_MPSAFE); es->poll_ticks = 1; @@ -1815,10 +1818,7 @@ /* NOTREACHED */ } - es->irqid = 0; - es->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &es->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!es->irq || snd_setup_intr(dev, es->irq, INTR_MPSAFE, es_intr, + if (snd_setup_intr(dev, es->res[RES_IRQ], INTR_MPSAFE, es_intr, es, &es->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; @@ -1837,8 +1837,9 @@ } snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s", - (es->regtype == SYS_RES_IOPORT)? "io" : "memory", - rman_get_start(es->reg), rman_get_start(es->irq), + (es->spec == es_res_spec_io)? "io" : "memory", + rman_get_start(es->res[RES_MEM]), + rman_get_start(es->res[RES_IRQ]), PCM_KLDSTRING(snd_es137x)); if (pcm_register(dev, es, numplay, 1)) @@ -1858,20 +1859,10 @@ return (0); bad: - if (es->parent_dmat) - bus_dma_tag_destroy(es->parent_dmat); - if (es->ih) - bus_teardown_intr(dev, es->irq, es->ih); - if (es->irq) - bus_release_resource(dev, SYS_RES_IRQ, es->irqid, es->irq); if (codec) ac97_destroy(codec); - if (es->reg) - bus_release_resource(dev, es->regtype, es->regid, es->reg); - if (es->lock) - snd_mtxfree(es->lock); - if (es) - free(es, M_DEVBUF); + es_destroy(dev, es); + return (ENXIO); } @@ -1895,12 +1886,7 @@ callout_drain(&es->poll_timer); } - bus_teardown_intr(dev, es->irq, es->ih); - bus_release_resource(dev, SYS_RES_IRQ, es->irqid, es->irq); - bus_release_resource(dev, es->regtype, es->regid, es->reg); - bus_dma_tag_destroy(es->parent_dmat); - snd_mtxfree(es->lock); - free(es, M_DEVBUF); + es_destroy(dev, es); return (0); } From owner-p4-projects@FreeBSD.ORG Wed Jul 25 06:08:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B059716A420; Wed, 25 Jul 2007 06:08:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6A2A816A41A for ; Wed, 25 Jul 2007 06:08:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4899413C459 for ; Wed, 25 Jul 2007 06:08:28 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P68St9064408 for ; Wed, 25 Jul 2007 06:08:28 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P68Pva064405 for perforce@freebsd.org; Wed, 25 Jul 2007 06:08:25 GMT (envelope-from loafier@FreeBSD.org) Date: Wed, 25 Jul 2007 06:08:25 GMT Message-Id: <200707250608.l6P68Pva064405@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124067 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 06:08:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124067 Change 124067 by loafier@chrisdsoc on 2007/07/25 06:07:24 Integrate Affected files ... .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/faq/book.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/CHANGES#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/LEGAL#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/MOVED#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.apache.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.gnome.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.port.mk#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.xorg.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/dopackagestats#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/UPDATING#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/HISTORY#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/README#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/VERSION#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/audit/audit.8#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/audit/audit.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/audit_warn.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.8#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditreduce/auditreduce.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/config/config.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/configure#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/configure.ac#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/etc/audit_event#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/libbsm/au_control.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/libbsm/au_event.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/libbsm/audit_submit.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/libbsm/bsm_io.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/libbsm/bsm_token.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libc/net/sctp_sys_calls.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libc/stdlib/getenv.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libpam/modules/pam_lastlog/pam_lastlog.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/ncurses/config.mk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/ncurses/ncurses/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/libexec/getty/ttys.5#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sbin/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/auth_subr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/config.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/fsm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/iscontrol.8#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/iscontrol.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/iscontrol.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/login.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/misc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/pdu.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sbin/iscontrol/pdu.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/share/examples/kld/syscall/module/syscall.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/iscsi_initiator.4#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/udav.4#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/usb.4#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man7/ports.7#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man8/rc.8#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/mk/version_gen.awk#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/bsm/audit.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/bsm/audit_internal.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/bsm/audit_kevents.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/bsm/audit_record.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/NOTES#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/files#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/conf/options#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/acpica/acpi_hpet.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/firewire/firewire.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/firewire/firewirereg.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/msk/if_msk.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ral/rt2661.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/re/if_re.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_udav.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/usb_quirks.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/coda/coda_vfsops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/coda/coda_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_fat.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/isa/clock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/ia64/ia64/clock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_kse.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_rwlock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_thread.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/sched_ule.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/subr_clock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/tty.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/modules/Makefile#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/modules/iscsi/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_scan_sta.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/icmp_var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_icmp.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_input.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_output.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_pcb.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_pcb.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_structs.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_timer.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctp_usrreq.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctputil.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/sctputil.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet6/udp6_output.c#2 delete .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet6/udp6_usrreq.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet6/udp6_var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/pc98/cbus/clock.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/pci/if_rl.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/pci/if_rlreg.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/security/mac_mls/mac_mls.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/eeprom.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/rtc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/proc.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/rwlock.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/vm/vm_fault.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/environ/envctl.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/environ/envtest.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/environ/timings.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/locate/locate/locate.rc#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/su/su.1#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/tar/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/tar/getdate.y#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/tar/read.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.sbin/periodic/periodic.8#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/docs/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/docs/man.sgml#2 delete .. //depot/projects/soc2007/loafier_busalloc/www/en/internal/machines.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/search/site.map#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/search/web.atoz#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/navibar.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/zh_CN/includes.xsl#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/zh_CN/share/sgml/navibar.l10n.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/zh_TW/share/sgml/navibar.l10n.ent#2 integrate Differences ... ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/portbuild/article.sgml#2 (text+ko) ==== @@ -11,7 +11,7 @@ The &os; Ports Management Team - $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.17 2007/06/22 09:08:32 ceri Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/portbuild/article.sgml,v 1.19 2007/07/23 09:13:13 linimon Exp $ 2003 @@ -809,42 +809,85 @@ cdrom.sh before preparing the final package set for a release. - Packages can be copied to the staging area on + The package subdirectories are named by whether they are for + release, stable, or + current. Examples: + + + + packages-6.1-release + + + + packages-6.2-release + + + + packages-6-stable + + + + packages-7-current + + + + Some of the directories on + ftp-master are, in fact, symlinks. Examples: + + + + packages-stable + + + + packages-current + + + + Be sure + you move the new packages directory over the + real destination directory, and not + one of the symlinks that points to it. + + + If you are doing a completely new package set (e.g. for + a new release), copy packages to the staging area on ftp-master with something like the following: &prompt.root; cd /var/portbuild/${arch}/${branch} -&prompt.root; tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/${arch}/tmp/${branch} +&prompt.root; tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/${arch}/tmp/${subdir} Then log into ftp-master, verify that the package set was transferred successfully, remove the package set that the new package set is to replace (in ~/w/ports/${arch}), - and move the new set into place. + and move the new set into place. (w/ is + merely a shortcut.) - Some of the directories on - ftp-master are, in fact, symlinks. Be sure - you move the new packages directory over the - real destination directory, and not - one of the symlinks that points to it. - For incremental builds, packages should be uploaded using rsync so we do not put too much - strain on the mirrors: - - &prompt.root; rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/${arch}/${branch}/ | tee log + strain on the mirrors. - Distfiles can be transferred via - rsync: - - &prompt.root; cd /var/portbuild/${arch}/${branch} -&prompt.root; rsync -r -v -l -p -c -n distfiles/ portmgr@ftp-master:w/ports/distfiles/ | tee log - ALWAYS use -n first with rsync and check the output to make sure it is sane. If it looks good, re-run the rsync without the -n option. + + Example rsync command for incremental + package upload: + + &prompt.root; rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/${arch}/${subdir}/ | tee log + + Distfiles can also be transferred via + rsync: + + &prompt.root; cd /var/portbuild/${arch}/${branch} +&prompt.root; rsync -n -r -v -l -p -c -n distfiles/ portmgr@ftp-master:w/ports/distfiles/ | tee log + + Again, run the command without the -n + option after you have checked it. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/faq/book.sgml#3 (text+ko) ==== @@ -10,7 +10,7 @@ The FreeBSD Documentation Project - $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.802 2007/07/17 18:04:02 chinsan Exp $ + $FreeBSD: doc/en_US.ISO8859-1/books/faq/book.sgml,v 1.804 2007/07/23 16:49:01 chinsan Exp $ 1995 @@ -4329,33 +4329,19 @@ - http://www.scc.nl/~marcel/howto-oracle.html + url="http://www.unixcities.com/oracle/index.html"> + http://www.unixcities.com/oracle/index.html + url="http://www.shadowcom.net/freebsd-oracle9i/"> + http://www.shadowcom.net/freebsd-oracle9i/ - http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd - - - - - Are there any commercial web browsers available for &os;? - - - - Yes. Opera is a multi-platform web browser and is available for &os;. - See www.opera.com for details. - A version of Opera, paid for by banner ads, is also available in ports. - - - ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -4146,7 +4146,11 @@ Now you have to connect to that machine with &man.cu.1;: - &prompt.root; cu -l /dev/cuaa0 + &prompt.root; cu -l /dev/cuad0 + + On &os; 5.X, use + /dev/cuaa0 instead of + /dev/cuad0. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1260,42 +1260,6 @@ For further information see &man.portmanager.1;. - - - Upgrading Packages and Ports using Bpkg - - - bpkg - - - Bpkg is a simple yet powerful tool - written in &man.sh.1; by Andy Kosela. It was designed with the goal - to provide one universal tool for packages/ports management. - Bpkg can deal with binary packages - and ports, making it real useful for people who use both. It is - available from the ports-mgmt/bpkg - port: - - &prompt.root; cd /usr/ports/ports-mgmt/bpkg -&prompt.root; make install clean - - All the installed ports can be upgraded with interactive - mode using this simple command: - - &prompt.root; bpkg -a - - All the installed ports can be upgraded with non-interactive - mode using this simple command: - - &prompt.root; bpkg -A - - You can also display most recently installed packages: - - &prompt.user; bpkg -t | head - - For further information see - Bpkg's manual page. - ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ GNU_CONFIGURE=yes. If you want to give extra arguments to the configure script (the default argument is --prefix=${PREFIX} + --infodir=${PREFIX}/${INFO_PATH} + --mandir=${MANPREFIX}/man ${CONFIGURE_TARGET}), set those extra arguments in CONFIGURE_ARGS. Extra environment variables can be passed using ==== //depot/projects/soc2007/loafier_busalloc/ports/CHANGES#2 (text+ko) ==== @@ -10,6 +10,12 @@ All ports committers are allowed to commit to this file. +20070723: +AUTHOR: rafan@FreeBSD.org + + * The default CONFIGURE_ARGS when GNU_CONFIGURE is set now contains + --mandir and --infodir if configure script supports them. + 20070712: AUTHOR: maho@FreeBSD.org @@ -1366,4 +1372,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.74 2007/07/12 01:57:09 maho Exp $ +$FreeBSD: ports/CHANGES,v 1.75 2007/07/24 01:43:31 rafan Exp $ ==== //depot/projects/soc2007/loafier_busalloc/ports/LEGAL#2 (text+ko) ==== @@ -1,5 +1,5 @@ # Creator: Jordan Hubbard -# $FreeBSD: ports/LEGAL,v 1.542 2007/06/07 08:59:34 miwi Exp $ +# $FreeBSD: ports/LEGAL,v 1.543 2007/07/23 02:09:24 rafan Exp $ ********************************************************************** *** NOTE TO COMMITTERS *** @@ -226,7 +226,7 @@ distribution without permission fp-freebsd-ws-* security/f-prot Free for personal use only freefem++-* math/freefem++ No resale, not for commercial usage -framework-* security/metasploit-devel May not be re-sold +framework-* security/metasploit May not be re-sold freefonts-* x11-fonts/freefonts Some of the fonts are shareware. Some are freeware. Permission must be obtained ==== //depot/projects/soc2007/loafier_busalloc/ports/MOVED#3 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1426 2007/07/16 17:04:58 nobutaka Exp $ +# $FreeBSD: ports/MOVED,v 1.1430 2007/07/23 13:52:04 danfe Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3101,3 +3101,8 @@ devel/libslang2-devel||2007-07-11|Non-devel port have newer version graphics/hpoj||2007-07-14|Expired: project discontinued, please switch to print/hplip net/jffnms|net-mgmt/jffnms|2007-07-14|move to net-mgmt/jffnms +java/linux-blackdown-jdk13||2007-07-22|Expired: unfixed security vulnerability +devel/rx||2007-07-22|Expired: has been decommissioned and is no longer developed +security/metasploit-devel|security/metasploit|2007-07-23|move to security/metasploit +x11/nvidia-driver-7184|x11/nvidia-driver-71xx|2007-07-23|moved to x11/nvidia-driver-71xx +x11/nvidia-driver-9631|x11/nvidia-driver-96xx|2007-07-23|moved to x11/nvidia-driver-96xx ==== //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.apache.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.14 2007/06/28 15:50:53 pav Exp $ +# $FreeBSD: ports/Mk/bsd.apache.mk,v 1.16 2007/07/22 12:43:00 clement Exp $ # # bsd.apache.mk - Apache related macros. # Author: Clement Laforet @@ -15,8 +15,15 @@ # : 1.3/13/2.0/20/2.1/2.2/1.3+/2.0+/2.1+/2.2+ # common*: common13, common20, common21 and common22 # +# Note: Setting USE_APACHE to "yes" is deprecated. It will set +# APACHE_PORT to www/apache13 and if WITH_APACHE2 (deprecated too) +# is defined, APACHE_PORT will be set to www/apache20 # -# + +#.if !defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) + +Apache_Pre_Include= bsd.apache.mk + .if defined(APACHE_COMPAT) USE_APACHE=yes .endif @@ -303,13 +310,13 @@ APACHEMODDIR= libexec/apache2 APACHEINCLUDEDIR=include/apache2 APACHEETCDIR= etc/apache2 -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .elif ${APACHE_VERSION} >= 21 AP_BUILDEXT= la APACHEMODDIR= libexec/apache${APACHE_VERSION} APACHEINCLUDEDIR=include/apache${APACHE_VERSION} APACHEETCDIR= etc/apache${APACHE_VERSION} -APACHE_PORT= www/apache${APACHE_VERSION} +APACHE_PORT?= www/apache${APACHE_VERSION} .else AP_BUILDEXT= so APACHEMODDIR= libexec/apache @@ -346,6 +353,10 @@ .endif +#.endif #!defined(_POSTMKINCLUDED) && !defined(Apache_Pre_Include) +#.if defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) +Apache_Post_Include= bsd.apache.mk + .if defined(AP_PORT_IS_SERVER) .if !target(print-closest-mirrors) print-closest-mirrors: @@ -412,7 +423,6 @@ do-install: @${APXS} -i -A -n ${SHORTMODNAME} ${WRKSRC}/${MODULENAME}.${AP_BUILDEXT} .endif - .endif - .endif +#.endif # defined(_POSTMKINCLUDED) && !defined(Apache_Post_Include) ==== //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.gnome.mk#2 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.141 2007/06/28 16:02:48 pav Exp $ +# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.142 2007/07/23 09:35:27 rafan Exp $ # $NetBSD: $ # $MCom: ports/Mk/bsd.gnome.mk,v 1.414 2007/03/13 01:24:54 marcus Exp $ # @@ -116,8 +116,7 @@ --with-html-dir=${DESTDIR}${GNOME_HTML_DIR} \ --with-help-dir=${TARGETDIR}/share/gnome/help \ --disable-gtk-doc \ - --with-gconf-source=${GCONF_CONFIG_SOURCE} \ - --mandir=${PREFIX}/man + --with-gconf-source=${GCONF_CONFIG_SOURCE} gnomeprefix_USE_GNOME_IMPL=gnomehier .if !defined(WITHOUT_HACK) gnomeprefix_PREFIX=${LOCALBASE} ==== //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.port.mk#3 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.575 2007/07/16 10:12:03 lofi Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.576 2007/07/23 09:35:27 rafan Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -659,7 +659,8 @@ # Set the following to specify all .info files your port installs. # # INFO - A list of .info files (omitting the trailing ".info"); -# only one entry per document! +# only one entry per document! These files are listed in +# the path relative to ${INFO_PATH}. # INFO_PATH - Path, where all .info files will be installed by your # port, relative to ${PREFIX} # Default: "share/info" if ${PREFIX} is equal to /usr @@ -889,7 +890,8 @@ # Default: ${ARCH}-portbld-freebsd${OSREL} # CONFIGURE_ARGS # - Pass these args to configure if ${HAS_CONFIGURE} is set. -# Default: "--prefix=${PREFIX} ${CONFIGURE_TARGET}" if +# Default: "--prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} +# --mandir=${MANPREFIX}/man ${CONFIGURE_TARGET}" if # GNU_CONFIGURE is set, "CC=${CC} CCFLAGS=${CFLAGS} # PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib # INSTALLARCHLIB=${PREFIX}/lib" if PERL_CONFIGURE is set, @@ -2977,9 +2979,18 @@ .if !defined(CONFIGURE_MAX_CMD_LEN) CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax .endif -CONFIGURE_ARGS+= --prefix=${PREFIX} ${CONFIGURE_TARGET} +CONFIGURE_ARGS+= --prefix=${PREFIX} $${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET} CONFIGURE_ENV+= lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN} HAS_CONFIGURE= yes + +SET_LATE_CONFIGURE_ARGS= \ + _LATE_CONFIGURE_ARGS="" ; \ + if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${MANPREFIX}/man" ; \ + fi ; \ + if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \ + fi ; .endif # Passed to most of script invocations @@ -3109,6 +3120,20 @@ INFO_PATH?= info .endif +.if defined(INFO) +. for D in ${INFO:H} +RD:= ${D} +. if ${RD} != "." +. if !defined(INFO_SUBDIR) +INFO_SUBDIR:= ${RD} +. elif ${INFO_SUBDIR} != ${RD} +BROKEN= only one subdirectory in INFO is allowed +. endif +. endif +.undef RD +. endfor +.endif + DOCSDIR_REL?= ${DOCSDIR:S,^${TARGETDIR}/,,} EXAMPLESDIR_REL?= ${EXAMPLESDIR:S,^${TARGETDIR}/,,} DATADIR_REL?= ${DATADIR:S,^${TARGETDIR}/,,} @@ -3723,6 +3748,7 @@ .endif .if defined(HAS_CONFIGURE) @(cd ${CONFIGURE_WRKSRC} && \ + ${SET_LATE_CONFIGURE_ARGS} \ if ! ${SETENV} CC="${CC}" CXX="${CXX}" \ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \ @@ -5859,14 +5885,14 @@ @${LS} ${TARGETDIR}/${INFO_PATH}/$i.info* | ${SED} -e s:${TARGETDIR}/::g >> ${TMPPLIST} @${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} - @if [ "`${DIRNAME} $i`" != "." ]; then \ - ${ECHO_CMD} "@unexec ${RMDIR} %D/info/`${DIRNAME} $i` 2> /dev/null || true" >> ${TMPPLIST}; \ - fi .endfor +.if defined(INFO_SUBDIR) + @${ECHO_CMD} "@unexec ${RMDIR} %D/${INFO_PATH}/${INFO_SUBDIR} 2> /dev/null || true" >> ${TMPPLIST} +.endif .if (${PREFIX} != "/usr") @${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST} .if (${PREFIX} != ${LOCALBASE_REL} && ${PREFIX} != ${X11BASE_REL} && ${PREFIX} != ${LINUXBASE_REL}) - @${ECHO_CMD} "@unexec rmdir %D/info 2> /dev/null || true" >> ${TMPPLIST} + @${ECHO_CMD} "@unexec rmdir %D/${INFO_PATH} 2>/dev/null || true" >> ${TMPPLIST} .endif .endif .endif ==== //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.xorg.mk#2 (text+ko) ==== @@ -13,7 +13,7 @@ # # !!! Here be dragons !!! (yeah, here as well...) # -# $FreeBSD: ports/Mk/bsd.xorg.mk,v 1.1 2007/05/19 19:57:27 flz Exp $ +# $FreeBSD: ports/Mk/bsd.xorg.mk,v 1.2 2007/07/23 09:35:27 rafan Exp $ # XORG_Include_MAINTAINER= x11@FreeBSD.org @@ -42,8 +42,6 @@ MASTER_SITES?= ${MASTER_SITE_XORG} MASTER_SITE_SUBDIR?= individual/${XORG_CAT} -CONFIGURE_ARGS+= --mandir="${PREFIX}/man/" - . if ${XORG_CAT} == "app" USE_GNOME+= pkgconfig . endif ==== //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/dopackagestats#2 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $FreeBSD: ports/Tools/portbuild/scripts/dopackagestats,v 1.17 2007/03/23 05:49:49 linimon Exp $ +# $FreeBSD: ports/Tools/portbuild/scripts/dopackagestats,v 1.18 2007/07/22 04:36:49 linimon Exp $ # # create HTML showing numbers of packages vs errors. Run this in a directory # accessible to the web server. @@ -228,7 +228,8 @@ # display all the mainstream builds first for arch in ${SUPPORTED_ARCHS}; do - builds=`ls ${ROOT_DIRECTORY}/${arch} | grep '^[1-9]$' | sort` + # drop 4 as obsolete + builds=`ls ${ROOT_DIRECTORY}/${arch} | grep '^[5-9]$' | sort` if [ ! -z "$builds" ]; then write_table_begin ==== //depot/projects/soc2007/loafier_busalloc/ports/UPDATING#3 (text+ko) ==== @@ -6,9 +6,19 @@ time you update your ports collection, before attempting any port upgrades. +20070723: + AFFECTS: users of x11/nvidia-driver and slave ports + AUTHOR: danfe@FreeBSD.org + + NVVERSION is no longer user settable variable, it's derived from + DISTVERSION from now on. If you used nvidia-driver port with custom + NVVERSION, it's time to switch to corresponding legacy driver version + port. They were renamed in order to stop hardcoding explicit version + numbers in their [directory] names. + 20070718: AFFECTS: users of devel/llvm - AUTHOR: brooks@freebsd.org + AUTHOR: brooks@FreeBSD.org The llvm bytecode and .ll formats have changed as have numerious internal APIs. Existing users should consult the release notes. @@ -51,7 +61,7 @@ 20070704: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The media kioslave now mounts all filesystems that support charset conversion with charset conversion turned on, set to the locale from the user's @@ -539,7 +549,7 @@ 20070313: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The HAL option has been turned on by default and the fstabbackend patches which have kept the fstab backend for the media kioslave @@ -671,7 +681,7 @@ 20070210: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The media kioslave now mounts cdrom/dvd volumes with local charset conversion (mount_cd9660 -C ), which requires the cd9660_iconv @@ -1044,7 +1054,7 @@ 20061109 AFFECTS: users of milter-bogom, dk-milter, dkim-milter - AUTHOR: ache@freebsd.org + AUTHOR: ache@FreeBSD.org All 3 milters change their default user to "mailnull". @@ -1349,7 +1359,7 @@ 20060902: AFFECTS: users of japanese/uim-anthy and japanese/uim-canna - AUTHOR: nobutaka@freebsd.org + AUTHOR: nobutaka@FreeBSD.org Input modes for uim-anthy and uim-canna are reorganized since version 1.2.0. Please re-configure the following keybindings with uim-pref. @@ -1736,7 +1746,7 @@ 20060622: AFFECTS: users of www/dokuwiki - AUTHOR: miwi@freebsd.org + AUTHOR: miwi@FreeBSD.org The default install location has changed from ${PREFIX}/www/data/dokuwiki to ${PREFIX}/www/dokuwiki. @@ -2177,7 +2187,7 @@ 20060330: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The genkdmconf.sh rc-script has been removed in favor of a kdm wrapper script, which now handles both launching kdm and automatically updating or @@ -5436,4 +5446,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.527 2007/07/19 14:52:17 flz Exp $ +$FreeBSD: ports/UPDATING,v 1.529 2007/07/23 13:56:16 danfe Exp $ ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/HISTORY#2 (text) ==== @@ -1,3 +1,14 @@ +OpenBSM 1.0 alpha 15 + +- Fix bug when processing in_addr_ex tokens. +- Restore the behavior of printing the string/text specified while + auditing arg32 tokens. +- Synchronized audit event list to Solaris, picking up the *at(2) system call + definitions, now required for FreeBSD and Linux. Added additional events + for *at(2) system calls not present in Solaris. +- Bugs in auditreduce(8) fixed allowing partial date strings to be used in + filtering events. + OpenBSM 1.0 alpha 14 - Fix endian issues when processing IPv6 addresses for extended subject @@ -284,4 +295,4 @@ to support reloading of kernel event table. - Allow comments in /etc/security configuration files. -$P4: //depot/projects/trustedbsd/openbsm/HISTORY#50 $ +$P4: //depot/projects/trustedbsd/openbsm/HISTORY#55 $ ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/README#2 (text) ==== @@ -89,6 +89,7 @@ Ruslan Ermilov Martin Voros Diego Giagio + Alex Samorukov In addition, Coverity, Inc.'s Prevent(tm) static analysis tool and Gimpel Software's FlexeLint tool were used to identify a number of bugs in the @@ -110,4 +111,4 @@ http://www.TrustedBSD.org/ -$P4: //depot/projects/trustedbsd/openbsm/README#23 $ +$P4: //depot/projects/trustedbsd/openbsm/README#24 $ ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/VERSION#2 (text) ==== @@ -1,1 +1,1 @@ -OPENBSM_1_0_ALPHA_14 +OPENBSM_1_0_ALPHA_15 ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/audit/audit.8#2 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#9 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.8#10 $ .\" .Dd October 2, 2006 .Dt AUDIT 8 ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/audit/audit.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/audit/audit.c#8 $ */ /* * Program to trigger the audit daemon with a message that is either: ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/audit_warn.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#7 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/audit_warn.c#8 $ */ #include ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.8#2 (text) ==== @@ -1,8 +1,6 @@ .\" Copyright (c) 2004 Apple Computer, Inc. .\" All rights reserved. .\" -.\" @APPLE_BSD_LICENSE_HEADER_START@ -.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -27,9 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" @APPLE_BSD_LICENSE_HEADER_END@ -.\" -.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#12 $ +.\" $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.8#13 $ .\" .Dd October 2, 2006 .Dt AUDITD 8 ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.c#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2004 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#25 $ + * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.c#26 $ */ #include ==== //depot/projects/soc2007/loafier_busalloc/src/contrib/openbsm/bin/auditd/auditd.h#2 (text) ==== @@ -2,8 +2,6 @@ * Copyright (c) 2005 Apple Computer, Inc. * All rights reserved. * - * @APPLE_BSD_LICENSE_HEADER_START@ - * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -28,9 +26,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * @APPLE_BSD_LICENSE_HEADER_END@ - * - * $P4: //depot/projects/trustedbsd/openbsm/bin/auditd/auditd.h#7 $ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 25 07:43:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C1D0316A421; Wed, 25 Jul 2007 07:43:26 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 984EE16A41A for ; Wed, 25 Jul 2007 07:43:26 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7089213C4CB for ; Wed, 25 Jul 2007 07:43:26 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P7hQuw071456 for ; Wed, 25 Jul 2007 07:43:26 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P7hQJV071453 for perforce@freebsd.org; Wed, 25 Jul 2007 07:43:26 GMT (envelope-from gabor@freebsd.org) Date: Wed, 25 Jul 2007 07:43:26 GMT Message-Id: <200707250743.l6P7hQJV071453@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124071 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 07:43:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=124071 Change 124071 by gabor@gabor_server on 2007/07/25 07:43:20 - Add skeleton for post-chroot, otherwise the chrooted install fails Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#36 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#36 (text+ko) ==== @@ -4088,6 +4088,11 @@ _PACKAGE_SEQ= package-message pre-package pre-package-script \ do-package post-package-script +.if !target(post-chroot) +post-chroot: + @${DO_NADA} +.endif + .if !target(check-sanity) check-sanity: ${_SANITY_SEQ} .endif From owner-p4-projects@FreeBSD.ORG Wed Jul 25 07:52:40 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ABC7416A41F; Wed, 25 Jul 2007 07:52:39 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 79AE416A417 for ; Wed, 25 Jul 2007 07:52:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6A0A713C483 for ; Wed, 25 Jul 2007 07:52:39 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P7qdwH071966 for ; Wed, 25 Jul 2007 07:52:39 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P7qc2B071963 for perforce@freebsd.org; Wed, 25 Jul 2007 07:52:38 GMT (envelope-from gabor@freebsd.org) Date: Wed, 25 Jul 2007 07:52:38 GMT Message-Id: <200707250752.l6P7qc2B071963@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124072 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 07:52:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=124072 Change 124072 by gabor@gabor_server on 2007/07/25 07:51:48 - Cosmetics and canonalization Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#27 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#27 (text+ko) ==== @@ -94,19 +94,19 @@ do-chroot: @if [ "${WITH_EXPERIMENTAL_DESTDIR}" = "no" ]; then \ ${ECHO_CMD} "===> DESTDIR is experimental, set WITH_EXPERIMENTAL_DESTDIR"; \ - ${ECHO_CMD} "===> if you want to use it."; \ + ${ECHO_CMD} "===> if you want to use it."; \ exit 0; \ fi; \ if [ ! -d ${DESTDIR} ]; then \ ${ECHO_MSG} "===> Directory ${DESTDIR} does not exist"; \ - ${ECHO_MSG} "=> Please set DESTDIR to a valid jail environment."; \ + ${ECHO_MSG} "===> Please set DESTDIR to a valid jail environment."; \ exit 1; \ fi; \ - _destdir=`realpath ${DESTDIR}`; \ + _destdir=`${REALPATH} ${DESTDIR}`; \ _mounted_entries_list=""; \ _created_mountpoints_list=""; \ _var_path_list=""; \ - ${ECHO_MSG} "===> Creating some important subdirectories"; \ + ${ECHO_MSG} "===> Creating some important subdirectories"; \ for _dir in tmp dev; do \ [ -d $${_destdir}/$${_dir} ] || \ if ${MKDIR} $${_destdir}/$${_dir}; then \ @@ -119,12 +119,12 @@ done; \ ${ECHO_MSG} "_DESTDIR_MOUNT_LIST=${_DESTDIR_MOUNT_LIST}"; \ for _entry in ${_DESTDIR_MOUNT_LIST}; do \ - ${ECHO_MSG} "==> Processing $${_entry}"; \ + ${ECHO_MSG} "===> Processing $${_entry}"; \ _mount_var=$${_entry%%:*}; \ _tp=$${_entry#*:}; \ - _host_path=`realpath $${_tp%:*}`; \ + _host_path=`${REALPATH} $${_tp%:*}`; \ _dest_path=$${_entry##*:}; \ - _full_dest_path=`realpath $${_destdir}/$${_dest_path}`; \ + _full_dest_path=`${REALPATH} $${_destdir}/$${_dest_path}`; \ _entry_was_created=0; \ _entry_should_mount=0; \ ${ECHO_CMD} "$${_mount_var}:$${_host_path}:$${_full_dest_path}"; \ From owner-p4-projects@FreeBSD.ORG Wed Jul 25 08:02:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DAA116A41F; Wed, 25 Jul 2007 08:02:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE30816A419 for ; Wed, 25 Jul 2007 08:02:52 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BE4FE13C48D for ; Wed, 25 Jul 2007 08:02:52 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P82qXj072573 for ; Wed, 25 Jul 2007 08:02:52 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P82qbe072570 for perforce@freebsd.org; Wed, 25 Jul 2007 08:02:52 GMT (envelope-from gabor@freebsd.org) Date: Wed, 25 Jul 2007 08:02:52 GMT Message-Id: <200707250802.l6P82qbe072570@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124073 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 08:02:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=124073 Change 124073 by gabor@gabor_server on 2007/07/25 08:02:17 - Document DESTDIR_MOUNT_LIST Affected files ... .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#28 edit Differences ... ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.destdir.mk#28 (text+ko) ==== @@ -38,6 +38,24 @@ # along with their values. # Default: empty. # +# DESTDIR_MOUNT_LIST +# - Contains the directories to mount into the +# destination. This is to make PORTSDIR, DISTDIR, etc. +# available in the destination environment. Three +# forms of entries are allowed: +# VAR +# - Mounts the path contained by VAR into +# a temporary directory and sets VAR to that +# directory in the destination environ(7). +# VAR:HOST_PATH +# - Mounts HOST_PATH to a a temporary directory +# and sets VAR to that directory in the +# destination environ(7). +# VAR:HOST_PATH:DEST_PATH +# - Mounts HOST_PATH to DEST_PATH and sets VAR +# to DEST_PATH in the destination environ(7). +# Default: PORTSDIR DISTDIR +# # You can use something like this in host /etc/make.conf to # customize per-chroot environment: # .if ${DESTDIR}=/foo/bar From owner-p4-projects@FreeBSD.ORG Wed Jul 25 08:18:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 53AB016A41A; Wed, 25 Jul 2007 08:18:12 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2741916A468 for ; Wed, 25 Jul 2007 08:18:12 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 15BAA13C457 for ; Wed, 25 Jul 2007 08:18:12 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P8IBTI074608 for ; Wed, 25 Jul 2007 08:18:11 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P8IBep074605 for perforce@freebsd.org; Wed, 25 Jul 2007 08:18:11 GMT (envelope-from gabor@freebsd.org) Date: Wed, 25 Jul 2007 08:18:11 GMT Message-Id: <200707250818.l6P8IBep074605@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124074 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 08:18:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=124074 Change 124074 by gabor@gabor_server on 2007/07/25 08:17:51 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/CHANGES#10 integrate .. //depot/projects/soc2006/gabor_destdir/MOVED#13 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnome.mk#7 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#37 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.xorg.mk#2 integrate .. //depot/projects/soc2006/gabor_destdir/UPDATING#11 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/CHANGES#10 (text+ko) ==== @@ -10,6 +10,12 @@ All ports committers are allowed to commit to this file. +20070723: +AUTHOR: rafan@FreeBSD.org + + * The default CONFIGURE_ARGS when GNU_CONFIGURE is set now contains + --mandir and --infodir if configure script supports them. + 20070712: AUTHOR: maho@FreeBSD.org @@ -1366,4 +1372,4 @@ Contact Erwin Lansing if you have any questions about your use of this document. -$FreeBSD: ports/CHANGES,v 1.74 2007/07/12 01:57:09 maho Exp $ +$FreeBSD: ports/CHANGES,v 1.75 2007/07/24 01:43:31 rafan Exp $ ==== //depot/projects/soc2006/gabor_destdir/MOVED#13 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1429 2007/07/23 02:11:21 rafan Exp $ +# $FreeBSD: ports/MOVED,v 1.1430 2007/07/23 13:52:04 danfe Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -3104,3 +3104,5 @@ java/linux-blackdown-jdk13||2007-07-22|Expired: unfixed security vulnerability devel/rx||2007-07-22|Expired: has been decommissioned and is no longer developed security/metasploit-devel|security/metasploit|2007-07-23|move to security/metasploit +x11/nvidia-driver-7184|x11/nvidia-driver-71xx|2007-07-23|moved to x11/nvidia-driver-71xx +x11/nvidia-driver-9631|x11/nvidia-driver-96xx|2007-07-23|moved to x11/nvidia-driver-96xx ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.gnome.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: Fundamental; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.141 2007/06/28 16:02:48 pav Exp $ +# $FreeBSD: ports/Mk/bsd.gnome.mk,v 1.142 2007/07/23 09:35:27 rafan Exp $ # $NetBSD: $ # $MCom: ports/Mk/bsd.gnome.mk,v 1.414 2007/03/13 01:24:54 marcus Exp $ # @@ -116,8 +116,7 @@ --with-html-dir=${GNOME_HTML_DIR} \ --with-help-dir=${PREFIX}/share/gnome/help \ --disable-gtk-doc \ - --with-gconf-source=${GCONF_CONFIG_SOURCE} \ - --mandir=${PREFIX}/man + --with-gconf-source=${GCONF_CONFIG_SOURCE} gnomeprefix_USE_GNOME_IMPL=gnomehier .if !defined(WITHOUT_HACK) gnomeprefix_PREFIX=${LOCALBASE} ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#37 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.575 2007/07/16 10:12:03 lofi Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.576 2007/07/23 09:35:27 rafan Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -636,7 +636,8 @@ # Set the following to specify all .info files your port installs. # # INFO - A list of .info files (omitting the trailing ".info"); -# only one entry per document! +# only one entry per document! These files are listed in +# the path relative to ${INFO_PATH}. # INFO_PATH - Path, where all .info files will be installed by your # port, relative to ${PREFIX} # Default: "share/info" if ${PREFIX} is equal to /usr @@ -866,7 +867,8 @@ # Default: ${ARCH}-portbld-freebsd${OSREL} # CONFIGURE_ARGS # - Pass these args to configure if ${HAS_CONFIGURE} is set. -# Default: "--prefix=${PREFIX} ${CONFIGURE_TARGET}" if +# Default: "--prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} +# --mandir=${MANPREFIX}/man ${CONFIGURE_TARGET}" if # GNU_CONFIGURE is set, "CC=${CC} CCFLAGS=${CFLAGS} # PREFIX=${PREFIX} INSTALLPRIVLIB=${PREFIX}/lib # INSTALLARCHLIB=${PREFIX}/lib" if PERL_CONFIGURE is set, @@ -2834,9 +2836,18 @@ .if !defined(CONFIGURE_MAX_CMD_LEN) CONFIGURE_MAX_CMD_LEN!= ${SYSCTL} -n kern.argmax .endif -CONFIGURE_ARGS+= --prefix=${PREFIX} ${CONFIGURE_TARGET} +CONFIGURE_ARGS+= --prefix=${PREFIX} $${_LATE_CONFIGURE_ARGS} ${CONFIGURE_TARGET} CONFIGURE_ENV+= lt_cv_sys_max_cmd_len=${CONFIGURE_MAX_CMD_LEN} HAS_CONFIGURE= yes + +SET_LATE_CONFIGURE_ARGS= \ + _LATE_CONFIGURE_ARGS="" ; \ + if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--mandir'`" ]; then \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --mandir=${MANPREFIX}/man" ; \ + fi ; \ + if [ ! -z "`./${CONFIGURE_SCRIPT} --help 2>&1 | ${GREP} -- '--infodir'`" ]; then \ + _LATE_CONFIGURE_ARGS="$${_LATE_CONFIGURE_ARGS} --infodir=${PREFIX}/${INFO_PATH}/${INFO_SUBDIR}" ; \ + fi ; .endif # Passed to most of script invocations @@ -2966,6 +2977,20 @@ INFO_PATH?= info .endif +.if defined(INFO) +. for D in ${INFO:H} +RD:= ${D} +. if ${RD} != "." +. if !defined(INFO_SUBDIR) +INFO_SUBDIR:= ${RD} +. elif ${INFO_SUBDIR} != ${RD} +BROKEN= only one subdirectory in INFO is allowed +. endif +. endif +.undef RD +. endfor +.endif + DOCSDIR_REL?= ${DOCSDIR:S,^${PREFIX}/,,} EXAMPLESDIR_REL?= ${EXAMPLESDIR:S,^${PREFIX}/,,} DATADIR_REL?= ${DATADIR:S,^${PREFIX}/,,} @@ -3580,6 +3605,7 @@ .endif .if defined(HAS_CONFIGURE) @(cd ${CONFIGURE_WRKSRC} && \ + ${SET_LATE_CONFIGURE_ARGS} \ if ! ${SETENV} CC="${CC}" CXX="${CXX}" \ CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \ @@ -5578,14 +5604,14 @@ @${LS} ${PREFIX}/${INFO_PATH}/$i.info* | ${SED} -e s:${PREFIX}/::g >> ${TMPPLIST} @${ECHO_CMD} "@exec install-info --quiet %D/${INFO_PATH}/$i.info %D/${INFO_PATH}/dir" \ >> ${TMPPLIST} - @if [ "`${DIRNAME} $i`" != "." ]; then \ - ${ECHO_CMD} "@unexec ${RMDIR} %D/info/`${DIRNAME} $i` 2> /dev/null || true" >> ${TMPPLIST}; \ - fi .endfor +.if defined(INFO_SUBDIR) + @${ECHO_CMD} "@unexec ${RMDIR} %D/${INFO_PATH}/${INFO_SUBDIR} 2> /dev/null || true" >> ${TMPPLIST} +.endif .if (${PREFIX} != "/usr") @${ECHO_CMD} "@unexec if [ -f %D/${INFO_PATH}/dir ]; then if sed -e '1,/Menu:/d' %D/${INFO_PATH}/dir | grep -q '^[*] '; then true; else rm %D/${INFO_PATH}/dir; fi; fi" >> ${TMPPLIST} .if (${PREFIX} != ${LOCALBASE} && ${PREFIX} != ${X11BASE} && ${PREFIX} != ${LINUXBASE}) - @${ECHO_CMD} "@unexec rmdir %D/info 2> /dev/null || true" >> ${TMPPLIST} + @${ECHO_CMD} "@unexec rmdir %D/${INFO_PATH} 2>/dev/null || true" >> ${TMPPLIST} .endif .endif .endif ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.xorg.mk#2 (text+ko) ==== @@ -13,7 +13,7 @@ # # !!! Here be dragons !!! (yeah, here as well...) # -# $FreeBSD: ports/Mk/bsd.xorg.mk,v 1.1 2007/05/19 19:57:27 flz Exp $ +# $FreeBSD: ports/Mk/bsd.xorg.mk,v 1.2 2007/07/23 09:35:27 rafan Exp $ # XORG_Include_MAINTAINER= x11@FreeBSD.org @@ -42,8 +42,6 @@ MASTER_SITES?= ${MASTER_SITE_XORG} MASTER_SITE_SUBDIR?= individual/${XORG_CAT} -CONFIGURE_ARGS+= --mandir="${PREFIX}/man/" - . if ${XORG_CAT} == "app" USE_GNOME+= pkgconfig . endif ==== //depot/projects/soc2006/gabor_destdir/UPDATING#11 (text+ko) ==== @@ -6,9 +6,19 @@ time you update your ports collection, before attempting any port upgrades. +20070723: + AFFECTS: users of x11/nvidia-driver and slave ports + AUTHOR: danfe@FreeBSD.org + + NVVERSION is no longer user settable variable, it's derived from + DISTVERSION from now on. If you used nvidia-driver port with custom + NVVERSION, it's time to switch to corresponding legacy driver version + port. They were renamed in order to stop hardcoding explicit version + numbers in their [directory] names. + 20070718: AFFECTS: users of devel/llvm - AUTHOR: brooks@freebsd.org + AUTHOR: brooks@FreeBSD.org The llvm bytecode and .ll formats have changed as have numerious internal APIs. Existing users should consult the release notes. @@ -51,7 +61,7 @@ 20070704: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The media kioslave now mounts all filesystems that support charset conversion with charset conversion turned on, set to the locale from the user's @@ -539,7 +549,7 @@ 20070313: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The HAL option has been turned on by default and the fstabbackend patches which have kept the fstab backend for the media kioslave @@ -671,7 +681,7 @@ 20070210: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The media kioslave now mounts cdrom/dvd volumes with local charset conversion (mount_cd9660 -C ), which requires the cd9660_iconv @@ -1044,7 +1054,7 @@ 20061109 AFFECTS: users of milter-bogom, dk-milter, dkim-milter - AUTHOR: ache@freebsd.org + AUTHOR: ache@FreeBSD.org All 3 milters change their default user to "mailnull". @@ -1349,7 +1359,7 @@ 20060902: AFFECTS: users of japanese/uim-anthy and japanese/uim-canna - AUTHOR: nobutaka@freebsd.org + AUTHOR: nobutaka@FreeBSD.org Input modes for uim-anthy and uim-canna are reorganized since version 1.2.0. Please re-configure the following keybindings with uim-pref. @@ -1736,7 +1746,7 @@ 20060622: AFFECTS: users of www/dokuwiki - AUTHOR: miwi@freebsd.org + AUTHOR: miwi@FreeBSD.org The default install location has changed from ${PREFIX}/www/data/dokuwiki to ${PREFIX}/www/dokuwiki. @@ -2177,7 +2187,7 @@ 20060330: AFFECTS: users of x11/kdebase3 - AUTHOR: kde@freebsd.org + AUTHOR: kde@FreeBSD.org The genkdmconf.sh rc-script has been removed in favor of a kdm wrapper script, which now handles both launching kdm and automatically updating or @@ -5436,4 +5446,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.527 2007/07/19 14:52:17 flz Exp $ +$FreeBSD: ports/UPDATING,v 1.529 2007/07/23 13:56:16 danfe Exp $ From owner-p4-projects@FreeBSD.ORG Wed Jul 25 09:16:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D855A16A421; Wed, 25 Jul 2007 09:16:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88D4116A41B for ; Wed, 25 Jul 2007 09:16:31 +0000 (UTC) (envelope-from rink@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7559413C45A for ; Wed, 25 Jul 2007 09:16:31 +0000 (UTC) (envelope-from rink@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6P9GVD3088009 for ; Wed, 25 Jul 2007 09:16:31 GMT (envelope-from rink@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6P9GVVT088006 for perforce@freebsd.org; Wed, 25 Jul 2007 09:16:31 GMT (envelope-from rink@FreeBSD.org) Date: Wed, 25 Jul 2007 09:16:31 GMT Message-Id: <200707250916.l6P9GVVT088006@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rink@FreeBSD.org using -f From: Rink Springer To: Perforce Change Reviews Cc: Subject: PERFORCE change 124077 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 09:16:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=124077 Change 124077 by rink@rink_pitchfork2 on 2007/07/25 09:16:27 First set of fixed for GCC 4. This includes massive changes to the paging initalization code (it's a lot more like NetBSD now). Futhermore, avoid polluting i386/i386/locore.S and ship our own file (the changes to i386/i38/locore.S will be reversted) Affected files ... .. //depot/projects/xen3/src/sys/conf/files.i386-xen#9 edit .. //depot/projects/xen3/src/sys/i386-xen/i386-xen/locore.s#1 add .. //depot/projects/xen3/src/sys/i386-xen/i386-xen/xen_machdep.c#18 edit .. //depot/projects/xen3/src/sys/i386-xen/include/xenvar.h#9 edit .. //depot/projects/xen3/src/sys/i386/i386/locore.s#4 edit Differences ... ==== //depot/projects/xen3/src/sys/conf/files.i386-xen#9 (text+ko) ==== @@ -279,7 +279,7 @@ i386/i386/k6_mem.c optional mem i386/i386/legacy.c standard i386/i386/local_apic.c optional apic -i386/i386/locore.s standard no-obj +i386-xen/i386-xen/locore.s standard no-obj i386/i386/longrun.c optional cpu_enable_longrun i386-xen/i386-xen/machdep.c standard i386/i386/mem.c optional mem ==== //depot/projects/xen3/src/sys/i386-xen/i386-xen/xen_machdep.c#18 (text+ko) ==== @@ -72,10 +72,9 @@ shared_info_t *HYPERVISOR_shared_info; unsigned long *xen_machine_phys = ((unsigned long *)VADDR(1008, 0)); unsigned long *xen_phys_machine; -int preemptable; -int init_first; +int preemptable, init_first; +extern unsigned int avail_space; - void ni_cli(void); void ni_sti(void); @@ -314,6 +313,7 @@ struct mmuext_op op; op.cmd = MMUEXT_PIN_L1_TABLE; op.arg1.mfn = ma >> PAGE_SHIFT; + printk("xen_pt_pin(): mfn=%x\n", op.arg1.mfn); xen_flush_queue(); PANIC_IF(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } @@ -583,6 +583,52 @@ bootmem_current -= size; } +static vm_paddr_t +xpmap_mtop2(vm_paddr_t mpa) +{ + return ((machine_to_phys_mapping[mpa >> PAGE_SHIFT] << PAGE_SHIFT) + ) | (mpa & ~PG_FRAME); +} + +static pd_entry_t +xpmap_get_bootpde(vm_paddr_t va) +{ + + return ((pd_entry_t *)xen_start_info->pt_base)[va >> 22]; +} + +static pd_entry_t +xpmap_get_vbootpde(vm_paddr_t va) +{ + pd_entry_t pde; + + pde = xpmap_get_bootpde(va); + if ((pde & PG_V) == 0) + return (pde & ~PG_FRAME); + return (pde & ~PG_FRAME) | + (xpmap_mtop2(pde & PG_FRAME) + KERNBASE); +} + +static pt_entry_t * +xpmap_get_bootptep(vm_paddr_t va) +{ + pd_entry_t pde; + + pde = xpmap_get_vbootpde(va); + if ((pde & PG_V) == 0) + return (void *)-1; +#define PT_MASK 0x003ff000 /* page table address bits */ + return &(((pt_entry_t *)(pde & PG_FRAME))[(va & PT_MASK) >> PAGE_SHIFT]); +} + +static pt_entry_t +xpmap_get_bootpte(vm_paddr_t va) +{ + + return xpmap_get_bootptep(va)[0]; +} + + static vm_offset_t *pdir_shadow; #ifdef ADD_ISA_HOLE @@ -614,9 +660,6 @@ for (i = 0; i < nr_pages; i++) { xen_machphys_update(phys_machine[i], i); } - - - memset(phys_machine, INVALID_P2M_ENTRY, PAGE_SIZE); } @@ -625,16 +668,13 @@ void initvalues(start_info_t *startinfo) { - int i, round_tmpindex; + int i; + unsigned int cur_space = avail_space; vm_paddr_t pdir_shadow_ma, KPTphys, *IdlePTDma; physdev_op_t op; -#ifdef SMP - int j; -#endif + printk("initvalues(): wooh - availmem=%x,%x\n",avail_space, cur_space); - printk("initvalues(): wooh\n"); - #ifdef WRITABLE_PAGETABLES printk("using writable pagetables\n"); HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_writable_pagetables); @@ -644,14 +684,13 @@ xen_phys_machine = (unsigned long *)startinfo->mfn_list; /* number of pages allocated after the pts + 1*/; - unsigned long tmpindex = (VTOPFN(xen_start_info->pt_base) + xen_start_info->nr_pt_frames) + 3; - printk("KERNBASE=%x,pt_base=%x, VTOPFN(base)=%x, nr_pt_frames=%x, initial tmpindex = %x\n", KERNBASE,xen_start_info->pt_base, VTOPFN(xen_start_info->pt_base), xen_start_info->nr_pt_frames, tmpindex); + printk("KERNBASE=%x,pt_base=%x, VTOPFN(base)=%x, nr_pt_frames=%x\n", KERNBASE,xen_start_info->pt_base, VTOPFN(xen_start_info->pt_base), xen_start_info->nr_pt_frames); xendebug_flags = 0; /* 0xffffffff; */ /* allocate 4 pages for bootmem allocator */ - bootmem_start = bootmem_current = (char *)PFNTOV(tmpindex); - tmpindex += 4; - bootmem_end = (char *)PFNTOV(tmpindex); + bootmem_start = bootmem_current = (char *)cur_space; + cur_space += (4 * PAGE_SIZE); + bootmem_end = (char *)cur_space; #ifdef ADD_ISA_HOLE shift_phys_machine(xen_phys_machine, xen_start_info->nr_pages); @@ -659,10 +698,9 @@ /* * pre-zero unused mapped pages - mapped on 4MB boundary */ -#ifndef PAE - round_tmpindex = (((tmpindex - 1) / 1024) + 1)*1024; -#endif - bzero((char *)PFNTOV(tmpindex), (round_tmpindex - tmpindex)*PAGE_SIZE); +/* + bzero((char *)cur_space, (cur_space + 0x3fffff) % 0x400000); + */ IdlePTD = (pd_entry_t *)VTOP(startinfo->pt_base); IdlePTDma = (pd_entry_t *)xpmap_ptom(VTOP(startinfo->pt_base)); @@ -674,111 +712,84 @@ xen_start_info->flags, xen_start_info->pt_base, xen_start_info->mod_start, xen_start_info->mod_len); + XENPRINTF("c0100000: %08x\n", + xpmap_get_bootpte(0xc0100000)); /* Map proc0's KSTACK */ - proc0kstack = PFNTOV(tmpindex); - tmpindex += KSTACK_PAGES; + proc0kstack = cur_space; cur_space += (KSTACK_PAGES * PAGE_SIZE); + printk("proc0kstack=%u\n", proc0kstack); /* allocate page for gdt */ - gdt = (union descriptor *)PFNTOV(tmpindex); - tmpindex++; + gdt = (union descriptor *)cur_space; cur_space += PAGE_SIZE; /* allocate page for ldt */ - ldt = (union descriptor *)PFNTOV(tmpindex); - tmpindex++; + ldt = (union descriptor *)cur_space; cur_space += PAGE_SIZE; /* vm86/bios stack */ - tmpindex += 1; + cur_space += PAGE_SIZE; /* Map space for the vm86 region */ - vm86paddr = (vm_offset_t)PFNTOV(tmpindex); - tmpindex += 3; - + vm86paddr = (vm_offset_t)cur_space; + cur_space += (PAGE_SIZE * 3); /* initialize page directory shadow page */ - pdir_shadow = (vm_offset_t *)PFNTOV(tmpindex); - i686_pagezero(pdir_shadow); - pdir_shadow_ma = xpmap_ptom(tmpindex << PAGE_SHIFT); + pdir_shadow = (vm_offset_t *)cur_space; cur_space += PAGE_SIZE; + bzero(pdir_shadow, PAGE_SIZE); + pdir_shadow_ma = xpmap_ptom(VTOP(pdir_shadow)); + XENPRINTF("pdir_shadow=%x,pdir_shadow_ma=%x\n", pdir_shadow, pdir_shadow_ma); PT_SET_MA(pdir_shadow, pdir_shadow_ma | PG_V | PG_A); - tmpindex++; /* setup shadow mapping first so vtomach will work */ - xen_pt_pin((vm_paddr_t)pdir_shadow_ma); + xen_pt_pin(pdir_shadow_ma); xen_queue_pt_update((vm_paddr_t)(IdlePTDma + PTDPTDI), pdir_shadow_ma | PG_KERNEL); xen_queue_pt_update(pdir_shadow_ma + PTDPTDI*sizeof(vm_paddr_t), ((vm_paddr_t)IdlePTDma) | PG_V | PG_A); xen_queue_pt_update(pdir_shadow_ma + (KPTDI + ISA_PDR_OFFSET)*sizeof(vm_paddr_t), KPTphys | PG_V | PG_A); - xen_flush_queue(); - - -#ifdef SMP - /* allocate cpu0 private page */ - cpu0prvpage = PFNTOV(tmpindex); - tmpindex++; - - /* allocate SMP page table */ - SMPpt = (unsigned long *)PFNTOV(tmpindex); - - /* Map the private page into the SMP page table */ - SMPpt[0] = vtomach(cpu0prvpage) | PG_RW | PG_M | PG_V | PG_A; - - /* map SMP page table RO */ - PT_SET_MA(SMPpt, *vtopte((vm_offset_t)SMPpt) & ~PG_RW); - - /* put the page table into the page directory */ - xen_queue_pt_update((vm_paddr_t)(IdlePTDma + MPPTDI), - xpmap_ptom((tmpindex << PAGE_SHIFT))| PG_KERNEL); - xen_queue_pt_update(pdir_shadow_ma + MPPTDI*sizeof(vm_paddr_t), - xpmap_ptom((tmpindex << PAGE_SHIFT))| PG_V | PG_A); - tmpindex++; -#endif - -#ifdef PMAP_DEBUG - pteinfo_list = (pteinfo_t *)PFNTOV(tmpindex); - tmpindex += ((xen_start_info->nr_pages >> 10) + 1)*(1 + XPQ_CALL_DEPTH*XPQ_CALL_COUNT); - - if (tmpindex > 980) - __asm__("int3"); -#endif - /* unmap remaining pages from initial 4MB chunk - */ - //printk("tmpindex=%lu,i=%lu\n", tmpindex, tmpindex - ISA_INDEX_OFFSET); - for (i = (tmpindex - ISA_INDEX_OFFSET); i%400 != 0; i++) { - //printk("doing page %lu(m=%lu)\n", i, i%400 /* XXX 1024 */); + /* unmap remaining pages from initial 4MB chunk */ + for (i = cur_space >> PAGE_SHIFT; i%400 != 0; i++) { xen_queue_pt_update(KPTphys + i*sizeof(vm_paddr_t), 0); } xen_flush_queue(); + /* allocate remainder of NKPT pages */ - for (i = 0; i < NKPT-1; i++, tmpindex++) { + printk("#1\n"); + for (i = 0; i < NKPT-1; i++, cur_space += PAGE_SIZE) { /* KERNBASE left unmapped (+ 1) KERNLOAD already mapped (+1) == + 2 */ - xen_queue_pt_update((vm_paddr_t)(IdlePTDma + KPTDI + i + 1 + ISA_PDR_OFFSET), - xpmap_ptom((tmpindex << PAGE_SHIFT)| PG_KERNEL)); - xen_queue_pt_update(pdir_shadow_ma + (KPTDI + i + 1 + ISA_PDR_OFFSET)*sizeof(vm_paddr_t), - xpmap_ptom((tmpindex << PAGE_SHIFT)| PG_V | PG_A)); + printk("#2: i=%i,offs=%u->%x\n", i, KPTDI + i + 1, + xpmap_ptom(VTOP(cur_space)) | PG_KERNEL); +/* + xen_queue_pt_update((vm_paddr_t)(IdlePTDma + KPTDI + i + 1), + xpmap_ptom(VTOP(cur_space)) | PG_KERNEL);*/ + PT_UPDATES_FLUSH(); + xen_queue_pt_update(pdir_shadow_ma + (KPTDI + i + 1)*sizeof(vm_paddr_t), + xpmap_ptom(VTOP(cur_space)) | PG_V | PG_A); + PT_UPDATES_FLUSH(); } - tmpindex += NKPT-1; - PT_UPDATES_FLUSH(); + printk("#3\n"); - HYPERVISOR_shared_info = (shared_info_t *)PFNTOV(tmpindex); + HYPERVISOR_shared_info = (shared_info_t *)cur_space; PT_SET_MA(HYPERVISOR_shared_info, xen_start_info->shared_info | PG_KERNEL); - tmpindex++; + cur_space += PAGE_SIZE; + + printk("#4\n"); - xen_store = (struct ringbuf_head *)PFNTOV(tmpindex); + xen_store = (struct ringbuf_head *)cur_space; PT_SET_MA(xen_store, (xen_start_info->store_mfn << PAGE_SHIFT)| PG_KERNEL); - tmpindex++; - console_page = (char *)PFNTOV(tmpindex); + cur_space += PAGE_SIZE; + console_page = (char *)cur_space; PT_SET_MA(console_page, (xen_start_info->console_mfn << PAGE_SHIFT)| PG_KERNEL); - tmpindex++; - + cur_space += PAGE_SIZE; + + printk("#5\n"); HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list_list = (unsigned long)xen_phys_machine; #ifdef SMP @@ -796,14 +807,17 @@ op.cmd = PHYSDEVOP_SET_IOPL; op.u.set_iopl.iopl = 1; PANIC_IF(HYPERVISOR_physdev_op(&op)); + + printk("#6\n"); /* add page table for KERNBASE */ xen_queue_pt_update((vm_paddr_t)(IdlePTDma + KPTDI), - xpmap_ptom((tmpindex << PAGE_SHIFT)| PG_KERNEL)); + xpmap_ptom(VTOP(cur_space) | PG_KERNEL)); xen_queue_pt_update(pdir_shadow_ma + KPTDI*sizeof(vm_paddr_t), - xpmap_ptom((tmpindex << PAGE_SHIFT)| PG_V | PG_A)); + xpmap_ptom(VTOP(cur_space) | PG_V | PG_A)); xen_flush_queue(); - tmpindex++; + cur_space += PAGE_SIZE; + printk("#6\n"); if (xen_start_info->flags & SIF_INITDOMAIN) { /* Map first megabyte */ @@ -811,8 +825,12 @@ PT_SET_MA(KERNBASE + i, i | PG_KERNEL | PG_NC_PCD); xen_flush_queue(); } - init_first = tmpindex; + printk("#7\n"); + + init_first = (cur_space >> PAGE_SHIFT); + + printk("#8, proc0kstack=%u\n", proc0kstack); } ==== //depot/projects/xen3/src/sys/i386-xen/include/xenvar.h#9 (text+ko) ==== @@ -27,7 +27,7 @@ */ -#define ADD_ISA_HOLE +#undef ADD_ISA_HOLE /* XXX */ #ifdef ADD_ISA_HOLE #define ISA_INDEX_OFFSET 1024 ==== //depot/projects/xen3/src/sys/i386/i386/locore.s#4 (text+ko) ==== @@ -58,7 +58,7 @@ #ifdef XEN .section __xen_guest - .asciz "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xc0400000" + .asciz "LOADER=generic,GUEST_OS=freebsd,GUEST_VER=7.0,XEN_VER=xen-3.0,BSD_SYMTAB,VIRT_BASE=0xc0000000" #endif /* From owner-p4-projects@FreeBSD.ORG Wed Jul 25 13:01:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EDC6C16A46B; Wed, 25 Jul 2007 13:01:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9039416A420 for ; Wed, 25 Jul 2007 13:01:14 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E53613C4A8 for ; Wed, 25 Jul 2007 13:01:13 +0000 (UTC) (envelope-from taleks@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PD1Dg3012905 for ; Wed, 25 Jul 2007 13:01:13 GMT (envelope-from taleks@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PD1DqJ012890 for perforce@freebsd.org; Wed, 25 Jul 2007 13:01:13 GMT (envelope-from taleks@FreeBSD.org) Date: Wed, 25 Jul 2007 13:01:13 GMT Message-Id: <200707251301.l6PD1DqJ012890@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to taleks@FreeBSD.org using -f From: Alexey Tarasov To: Perforce Change Reviews Cc: Subject: PERFORCE change 124082 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 13:01:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124082 Change 124082 by taleks@taleks_th on 2007/07/25 13:00:43 pxe_tcp: Rewrote TCP code to make it simplier. All states, except SYN_SEN, are handled in one function. pxe_core: now don't check if interrupt occured (__pxe_isr_occured flag), just start PXE API to get new packets. Need to find out why interrupt doesn't occur sometimes. Most probably, incorrect code of end of interrupt. Affected files ... .. //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#13 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_arp.h#9 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#23 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#19 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_filter.c#6 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#8 edit .. //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#11 edit Differences ... ==== //depot/projects/soc2007/taleks-pxe_http/pxe_arp.c#13 (text+ko) ==== @@ -325,11 +325,11 @@ switch (function) { case PXE_AWAIT_STARTTRY: /* handle start of new try */ - if (pxe_arp_send_whois(wait_data->ip) != 1) { + if (!pxe_arp_send_whois(wait_data->ip)) { /* failed to send request, try once more * after waiting a little */ - delay(10000); + delay(10000); return (PXE_AWAIT_NEXTTRY); } break; @@ -377,7 +377,7 @@ if (res != NULL) return (res); - pxe_core_exclusive(PXE_PROTOCOL_ARP); +/* pxe_core_exclusive(PXE_PROTOCOL_ARP); */ PXE_ARP_WAIT_DATA wait_data; @@ -386,7 +386,7 @@ pxe_await(pxe_arp_await, PXE_MAX_ARP_TRY, PXE_TIME_TO_DIE, &wait_data); - pxe_core_exclusive(0); +/* pxe_core_exclusive(0); */ return (wait_data.mac); } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_arp.h#9 (text+ko) ==== @@ -46,7 +46,7 @@ /* max try count to send/recieve ARP request/reply */ #define PXE_MAX_ARP_TRY 3 /* max timeout in millyseconds */ -#define PXE_TIME_TO_DIE 15000 +#define PXE_TIME_TO_DIE 5000 /* define to enable caching incoming ARP packet sender information */ #define PXE_ARP_SNIFF ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.c#23 (text+ko) ==== @@ -74,6 +74,8 @@ static uint32_t packets_sent = 0; static uint32_t packets_received = 0; +static int pxe_state = PXE_DOWN; + /* pxe_core_undi_startup() - performs UNDI startup call during pxe_core_init() * in: * none @@ -236,7 +238,9 @@ /* setting entry point in tramp code */ __pxe_entry_seg = pxe->EntryPointSP.segment; __pxe_entry_off = pxe->EntryPointSP.offset; - + + pxe_state = PXE_INITING; + /* 2. getting cached info */ gci_p = (t_PXENV_GET_CACHED_INFO *) scratch_buffer; pxe_memset(gci_p, 0, sizeof(*gci_p)); @@ -254,6 +258,7 @@ printf("pxe_core_init(): error status = 0x%x\n", gci_p->Status); #endif pxe_p = NULL; + pxe_state = PXE_DOWN; return (0); } @@ -264,6 +269,7 @@ /* 3. install isr */ pxe_core_install_isr(); + pxe_state = PXE_READY; /* 4. open connection to network */ t_PXENV_UNDI_OPEN *undi_open = (t_PXENV_UNDI_OPEN *)scratch_buffer; @@ -320,7 +326,7 @@ #ifdef PXE_CORE_DEBUG printf("pxe_core_init(): ended.\n"); #endif - + return (1); } @@ -373,15 +379,9 @@ v86.ctl = V86_FLAGS; printf("\tchained handler @ 0x%x:0x%x\n", v86.ebx, v86.edx); - -/* v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; - v86.addr = (VTOPSEG(__mask_irq) << 16) | VTOPOFF(__mask_irq); - v86.ebx = __pxe_nic_irq; - v86int(); - v86.ctl = V86_FLAGS; - printf("enabled irq.\n"); -*/ + __chained_irq_seg = v86.ebx; + __chained_irq_off = v86.edx; #ifdef PXE_CORE_DEBUG printf("pxe_core_install_isr(): success (isr @ 0x%x:0x%x)\n", @@ -428,7 +428,15 @@ pxe_memset(&v86, 0, sizeof(v86)); v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; - v86.addr = (VTOPSEG(__isr_remove) << 16) | VTOPOFF(__isr_remove); +/* v86.addr = (VTOPSEG(__isr_remove) << 16) | VTOPOFF(__isr_remove); */ + v86.addr = (VTOPSEG(__isr_install) << 16) | VTOPOFF(__isr_install); + + uint8_t int_num = (__pxe_nic_irq < 8) ? + __pxe_nic_irq + 0x08 : __pxe_nic_irq + 0x68; + + v86.eax = int_num; + v86.ebx = __chained_irq_seg; + v86.edx = __chained_irq_off; v86int(); v86.ctl = V86_FLAGS; } @@ -459,9 +467,12 @@ t_PXENV_UNDI_SHUTDOWN *undi_shutdown_p = (t_PXENV_UNDI_SHUTDOWN *)scratch_buffer; - pxe_core_call(PXENV_UNDI_SHUTDOWN); +/* pxe_core_call(PXENV_UNDI_SHUTDOWN); pxe_core_call(PXENV_UNLOAD_STACK); - +*/ + /* make pxe_core_call() unavailable */ + pxe_state = PXE_DOWN; + return (1); } @@ -480,6 +491,11 @@ #ifdef PXE_CORE_DEBUG_HELL printf("pxe_core_call(): func = 0x%x...", func); #endif + if (pxe_state == PXE_DOWN) { + printf("pxe_core_call(): internal error, PXE shutdowned.\n"); + return (0); + } + pxe_memset(&v86, 0, sizeof(v86)); v86.ctl = V86_ADDR | V86_CALLF | V86_FLAGS; @@ -496,7 +512,6 @@ #ifdef PXE_CORE_DEBUG_HELL printf("%s (0x%x)\n", (call_status == 0) ? "?OK" : "?NOK", status ); #endif - return (status == 0) ? 1 : 0; } @@ -689,9 +704,9 @@ * real packet struct */ - if (__pxe_isr_occured == 0) /* there are no packets for us to handle */ - return (0); - +/* if (__pxe_isr_occured == 0) /* there are no packets for us to handle */ +/* return (0); +*/ __pxe_isr_occured = 0; /* reset flag */ t_PXENV_UNDI_ISR *undi_isr = @@ -735,14 +750,14 @@ } /* experimental: to avoid resendings of ip packets for unknown MAC*/ - if (exclusive_protocol && (protocol != exclusive_protocol)) { +/* if (exclusive_protocol && (protocol != exclusive_protocol)) { #ifdef PXE_CORE_DEBUG printf("recv_packets(): not exclusive protocol (%d != %d).\n", protocol, exclusive_protocol); #endif ++packets_dropped; drop_flag = 1; /* clear queue, receiving frames of packet */ - } +/* } */ /* sanity check */ if (frame_size < PXE_BUFFER_SIZE) { ==== //depot/projects/soc2007/taleks-pxe_http/pxe_core.h#19 (text+ko) ==== @@ -43,6 +43,10 @@ #define PXE_PACKET_STATE_FREE 0 #define PXE_PACKET_STATE_USING 1 +#define PXE_DOWN 0 +#define PXE_INITING 1 +#define PXE_READY 2 + /* size of media header, used in allocating memmory for packet */ #define MEDIAHDR_LEN_ETH 14 /* packet type: broadcast and directed */ ==== //depot/projects/soc2007/taleks-pxe_http/pxe_filter.c#6 (text+ko) ==== @@ -140,16 +140,19 @@ pxe_filter_add(uint32_t src_ip, uint16_t src_port, uint32_t dst_ip, uint16_t dst_port, void *socket, uint8_t proto) { -#ifdef PXE_DEBUG + if (socket == NULL) { +#ifdef PXE_DEBUG printf("pxe_filter_add(): NULL socket.\n"); +#endif return (NULL); } -#endif + if (free_head == NULL) { +#ifdef PXE_DEBUG printf("pxe_filter_add(): filter table is full (used = %d).\n", all_filters); - +#endif return (NULL); /* there is no space for filters */ } ==== //depot/projects/soc2007/taleks-pxe_http/pxe_segment.c#8 (text+ko) ==== @@ -234,14 +234,16 @@ /* check if it's time to resend */ if (cur_time >= segment->resend_at) { #ifdef PXE_TCP_DEBUG_HELL - printf("pxe_resend_check(): %d:%d resending (next try at: %d)\n", + printf("pxe_resend_check(): %lu:%lu " + "resending (next try at: %lu)\n", segment->resend_at, cur_time, - segment->resend_at + + cur_time + PXE_RESEND_TIME * (segment->trys + 1)); #endif segment->trys += 1; - segment->resend_at += +/* segment->resend_at +=*/ + segment->resend_at = cur_time + PXE_RESEND_TIME * segment->trys; if (segment->trys == PXE_RESEND_TRYS) { @@ -264,15 +266,18 @@ /* check time to resend */ if (cur_time >= segment->resend_at) { #ifdef PXE_TCP_DEBUG_HELL - printf("pxe_resend_check(): %d:%d resending (next try at: %d)\n", + printf("pxe_resend_check(): %lu:%lu " + "resending (next try at: %lu)\n", segment->resend_at, cur_time, - segment->resend_at + + cur_time + PXE_RESEND_TIME * (segment->trys + 1)); #endif - /* resend later, with more delay with every try */ + /* resend later, with more delay + * with every try */ segment->trys += 1; - segment->resend_at += +/* segment->resend_at += */ + segment->resend_at = cur_time + PXE_RESEND_TIME * segment->trys; if (segment->trys == PXE_RESEND_TRYS) { ==== //depot/projects/soc2007/taleks-pxe_http/pxe_tcp.c#11 (text+ko) ==== @@ -37,50 +37,24 @@ #include "pxe_segment.h" #include "pxe_tcp.h" -/* state handle functions. TODO: think about removing them */ -static int tcp_syn_sent(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_established(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_fin_wait1(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_closing(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_fin_wait2(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_time_wait(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_close_wait(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -static int tcp_last_ack(PXE_TCP_PACKET *tcp_packet, - PXE_TCP_CONNECTION *connection, uint16_t seglen); - -/* pointers to appropriate state handlers */ -static pxe_tcp_state_func state_functions[PXE_TCP_ALL_STATES] = { - NULL, /* CLOSED */ - tcp_syn_sent, /* SYN_SENT */ - NULL, /* SYN_RECEIVED */ - tcp_established,/* ESTABLISHED */ - tcp_close_wait, /* CLOSE_WAIT */ - tcp_last_ack, /* LAST_ACK */ - tcp_fin_wait1, /* FIN_WAIT_1 */ - tcp_closing, /* CLOSING */ - tcp_fin_wait2, /* FIN_WAIT_2 */ - tcp_time_wait, /* TIME_WAIT */ - }; - /* used by pxe_tcp_syssend, when connection have no buffers */ static PXE_BUFFER sysbuf; /* buffer space for sysbuf */ static uint8_t bufdata[PXE_TCP_SYSBUF_SIZE]; - +/* states in human friendly */ +static char strstates[PXE_TCP_ALL_STATES][15] = { + "CLOSED", + "SYN_SENT", + "SYN_RECEIVED", + "ESTABLISHED", + "CLOSE_WAIT", + "LAST_ACK", + "FIN_WAIT_1", + "CLOSING", + "FIN_WAIT_2", + "TIME_WAIT" + }; + /* tcp_check_time_to_die() - moves to CLOSED state connections from state * TIME_WAIT if last received packet (ACK for FIN in most cases) * was more than 2*MSL time ago. @@ -189,7 +163,7 @@ /* or? */ if ((connection->next_recv <= seq + seglen - 1) && - (seq +seglen -1 < connection->next_recv + window) ) + (seq + seglen - 1 < connection->next_recv + window) ) return (1); } @@ -370,10 +344,6 @@ if (tcp_packet->tcphdr.flags & (PXE_TCP_SYN | PXE_TCP_FIN) ) connection->next_recv += 1; -/* printf("tcp_process_7(): seq = %d, ack = %d, seglen = %d\n", - connection->next_recv - connection->irs, - connection->next_send - connection->iss, seglen); -*/ if ( (seglen > 0) && (connection->state == PXE_TCP_ESTABLISHED)) { /* write data to buffer, always enough space, * if packet is acceptable @@ -384,7 +354,7 @@ pxe_buffer_write(connection->recv, data, seglen); } - pxe_tcp_syssend(connection, PXE_TCP_ACK); + pxe_tcp_syssend(connection, PXE_TCP_ACK); connection->last_recv = pxe_get_secs(); } @@ -497,33 +467,50 @@ return (0); } -/* tcp_established() - ESTABLISHED state handler - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ static int -tcp_established(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, +pxe_tcp_process(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION * connection, uint16_t seglen) { + uint8_t state = connection->state; + uint8_t state_out = connection->state_out; + /* first check, if acceptable at all */ if (!tcp_check_1(connection, tcp_packet, seglen)) return (0); + /* check establishing of commmunication */ + if (state == PXE_TCP_SYN_SENT) { + + if (tcp_packet->tcphdr.flags & PXE_TCP_SYN) { + + uint32_t ack = tcp_packet->tcphdr.ack_next; + uint32_t seq = tcp_packet->tcphdr.sequence; + + connection->next_recv = seq + 1; + connection->irs = seq; + connection->una = ack; + pxe_resend_update(connection); + } + + if (pxe_tcp_syssend(connection, PXE_TCP_ACK)) { + connection->state = PXE_TCP_ESTABLISHED; + connection->last_recv = pxe_get_secs(); + } else { + printf("tcp_syn_sent(): ack syn reply failed.\n"); + return (0); + } + } + /* check, if have RST flag, sequentially incorrect or have SYN */ if (( tcp_check_2(tcp_packet)) || - (!tcp_check_3(connection, tcp_packet)) || ( tcp_check_4(connection, tcp_packet, seglen))) { connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_established(): new state - CLOSED\n"); -#endif pxe_resend_free(connection); + + /* if (state == PXE_TCP_TIME_WAIT) */ + free_connection(connection); + return (0); } @@ -531,322 +518,109 @@ if (!tcp_check_5(connection, tcp_packet)) return (0); - /* sixth check, if urgent */ - if (tcp_check_6(tcp_packet)) /* ignore for now */ - return (0); - - /* seventh, process segment */ - tcp_process_7(connection, tcp_packet, seglen); + switch (state) { + case PXE_TCP_FIN_WAIT1: + connection->next_send = tcp_packet->tcphdr.ack_next; + + /* if acked our FIN */ + if (state_out == PXE_TCP_FIN) { + connection->state = PXE_TCP_FIN_WAIT2; + /* return (0); */ + } + break; - /* eighth, check FIN */ - if (tcp_check_8(tcp_packet)) { - /* remote host requested connection break */ - connection->state = PXE_TCP_CLOSE_WAIT; -#ifdef PXE_TCP_DEBUG - printf("tcp_established(): new state - CLOSE_WAIT\n"); -#endif - } - - return (0); -} - -/* tcp_fin_wait1() - FIN_WAIT_1 state handler - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_fin_wait1(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) - return (0); - - /* check, if have RST or SYN flag */ - if ((tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait1(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); - } - - /* check if ACK */ - if (!tcp_check_5(connection, tcp_packet)) - return (0); - else + case PXE_TCP_FIN_WAIT2: connection->next_send = tcp_packet->tcphdr.ack_next; + break; - /* if acked our FIN */ - if (connection->state_out == PXE_TCP_FIN) { - connection->state = PXE_TCP_FIN_WAIT2; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait1(): new state - FIN_WAIT_2\n"); -#endif - return (0); - } - - if (tcp_check_6(tcp_packet)) /* ignore for now */ - return (0); - - tcp_process_7(connection, tcp_packet, seglen); - - /* check acked FIN */ - if (tcp_check_8(tcp_packet)) { - if (connection->state_out == PXE_TCP_FIN) { + case PXE_TCP_CLOSING: + if (state_out == PXE_TCP_FIN) connection->state = PXE_TCP_TIME_WAIT; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait1(): new state - TIME_WAIT\n"); -#endif - /* TODO: start TIME_WAIT timer */ - } else { - connection->state = PXE_TCP_CLOSING; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait1(): new state - CLOSING\n"); -#endif + break; + + case PXE_TCP_LAST_ACK: + if (state_out == PXE_TCP_FIN) { + connection->state = PXE_TCP_CLOSED; + pxe_resend_free(connection); + free_connection(connection); + return (0); } - } + break; - return (0); -} - -/* tcp_closing() - CLOSING state handler - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_closing(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) - return (0); - - /* check, if have RST OR SYN flag */ - if ( (tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_closing(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); + case PXE_TCP_TIME_WAIT: + /* in that state only retransmission of FIN may arrive + * ACKing it + */ + pxe_tcp_syssend(connection, PXE_TCP_ACK); + break; + + default: + break; } - /* check ACK */ - if (!tcp_check_5(connection, tcp_packet)) - return (0); - - if (connection->state_out = PXE_TCP_FIN) { - connection->state = PXE_TCP_TIME_WAIT; -#ifdef PXE_TCP_DEBUG - printf("tcp_closing(): new state - TIME_WAIT\n"); -#endif - } - - return (0); -} - -/* tcp_fin_wait2() - FIN_WAIT_2 state handler - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_fin_wait2(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) - return (0); - - /* check, if have RST or SYN flag */ - if ((tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait2(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); - } - - if (!tcp_check_5(connection, tcp_packet)) { - return (0); - } - -/* + /* FIN_WAIT_2 if (tcp_queue_size(connection) == 0) { connection->state = PXE_TCP_CLOSE; } -*/ - /* check URG flag */ - if (tcp_check_6(tcp_packet)) /* ignore for now */ + */ + + /* sixth check, if urgent. Ignoring. */ + /* if (tcp_check_6(tcp_packet)) return (0); - - connection->next_send = tcp_packet->tcphdr.ack_next; - - /* process data */ - tcp_process_7(connection, tcp_packet, seglen); - - /* check acked FIN */ - if (tcp_check_8(tcp_packet)) { - connection->state = PXE_TCP_TIME_WAIT; -#ifdef PXE_TCP_DEBUG - printf("tcp_fin_wait2(): new state - TIME_WAIT\n"); -#endif - /* TODO: start TIME_WAIT timer */ - } - - return (0); -} + */ -/* tcp_time_wait() - TIME_WAIT state handler - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_time_wait(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) - return (0); + /* seventh, process segment */ + switch (state) { + case PXE_TCP_ESTABLISHED: + case PXE_TCP_FIN_WAIT1: + case PXE_TCP_FIN_WAIT2: + tcp_process_7(connection, tcp_packet, seglen); + break; - /* check, if have RST or SYN flag */ - if ((tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { + case PXE_TCP_LAST_ACK: + /* if got here, means we have ACK */ connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_time_wait(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - free_connection(connection); return (0); - } - - if (!tcp_check_5(connection, tcp_packet)) - return (0); - - /* ignore URG flag in this state */ + break; + + case PXE_TCP_TIME_WAIT: + /* check TIME_WAIT time */ + tcp_check_time_to_die(connection); + /* going to return */ - /* ignore data processing */ - - /* check TIME_WAIT time */ - tcp_check_time_to_die(connection); + case PXE_TCP_CLOSE_WAIT: + /* just return */ - return (0); -} - -/* tcp_close_wait() - CLOSE_WAIT state handler. TODO: implement - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_close_wait(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) + default: return (0); - - /* check, if have RST or SYN flag */ - if ((tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_close_wait(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); + break; } - if (!tcp_check_5(connection, tcp_packet)) - return (0); + /* eighth, check FIN */ + if (tcp_check_8(tcp_packet)) { - /* ignore URG flag */ + switch (connection->state) { + case PXE_TCP_ESTABLISHED: + /* remote host requested connection break */ + connection->state = PXE_TCP_CLOSE_WAIT; + break; + + case PXE_TCP_FIN_WAIT1: + if (state_out == PXE_TCP_FIN) { + connection->state = PXE_TCP_TIME_WAIT; + } else { + connection->state = PXE_TCP_CLOSING; + } + break; - /* ignore data processing, input connection closed by remote host */ - - return (0); -} - -/* tcp_last_ack() - LAST_ACK state handler. - * in: - * tcp_packet - incoming packet data - * connection - current connection - * out: - * 0 - don't interested more in this packet - * 1 - interested - * 2 - try next state handler - */ -static int -tcp_last_ack(PXE_TCP_PACKET *tcp_packet, PXE_TCP_CONNECTION *connection, - uint16_t seglen) -{ - /* first check, if acceptable at all */ - if (!tcp_check_1(connection, tcp_packet, seglen)) - return (0); - - /* check, if have RST or SYN flag */ - if ((tcp_check_2(tcp_packet)) || - (tcp_check_4(connection, tcp_packet, seglen)) ) - { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_last_ack(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); - } - - if (!tcp_check_5(connection, tcp_packet)) - return (0); - - if (connection->state_out == PXE_TCP_FIN) { - connection->state = PXE_TCP_CLOSED; -#ifdef PXE_TCP_DEBUG - printf("tcp_last_ack(): new state - CLOSED\n"); -#endif - pxe_resend_free(connection); - return (0); + case PXE_TCP_FIN_WAIT2: + connection->state = PXE_TCP_TIME_WAIT; + break; + + default: + break; + } } - - /* ignore URG flag */ - - /* if got here, means we have ACK */ - connection->state = PXE_TCP_CLOSED; return (0); } @@ -907,9 +681,9 @@ dst_port, PXE_TCP_PROTOCOL); if (sock == NULL) { /* nobody is interested in this packet */ -#ifdef PXE_TCP_DEBUG +/* #ifdef PXE_TCP_DEBUG */ printf("pxe_tcp_callback(): packet filtered out, sending RST.\n"); -#endif +/* #endif */ if (flags & PXE_TCP_ACK) tcp_send_rst_for(tcp_packet, 0, tcp_packet->tcphdr.ack_next, PXE_TCP_RST, data_size); @@ -981,11 +755,12 @@ /* if we know sequence number, then check it */ if (seq != connection->next_recv) { /* not next in order, drop it, send ACK */ -#ifdef PXE_TCP_DEBUG +/* #ifdef PXE_TCP_DEBUG */ printf("pxe_tcp_callback(): got %d != awaited %d\n", seq - connection->irs, connection->next_recv - connection->irs); -#endif +/* #endif */ + pxe_tcp_syssend(connection, PXE_TCP_ACK); return (0); } } else { @@ -999,25 +774,25 @@ while (1) { #ifdef PXE_TCP_DEBUG_HELL - printf("pxe_tcp_callback(): connection state = 0x%x\n", - connection->state); -#endif - if (state_functions[connection->state] != NULL) { + printf("pxe_tcp_callback(): connection state = %s\n", + strstates[connection->state]); +#endif - result = - state_functions[connection->state](tcp_packet, - connection, data_size); + if (connection->state == PXE_TCP_SYN_SENT) { + result = tcp_syn_sent(tcp_packet, connection, data_size); + } else { + + result = pxe_tcp_process(tcp_packet, connection, data_size); + } - if (result == 2) - continue; + if (result == 2) + continue; - break; - } else /* state handler not registered */ - break; + break; } } - /* check ACKed packets*/ + /* check ACKed packets */ pxe_resend_update(connection); /* check if need to resend some segments */ From owner-p4-projects@FreeBSD.ORG Wed Jul 25 15:56:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AE16516A421; Wed, 25 Jul 2007 15:56:03 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7F6F016A468 for ; Wed, 25 Jul 2007 15:56:03 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6733313C461 for ; Wed, 25 Jul 2007 15:56:03 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PFu3tZ036901 for ; Wed, 25 Jul 2007 15:56:03 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PFu1mp036898 for perforce@freebsd.org; Wed, 25 Jul 2007 15:56:01 GMT (envelope-from delphij@freebsd.org) Date: Wed, 25 Jul 2007 15:56:01 GMT Message-Id: <200707251556.l6PFu1mp036898@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 124092 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 15:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=124092 Change 124092 by delphij@charlie on 2007/07/25 15:55:10 IFC Affected files ... .. //depot/projects/delphij_fork/contrib/bind9/CHANGES#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/README#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/bin/named/client.c#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/bin/named/server.c#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch07.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch08.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch09.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.pdf#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/lib/dns/dispatch.c#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/lib/dns/include/dns/dispatch.h#2 integrate .. //depot/projects/delphij_fork/contrib/bind9/version#2 integrate .. //depot/projects/delphij_fork/etc/mtree/BSD.usr.dist#3 integrate .. //depot/projects/delphij_fork/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/delphij_fork/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/delphij_fork/libexec/getty/ttys.5#2 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/relnotes/article.sgml#6 integrate .. //depot/projects/delphij_fork/sbin/Makefile#2 integrate .. //depot/projects/delphij_fork/sbin/iscontrol/Makefile#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/auth_subr.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/config.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/fsm.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/iscontrol.8#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/iscontrol.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/iscontrol.h#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/login.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/misc.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/pdu.c#1 branch .. //depot/projects/delphij_fork/sbin/iscontrol/pdu.h#1 branch .. //depot/projects/delphij_fork/share/man/man4/Makefile#2 integrate .. //depot/projects/delphij_fork/share/man/man4/iscsi_initiator.4#1 branch .. //depot/projects/delphij_fork/share/man/man4/udav.4#2 integrate .. //depot/projects/delphij_fork/share/man/man4/usb.4#2 integrate .. //depot/projects/delphij_fork/share/man/man7/ports.7#3 integrate .. //depot/projects/delphij_fork/share/man/man8/rc.8#2 integrate .. //depot/projects/delphij_fork/sys/conf/NOTES#7 integrate .. //depot/projects/delphij_fork/sys/conf/files#6 integrate .. //depot/projects/delphij_fork/sys/conf/options#5 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/delphij_fork/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfe.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/nfe/if_nfevar.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/re/if_re.c#3 integrate .. //depot/projects/delphij_fork/sys/dev/usb/if_udav.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/ukbd.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/ums.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/usbdevs#5 integrate .. //depot/projects/delphij_fork/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate .. //depot/projects/delphij_fork/sys/kern/kern_kse.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_thread.c#2 integrate .. //depot/projects/delphij_fork/sys/modules/Makefile#4 integrate .. //depot/projects/delphij_fork/sys/modules/iscsi/Makefile#1 branch .. //depot/projects/delphij_fork/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/delphij_fork/sys/netinet/sctp_asconf.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_input.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_pcb.h#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_structs.h#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_timer.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/delphij_fork/sys/netinet/sctputil.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/sctputil.h#3 integrate .. //depot/projects/delphij_fork/sys/netinet6/sctp6_usrreq.c#6 integrate .. //depot/projects/delphij_fork/sys/pci/if_rl.c#2 integrate .. //depot/projects/delphij_fork/sys/pci/if_rlreg.h#3 integrate .. //depot/projects/delphij_fork/sys/sys/proc.h#3 integrate .. //depot/projects/delphij_fork/usr.bin/su/su.1#2 integrate .. //depot/projects/delphij_fork/usr.sbin/periodic/periodic.8#2 integrate Differences ... ==== //depot/projects/delphij_fork/contrib/bind9/CHANGES#2 (text+ko) ==== @@ -1,4 +1,34 @@ + --- 9.4.1-P1 released --- + +2206. [security] "allow-query-cache" and "allow-recursion" now + cross inherit from each other. + + If allow-query-cache is not set in named.conf then + allow-recursion is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + If allow-recursion is not set in named.conf then + allow-query-cache is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + [RT #16987] + +2203. [security] Query id generation was cryptographically weak. + [RT # 16915] + +2202. [security] The default acls for allow-query-cache and + allow-recursion were not being applied. [RT #16960] + +2193. [port] win32: BINDInstall.exe is now linked statically. + [RT #16906] + +2192. [port] win32: use vcredist_x86.exe to install Visual + Studio's redistributable dlls if building with + Visual Stdio 2005 or later. + --- 9.4.1 released --- 2172. [bug] query_addsoa() was being called with a non zone db. ==== //depot/projects/delphij_fork/contrib/bind9/README#2 (text+ko) ==== @@ -43,6 +43,11 @@ Nominum, Inc. +BIND 9.4.1-P1 + + BIND 9.4.1-P1 is a security release, containing a fixes for a + security bugs in BIND 9.4.1. + BIND 9.4.1 BIND 9.4.1 is a security release, containing a fix for a ==== //depot/projects/delphij_fork/contrib/bind9/bin/named/client.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.20 2006/07/22 01:02:36 marka Exp $ */ +/* $Id: client.c,v 1.219.18.20.14.1 2007/06/26 02:58:54 marka Exp $ */ #include @@ -1440,6 +1440,14 @@ } /* + * Hash the incoming request here as it is after + * dns_dispatch_importrecv(). + */ + dns_dispatch_hash(&client->now, sizeof(client->now)); + dns_dispatch_hash(isc_buffer_base(buffer), + isc_buffer_usedlength(buffer)); + + /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/delphij_fork/contrib/bind9/bin/named/server.c#2 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.49 2006/12/07 05:24:19 marka Exp $ */ +/* $Id: server.c,v 1.419.18.49.12.2 2007/07/09 02:23:16 marka Exp $ */ /*! \file */ @@ -1435,12 +1435,12 @@ view->additionalfromcache = ISC_TRUE; } + /* + * Set "allow-query-cache" and "allow-recursion" acls if + * configured in named.conf. + */ CHECK(configure_view_acl(vconfig, config, "allow-query-cache", actx, ns_g_mctx, &view->queryacl)); - if (view->queryacl == NULL) - CHECK(configure_view_acl(NULL, ns_g_defaults, - "allow-query-cache", actx, - ns_g_mctx, &view->queryacl)); if (strcmp(view->name, "_bind") != 0) CHECK(configure_view_acl(vconfig, config, "allow-recursion", @@ -1460,11 +1460,29 @@ "active%s%s", forview, viewname); /* - * Set default "allow-recursion" acl. + * "allow-query-cache" inherits from "allow-recursion" if set, + * otherwise from "allow-query" if set. + * "allow-recursion" inherits from "allow-query-cache" if set, + * otherwise from "allow-query" if set. + */ + if (view->queryacl == NULL && view->recursionacl != NULL) + dns_acl_attach(view->recursionacl, &view->queryacl); + if (view->queryacl == NULL) + CHECK(configure_view_acl(vconfig, config, "allow-query", + actx, ns_g_mctx, &view->queryacl)); + if (view->recursionacl == NULL && view->queryacl != NULL) + dns_acl_attach(view->queryacl, &view->recursionacl); + + /* + * Set default "allow-recursion" and "allow-query-cache" acls. */ if (view->recursionacl == NULL && view->recursion) - CHECK(configure_view_acl(NULL, ns_g_defaults, "allow-recursion", + CHECK(configure_view_acl(NULL, ns_g_config, "allow-recursion", actx, ns_g_mctx, &view->recursionacl)); + if (view->queryacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-query-cache", actx, + ns_g_mctx, &view->queryacl)); CHECK(configure_view_acl(vconfig, config, "sortlist", actx, ns_g_mctx, &view->sortlist)); ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM-book.xml#2 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -5827,32 +5827,29 @@ Specifies which hosts are allowed to get answers - from the cache. The default is the builtin acls - localnets and - localhost. + from the cache. If allow-query-cache + is not set then allow-recursion + is used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. - - The way to set query access to the cache is now - via allow-query-cache. - This differs from earlier versions which used - allow-query. - allow-recursion - + Specifies which hosts are allowed to make recursive - queries through this server. If not specified, - the default is to allow recursive queries from - the builtin acls localnets and - localhost. - Note that disallowing recursive queries for a - host does not prevent the host from retrieving - data that is already in the server's cache. - + queries through this server. If + allow-recursion is not set + then allow-query-cache is + used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. + ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch01.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,15 +47,15 @@
Scope of Document
Organization of This Document
-
Conventions Used in This Document
-
The Domain Name System (DNS)
+
Conventions Used in This Document
+
The Domain Name System (DNS)
-
DNS Fundamentals
-
Domains and Domain Names
-
Zones
-
Authoritative Name Servers
-
Caching Name Servers
-
Name Servers in Multiple Roles
+
DNS Fundamentals
+
Domains and Domain Names
+
Zones
+
Authoritative Name Servers
+
Caching Name Servers
+
Name Servers in Multiple Roles
@@ -116,7 +116,7 @@

-Conventions Used in This Document

+Conventions Used in This Document

In this document, we use the following general typographic conventions: @@ -243,7 +243,7 @@

-The Domain Name System (DNS)

+The Domain Name System (DNS)

The purpose of this document is to explain the installation and upkeep of the BIND software @@ -253,7 +253,7 @@

-DNS Fundamentals

+DNS Fundamentals

The Domain Name System (DNS) is a hierarchical, distributed database. It stores information for mapping Internet host names to @@ -273,7 +273,7 @@

-Domains and Domain Names

+Domains and Domain Names

The data stored in the DNS is identified by domain names that are organized as a tree according to organizational or administrative boundaries. Each node of the tree, @@ -319,7 +319,7 @@

-Zones

+Zones

To properly operate a name server, it is important to understand the difference between a zone @@ -372,7 +372,7 @@

-Authoritative Name Servers

+Authoritative Name Servers

Each zone is served by at least one authoritative name server, @@ -389,7 +389,7 @@

-The Primary Master

+The Primary Master

The authoritative server where the master copy of the zone data is maintained is called the @@ -409,7 +409,7 @@

-Slave Servers

+Slave Servers

The other authoritative servers, the slave servers (also known as secondary servers) @@ -425,7 +425,7 @@

-Stealth Servers

+Stealth Servers

Usually all of the zone's authoritative servers are listed in NS records in the parent zone. These NS records constitute @@ -460,7 +460,7 @@

-Caching Name Servers

+Caching Name Servers

The resolver libraries provided by most operating systems are stub resolvers, meaning that they are not @@ -487,7 +487,7 @@

-Forwarding

+Forwarding

Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can @@ -514,7 +514,7 @@

-Name Servers in Multiple Roles

+Name Servers in Multiple Roles

The BIND name server can simultaneously act as ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch02.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,16 +45,16 @@

-Hardware requirements

+Hardware requirements

DNS hardware requirements have traditionally been quite modest. @@ -73,7 +73,7 @@

-CPU Requirements

+CPU Requirements

CPU requirements for BIND 9 range from i486-class machines @@ -84,7 +84,7 @@

-Memory Requirements

+Memory Requirements

The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size @@ -107,7 +107,7 @@

-Name Server Intensive Environment Issues

+Name Server Intensive Environment Issues

For name server intensive environments, there are two alternative configurations that may be used. The first is where clients and @@ -124,7 +124,7 @@

-Supported Operating Systems

+Supported Operating Systems

ISC BIND 9 compiles and runs on a large number ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch03.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,14 +47,14 @@

Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
@@ -68,7 +68,7 @@ Sample Configurations

-A Caching-only Name Server

+A Caching-only Name Server

The following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All @@ -95,7 +95,7 @@

-An Authoritative-only Name Server

+An Authoritative-only Name Server

This sample configuration is for an authoritative-only server that is the master server for "example.com" @@ -137,7 +137,7 @@

-Load Balancing

+Load Balancing

A primitive form of load balancing can be achieved in the DNS by using multiple A records for @@ -280,10 +280,10 @@

-Name Server Operations

+Name Server Operations

-Tools for Use With the Name Server Daemon

+Tools for Use With the Name Server Daemon

This section describes several indispensable diagnostic, administrative and monitoring tools available to the system @@ -741,7 +741,7 @@

-Signals

+Signals

Certain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch04.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -49,28 +49,28 @@

Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
+
Split DNS
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
@@ -204,7 +204,7 @@

-Split DNS

+Split DNS

Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually referred to as a @@ -479,7 +479,7 @@

-Generate Shared Keys for Each Pair of Hosts

+Generate Shared Keys for Each Pair of Hosts

A shared secret is generated to be shared between host1 and host2. An arbitrary key name is chosen: "host1-host2.". The key name must @@ -487,7 +487,7 @@

-Automatic Generation

+Automatic Generation

The following command will generate a 128-bit (16 byte) HMAC-MD5 key as described above. Longer keys are better, but shorter keys @@ -512,7 +512,7 @@

-Manual Generation

+Manual Generation

The shared secret is simply a random sequence of bits, encoded in base-64. Most ASCII strings are valid base-64 strings (assuming @@ -527,7 +527,7 @@

-Copying the Shared Secret to Both Machines

+Copying the Shared Secret to Both Machines

This is beyond the scope of DNS. A secure transport mechanism should be used. This could be secure FTP, ssh, telephone, etc. @@ -535,7 +535,7 @@

-Informing the Servers of the Key's Existence

+Informing the Servers of the Key's Existence

Imagine host1 and host 2 are @@ -564,7 +564,7 @@

-Instructing the Server to Use the Key

+Instructing the Server to Use the Key

Since keys are shared between two hosts only, the server must be told when keys are to be used. The following is added to the named.conf file @@ -596,7 +596,7 @@

-TSIG Key Based Access Control

+TSIG Key Based Access Control

BIND allows IP addresses and ranges to be specified in ACL @@ -624,7 +624,7 @@

-Errors

+Errors

The processing of TSIG signed messages can result in several errors. If a signed message is sent to a non-TSIG aware @@ -650,7 +650,7 @@

-TKEY

+TKEY

TKEY is a mechanism for automatically generating a shared secret between two hosts. There are several "modes" of @@ -686,7 +686,7 @@

-SIG(0)

+SIG(0)

BIND 9 partially supports DNSSEC SIG(0) transaction signatures as specified in RFC 2535 and RFC2931. @@ -747,7 +747,7 @@

-Generating Keys

+Generating Keys

The dnssec-keygen program is used to generate keys. @@ -798,7 +798,7 @@

-Signing the Zone

+Signing the Zone

The dnssec-signzone program is used to @@ -842,7 +842,7 @@

-Configuring Servers

+Configuring Servers

To enable named to respond appropriately to DNS requests from DNSSEC aware clients, @@ -930,7 +930,7 @@

-IPv6 Support in BIND 9

+IPv6 Support in BIND 9

BIND 9 fully supports all currently defined forms of IPv6 @@ -969,7 +969,7 @@

-Address Lookups Using AAAA Records

+Address Lookups Using AAAA Records

The IPv6 AAAA record is a parallel to the IPv4 A record, and, unlike the deprecated A6 record, specifies the entire @@ -988,7 +988,7 @@

-Address to Name Lookups Using Nibble Format

+Address to Name Lookups Using Nibble Format

When looking up an address in nibble format, the address components are simply reversed, just as in IPv4, and ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch05.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,13 +45,13 @@

-The Lightweight Resolver Library

+The Lightweight Resolver Library

Traditionally applications have been linked with a stub resolver library that sends recursive DNS queries to a local caching name ==== //depot/projects/delphij_fork/contrib/bind9/doc/arm/Bv9ARM.ch06.html#2 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -48,52 +48,52 @@

Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
-
include Statement Definition and +
include Statement Grammar
+
include Statement Definition and Usage
-
key Statement Grammar
-
key Statement Definition and Usage
-
logging Statement Grammar
-
logging Statement Definition and +
key Statement Grammar
+
key Statement Definition and Usage
+
logging Statement Grammar
+
logging Statement Definition and Usage
-
lwres Statement Grammar
-
lwres Statement Definition and Usage
-
masters Statement Grammar
-
masters Statement Definition and +
lwres Statement Grammar
+
lwres Statement Definition and Usage
+
masters Statement Grammar
+
masters Statement Definition and Usage
-
options Statement Grammar
+
options Statement Grammar
options Statement Definition and Usage
server Statement Grammar
server Statement Definition and Usage
-
trusted-keys Statement Grammar
-
trusted-keys Statement Definition +
trusted-keys Statement Grammar
+
trusted-keys Statement Definition and Usage
view Statement Grammar
-
view Statement Definition and Usage
+
view Statement Definition and Usage
zone Statement Grammar
-
zone Statement Definition and Usage
+
zone Statement Definition and Usage
-
Zone File
+
Zone File
Types of Resource Records and When to Use Them
-
Discussion of MX Records
+
Discussion of MX Records
Setting TTLs
-
Inverse Mapping in IPv4
-
Other Zone File Directives
-
BIND Master File Extension: the $GENERATE Directive
+
Inverse Mapping in IPv4
+
Other Zone File Directives
+
BIND Master File Extension: the $GENERATE Directive
Additional File Formats
@@ -428,7 +428,7 @@ Address Match Lists

-Syntax

+Syntax
address_match_list = address_match_list_element ;
   [ address_match_list_element; ... ]
 address_match_list_element = [ ! ] (ip_address [/length] |
@@ -437,7 +437,7 @@
 
 

-Definition and Usage

+Definition and Usage

Address match lists are primarily used to determine access control for various server operations. They are also used in @@ -515,7 +515,7 @@

-Comment Syntax

+Comment Syntax

The BIND 9 comment syntax allows for comments to appear @@ -525,7 +525,7 @@

-Syntax

+Syntax

/* This is a BIND comment as in C */
@@ -540,7 +540,7 @@

-Definition and Usage

+Definition and Usage

Comments may appear anywhere that white space may appear in a BIND configuration file. @@ -774,7 +774,7 @@

-acl Statement Grammar

+acl Statement Grammar
acl acl-name {
     address_match_list
 };
@@ -857,7 +857,7 @@
 
 

-controls Statement Grammar

+controls Statement Grammar
controls {
    [ inet ( ip_addr | * ) [ port ip_port ] allow {  address_match_list  }
                 keys { key_list }; ]
@@ -979,12 +979,12 @@
 
 

-include Statement Grammar

+include Statement Grammar
include filename;

>>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Jul 25 17:07:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AA1116A41A; Wed, 25 Jul 2007 17:07:53 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C520E16A417 for ; Wed, 25 Jul 2007 17:07:52 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe01.swip.net [212.247.154.1]) by mx1.freebsd.org (Postfix) with ESMTP id 5DC1013C461 for ; Wed, 25 Jul 2007 17:07:52 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [194.248.135.20] (account mc467741@c2i.net HELO laptop.lan) by mailfe01.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 536513550; Wed, 25 Jul 2007 18:52:50 +0200 From: Hans Petter Selasky To: Rui Paulo Date: Wed, 25 Jul 2007 18:52:54 +0200 User-Agent: KMail/1.9.7 References: <200707121918.l6CJIFkI094946@repoman.freebsd.org> <200707131604.22648.hselasky@c2i.net> <46A5FF7A.1090803@fnop.net> In-Reply-To: <46A5FF7A.1090803@fnop.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707251852.55254.hselasky@c2i.net> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 123399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 17:07:53 -0000 On Tuesday 24 July 2007, Rui Paulo wrote: > Hans Petter Selasky wrote: > > Remove all USB device drivers from your kernel config file, except > > "device ugen". All your USB devices should show up like "ugenX" devices. > > Then install "/usr/ports/sysutils/udesc_dump" and run this command on all > > /dev/ugenX instances. Redirect the contents to a set of files and upload > > them somewhere. I want to have a look at the descriptors. Maybe there is > > a USB descriptor that you can detect, that makes a keyboard an Apple > > keyboard. That will be more generic than adding these quirks! > > The output of udesc_dump is attached. ugen3 is what you really wanted to > take a look. > Yes, there it is. I suggest you do the following. Try to cat the various interrupt endpoints, for example /dev/ugen3.X and see if you get anything. Really, I think that FreeBSD 7-current should be able to handle more than one inputdevice! Second, compile your kernel with "options USB_DEBUG". Then "sysctl hw.usb.ums.debug=15". On which mouse device do you get data when you move the mouse ? Or maybe you get no data at all. Anyway, I would object to your patch. Try to get moused fixed or whatever so that it works. --HPS From owner-p4-projects@FreeBSD.ORG Wed Jul 25 19:07:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 887F316A420; Wed, 25 Jul 2007 19:07:23 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4A92216A419 for ; Wed, 25 Jul 2007 19:07:23 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 35EA713C494 for ; Wed, 25 Jul 2007 19:07:23 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PJ7N9X070511 for ; Wed, 25 Jul 2007 19:07:23 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PJ7Mh8070508 for perforce@freebsd.org; Wed, 25 Jul 2007 19:07:22 GMT (envelope-from thioretic@FreeBSD.org) Date: Wed, 25 Jul 2007 19:07:22 GMT Message-Id: <200707251907.l6PJ7Mh8070508@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 19:07:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=124098 Change 124098 by thioretic@thioretic on 2007/07/25 19:06:25 Modify root_bus_module_handler() according new realities. Some cleanups. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#21 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#21 (text+ko) ==== @@ -809,6 +809,14 @@ static driverinfo_list_t driverinfos = TAILQ_HEAD_INITIALIZER(driverinfos); +/** + * @internal + * + * Is used, when a driver s used in an API function, + * but is not in driverinfos. Eg. may happen, if + * device_set_driver is called by a bus with driver, set + * to kobj_class, which wasn't registered by DRIVER_MODULE(). + */ static drv_internal_t driverinfo_create_driver_drv_internal (driver_t *driver){ drv_internal_t new_drv; @@ -850,6 +858,7 @@ return (NULL); di->driver = driver->devops; di->flags = driver->flags; + di->topology_ops = kobj_create (di->driver, M_BUS, M_NOWAIT|M_ZERO); TAILQ_INSERT_TAIL(&driverinfos, di, link); bus_data_generation_update(); @@ -1410,7 +1419,6 @@ if (!drv_intnl && !(di = driverinfo_add_driver(intnl))) if (drv_intnl) free (drv_intnl); } - di->topology_ops = kobj_create (di->driver, M_BUS, M_NOWAIT|M_ZERO); /* * Make sure the devclass which the driver is implementing exists. @@ -2006,7 +2014,7 @@ device_set_driver (dev, driver); if (DEVICE_PROBE(dev)<=0){ - driver_attach(dev); + device_attach(dev); } } @@ -3348,11 +3356,14 @@ device_set_devclass(dev, 0); TAILQ_REMOVE(&dev->drivers[dev->driver_level], dev->driver, link); free(dev->driver); - device_sysctl_fini(dev); +// device_sysctl_fini(dev); if(!dev->raw){ dev->state = (dev->driver_level == DRL_LOWEST) ? DS_NOTPRESENT : DS_ATTACHED; } + dev->driver = (!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) ? + TAILQ_FIRST(&dev->drivers[DRL_LOWEST]) : NULL; + dev->driver_level=DRL_LOWEST; return (error); } @@ -4361,7 +4372,7 @@ device_t parent; parent = device_get_parent (dev); if (!parent) - return (0); + return (NULL); return (BUS_ALLOC_RESOURCE(parent, dev, type, rid, start, end, count, flags)); } @@ -4670,10 +4681,9 @@ case MOD_LOAD: TAILQ_INIT(&bus_data_devices); kobj_class_compile((kobj_class_t) &root_driver); - root_bus = make_device(NULL, "root", 0/*, NULL*/); + root_bus = make_device(NULL, "root", 0); root_bus->desc = "System root bus"; - kobj_init((kobj_t) root_bus, (kobj_class_t) &root_driver); - root_bus->driver = &root_driver; + device_set_driver(root_bus, root_driver); root_bus->state = DS_ATTACHED; root_devclass = devclass_find_internal("root", 0, FALSE, FALSE); devinit(); @@ -4749,7 +4759,7 @@ *out = malloc (sizeof(char*)*(count+1), M_BUS, M_NOWAIT|M_ZERO); count=0; do { - while (*ptr!='|' && *ptr!='\0') num++, ptr++; + while (*ptr!='|' && *ptr!='\0') {num++; ptr++;} newpar = malloc ((num+1)*sizeof(char), M_BUS, M_NOWAIT|M_ZERO); if (!newpar) return(0); strlcpy(newpar, cptr, num+1); @@ -4965,8 +4975,8 @@ (dev->flags&DF_WILDCARD? "wildcard,":""), (dev->flags&DF_DESCMALLOCED? "descmalloced,":""), (dev->flags&DF_REBID? "rebiddable,":""), - (dev->ivars? "":"no "), - ((TAILQ_FIRST(&(dev->drivers[DRL_LOWEST])))->softc? "":"no "), + ((!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) && (TAILQ_FIRST(&dev->drivers[DRL_LOWEST]))->ivars? "":"no "), + ((!TAILQ_EMPTY(&dev->drivers[DRL_LOWEST])) && (TAILQ_FIRST(&dev->drivers[DRL_LOWEST]))->softc? "":"no "), dev->busy)); } From owner-p4-projects@FreeBSD.ORG Wed Jul 25 19:14:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D724716A421; Wed, 25 Jul 2007 19:14:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8FF1016A417 for ; Wed, 25 Jul 2007 19:14:32 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7BE3613C458 for ; Wed, 25 Jul 2007 19:14:32 +0000 (UTC) (envelope-from thioretic@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PJEWSE071202 for ; Wed, 25 Jul 2007 19:14:32 GMT (envelope-from thioretic@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PJEWr2071199 for perforce@freebsd.org; Wed, 25 Jul 2007 19:14:32 GMT (envelope-from thioretic@FreeBSD.org) Date: Wed, 25 Jul 2007 19:14:32 GMT Message-Id: <200707251914.l6PJEWr2071199@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to thioretic@FreeBSD.org using -f From: Maxim Zhuravlev To: Perforce Change Reviews Cc: Subject: PERFORCE change 124099 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 19:14:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=124099 Change 124099 by thioretic@thioretic on 2007/07/25 19:14:24 Need to attach root_bus to set things up. Affected files ... .. //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#22 edit Differences ... ==== //depot/projects/soc2007/thioretic_gidl/kern/subr_bus.c#22 (text+ko) ==== @@ -4649,8 +4649,14 @@ return (-1); } +static int +root_attach(device_t dev){ + return (0); +} + static kobj_method_t root_methods[] = { /* Device interface */ + KOBJMETHOD(device_attach, root_attach), KOBJMETHOD(device_shutdown, bus_generic_shutdown), KOBJMETHOD(device_suspend, bus_generic_suspend), KOBJMETHOD(device_resume, root_resume), @@ -4684,7 +4690,7 @@ root_bus = make_device(NULL, "root", 0); root_bus->desc = "System root bus"; device_set_driver(root_bus, root_driver); - root_bus->state = DS_ATTACHED; + device_attach(root_bus); root_devclass = devclass_find_internal("root", 0, FALSE, FALSE); devinit(); return (0); From owner-p4-projects@FreeBSD.ORG Wed Jul 25 19:15:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B159416A41F; Wed, 25 Jul 2007 19:15:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88C5216A417 for ; Wed, 25 Jul 2007 19:15:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 74B4913C458 for ; Wed, 25 Jul 2007 19:15:34 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PJFYmk071315 for ; Wed, 25 Jul 2007 19:15:34 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PJFYMg071312 for perforce@freebsd.org; Wed, 25 Jul 2007 19:15:34 GMT (envelope-from gonzo@FreeBSD.org) Date: Wed, 25 Jul 2007 19:15:34 GMT Message-Id: <200707251915.l6PJFYMg071312@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 124100 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 19:15:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=124100 Change 124100 by gonzo@gonzo_jeeves on 2007/07/25 19:14:34 o Fix libc with softfloat build Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/Makefile.inc#3 edit .. //depot/projects/mips2/src/lib/libc/mips/softfloat/softfloat.h#2 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/Makefile.inc#3 (text+ko) ==== @@ -1,4 +1,8 @@ # $NetBSD: Makefile.inc,v 1.7 2005/09/17 11:49:39 tsutsui Exp $ +SOFTFLOAT_BITS=32 + +CFLAGS+=-DSOFTFLOAT + MDSRCS+= machdep_ldisd.c SYM_MAPS+= ${.CURDIR}/mips/Symbol.map ==== //depot/projects/mips2/src/lib/libc/mips/softfloat/softfloat.h#2 (text+ko) ==== @@ -71,7 +71,9 @@ Software IEC/IEEE floating-point underflow tininess-detection mode. ------------------------------------------------------------------------------- */ +#ifndef SOFTFLOAT_FOR_GCC extern int float_detect_tininess; +#endif enum { float_tininess_after_rounding = 0, float_tininess_before_rounding = 1 From owner-p4-projects@FreeBSD.ORG Wed Jul 25 21:58:57 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D136E16A41B; Wed, 25 Jul 2007 21:58:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E48516A417 for ; Wed, 25 Jul 2007 21:58:56 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8A48D13C465 for ; Wed, 25 Jul 2007 21:58:56 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PLwuQQ091029 for ; Wed, 25 Jul 2007 21:58:56 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PLwu4J091026 for perforce@freebsd.org; Wed, 25 Jul 2007 21:58:56 GMT (envelope-from anchie@FreeBSD.org) Date: Wed, 25 Jul 2007 21:58:56 GMT Message-Id: <200707252158.l6PLwu4J091026@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 21:58:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=124102 Change 124102 by anchie@anchie_malimis on 2007/07/25 21:58:43 Fix: introduced virtualized symbols for IPSec SAD and SPD databases. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/key.c#8 edit .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#7 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/key.c#8 (text+ko) ==== ==== //depot/projects/vimage/src/sys/netipsec/vipsec.h#7 (text+ko) ==== @@ -114,6 +114,9 @@ struct key_cb _key_cb; struct sockaddr _key_dst; struct sockaddr _key_src; + + LIST_HEAD(, secpolicy) _sptree[IPSEC_DIR_MAX]; + LIST_HEAD(, secashead) _sahtree; }; #endif @@ -176,4 +179,6 @@ #define V_key_cb VNET_IPSEC(key_cb) #define V_key_dst VNET_IPSEC(key_dst) #define V_key_src VNET_IPSEC(key_src) +#define V_sptree VNET_IPSEC(sptree) +#define V_sahtree VNET_IPSEC(sahtree) #endif /* !_NETIPSEC_VIPSEC_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Jul 25 23:20:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 524BD16A469; Wed, 25 Jul 2007 23:20:38 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0F0E616A41A for ; Wed, 25 Jul 2007 23:20:38 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id F08D313C481 for ; Wed, 25 Jul 2007 23:20:37 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PNKbjN098636 for ; Wed, 25 Jul 2007 23:20:37 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PNKbjo098633 for perforce@freebsd.org; Wed, 25 Jul 2007 23:20:37 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 25 Jul 2007 23:20:37 GMT Message-Id: <200707252320.l6PNKbjo098633@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124103 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 23:20:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=124103 Change 124103 by zec@zec_tca51 on 2007/07/25 23:20:21 Introduce a macro for checking whether a vnet is the default vnet (vnet_0) or not. This change will probably start making more sense once vnet_0 gets nuked (soon). Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_vimage.c#26 edit .. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#9 edit .. //depot/projects/vimage/src/sys/net/if.c#15 edit .. //depot/projects/vimage/src/sys/net/if_loop.c#14 edit .. //depot/projects/vimage/src/sys/netgraph/ng_base.c#10 edit .. //depot/projects/vimage/src/sys/netinet/igmp.c#9 edit .. //depot/projects/vimage/src/sys/netinet/ip_input.c#17 edit .. //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#14 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#21 edit .. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#8 edit .. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/frag6.c#7 edit .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#10 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#15 edit .. //depot/projects/vimage/src/sys/netinet6/scope6.c#9 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#10 edit .. //depot/projects/vimage/src/sys/netipsec/key.c#9 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ah.c#7 edit .. //depot/projects/vimage/src/sys/netipsec/xform_esp.c#6 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#5 edit .. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#7 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#24 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_vimage.c#26 (text+ko) ==== @@ -601,9 +601,7 @@ TAILQ_INIT(&vnet_modlink_head); - /* - * We MUST clear curvnet in vi_init_done before going SMP. - */ + /* We MUST clear curvnet in vi_init_done before going SMP. */ curvnet = &vnet_0; } ==== //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#9 (text+ko) ==== @@ -1654,7 +1654,7 @@ { #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif unp_zone = uma_zcreate("unpcb", sizeof(struct unpcb), NULL, NULL, ==== //depot/projects/vimage/src/sys/net/if.c#15 (text+ko) ==== @@ -335,7 +335,7 @@ #endif IFNET_LOCK_INIT(); #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { INIT_VNET_NET(curvnet); #endif ifdev_byindex(0) = make_dev(&net_cdevsw, 0, @@ -353,7 +353,7 @@ #ifdef VIMAGE struct vnet_net *vnet_net; - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { vnet_net = &vnet_net_0; } else { vnet_net = malloc(sizeof(struct vnet_net), @@ -422,7 +422,7 @@ int s; #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) panic("if_check() called for a non-default vimage!?!"); #endif @@ -590,7 +590,7 @@ #endif #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif ifdev_byindex(ifp->if_index) = make_dev(&net_cdevsw, unit2minor(ifp->if_index), @@ -843,7 +843,7 @@ */ ifp->if_addr = NULL; #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif destroy_dev(ifdev_byindex(ifp->if_index)); #ifdef VIMAGE ==== //depot/projects/vimage/src/sys/net/if_loop.c#14 (text+ko) ==== @@ -196,7 +196,7 @@ LIST_INIT(&V_lo_list); #ifdef VIMAGE - if (curvnet == &vnet_0) + if (IS_VNET_0(curvnet)) if_clone_attach(&lo_cloner); else lo_cloner.ifc_attach(&lo_cloner); ==== //depot/projects/vimage/src/sys/netgraph/ng_base.c#10 (text+ko) ==== @@ -3215,7 +3215,7 @@ #ifdef VIMAGE struct vnet_netgraph *vnet_netgraph; - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { vnet_netgraph = &vnet_netgraph_0; } else { vnet_netgraph = malloc(sizeof(struct vnet_netgraph), ==== //depot/projects/vimage/src/sys/netinet/igmp.c#9 (text+ko) ==== @@ -125,7 +125,7 @@ struct ipoption *ra; #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif /* * To avoid byte-swapping the same value over and over again. ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#17 (text+ko) ==== @@ -243,7 +243,7 @@ #ifdef VIMAGE struct vnet_inet *vnet_inet; - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { vnet_mod_register(&vnet_inet_modinfo); vnet_inet = &vnet_inet_0; } else { @@ -299,11 +299,8 @@ V_ip_checkinterface = 0; #ifdef VIMAGE - /* - * Skip global initialization stuff - * for non-default instances. - */ - if (curvnet != &vnet_0) + /* Skip initialization of globals for non-default instances. */ + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet/tcp_hostcache.c#14 (text+ko) ==== @@ -223,7 +223,7 @@ uma_zone_set_max(V_tcp_hostcache.zone, V_tcp_hostcache.cache_limit); #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#21 (text+ko) ==== @@ -268,7 +268,7 @@ INIT_VNET_INET(curvnet); #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif tcp_ipi_zone = uma_zcreate("inpcb", sizeof(struct inpcb), NULL, NULL, tcp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); @@ -363,7 +363,7 @@ tcp_hc_init(); #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#8 (text+ko) ==== @@ -170,7 +170,7 @@ TAILQ_INIT(&V_twq_2msl); #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#16 (text+ko) ==== @@ -174,7 +174,7 @@ INIT_VNET_INET(curvnet); #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif udp_ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL, NULL, udp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE); ==== //depot/projects/vimage/src/sys/netinet6/frag6.c#7 (text+ko) ==== @@ -108,7 +108,7 @@ V_ip6q.ip6q_next = V_ip6q.ip6q_prev = &V_ip6q; #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ip6_maxfragpackets = nmbclusters / 4; ==== //depot/projects/vimage/src/sys/netinet6/in6_src.c#10 (text+ko) ==== @@ -855,7 +855,7 @@ V_defaultaddrpolicy.label = ADDR_LABEL_NOTAPP; #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#15 (text+ko) ==== @@ -176,7 +176,7 @@ #ifdef VIMAGE struct vnet_inet6 *vnet_inet6; - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { vnet_mod_register(&vnet_inet6_modinfo); vnet_inet6 = &vnet_inet6_0; } else { @@ -199,7 +199,7 @@ * Skip global initialization stuff * for non-default instances. */ - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netinet6/scope6.c#9 (text+ko) ==== @@ -82,7 +82,7 @@ bzero(&V_sid_default, sizeof(V_sid_default)); #ifdef VIMAGE - if (curvnet != &vnet_0) + if (!IS_VNET_0(curvnet)) return; #endif ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#10 (text+ko) ==== @@ -2004,7 +2004,7 @@ #ifdef VIMAGE struct vnet_ipsec *vnet_ipsec; - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { vnet_ipsec = &vnet_ipsec_0; } else { vnet_ipsec = malloc(sizeof(struct vnet_ipsec), ==== //depot/projects/vimage/src/sys/netipsec/key.c#9 (text+ko) ==== @@ -7173,7 +7173,7 @@ V_ipsec_esp_auth = 0; V_ipsec_ah_keymin = 128; #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (!IS_VNET_0(curvnet)) { #endif SPTREE_LOCK_INIT(); REGTREE_LOCK_INIT(); @@ -7200,12 +7200,9 @@ #ifndef IPSEC_DEBUG2 #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) #endif timeout((void *)key_timehandler, (void *)0, hz); -#ifdef VIMAGE - } -#endif #endif /*IPSEC_DEBUG2*/ /* initialize key statistics */ ==== //depot/projects/vimage/src/sys/netipsec/xform_ah.c#7 (text+ko) ==== @@ -1254,12 +1254,9 @@ V_ah_cleartos = 1; /* clear ip_tos when doing AH calc */ #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) #endif xform_register(&ah_xformsw); -#ifdef VIMAGE - } -#endif return 0; } ==== //depot/projects/vimage/src/sys/netipsec/xform_esp.c#6 (text+ko) ==== @@ -1039,12 +1039,9 @@ MAXIV(enc_xform_camellia); /* SADB_X_EALG_CAMELLIACBC */ #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) #endif xform_register(&esp_xformsw); -#ifdef VIMAGE - } -#endif #undef MAXIV return 0; ==== //depot/projects/vimage/src/sys/netipsec/xform_ipcomp.c#5 (text+ko) ==== @@ -633,12 +633,10 @@ V_ipcomp_enable = 0; #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) #endif xform_register(&ipcomp_xformsw); -#ifdef VIMAGE - } -#endif + return 0; } ==== //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#7 (text+ko) ==== @@ -709,7 +709,7 @@ V_ipip_allow = 0; #ifdef VIMAGE - if (curvnet == &vnet_0) { + if (IS_VNET_0(curvnet)) { #endif xform_register(&ipe4_xformsw); /* attach to encapsulation framework */ ==== //depot/projects/vimage/src/sys/sys/vimage.h#24 (text+ko) ==== @@ -292,6 +292,7 @@ LIST_HEAD(vnet_list_head, vnet); extern struct vnet_list_head vnet_head; +#define IS_VNET_0(arg) ((arg) == &vnet_0 ? 1 : 0) /* * XXX The stuff bellow needs a major cleanup / rewrite from scratch. From owner-p4-projects@FreeBSD.ORG Wed Jul 25 23:25:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 749A316A468; Wed, 25 Jul 2007 23:25:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2B45016A417 for ; Wed, 25 Jul 2007 23:25:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 00F1A13C45D for ; Wed, 25 Jul 2007 23:25:45 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6PNPi8S098995 for ; Wed, 25 Jul 2007 23:25:44 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6PNPitQ098992 for perforce@freebsd.org; Wed, 25 Jul 2007 23:25:44 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 25 Jul 2007 23:25:44 GMT Message-Id: <200707252325.l6PNPitQ098992@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124104 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jul 2007 23:25:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=124104 Change 124104 by zec@zec_tca51 on 2007/07/25 23:24:58 Fix a typo introduced in previous change. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/key.c#10 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/key.c#10 (text+ko) ==== @@ -7173,7 +7173,7 @@ V_ipsec_esp_auth = 0; V_ipsec_ah_keymin = 128; #ifdef VIMAGE - if (!IS_VNET_0(curvnet)) { + if (IS_VNET_0(curvnet)) { #endif SPTREE_LOCK_INIT(); REGTREE_LOCK_INIT(); From owner-p4-projects@FreeBSD.ORG Thu Jul 26 08:34:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5E92416A468; Thu, 26 Jul 2007 08:34:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1BE9416A417 for ; Thu, 26 Jul 2007 08:34:05 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B4A713C491 for ; Thu, 26 Jul 2007 08:34:05 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6Q8Y4uY064471 for ; Thu, 26 Jul 2007 08:34:04 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6Q8Y4gG064468 for perforce@freebsd.org; Thu, 26 Jul 2007 08:34:04 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 26 Jul 2007 08:34:04 GMT Message-Id: <200707260834.l6Q8Y4gG064468@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124108 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 08:34:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=124108 Change 124108 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/26 08:33:42 There is no /var/log/mactest at the beginning, touch one Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#12 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#12 (text+ko) ==== @@ -61,6 +61,8 @@ fi touch ${tmp_file1} + touch /var/log/mactest + #set equal label to above files # label=`getfmac "."| sed 's/\(\.:\ \)\([a-z\,\/]*\)/\2/` # label1=`echo ${label}|sed 's/\/[a-z:0-9\+]*/\/equal/g` From owner-p4-projects@FreeBSD.ORG Thu Jul 26 08:54:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AD42B16A41A; Thu, 26 Jul 2007 08:54:27 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6991E16A419 for ; Thu, 26 Jul 2007 08:54:27 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by mx1.freebsd.org (Postfix) with ESMTP id EFD9D13C458 for ; Thu, 26 Jul 2007 08:54:26 +0000 (UTC) (envelope-from rpaulo@fnop.net) Received: from core.fnop.net (mx.fnop.net [82.102.11.82]) by core.fnop.net (Postfix) with ESMTP id CA19F690EB1; Thu, 26 Jul 2007 09:47:50 +0100 (WEST) Received: by core.fnop.net (Postfix, from userid 1015) id 8AF9E690EB5; Thu, 26 Jul 2007 09:47:50 +0100 (WEST) X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on core.fnop.net X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=AWL,BAYES_00, RCVD_IN_SORBS_DUL,RCVD_IN_SORBS_WEB autolearn=no version=3.1.7 Received: from epsilon.local (unknown [83.144.140.90]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by core.fnop.net (Postfix) with ESMTP id D788D690EB1; Thu, 26 Jul 2007 09:47:49 +0100 (WEST) Message-ID: <46A8613D.8020601@fnop.net> Date: Thu, 26 Jul 2007 09:54:21 +0100 From: Rui Paulo User-Agent: Thunderbird 2.0.0.4 (X11/20070704) MIME-Version: 1.0 To: Hans Petter Selasky References: <200707121918.l6CJIFkI094946@repoman.freebsd.org> <200707131604.22648.hselasky@c2i.net> <46A5FF7A.1090803@fnop.net> <200707251852.55254.hselasky@c2i.net> In-Reply-To: <200707251852.55254.hselasky@c2i.net> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: Perforce Change Reviews Subject: Re: PERFORCE change 123399 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 08:54:28 -0000 Hans Petter Selasky wrote: > On Tuesday 24 July 2007, Rui Paulo wrote: >> Hans Petter Selasky wrote: >>> Remove all USB device drivers from your kernel config file, except >>> "device ugen". All your USB devices should show up like "ugenX" devices. >>> Then install "/usr/ports/sysutils/udesc_dump" and run this command on all >>> /dev/ugenX instances. Redirect the contents to a set of files and upload >>> them somewhere. I want to have a look at the descriptors. Maybe there is >>> a USB descriptor that you can detect, that makes a keyboard an Apple >>> keyboard. That will be more generic than adding these quirks! >> The output of udesc_dump is attached. ugen3 is what you really wanted to >> take a look. >> > > Yes, there it is. > > I suggest you do the following. > > Try to cat the various interrupt endpoints, for example /dev/ugen3.X and see > if you get anything. > > Really, I think that FreeBSD 7-current should be able to handle more than one > inputdevice! I think there's a communication problem here. I didn't say that there was something broken WRT handling multiple devices. That works just fine. The problem is about this specific device. For some reason yet to be found, running moused on this device and then making it detach (via HID to HCI) makes it impossible to interact with X11 using any other pointer device (internal USB touchpad, external mouse, etc.). The device in fact is not a real mouse, but a Bluetooth controller in HID mode. Either way, I'll see what I can do to fix this. Regards. -- Rui Paulo From owner-p4-projects@FreeBSD.ORG Thu Jul 26 09:38:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 75BF616A420; Thu, 26 Jul 2007 09:38:26 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3CC916A41B for ; Thu, 26 Jul 2007 09:38:25 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B439D13C45E for ; Thu, 26 Jul 2007 09:38:25 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6Q9cPmS084584 for ; Thu, 26 Jul 2007 09:38:25 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6Q9cPHY084581 for perforce@freebsd.org; Thu, 26 Jul 2007 09:38:25 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 26 Jul 2007 09:38:25 GMT Message-Id: <200707260938.l6Q9cPHY084581@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124109 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 09:38:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=124109 Change 124109 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/26 09:37:56 test case for mdconfig which open /dev/mdctl with rdonnly flags Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mdconfig#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mdconfig.c#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#4 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mdconfig/00.t#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#13 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#3 (text+ko) ==== @@ -6,13 +6,15 @@ #CFLAGS+=-DHAS_TRUNCATE64 #CFLAGS+=-DHAS_STAT64 -all: macproc mactest +all: macproc mactest mdconfigopenrdonly macproc: macproc.c gcc -Wall ${CFLAGS} macproc.c -o macproc -lutil mactest: mactest.c mactestparser.tab.c gcc ${CFLAGS} mactest.c mactestparser.tab.c -o mactest +mdconfigopenrdonly: mdconfig.c + gcc ${CFLAGS} -o mdconfigopenrdonly mdconfig.c -lutil -lgeom -lbsdxml -lsbuf clean: rm -f macproc ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/link/01.t#4 (text+ko) ==== @@ -80,7 +80,12 @@ #case 10: lookup the previous touched file mactestexpect "" ${n1} -m "mls/low(low-high)" -f ${mactest_conf} system ls ${n2} - umount ${n2} + +#case 11: unmount + mactestexpect "" "" -m "mls/low(low-high)" -f ${mactest_conf} system umount ${n2} + +#case 12: detach + mactestexpect "" "*" -m "mls/low(low-high)" -f ${mactest_conf} system mdconfig -d -u ${mdnum} #cleanup: t=`sysctl security.mac.mls.enabled=0` echo "disabling mac/mls!" ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#13 (text+ko) ==== @@ -17,6 +17,7 @@ macproc="${maindir}/macproc" mactest="${maindir}/mactest" +mdconfigopenrdonly="${maindir}/mdconfigopenrdonly" . ${maindir}/tests/conf From owner-p4-projects@FreeBSD.ORG Thu Jul 26 09:39:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CF19A16A46C; Thu, 26 Jul 2007 09:39:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACD6416A41B for ; Thu, 26 Jul 2007 09:39:27 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 82DAB13C474 for ; Thu, 26 Jul 2007 09:39:27 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6Q9dRlU084638 for ; Thu, 26 Jul 2007 09:39:27 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6Q9dRP4084635 for perforce@freebsd.org; Thu, 26 Jul 2007 09:39:27 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Thu, 26 Jul 2007 09:39:27 GMT Message-Id: <200707260939.l6Q9dRP4084635@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 124110 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 09:39:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=124110 Change 124110 by zhouzhouyi@zhouzhouyi_mactest on 2007/07/26 09:38:55 Delete object file mdconfig Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mdconfig#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Thu Jul 26 15:52:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A93516A41A; Thu, 26 Jul 2007 15:52:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0955116A419 for ; Thu, 26 Jul 2007 15:52:02 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ECF9713C46E for ; Thu, 26 Jul 2007 15:52:01 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6QFq1Ka024882 for ; Thu, 26 Jul 2007 15:52:01 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6QFq1S8024879 for perforce@freebsd.org; Thu, 26 Jul 2007 15:52:01 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 26 Jul 2007 15:52:01 GMT Message-Id: <200707261552.l6QFq1S8024879@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124120 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 15:52:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=124120 Change 124120 by anchie@anchie_malimis on 2007/07/26 15:51:14 Fixed manipulation with IPSec databases for different vnets. Affected files ... .. //depot/projects/vimage/src/sys/netipsec/key.c#11 edit .. //depot/projects/vimage/src/sys/netipsec/vipsec.h#8 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#25 edit Differences ... ==== //depot/projects/vimage/src/sys/netipsec/key.c#11 (text+ko) ==== @@ -130,7 +130,22 @@ static u_int32_t acq_seq = 0; #endif + +static int key_iattach(void *); +static int key_idetach(void *); + +#ifdef VIMAGE +static struct vnet_modinfo vnet_key_modinfo = { + .id = VNET_MOD_KEY, + .name = "key", + .i_attach = key_iattach, + .i_detach = key_idetach +}; +#endif + +#ifndef VIMAGE static LIST_HEAD(_sptree, secpolicy) sptree[IPSEC_DIR_MAX]; /* SPD */ +#endif static struct mtx sptree_lock; #define SPTREE_LOCK_INIT() \ mtx_init(&sptree_lock, "sptree", \ @@ -140,7 +155,9 @@ #define SPTREE_UNLOCK() mtx_unlock(&sptree_lock) #define SPTREE_LOCK_ASSERT() mtx_assert(&sptree_lock, MA_OWNED) +#ifndef VIMAGE static LIST_HEAD(_sahtree, secashead) sahtree; /* SAD */ +#endif static struct mtx sahtree_lock; #define SAHTREE_LOCK_INIT() \ mtx_init(&sahtree_lock, "sahtree", \ @@ -150,7 +167,9 @@ #define SAHTREE_UNLOCK() mtx_unlock(&sahtree_lock) #define SAHTREE_LOCK_ASSERT() mtx_assert(&sahtree_lock, MA_OWNED) /* registed list */ +#ifndef VIMAGE static LIST_HEAD(_regtree, secreg) regtree[SADB_SATYPE_MAX + 1]; +#endif static struct mtx regtree_lock; #define REGTREE_LOCK_INIT() \ mtx_init(®tree_lock, "regtree", "fast ipsec regtree", MTX_DEF) @@ -159,7 +178,9 @@ #define REGTREE_UNLOCK() mtx_unlock(®tree_lock) #define REGTREE_LOCK_ASSERT() mtx_assert(®tree_lock, MA_OWNED) +#ifndef VIMAGE static LIST_HEAD(_acqtree, secacq) acqtree; /* acquiring list */ +#endif static struct mtx acq_lock; #define ACQ_LOCK_INIT() \ mtx_init(&acq_lock, "acqtree", "fast ipsec acquire list", MTX_DEF) @@ -168,7 +189,9 @@ #define ACQ_UNLOCK() mtx_unlock(&acq_lock) #define ACQ_LOCK_ASSERT() mtx_assert(&acq_lock, MA_OWNED) +#ifndef VIMAGE static LIST_HEAD(_spacqtree, secspacq) spacqtree; /* SP acquiring list */ +#endif static struct mtx spacq_lock; #define SPACQ_LOCK_INIT() \ mtx_init(&spacq_lock, "spacqtree", \ @@ -558,8 +581,9 @@ int key_havesp(u_int dir) { + INIT_VNET_IPSEC(curvnet); return (dir == IPSEC_DIR_INBOUND || dir == IPSEC_DIR_OUTBOUND ? - LIST_FIRST(&sptree[dir]) != NULL : 1); + LIST_FIRST(&V_sptree[dir]) != NULL : 1); } /* %%% IPsec policy management */ @@ -588,7 +612,7 @@ kdebug_secpolicyindex(spidx)); SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { KEYDEBUG(KEYDEBUG_IPSEC_DATA, printf("*** in SPD\n"); kdebug_secpolicyindex(&sp->spidx)); @@ -646,7 +670,7 @@ kdebug_sockaddr(&dst->sa)); SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { KEYDEBUG(KEYDEBUG_IPSEC_DATA, printf("*** in SPD\n"); kdebug_secpolicyindex(&sp->spidx)); @@ -708,7 +732,7 @@ } SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { if (sp->state == IPSEC_SPSTATE_DEAD) continue; @@ -869,7 +893,7 @@ const u_int *state_valid; SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, saidx, CMP_MODE_REQID)) { @@ -1081,7 +1105,7 @@ saorder_state_valid = saorder_state_valid_prefer_new; arraysize = _ARRAYLEN(saorder_state_valid_prefer_new); } - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { /* search valid state */ for (stateidx = 0; stateidx < arraysize; stateidx++) { state = saorder_state_valid[stateidx]; @@ -1280,12 +1304,13 @@ static struct secpolicy * key_getsp(struct secpolicyindex *spidx) { + INIT_VNET_IPSEC(curvnet); struct secpolicy *sp; IPSEC_ASSERT(spidx != NULL, ("null spidx")); SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[spidx->dir], chain) { + LIST_FOREACH(sp, &V_sptree[spidx->dir], chain) { if (sp->state == IPSEC_SPSTATE_DEAD) continue; if (key_cmpspidx_exactly(spidx, &sp->spidx)) { @@ -1306,10 +1331,11 @@ static struct secpolicy * key_getspbyid(u_int32_t id) { + INIT_VNET_IPSEC(curvnet); struct secpolicy *sp; SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[IPSEC_DIR_INBOUND], chain) { + LIST_FOREACH(sp, &V_sptree[IPSEC_DIR_INBOUND], chain) { if (sp->state == IPSEC_SPSTATE_DEAD) continue; if (sp->id == id) { @@ -1318,7 +1344,7 @@ } } - LIST_FOREACH(sp, &sptree[IPSEC_DIR_OUTBOUND], chain) { + LIST_FOREACH(sp, &V_sptree[IPSEC_DIR_OUTBOUND], chain) { if (sp->state == IPSEC_SPSTATE_DEAD) continue; if (sp->id == id) { @@ -1923,7 +1949,7 @@ newsp->refcnt = 1; /* do not reclaim until I say I do */ newsp->state = IPSEC_SPSTATE_ALIVE; - LIST_INSERT_TAIL(&sptree[newsp->spidx.dir], newsp, secpolicy, chain); + LIST_INSERT_TAIL(&V_sptree[newsp->spidx.dir], newsp, secpolicy, chain); /* delete the entry in spacqtree */ if (mhp->msg->sadb_msg_type == SADB_X_SPDUPDATE) { @@ -2355,7 +2381,7 @@ for (dir = 0; dir < IPSEC_DIR_MAX; dir++) { SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[dir], chain) + LIST_FOREACH(sp, &V_sptree[dir], chain) sp->state = IPSEC_SPSTATE_DEAD; SPTREE_UNLOCK(); } @@ -2393,6 +2419,7 @@ struct mbuf *m; const struct sadb_msghdr *mhp; { + INIT_VNET_IPSEC(curvnet); struct secpolicy *sp; int cnt; u_int dir; @@ -2406,7 +2433,7 @@ /* search SPD entry and get buffer size. */ cnt = 0; for (dir = 0; dir < IPSEC_DIR_MAX; dir++) { - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { cnt++; } } @@ -2415,7 +2442,7 @@ return key_senderror(so, m, ENOENT); for (dir = 0; dir < IPSEC_DIR_MAX; dir++) { - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { --cnt; n = key_setdumpsp(sp, SADB_X_SPDDUMP, cnt, mhp->msg->sadb_msg_pid); @@ -2638,6 +2665,7 @@ key_newsah(saidx) struct secasindex *saidx; { + INIT_VNET_IPSEC(curvnet); struct secashead *newsah; IPSEC_ASSERT(saidx != NULL, ("null saidx")); @@ -2653,7 +2681,7 @@ newsah->state = SADB_SASTATE_MATURE; SAHTREE_LOCK(); - LIST_INSERT_HEAD(&sahtree, newsah, chain); + LIST_INSERT_HEAD(&V_sahtree, newsah, chain); SAHTREE_UNLOCK(); } return(newsah); @@ -2890,10 +2918,11 @@ key_getsah(saidx) struct secasindex *saidx; { + INIT_VNET_IPSEC(curvnet); struct secashead *sah; SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, saidx, CMP_REQID)) @@ -2930,7 +2959,7 @@ sav = NULL; /* check all SAD */ SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (!key_ismyaddr((struct sockaddr *)&sah->saidx.dst)) continue; sav = key_getsavbyspi(sah, spi); @@ -4088,6 +4117,7 @@ static void key_flush_spd(time_t now) { + INIT_VNET_IPSEC(curvnet); static u_int16_t sptree_scangen = 0; u_int16_t gen = sptree_scangen++; struct secpolicy *sp; @@ -4097,7 +4127,7 @@ for (dir = 0; dir < IPSEC_DIR_MAX; dir++) { restart: SPTREE_LOCK(); - LIST_FOREACH(sp, &sptree[dir], chain) { + LIST_FOREACH(sp, &V_sptree[dir], chain) { if (sp->scangen == gen) /* previously handled */ continue; sp->scangen = gen; @@ -4131,7 +4161,7 @@ /* SAD */ SAHTREE_LOCK(); - LIST_FOREACH_SAFE(sah, &sahtree, chain, nextsah) { + LIST_FOREACH_SAFE(sah, &V_sahtree, chain, nextsah) { /* if sah has been dead, then delete it and process next sah. */ if (sah->state == SADB_SASTATE_DEAD) { key_delsah(sah); @@ -4269,7 +4299,7 @@ /* ACQ tree */ ACQ_LOCK(); - for (acq = LIST_FIRST(&acqtree); acq != NULL; acq = nextacq) { + for (acq = LIST_FIRST(&V_acqtree); acq != NULL; acq = nextacq) { nextacq = LIST_NEXT(acq, chain); if (now - acq->created > V_key_blockacq_lifetime && __LIST_CHAINED(acq)) { @@ -4288,7 +4318,7 @@ /* SP ACQ tree */ SPACQ_LOCK(); - for (acq = LIST_FIRST(&spacqtree); acq != NULL; acq = nextacq) { + for (acq = LIST_FIRST(&V_spacqtree); acq != NULL; acq = nextacq) { nextacq = LIST_NEXT(acq, chain); if (now - acq->created > V_key_blockacq_lifetime && __LIST_CHAINED(acq)) { @@ -5208,7 +5238,7 @@ /* get a SA header */ SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0) @@ -5277,7 +5307,7 @@ KEY_SETSECASIDX(proto, IPSEC_MODE_ANY, 0, src0 + 1, dst0 + 1, &saidx); SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0) @@ -5393,7 +5423,7 @@ /* get a SA header */ SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, &saidx, CMP_HEAD) == 0) @@ -5904,7 +5934,7 @@ /* add to acqtree */ ACQ_LOCK(); - LIST_INSERT_HEAD(&acqtree, newacq, chain); + LIST_INSERT_HEAD(&V_acqtree, newacq, chain); ACQ_UNLOCK(); return newacq; @@ -5913,10 +5943,11 @@ static struct secacq * key_getacq(const struct secasindex *saidx) { + INIT_VNET_IPSEC(curvnet); struct secacq *acq; ACQ_LOCK(); - LIST_FOREACH(acq, &acqtree, chain) { + LIST_FOREACH(acq, &V_acqtree, chain) { if (key_cmpsaidx(saidx, &acq->saidx, CMP_EXACTLY)) break; } @@ -5929,10 +5960,11 @@ key_getacqbyseq(seq) u_int32_t seq; { + INIT_VNET_IPSEC(curvnet); struct secacq *acq; ACQ_LOCK(); - LIST_FOREACH(acq, &acqtree, chain) { + LIST_FOREACH(acq, &V_acqtree, chain) { if (acq->seq == seq) break; } @@ -5962,7 +5994,7 @@ /* add to spacqtree */ SPACQ_LOCK(); - LIST_INSERT_HEAD(&spacqtree, acq, chain); + LIST_INSERT_HEAD(&V_spacqtree, acq, chain); SPACQ_UNLOCK(); return acq; @@ -5972,10 +6004,11 @@ key_getspacq(spidx) struct secpolicyindex *spidx; { + INIT_VNET_IPSEC(curvnet); struct secspacq *acq; SPACQ_LOCK(); - LIST_FOREACH(acq, &spacqtree, chain) { + LIST_FOREACH(acq, &V_spacqtree, chain) { if (key_cmpspidx_exactly(spidx, &acq->spidx)) { /* NB: return holding spacq_lock */ return acq; @@ -6087,7 +6120,7 @@ /* get a SA index */ SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (sah->state == SADB_SASTATE_DEAD) continue; if (key_cmpsaidx(&sah->saidx, &saidx, CMP_MODE_REQID)) @@ -6137,7 +6170,7 @@ IPSEC_ASSERT(mhp->msg != NULL, ("null msg")); /* check for invalid register message */ - if (mhp->msg->sadb_msg_satype >= sizeof(regtree)/sizeof(regtree[0])) + if (mhp->msg->sadb_msg_satype >= sizeof(V_regtree)/sizeof(V_regtree[0])) return key_senderror(so, m, EINVAL); /* When SATYPE_UNSPEC is specified, only return sabd_supported. */ @@ -6146,7 +6179,7 @@ /* check whether existing or not */ REGTREE_LOCK(); - LIST_FOREACH(reg, ®tree[mhp->msg->sadb_msg_satype], chain) { + LIST_FOREACH(reg, &V_regtree[mhp->msg->sadb_msg_satype], chain) { if (reg->so == so) { REGTREE_UNLOCK(); ipseclog((LOG_DEBUG, "%s: socket exists already.\n", @@ -6167,7 +6200,7 @@ ((struct keycb *)sotorawcb(so))->kp_registered++; /* add regnode to regtree. */ - LIST_INSERT_HEAD(®tree[mhp->msg->sadb_msg_satype], newreg, chain); + LIST_INSERT_HEAD(&V_regtree[mhp->msg->sadb_msg_satype], newreg, chain); REGTREE_UNLOCK(); setmsg: @@ -6283,6 +6316,7 @@ void key_freereg(struct socket *so) { + INIT_VNET_IPSEC(curvnet); struct secreg *reg; int i; @@ -6295,7 +6329,7 @@ */ REGTREE_LOCK(); for (i = 0; i <= SADB_SATYPE_MAX; i++) { - LIST_FOREACH(reg, ®tree[i], chain) { + LIST_FOREACH(reg, &V_regtree[i], chain) { if (reg->so == so && __LIST_CHAINED(reg)) { LIST_REMOVE(reg, chain); free(reg, M_IPSEC_SAR); @@ -6470,7 +6504,7 @@ /* no SATYPE specified, i.e. flushing all SA. */ SAHTREE_LOCK(); - for (sah = LIST_FIRST(&sahtree); + for (sah = LIST_FIRST(&V_sahtree); sah != NULL; sah = nextsah) { nextsah = LIST_NEXT(sah, chain); @@ -6559,7 +6593,7 @@ /* count sav entries to be sent to the userland. */ cnt = 0; SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (mhp->msg->sadb_msg_satype != SADB_SATYPE_UNSPEC && proto != sah->saidx.proto) continue; @@ -6581,7 +6615,7 @@ /* send this to the userland, one at a time. */ newmsg = NULL; - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { if (mhp->msg->sadb_msg_satype != SADB_SATYPE_UNSPEC && proto != sah->saidx.proto) continue; @@ -7144,7 +7178,19 @@ } void -key_init() +key_init(void) +{ +#ifdef VIMAGE + if (IS_VNET_0(curvnet)) + vnet_mod_register(&vnet_key_modinfo); +#else + key_iattach(NULL); +#endif + + return; +} + +static int key_iattach(unused) void *unused; { INIT_VNET_IPSEC(curvnet); int i; @@ -7184,15 +7230,15 @@ } #endif for (i = 0; i < IPSEC_DIR_MAX; i++) - LIST_INIT(&sptree[i]); + LIST_INIT(&V_sptree[i]); - LIST_INIT(&sahtree); + LIST_INIT(&V_sahtree); for (i = 0; i <= SADB_SATYPE_MAX; i++) - LIST_INIT(®tree[i]); + LIST_INIT(&V_regtree[i]); - LIST_INIT(&acqtree); - LIST_INIT(&spacqtree); + LIST_INIT(&V_acqtree); + LIST_INIT(&V_spacqtree); /* system default */ V_ip4_def_policy.policy = IPSEC_POLICY_NONE; @@ -7210,8 +7256,19 @@ printf("Fast IPsec: Initialized Security Association Processing.\n"); - return; + return 0; +} + +#ifdef VIMAGE +static int key_idetach(unused) void *unused; +{ + INIT_VNET_IPSEC(curvnet); + /* + * Flush: spdtree, sahtree, regtree, acqtree, sacqtree + */ + return 0; } +#endif /* * XXX: maybe This function is called after INBOUND IPsec processing. @@ -7283,11 +7340,12 @@ key_sa_routechange(dst) struct sockaddr *dst; { + INIT_VNET_IPSEC(curvnet); struct secashead *sah; struct route *ro; SAHTREE_LOCK(); - LIST_FOREACH(sah, &sahtree, chain) { + LIST_FOREACH(sah, &V_sahtree, chain) { ro = &sah->sa_route; if (ro->ro_rt && dst->sa_len == ro->ro_dst.sa_len && bcmp(dst, &ro->ro_dst, dst->sa_len) == 0) { ==== //depot/projects/vimage/src/sys/netipsec/vipsec.h#8 (text+ko) ==== @@ -117,6 +117,9 @@ LIST_HEAD(, secpolicy) _sptree[IPSEC_DIR_MAX]; LIST_HEAD(, secashead) _sahtree; + LIST_HEAD(, secreg) _regtree[SADB_SATYPE_MAX + 1]; + LIST_HEAD(, secacq) _acqtree; + LIST_HEAD(, secspacq) _spacqtree; }; #endif @@ -181,4 +184,7 @@ #define V_key_src VNET_IPSEC(key_src) #define V_sptree VNET_IPSEC(sptree) #define V_sahtree VNET_IPSEC(sahtree) +#define V_regtree VNET_IPSEC(regtree) +#define V_acqtree VNET_IPSEC(acqtree) +#define V_spacqtree VNET_IPSEC(spacqtree) #endif /* !_NETIPSEC_VIPSEC_H_ */ ==== //depot/projects/vimage/src/sys/sys/vimage.h#25 (text+ko) ==== @@ -81,6 +81,7 @@ #define VNET_MOD_AH 15 #define VNET_MOD_GIF 16 #define VNET_MOD_IPCOMP 17 +#define VNET_MOD_KEY 18 #define VNET_MOD_ARP 28 #define VNET_MOD_RTABLE 29 #define VNET_MOD_LOIF 30 From owner-p4-projects@FreeBSD.ORG Thu Jul 26 22:54:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6E52016A421; Thu, 26 Jul 2007 22:54:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 211A916A417 for ; Thu, 26 Jul 2007 22:54:10 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 121A713C49D for ; Thu, 26 Jul 2007 22:54:10 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6QMs9ic080478 for ; Thu, 26 Jul 2007 22:54:09 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6QMs9av080475 for perforce@freebsd.org; Thu, 26 Jul 2007 22:54:09 GMT (envelope-from mharvan@FreeBSD.org) Date: Thu, 26 Jul 2007 22:54:09 GMT Message-Id: <200707262254.l6QMs9av080475@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124140 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 22:54:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=124140 Change 124140 by mharvan@mharvan_twoflower on 2007/07/26 22:53:22 replaced my own linked list for fragment reassembly with queue(3) macros - segfaults fixed;) Affected files ... .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#11 edit .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#6 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#11 (text+ko) ==== @@ -54,7 +54,9 @@ /* fragment id for the next packet to be fragmented */ uint frag_id = 0; // TODO: randomize -frag_llist_t *frag_list; + +LIST_HEAD(frag_info_list_head, frag_info) frag_info_list = + LIST_HEAD_INITIALIZER(frag_info_list); /* server host */ char *host; @@ -223,11 +225,12 @@ void timer_ev_handler(int fd, short ev_type, void *arg) { struct timeval tv; - frag_llist_t *p, *q; + struct frag_info *np, *np_temp; plugint *pl = current_pl; fprintf(stderr, "timer fired\n"); - + + /* check if too many ping requests have not failed */ if (pl) { if (! pl->ping_counter) { report_plugin_error(pl, PLUGIN_ERROR_PING); @@ -237,18 +240,16 @@ } /* fragment reassembly timeout */ - // TODO: fragment reassembly timeout - for (p=frag_list; p;) { - q = p->next; - if (tv.tv_sec - p->tv_sec > FRAG_TIMEOUT) { - free(p->bitmap); - free(p->buf); - free(p); + LIST_FOREACH_SAFE(np, &frag_info_list, frag_infos, np_temp) { + if (tv.tv_sec - np->tv_sec > FRAG_TIMEOUT) { + LIST_REMOVE(np, frag_infos); + free(np->bitmap); + free(np->buf); + free(np); } - p = q; } - /* register a timer event */ + /* register a timer event again */ tv.tv_sec=1; tv.tv_usec=0; evtimer_set(&timer_ev, timer_ev_handler, NULL); @@ -262,8 +263,8 @@ { u_int8_t dispatch = *data; frag_hdr_t *frag_hdr = NULL; - frag_llist_t *p; /* pointer to frag info about the processed fragment */ - frag_llist_t **pp; /* previous item before p */ + struct frag_info *p;/* pointer to frag info about the processed fragment */ + struct frag_info *np; struct timeval tv; int i; int dgram_reassembled; @@ -290,22 +291,22 @@ frag_hdr->id, frag_hdr->size, frag_hdr->offset, len); /* check if reassembly for this fragment has already started */ - pp = &frag_list; - for(p = frag_list; p; p = p->next) { - if (p->id == frag_hdr->id && - p->size == frag_hdr->size) { + p = NULL; + LIST_FOREACH(np, &frag_info_list, frag_infos) { + if (np->id == frag_hdr->id && + np->size == frag_hdr->size) { + /* found in list */ + fprintf(stderr, "found frag info in list\n"); + p = np; break; } - pp = &p; } - /* found in list */ - if (p) { - fprintf(stderr, "found frag info in list\n"); + /* fragment info not found in list, start a new reassembly */ - } else { + if (p == NULL) { fprintf(stderr, "frag info NOT found in list\n"); /* allocate memory */ - p = malloc(sizeof(frag_llist_t)); + p = malloc(sizeof(struct frag_info)); if (!p) { fprintf(stderr, "process_data_from_plugin - " "fragment reassembly: out of memory\n"); @@ -332,11 +333,10 @@ /* collect information about the fragments */ // TODO: error checking (void) gettimeofday(&tv, NULL); - p->next = frag_list; - frag_list = p; p->id = frag_hdr->id; p->size = frag_hdr->size; memcpy(&p->tv_sec, &tv.tv_sec, sizeof(tv.tv_sec)); + LIST_INSERT_HEAD(&frag_info_list, p, frag_infos); } if (frag_hdr->offset + len <= p->size) { @@ -373,7 +373,7 @@ tun_send(p->buf, p->size); /* remove fragment info from linked list */ - *pp = p->next; + LIST_REMOVE(p, frag_infos); free(p->buf); free(p->bitmap); free(p); @@ -632,8 +632,8 @@ plugins->name = "tcp_2222"; load_plugin("./plugin_tcp.so"); plugins->name = "tcp_3333"; - // load_plugin("./plugin_icmp.so"); - // plugins->name = "icmp"; + load_plugin("./plugin_icmp.so"); + plugins->name = "icmp"; if (server) { /* initialize all plugins */ ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.h#6 (text+ko) ==== @@ -2,6 +2,7 @@ #define _TUNNELD_H #include +#include #define PACKETLEN 1400 /* encapsulated data size */ #define SOCKET_TIMEOUT 5 /* timeout for socket operations */ @@ -16,7 +17,7 @@ * of the packet */ } frag_hdr_t; -typedef struct _frag_llist_t { +struct frag_info { uint id; /* Id of the whole packet, same in each fragment */ uint size; /* length of the whole packet, same in each fragment */ time_t tv_sec; /* seconds after epoch when reassembly @@ -24,8 +25,8 @@ u_int8_t *bitmap;/* bitmap representing already * received parts of the packet */ char *buf; /* buffer into which the fragment is reassembled */ - struct _frag_llist_t *next; -} frag_llist_t; + LIST_ENTRY(frag_info) frag_infos; +}; /* * code for setting timeout on a socket: From owner-p4-projects@FreeBSD.ORG Thu Jul 26 23:15:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3660216A420; Thu, 26 Jul 2007 23:15:37 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B09E716A419 for ; Thu, 26 Jul 2007 23:15:36 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B50613C4A3 for ; Thu, 26 Jul 2007 23:15:36 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6QNFakc082833 for ; Thu, 26 Jul 2007 23:15:36 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6QNFaNk082830 for perforce@freebsd.org; Thu, 26 Jul 2007 23:15:36 GMT (envelope-from mharvan@FreeBSD.org) Date: Thu, 26 Jul 2007 23:15:36 GMT Message-Id: <200707262315.l6QNFaNk082830@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124141 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 23:15:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=124141 Change 124141 by mharvan@mharvan_twoflower on 2007/07/26 23:15:08 clean up fragment reassembly information on exit check gettimeofday(2) return value Affected files ... .. //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#12 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/mtund.src/tunneld.c#12 (text+ko) ==== @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include "tun_dev.h" @@ -55,6 +57,7 @@ /* fragment id for the next packet to be fragmented */ uint frag_id = 0; // TODO: randomize +/* fragmentat reassembly info list */ LIST_HEAD(frag_info_list_head, frag_info) frag_info_list = LIST_HEAD_INITIALIZER(frag_info_list); @@ -240,6 +243,10 @@ } /* fragment reassembly timeout */ + if (gettimeofday(&tv, NULL) != 0) { + errx(EX_OSERR, "gettimeofday() failed"); + //TODO: maybe fail + } LIST_FOREACH_SAFE(np, &frag_info_list, frag_infos, np_temp) { if (tv.tv_sec - np->tv_sec > FRAG_TIMEOUT) { LIST_REMOVE(np, frag_infos); @@ -331,8 +338,10 @@ memset(p->bitmap, 0, sizeof(*(p->bitmap))); /* collect information about the fragments */ - // TODO: error checking - (void) gettimeofday(&tv, NULL); + if (gettimeofday(&tv, NULL) != 0) { + errx(EX_OSERR, "gettimeofday() failed"); + //TODO: maybe fail + } p->id = frag_hdr->id; p->size = frag_hdr->size; memcpy(&p->tv_sec, &tv.tv_sec, sizeof(tv.tv_sec)); @@ -512,12 +521,22 @@ void cleanup() { plugint *pl; + struct frag_info *p; event_del(&timer_ev); event_del(&tun_ev); tun_close(tun_fd, tun_dev); + /* deallocate fragment reassembly information */ + while (!LIST_EMPTY(&frag_info_list)) { + p = LIST_FIRST(&frag_info_list); + LIST_REMOVE(p, frag_infos); + free(p->bitmap); + free(p->buf); + free(p); + } + /* deinitialize all plugins and free memory */ while(plugins) { pl = plugins; From owner-p4-projects@FreeBSD.ORG Fri Jul 27 03:53:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6D3FB16A419; Fri, 27 Jul 2007 03:53:34 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 007A216A418 for ; Fri, 27 Jul 2007 03:53:34 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E37DB13C45E for ; Fri, 27 Jul 2007 03:53:33 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R3rXX9014867 for ; Fri, 27 Jul 2007 03:53:33 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R3rMhS014859 for perforce@freebsd.org; Fri, 27 Jul 2007 03:53:22 GMT (envelope-from imp@freebsd.org) Date: Fri, 27 Jul 2007 03:53:22 GMT Message-Id: <200707270353.l6R3rMhS014859@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 124149 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 03:53:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124149 Change 124149 by imp@imp_paco-paco on 2007/07/27 03:52:28 IFC @124148 Affected files ... .. //depot/projects/arm/src/sys/arm/conf/KB920X#44 edit .. //depot/user/imp/freebsd-imp/ObsoleteFiles.inc#51 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/CHANGES#10 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/README#7 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/bin/named/client.c#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/bin/named/server.c#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch01.html#5 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch02.html#5 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch03.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch04.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch05.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch06.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch07.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch08.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch09.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.html#6 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/lib/dns/dispatch.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/bind9/version#10 integrate .. //depot/user/imp/freebsd-imp/contrib/diff/FREEBSD-Xlist#2 integrate .. //depot/user/imp/freebsd-imp/contrib/diff/Makefile.am#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/bootstrap#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/doc/Makefile.am#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/doc/diagmeet.note#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/exgettext#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/Makefile.am#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/alloca.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/alloca_.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/dirname.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/fnmatch.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/fnmatch_.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/fnmatch_loop.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/getopt.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/getopt1.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/getopt_int.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/gettimeofday.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/imaxtostr.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/inttostr.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/malloc.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/mkstemp.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/offtostr.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/realloc.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/regex.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/regex.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/setmode.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/stdbool_.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strcasecmp.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/stripslash.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strncasecmp.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strtol.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strtoll.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strtoul.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/strtoull.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/tempname.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/time_r.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/time_r.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/umaxtostr.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/waitpid.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/xstrdup.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/xstrtol.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/xstrtoul.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/lib/xstrtoumax.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/man/Makefile.am#2 delete .. //depot/user/imp/freebsd-imp/contrib/diff/src/Makefile.am#2 delete .. //depot/user/imp/freebsd-imp/contrib/openbsm/HISTORY#8 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/README#8 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/VERSION#9 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/audit/audit.8#5 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/audit/audit.c#6 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/auditd/audit_warn.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/auditd/auditd.8#5 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/auditd/auditd.c#10 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/auditd/auditd.h#4 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/bin/auditreduce/auditreduce.c#5 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/config/config.h#6 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/configure#8 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/configure.ac#8 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/etc/audit_event#7 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/libbsm/au_control.3#5 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/libbsm/au_event.3#4 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/libbsm/audit_submit.3#3 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/libbsm/bsm_io.c#7 integrate .. //depot/user/imp/freebsd-imp/contrib/openbsm/libbsm/bsm_token.c#10 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/COPYING#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ChangeLog#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/FREEBSD-Xlist#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/FREEBSD-upgrade#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/Makefile#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/README#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/aes.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/aes.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/aes_wrap.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/aes_wrap.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/asn1.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/asn1.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/asn1_test.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/base64.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/base64.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/bignum.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/bignum.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/build_config.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/common.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/common.h#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config_file.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config_none.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config_ssid.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config_types.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/config_winreg.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto_cryptoapi.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto_gnutls.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto_internal.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto_libtomcrypt.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/crypto_none.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_dbus.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_dbus.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_udp.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ctrl_iface_unix.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/dbus_dict_helpers.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/dbus_dict_helpers.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/defconfig#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/defs.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/des.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/code_structure.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_background.8#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/doxygen.fast#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/doxygen.full#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/eap.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/mainpage.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/porting.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/doc/testing_tools.doxygen#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver_hostap.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver_ndis.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver_ndis.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver_ndis_.c#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/driver_wired.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/drivers.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_aka.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_defs.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_fast.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_gpsk.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_gpsk_common.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_gpsk_common.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_gtc.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_i.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_leap.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_md5.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_methods.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_methods.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_mschapv2.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_otp.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_pax.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_pax_common.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_pax_common.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_peap.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_psk.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_psk_common.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_psk_common.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sake.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sake_common.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sake_common.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sim.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sim_common.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_sim_common.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_testing.txt#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_tls.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_tls_common.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_tls_common.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_tlv.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_tlv.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_ttls.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_ttls.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eap_vendor_test.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eapol_sm.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eapol_sm.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eapol_test.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eloop.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eloop.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eloop_none.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/eloop_win.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/events.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/hostapd.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/includes.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/l2_packet.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/libtommath.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/main.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/md4.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/md5.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/md5.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/mlme.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/mlme.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ms_funcs.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/ms_funcs.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/nmake.mak#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/openssl-0.9.8d-tls-extensions.patch#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/openssl-0.9.8e-tls-extensions.patch#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/os.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/os_internal.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/os_none.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/os_unix.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/pcsc_funcs.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/pcsc_funcs.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/pmksa_cache.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/pmksa_cache.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/preauth.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/preauth.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/preauth_test.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/radius.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/radius.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/radius_client.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/radius_client.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/rc4.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/rc4.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/rsa.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/rsa.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/sha1.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/sha1.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/sha256.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/sha256.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/state_machine.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls_gnutls.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls_internal.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls_none.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls_openssl.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tls_schannel.c#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tlsv1_client.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tlsv1_client.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tlsv1_common.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/tlsv1_common.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/todo.txt#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/version.h#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_cli.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_common.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_ctrl.c#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_ctrl.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/main.cpp#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.cpp#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpa_gui.pro#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.h#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui.h#2 delete .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui-qt4/wpamsg.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/eventhistory.ui.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/networkconfig.ui.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/scanresults.ui.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/setup-mingw-cross-compiling#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/wpa_gui.pro#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/wpagui.ui#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_gui/wpamsg.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_i.h#2 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_passphrase.c#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_supplicant.c#6 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_supplicant.conf#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_supplicant.h#3 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/wpa_supplicant_i.h#4 integrate .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/x509v3.c#1 branch .. //depot/user/imp/freebsd-imp/contrib/wpa_supplicant/x509v3.h#1 branch .. //depot/user/imp/freebsd-imp/etc/Makefile#52 integrate .. //depot/user/imp/freebsd-imp/etc/mtree/BSD.include.dist#58 integrate .. //depot/user/imp/freebsd-imp/etc/mtree/BSD.usr.dist#49 integrate .. //depot/user/imp/freebsd-imp/etc/rc.d/netif#21 integrate .. //depot/user/imp/freebsd-imp/include/Makefile#82 integrate .. //depot/user/imp/freebsd-imp/lib/Makefile#66 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/Makefile#55 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_entry.3#14 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_entry.c#36 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_entry.h#20 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_read_support_format_tar.c#43 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_read_support_format_zip.c#13 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_string.c#10 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_string_sprintf.c#9 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/archive_write_disk.c#7 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/Makefile#7 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/main.c#6 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/read_open_memory.c#1 branch .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test.h#5 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test_read_format_gtar_sparse.c#3 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test_read_format_tar.c#2 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test_read_pax_truncated.c#1 branch .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test_tar_filenames.c#5 integrate .. //depot/user/imp/freebsd-imp/lib/libarchive/test/test_write_disk_perms.c#6 integrate .. //depot/user/imp/freebsd-imp/lib/libc/net/sctp_sys_calls.c#7 integrate .. //depot/user/imp/freebsd-imp/lib/libc/stdlib/getenv.c#5 integrate .. //depot/user/imp/freebsd-imp/lib/libc/sys/ioctl.2#8 integrate .. //depot/user/imp/freebsd-imp/lib/libc/yp/yplib.c#8 integrate .. //depot/user/imp/freebsd-imp/lib/libpam/modules/pam_lastlog/pam_lastlog.c#7 integrate .. //depot/user/imp/freebsd-imp/lib/ncurses/config.mk#3 integrate .. //depot/user/imp/freebsd-imp/lib/ncurses/ncurses/Makefile#7 integrate .. //depot/user/imp/freebsd-imp/libexec/getty/ttys.5#5 integrate .. //depot/user/imp/freebsd-imp/libexec/rtld-elf/Symbol.map#4 integrate .. //depot/user/imp/freebsd-imp/libexec/rtld-elf/powerpc/reloc.c#8 integrate .. //depot/user/imp/freebsd-imp/libexec/rtld-elf/sparc64/reloc.c#12 integrate .. //depot/user/imp/freebsd-imp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#20 integrate .. //depot/user/imp/freebsd-imp/rescue/rescue/Makefile#40 integrate .. //depot/user/imp/freebsd-imp/sbin/Makefile#51 integrate .. //depot/user/imp/freebsd-imp/sbin/atm/Makefile#5 integrate .. //depot/user/imp/freebsd-imp/sbin/iscontrol/Makefile#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/auth_subr.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/config.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/fsm.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/iscontrol.8#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/iscontrol.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/iscontrol.h#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/login.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/misc.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/pdu.c#1 branch .. //depot/user/imp/freebsd-imp/sbin/iscontrol/pdu.h#1 branch .. //depot/user/imp/freebsd-imp/share/examples/Makefile#12 integrate .. //depot/user/imp/freebsd-imp/share/examples/kld/syscall/module/syscall.c#3 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/Makefile#155 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/ipmi.4#8 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/iscsi_initiator.4#1 branch .. //depot/user/imp/freebsd-imp/share/man/man4/snd_hda.4#9 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/udav.4#8 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/usb.4#15 integrate .. //depot/user/imp/freebsd-imp/share/man/man4/wi.4#42 integrate .. //depot/user/imp/freebsd-imp/share/man/man5/src.conf.5#12 integrate .. //depot/user/imp/freebsd-imp/share/man/man7/ports.7#22 integrate .. //depot/user/imp/freebsd-imp/share/man/man8/rc.8#12 integrate .. //depot/user/imp/freebsd-imp/share/man/man9/contigmalloc.9#7 integrate .. //depot/user/imp/freebsd-imp/share/man/man9/module.9#5 integrate .. //depot/user/imp/freebsd-imp/share/mk/version_gen.awk#3 integrate .. //depot/user/imp/freebsd-imp/share/syscons/keymaps/INDEX.keymaps#11 integrate .. //depot/user/imp/freebsd-imp/share/syscons/keymaps/Makefile#15 integrate .. //depot/user/imp/freebsd-imp/share/syscons/keymaps/fr.macbook.acc.kbd#1 branch .. //depot/user/imp/freebsd-imp/share/zoneinfo/leapseconds#10 integrate .. //depot/user/imp/freebsd-imp/sys/Makefile#20 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/amd64/cpu_switch.S#18 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/amd64/trap.c#55 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/isa/clock.c#29 integrate .. //depot/user/imp/freebsd-imp/sys/amd64/linux32/linux32_sysvec.c#23 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/Makefile.inc#7 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/boot2/board.h#2 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/boot2/boot2.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/boot2/kb920x_board.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/libat91/Makefile#8 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#6 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#6 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/libat91/emac.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/boot/arm/at91/libat91/emac.h#6 integrate .. //depot/user/imp/freebsd-imp/sys/bsm/audit.h#10 integrate .. //depot/user/imp/freebsd-imp/sys/bsm/audit_internal.h#9 integrate .. //depot/user/imp/freebsd-imp/sys/bsm/audit_kevents.h#11 integrate .. //depot/user/imp/freebsd-imp/sys/bsm/audit_record.h#10 integrate .. //depot/user/imp/freebsd-imp/sys/cam/scsi/scsi_cd.c#39 integrate .. //depot/user/imp/freebsd-imp/sys/coda/00READ#2 delete .. //depot/user/imp/freebsd-imp/sys/coda/README#2 delete .. //depot/user/imp/freebsd-imp/sys/coda/TODO#2 delete .. //depot/user/imp/freebsd-imp/sys/coda/cnode.h#11 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda.h#6 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_fbsd.c#17 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_io.h#3 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_kernel.h#3 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_namecache.c#5 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_namecache.h#4 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_opstats.h#3 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_pioctl.h#3 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_psdev.c#14 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_psdev.h#4 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_subr.c#10 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_subr.h#4 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_venus.c#10 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_venus.h#6 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_vfsops.c#18 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_vfsops.h#7 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_vnops.c#24 delete .. //depot/user/imp/freebsd-imp/sys/coda/coda_vnops.h#9 delete .. //depot/user/imp/freebsd-imp/sys/compat/ia32/ia32_sysvec.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/compat/ndis/subr_ntoskrnl.c#57 integrate .. //depot/user/imp/freebsd-imp/sys/conf/NOTES#197 integrate .. //depot/user/imp/freebsd-imp/sys/conf/files#278 integrate .. //depot/user/imp/freebsd-imp/sys/conf/kern.pre.mk#49 integrate .. //depot/user/imp/freebsd-imp/sys/conf/kmod.mk#72 integrate .. //depot/user/imp/freebsd-imp/sys/conf/options#163 integrate .. //depot/user/imp/freebsd-imp/sys/contrib/altq/altq/altq_subr.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/contrib/ngatm/netnatm/api/cc_conn.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/user/imp/freebsd-imp/sys/dev/acpica/acpi_hpet.c#7 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_mc5.c#4 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/common/cxgb_xgmac.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_main.c#9 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete .. //depot/user/imp/freebsd-imp/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/drm/i915_dma.c#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/ed/if_ed_pccard.c#53 integrate .. //depot/user/imp/freebsd-imp/sys/dev/fb/splash_bmp.c#2 integrate .. //depot/user/imp/freebsd-imp/sys/dev/firewire/firewire.c#62 integrate .. //depot/user/imp/freebsd-imp/sys/dev/firewire/firewirereg.h#36 integrate .. //depot/user/imp/freebsd-imp/sys/dev/if_ndis/if_ndis.c#74 integrate .. //depot/user/imp/freebsd-imp/sys/dev/if_ndis/if_ndisvar.h#25 integrate .. //depot/user/imp/freebsd-imp/sys/dev/ipmi/ipmi_isa.c#2 integrate .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/LICENSE#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_82598.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_api.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_api.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_common.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_common.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_osdep.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_phy.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_phy.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/ixgbe/ixgbe_type.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/kbdmux/kbdmux.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/dev/msk/if_msk.c#10 integrate .. //depot/user/imp/freebsd-imp/sys/dev/mxge/eth_z8e.dat.gz.uu#7 delete .. //depot/user/imp/freebsd-imp/sys/dev/mxge/eth_z8e.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/mxge/ethp_z8e.dat.gz.uu#7 delete .. //depot/user/imp/freebsd-imp/sys/dev/mxge/ethp_z8e.h#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/mxge/if_mxge.c#20 integrate .. //depot/user/imp/freebsd-imp/sys/dev/mxge/if_mxge_var.h#9 integrate .. //depot/user/imp/freebsd-imp/sys/dev/mxge/mcp_gen_header.h#2 integrate .. //depot/user/imp/freebsd-imp/sys/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/user/imp/freebsd-imp/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/dev/mxge/mxge_mcp.h#7 integrate .. //depot/user/imp/freebsd-imp/sys/dev/nfe/if_nfe.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/dev/nfe/if_nfevar.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/dev/nxge/if_nxge.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/dev/pccard/pccarddevs#64 integrate .. //depot/user/imp/freebsd-imp/sys/dev/ral/rt2560.c#13 integrate .. //depot/user/imp/freebsd-imp/sys/dev/ral/rt2661.c#12 integrate .. //depot/user/imp/freebsd-imp/sys/dev/re/if_re.c#63 integrate .. //depot/user/imp/freebsd-imp/sys/dev/sound/pci/ich.c#47 integrate .. //depot/user/imp/freebsd-imp/sys/dev/sym/sym_hipd.c#27 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/if_udav.c#22 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/if_ural.c#35 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/ukbd.c#23 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/ums.c#28 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/usb_quirks.c#26 integrate .. //depot/user/imp/freebsd-imp/sys/dev/usb/usbdevs#120 integrate .. //depot/user/imp/freebsd-imp/sys/dev/wi/if_wavelan_ieee.h#7 integrate .. //depot/user/imp/freebsd-imp/sys/dev/wi/if_wi.c#67 integrate .. //depot/user/imp/freebsd-imp/sys/fs/coda/README#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/TODO#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/cnode.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_fbsd.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_io.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_kernel.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_namecache.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_namecache.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_opstats.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_pioctl.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_psdev.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_psdev.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_subr.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_subr.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_venus.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_venus.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_vfsops.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_vfsops.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_vnops.c#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/coda/coda_vnops.h#1 branch .. //depot/user/imp/freebsd-imp/sys/fs/devfs/devfs_vnops.c#73 integrate .. //depot/user/imp/freebsd-imp/sys/fs/fifofs/fifo_vnops.c#46 integrate .. //depot/user/imp/freebsd-imp/sys/fs/msdosfs/bpb.h#6 integrate .. //depot/user/imp/freebsd-imp/sys/fs/msdosfs/msdosfs_fat.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/fs/msdosfs/msdosfs_vfsops.c#54 integrate .. //depot/user/imp/freebsd-imp/sys/fs/msdosfs/msdosfs_vnops.c#37 integrate .. //depot/user/imp/freebsd-imp/sys/fs/msdosfs/msdosfsmount.h#12 integrate .. //depot/user/imp/freebsd-imp/sys/fs/tmpfs/tmpfs.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/user/imp/freebsd-imp/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/user/imp/freebsd-imp/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/user/imp/freebsd-imp/sys/gnu/fs/ext2fs/ext2_vfsops.c#13 integrate .. //depot/user/imp/freebsd-imp/sys/i386/i386/genassym.c#26 integrate .. //depot/user/imp/freebsd-imp/sys/i386/i386/swtch.s#20 integrate .. //depot/user/imp/freebsd-imp/sys/i386/i386/trap.c#60 integrate .. //depot/user/imp/freebsd-imp/sys/i386/include/pc/vesa.h#3 integrate .. //depot/user/imp/freebsd-imp/sys/i386/isa/clock.c#43 integrate .. //depot/user/imp/freebsd-imp/sys/i386/linux/linux_machdep.c#36 integrate .. //depot/user/imp/freebsd-imp/sys/ia64/ia64/clock.c#15 integrate .. //depot/user/imp/freebsd-imp/sys/ia64/ia64/syscall.S#12 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_event.c#51 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_exec.c#89 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_kse.c#36 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_mutex.c#59 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_resource.c#51 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_rwlock.c#14 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_sig.c#109 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_switch.c#65 integrate .. //depot/user/imp/freebsd-imp/sys/kern/kern_thread.c#118 integrate .. //depot/user/imp/freebsd-imp/sys/kern/sched_4bsd.c#69 integrate .. //depot/user/imp/freebsd-imp/sys/kern/sched_ule.c#103 integrate .. //depot/user/imp/freebsd-imp/sys/kern/subr_clock.c#9 integrate .. //depot/user/imp/freebsd-imp/sys/kern/tty.c#56 integrate .. //depot/user/imp/freebsd-imp/sys/kern/uipc_usrreq.c#69 integrate .. //depot/user/imp/freebsd-imp/sys/kern/vfs_mount.c#106 integrate .. //depot/user/imp/freebsd-imp/sys/kern/vfs_vnops.c#60 integrate .. //depot/user/imp/freebsd-imp/sys/modules/Makefile#176 integrate .. //depot/user/imp/freebsd-imp/sys/modules/coda/Makefile#6 integrate .. //depot/user/imp/freebsd-imp/sys/modules/coda5/Makefile#8 integrate .. //depot/user/imp/freebsd-imp/sys/modules/cxgb/Makefile#6 integrate .. //depot/user/imp/freebsd-imp/sys/modules/iscsi/Makefile#1 branch .. //depot/user/imp/freebsd-imp/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/user/imp/freebsd-imp/sys/modules/mxge/mxge_eth_z8e/Makefile#3 integrate .. //depot/user/imp/freebsd-imp/sys/modules/mxge/mxge_ethp_z8e/Makefile#3 integrate .. //depot/user/imp/freebsd-imp/sys/modules/netgraph/atm/Makefile#7 integrate .. //depot/user/imp/freebsd-imp/sys/net/if_bridge.c#57 integrate .. //depot/user/imp/freebsd-imp/sys/net/if_bridgevar.h#17 integrate .. //depot/user/imp/freebsd-imp/sys/net/if_lagg.c#9 integrate .. //depot/user/imp/freebsd-imp/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/user/imp/freebsd-imp/sys/netatm/atm_proto.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/netgraph/ng_bpf.c#6 integrate .. //depot/user/imp/freebsd-imp/sys/netgraph/ng_eiface.c#26 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/icmp_var.h#6 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/ip_icmp.c#36 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp.h#9 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_asconf.c#12 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_asconf.h#7 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_cc_functions.c#1 branch .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_cc_functions.h#1 branch .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_constants.h#13 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_indata.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_input.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_os.h#7 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_os_bsd.h#14 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_output.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_pcb.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_pcb.h#12 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_peeloff.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_structs.h#14 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_sysctl.c#8 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_sysctl.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_timer.c#14 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_timer.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_usrreq.c#17 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctp_var.h#10 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctputil.c#18 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/sctputil.h#12 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/tcp_input.c#103 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/tcp_subr.c#99 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/tcp_syncache.c#61 integrate .. //depot/user/imp/freebsd-imp/sys/netinet/tcp_syncache.h#1 branch .. //depot/user/imp/freebsd-imp/sys/netinet/tcp_var.h#54 integrate .. //depot/user/imp/freebsd-imp/sys/netinet6/in6.h#23 integrate .. //depot/user/imp/freebsd-imp/sys/netinet6/sctp6_usrreq.c#16 integrate .. //depot/user/imp/freebsd-imp/sys/netinet6/udp6_output.c#20 delete .. //depot/user/imp/freebsd-imp/sys/netinet6/udp6_usrreq.c#36 integrate .. //depot/user/imp/freebsd-imp/sys/netinet6/udp6_var.h#5 integrate .. //depot/user/imp/freebsd-imp/sys/netipsec/ipsec_input.c#14 integrate .. //depot/user/imp/freebsd-imp/sys/netipsec/ipsec_output.c#15 integrate .. //depot/user/imp/freebsd-imp/sys/netipsec/xform_ipip.c#15 integrate .. //depot/user/imp/freebsd-imp/sys/pc98/cbus/clock.c#10 integrate .. //depot/user/imp/freebsd-imp/sys/pc98/cbus/sio.c#10 integrate .. //depot/user/imp/freebsd-imp/sys/pci/agp.c#29 integrate .. //depot/user/imp/freebsd-imp/sys/pci/agp_i810.c#26 integrate .. //depot/user/imp/freebsd-imp/sys/pci/agppriv.h#4 integrate .. //depot/user/imp/freebsd-imp/sys/pci/agpreg.h#14 integrate .. //depot/user/imp/freebsd-imp/sys/pci/if_rl.c#71 integrate .. //depot/user/imp/freebsd-imp/sys/pci/if_rlreg.h#36 integrate .. //depot/user/imp/freebsd-imp/sys/security/mac_mls/mac_mls.c#48 integrate .. //depot/user/imp/freebsd-imp/sys/sparc64/sparc64/eeprom.c#11 integrate .. //depot/user/imp/freebsd-imp/sys/sparc64/sparc64/pmap.c#64 integrate .. //depot/user/imp/freebsd-imp/sys/sparc64/sparc64/rtc.c#7 integrate .. //depot/user/imp/freebsd-imp/sys/sys/lock_profile.h#6 integrate .. //depot/user/imp/freebsd-imp/sys/sys/mutex.h#36 integrate .. //depot/user/imp/freebsd-imp/sys/sys/proc.h#148 integrate .. //depot/user/imp/freebsd-imp/sys/sys/rwlock.h#10 integrate .. //depot/user/imp/freebsd-imp/sys/sys/sysent.h#15 integrate .. //depot/user/imp/freebsd-imp/sys/ufs/ffs/ffs_vnops.c#60 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_fault.c#67 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_meter.c#29 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_page.c#98 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_page.h#37 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_phys.c#2 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_phys.h#2 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vm_zeroidle.c#28 integrate .. //depot/user/imp/freebsd-imp/sys/vm/vnode_pager.c#63 integrate .. //depot/user/imp/freebsd-imp/tools/build/options/WITHOUT_TOOLCHAIN#2 integrate .. //depot/user/imp/freebsd-imp/tools/kerneldoc/subsys/Makefile#5 integrate .. //depot/user/imp/freebsd-imp/tools/regression/environ/envctl.c#2 integrate .. //depot/user/imp/freebsd-imp/tools/regression/environ/envtest.t#2 integrate .. //depot/user/imp/freebsd-imp/tools/regression/environ/timings.c#2 integrate .. //depot/user/imp/freebsd-imp/tools/regression/fstest/fstest.c#2 integrate .. //depot/user/imp/freebsd-imp/tools/regression/fstest/tests/open/16.t#2 integrate .. //depot/user/imp/freebsd-imp/tools/regression/fstest/tests/open/18.t#2 integrate .. //depot/user/imp/freebsd-imp/usr.bin/gzip/gzip.c#4 integrate .. //depot/user/imp/freebsd-imp/usr.bin/kdump/mkioctls#6 integrate .. //depot/user/imp/freebsd-imp/usr.bin/locate/locate/locate.rc#3 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/atalk.c#4 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/bpf.c#7 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/if.c#17 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/inet.c#23 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/inet6.c#9 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/ipsec.c#8 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/ipx.c#6 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/main.c#24 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/mbuf.c#15 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/mcast.c#6 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/mroute.c#8 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/mroute6.c#6 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/netgraph.c#4 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/netstat.h#17 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/pfkey.c#5 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/route.c#14 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/sctp.c#2 integrate .. //depot/user/imp/freebsd-imp/usr.bin/netstat/unix.c#4 integrate .. //depot/user/imp/freebsd-imp/usr.bin/su/su.1#13 integrate .. //depot/user/imp/freebsd-imp/usr.bin/tar/Makefile#24 integrate .. //depot/user/imp/freebsd-imp/usr.bin/tar/getdate.y#7 integrate .. //depot/user/imp/freebsd-imp/usr.bin/tar/read.c#29 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/Makefile#108 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/dconschat/dconschat.c#12 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/periodic/periodic.8#5 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_cli/Makefile#3 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_passphrase/Makefile#2 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_passphrase/wpa_passphrase.8#2 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_supplicant/Makefile#9 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_supplicant/Packet32.c#4 integrate .. //depot/user/imp/freebsd-imp/usr.sbin/wpa/wpa_supplicant/wpa_supplicant.conf.5#9 integrate .. //depot/user/imp/newcard/Makefile#22 integrate .. //depot/user/imp/newcard/amd64/amd64/cpu_switch.S#18 integrate .. //depot/user/imp/newcard/amd64/amd64/trap.c#55 integrate .. //depot/user/imp/newcard/amd64/isa/clock.c#30 integrate .. //depot/user/imp/newcard/amd64/linux32/linux32_sysvec.c#23 integrate .. //depot/user/imp/newcard/boot/arm/at91/Makefile.inc#7 integrate .. //depot/user/imp/newcard/boot/arm/at91/boot2/board.h#2 integrate .. //depot/user/imp/newcard/boot/arm/at91/boot2/boot2.c#5 integrate .. //depot/user/imp/newcard/boot/arm/at91/boot2/bwct_board.c#1 branch .. //depot/user/imp/newcard/boot/arm/at91/boot2/centipad_board.c#1 branch .. //depot/user/imp/newcard/boot/arm/at91/boot2/kb920x_board.c#3 integrate .. //depot/user/imp/newcard/boot/arm/at91/libat91/Makefile#8 integrate .. //depot/user/imp/newcard/boot/arm/at91/libat91/at91rm9200_lowlevel.c#6 integrate .. //depot/user/imp/newcard/boot/arm/at91/libat91/at91rm9200_lowlevel.h#6 integrate .. //depot/user/imp/newcard/boot/arm/at91/libat91/emac.c#8 integrate .. //depot/user/imp/newcard/boot/arm/at91/libat91/emac.h#6 integrate .. //depot/user/imp/newcard/bsm/audit.h#10 integrate .. //depot/user/imp/newcard/bsm/audit_internal.h#9 integrate .. //depot/user/imp/newcard/bsm/audit_kevents.h#11 integrate .. //depot/user/imp/newcard/bsm/audit_record.h#10 integrate .. //depot/user/imp/newcard/cam/scsi/scsi_cd.c#42 integrate .. //depot/user/imp/newcard/coda/00READ#2 delete .. //depot/user/imp/newcard/coda/README#3 delete .. //depot/user/imp/newcard/coda/TODO#2 delete .. //depot/user/imp/newcard/coda/cnode.h#12 delete .. //depot/user/imp/newcard/coda/coda.h#7 delete .. //depot/user/imp/newcard/coda/coda_fbsd.c#20 delete .. //depot/user/imp/newcard/coda/coda_io.h#4 delete .. //depot/user/imp/newcard/coda/coda_kernel.h#3 delete .. //depot/user/imp/newcard/coda/coda_namecache.c#8 delete .. //depot/user/imp/newcard/coda/coda_namecache.h#6 delete .. //depot/user/imp/newcard/coda/coda_opstats.h#3 delete .. //depot/user/imp/newcard/coda/coda_pioctl.h#4 delete .. //depot/user/imp/newcard/coda/coda_psdev.c#15 delete .. //depot/user/imp/newcard/coda/coda_psdev.h#4 delete .. //depot/user/imp/newcard/coda/coda_subr.c#13 delete .. //depot/user/imp/newcard/coda/coda_subr.h#4 delete .. //depot/user/imp/newcard/coda/coda_venus.c#12 delete .. //depot/user/imp/newcard/coda/coda_venus.h#6 delete .. //depot/user/imp/newcard/coda/coda_vfsops.c#21 delete .. //depot/user/imp/newcard/coda/coda_vfsops.h#7 delete .. //depot/user/imp/newcard/coda/coda_vnops.c#27 delete .. //depot/user/imp/newcard/coda/coda_vnops.h#10 delete .. //depot/user/imp/newcard/compat/ia32/ia32_sysvec.c#17 integrate .. //depot/user/imp/newcard/compat/ndis/subr_ntoskrnl.c#60 integrate .. //depot/user/imp/newcard/conf/NOTES#221 integrate .. //depot/user/imp/newcard/conf/files#342 integrate .. //depot/user/imp/newcard/conf/kern.pre.mk#53 integrate .. //depot/user/imp/newcard/conf/kmod.mk#84 integrate .. //depot/user/imp/newcard/conf/options#197 integrate .. //depot/user/imp/newcard/contrib/altq/altq/altq_subr.c#7 integrate .. //depot/user/imp/newcard/contrib/ngatm/netnatm/api/cc_conn.c#3 integrate .. //depot/user/imp/newcard/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate .. //depot/user/imp/newcard/dev/acpica/acpi_hpet.c#7 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_mc5.c#4 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/user/imp/newcard/dev/cxgb/common/cxgb_xgmac.c#5 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_adapter.h#8 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_main.c#9 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/user/imp/newcard/dev/cxgb/cxgb_sge.c#10 integrate .. //depot/user/imp/newcard/dev/cxgb/sys/mvec.h#4 integrate .. //depot/user/imp/newcard/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch .. //depot/user/imp/newcard/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch .. //depot/user/imp/newcard/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete .. //depot/user/imp/newcard/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch .. //depot/user/imp/newcard/dev/drm/i915_dma.c#5 integrate .. //depot/user/imp/newcard/dev/ed/if_ed_pccard.c#96 integrate .. //depot/user/imp/newcard/dev/fb/splash_bmp.c#2 integrate .. //depot/user/imp/newcard/dev/firewire/firewire.c#64 integrate .. //depot/user/imp/newcard/dev/firewire/firewirereg.h#36 integrate .. //depot/user/imp/newcard/dev/if_ndis/if_ndis.c#75 integrate .. //depot/user/imp/newcard/dev/if_ndis/if_ndisvar.h#26 integrate .. //depot/user/imp/newcard/dev/ipmi/ipmi_isa.c#2 integrate .. //depot/user/imp/newcard/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/user/imp/newcard/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/LICENSE#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe.c#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_82598.c#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_api.c#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_api.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_common.c#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_common.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_osdep.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_phy.c#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_phy.h#1 branch .. //depot/user/imp/newcard/dev/ixgbe/ixgbe_type.h#1 branch .. //depot/user/imp/newcard/dev/kbdmux/kbdmux.c#8 integrate .. //depot/user/imp/newcard/dev/msk/if_msk.c#10 integrate .. //depot/user/imp/newcard/dev/mxge/eth_z8e.dat.gz.uu#7 delete .. //depot/user/imp/newcard/dev/mxge/eth_z8e.h#1 branch .. //depot/user/imp/newcard/dev/mxge/ethp_z8e.dat.gz.uu#7 delete .. //depot/user/imp/newcard/dev/mxge/ethp_z8e.h#1 branch .. //depot/user/imp/newcard/dev/mxge/if_mxge.c#20 integrate .. //depot/user/imp/newcard/dev/mxge/if_mxge_var.h#9 integrate .. //depot/user/imp/newcard/dev/mxge/mcp_gen_header.h#2 integrate .. //depot/user/imp/newcard/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/user/imp/newcard/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/user/imp/newcard/dev/mxge/mxge_lro.c#3 integrate .. //depot/user/imp/newcard/dev/mxge/mxge_mcp.h#7 integrate .. //depot/user/imp/newcard/dev/nfe/if_nfe.c#11 integrate .. //depot/user/imp/newcard/dev/nfe/if_nfevar.h#5 integrate .. //depot/user/imp/newcard/dev/nxge/if_nxge.c#3 integrate .. //depot/user/imp/newcard/dev/pccard/pccarddevs#86 integrate .. //depot/user/imp/newcard/dev/ral/rt2560.c#13 integrate .. //depot/user/imp/newcard/dev/ral/rt2661.c#12 integrate .. //depot/user/imp/newcard/dev/re/if_re.c#66 integrate .. //depot/user/imp/newcard/dev/sound/pci/ich.c#50 integrate .. //depot/user/imp/newcard/dev/sym/sym_hipd.c#29 integrate .. //depot/user/imp/newcard/dev/usb/if_udav.c#24 integrate .. //depot/user/imp/newcard/dev/usb/if_ural.c#35 integrate .. //depot/user/imp/newcard/dev/usb/ukbd.c#29 integrate .. //depot/user/imp/newcard/dev/usb/ums.c#33 integrate .. //depot/user/imp/newcard/dev/usb/usb_quirks.c#30 integrate .. //depot/user/imp/newcard/dev/usb/usbdevs#134 integrate .. //depot/user/imp/newcard/dev/wi/if_wavelan_ieee.h#15 integrate .. //depot/user/imp/newcard/dev/wi/if_wi.c#112 integrate .. //depot/user/imp/newcard/fs/coda/README#1 branch .. //depot/user/imp/newcard/fs/coda/TODO#1 branch .. //depot/user/imp/newcard/fs/coda/cnode.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_fbsd.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_io.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_kernel.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_namecache.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_namecache.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_opstats.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_pioctl.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_psdev.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_psdev.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_subr.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_subr.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_venus.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_venus.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_vfsops.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_vfsops.h#1 branch .. //depot/user/imp/newcard/fs/coda/coda_vnops.c#1 branch .. //depot/user/imp/newcard/fs/coda/coda_vnops.h#1 branch .. //depot/user/imp/newcard/fs/devfs/devfs_vnops.c#80 integrate .. //depot/user/imp/newcard/fs/fifofs/fifo_vnops.c#54 integrate .. //depot/user/imp/newcard/fs/msdosfs/bpb.h#7 integrate .. //depot/user/imp/newcard/fs/msdosfs/msdosfs_fat.c#9 integrate .. //depot/user/imp/newcard/fs/msdosfs/msdosfs_vfsops.c#63 integrate .. //depot/user/imp/newcard/fs/msdosfs/msdosfs_vnops.c#42 integrate .. //depot/user/imp/newcard/fs/msdosfs/msdosfsmount.h#14 integrate .. //depot/user/imp/newcard/fs/tmpfs/tmpfs.h#4 integrate .. //depot/user/imp/newcard/fs/tmpfs/tmpfs_subr.c#4 integrate .. //depot/user/imp/newcard/fs/tmpfs/tmpfs_vfsops.c#4 integrate .. //depot/user/imp/newcard/fs/tmpfs/tmpfs_vnops.c#4 integrate .. //depot/user/imp/newcard/gnu/fs/ext2fs/ext2_vfsops.c#13 integrate .. //depot/user/imp/newcard/i386/i386/genassym.c#28 integrate .. //depot/user/imp/newcard/i386/i386/swtch.s#23 integrate .. //depot/user/imp/newcard/i386/i386/trap.c#64 integrate .. //depot/user/imp/newcard/i386/include/pc/vesa.h#4 integrate .. //depot/user/imp/newcard/i386/isa/clock.c#47 integrate .. //depot/user/imp/newcard/i386/linux/linux_machdep.c#39 integrate .. //depot/user/imp/newcard/ia64/ia64/clock.c#16 integrate .. //depot/user/imp/newcard/ia64/ia64/syscall.S#12 integrate .. //depot/user/imp/newcard/kern/kern_event.c#54 integrate .. //depot/user/imp/newcard/kern/kern_exec.c#103 integrate .. //depot/user/imp/newcard/kern/kern_kse.c#41 integrate .. //depot/user/imp/newcard/kern/kern_mutex.c#64 integrate .. //depot/user/imp/newcard/kern/kern_resource.c#58 integrate .. //depot/user/imp/newcard/kern/kern_rwlock.c#14 integrate .. //depot/user/imp/newcard/kern/kern_sig.c#125 integrate .. //depot/user/imp/newcard/kern/kern_switch.c#73 integrate .. //depot/user/imp/newcard/kern/kern_thread.c#134 integrate .. //depot/user/imp/newcard/kern/sched_4bsd.c#74 integrate .. //depot/user/imp/newcard/kern/sched_ule.c#109 integrate .. //depot/user/imp/newcard/kern/subr_clock.c#10 integrate .. //depot/user/imp/newcard/kern/tty.c#65 integrate .. //depot/user/imp/newcard/kern/uipc_usrreq.c#77 integrate .. //depot/user/imp/newcard/kern/vfs_mount.c#120 integrate .. //depot/user/imp/newcard/kern/vfs_vnops.c#69 integrate .. //depot/user/imp/newcard/modules/Makefile#208 integrate .. //depot/user/imp/newcard/modules/coda/Makefile#7 integrate .. //depot/user/imp/newcard/modules/coda5/Makefile#8 integrate .. //depot/user/imp/newcard/modules/cxgb/Makefile#6 integrate .. //depot/user/imp/newcard/modules/iscsi/Makefile#1 branch .. //depot/user/imp/newcard/modules/iscsi/initiator/Makefile#1 branch .. //depot/user/imp/newcard/modules/mxge/mxge_eth_z8e/Makefile#3 integrate .. //depot/user/imp/newcard/modules/mxge/mxge_ethp_z8e/Makefile#3 integrate .. //depot/user/imp/newcard/modules/netgraph/atm/Makefile#7 integrate .. //depot/user/imp/newcard/net/if_bridge.c#57 integrate .. //depot/user/imp/newcard/net/if_bridgevar.h#17 integrate .. //depot/user/imp/newcard/net/if_lagg.c#9 integrate .. //depot/user/imp/newcard/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/user/imp/newcard/netatm/atm_proto.c#9 integrate .. //depot/user/imp/newcard/netgraph/ng_bpf.c#7 integrate .. //depot/user/imp/newcard/netgraph/ng_eiface.c#29 integrate .. //depot/user/imp/newcard/netinet/icmp_var.h#7 integrate .. //depot/user/imp/newcard/netinet/ip_icmp.c#39 integrate .. //depot/user/imp/newcard/netinet/sctp.h#9 integrate .. //depot/user/imp/newcard/netinet/sctp_asconf.c#12 integrate .. //depot/user/imp/newcard/netinet/sctp_asconf.h#7 integrate .. //depot/user/imp/newcard/netinet/sctp_cc_functions.c#1 branch .. //depot/user/imp/newcard/netinet/sctp_cc_functions.h#1 branch .. //depot/user/imp/newcard/netinet/sctp_constants.h#13 integrate .. //depot/user/imp/newcard/netinet/sctp_indata.c#17 integrate .. //depot/user/imp/newcard/netinet/sctp_input.c#17 integrate .. //depot/user/imp/newcard/netinet/sctp_os.h#7 integrate .. //depot/user/imp/newcard/netinet/sctp_os_bsd.h#14 integrate .. //depot/user/imp/newcard/netinet/sctp_output.c#17 integrate .. //depot/user/imp/newcard/netinet/sctp_pcb.c#17 integrate .. //depot/user/imp/newcard/netinet/sctp_pcb.h#12 integrate .. //depot/user/imp/newcard/netinet/sctp_peeloff.c#11 integrate .. //depot/user/imp/newcard/netinet/sctp_structs.h#14 integrate .. //depot/user/imp/newcard/netinet/sctp_sysctl.c#8 integrate .. //depot/user/imp/newcard/netinet/sctp_sysctl.h#5 integrate .. //depot/user/imp/newcard/netinet/sctp_timer.c#14 integrate .. //depot/user/imp/newcard/netinet/sctp_timer.h#5 integrate .. //depot/user/imp/newcard/netinet/sctp_usrreq.c#17 integrate .. //depot/user/imp/newcard/netinet/sctp_var.h#10 integrate .. //depot/user/imp/newcard/netinet/sctputil.c#18 integrate .. //depot/user/imp/newcard/netinet/sctputil.h#12 integrate .. //depot/user/imp/newcard/netinet/tcp_input.c#119 integrate .. //depot/user/imp/newcard/netinet/tcp_subr.c#107 integrate .. //depot/user/imp/newcard/netinet/tcp_syncache.c#65 integrate .. //depot/user/imp/newcard/netinet/tcp_syncache.h#1 branch .. //depot/user/imp/newcard/netinet/tcp_var.h#57 integrate .. //depot/user/imp/newcard/netinet6/in6.h#27 integrate .. //depot/user/imp/newcard/netinet6/sctp6_usrreq.c#16 integrate .. //depot/user/imp/newcard/netinet6/udp6_output.c#21 delete .. //depot/user/imp/newcard/netinet6/udp6_usrreq.c#39 integrate .. //depot/user/imp/newcard/netinet6/udp6_var.h#5 integrate .. //depot/user/imp/newcard/netipsec/ipsec_input.c#14 integrate .. //depot/user/imp/newcard/netipsec/ipsec_output.c#15 integrate .. //depot/user/imp/newcard/netipsec/xform_ipip.c#15 integrate .. //depot/user/imp/newcard/pc98/cbus/clock.c#10 integrate .. //depot/user/imp/newcard/pc98/cbus/sio.c#11 integrate .. //depot/user/imp/newcard/pci/agp.c#34 integrate .. //depot/user/imp/newcard/pci/agp_i810.c#33 integrate .. //depot/user/imp/newcard/pci/agppriv.h#4 integrate .. //depot/user/imp/newcard/pci/agpreg.h#16 integrate .. //depot/user/imp/newcard/pci/if_rl.c#83 integrate .. //depot/user/imp/newcard/pci/if_rlreg.h#40 integrate .. //depot/user/imp/newcard/security/mac_mls/mac_mls.c#53 integrate .. //depot/user/imp/newcard/sparc64/sparc64/eeprom.c#11 integrate .. //depot/user/imp/newcard/sparc64/sparc64/pmap.c#72 integrate .. //depot/user/imp/newcard/sparc64/sparc64/rtc.c#7 integrate .. //depot/user/imp/newcard/sys/lock_profile.h#6 integrate .. //depot/user/imp/newcard/sys/mutex.h#38 integrate .. //depot/user/imp/newcard/sys/proc.h#169 integrate .. //depot/user/imp/newcard/sys/rwlock.h#10 integrate .. //depot/user/imp/newcard/sys/sysent.h#18 integrate .. //depot/user/imp/newcard/ufs/ffs/ffs_vnops.c#68 integrate .. //depot/user/imp/newcard/vm/vm_fault.c#74 integrate .. //depot/user/imp/newcard/vm/vm_meter.c#31 integrate .. //depot/user/imp/newcard/vm/vm_page.c#111 integrate .. //depot/user/imp/newcard/vm/vm_page.h#44 integrate .. //depot/user/imp/newcard/vm/vm_phys.c#2 integrate .. //depot/user/imp/newcard/vm/vm_phys.h#2 integrate .. //depot/user/imp/newcard/vm/vm_zeroidle.c#29 integrate .. //depot/user/imp/newcard/vm/vnode_pager.c#68 integrate Differences ... ==== //depot/projects/arm/src/sys/arm/conf/KB920X#44 (text+ko) ==== @@ -21,17 +21,14 @@ machine arm ident KB920X -options AT91_KWIKBYTE include "../at91/std.kb920x" #To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" #Default places to look for devices. hints "KB920X.hints" -#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols options DDB options KDB -options BREAK_TO_DEBUGGER -options ALT_BREAK_TO_DEBUGGER options SCHED_4BSD #4BSD scheduler options INET #InterNETworking @@ -41,9 +38,8 @@ #options UFS_ACL #Support for access control lists #options UFS_DIRHASH #Improve performance on big directories #options MD_ROOT #MD is a potential root device -#options MD_ROOT_SIZE=4096 # 4MB ram disk +#options MD_ROOT_SIZE=4096 # 3MB ram disk options ROOTDEVNAME=\"ufs:/dev/mmcsd0s1a\" -options ROOTDEVNAME=\"ufs:mmcsd0s1a\" >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 27 04:26:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A3FB16A418; Fri, 27 Jul 2007 04:26:59 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2903B16A41B for ; Fri, 27 Jul 2007 04:26:59 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1840313C45B for ; Fri, 27 Jul 2007 04:26:59 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R4QxiP018572 for ; Fri, 27 Jul 2007 04:26:59 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R4QRQa018559 for perforce@freebsd.org; Fri, 27 Jul 2007 04:26:27 GMT (envelope-from imp@freebsd.org) Date: Fri, 27 Jul 2007 04:26:27 GMT Message-Id: <200707270426.l6R4QRQa018559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 124150 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 04:26:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=124150 Change 124150 by imp@imp_paco-paco on 2007/07/27 04:26:07 IFC @124148 Affected files ... .. //depot/projects/arm/src/Makefile.inc1#28 integrate .. //depot/projects/arm/src/ObsoleteFiles.inc#24 integrate .. //depot/projects/arm/src/UPDATING#19 integrate .. //depot/projects/arm/src/bin/df/df.c#7 integrate .. //depot/projects/arm/src/bin/sh/var.c#3 integrate .. //depot/projects/arm/src/contrib/bind9/CHANGES#7 integrate .. //depot/projects/arm/src/contrib/bind9/README#5 integrate .. //depot/projects/arm/src/contrib/bind9/bin/named/client.c#4 integrate .. //depot/projects/arm/src/contrib/bind9/bin/named/server.c#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.html#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/arm/src/contrib/bind9/lib/dns/dispatch.c#4 integrate .. //depot/projects/arm/src/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/projects/arm/src/contrib/bind9/version#7 integrate .. //depot/projects/arm/src/contrib/diff/FREEBSD-Xlist#2 integrate .. //depot/projects/arm/src/contrib/diff/Makefile.am#2 delete .. //depot/projects/arm/src/contrib/diff/bootstrap#2 delete .. //depot/projects/arm/src/contrib/diff/doc/Makefile.am#2 delete .. //depot/projects/arm/src/contrib/diff/doc/diagmeet.note#2 delete .. //depot/projects/arm/src/contrib/diff/exgettext#2 delete .. //depot/projects/arm/src/contrib/diff/lib/Makefile.am#2 delete .. //depot/projects/arm/src/contrib/diff/lib/alloca.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/alloca_.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/dirname.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/fnmatch.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/fnmatch_.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/fnmatch_loop.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/getopt.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/getopt1.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/getopt_int.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/gettimeofday.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/imaxtostr.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/inttostr.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/malloc.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/mkstemp.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/offtostr.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/realloc.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/regex.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/regex.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/setmode.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/stdbool_.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strcasecmp.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/stripslash.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strncasecmp.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strtol.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strtoll.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strtoul.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/strtoull.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/tempname.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/time_r.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/time_r.h#2 delete .. //depot/projects/arm/src/contrib/diff/lib/umaxtostr.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/waitpid.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/xstrdup.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/xstrtol.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/xstrtoul.c#2 delete .. //depot/projects/arm/src/contrib/diff/lib/xstrtoumax.c#2 delete .. //depot/projects/arm/src/contrib/diff/man/Makefile.am#2 delete .. //depot/projects/arm/src/contrib/diff/src/Makefile.am#2 delete .. //depot/projects/arm/src/contrib/hostapd/COPYING#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/hostapd/FREEBSD-Xlist#2 integrate .. //depot/projects/arm/src/contrib/hostapd/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/contrib/hostapd/Makefile#2 integrate .. //depot/projects/arm/src/contrib/hostapd/README#2 integrate .. //depot/projects/arm/src/contrib/hostapd/accounting.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/accounting.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/aes.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/aes.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/aes_wrap.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/aes_wrap.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ap.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ap_list.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/ap_list.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/beacon.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/beacon.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/build_config.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/common.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/config.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/config.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/config_types.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/crypto.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/crypto.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ctrl_iface.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ctrl_iface.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/defconfig#2 integrate .. //depot/projects/arm/src/contrib/hostapd/defs.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/des.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/code_structure.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/ctrl_iface.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/doxygen.fast#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/doxygen.full#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/driver_wrapper.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/eap.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/hostapd.fig#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/kerneldoc2doxygen.pl#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/mainpage.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/doc/porting.doxygen#1 branch .. //depot/projects/arm/src/contrib/hostapd/driver.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/driver_test.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/driver_wired.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_aka.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_defs.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_gpsk.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_gpsk_common.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_gpsk_common.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_gtc.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_i.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_identity.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_md5.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_methods.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_methods.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_mschapv2.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_pax.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_pax_common.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_pax_common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_peap.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_psk.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_psk_common.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_psk_common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_sake.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_sake_common.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_sake_common.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/eap_sim.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_sim_common.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_sim_common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_sim_db.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_sim_db.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_tls.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_tls_common.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_tls_common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_tlv.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_ttls.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_ttls.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eap_vendor_test.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eapol_sm.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eapol_sm.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eapol_version.patch#1 branch .. //depot/projects/arm/src/contrib/hostapd/eloop.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eloop.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/eloop_none.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/eloop_win.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/hlr_auc_gw.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/hlr_auc_gw.milenage_db#1 branch .. //depot/projects/arm/src/contrib/hostapd/hostap_common.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.8#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.conf#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.eap_user#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd.vlan#1 branch .. //depot/projects/arm/src/contrib/hostapd/hostapd_cli.1#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hostapd_cli.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/hw_features.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/hw_features.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/iapp.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/iapp.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_11.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_11.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_11_auth.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_11_auth.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_11h.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/ieee802_11h.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/ieee802_1x.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ieee802_1x.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/includes.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/l2_packet.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/l2_packet_none.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/md4.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/md5.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/md5.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/milenage.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/milenage.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/mlme.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/mlme.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/ms_funcs.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/ms_funcs.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/os.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/os_internal.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/os_none.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/os_unix.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/pmksa_cache.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/pmksa_cache.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/preauth.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/preauth.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/radius.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/radius.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/radius_client.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/radius_client.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/radius_server.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/radius_server.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/rc4.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/rc4.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/reconfig.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/sha1.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/sha1.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/sha256.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/sha256.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/sta_info.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/sta_info.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/state_machine.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/tls.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/tls_gnutls.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/tls_none.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/tls_openssl.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/version.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/vlan_init.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/vlan_init.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/wme.c#1 branch .. //depot/projects/arm/src/contrib/hostapd/wme.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/wpa.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/wpa.h#2 integrate .. //depot/projects/arm/src/contrib/hostapd/wpa_common.h#1 branch .. //depot/projects/arm/src/contrib/hostapd/wpa_ctrl.c#2 integrate .. //depot/projects/arm/src/contrib/hostapd/wpa_ctrl.h#2 integrate .. //depot/projects/arm/src/contrib/openbsm/HISTORY#6 integrate .. //depot/projects/arm/src/contrib/openbsm/README#4 integrate .. //depot/projects/arm/src/contrib/openbsm/VERSION#5 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/audit/audit.8#3 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/audit/audit.c#3 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditd/audit_warn.c#3 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditd/auditd.8#4 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditd/auditd.c#6 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditd/auditd.h#3 integrate .. //depot/projects/arm/src/contrib/openbsm/bin/auditreduce/auditreduce.c#3 integrate .. //depot/projects/arm/src/contrib/openbsm/config/config.h#5 integrate .. //depot/projects/arm/src/contrib/openbsm/configure#6 integrate .. //depot/projects/arm/src/contrib/openbsm/configure.ac#6 integrate .. //depot/projects/arm/src/contrib/openbsm/etc/audit_event#5 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/au_control.3#4 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/au_event.3#3 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/audit_submit.3#3 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_io.c#5 integrate .. //depot/projects/arm/src/contrib/openbsm/libbsm/bsm_token.c#6 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/COPYING#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/ChangeLog#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/FREEBSD-Xlist#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/FREEBSD-upgrade#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/Makefile#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/README#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/aes.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/aes.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/aes_wrap.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/aes_wrap.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/asn1.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/asn1.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/asn1_test.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/base64.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/base64.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/bignum.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/bignum.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/build_config.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/common.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/common.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config_file.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config_none.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/config_ssid.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config_types.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/config_winreg.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto_cryptoapi.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto_gnutls.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto_internal.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto_libtomcrypt.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/crypto_none.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_dbus.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_dbus.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_dbus_handlers.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_named_pipe.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_udp.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ctrl_iface_unix.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/dbus-wpa_supplicant.conf#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/dbus_dict_helpers.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/dbus_dict_helpers.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/defconfig#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/defs.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/des.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/code_structure.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/ctrl_iface.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_background.8#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_background.sgml#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_cli.8#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_cli.sgml#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.8#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_passphrase.sgml#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.8#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.5#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.conf.sgml#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/docbook/wpa_supplicant.sgml#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/doxygen.fast#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/doxygen.full#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/eap.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/kerneldoc2doxygen.pl#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/mainpage.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/porting.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/doc/testing_tools.doxygen#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/driver.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/driver_hostap.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/driver_ndis.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/driver_ndis.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/driver_ndis_.c#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/driver_wired.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/drivers.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_aka.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_defs.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_fast.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_gpsk.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_gpsk_common.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_gpsk_common.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_gtc.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_i.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_leap.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_md5.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_methods.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_methods.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_mschapv2.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_otp.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_pax.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_pax_common.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_pax_common.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_peap.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_psk.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_psk_common.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_psk_common.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sake.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sake_common.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sake_common.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sim.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sim_common.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_sim_common.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_testing.txt#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_tls.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_tls_common.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_tls_common.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_tlv.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_tlv.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_ttls.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_ttls.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eap_vendor_test.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eapol_sm.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eapol_sm.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eapol_test.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eloop.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eloop.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/eloop_none.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/eloop_win.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/events.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/hostapd.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/includes.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/l2_packet.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/libtommath.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/main.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/md4.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/md5.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/md5.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/mlme.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/mlme.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/ms_funcs.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/ms_funcs.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/nmake.mak#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/openssl-0.9.8d-tls-extensions.patch#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/openssl-0.9.8e-tls-extensions.patch#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/os.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/os_internal.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/os_none.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/os_unix.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/pcsc_funcs.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/pcsc_funcs.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/pmksa_cache.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/pmksa_cache.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/preauth.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/preauth.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/preauth_test.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/radius.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/radius.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/radius_client.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/radius_client.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/rc4.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/rc4.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/rsa.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/rsa.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/sha1.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/sha1.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/sha256.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/sha256.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/state_machine.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/tls.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/tls_gnutls.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/tls_internal.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/tls_none.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/tls_openssl.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/tls_schannel.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/tlsv1_client.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/tlsv1_client.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/tlsv1_common.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/tlsv1_common.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/todo.txt#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/version.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_cli.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_common.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_ctrl.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_ctrl.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.cpp#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/eventhistory.ui.h#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/main.cpp#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.cpp#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/networkconfig.ui.h#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.cpp#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/scanresults.ui.h#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.cpp#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/userdatarequest.ui.h#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpa_gui.pro#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.cpp#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.h#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpagui.ui.h#2 delete .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui-qt4/wpamsg.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/eventhistory.ui.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/networkconfig.ui.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/scanresults.ui.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/setup-mingw-cross-compiling#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/wpa_gui.pro#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/wpagui.ui#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/wpagui.ui.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_gui/wpamsg.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_i.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_passphrase.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_supplicant.c#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_supplicant.conf#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_supplicant.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/wpa_supplicant_i.h#2 integrate .. //depot/projects/arm/src/contrib/wpa_supplicant/x509v3.c#1 branch .. //depot/projects/arm/src/contrib/wpa_supplicant/x509v3.h#1 branch .. //depot/projects/arm/src/etc/Makefile#5 integrate .. //depot/projects/arm/src/etc/inetd.conf#3 integrate .. //depot/projects/arm/src/etc/mtree/BSD.include.dist#10 integrate .. //depot/projects/arm/src/etc/mtree/BSD.usr.dist#9 integrate .. //depot/projects/arm/src/etc/rc.d/netif#5 integrate .. //depot/projects/arm/src/include/Makefile#11 integrate .. //depot/projects/arm/src/include/stdlib.h#3 integrate .. //depot/projects/arm/src/lib/Makefile#8 integrate .. //depot/projects/arm/src/lib/libarchive/Makefile#15 integrate .. //depot/projects/arm/src/lib/libarchive/archive.h.in#16 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.3#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.c#9 integrate .. //depot/projects/arm/src/lib/libarchive/archive_entry.h#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_open_memory.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_compression_program.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_tar.c#12 integrate .. //depot/projects/arm/src/lib/libarchive/archive_read_support_format_zip.c#7 integrate .. //depot/projects/arm/src/lib/libarchive/archive_string.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/archive_string_sprintf.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/archive_util.c#6 integrate .. //depot/projects/arm/src/lib/libarchive/archive_write_disk.c#7 integrate .. //depot/projects/arm/src/lib/libarchive/test/Makefile#7 integrate .. //depot/projects/arm/src/lib/libarchive/test/main.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/test/read_open_memory.c#1 branch .. //depot/projects/arm/src/lib/libarchive/test/test.h#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_acl_basic.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_acl_pax.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_archive_api_feature.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_entry.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_read_compress_program.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_read_format_ar.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_read_format_gtar_sparse.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_read_format_tar.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_read_pax_truncated.c#1 branch .. //depot/projects/arm/src/lib/libarchive/test/test_tar_filenames.c#4 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_compress_program.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_disk.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_disk_perms.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_disk_secure.c#3 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_format_ar.c#5 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_format_cpio.c#2 integrate .. //depot/projects/arm/src/lib/libarchive/test/test_write_format_tar_empty.c#3 integrate .. //depot/projects/arm/src/lib/libc/amd64/SYS.h#3 integrate .. //depot/projects/arm/src/lib/libc/amd64/sys/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/arm/SYS.h#2 integrate .. //depot/projects/arm/src/lib/libc/arm/sys/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/gen/Makefile.inc#3 integrate .. //depot/projects/arm/src/lib/libc/gen/__getosreldate.c#1 branch .. //depot/projects/arm/src/lib/libc/i386/SYS.h#3 integrate .. //depot/projects/arm/src/lib/libc/i386/sys/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/ia64/SYS.h#2 integrate .. //depot/projects/arm/src/lib/libc/ia64/sys/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/include/libc_private.h#3 integrate .. //depot/projects/arm/src/lib/libc/net/sctp_sys_calls.c#7 integrate .. //depot/projects/arm/src/lib/libc/net/sourcefilter.c#2 integrate .. //depot/projects/arm/src/lib/libc/powerpc/sys/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/quad/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/sparc64/SYS.h#3 integrate .. //depot/projects/arm/src/lib/libc/sparc64/sys/Makefile.inc#3 integrate .. //depot/projects/arm/src/lib/libc/stdlib/Makefile.inc#2 integrate .. //depot/projects/arm/src/lib/libc/stdlib/getenv.3#5 integrate .. //depot/projects/arm/src/lib/libc/stdlib/getenv.c#4 integrate .. //depot/projects/arm/src/lib/libc/stdlib/putenv.c#4 delete .. //depot/projects/arm/src/lib/libc/stdlib/setenv.c#4 delete .. //depot/projects/arm/src/lib/libc/sys/Makefile.inc#6 integrate .. //depot/projects/arm/src/lib/libc/sys/ftruncate.c#3 integrate .. //depot/projects/arm/src/lib/libc/sys/ioctl.2#3 integrate .. //depot/projects/arm/src/lib/libc/sys/lseek.c#3 integrate .. //depot/projects/arm/src/lib/libc/sys/mmap.c#3 integrate .. //depot/projects/arm/src/lib/libc/sys/pread.c#3 integrate .. //depot/projects/arm/src/lib/libc/sys/pwrite.c#3 integrate .. //depot/projects/arm/src/lib/libc/sys/truncate.c#3 integrate .. //depot/projects/arm/src/lib/libc/yp/yplib.c#3 integrate .. //depot/projects/arm/src/lib/libgssapi/gss_display_status.c#3 integrate .. //depot/projects/arm/src/lib/libpam/modules/pam_lastlog/pam_lastlog.c#3 integrate .. //depot/projects/arm/src/lib/ncurses/config.mk#3 integrate .. //depot/projects/arm/src/lib/ncurses/ncurses/Makefile#6 integrate .. //depot/projects/arm/src/libexec/getty/ttys.5#2 integrate .. //depot/projects/arm/src/libexec/pppoed/pppoed.c#3 integrate .. //depot/projects/arm/src/libexec/rtld-elf/Symbol.map#4 integrate .. //depot/projects/arm/src/libexec/rtld-elf/powerpc/reloc.c#3 integrate .. //depot/projects/arm/src/libexec/rtld-elf/sparc64/reloc.c#3 integrate .. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#16 integrate .. //depot/projects/arm/src/rescue/rescue/Makefile#7 integrate .. //depot/projects/arm/src/sbin/Makefile#8 integrate .. //depot/projects/arm/src/sbin/atm/Makefile#2 integrate .. //depot/projects/arm/src/sbin/dhclient/dhclient-script#4 integrate .. //depot/projects/arm/src/sbin/ifconfig/ifconfig.8#16 integrate .. //depot/projects/arm/src/sbin/ifconfig/iflagg.c#3 integrate .. //depot/projects/arm/src/sbin/iscontrol/Makefile#1 branch .. //depot/projects/arm/src/sbin/iscontrol/auth_subr.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/config.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/fsm.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/iscontrol.8#1 branch .. //depot/projects/arm/src/sbin/iscontrol/iscontrol.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/iscontrol.h#1 branch .. //depot/projects/arm/src/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/projects/arm/src/sbin/iscontrol/login.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/misc.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/pdu.c#1 branch .. //depot/projects/arm/src/sbin/iscontrol/pdu.h#1 branch .. //depot/projects/arm/src/sbin/ping6/Makefile#4 integrate .. //depot/projects/arm/src/share/examples/Makefile#3 integrate .. //depot/projects/arm/src/share/examples/isdn/FAQ#2 integrate .. //depot/projects/arm/src/share/examples/isdn/Overview#2 integrate .. //depot/projects/arm/src/share/examples/isdn/contrib/hplay.c#2 integrate .. //depot/projects/arm/src/share/examples/isdn/contrib/isdntelmux.c#2 integrate .. //depot/projects/arm/src/share/examples/isdn/i4brunppp/i4brunppp.c#2 integrate .. //depot/projects/arm/src/share/examples/isdn/v21/v21modem.c#2 integrate .. //depot/projects/arm/src/share/examples/kld/syscall/module/syscall.c#2 integrate .. //depot/projects/arm/src/share/man/man4/Makefile#16 integrate .. //depot/projects/arm/src/share/man/man4/ipmi.4#5 integrate .. //depot/projects/arm/src/share/man/man4/iscsi_initiator.4#1 branch .. //depot/projects/arm/src/share/man/man4/snd_hda.4#9 integrate .. //depot/projects/arm/src/share/man/man4/udav.4#3 integrate .. //depot/projects/arm/src/share/man/man4/usb.4#3 integrate .. //depot/projects/arm/src/share/man/man4/wi.4#4 integrate .. //depot/projects/arm/src/share/man/man5/src.conf.5#9 integrate .. //depot/projects/arm/src/share/man/man7/ports.7#5 integrate .. //depot/projects/arm/src/share/man/man8/rc.8#4 integrate .. //depot/projects/arm/src/share/man/man9/contigmalloc.9#2 integrate .. //depot/projects/arm/src/share/man/man9/module.9#2 integrate .. //depot/projects/arm/src/share/man/man9/taskqueue.9#2 integrate .. //depot/projects/arm/src/share/mk/version_gen.awk#3 integrate .. //depot/projects/arm/src/share/syscons/keymaps/INDEX.keymaps#3 integrate .. //depot/projects/arm/src/share/syscons/keymaps/Makefile#3 integrate .. //depot/projects/arm/src/share/syscons/keymaps/fr.macbook.acc.kbd#1 branch .. //depot/projects/arm/src/share/zoneinfo/leapseconds#4 integrate .. //depot/projects/arm/src/sys/Makefile#14 integrate .. //depot/projects/arm/src/sys/amd64/amd64/cpu_switch.S#7 integrate .. //depot/projects/arm/src/sys/amd64/amd64/trap.c#20 integrate .. //depot/projects/arm/src/sys/amd64/conf/NOTES#17 integrate .. //depot/projects/arm/src/sys/amd64/isa/clock.c#13 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_machdep.c#18 integrate .. //depot/projects/arm/src/sys/amd64/linux32/linux32_sysvec.c#16 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/Makefile.inc#33 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/board.h#5 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/boot2.c#35 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/boot2/kb920x_board.c#9 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/Makefile#28 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.c#18 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/at91rm9200_lowlevel.h#14 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac.c#44 integrate .. //depot/projects/arm/src/sys/boot/arm/at91/libat91/emac.h#18 integrate .. //depot/projects/arm/src/sys/bsm/audit.h#10 integrate .. //depot/projects/arm/src/sys/bsm/audit_internal.h#9 integrate .. //depot/projects/arm/src/sys/bsm/audit_kevents.h#11 integrate .. //depot/projects/arm/src/sys/bsm/audit_record.h#10 integrate .. //depot/projects/arm/src/sys/cam/scsi/scsi_cd.c#9 integrate .. //depot/projects/arm/src/sys/coda/00READ#2 delete .. //depot/projects/arm/src/sys/coda/README#2 delete .. //depot/projects/arm/src/sys/coda/TODO#2 delete .. //depot/projects/arm/src/sys/coda/cnode.h#4 delete .. //depot/projects/arm/src/sys/coda/coda.h#3 delete .. //depot/projects/arm/src/sys/coda/coda_fbsd.c#3 delete .. //depot/projects/arm/src/sys/coda/coda_io.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_kernel.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_namecache.c#2 delete .. //depot/projects/arm/src/sys/coda/coda_namecache.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_opstats.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_pioctl.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_psdev.c#4 delete .. //depot/projects/arm/src/sys/coda/coda_psdev.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_subr.c#3 delete .. //depot/projects/arm/src/sys/coda/coda_subr.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_venus.c#3 delete .. //depot/projects/arm/src/sys/coda/coda_venus.h#2 delete .. //depot/projects/arm/src/sys/coda/coda_vfsops.c#5 delete .. //depot/projects/arm/src/sys/coda/coda_vfsops.h#4 delete .. //depot/projects/arm/src/sys/coda/coda_vnops.c#9 delete .. //depot/projects/arm/src/sys/coda/coda_vnops.h#4 delete .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_misc.c#18 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_proto.h#22 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscall.h#22 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_syscalls.c#22 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/freebsd32_sysent.c#22 integrate .. //depot/projects/arm/src/sys/compat/freebsd32/syscalls.master#23 integrate .. //depot/projects/arm/src/sys/compat/ia32/ia32_sysvec.c#7 integrate .. //depot/projects/arm/src/sys/compat/linux/linux_file.c#13 integrate .. //depot/projects/arm/src/sys/compat/ndis/subr_ntoskrnl.c#11 integrate .. //depot/projects/arm/src/sys/compat/pecoff/imgact_pecoff.c#3 integrate .. //depot/projects/arm/src/sys/conf/NOTES#52 integrate .. //depot/projects/arm/src/sys/conf/files#76 integrate .. //depot/projects/arm/src/sys/conf/files.amd64#26 integrate .. //depot/projects/arm/src/sys/conf/files.i386#28 integrate .. //depot/projects/arm/src/sys/conf/kern.pre.mk#11 integrate .. //depot/projects/arm/src/sys/conf/kmod.mk#18 integrate .. //depot/projects/arm/src/sys/conf/options#49 integrate .. //depot/projects/arm/src/sys/conf/options.amd64#6 integrate .. //depot/projects/arm/src/sys/conf/options.i386#9 integrate .. //depot/projects/arm/src/sys/conf/options.pc98#8 integrate .. //depot/projects/arm/src/sys/contrib/altq/altq/altq_subr.c#5 integrate .. //depot/projects/arm/src/sys/contrib/ngatm/netnatm/api/cc_conn.c#2 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate .. //depot/projects/arm/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate .. //depot/projects/arm/src/sys/contrib/pf/net/pf_subr.c#4 integrate .. //depot/projects/arm/src/sys/dev/acpica/acpi_hpet.c#7 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_common.h#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_mc5.c#4 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_t3_hw.c#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate .. //depot/projects/arm/src/sys/dev/cxgb/common/cxgb_xgmac.c#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_adapter.h#6 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_ioctl.h#4 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_offload.c#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_offload.h#3 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_osdep.h#5 integrate .. //depot/projects/arm/src/sys/dev/cxgb/cxgb_sge.c#8 integrate .. //depot/projects/arm/src/sys/dev/cxgb/sys/mvec.h#4 integrate .. //depot/projects/arm/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch .. //depot/projects/arm/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch .. //depot/projects/arm/src/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete .. //depot/projects/arm/src/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch .. //depot/projects/arm/src/sys/dev/drm/i915_dma.c#5 integrate .. //depot/projects/arm/src/sys/dev/ed/if_ed_pccard.c#7 integrate .. //depot/projects/arm/src/sys/dev/fb/splash_bmp.c#2 integrate .. //depot/projects/arm/src/sys/dev/firewire/firewire.c#9 integrate .. //depot/projects/arm/src/sys/dev/firewire/firewirereg.h#8 integrate .. //depot/projects/arm/src/sys/dev/if_ndis/if_ndis.c#12 integrate .. //depot/projects/arm/src/sys/dev/if_ndis/if_ndisvar.h#3 integrate .. //depot/projects/arm/src/sys/dev/ipmi/ipmi_isa.c#2 integrate .. //depot/projects/arm/src/sys/dev/ipw/if_ipw.c#12 integrate .. //depot/projects/arm/src/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/arm/src/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/arm/src/sys/dev/isp/isp.c#23 integrate .. //depot/projects/arm/src/sys/dev/isp/isp_freebsd.c#31 integrate .. //depot/projects/arm/src/sys/dev/ixgbe/LICENSE#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe.c#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe.h#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_82598.c#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_api.c#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_api.h#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_common.c#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_common.h#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_osdep.h#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_phy.c#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_phy.h#1 branch .. //depot/projects/arm/src/sys/dev/ixgbe/ixgbe_type.h#1 branch .. //depot/projects/arm/src/sys/dev/kbdmux/kbdmux.c#7 integrate .. //depot/projects/arm/src/sys/dev/msk/if_msk.c#8 integrate .. //depot/projects/arm/src/sys/dev/mxge/eth_z8e.dat.gz.uu#7 delete .. //depot/projects/arm/src/sys/dev/mxge/eth_z8e.h#1 branch .. //depot/projects/arm/src/sys/dev/mxge/ethp_z8e.dat.gz.uu#7 delete .. //depot/projects/arm/src/sys/dev/mxge/ethp_z8e.h#1 branch .. //depot/projects/arm/src/sys/dev/mxge/if_mxge.c#18 integrate .. //depot/projects/arm/src/sys/dev/mxge/if_mxge_var.h#8 integrate .. //depot/projects/arm/src/sys/dev/mxge/mcp_gen_header.h#2 integrate .. //depot/projects/arm/src/sys/dev/mxge/mxge_eth_z8e.c#1 branch .. //depot/projects/arm/src/sys/dev/mxge/mxge_ethp_z8e.c#1 branch .. //depot/projects/arm/src/sys/dev/mxge/mxge_lro.c#3 integrate .. //depot/projects/arm/src/sys/dev/mxge/mxge_mcp.h#6 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfe.c#11 integrate .. //depot/projects/arm/src/sys/dev/nfe/if_nfevar.h#5 integrate .. //depot/projects/arm/src/sys/dev/nxge/if_nxge.c#2 integrate .. //depot/projects/arm/src/sys/dev/ofw/openfirm.c#5 integrate .. //depot/projects/arm/src/sys/dev/pccard/pccarddevs#7 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2560.c#13 integrate .. //depot/projects/arm/src/sys/dev/ral/rt2661.c#11 integrate .. //depot/projects/arm/src/sys/dev/re/if_re.c#26 integrate .. //depot/projects/arm/src/sys/dev/rp/rp.c#6 integrate .. //depot/projects/arm/src/sys/dev/sbni/if_sbni.c#4 integrate .. //depot/projects/arm/src/sys/dev/snp/snp.c#5 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/atiixp.c#15 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/es137x.c#12 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac.c#17 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/hda/hdac_private.h#8 integrate .. //depot/projects/arm/src/sys/dev/sound/pci/ich.c#21 integrate .. //depot/projects/arm/src/sys/dev/sound/pcm/dsp.c#16 integrate .. //depot/projects/arm/src/sys/dev/sym/sym_hipd.c#13 integrate .. //depot/projects/arm/src/sys/dev/usb/if_rue.c#8 integrate .. //depot/projects/arm/src/sys/dev/usb/if_ruereg.h#4 integrate .. //depot/projects/arm/src/sys/dev/usb/if_udav.c#10 integrate .. //depot/projects/arm/src/sys/dev/usb/if_ural.c#25 integrate .. //depot/projects/arm/src/sys/dev/usb/ubser.c#7 integrate .. //depot/projects/arm/src/sys/dev/usb/udbp.c#6 integrate .. //depot/projects/arm/src/sys/dev/usb/ukbd.c#12 integrate .. //depot/projects/arm/src/sys/dev/usb/umass.c#19 integrate .. //depot/projects/arm/src/sys/dev/usb/ums.c#11 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_port.h#11 integrate .. //depot/projects/arm/src/sys/dev/usb/usb_quirks.c#16 integrate .. //depot/projects/arm/src/sys/dev/usb/usbdevs#35 integrate .. //depot/projects/arm/src/sys/dev/usb/uvisor.c#9 integrate .. //depot/projects/arm/src/sys/dev/usb/uvscom.c#10 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wavelan_ieee.h#3 integrate .. //depot/projects/arm/src/sys/dev/wi/if_wi.c#15 integrate .. //depot/projects/arm/src/sys/fs/coda/README#1 branch .. //depot/projects/arm/src/sys/fs/coda/TODO#1 branch .. //depot/projects/arm/src/sys/fs/coda/cnode.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_fbsd.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_io.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_kernel.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_namecache.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_namecache.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_opstats.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_pioctl.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_psdev.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_psdev.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_subr.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_subr.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_venus.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_venus.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_vfsops.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_vfsops.h#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_vnops.c#1 branch .. //depot/projects/arm/src/sys/fs/coda/coda_vnops.h#1 branch .. //depot/projects/arm/src/sys/fs/devfs/devfs_int.h#3 integrate .. //depot/projects/arm/src/sys/fs/devfs/devfs_vnops.c#19 integrate .. //depot/projects/arm/src/sys/fs/fifofs/fifo_vnops.c#8 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/bpb.h#3 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_fat.c#3 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vfsops.c#17 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfs_vnops.c#11 integrate .. //depot/projects/arm/src/sys/fs/msdosfs/msdosfsmount.h#4 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs.h#3 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_subr.c#3 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_vfsops.c#3 integrate .. //depot/projects/arm/src/sys/fs/tmpfs/tmpfs_vnops.c#3 integrate .. //depot/projects/arm/src/sys/gnu/fs/ext2fs/ext2_vfsops.c#9 integrate .. //depot/projects/arm/src/sys/i386/acpica/acpi_machdep.c#9 integrate .. //depot/projects/arm/src/sys/i386/conf/NOTES#25 integrate .. //depot/projects/arm/src/sys/i386/i386/genassym.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/swtch.s#8 integrate .. //depot/projects/arm/src/sys/i386/i386/sys_machdep.c#9 integrate .. //depot/projects/arm/src/sys/i386/i386/trap.c#17 integrate .. //depot/projects/arm/src/sys/i386/i386/vm_machdep.c#10 integrate .. //depot/projects/arm/src/sys/i386/ibcs2/ibcs2_xenix.c#8 integrate .. //depot/projects/arm/src/sys/i386/include/i4b_cause.h#2 delete .. //depot/projects/arm/src/sys/i386/include/i4b_debug.h#2 delete .. //depot/projects/arm/src/sys/i386/include/i4b_ioctl.h#3 delete .. //depot/projects/arm/src/sys/i386/include/i4b_rbch_ioctl.h#2 delete .. //depot/projects/arm/src/sys/i386/include/i4b_tel_ioctl.h#2 delete .. //depot/projects/arm/src/sys/i386/include/i4b_trace.h#2 delete .. //depot/projects/arm/src/sys/i386/include/pc/vesa.h#2 integrate .. //depot/projects/arm/src/sys/i386/isa/clock.c#13 integrate .. //depot/projects/arm/src/sys/i386/linux/linux_machdep.c#16 integrate .. //depot/projects/arm/src/sys/i4b/capi/capi_l4if.c#2 integrate .. //depot/projects/arm/src/sys/i4b/capi/capi_llif.c#2 integrate .. //depot/projects/arm/src/sys/i4b/capi/capi_msgs.c#2 integrate .. //depot/projects/arm/src/sys/i4b/capi/iavc/iavc_card.c#3 integrate .. //depot/projects/arm/src/sys/i4b/capi/iavc/iavc_isa.c#4 integrate .. //depot/projects/arm/src/sys/i4b/capi/iavc/iavc_lli.c#3 integrate .. //depot/projects/arm/src/sys/i4b/capi/iavc/iavc_pci.c#4 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_ctl.c#2 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_ing.c#2 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_ipr.c#5 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_isppp.c#3 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_rbch.c#2 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_tel.c#2 integrate .. //depot/projects/arm/src/sys/i4b/driver/i4b_trace.c#2 integrate .. //depot/projects/arm/src/sys/i4b/include/i4b_cause.h#1 branch .. //depot/projects/arm/src/sys/i4b/include/i4b_debug.h#1 branch .. //depot/projects/arm/src/sys/i4b/include/i4b_ioctl.h#1 branch .. //depot/projects/arm/src/sys/i4b/include/i4b_l1l2.h#2 integrate .. //depot/projects/arm/src/sys/i4b/include/i4b_rbch_ioctl.h#1 branch .. //depot/projects/arm/src/sys/i4b/include/i4b_tel_ioctl.h#1 branch .. //depot/projects/arm/src/sys/i4b/include/i4b_trace.h#1 branch .. //depot/projects/arm/src/sys/i4b/layer1/i4b_l1dmux.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/i4b_l1lib.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi/i4b_ifpi_isac.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi/i4b_ifpi_l1.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi/i4b_ifpi_l1fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi2/i4b_ifpi2_isacsx.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi2/i4b_ifpi2_l1fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpi2/i4b_ifpi2_pci.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpnp/i4b_ifpnp_isac.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ifpnp/i4b_ifpnp_l1fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ihfc/i4b_ihfc_drv.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ihfc/i4b_ihfc_l1if.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/ihfc/i4b_ihfc_pnp.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_asuscom_ipac.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_avm_a1.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_bchan.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_ctx_s0P.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_diva.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_drn_ngo.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_dynalink.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_elsa_pcc16.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_elsa_qs1i.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_elsa_qs1p.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_hscx.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_isac.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_isic.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_isic_isa.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_isic_pnp.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_itk_ix1.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_l1.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_l1fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_siemens_isurf.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_sws.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_tel_s016.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_tel_s0163.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_tel_s08.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/isic/i4b_usr_sti.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/itjc/i4b_itjc_isac.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/itjc/i4b_itjc_l1.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/itjc/i4b_itjc_l1fsm.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer1/itjc/i4b_itjc_pci.c#6 integrate .. //depot/projects/arm/src/sys/i4b/layer1/iwic/i4b_iwic_bchan.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/iwic/i4b_iwic_dchan.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/iwic/i4b_iwic_fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/iwic/i4b_iwic_l1if.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer1/iwic/i4b_iwic_pci.c#4 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_iframe.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_l2.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_l2fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_l2timer.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_lme.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_sframe.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_tei.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_uframe.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer2/i4b_util.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_l2if.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_l3fsm.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_l3timer.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_l4if.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_q931.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer3/i4b_q932fac.c#2 integrate .. //depot/projects/arm/src/sys/i4b/layer4/i4b_i4bdrv.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer4/i4b_l4.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer4/i4b_l4mgmt.c#3 integrate .. //depot/projects/arm/src/sys/i4b/layer4/i4b_l4timer.c#2 integrate .. //depot/projects/arm/src/sys/ia64/ia64/clock.c#6 integrate .. //depot/projects/arm/src/sys/ia64/ia64/syscall.S#2 integrate .. //depot/projects/arm/src/sys/ia64/isa/isa_dma.c#3 integrate .. //depot/projects/arm/src/sys/kern/Make.tags.inc#6 integrate .. //depot/projects/arm/src/sys/kern/init_sysent.c#21 integrate .. //depot/projects/arm/src/sys/kern/kern_conf.c#12 integrate .. //depot/projects/arm/src/sys/kern/kern_descrip.c#24 integrate .. //depot/projects/arm/src/sys/kern/kern_event.c#14 integrate .. //depot/projects/arm/src/sys/kern/kern_exec.c#20 integrate .. //depot/projects/arm/src/sys/kern/kern_kse.c#15 integrate .. //depot/projects/arm/src/sys/kern/kern_lockf.c#5 integrate .. //depot/projects/arm/src/sys/kern/kern_mutex.c#20 integrate .. //depot/projects/arm/src/sys/kern/kern_resource.c#19 integrate .. //depot/projects/arm/src/sys/kern/kern_rwlock.c#13 integrate .. //depot/projects/arm/src/sys/kern/kern_sig.c#24 integrate .. //depot/projects/arm/src/sys/kern/kern_switch.c#14 integrate .. //depot/projects/arm/src/sys/kern/kern_sx.c#13 integrate .. //depot/projects/arm/src/sys/kern/kern_thread.c#19 integrate .. //depot/projects/arm/src/sys/kern/makesyscalls.sh#7 integrate .. //depot/projects/arm/src/sys/kern/sched_4bsd.c#20 integrate .. //depot/projects/arm/src/sys/kern/sched_ule.c#21 integrate .. //depot/projects/arm/src/sys/kern/subr_clock.c#5 integrate .. //depot/projects/arm/src/sys/kern/subr_smp.c#5 integrate .. //depot/projects/arm/src/sys/kern/subr_unit.c#5 integrate .. //depot/projects/arm/src/sys/kern/sys_generic.c#12 integrate .. //depot/projects/arm/src/sys/kern/syscalls.c#21 integrate .. //depot/projects/arm/src/sys/kern/syscalls.master#23 integrate .. //depot/projects/arm/src/sys/kern/systrace_args.c#9 integrate .. //depot/projects/arm/src/sys/kern/tty.c#17 integrate .. //depot/projects/arm/src/sys/kern/tty_pts.c#9 integrate .. //depot/projects/arm/src/sys/kern/tty_pty.c#10 integrate .. //depot/projects/arm/src/sys/kern/tty_tty.c#5 integrate .. //depot/projects/arm/src/sys/kern/uipc_usrreq.c#28 integrate .. //depot/projects/arm/src/sys/kern/vfs_mount.c#31 integrate .. //depot/projects/arm/src/sys/kern/vfs_syscalls.c#31 integrate .. //depot/projects/arm/src/sys/kern/vfs_vnops.c#16 integrate .. //depot/projects/arm/src/sys/modules/Makefile#46 integrate .. //depot/projects/arm/src/sys/modules/coda/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/coda5/Makefile#5 integrate .. //depot/projects/arm/src/sys/modules/cxgb/Makefile#6 integrate .. //depot/projects/arm/src/sys/modules/iscsi/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/arm/src/sys/modules/mxge/mxge_eth_z8e/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate .. //depot/projects/arm/src/sys/modules/netgraph/atm/Makefile#3 integrate .. //depot/projects/arm/src/sys/modules/netgraph/bluetooth/Makefile#3 integrate .. //depot/projects/arm/src/sys/net/ieee8023ad_lacp.c#7 integrate .. //depot/projects/arm/src/sys/net/ieee8023ad_lacp.h#6 integrate .. //depot/projects/arm/src/sys/net/if_bridge.c#34 integrate .. //depot/projects/arm/src/sys/net/if_bridgevar.h#14 integrate .. //depot/projects/arm/src/sys/net/if_lagg.c#7 integrate .. //depot/projects/arm/src/sys/net/if_lagg.h#6 integrate .. //depot/projects/arm/src/sys/net80211/ieee80211_scan_sta.c#3 integrate .. //depot/projects/arm/src/sys/netatm/atm_proto.c#4 integrate .. //depot/projects/arm/src/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#4 integrate .. //depot/projects/arm/src/sys/netgraph/ng_bpf.c#3 integrate .. //depot/projects/arm/src/sys/netgraph/ng_eiface.c#9 integrate .. //depot/projects/arm/src/sys/netinet/icmp_var.h#2 integrate .. //depot/projects/arm/src/sys/netinet/in_mcast.c#2 integrate .. //depot/projects/arm/src/sys/netinet/ip_icmp.c#9 integrate .. //depot/projects/arm/src/sys/netinet/sctp.h#9 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.c#12 integrate .. //depot/projects/arm/src/sys/netinet/sctp_asconf.h#7 integrate .. //depot/projects/arm/src/sys/netinet/sctp_cc_functions.c#1 branch .. //depot/projects/arm/src/sys/netinet/sctp_cc_functions.h#1 branch .. //depot/projects/arm/src/sys/netinet/sctp_constants.h#14 integrate .. //depot/projects/arm/src/sys/netinet/sctp_indata.c#18 integrate .. //depot/projects/arm/src/sys/netinet/sctp_input.c#18 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os.h#7 integrate .. //depot/projects/arm/src/sys/netinet/sctp_os_bsd.h#13 integrate .. //depot/projects/arm/src/sys/netinet/sctp_output.c#18 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.c#18 integrate .. //depot/projects/arm/src/sys/netinet/sctp_pcb.h#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_peeloff.c#11 integrate .. //depot/projects/arm/src/sys/netinet/sctp_structs.h#15 integrate .. //depot/projects/arm/src/sys/netinet/sctp_sysctl.c#8 integrate .. //depot/projects/arm/src/sys/netinet/sctp_sysctl.h#5 integrate .. //depot/projects/arm/src/sys/netinet/sctp_timer.c#13 integrate .. //depot/projects/arm/src/sys/netinet/sctp_timer.h#5 integrate .. //depot/projects/arm/src/sys/netinet/sctp_usrreq.c#18 integrate .. //depot/projects/arm/src/sys/netinet/sctp_var.h#10 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.c#19 integrate .. //depot/projects/arm/src/sys/netinet/sctputil.h#14 integrate .. //depot/projects/arm/src/sys/netinet/tcp_input.c#34 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 27 04:39:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6F0B516A41B; Fri, 27 Jul 2007 04:39:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 116B216A419 for ; Fri, 27 Jul 2007 04:39:15 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 02B3913C461 for ; Fri, 27 Jul 2007 04:39:15 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R4dEg5019235 for ; Fri, 27 Jul 2007 04:39:14 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R4dEHR019232 for perforce@freebsd.org; Fri, 27 Jul 2007 04:39:14 GMT (envelope-from loafier@FreeBSD.org) Date: Fri, 27 Jul 2007 04:39:14 GMT Message-Id: <200707270439.l6R4dEHR019232@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124151 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 04:39:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124151 Change 124151 by loafier@chrisdsoc on 2007/07/27 04:38:18 Edit maestro for bus_alloc_resources, etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/maestro.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/maestro.c#2 (text+ko) ==== @@ -139,18 +139,24 @@ volatile u_int32_t hwptr; /* ready point in 16bit sample */ }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec agg_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct agg_info { /* FreeBSD newbus related */ device_t dev; /* I wonder whether bus_space_* are in common in *BSD... */ - struct resource *reg; - int regid; - bus_space_tag_t st; - bus_space_handle_t sh; - - struct resource *irq; - int irqid; + struct resource *res[RES_SZ]; void *ih; bus_dma_tag_t buf_dmat; @@ -205,9 +211,6 @@ static void agg_sleep(struct agg_info*, const char *wmesg, int msec); -static __inline u_int32_t agg_rd(struct agg_info*, int, int size); -static __inline void agg_wr(struct agg_info*, int, u_int32_t data, - int size); static int agg_rdcodec(struct agg_info*, int); static int agg_wrcodec(struct agg_info*, int, u_int32_t); @@ -247,6 +250,7 @@ static void suppress_jitter(struct agg_chinfo*); static void suppress_rec_jitter(struct agg_rchinfo*); #endif +static void agg_destroy(device_t, struct agg_info*); static void set_timer(struct agg_info*); @@ -288,46 +292,11 @@ /* I/O port */ -static __inline u_int32_t -agg_rd(struct agg_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->st, sc->sh, regno); - case 2: - return bus_space_read_2(sc->st, sc->sh, regno); - case 4: - return bus_space_read_4(sc->st, sc->sh, regno); - default: - return ~(u_int32_t)0; - } -} - #define AGG_RD(sc, regno, size) \ - bus_space_read_##size( \ - ((struct agg_info*)(sc))->st, \ - ((struct agg_info*)(sc))->sh, (regno)) + bus_read_##size((sc)->res[RES_MEM], (regno)) -static __inline void -agg_wr(struct agg_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->st, sc->sh, regno, data); - break; - case 2: - bus_space_write_2(sc->st, sc->sh, regno, data); - break; - case 4: - bus_space_write_4(sc->st, sc->sh, regno, data); - break; - } -} - #define AGG_WR(sc, regno, data, size) \ - bus_space_write_##size( \ - ((struct agg_info*)(sc))->st, \ - ((struct agg_info*)(sc))->sh, (regno), (data)) + bus_write_##size((sc)->res[RES_MEM], (regno), (data)) /* -------------------------------------------------------------------- */ @@ -1733,6 +1702,28 @@ bus_dmamem_free(dmat, buf, NULL); } +static void +agg_destroy(device_t dev, struct agg_info *sc) +{ + if (!sc) + return; + + if (sc->ih != NULL) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, agg_res_spec, sc->res); + if (sc->stat != NULL) + dma_free(sc->stat_dmat, sc->stat); + if (sc->stat_dmat != NULL) + bus_dma_tag_destroy(sc->stat_dmat); + if (sc->buf_dmat != NULL) + bus_dma_tag_destroy(sc->buf_dmat); +#ifdef USING_MUTEX + if (mtx_initialized(&sc->lock)) + mtx_destroy(&sc->lock); +#endif + free(sc, M_DEVBUF); +} + static int agg_probe(device_t dev) { @@ -1763,15 +1754,11 @@ agg_attach(device_t dev) { struct agg_info *ess = NULL; - u_int32_t data; - int regid = PCIR_BAR(0); - struct resource *reg = NULL; struct ac97_info *codec = NULL; - int irqid = 0; - struct resource *irq = NULL; void *ih = NULL; char status[SND_STATUSLEN]; int ret = 0; + uint32_t data; ess = malloc(sizeof(*ess), M_DEVBUF, M_WAITOK | M_ZERO); ess->dev = dev; @@ -1832,39 +1819,19 @@ /* State D0-uninitialized. */ ess->curpwr = PCI_POWERSTATE_D3; pci_set_powerstate(dev, PCI_POWERSTATE_D0); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); - /* Allocate resources. */ - if (data & PCIM_CMD_PORTEN) - reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, ®id, - RF_ACTIVE); - if (reg != NULL) { - ess->reg = reg; - ess->regid = regid; - ess->st = rman_get_bustag(reg); - ess->sh = rman_get_bushandle(reg); - } else { - device_printf(dev, "unable to map register space\n"); - ret = ENXIO; - goto bad; - } - irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &irqid, - RF_ACTIVE | RF_SHAREABLE); - if (irq != NULL) { - ess->irq = irq; - ess->irqid = irqid; - } else { - device_printf(dev, "unable to map interrupt\n"); + if (bus_alloc_resources(dev, agg_res_spec, ess->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); ret = ENXIO; goto bad; } /* Setup resources. */ - if (snd_setup_intr(dev, irq, INTR_MPSAFE, agg_intr, ess, &ih)) { + if (snd_setup_intr(dev, ess->res[RES_IRQ], + INTR_MPSAFE, agg_intr, ess, &ih)) { device_printf(dev, "unable to setup interrupt\n"); ret = ENXIO; goto bad; @@ -1910,8 +1877,11 @@ snprintf(status, SND_STATUSLEN, "port 0x%lx-0x%lx irq %ld at device %d.%d on pci%d", - rman_get_start(reg), rman_get_end(reg), rman_get_start(irq), - pci_get_slot(dev), pci_get_function(dev), pci_get_bus(dev)); + rman_get_start(ess->res[RES_MEM]), + rman_get_end(ess->res[RES_MEM]), + rman_get_start(ess->res[RES_IRQ]), + pci_get_slot(dev), pci_get_function(dev), + pci_get_bus(dev)); pcm_setstatus(dev, status); return 0; @@ -1919,29 +1889,12 @@ bad: if (codec != NULL) ac97_destroy(codec); - if (ih != NULL) - bus_teardown_intr(dev, irq, ih); - if (irq != NULL) - bus_release_resource(dev, SYS_RES_IRQ, irqid, irq); - if (reg != NULL) - bus_release_resource(dev, SYS_RES_IOPORT, regid, reg); - if (ess != NULL) { - if (ess->stat != NULL) - dma_free(ess->stat_dmat, ess->stat); - if (ess->stat_dmat != NULL) - bus_dma_tag_destroy(ess->stat_dmat); - if (ess->buf_dmat != NULL) - bus_dma_tag_destroy(ess->buf_dmat); -#ifdef USING_MUTEX - if (mtx_initialized(&ess->lock)) - mtx_destroy(&ess->lock); -#endif - free(ess, M_DEVBUF); - } + agg_destroy(dev, ess); return ret; } + static int agg_detach(device_t dev) { @@ -1970,16 +1923,8 @@ agg_power(ess, PCI_POWERSTATE_D3); agg_unlock(ess); - bus_teardown_intr(dev, ess->irq, ess->ih); - bus_release_resource(dev, SYS_RES_IRQ, ess->irqid, ess->irq); - bus_release_resource(dev, SYS_RES_IOPORT, ess->regid, ess->reg); - dma_free(ess->stat_dmat, ess->stat); - bus_dma_tag_destroy(ess->stat_dmat); - bus_dma_tag_destroy(ess->buf_dmat); -#ifdef USING_MUTEX - mtx_destroy(&ess->lock); -#endif - free(ess, M_DEVBUF); + agg_destroy(dev, ess); + return 0; } From owner-p4-projects@FreeBSD.ORG Fri Jul 27 04:54:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9C0E516A41F; Fri, 27 Jul 2007 04:54:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 70CA216A418 for ; Fri, 27 Jul 2007 04:54:34 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6038313C46E for ; Fri, 27 Jul 2007 04:54:34 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R4sYgD028726 for ; Fri, 27 Jul 2007 04:54:34 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R4sY9n028723 for perforce@freebsd.org; Fri, 27 Jul 2007 04:54:34 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 27 Jul 2007 04:54:34 GMT Message-Id: <200707270454.l6R4sY9n028723@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124152 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 04:54:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124152 Change 124152 by gcooper@optimus-revised_pkgtools on 2007/07/27 04:53:37 Initial add for completely pkg_install rewrite. This will be a server, client based system, where the server will act upon pkg database info, compared to separate processes all randomly doing their thing with the pkg database info. Need to prune some junk in the initial add, I know. A lot of these are just going to be prototypes for the next couple weeks, as I fill in the blanks. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/fat/fat#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_db_freebsd.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd_lexer.l#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd_parser.y#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_freebsd_private.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_manifest_freebsd.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__contrib_templates/pkg_repo_local_freebsd.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__template/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/__template/main.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/add/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/CHANGELOG.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Doxyfile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Makefile.inc.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/README.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/CHANGELOG#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/Makefile.inc#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/README#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/archive_read_open_stream.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_freebsd.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_match.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_private.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_contents.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_lexer.l.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_parser.y.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_private.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_manifest.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_manifest_freebsd.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_private.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_files.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_ftp.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_local_freebsd.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_private.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_util.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkgfile.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/archive_read_open_stream.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_db.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_db.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_db_match.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_db_private.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_manifest.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_private.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_repo.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_repo.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_repo_files.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_repo_ftp.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_repo_private.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkg_util.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/pkgfile.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/Makefile.inc.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/main.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/pkg_freebsd_contents.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/pkgfile.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/test.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/Makefile.inc#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/.svn/text-base/fbsd_test.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/fbsd_contents/fbsd_test.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/pkg_freebsd_contents.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/pkgfile.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/test.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/Makefile.inc.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/config.sh.eg.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/Makefile.inc#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/config.sh.eg#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/prop-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/prop-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/text-base/main.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/text-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/.svn/text-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/run.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_add/test.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/prop-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/prop-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/text-base/main.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/text-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/.svn/text-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/run.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_delete/test.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/entries#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/format#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/prop-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/prop-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/Makefile.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/main.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/match.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/pkg_info.h.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/run.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/show.c.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/.svn/text-base/test.sh.svn-base#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/Makefile#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/match.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/pkg_info.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/run.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/show.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/pkg_info/test.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/test.sh#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/delete/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/info/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/archive.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/file_utils.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/index_handler.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/plist.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/lib/prototypes.h#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/register/connection_manage.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/register/db_manage.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/register/main.c#1 add .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/version/main.c#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 27 05:20:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAD7116A419; Fri, 27 Jul 2007 05:20:07 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2364816A418 for ; Fri, 27 Jul 2007 05:20:07 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 14CE213C45D for ; Fri, 27 Jul 2007 05:20:07 +0000 (UTC) (envelope-from gcooper@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5K6jB031342 for ; Fri, 27 Jul 2007 05:20:06 GMT (envelope-from gcooper@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5K601031333 for perforce@freebsd.org; Fri, 27 Jul 2007 05:20:06 GMT (envelope-from gcooper@FreeBSD.org) Date: Fri, 27 Jul 2007 05:20:06 GMT Message-Id: <200707270520.l6R5K601031333@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gcooper@FreeBSD.org using -f From: Garrett Cooper To: Perforce Change Reviews Cc: Subject: PERFORCE change 124153 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 05:20:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=124153 Change 124153 by gcooper@optimus-revised_pkgtools on 2007/07/27 05:19:22 Remove subversion files. Affected files ... .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/entries#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/format#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/CHANGELOG.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Doxyfile.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Makefile.inc.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/Makefile.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/.svn/text-base/README.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/entries#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/format#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/Makefile.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/archive_read_open_stream.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_freebsd.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_match.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_db_private.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_contents.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_lexer.l.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_parser.y.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_freebsd_private.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_manifest.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_manifest_freebsd.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_private.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_files.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_ftp.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_local_freebsd.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_repo_private.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkg_util.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/src/.svn/text-base/pkgfile.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/entries#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/format#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/Makefile.inc.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/Makefile.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/main.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/pkg_freebsd_contents.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/pkgfile.c.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tests/.svn/text-base/test.h.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/entries#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/format#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/Makefile.inc.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/Makefile.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/config.sh.eg.svn-base#2 delete .. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/contrib/trunk/tools/.svn/text-base/test.sh.svn-base#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Fri Jul 27 05:36:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7599A16A41A; Fri, 27 Jul 2007 05:36:30 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 21A8B16A419 for ; Fri, 27 Jul 2007 05:36:30 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 127C313C480 for ; Fri, 27 Jul 2007 05:36:30 +0000 (UTC) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5aTNW032668 for ; Fri, 27 Jul 2007 05:36:29 GMT (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5aR3d032665 for perforce@freebsd.org; Fri, 27 Jul 2007 05:36:27 GMT (envelope-from imp@freebsd.org) Date: Fri, 27 Jul 2007 05:36:27 GMT Message-Id: <200707270536.l6R5aR3d032665@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Cc: Subject: PERFORCE change 124154 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 05:36:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=124154 Change 124154 by imp@imp_paco-paco on 2007/07/27 05:35:47 IFC @124148 Affected files ... .. //depot/projects/mips2/src/contrib/bind9/CHANGES#4 integrate .. //depot/projects/mips2/src/contrib/bind9/README#4 integrate .. //depot/projects/mips2/src/contrib/bind9/bin/named/client.c#4 integrate .. //depot/projects/mips2/src/contrib/bind9/bin/named/server.c#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch07.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch08.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch09.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.html#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/dispatch.c#4 integrate .. //depot/projects/mips2/src/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/projects/mips2/src/contrib/bind9/version#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/HISTORY#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/README#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/VERSION#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/audit/audit.8#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/audit/audit.c#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/auditd/audit_warn.c#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/auditd/auditd.8#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/auditd/auditd.c#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/auditd/auditd.h#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/bin/auditreduce/auditreduce.c#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/config/config.h#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/configure#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/configure.ac#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/etc/audit_event#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/libbsm/au_control.3#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/libbsm/au_event.3#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/libbsm/audit_submit.3#3 integrate .. //depot/projects/mips2/src/contrib/openbsm/libbsm/bsm_io.c#4 integrate .. //depot/projects/mips2/src/contrib/openbsm/libbsm/bsm_token.c#4 integrate .. //depot/projects/mips2/src/etc/mtree/BSD.usr.dist#4 integrate .. //depot/projects/mips2/src/etc/rc.d/netif#3 integrate .. //depot/projects/mips2/src/lib/libc/net/sctp_sys_calls.c#3 integrate .. //depot/projects/mips2/src/lib/libc/yp/yplib.c#3 integrate .. //depot/projects/mips2/src/lib/libpam/modules/pam_lastlog/pam_lastlog.c#3 integrate .. //depot/projects/mips2/src/libexec/getty/ttys.5#2 integrate .. //depot/projects/mips2/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#5 integrate .. //depot/projects/mips2/src/sbin/Makefile#5 integrate .. //depot/projects/mips2/src/sbin/iscontrol/Makefile#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/auth_subr.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/config.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/fsm.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/iscontrol.8#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/iscontrol.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/iscontrol.h#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/iscsi.conf.5#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/login.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/misc.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/pdu.c#1 branch .. //depot/projects/mips2/src/sbin/iscontrol/pdu.h#1 branch .. //depot/projects/mips2/src/share/examples/kld/syscall/module/syscall.c#2 integrate .. //depot/projects/mips2/src/share/man/man4/Makefile#7 integrate .. //depot/projects/mips2/src/share/man/man4/iscsi_initiator.4#1 branch .. //depot/projects/mips2/src/share/man/man4/udav.4#3 integrate .. //depot/projects/mips2/src/share/man/man4/usb.4#3 integrate .. //depot/projects/mips2/src/share/man/man7/ports.7#5 integrate .. //depot/projects/mips2/src/share/man/man8/rc.8#4 integrate .. //depot/projects/mips2/src/share/mk/version_gen.awk#3 integrate .. //depot/projects/mips2/src/sys/amd64/amd64/trap.c#5 integrate .. //depot/projects/mips2/src/sys/amd64/isa/clock.c#4 integrate .. //depot/projects/mips2/src/sys/bsm/audit.h#4 integrate .. //depot/projects/mips2/src/sys/bsm/audit_internal.h#4 integrate .. //depot/projects/mips2/src/sys/bsm/audit_kevents.h#5 integrate .. //depot/projects/mips2/src/sys/bsm/audit_record.h#5 integrate .. //depot/projects/mips2/src/sys/cam/scsi/scsi_cd.c#6 integrate .. //depot/projects/mips2/src/sys/compat/ndis/subr_ntoskrnl.c#4 integrate .. //depot/projects/mips2/src/sys/conf/NOTES#6 integrate .. //depot/projects/mips2/src/sys/conf/files#8 integrate .. //depot/projects/mips2/src/sys/conf/options#6 integrate .. //depot/projects/mips2/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/mips2/src/sys/dev/acpica/acpi_hpet.c#4 integrate .. //depot/projects/mips2/src/sys/dev/if_ndis/if_ndis.c#4 integrate .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/isc_cam.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/isc_sm.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/isc_soc.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/isc_subr.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/iscsi.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/iscsi.h#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch .. //depot/projects/mips2/src/sys/dev/iscsi/initiator/iscsivar.h#1 branch .. //depot/projects/mips2/src/sys/dev/nfe/if_nfe.c#4 integrate .. //depot/projects/mips2/src/sys/dev/nfe/if_nfevar.h#4 integrate .. //depot/projects/mips2/src/sys/dev/ral/rt2560.c#6 integrate .. //depot/projects/mips2/src/sys/dev/ral/rt2661.c#4 integrate .. //depot/projects/mips2/src/sys/dev/re/if_re.c#5 integrate .. //depot/projects/mips2/src/sys/dev/usb/if_udav.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/ukbd.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/ums.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/usb_quirks.c#4 integrate .. //depot/projects/mips2/src/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/mips2/src/sys/fs/devfs/devfs_vnops.c#7 integrate .. //depot/projects/mips2/src/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/mips2/src/sys/fs/msdosfs/msdosfs_vfsops.c#4 integrate .. //depot/projects/mips2/src/sys/fs/tmpfs/tmpfs_vfsops.c#2 integrate .. //depot/projects/mips2/src/sys/i386/i386/trap.c#6 integrate .. //depot/projects/mips2/src/sys/i386/isa/clock.c#4 integrate .. //depot/projects/mips2/src/sys/ia64/ia64/clock.c#3 integrate .. //depot/projects/mips2/src/sys/kern/kern_kse.c#4 integrate .. //depot/projects/mips2/src/sys/kern/kern_thread.c#4 integrate .. //depot/projects/mips2/src/sys/kern/subr_clock.c#3 integrate .. //depot/projects/mips2/src/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/mips2/src/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/mips2/src/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/mips2/src/sys/modules/Makefile#6 integrate .. //depot/projects/mips2/src/sys/modules/iscsi/Makefile#1 branch .. //depot/projects/mips2/src/sys/modules/iscsi/initiator/Makefile#1 branch .. //depot/projects/mips2/src/sys/net/if_bridge.c#5 integrate .. //depot/projects/mips2/src/sys/net/if_bridgevar.h#5 integrate .. //depot/projects/mips2/src/sys/net/if_lagg.c#3 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_bpf.c#2 integrate .. //depot/projects/mips2/src/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_asconf.c#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_asconf.h#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_indata.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_input.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_os_bsd.h#3 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_output.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_pcb.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_pcb.h#4 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_structs.h#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_timer.c#4 integrate .. //depot/projects/mips2/src/sys/netinet/sctp_usrreq.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctputil.c#5 integrate .. //depot/projects/mips2/src/sys/netinet/sctputil.h#5 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_input.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_subr.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_syncache.c#6 integrate .. //depot/projects/mips2/src/sys/netinet/tcp_syncache.h#1 branch .. //depot/projects/mips2/src/sys/netinet/tcp_var.h#6 integrate .. //depot/projects/mips2/src/sys/netinet6/sctp6_usrreq.c#4 integrate .. //depot/projects/mips2/src/sys/netinet6/udp6_output.c#4 delete .. //depot/projects/mips2/src/sys/netinet6/udp6_usrreq.c#5 integrate .. //depot/projects/mips2/src/sys/netinet6/udp6_var.h#3 integrate .. //depot/projects/mips2/src/sys/pc98/cbus/clock.c#4 integrate .. //depot/projects/mips2/src/sys/pci/if_rl.c#3 integrate .. //depot/projects/mips2/src/sys/pci/if_rlreg.h#5 integrate .. //depot/projects/mips2/src/sys/security/mac_mls/mac_mls.c#5 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/eeprom.c#3 integrate .. //depot/projects/mips2/src/sys/sparc64/sparc64/rtc.c#3 integrate .. //depot/projects/mips2/src/sys/sys/proc.h#5 integrate .. //depot/projects/mips2/src/sys/vm/vnode_pager.c#7 integrate .. //depot/projects/mips2/src/usr.bin/su/su.1#3 integrate .. //depot/projects/mips2/src/usr.sbin/periodic/periodic.8#3 integrate Differences ... ==== //depot/projects/mips2/src/contrib/bind9/CHANGES#4 (text+ko) ==== @@ -1,4 +1,34 @@ + --- 9.4.1-P1 released --- + +2206. [security] "allow-query-cache" and "allow-recursion" now + cross inherit from each other. + + If allow-query-cache is not set in named.conf then + allow-recursion is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + If allow-recursion is not set in named.conf then + allow-query-cache is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + [RT #16987] + +2203. [security] Query id generation was cryptographically weak. + [RT # 16915] + +2202. [security] The default acls for allow-query-cache and + allow-recursion were not being applied. [RT #16960] + +2193. [port] win32: BINDInstall.exe is now linked statically. + [RT #16906] + +2192. [port] win32: use vcredist_x86.exe to install Visual + Studio's redistributable dlls if building with + Visual Stdio 2005 or later. + --- 9.4.1 released --- 2172. [bug] query_addsoa() was being called with a non zone db. ==== //depot/projects/mips2/src/contrib/bind9/README#4 (text+ko) ==== @@ -43,6 +43,11 @@ Nominum, Inc. +BIND 9.4.1-P1 + + BIND 9.4.1-P1 is a security release, containing a fixes for a + security bugs in BIND 9.4.1. + BIND 9.4.1 BIND 9.4.1 is a security release, containing a fix for a ==== //depot/projects/mips2/src/contrib/bind9/bin/named/client.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.20 2006/07/22 01:02:36 marka Exp $ */ +/* $Id: client.c,v 1.219.18.20.14.1 2007/06/26 02:58:54 marka Exp $ */ #include @@ -1440,6 +1440,14 @@ } /* + * Hash the incoming request here as it is after + * dns_dispatch_importrecv(). + */ + dns_dispatch_hash(&client->now, sizeof(client->now)); + dns_dispatch_hash(isc_buffer_base(buffer), + isc_buffer_usedlength(buffer)); + + /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/mips2/src/contrib/bind9/bin/named/server.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.49 2006/12/07 05:24:19 marka Exp $ */ +/* $Id: server.c,v 1.419.18.49.12.2 2007/07/09 02:23:16 marka Exp $ */ /*! \file */ @@ -1435,12 +1435,12 @@ view->additionalfromcache = ISC_TRUE; } + /* + * Set "allow-query-cache" and "allow-recursion" acls if + * configured in named.conf. + */ CHECK(configure_view_acl(vconfig, config, "allow-query-cache", actx, ns_g_mctx, &view->queryacl)); - if (view->queryacl == NULL) - CHECK(configure_view_acl(NULL, ns_g_defaults, - "allow-query-cache", actx, - ns_g_mctx, &view->queryacl)); if (strcmp(view->name, "_bind") != 0) CHECK(configure_view_acl(vconfig, config, "allow-recursion", @@ -1460,11 +1460,29 @@ "active%s%s", forview, viewname); /* - * Set default "allow-recursion" acl. + * "allow-query-cache" inherits from "allow-recursion" if set, + * otherwise from "allow-query" if set. + * "allow-recursion" inherits from "allow-query-cache" if set, + * otherwise from "allow-query" if set. + */ + if (view->queryacl == NULL && view->recursionacl != NULL) + dns_acl_attach(view->recursionacl, &view->queryacl); + if (view->queryacl == NULL) + CHECK(configure_view_acl(vconfig, config, "allow-query", + actx, ns_g_mctx, &view->queryacl)); + if (view->recursionacl == NULL && view->queryacl != NULL) + dns_acl_attach(view->queryacl, &view->recursionacl); + + /* + * Set default "allow-recursion" and "allow-query-cache" acls. */ if (view->recursionacl == NULL && view->recursion) - CHECK(configure_view_acl(NULL, ns_g_defaults, "allow-recursion", + CHECK(configure_view_acl(NULL, ns_g_config, "allow-recursion", actx, ns_g_mctx, &view->recursionacl)); + if (view->queryacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-query-cache", actx, + ns_g_mctx, &view->queryacl)); CHECK(configure_view_acl(vconfig, config, "sortlist", actx, ns_g_mctx, &view->sortlist)); ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -5827,32 +5827,29 @@ Specifies which hosts are allowed to get answers - from the cache. The default is the builtin acls - localnets and - localhost. + from the cache. If allow-query-cache + is not set then allow-recursion + is used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. - - The way to set query access to the cache is now - via allow-query-cache. - This differs from earlier versions which used - allow-query. - allow-recursion - + Specifies which hosts are allowed to make recursive - queries through this server. If not specified, - the default is to allow recursive queries from - the builtin acls localnets and - localhost. - Note that disallowing recursive queries for a - host does not prevent the host from retrieving - data that is already in the server's cache. - + queries through this server. If + allow-recursion is not set + then allow-query-cache is + used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. + ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch01.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,15 +47,15 @@
Scope of Document
Organization of This Document
-
Conventions Used in This Document
-
The Domain Name System (DNS)
+
Conventions Used in This Document
+
The Domain Name System (DNS)
-
DNS Fundamentals
-
Domains and Domain Names
-
Zones
-
Authoritative Name Servers
-
Caching Name Servers
-
Name Servers in Multiple Roles
+
DNS Fundamentals
+
Domains and Domain Names
+
Zones
+
Authoritative Name Servers
+
Caching Name Servers
+
Name Servers in Multiple Roles

@@ -116,7 +116,7 @@

-Conventions Used in This Document

+Conventions Used in This Document

In this document, we use the following general typographic conventions: @@ -243,7 +243,7 @@

-The Domain Name System (DNS)

+The Domain Name System (DNS)

The purpose of this document is to explain the installation and upkeep of the BIND software @@ -253,7 +253,7 @@

-DNS Fundamentals

+DNS Fundamentals

The Domain Name System (DNS) is a hierarchical, distributed database. It stores information for mapping Internet host names to @@ -273,7 +273,7 @@

-Domains and Domain Names

+Domains and Domain Names

The data stored in the DNS is identified by domain names that are organized as a tree according to organizational or administrative boundaries. Each node of the tree, @@ -319,7 +319,7 @@

-Zones

+Zones

To properly operate a name server, it is important to understand the difference between a zone @@ -372,7 +372,7 @@

-Authoritative Name Servers

+Authoritative Name Servers

Each zone is served by at least one authoritative name server, @@ -389,7 +389,7 @@

-The Primary Master

+The Primary Master

The authoritative server where the master copy of the zone data is maintained is called the @@ -409,7 +409,7 @@

-Slave Servers

+Slave Servers

The other authoritative servers, the slave servers (also known as secondary servers) @@ -425,7 +425,7 @@

-Stealth Servers

+Stealth Servers

Usually all of the zone's authoritative servers are listed in NS records in the parent zone. These NS records constitute @@ -460,7 +460,7 @@

-Caching Name Servers

+Caching Name Servers

The resolver libraries provided by most operating systems are stub resolvers, meaning that they are not @@ -487,7 +487,7 @@

-Forwarding

+Forwarding

Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can @@ -514,7 +514,7 @@

-Name Servers in Multiple Roles

+Name Servers in Multiple Roles

The BIND name server can simultaneously act as ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch02.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,16 +45,16 @@

-Hardware requirements

+Hardware requirements

DNS hardware requirements have traditionally been quite modest. @@ -73,7 +73,7 @@

-CPU Requirements

+CPU Requirements

CPU requirements for BIND 9 range from i486-class machines @@ -84,7 +84,7 @@

-Memory Requirements

+Memory Requirements

The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size @@ -107,7 +107,7 @@

-Name Server Intensive Environment Issues

+Name Server Intensive Environment Issues

For name server intensive environments, there are two alternative configurations that may be used. The first is where clients and @@ -124,7 +124,7 @@

-Supported Operating Systems

+Supported Operating Systems

ISC BIND 9 compiles and runs on a large number ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch03.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,14 +47,14 @@

Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
@@ -68,7 +68,7 @@ Sample Configurations

-A Caching-only Name Server

+A Caching-only Name Server

The following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All @@ -95,7 +95,7 @@

-An Authoritative-only Name Server

+An Authoritative-only Name Server

This sample configuration is for an authoritative-only server that is the master server for "example.com" @@ -137,7 +137,7 @@

-Load Balancing

+Load Balancing

A primitive form of load balancing can be achieved in the DNS by using multiple A records for @@ -280,10 +280,10 @@

-Name Server Operations

+Name Server Operations

-Tools for Use With the Name Server Daemon

+Tools for Use With the Name Server Daemon

This section describes several indispensable diagnostic, administrative and monitoring tools available to the system @@ -741,7 +741,7 @@

-Signals

+Signals

Certain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch04.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -49,28 +49,28 @@

Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
+
Split DNS
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
@@ -204,7 +204,7 @@

-Split DNS

+Split DNS

Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually referred to as a @@ -479,7 +479,7 @@

-Generate Shared Keys for Each Pair of Hosts

+Generate Shared Keys for Each Pair of Hosts

A shared secret is generated to be shared between host1 and host2. An arbitrary key name is chosen: "host1-host2.". The key name must @@ -487,7 +487,7 @@

-Automatic Generation

+Automatic Generation

The following command will generate a 128-bit (16 byte) HMAC-MD5 key as described above. Longer keys are better, but shorter keys @@ -512,7 +512,7 @@

-Manual Generation

+Manual Generation

The shared secret is simply a random sequence of bits, encoded in base-64. Most ASCII strings are valid base-64 strings (assuming @@ -527,7 +527,7 @@

-Copying the Shared Secret to Both Machines

+Copying the Shared Secret to Both Machines

This is beyond the scope of DNS. A secure transport mechanism should be used. This could be secure FTP, ssh, telephone, etc. @@ -535,7 +535,7 @@

-Informing the Servers of the Key's Existence

+Informing the Servers of the Key's Existence

Imagine host1 and host 2 are @@ -564,7 +564,7 @@

-Instructing the Server to Use the Key

+Instructing the Server to Use the Key

Since keys are shared between two hosts only, the server must be told when keys are to be used. The following is added to the named.conf file @@ -596,7 +596,7 @@

-TSIG Key Based Access Control

+TSIG Key Based Access Control

BIND allows IP addresses and ranges to be specified in ACL @@ -624,7 +624,7 @@

-Errors

+Errors

The processing of TSIG signed messages can result in several errors. If a signed message is sent to a non-TSIG aware @@ -650,7 +650,7 @@

-TKEY

+TKEY

TKEY is a mechanism for automatically generating a shared secret between two hosts. There are several "modes" of @@ -686,7 +686,7 @@

-SIG(0)

+SIG(0)

BIND 9 partially supports DNSSEC SIG(0) transaction signatures as specified in RFC 2535 and RFC2931. @@ -747,7 +747,7 @@

-Generating Keys

+Generating Keys

The dnssec-keygen program is used to generate keys. @@ -798,7 +798,7 @@

-Signing the Zone

+Signing the Zone

The dnssec-signzone program is used to @@ -842,7 +842,7 @@

-Configuring Servers

+Configuring Servers

To enable named to respond appropriately to DNS requests from DNSSEC aware clients, @@ -930,7 +930,7 @@

-IPv6 Support in BIND 9

+IPv6 Support in BIND 9

BIND 9 fully supports all currently defined forms of IPv6 @@ -969,7 +969,7 @@

-Address Lookups Using AAAA Records

+Address Lookups Using AAAA Records

The IPv6 AAAA record is a parallel to the IPv4 A record, and, unlike the deprecated A6 record, specifies the entire @@ -988,7 +988,7 @@

-Address to Name Lookups Using Nibble Format

+Address to Name Lookups Using Nibble Format

When looking up an address in nibble format, the address components are simply reversed, just as in IPv4, and ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch05.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,13 +45,13 @@

-The Lightweight Resolver Library

+The Lightweight Resolver Library

Traditionally applications have been linked with a stub resolver library that sends recursive DNS queries to a local caching name ==== //depot/projects/mips2/src/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -48,52 +48,52 @@

Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
-
include Statement Definition and +
include Statement Grammar
+
include Statement Definition and Usage
-
key Statement Grammar
-
key Statement Definition and Usage
-
logging Statement Grammar
-
logging Statement Definition and +
key Statement Grammar
+
key Statement Definition and Usage
+
logging Statement Grammar
+
logging Statement Definition and Usage
-
lwres Statement Grammar
-
lwres Statement Definition and Usage
-
masters Statement Grammar
-
masters Statement Definition and +
lwres Statement Grammar
+
lwres Statement Definition and Usage
+
masters Statement Grammar
+
masters Statement Definition and Usage
-
options Statement Grammar
+
options Statement Grammar
options Statement Definition and Usage
server Statement Grammar
server Statement Definition and Usage
-
trusted-keys Statement Grammar
-
trusted-keys Statement Definition +
trusted-keys Statement Grammar
+
trusted-keys Statement Definition and Usage
view Statement Grammar
-
view Statement Definition and Usage
+
view Statement Definition and Usage
zone Statement Grammar
-
zone Statement Definition and Usage
+
zone Statement Definition and Usage
-
Zone File
+
Zone File
Types of Resource Records and When to Use Them
-
Discussion of MX Records
+
Discussion of MX Records
Setting TTLs
-
Inverse Mapping in IPv4
-
Other Zone File Directives
-
BIND Master File Extension: the $GENERATE Directive
+
Inverse Mapping in IPv4
+
Other Zone File Directives
+
BIND Master File Extension: the $GENERATE Directive
Additional File Formats
@@ -428,7 +428,7 @@ Address Match Lists

-Syntax

+Syntax
address_match_list = address_match_list_element ;

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 05:43:40 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 3119116A41B; Fri, 27 Jul 2007 05:43:40 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 91F5F16A417
	for ; Fri, 27 Jul 2007 05:43:39 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 84F0813C46C
	for ; Fri, 27 Jul 2007 05:43:39 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5hdPT033229
	for ; Fri, 27 Jul 2007 05:43:39 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5hd4T033226
	for perforce@freebsd.org; Fri, 27 Jul 2007 05:43:39 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 05:43:39 GMT
Message-Id: <200707270543.l6R5hd4T033226@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124155 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 05:43:40 -0000

http://perforce.freebsd.org/chv.cgi?CH=124155

Change 124155 by loafier@chrisdsoc on 2007/07/27 05:43:02

	Use return value from pci_enable_io() to help determine whether to 
	allocate memory or io ports.

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/share/examples/drivers/template.c#2 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/share/examples/drivers/template.c#2 (text+ko) ====

@@ -534,6 +534,7 @@
 static int
 XX_pci_attach(device_t dev)
 {
+	int mapped = 0;
 	struct sc_info *sc;
 	struct ac97_info *codec;
 	uint32_t data;
@@ -551,16 +552,20 @@
 	/* power up */
 	pci_set_powerstate(dev, PCI_POWERSTATE_D0);
 	pci_enable_busmaster(dev);
-	pci_enable_io(dev, SYS_RES_MEMORY);
-	pci_enable_io(dev, SYS_RES_IOPORT);
 
-	sc->spec = XX_res_spec_mem;
-	if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) {
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_MEMORY) == 0) {
+		sc->spec = XX_res_spec_mem;
+		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0)
+			mapped = 1;
+	}
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_IOPORT) == 0) { 
 		sc->spec = XX_res_spec_io;
-		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) {
-			device_printf(dev, "unable to allocate resources\n");
-			goto bad;
-		}
+		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) 
+			mapped = 1;
+	}
+	if (mapped == 0) {
+		device_printf(dev, "unable to allocate resources\n");
+		goto bad;
 	}
 
 	/*

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 05:45:43 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 8D00116A41A; Fri, 27 Jul 2007 05:45:43 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0DB7616A418
	for ; Fri, 27 Jul 2007 05:45:43 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 0042013C465
	for ; Fri, 27 Jul 2007 05:45:43 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5jgam033399
	for ; Fri, 27 Jul 2007 05:45:42 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5jgDs033396
	for perforce@freebsd.org; Fri, 27 Jul 2007 05:45:42 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 05:45:42 GMT
Message-Id: <200707270545.l6R5jgDs033396@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124156 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 05:45:43 -0000

http://perforce.freebsd.org/chv.cgi?CH=124156

Change 124156 by loafier@chrisdsoc on 2007/07/27 05:44:47

	Whoops -- fix logic.

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/share/examples/drivers/template.c#3 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/share/examples/drivers/template.c#3 (text+ko) ====

@@ -555,12 +555,12 @@
 
 	if (mapped == 0 && pci_enable_io(dev, SYS_RES_MEMORY) == 0) {
 		sc->spec = XX_res_spec_mem;
-		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0)
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0)
 			mapped = 1;
 	}
 	if (mapped == 0 && pci_enable_io(dev, SYS_RES_IOPORT) == 0) { 
 		sc->spec = XX_res_spec_io;
-		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) 
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0) 
 			mapped = 1;
 	}
 	if (mapped == 0) {

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 05:47:11 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 51D0416A421; Fri, 27 Jul 2007 05:47:11 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CC02316A418
	for ; Fri, 27 Jul 2007 05:47:10 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id BE79113C46C
	for ; Fri, 27 Jul 2007 05:47:10 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5lAU2033565
	for ; Fri, 27 Jul 2007 05:47:10 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5lAtJ033557
	for perforce@freebsd.org; Fri, 27 Jul 2007 05:47:10 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 05:47:10 GMT
Message-Id: <200707270547.l6R5lAtJ033557@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124157 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 05:47:11 -0000

http://perforce.freebsd.org/chv.cgi?CH=124157

Change 124157 by loafier@chrisdsoc on 2007/07/27 05:47:09

	Use bus_alloc_resources, etc in maestro3 driver.

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/maestro3.c#2 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/maestro3.c#2 (text+ko) ====

@@ -123,6 +123,24 @@
 	u_int32_t	prevptr;
 };
 
+enum {
+	RES_MEM,
+	RES_IRQ,
+	RES_SZ
+};
+
+static struct resource_spec m3_res_spec_io[] = {
+	{SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE},
+	{SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE},
+	{-1, 0, 0}
+};
+
+static struct resource_spec m3_res_spec_mem[] = {
+	{SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE},
+	{SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE},
+	{-1, 0, 0}
+};
+
 struct sc_info {
 	device_t		dev;
 	u_int32_t		type;
@@ -130,15 +148,10 @@
 	int			delay1;
 	int			delay2;
 
-	bus_space_tag_t		st;
-	bus_space_handle_t	 sh;
 	bus_dma_tag_t		parent_dmat;
 
-	struct resource		*reg;
-	struct resource		*irq;
-	int			regtype;
-	int			regid;
-	int			irqid;
+	struct resource		*res[RES_SZ];
+	struct resource_spec 	*spec;
 	void			*ih;
 
 	struct sc_pchinfo	pch[M3_PCHANS];
@@ -260,12 +273,12 @@
 /* -------------------------------------------------------------------- */
 /* some i/o convenience functions */
 
-#define m3_rd_1(sc, regno) bus_space_read_1(sc->st, sc->sh, regno)
-#define m3_rd_2(sc, regno) bus_space_read_2(sc->st, sc->sh, regno)
-#define m3_rd_4(sc, regno) bus_space_read_4(sc->st, sc->sh, regno)
-#define m3_wr_1(sc, regno, data) bus_space_write_1(sc->st, sc->sh, regno, data)
-#define m3_wr_2(sc, regno, data) bus_space_write_2(sc->st, sc->sh, regno, data)
-#define m3_wr_4(sc, regno, data) bus_space_write_4(sc->st, sc->sh, regno, data)
+#define m3_rd_1(sc, regno) bus_read_1((sc)->res[RES_MEM], regno)
+#define m3_rd_2(sc, regno) bus_read_2((sc)->res[RES_MEM], regno)
+#define m3_rd_4(sc, regno) bus_read_4((sc)->res[RES_MEM], regno)
+#define m3_wr_1(sc, regno, data) bus_write_1((sc)->res[RES_MEM], regno, data)
+#define m3_wr_2(sc, regno, data) bus_write_2((sc)->res[RES_MEM], regno, data)
+#define m3_wr_4(sc, regno, data) bus_write_4((sc)->res[RES_MEM], regno, data)
 #define m3_rd_assp_code(sc, index) \
         m3_rd_assp(sc, MEMTYPE_INTERNAL_CODE, index)
 #define m3_wr_assp_code(sc, index, data) \
@@ -1234,6 +1247,22 @@
 	return 0;
 }
 
+static void
+m3_destroy(device_t dev, struct sc_info *sc)
+{
+	if (!sc)
+		return;
+
+	if (sc->ih)
+		bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih);
+	bus_release_resources(dev, sc->spec, sc->res);
+	if (sc->parent_dmat)
+		bus_dma_tag_destroy(sc->parent_dmat);
+	if (sc->sc_lock)
+		snd_mtxfree(sc->sc_lock);
+	free(sc, M_DEVBUF);
+}
+
 /* -------------------------------------------------------------------- */
 /* Probe and attach the card */
 
@@ -1258,10 +1287,10 @@
 {
 	struct sc_info *sc;
 	struct ac97_info *codec = NULL;
-	u_int32_t data;
 	char status[SND_STATUSLEN];
 	struct m3_card_type *card;
 	int i, len, dacn, adcn;
+	int mapped = 0;
 
 	M3_DEBUG(CALL, ("m3_pci_attach\n"));
 
@@ -1292,35 +1321,25 @@
 
 	adcn = M3_RCHANS;
 
-	data = pci_read_config(dev, PCIR_COMMAND, 2);
-	data |= (PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN);
-	pci_write_config(dev, PCIR_COMMAND, data, 2);
+	pci_enable_busmaster(dev);
 
-	sc->regid = PCIR_BAR(0);
-	sc->regtype = SYS_RES_MEMORY;
-	sc->reg = bus_alloc_resource_any(dev, sc->regtype, &sc->regid,
-					 RF_ACTIVE);
-	if (!sc->reg) {
-		sc->regtype = SYS_RES_IOPORT;
-		sc->reg = bus_alloc_resource_any(dev, sc->regtype, &sc->regid,
-						 RF_ACTIVE);
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_MEMORY) == 0) {
+		sc->spec = m3_res_spec_mem;
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0)
+			mapped = 1;
 	}
-	if (!sc->reg) {
-		device_printf(dev, "unable to allocate register space\n");
-		goto bad;
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_IOPORT) == 0) { 
+		sc->spec = m3_res_spec_io;
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0) 
+			mapped = 1;
 	}
-	sc->st = rman_get_bustag(sc->reg);
-	sc->sh = rman_get_bushandle(sc->reg);
-
-	sc->irqid = 0;
-	sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid,
-					 RF_ACTIVE | RF_SHAREABLE);
-	if (!sc->irq) {
-		device_printf(dev, "unable to allocate interrupt\n");
+	if (mapped == 0) {
+		device_printf(dev, "unable to allocate resources\n");
 		goto bad;
 	}
 
-	if (snd_setup_intr(dev, sc->irq, INTR_MPSAFE, m3_intr, sc, &sc->ih)) {
+	if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, 
+	    m3_intr, sc, &sc->ih)) {
 		device_printf(dev, "unable to setup interrupt\n");
 		goto bad;
 	}
@@ -1385,8 +1404,9 @@
 		}
 	}
  	snprintf(status, SND_STATUSLEN, "at %s 0x%lx irq %ld %s",
-	    (sc->regtype == SYS_RES_IOPORT)? "io" : "memory",
-	    rman_get_start(sc->reg), rman_get_start(sc->irq),
+	    (sc->spec == m3_res_spec_io)? "io" : "memory",
+	    rman_get_start(sc->res[RES_MEM]), 
+	    rman_get_start(sc->res[RES_IRQ]),
 	    PCM_KLDSTRING(snd_maestro3));
 	if (pcm_setstatus(dev, status)) {
 		device_printf(dev, "attach: pcm_setstatus error\n");
@@ -1405,17 +1425,8 @@
  bad:
 	if (codec)
 		ac97_destroy(codec);
-	if (sc->ih)
-		bus_teardown_intr(dev, sc->irq, sc->ih);
-	if (sc->irq)
-		bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq);
-	if (sc->reg)
-		bus_release_resource(dev, sc->regtype, sc->regid, sc->reg);
-	if (sc->parent_dmat)
-		bus_dma_tag_destroy(sc->parent_dmat);
-	if (sc->sc_lock)
-		snd_mtxfree(sc->sc_lock);
-	free(sc, M_DEVBUF);
+	m3_destroy(dev, sc);
+
 	return ENXIO;
 }
 
@@ -1436,14 +1447,8 @@
 	m3_power(sc, 3); /* power off */
 	M3_UNLOCK(sc);
 
-	bus_teardown_intr(dev, sc->irq, sc->ih);
-	bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq);
-	bus_release_resource(dev, sc->regtype, sc->regid, sc->reg);
-	bus_dma_tag_destroy(sc->parent_dmat);
+	m3_destroy(dev, sc);
 
-	free(sc->savemem, M_DEVBUF);
-	snd_mtxfree(sc->sc_lock);
-	free(sc, M_DEVBUF);
 	return 0;
 }
 

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 05:54:30 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 8F9BE16A41F; Fri, 27 Jul 2007 05:54:30 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 499DF16A41A
	for ; Fri, 27 Jul 2007 05:54:30 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 3C98A13C46A
	for ; Fri, 27 Jul 2007 05:54:30 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5sUhq034011
	for ; Fri, 27 Jul 2007 05:54:30 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5sUpx034008
	for perforce@freebsd.org; Fri, 27 Jul 2007 05:54:30 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 05:54:30 GMT
Message-Id: <200707270554.l6R5sUpx034008@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124158 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 05:54:30 -0000

http://perforce.freebsd.org/chv.cgi?CH=124158

Change 124158 by loafier@chrisdsoc on 2007/07/27 05:53:29

	Use return value of pci_enable_io() to help determine whether to 
	allocate memory or io ports.

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/es137x.c#3 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/es137x.c#3 (text+ko) ====

@@ -1689,7 +1689,6 @@
 static int
 es_pci_attach(device_t dev)
 {
-	uint32_t	data;
 	struct es_info *es = NULL;
 	int		mapped, i, numplay, dac_cfg;
 	char		status[SND_STATUSLEN];
@@ -1704,17 +1703,13 @@
 	mapped = 0;
 
 	pci_enable_busmaster(dev);
-	data = pci_read_config(dev, PCIR_COMMAND, 2);
-	data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN);
-	pci_write_config(dev, PCIR_COMMAND, data, 2);
-	data = pci_read_config(dev, PCIR_COMMAND, 2);
 
-	if (mapped == 0 && (data & PCIM_CMD_MEMEN)) {
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_MEMORY) == 0) {
 		es->spec = es_res_spec_mem;
 		if (bus_alloc_resources(dev, es->spec, es->res) == 0) 
 			mapped++;
 	}
-	if (mapped == 0 && (data & PCIM_CMD_PORTEN)) {
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_IOPORT) == 0) {
 		es->spec = es_res_spec_io;
 		if (bus_alloc_resources(dev, es->spec, es->res) == 0)
 			mapped++;

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 05:59:38 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id CDADD16A419; Fri, 27 Jul 2007 05:59:37 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4C74016A417
	for ; Fri, 27 Jul 2007 05:59:37 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 3F70313C458
	for ; Fri, 27 Jul 2007 05:59:37 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R5xb3a034209
	for ; Fri, 27 Jul 2007 05:59:37 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R5xbt3034206
	for perforce@freebsd.org; Fri, 27 Jul 2007 05:59:37 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 05:59:37 GMT
Message-Id: <200707270559.l6R5xbt3034206@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124159 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 05:59:38 -0000

http://perforce.freebsd.org/chv.cgi?CH=124159

Change 124159 by loafier@chrisdsoc on 2007/07/27 05:59:22

	Use pci_enable_io() to help determine whether to allocate memory or IO.

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#6 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/aureal.c#6 (text+ko) ====

@@ -562,6 +562,7 @@
 	struct au_info *sc;
 	struct ac97_info *codec;
 	char 		status[SND_STATUSLEN];
+	int mapped = 0;
 
 	sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK | M_ZERO);
 	if (sc == NULL) {
@@ -571,17 +572,21 @@
 	sc->unit = device_get_unit(dev);
 
 	pci_enable_busmaster(dev);
-	pci_enable_io(dev, SYS_RES_IOPORT);
-	pci_enable_io(dev, SYS_RES_MEMORY);
 
-	sc->spec = au_res_spec_mem;
-	if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) {
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_MEMORY) == 0) {
+		sc->spec = au_res_spec_mem;
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0) 
+			mapped++;
+	}
+	if (mapped == 0 && pci_enable_io(dev, SYS_RES_IOPORT) == 0) {
 		sc->spec = au_res_spec_io;
-		if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) {
-			device_printf(dev, "unable to allocate resources\n");
-			goto bad;	
-		}
-	}	
+		if (bus_alloc_resources(dev, sc->spec, sc->res) == 0)
+			mapped++;
+	}		
+	if (mapped == 0) {
+		device_printf(dev, "unable to map register space\n");
+		goto bad;
+	}
 
 	au_wr4(sc, AU_REG_IRQEN, 0);
 	if (snd_setup_intr(dev, sc->res[RES_IRQ], 0, au_intr, sc, &sc->ih)) {

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 06:04:44 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 8549016A41F; Fri, 27 Jul 2007 06:04:44 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 352C916A41A
	for ; Fri, 27 Jul 2007 06:04:44 +0000 (UTC)
	(envelope-from gcooper@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 277FD13C4A8
	for ; Fri, 27 Jul 2007 06:04:44 +0000 (UTC)
	(envelope-from gcooper@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R64iER035781
	for ; Fri, 27 Jul 2007 06:04:44 GMT
	(envelope-from gcooper@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R64hvY035778
	for perforce@freebsd.org; Fri, 27 Jul 2007 06:04:43 GMT
	(envelope-from gcooper@FreeBSD.org)
Date: Fri, 27 Jul 2007 06:04:43 GMT
Message-Id: <200707270604.l6R64hvY035778@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	gcooper@FreeBSD.org using -f
From: Garrett Cooper 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124160 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 06:04:44 -0000

http://perforce.freebsd.org/chv.cgi?CH=124160

Change 124160 by gcooper@optimus-revised_pkgtools on 2007/07/27 06:04:37

	- Submit some more pseudo-code.
	- Remove a dup variable declaration.

Affected files ...

.. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/add/main.c#2 edit
.. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/delete/main.c#2 edit
.. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/info/main.c#2 edit
.. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/register/main.c#2 edit
.. //depot/projects/soc2007/revised_fbsd_pkgtools/v2/version/main.c#2 edit

Differences ...

==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/add/main.c#2 (text+ko) ====

@@ -1,0 +1,40 @@
+#include 
+
+int main(int argc, char **argv)
+{
+
+	/** Process arguments **/
+
+	/** Connect to server process **/
+
+	/**
+	 * Do: 
+	 *	- Check to see if entry exists on server.
+	 *		If so.
+	 *			-> Register files from MANIFEST in file database.
+	 *			-> Register package in package database.
+	 *		If not, and client specified a force flag, install standard
+	 *		/var/db/pkg/ files, but avoid adding to global database.
+	 *		This may be usable for backwards compatibility. 
+	 *
+	 * - If interrupted, roll back installed files, and added files to file and package database(s).
+	 * 	Don't forget to communicate this to the server process!
+	 *
+	 * Other things to do locally (before installing?):
+	 * 	- Check to see if the sandbox / target devices have enough space to install the files to
+	 * 	(libarchive to the rescue?).
+	 *
+	 * Also run PRE and POST install scripts.
+	 *
+	 **/
+	
+
+	/**
+	 * Close and quit
+	 *
+	 * - Clean up temp files.
+	 * - Delete sandbox(es).
+	 **/
+	return 0;
+
+}

==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/delete/main.c#2 (text+ko) ====

@@ -1,0 +1,33 @@
+#include 
+
+int main(int argc, char **argv)
+{
+
+	/** Process arguments **/
+
+	/** Connect to server process **/
+
+	/**
+	 * Do:
+	 *	Search for package entry database.
+	 *		- If found...
+	 *			... and package has dependencies (and upward recursiveness isn't specified)...
+	 *				... delete and deinstall, if forced. Issue warning message.
+	 *				... fail semi-nicely if not forced.
+	 *			... and package doesn't have dependencies, simply uninstall.
+	 *
+	 *		- Complete any necessary prereqs, like pre and post deinstall scripts.
+	 *
+	 *		- Finalize all entry additions and removals to the...
+	 *			... file database.
+	 *			... package entry database.
+	 
+	 *	If interrupted, roll back changes to package and file databases (effectively, 'reinstall' package).
+	 *
+	 **/
+
+	/** Close and quit **/
+
+	return 0;
+
+}

==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/info/main.c#2 (text+ko) ====

@@ -1,0 +1,23 @@
+#include 
+
+int main(int argc, char **argv)
+{
+
+	/** Process arguments **/
+
+	/** Connect to server process **/
+
+	/** Do:
+	 *
+	 *	If string specified is a file, get the info from +CONTENTS/+DESCRIPTION.
+	 *	Else, search entry database for [ pattern, straight query ] and get equivalent info.
+	 * 
+	 *	Same as version, if interrupted just close connection..
+	 *
+	 **/
+
+	/** Close and quit **/
+
+	return 0;
+
+}

==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/register/main.c#2 (text+ko) ====

@@ -1,7 +1,5 @@
 #include "lib/prototypes.h"
 
-int exit_code=0;
-
 int main(int argc, char **argv)
 {
 

==== //depot/projects/soc2007/revised_fbsd_pkgtools/v2/version/main.c#2 (text+ko) ====

@@ -1,0 +1,33 @@
+#include 
+
+int main(int argc, char **argv)
+{
+
+	/** Process arguments **/
+
+	/** Connect to server process **/
+
+	/** Do: 
+	 * 	If a string's provided...
+	 * 		... and it is a file, get the info from directly from +CONTENTS.
+	 * 		... and it's not a file...
+	 * 			... and it's a glob, pattern search the package entry database.
+	 *			... and it's not a glob, do a straight search in the package entry database.
+	 *
+	 *	Else, report all version information for any install packages.
+	 *
+	 *	For all package information obtained output, compare package database value versus INDEX
+	 *	value and output...
+	 *		... '< 'for lesser package version obtained.
+	 *		... '=' for same package version obtained.
+	 *		... '>' for greater package versio obtained.
+	 *
+	 * If interrupted, just close connections and exit. Don't worry about cleaning up or doing anything..
+	 *
+	 **/
+
+	/** Close and quit **/
+
+	return 0;
+
+}

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 07:56:01 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C0F7D16A419; Fri, 27 Jul 2007 07:56:00 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9420016A417
	for ; Fri, 27 Jul 2007 07:56:00 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 8639513C46A
	for ; Fri, 27 Jul 2007 07:56:00 +0000 (UTC)
	(envelope-from loafier@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6R7u0RN043818
	for ; Fri, 27 Jul 2007 07:56:00 GMT
	(envelope-from loafier@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6R7u0SK043813
	for perforce@freebsd.org; Fri, 27 Jul 2007 07:56:00 GMT
	(envelope-from loafier@FreeBSD.org)
Date: Fri, 27 Jul 2007 07:56:00 GMT
Message-Id: <200707270756.l6R7u0SK043813@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	loafier@FreeBSD.org using -f
From: Christopher Davis 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124161 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 07:56:01 -0000

http://perforce.freebsd.org/chv.cgi?CH=124161

Change 124161 by loafier@chrisdsoc on 2007/07/27 07:55:51

	Use bus_alloc_resources, etc

Affected files ...

.. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/ds1.c#2 edit

Differences ...

==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/ds1.c#2 (text+ko) ====

@@ -102,19 +102,29 @@
 	struct sc_info *parent;
 };
 
+
+enum {
+	RES_MEM,
+	RES_IRQ,
+	RES_SZ
+};
+
+static struct resource_spec ds_res_spec[] = {
+	{SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE},
+	{SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE},
+	{-1, 0, 0}
+};
+
 /* device private data */
 struct sc_info {
 	device_t	dev;
 	u_int32_t 	type, rev;
 	u_int32_t	cd2id, ctrlbase;
 
-	bus_space_tag_t st;
-	bus_space_handle_t sh;
 	bus_dma_tag_t buffer_dmat, control_dmat;
 	bus_dmamap_t map;
 
-	struct resource *reg, *irq;
-	int		regid, irqid;
+	struct resource *res[RES_SZ];
 	void		*ih;
 	struct mtx	*lock;
 
@@ -160,10 +170,6 @@
 static int       ds_init(struct sc_info *);
 static void      ds_intr(void *);
 
-/* talk to the card */
-static u_int32_t ds_rd(struct sc_info *, int, int);
-static void 	 ds_wr(struct sc_info *, int, u_int32_t, int);
-
 /* -------------------------------------------------------------------- */
 
 static u_int32_t ds_recfmt[] = {
@@ -190,42 +196,22 @@
 
 /* -------------------------------------------------------------------- */
 /* Hardware */
-static u_int32_t
-ds_rd(struct sc_info *sc, int regno, int size)
-{
-	switch (size) {
-	case 1:
-		return bus_space_read_1(sc->st, sc->sh, regno);
-	case 2:
-		return bus_space_read_2(sc->st, sc->sh, regno);
-	case 4:
-		return bus_space_read_4(sc->st, sc->sh, regno);
-	default:
-		return 0xffffffff;
-	}
-}
+#define ds_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg)
+#define ds_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg)
+#define ds_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg)
+#define ds_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val)
+#define ds_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val)
+#define ds_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val)
 
 static void
-ds_wr(struct sc_info *sc, int regno, u_int32_t data, int size)
+wrl(struct sc_info *sc, u_int32_t *ptr, u_int32_t val)
 {
-	switch (size) {
-	case 1:
-		bus_space_write_1(sc->st, sc->sh, regno, data);
-		break;
-	case 2:
-		bus_space_write_2(sc->st, sc->sh, regno, data);
-		break;
-	case 4:
-		bus_space_write_4(sc->st, sc->sh, regno, data);
-		break;
-	}
-}
+	struct resource *mem = sc->res[RES_MEM];
 
-static void
-wrl(struct sc_info *sc, u_int32_t *ptr, u_int32_t val)
-{
 	*(volatile u_int32_t *)ptr = val;
-	bus_space_barrier(sc->st, sc->sh, 0, 0, BUS_SPACE_BARRIER_WRITE);
+	bus_space_barrier(rman_get_bustag(mem), 
+			  rman_get_bushandle(mem), 
+			  0, 0, BUS_SPACE_BARRIER_WRITE);
 }
 
 /* -------------------------------------------------------------------- */
@@ -238,7 +224,7 @@
 	reg = sec? YDSXGR_SECSTATUSADR : YDSXGR_PRISTATUSADR;
 	i = YDSXG_AC97TIMEOUT;
 	while (i > 0) {
-		if (!(ds_rd(sc, reg, 2) & 0x8000))
+		if (!(ds_rd2(sc, reg) & 0x8000))
 			return 0;
 		i--;
 	}
@@ -286,16 +272,16 @@
 		return 0xffffffff;
 
 	cmd = YDSXG_AC97READCMD | cid | regno;
-	ds_wr(sc, YDSXGR_AC97CMDADR, cmd, 2);
+	ds_wr2(sc, YDSXGR_AC97CMDADR, cmd);
 
 	if (ds_cdbusy(sc, sec))
 		return 0xffffffff;
 
 	if (sc->type == 11 && sc->rev < 2)
 		for (i = 0; i < 600; i++)
-			ds_rd(sc, reg, 2);
+			ds_rd2(sc, reg);
 
-	return ds_rd(sc, reg, 2);
+	return ds_rd2(sc, reg);
 }
 
 static int
@@ -314,7 +300,7 @@
 	cmd = YDSXG_AC97WRITECMD | cid | regno;
 	cmd <<= 16;
 	cmd |= data;
-	ds_wr(sc, YDSXGR_AC97CMDDATA, cmd, 4);
+	ds_wr4(sc, YDSXGR_AC97CMDDATA, cmd);
 
 	return ds_cdbusy(sc, sec);
 }
@@ -336,13 +322,13 @@
 
 	v = on? 1 : 0;
 	if (on) {
-		ds_wr(sc, YDSXGR_CONFIG, 0x00000001, 4);
+		ds_wr4(sc, YDSXGR_CONFIG, 0x00000001);
 	} else {
-		if (ds_rd(sc, YDSXGR_CONFIG, 4))
-			ds_wr(sc, YDSXGR_CONFIG, 0x00000000, 4);
+		if (ds_rd4(sc, YDSXGR_CONFIG))
+			ds_wr4(sc, YDSXGR_CONFIG, 0x00000000);
 		i = YDSXG_WORKBITTIMEOUT;
 		while (i > 0) {
-			if (!(ds_rd(sc, YDSXGR_CONFIG, 4) & 0x00000002))
+			if (!(ds_rd4(sc, YDSXGR_CONFIG) & 0x00000002))
 				break;
 			i--;
 		}
@@ -468,8 +454,8 @@
 	y = (48000 * 4096) / ch->spd;
 	y--;
 	/* printf("pri = %d, x = %d, y = %d\n", pri, x, y); */
-	ds_wr(sc, pri? YDSXGR_ADCFORMAT : YDSXGR_RECFORMAT, x, 4);
-	ds_wr(sc, pri? YDSXGR_ADCSLOTSR : YDSXGR_RECSLOTSR, y, 4);
+	ds_wr4(sc, pri? YDSXGR_ADCFORMAT : YDSXGR_RECFORMAT, x);
+	ds_wr4(sc, pri? YDSXGR_ADCSLOTSR : YDSXGR_RECSLOTSR, y);
 }
 
 /* -------------------------------------------------------------------- */
@@ -554,7 +540,7 @@
 		ds_enapslot(sc, ch->lsnum, 1);
 		ds_enapslot(sc, ch->rsnum, stereo);
 		snd_mtxlock(sc->lock);
-		ds_wr(sc, YDSXGR_MODE, 0x00000003, 4);
+		ds_wr4(sc, YDSXGR_MODE, 0x00000003);
 		snd_mtxunlock(sc->lock);
 	} else {
 		ch->run = 0;
@@ -679,17 +665,17 @@
 		ch->run = 1;
 		ds_setuprch(ch);
 		snd_mtxlock(sc->lock);
-		x = ds_rd(sc, YDSXGR_MAPOFREC, 4);
+		x = ds_rd4(sc, YDSXGR_MAPOFREC);
 		x |= (ch->num == DS1_RECPRIMARY)? 0x02 : 0x01;
-		ds_wr(sc, YDSXGR_MAPOFREC, x, 4);
-		ds_wr(sc, YDSXGR_MODE, 0x00000003, 4);
+		ds_wr4(sc, YDSXGR_MAPOFREC, x);
+		ds_wr4(sc, YDSXGR_MODE, 0x00000003);
 		snd_mtxunlock(sc->lock);
 	} else {
 		ch->run = 0;
 		snd_mtxlock(sc->lock);
-		x = ds_rd(sc, YDSXGR_MAPOFREC, 4);
+		x = ds_rd4(sc, YDSXGR_MAPOFREC);
 		x &= ~((ch->num == DS1_RECPRIMARY)? 0x02 : 0x01);
-		ds_wr(sc, YDSXGR_MAPOFREC, x, 4);
+		ds_wr4(sc, YDSXGR_MAPOFREC, x);
 		snd_mtxunlock(sc->lock);
 	}
 
@@ -732,12 +718,12 @@
 	u_int32_t i, x;
 
 	snd_mtxlock(sc->lock);
-	i = ds_rd(sc, YDSXGR_STATUS, 4);
+	i = ds_rd4(sc, YDSXGR_STATUS);
 	if (i & 0x00008000)
 		device_printf(sc->dev, "timeout irq\n");
 	if (i & 0x80008000) {
-		ds_wr(sc, YDSXGR_STATUS, i & 0x80008000, 4);
-		sc->currbank = ds_rd(sc, YDSXGR_CTRLSELECT, 4) & 0x00000001;
+		ds_wr4(sc, YDSXGR_STATUS, i & 0x80008000);
+		sc->currbank = ds_rd4(sc, YDSXGR_CTRLSELECT) & 0x00000001;
 
 		x = 0;
 		for (i = 0; i < DS1_CHANS; i++) {
@@ -756,9 +742,9 @@
 				snd_mtxlock(sc->lock);
 			}
 		}
-		i = ds_rd(sc, YDSXGR_MODE, 4);
+		i = ds_rd4(sc, YDSXGR_MODE);
 		if (x)
-			ds_wr(sc, YDSXGR_MODE, i | 0x00000002, 4);
+			ds_wr4(sc, YDSXGR_MODE, i | 0x00000002);
 
 	}
 	snd_mtxunlock(sc->lock);
@@ -794,29 +780,29 @@
 
 	ci = ds_devs[sc->type].mcode;
 
-	ds_wr(sc, YDSXGR_NATIVEDACOUTVOL, 0x00000000, 4);
+	ds_wr4(sc, YDSXGR_NATIVEDACOUTVOL, 0x00000000);
 	ds_enadsp(sc, 0);
-	ds_wr(sc, YDSXGR_MODE, 0x00010000, 4);
-	ds_wr(sc, YDSXGR_MODE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_MAPOFREC, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_MAPOFEFFECT, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_PLAYCTRLBASE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_RECCTRLBASE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_EFFCTRLBASE, 0x00000000, 4);
-	r = ds_rd(sc, YDSXGR_GLOBALCTRL, 2);
-	ds_wr(sc, YDSXGR_GLOBALCTRL, r & ~0x0007, 2);
+	ds_wr4(sc, YDSXGR_MODE, 0x00010000);
+	ds_wr4(sc, YDSXGR_MODE, 0x00000000);
+	ds_wr4(sc, YDSXGR_MAPOFREC, 0x00000000);
+	ds_wr4(sc, YDSXGR_MAPOFEFFECT, 0x00000000);
+	ds_wr4(sc, YDSXGR_PLAYCTRLBASE, 0x00000000);
+	ds_wr4(sc, YDSXGR_RECCTRLBASE, 0x00000000);
+	ds_wr4(sc, YDSXGR_EFFCTRLBASE, 0x00000000);
+	r = ds_rd2(sc, YDSXGR_GLOBALCTRL);
+	ds_wr2(sc, YDSXGR_GLOBALCTRL, r & ~0x0007);
 
 	for (i = 0; i < YDSXG_DSPLENGTH; i += 4)
-		ds_wr(sc, YDSXGR_DSPINSTRAM + i, DspInst[i >> 2], 4);
+		ds_wr4(sc, YDSXGR_DSPINSTRAM + i, DspInst[i >> 2]);
 
 	for (i = 0; i < YDSXG_CTRLLENGTH; i += 4)
-		ds_wr(sc, YDSXGR_CTRLINSTRAM + i, ci[i >> 2], 4);
+		ds_wr4(sc, YDSXGR_CTRLINSTRAM + i, ci[i >> 2]);
 
 	ds_enadsp(sc, 1);
 
 	pcs = 0;
 	for (i = 100; i > 0; i--) {
-		pcs = ds_rd(sc, YDSXGR_PLAYCTRLSIZE, 4) << 2;
+		pcs = ds_rd4(sc, YDSXGR_PLAYCTRLSIZE) << 2;
 		if (pcs == sizeof(struct pbank))
 			break;
 		DELAY(1000);
@@ -825,9 +811,9 @@
 		device_printf(sc->dev, "preposterous playctrlsize (%d)\n", pcs);
 		return -1;
 	}
-	rcs = ds_rd(sc, YDSXGR_RECCTRLSIZE, 4) << 2;
-	ecs = ds_rd(sc, YDSXGR_EFFCTRLSIZE, 4) << 2;
-	ws = ds_rd(sc, YDSXGR_WORKSIZE, 4) << 2;
+	rcs = ds_rd4(sc, YDSXGR_RECCTRLSIZE) << 2;
+	ecs = ds_rd4(sc, YDSXGR_EFFCTRLSIZE) << 2;
+	ws = ds_rd4(sc, YDSXGR_WORKSIZE) << 2;
 
 	memsz = 64 * 2 * pcs + 2 * 2 * rcs + 5 * 2 * ecs + ws;
 	memsz += (64 + 1) * 4;
@@ -852,16 +838,16 @@
 
 	cb = 0;
 	t = buf;
-	ds_wr(sc, YDSXGR_WORKBASE, sc->ctrlbase + cb, 4);
+	ds_wr4(sc, YDSXGR_WORKBASE, sc->ctrlbase + cb);
 	cb += ws;
 	sc->pbase = (u_int32_t *)(t + cb);
 	/* printf("pbase = %p -> 0x%x\n", sc->pbase, sc->ctrlbase + cb); */
-	ds_wr(sc, YDSXGR_PLAYCTRLBASE, sc->ctrlbase + cb, 4);
+	ds_wr4(sc, YDSXGR_PLAYCTRLBASE, sc->ctrlbase + cb);
 	cb += (64 + 1) * 4;
 	sc->rbank = (struct rbank *)(t + cb);
-	ds_wr(sc, YDSXGR_RECCTRLBASE, sc->ctrlbase + cb, 4);
+	ds_wr4(sc, YDSXGR_RECCTRLBASE, sc->ctrlbase + cb);
 	cb += 2 * 2 * rcs;
-	ds_wr(sc, YDSXGR_EFFCTRLBASE, sc->ctrlbase + cb, 4);
+	ds_wr4(sc, YDSXGR_EFFCTRLBASE, sc->ctrlbase + cb);
 	cb += 5 * 2 * ecs;
 
 	sc->pbankbase = sc->ctrlbase + cb;
@@ -878,9 +864,9 @@
 	wrl(sc, &sc->pbase[0], DS1_CHANS * 2);
 
 	sc->pchn = sc->rchn = 0;
-	ds_wr(sc, YDSXGR_NATIVEDACOUTVOL, 0x3fff3fff, 4);
-	ds_wr(sc, YDSXGR_NATIVEADCINVOL, 0x3fff3fff, 4);
-	ds_wr(sc, YDSXGR_NATIVEDACINVOL, 0x3fff3fff, 4);
+	ds_wr4(sc, YDSXGR_NATIVEDACOUTVOL, 0x3fff3fff);
+	ds_wr4(sc, YDSXGR_NATIVEADCINVOL, 0x3fff3fff);
+	ds_wr4(sc, YDSXGR_NATIVEDACINVOL, 0x3fff3fff);
 
 	return 0;
 }
@@ -888,17 +874,17 @@
 static int
 ds_uninit(struct sc_info *sc)
 {
-	ds_wr(sc, YDSXGR_NATIVEDACOUTVOL, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_NATIVEADCINVOL, 0, 4);
-	ds_wr(sc, YDSXGR_NATIVEDACINVOL, 0, 4);
+	ds_wr4(sc, YDSXGR_NATIVEDACOUTVOL, 0x00000000);
+	ds_wr4(sc, YDSXGR_NATIVEADCINVOL, 0);
+	ds_wr4(sc, YDSXGR_NATIVEDACINVOL, 0);
 	ds_enadsp(sc, 0);
-	ds_wr(sc, YDSXGR_MODE, 0x00010000, 4);
-	ds_wr(sc, YDSXGR_MAPOFREC, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_MAPOFEFFECT, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_PLAYCTRLBASE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_RECCTRLBASE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_EFFCTRLBASE, 0x00000000, 4);
-	ds_wr(sc, YDSXGR_GLOBALCTRL, 0, 2);
+	ds_wr4(sc, YDSXGR_MODE, 0x00010000);
+	ds_wr4(sc, YDSXGR_MAPOFREC, 0x00000000);
+	ds_wr4(sc, YDSXGR_MAPOFEFFECT, 0x00000000);
+	ds_wr4(sc, YDSXGR_PLAYCTRLBASE, 0x00000000);
+	ds_wr4(sc, YDSXGR_RECCTRLBASE, 0x00000000);
+	ds_wr4(sc, YDSXGR_EFFCTRLBASE, 0x00000000);
+	ds_wr2(sc, YDSXGR_GLOBALCTRL, 0);
 
 	bus_dmamap_unload(sc->control_dmat, sc->map);
 	bus_dmamem_free(sc->control_dmat, sc->regbase, sc->map);
@@ -919,6 +905,24 @@
 	return -1;
 }
 
+static void
+ds_destroy(device_t dev, struct sc_info *sc)
+{
+	if (!sc)
+		return;
+
+	if (sc->ih)
+		bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih);
+	bus_release_resources(dev, ds_res_spec, sc->res);
+	if (sc->buffer_dmat)
+		bus_dma_tag_destroy(sc->buffer_dmat);
+	if (sc->control_dmat)
+		bus_dma_tag_destroy(sc->control_dmat);
+	if (sc->lock)
+		snd_mtxfree(sc->lock);
+	free(sc, M_DEVBUF);
+}
+
 static int
 ds_pci_probe(device_t dev)
 {
@@ -937,7 +941,6 @@
 static int
 ds_pci_attach(device_t dev)
 {
-	u_int32_t	data;
 	u_int32_t subdev, i;
 	struct sc_info *sc;
 	struct ac97_info *codec = NULL;
@@ -950,22 +953,14 @@
 	sc->type = ds_finddev(pci_get_devid(dev), subdev);
 	sc->rev = pci_get_revid(dev);
 
-	data = pci_read_config(dev, PCIR_COMMAND, 2);
-	data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN);
-	pci_write_config(dev, PCIR_COMMAND, data, 2);
-	data = pci_read_config(dev, PCIR_COMMAND, 2);
+	pci_enable_busmaster(dev);
+	pci_enable_io(dev, SYS_RES_MEMORY);
 
-	sc->regid = PCIR_BAR(0);
-	sc->reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->regid,
-					 RF_ACTIVE);
-	if (!sc->reg) {
-		device_printf(dev, "unable to map register space\n");
+	if (bus_alloc_resources(dev, ds_res_spec, sc->res) != 0) {
+		device_printf(dev, "unable to allocate resources\n");
 		goto bad;
-	}
+	}	
 
-	sc->st = rman_get_bustag(sc->reg);
-	sc->sh = rman_get_bushandle(sc->reg);
-
 	sc->bufsz = pcm_getbuffersize(dev, 4096, DS1_BUFFSIZE, 65536);
 
 	if (bus_dma_tag_create(/*parent*/bus_get_dma_tag(dev), /*alignment*/2,
@@ -1002,16 +997,16 @@
 	}
 	mixer_init(dev, ac97_getmixerclass(), codec);
 
-	sc->irqid = 0;
-	sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid,
-					 RF_ACTIVE | RF_SHAREABLE);
-	if (!sc->irq || snd_setup_intr(dev, sc->irq, INTR_MPSAFE, ds_intr, sc, &sc->ih)) {
+	if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, 
+	    ds_intr, sc, &sc->ih)) {
 		device_printf(dev, "unable to map interrupt\n");
 		goto bad;
 	}
 
 	snprintf(status, SND_STATUSLEN, "at memory 0x%lx irq %ld %s",
-		 rman_get_start(sc->reg), rman_get_start(sc->irq),PCM_KLDSTRING(snd_ds1));
+		 rman_get_start(sc->res[RES_MEM]), 
+		 rman_get_start(sc->res[RES_IRQ]),
+		 PCM_KLDSTRING(snd_ds1));
 
 	if (pcm_register(dev, sc, DS1_CHANS, 2))
 		goto bad;
@@ -1026,19 +1021,8 @@
 bad:
 	if (codec)
 		ac97_destroy(codec);
-	if (sc->reg)
-		bus_release_resource(dev, SYS_RES_MEMORY, sc->regid, sc->reg);
-	if (sc->ih)
-		bus_teardown_intr(dev, sc->irq, sc->ih);
-	if (sc->irq)
-		bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq);
-	if (sc->buffer_dmat)
-		bus_dma_tag_destroy(sc->buffer_dmat);
-	if (sc->control_dmat)
-		bus_dma_tag_destroy(sc->control_dmat);
-	if (sc->lock)
-		snd_mtxfree(sc->lock);
-	free(sc, M_DEVBUF);
+	ds_destroy(dev, sc);
+
 	return ENXIO;
 }
 
@@ -1072,13 +1056,8 @@
 
 	sc = pcm_getdevinfo(dev);
 	ds_uninit(sc);
-	bus_release_resource(dev, SYS_RES_MEMORY, sc->regid, sc->reg);
-	bus_teardown_intr(dev, sc->irq, sc->ih);
-	bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq);
-	bus_dma_tag_destroy(sc->buffer_dmat);
-	bus_dma_tag_destroy(sc->control_dmat);
-	snd_mtxfree(sc->lock);
-	free(sc, M_DEVBUF);
+	ds_destroy(dev, sc);
+
        	return 0;
 }
 

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 11:05:30 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 7E1D316A47B; Fri, 27 Jul 2007 11:05:30 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 12DEE16A475
	for ; Fri, 27 Jul 2007 11:05:30 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id C9BFD13C4DA
	for ; Fri, 27 Jul 2007 11:05:29 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RB5Tum087744
	for ; Fri, 27 Jul 2007 11:05:29 GMT
	(envelope-from lulf@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RB5T8h087741
	for perforce@freebsd.org; Fri, 27 Jul 2007 11:05:29 GMT
	(envelope-from lulf@FreeBSD.org)
Date: Fri, 27 Jul 2007 11:05:29 GMT
Message-Id: <200707271105.l6RB5T8h087741@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	lulf@FreeBSD.org using -f
From: Ulf Lilleengen 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124170 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 11:05:30 -0000

http://perforce.freebsd.org/chv.cgi?CH=124170

Change 124170 by lulf@lulf_carrot on 2007/07/27 11:04:34

	- Remove RESIZING state for plexes, and use DEGRADED instead... check
	  the subdisks to see what we have to do on init.
	- Make sure we unlock topology in gv_save_config if an error occurs.
	- Hold the topology_lock while we modify the provider in
	  gv_setup_objects.
	- Make setstate handle GV_PLEX_GROWING cases.

Affected files ...

.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_drive.c#2 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#16 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#4 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#18 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#20 edit

Differences ...

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_drive.c#2 (text+ko) ====

@@ -92,12 +92,12 @@
 		bcopy(&last_update, &hdr->label.last_update,
 		    sizeof(struct timeval));
 		bcopy(&hdr->label, &vhdr->label, sizeof(struct gv_label));
-
 		g_topology_lock();
 		error = g_access(cp, 0, 1, 0);
 		if (error) {
 			printf("VINUM: gv_save_config/g_access failed on "
 			    "drive %s, errno %d\n", d->name, error);
+			g_topology_unlock();
 			continue;
 		}
 		g_topology_unlock();
@@ -108,6 +108,7 @@
 			    "errno %d\n", d->name, error);
 			g_topology_lock();
 			g_access(cp, 0, -1, 0);
+			g_topology_unlock();
 			continue;
 		}
 		/* First config copy. */
@@ -118,6 +119,7 @@
 			    "drive %s, errno %d\n", d->name, error);
 			g_topology_lock();
 			g_access(cp, 0, -1, 0);
+			g_topology_unlock();
 			continue;
 		}
 		/* Second config copy. */

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#16 (text+ko) ====

@@ -102,7 +102,8 @@
 gv_start_plex(struct gv_plex *p)
 {
 	struct gv_volume *v;
-	int error;
+	struct gv_sd *s;
+	int error, rebuild;
 
 	KASSERT(p != NULL, ("gv_start_plex: NULL p"));
 
@@ -114,11 +115,19 @@
 	if ((v != NULL) && (v->plexcount > 1))
 		error = gv_sync(v);
 	else if (p->org == GV_PLEX_RAID5) {
-		if (p->state == GV_PLEX_DEGRADED)
-			error = gv_rebuild_plex(p);
-		else if (p->state == GV_PLEX_RESIZING)
-			error = gv_grow_plex(p);
-		else
+		if (p->state == GV_PLEX_DEGRADED) {
+			rebuild = 0;
+			LIST_FOREACH(s, &p->subdisks, in_plex) {
+				if (s->state < GV_SD_UP) {
+					rebuild = 1;
+					break;
+				}
+			}
+			if (rebuild)
+				error = gv_rebuild_plex(p);
+			else
+				error = gv_grow_plex(p);
+		} else
 			error = gv_init_plex(p);
 	}
 
@@ -256,8 +265,6 @@
 	    p->flags & GV_PLEX_SYNCING ||
 	    p->flags & GV_PLEX_REBUILDING)
 		return (EINPROGRESS);
-	if (p->state > GV_PLEX_RESIZING)
-		return (GV_ERR_INVSTATE);
 	g_topology_lock();
 	error = gv_access(v->provider, 1, 1, 0);
 	g_topology_unlock();

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_share.c#4 (text+ko) ====

@@ -274,8 +274,6 @@
 		return (GV_PLEX_INITIALIZING);
 	else if (!strcmp(buf, "degraded"))
 		return (GV_PLEX_DEGRADED);
-	else if (!strcmp(buf, "resizing"))
-		return (GV_PLEX_RESIZING);
 	else
 		return (GV_PLEX_DOWN);
 }
@@ -289,8 +287,6 @@
 		return "down";
 	case GV_PLEX_INITIALIZING:
 		return "initializing";
-	case GV_PLEX_RESIZING:
-		return "resizing";
 	case GV_PLEX_DEGRADED:
 		return "degraded";
 	case GV_PLEX_UP:

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_state.c#18 (text+ko) ====

@@ -318,6 +318,11 @@
 		}
 		p->state = newstate;
 		break;
+	case GV_PLEX_DEGRADED:
+		/* Only used internally, so we have to be forced. */
+		if (flags & GV_SETSTATE_FORCE)
+			p->state = newstate;
+		break;
 	}
 
 	/* Update our volume if we have one. */
@@ -419,14 +424,9 @@
 	/* First, check the state of our subdisks. */
 	sdstates = gv_sdstatemap(p);
 	
-	/* If we're growing, don't change the state. */
-	if (p->flags & GV_PLEX_GROWING)
-		p->state = GV_PLEX_RESIZING;
-
 	/* If all subdisks are up, our plex can be up, too. */
-	else if (sdstates == GV_SD_UPSTATE)
+	if (sdstates == GV_SD_UPSTATE)
 		p->state = GV_PLEX_UP;
-
 	/* One or more of our subdisks are down. */
 	else if (sdstates & GV_SD_DOWNSTATE) {
 		/* A RAID5 plex can handle one dead subdisk. */
@@ -438,7 +438,8 @@
 	/* Some of our subdisks are initializing. */
 	} else if (sdstates & GV_SD_INITSTATE) {
 		if (p->flags & GV_PLEX_SYNCING ||
-		    p->flags & GV_PLEX_REBUILDING)
+		    p->flags & GV_PLEX_REBUILDING ||
+		    p->flags & GV_PLEX_GROWING)
 			p->state = GV_PLEX_DEGRADED;
 		else
 			p->state = GV_PLEX_DOWN;

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#20 (text+ko) ====

@@ -486,7 +486,8 @@
 		LIST_FOREACH(s, &p->subdisks, in_plex) {
 			if (s->flags & GV_SD_GROW) {
 				printf("Setting state\n");
-				p->state = GV_PLEX_RESIZING;
+				gv_set_plex_state(p, GV_PLEX_DEGRADED,
+				    GV_SETSTATE_FORCE);
 				break;
 			}
 		}
@@ -992,12 +993,12 @@
 		if (v->provider == NULL) {
 			g_topology_lock();
 			pp = g_new_providerf(sc->geom, "gvinum/%s", v->name);
-			g_topology_unlock();
 			pp->mediasize = v->size;
 			pp->sectorsize = 512;    /* XXX */
 			g_error_provider(pp, 0);
 			v->provider = pp;
 			pp->private = v;
+			g_topology_unlock();
 		} else if (v->provider->mediasize != v->size) {
 			g_topology_lock();
 			v->provider->mediasize = v->size;

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 13:30:32 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 6392416A41F; Fri, 27 Jul 2007 13:30:32 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 14A8116A417
	for ; Fri, 27 Jul 2007 13:30:32 +0000 (UTC)
	(envelope-from thioretic@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 00E1E13C45D
	for ; Fri, 27 Jul 2007 13:30:32 +0000 (UTC)
	(envelope-from thioretic@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RDUVMr007843
	for ; Fri, 27 Jul 2007 13:30:31 GMT
	(envelope-from thioretic@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RDUVdW007840
	for perforce@freebsd.org; Fri, 27 Jul 2007 13:30:31 GMT
	(envelope-from thioretic@FreeBSD.org)
Date: Fri, 27 Jul 2007 13:30:31 GMT
Message-Id: <200707271330.l6RDUVdW007840@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	thioretic@FreeBSD.org using -f
From: Maxim Zhuravlev 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124178 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 13:30:32 -0000

http://perforce.freebsd.org/chv.cgi?CH=124178

Change 124178 by thioretic@thioretic on 2007/07/27 13:29:43

	branch soc2007/thioretic_gidl to soc2007/thioretic_gidl2.
		thioretic_gidl2 is soc2007/thioretic_gidl plus 
		i/o handling, locking and more.
		Need to stabilize, test and debug 2007/thioretic_gidl,
		while continueing developement.

Affected files ...

.. //depot/projects/soc2007/thioretic_gidl2/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/TODO#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/api_up1000.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/atomic.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/autoconf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/busdma_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/busspace.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/clock.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/clock_if.m#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/cpuconf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/db_disasm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/db_instruction.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/db_interface.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/db_trace.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_1000a.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_2100_a50.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_2100_a500.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_3000_300.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_3000_500.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_axppci_33.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_eb164.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_eb64plus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_kn20aa.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_kn300.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_kn8ae.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_st550.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dec_st6600.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/divrem.m4#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/dump_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/elf_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/exception.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/fp_emulate.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/gdb_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/genassym.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/ieee_float.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/ieee_float.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/in_cksum.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/interrupt.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/locore.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/mem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/mp_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/pal.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/pmap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/prom.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/prom_disp.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/promcons.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/sgmap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/support.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/swtch.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/sys_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/trap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/uio_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/uma_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/alpha/vm_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/compile/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/GENERIC#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/GENERIC.hints#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/conf/NOTES#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/_bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/_inttypes.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/_limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/_stdint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/_types.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/alpha_cpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/asm.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/atomic.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/bootinfo.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/bus_dma.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/bwx.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/chipset.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/clock.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/clockvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/cpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/cpuconf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/cpufunc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/db_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/elf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/endian.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/exec.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/float.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/floatingpoint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/fpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/frame.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/gdb_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ieee.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ieeefp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/in_cksum.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/inst.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/intr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/intrcnt.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ioctl_bt848.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ioctl_meteor.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/kdb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/md_var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/memdev.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/mutex.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pal.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/param.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pc/bios.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pc/display.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pc/vesa.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pcb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pcpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pmap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pmc_mdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ppireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/proc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/profile.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/prom.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/pte.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ptrace.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/reloc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/resource.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/rpb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/runq.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/setjmp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/sf_buf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/sgmap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/sigframe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/signal.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/smp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/stdarg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/swiz.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/sysarch.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/timerreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/ucontext.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/varargs.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/include/vmparam.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/isa/isa.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/isa/isa_dma.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/isa/isavar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/isa/mcclock_isa.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_dummy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_genassym.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_ipc64.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_locore.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_proto.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_syscall.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_sysent.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/linux_sysvec.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/syscalls.conf#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/linux/syscalls.master#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcbus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcbusreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcbusvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcmem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcpcia.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcpciareg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/mcbus/mcpciavar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/README.mach-traps#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/exec_ecoff.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/imgact_osf1.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_ioctl.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_misc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_mount.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_proto.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_signal.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_signal.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_syscall.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_sysent.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_sysvec.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/osf1_util.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/syscalls.conf#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/osf1/syscalls.master#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/alphapci_if.m#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecs.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecs_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecsreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/apecsvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/bwx.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/cia.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/cia_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/ciareg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/ciavar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/irongate.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/irongate_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/irongatereg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/irongatevar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lca.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lca_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lcareg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/lcavar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pci_eb164_intr.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pci_eb64plus_intr.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pcibus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/pcibus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/swiz.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/t2.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/t2_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/t2reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/t2var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/tsunami.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/tsunami_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/tsunamireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/pci/tsunamivar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/dwlpx.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/dwlpxreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/dwlpxvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/gbus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/gbusreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/gbusvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/kftxx.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/kftxxreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/kftxxvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/mcclock_tlsb.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/tlsb.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/tlsbcpu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/tlsbmem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/tlsbreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/tlsbvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/zs_tlsb.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/zsreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/alpha/tlsb/zsvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/OsdEnvironment.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/acpi_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/acpi_wakeup.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/acpica/madt.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/amd64_mem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/apic_vector.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/atomic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/autoconf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/bios.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/busdma_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/cpu_switch.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/db_disasm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/db_interface.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/db_trace.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/dump_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/elf_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/exception.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/fpu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/gdb_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/genassym.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/identcpu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/in_cksum.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/initcpu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/intr_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/io.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/io_apic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/legacy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/local_apic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/locore.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/minidump_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mp_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mp_watchdog.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mpboot.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mptable.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/mptable_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/msi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/nexus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/pmap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/prof_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/sigtramp.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/support.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/sys_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/trap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/tsc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/uio_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/uma_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/amd64/vm_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/compile/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/DEFAULTS#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/GENERIC#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/GENERIC.hints#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/NOTES#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/conf/SMP#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/ia32/ia32_exception.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/ia32/ia32_reg.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/ia32/ia32_signal.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/ia32/ia32_sigtramp.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/ia32/ia32_syscall.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/_bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/_inttypes.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/_limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/_stdint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/_types.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/acpica_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/apicreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/apicvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/asm.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/asmacros.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/atomic.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/bus_dma.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/clock.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/cpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/cpufunc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/cputypes.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/db_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/elf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/endian.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/exec.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/float.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/floatingpoint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/fpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/frame.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/gdb_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/ieeefp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/in_cksum.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/intr_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/iodev.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/kdb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/legacyvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/md_var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/memdev.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/metadata.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/minidump.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/mp_watchdog.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/mptable.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/mutex.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/param.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pc/bios.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pc/display.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pcb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pcb_ext.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pci_cfgreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pcpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pmap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/pmc_mdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/ppireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/proc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/profile.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/psl.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/ptrace.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/reloc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/resource.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/runq.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/segments.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/setjmp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/sf_buf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/sigframe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/signal.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/smp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/specialreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/stdarg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/sysarch.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/timerreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/trap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/tss.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/ucontext.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/varargs.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/include/vmparam.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/atpic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/atpic_vector.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/clock.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/elcr.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/icu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/isa.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/isa.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/isa_dma.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/isa/nmi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_dummy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_genassym.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_ipc64.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_locore.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_proto.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_syscall.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysent.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/linux32_sysvec.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.conf#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/linux32/syscalls.master#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/pci/pci_bus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/amd64/pci/pci_cfgreg.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/autoconf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/bcopy_page.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/bcopyinout.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/bcopyinout_xscale.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/blockio.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/bootconfig.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/bus_space_asm_generic.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/busdma_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/copystr.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_arm10.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_arm8.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_arm9.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_armv4.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_ixp12x0.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_sa1.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_sa11x0.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/cpufunc_asm_xscale.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/db_disasm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/db_interface.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/db_trace.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/disassem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/dump_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/elf_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/elf_trampoline.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/exception.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/fiq.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/fiq_subr.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/fusu.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/genassym.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/identcpu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/in_cksum.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/in_cksum_arm.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/inckern.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/intr.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/irq_dispatch.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/locore.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/mem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/nexus.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/nexus_io.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/nexus_io_asm.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/pmap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/setcpsr.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/setstack.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/support.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/swtch.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/sys_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/trap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/uio_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/undefined.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/vectors.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/arm/vm_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_mci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_mcireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pdcreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pio.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pio_rm9200.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pioreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_piovar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pmc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pmcreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_pmcvar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_rtc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_rtcreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_spi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_spiio.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_spireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_ssc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_sscreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_st.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_streg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_twi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_twiio.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_twireg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91_usartreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91rm92reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/at91var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/files.at91#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/files.kb920x#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/hints.at91rm9200#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/hints.at91sam9261#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/if_ate.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/if_atereg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/kb920x_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/ohci_atmelarm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/std.at91#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/std.kb920x#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/uart_bus_at91usart.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/uart_cpu_at91rm9200usart.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/at91/uart_dev_at91usart.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/compile/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/.cvsignore#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/AVILA#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/IQ31244#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/KB920X#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/SIMICS#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/conf/SKYEYE#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/_bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/_inttypes.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/_limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/_stdint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/_types.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/armreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/asm.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/asmacros.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/atomic.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/blockio.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/bootconfig.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/bus.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/bus_dma.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/clock.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/cpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/cpuconf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/cpufunc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/db_machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/disassem.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/elf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/endian.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/exec.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/fiq.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/float.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/floatingpoint.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/fp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/frame.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/ieee.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/ieeefp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/in_cksum.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/intr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/katelib.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/kdb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/limits.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/machdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/md_var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/memdev.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/metadata.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/mutex.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/param.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/pcb.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/pcpu.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/pmap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/pmc_mdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/proc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/profile.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/psl.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/pte.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/ptrace.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/reloc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/resource.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/runq.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/setjmp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/sf_buf.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/sigframe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/signal.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/smp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/stdarg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/swi.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/sysarch.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/trap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/ucontext.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/undefined.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/utrap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/include/vmparam.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/assabet_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/files.sa11x0#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_dmacreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_gpioreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_io.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_io_asm.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_irq.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_irqhandler.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_ost.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_ostreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_ppcreg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/sa11x0_var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/std.sa11x0#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/uart_bus_sa1110.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/uart_cpu_sa1110.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/uart_dev_sa1110.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/sa11x0/uart_dev_sa1110.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/files.i80321#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/files.iq31244#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_intr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_mcu.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_space.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_timer.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321_wdog.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/i80321var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/iq31244_7seg.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/iq31244_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/iq80321.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/iq80321reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/iq80321var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/obio.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/obio_space.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/obiovar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/std.i80321#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/std.iq31244#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/uart_bus_i80321.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/i80321/uart_cpu_i80321.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/avila_ata.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/avila_led.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/avila_machdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/files.avila#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/files.ixp425#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/if_npe.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/if_npereg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixdp425_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixdp425reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_a4x_io.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_a4x_space.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_iic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_intr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_mem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_npe.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_npereg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_npevar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_pci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_pci_asm.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_pci_space.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_qmgr.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_qmgr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_space.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_timer.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425_wdog.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425reg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/ixp425var.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/std.avila#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/std.ixp425#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/uart_bus_ixp425.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/ixp425/uart_cpu_ixp425.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/std.xscale#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/xscalereg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/arm/xscale/xscalevar.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/README#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/boot1/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/boot1/boot1.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/cdboot/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/cdboot/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/common/Makefile.common#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/common/conf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/common/help.alpha#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/common/ldscript#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/common/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/OSFpal.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/alpha_copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/alpha_module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/bbinfo.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/bootinfo.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/common.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/delay.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/elf_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/getsecs.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/libalpha.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/pal.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/prom.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/prom_disp.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/prom_swpal.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/reboot.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/srmdisk.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/srmnet.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/start.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/libalpha/time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/loader/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/loader/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/netboot/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/alpha/netboot/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/include/arcfuncs.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/include/arctypes.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/include/libarc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/abort.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arcconsole.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arcdisk.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arch/alpha/copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arch/alpha/rpb.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arch/alpha/setjmp.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/arch/alpha/start.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/bootinfo.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/delay.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/elf_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/prom.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/setjmperr.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/lib/time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/loader/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/loader/conf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/loader/help.alpha#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/loader/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arc/loader/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0/README#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0/arm_init.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0/linker.cfg#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0iic/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0iic/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0spi/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/boot0spi/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/README#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/arm_init.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/env_vars.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/env_vars.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/loader_prompt.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/loader_prompt.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootiic/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/README#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/arm_init.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/env_vars.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/env_vars.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/loader_prompt.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/loader_prompt.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/bootspi/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/at91rm9200.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/at91rm9200_lowlevel.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/at91rm9200_lowlevel.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/delay.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/eeprom.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/emac.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/emac.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/emac_init.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/getc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/lib.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/lib_AT91RM9200.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/mci_device.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/mci_device.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/p_string.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/printf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/putchar.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/reset.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/sd-card.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/sd-card.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/spi_flash.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/spi_flash.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/tag_list.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/tag_list.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/libat91/xmodem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/arm/at91/linker.cfg#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/bcache.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/boot.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/bootstrap.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/commands.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/console.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/dev_net.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/dev_net.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/devopen.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/help.common#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/interp.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/interp_backslash.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/interp_forth.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/interp_parse.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/isapnp.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/isapnp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf32.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf32_obj.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf64.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf64_obj.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/load_elf_obj.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/loader.8#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/ls.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/merge_help.awk#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/misc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/newvers.sh#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/panic.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/pnp.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/pnpdata#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/reloc_elf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/reloc_elf32.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/reloc_elf64.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/common/ufsread.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/README#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efi.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efi_nii.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efiapi.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/eficon.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efidebug.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efidef.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efidevp.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efierr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efifpswa.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efifs.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efilib.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efinet.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efipart.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efiprot.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efipxebc.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efiser.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/efistdarg.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/i386/efibind.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/i386/pe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/ia64/efibind.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/include/ia64/pe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/bootinfo.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/delay.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/efi_console.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/efiboot.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/efifpswa.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/efifs.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/efinet.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/elf_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/libefi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/efi/libefi/time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/alpha/sysdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/alpha/sysdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/dict.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/ficl.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/ficl.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/fileaccess.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/float.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/i386/sysdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/i386/sysdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/ia64/sysdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/ia64/sysdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/loader.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/math64.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/math64.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/powerpc/sysdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/powerpc/sysdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/prefix.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/search.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/classes.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/ficlclass.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/ficllocal.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/fileaccess.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/forml.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/freebsd.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/ifbrack.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/jhlocal.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/marker.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/oo.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/prefix.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/softcore.awk#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/softcore.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/softwords/string.fr#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/sparc64/sysdep.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/sparc64/sysdep.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/stack.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/testmain.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/tools.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/unix.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/vm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ficl/words.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/beastie.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/frames.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/loader.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/loader.4th.8#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/loader.conf#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/loader.conf.5#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/loader.rc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/pnp.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/screen.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/forth/support.4th#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot0/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot0/boot0.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot0/boot0ext.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot0ext/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot0sio/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot2/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot2/boot1.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot2/boot2.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot2/lib.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/boot2/sio.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/btx/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/btx/btx.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/btxldr/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/btxldr/btxldr.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/lib/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/lib/btxcsu.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/lib/btxsys.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/lib/btxv86.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/btx/lib/btxv86.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/cdboot/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/cdboot/cdboot.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/boot.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/crt.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/kgzldr.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/lib.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/sio.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/kgzldr/start.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/amd64_tramp.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biosacpi.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/bioscd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biosdisk.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biosmem.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biospci.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biospnp.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/biossmap.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/bootinfo.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/bootinfo32.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/bootinfo64.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/comconsole.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/elf32_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/elf64_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/i386_copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/i386_module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/libi386.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/nullconsole.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/pread.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/pxe.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/pxe.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/pxetramp.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/smbios.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/libi386/vidconsole.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/conf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/help.i386#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/loader.rc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/loader/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/mbr/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/mbr/mbr.s#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/pxeldr/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/pxeldr/pxeboot.8#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/i386/pxeldr/pxeldr.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/conf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/efimd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/ldscript.ia64#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/start.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/efi/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/acpi_stub.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/bootinfo.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/conf.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/delay.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/efi_stub.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/elf_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/exit.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/ldscript.ia64#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/libski.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/pal_stub.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/sal_stub.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/skiconsole.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/skifs.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/skiload.cmd#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/ssc.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/start.S#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ia64/ski/version#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/common/Makefile.inc#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/common/main.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/Makefile#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/devicename.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/elf_freebsd.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/libofw.h#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_console.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_copy.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_disk.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_memory.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_module.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_net.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_reboot.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/ofw_time.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/openfirm.c#1 branch
.. //depot/projects/soc2007/thioretic_gidl2/boot/ofw/libofw/openfirm.h#1 branch

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 15:05:34 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 487AA16A41F; Fri, 27 Jul 2007 15:05:34 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1C20816A417
	for ; Fri, 27 Jul 2007 15:05:34 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 06D8F13C442
	for ; Fri, 27 Jul 2007 15:05:34 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RF5Xdn018703
	for ; Fri, 27 Jul 2007 15:05:33 GMT
	(envelope-from lulf@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RF5XLd018700
	for perforce@freebsd.org; Fri, 27 Jul 2007 15:05:33 GMT
	(envelope-from lulf@FreeBSD.org)
Date: Fri, 27 Jul 2007 15:05:33 GMT
Message-Id: <200707271505.l6RF5XLd018700@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	lulf@FreeBSD.org using -f
From: Ulf Lilleengen 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124188 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 15:05:34 -0000

http://perforce.freebsd.org/chv.cgi?CH=124188

Change 124188 by lulf@lulf_carrot on 2007/07/27 15:05:25

	- Prevent from getting a bogus sd name that crashes vinum when not
	  specified in config. Generate a new name if not given.
	- Remove checking of sdnum  (sdname.plexnum.sdnum) to be the same in
	  rename...  it shouldn't have to be the same.
	- Modify gv_plex_smallest sd to not take initial arg but look for it in
	  the plex itself.
	- Modify the remainder check code in gv_sd_to_plex to make sure all
	  subdisks are the same size in striped plexes (stripe and raid5).
	  Reduce size of other subdisks (only when newborn plex) or the subdisk
	  that is added. Prevents possibility of getting unequal subdisk-sizes
	  as well as giving space that is not needed back to the drive. 
	- Remove old debug printfs.

Affected files ...

.. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#13 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rename.c#3 edit
.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#21 edit

Differences ...

==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/gvinum/gvinum.c#13 (text+ko) ====

@@ -170,9 +170,9 @@
 	struct gv_volume *v;
 	FILE *tmp;
 	int drives, errors, fd, line, plexes, plex_in_volume;
-	int sd_in_plex, status, subdisks, tokens, volumes;
+	int sd_in_plex, status, subdisks, tokens, undeffd, volumes;
 	const char *errstr;
-	char buf[BUFSIZ], buf1[BUFSIZ], commandline[BUFSIZ], *ed;
+	char buf[BUFSIZ], buf1[BUFSIZ], commandline[BUFSIZ], *ed, *sdname;
 	char original[BUFSIZ], tmpfile[20], *token[GV_MAXARGS];
 	char plex[GV_MAXPLEXNAME], volume[GV_MAXVOLNAME];
 
@@ -218,7 +218,8 @@
 	gctl_ro_param(req, "verb", -1, "create");
 
 	drives = volumes = plexes = subdisks = 0;
-	plex_in_volume = sd_in_plex = 0;
+	plex_in_volume = sd_in_plex = undeffd = 0;
+	plex[0] = '\0';
 	errors = 0;
 	line = 1;
 	while ((fgets(buf, BUFSIZ, tmp)) != NULL) {
@@ -319,8 +320,16 @@
 
 			/* Default name. */
 			if (strlen(s->name) == 0) {
-				snprintf(s->name, GV_MAXSDNAME, "%s.s%d",
-				    plex, sd_in_plex++);
+				if (strlen(plex) == 0) {
+					sdname = find_name("gvinumsubdisk.p",
+					    GV_TYPE_SD, GV_MAXSDNAME);
+					snprintf(s->name, GV_MAXSDNAME,
+					    "%s.s%d", sdname, undeffd++);
+					free(sdname);
+				} else {
+					snprintf(s->name, GV_MAXSDNAME,
+					    "%s.s%d",plex, sd_in_plex++);
+				}
 			}
 
 			/* Default plex. */

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_rename.c#3 (text+ko) ====

@@ -273,12 +273,13 @@
 		err = GV_ERR_INVNAME;
 		goto fail;
 	}
-	if (strcmp(newp, oldp)) {
+	/* XXX: Uhm, why is this important?. */
+/*	if (strcmp(newp, oldp)) {
 		printf("VINUM: current and proposed sd numbers (%s, %s) do "
 		    "not match\n", oldp, newp);
 		err = GV_ERR_INVNAME;
 		goto fail;
-	}
+	}*/
 
 	strncpy(s->name, newname, GV_MAXSDNAME);
 

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#21 (text+ko) ====

@@ -56,7 +56,7 @@
 #include 
 
 int	gv_drive_is_newer(struct gv_softc *);
-static off_t gv_plex_smallest_sd(struct gv_plex *, off_t);
+static off_t gv_plex_smallest_sd(struct gv_plex *);
 
 void
 gv_parse_config(struct gv_softc *sc, char *buf)
@@ -232,12 +232,17 @@
 }
 
 static off_t
-gv_plex_smallest_sd(struct gv_plex *p, off_t smallest)
+gv_plex_smallest_sd(struct gv_plex *p)
 {
 	struct gv_sd *s;
+	off_t smallest;
 
 	KASSERT(p != NULL, ("gv_plex_smallest_sd: NULL p"));
 
+	s = LIST_FIRST(&p->subdisks);
+	if (s == NULL)
+		return (-1);
+	smallest = s->size;
 	LIST_FOREACH(s, &p->subdisks, in_plex) {
 		if (s->size < smallest)
 			smallest = s->size;
@@ -267,7 +272,7 @@
 gv_sd_to_plex(struct gv_sd *s, struct gv_plex *p)
 {
 	struct gv_sd *s2;
-	off_t psizeorig, remainder;
+	off_t psizeorig, remainder, smallest;
 
 	/* If this subdisk was already given to this plex, do nothing. */
 	if (s->plex_sc == p)
@@ -277,7 +282,9 @@
 	s2 = LIST_FIRST(&p->subdisks);
 	/* Adjust the subdisk-size if necessary. */
 	if (s2 != NULL && gv_is_striped(p)) {
+		/* First adjust to the stripesize. */
 		remainder = s->size % p->stripesize;
+
 		if (remainder) {
 			printf("VINUM: size of sd %s is not a "
 			    "multiple of plex stripesize, taking off "
@@ -285,6 +292,35 @@
 			    (intmax_t)remainder);
 			gv_adjust_freespace(s, remainder);
 		}
+
+		smallest = gv_plex_smallest_sd(p);
+		/* Then take off extra if other subdisks are smaller. */
+		remainder = s->size - smallest;
+
+		/*
+		 * Don't allow a remainder below zero for running plexes, it's too
+		 * painful, and if someone were to accidentally do this, the
+		 * resulting array might be smaller than the original... not god 
+		 */
+		if (remainder < 0) {
+			if (!(p->flags & GV_PLEX_NEWBORN)) {
+				printf("VINUM: sd %s too small for plex %s!\n",
+				    s->name, p->name);
+				return (GV_ERR_BADSIZE);
+			}
+			/* Adjust other subdisks. */
+			LIST_FOREACH(s2, &p->subdisks, in_plex) {
+				printf("VINUM: size of sd %s is to big, "
+				    "taking off %jd bytes\n", s->name,
+				    (intmax_t)remainder);
+				gv_adjust_freespace(s2, (remainder * -1));
+			}
+		} else if (remainder > 0) {
+			printf("VINUM: size of sd %s is to big, "
+			    "taking off %jd bytes\n", s->name,
+			    (intmax_t)remainder);
+			gv_adjust_freespace(s, remainder);
+		}
 	}
 
 	/* Find the correct plex offset for this subdisk, if needed. */
@@ -338,8 +374,6 @@
 		if ((p->org == GV_PLEX_RAID5 ||
 		    p->org == GV_PLEX_STRIPED) &&
 		    !(p->flags & GV_PLEX_NEWBORN)) {
-			printf("Adding to a running plex, must add grow-flag to"
-			    " sd and plex\n");
 			s->flags |= GV_SD_GROW;
 		}
 		p->sdcount++;
@@ -485,7 +519,6 @@
 	} else {
 		LIST_FOREACH(s, &p->subdisks, in_plex) {
 			if (s->flags & GV_SD_GROW) {
-				printf("Setting state\n");
 				gv_set_plex_state(p, GV_PLEX_DEGRADED,
 				    GV_SETSTATE_FORCE);
 				break;

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 15:32:09 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 14E2616A41F; Fri, 27 Jul 2007 15:32:09 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BCD1416A41A
	for ; Fri, 27 Jul 2007 15:32:08 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 8EEB613C45B
	for ; Fri, 27 Jul 2007 15:32:08 +0000 (UTC)
	(envelope-from lulf@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RFW8sI020368
	for ; Fri, 27 Jul 2007 15:32:08 GMT
	(envelope-from lulf@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RFW8G3020365
	for perforce@freebsd.org; Fri, 27 Jul 2007 15:32:08 GMT
	(envelope-from lulf@FreeBSD.org)
Date: Fri, 27 Jul 2007 15:32:08 GMT
Message-Id: <200707271532.l6RFW8G3020365@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	lulf@FreeBSD.org using -f
From: Ulf Lilleengen 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124190 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 15:32:09 -0000

http://perforce.freebsd.org/chv.cgi?CH=124190

Change 124190 by lulf@lulf_carrot on 2007/07/27 15:31:44

	- Remember to set the growing sd to UP, so we can start growing instead
	  of rebuilding when that is the intended case.

Affected files ...

.. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#22 edit

Differences ...

==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_subr.c#22 (text+ko) ====

@@ -375,6 +375,7 @@
 		    p->org == GV_PLEX_STRIPED) &&
 		    !(p->flags & GV_PLEX_NEWBORN)) {
 			s->flags |= GV_SD_GROW;
+			s->state = GV_SD_UP;
 		}
 		p->sdcount++;
 	}

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 16:29:22 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 3DA2516A46B; Fri, 27 Jul 2007 16:29:22 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 1251F16A41A
	for ; Fri, 27 Jul 2007 16:29:22 +0000 (UTC)
	(envelope-from gabor@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id ECDDB13C48A
	for ; Fri, 27 Jul 2007 16:29:21 +0000 (UTC)
	(envelope-from gabor@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RGTLTt024775
	for ; Fri, 27 Jul 2007 16:29:21 GMT
	(envelope-from gabor@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RGTLHG024772
	for perforce@freebsd.org; Fri, 27 Jul 2007 16:29:21 GMT
	(envelope-from gabor@freebsd.org)
Date: Fri, 27 Jul 2007 16:29:21 GMT
Message-Id: <200707271629.l6RGTLHG024772@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	gabor@freebsd.org using -f
From: Gabor Kovesdan 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124194 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 16:29:22 -0000

http://perforce.freebsd.org/chv.cgi?CH=124194

Change 124194 by gabor@gabor_server on 2007/07/27 16:29:15

	IFC

Affected files ...

.. //depot/projects/soc2006/gabor_destdir/MOVED#14 integrate
.. //depot/projects/soc2006/gabor_destdir/Mk/bsd.qt.mk#2 integrate

Differences ...

==== //depot/projects/soc2006/gabor_destdir/MOVED#14 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # MOVED - a list of (recently) moved or removed ports
 #
-# $FreeBSD: ports/MOVED,v 1.1430 2007/07/23 13:52:04 danfe Exp $
+# $FreeBSD: ports/MOVED,v 1.1432 2007/07/26 13:44:57 bsam Exp $
 #
 # Each entry consists of a single line containing the following four
 # fields in the order named, separated with the pipe (`|') character:
@@ -3106,3 +3106,7 @@
 security/metasploit-devel|security/metasploit|2007-07-23|move to security/metasploit
 x11/nvidia-driver-7184|x11/nvidia-driver-71xx|2007-07-23|moved to x11/nvidia-driver-71xx
 x11/nvidia-driver-9631|x11/nvidia-driver-96xx|2007-07-23|moved to x11/nvidia-driver-96xx
+french/fr-py-qt4-eric4|french/eric4|2007-07-25|Moved to french/eric4
+german/de-py-qt4-eric4|german/eric4|2007-07-25|Moved to german/eric4
+russian/ru-py-qt4-eric4|russian/eric4|2007-07-25|Moved to russian/eric4
+devel/py-qt4-eric4|devel/eric4|2007-07-25|Moved to devel/eric4

==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.qt.mk#2 (text+ko) ====

@@ -45,8 +45,13 @@
 QMAKE?=		${QT_PREFIX}/bin/qmake-qt4
 QMAKESPEC?=	${QT_PREFIX}/share/qt4/mkspecs/freebsd-g++
 
+.if ${OSVERSION} < 700042 && ${ARCH} == "amd64"
+QTCPPFLAGS?=	-fno-gcse
+.else
 QTCPPFLAGS?=
+.endif
 QTCGFLIBS?=
+
 .endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
 
 QT4_VERSION?=		4.3.0

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 16:41:41 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id ECC4F16A418; Fri, 27 Jul 2007 16:41:40 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id A11C816A41A
	for ; Fri, 27 Jul 2007 16:41:40 +0000 (UTC)
	(envelope-from imp@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 86FBB13C478
	for ; Fri, 27 Jul 2007 16:41:40 +0000 (UTC)
	(envelope-from imp@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RGfesL025665
	for ; Fri, 27 Jul 2007 16:41:40 GMT
	(envelope-from imp@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RGfdM5025662
	for perforce@freebsd.org; Fri, 27 Jul 2007 16:41:39 GMT
	(envelope-from imp@freebsd.org)
Date: Fri, 27 Jul 2007 16:41:39 GMT
Message-Id: <200707271641.l6RGfdM5025662@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	imp@freebsd.org using -f
From: Warner Losh 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124196 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 16:41:41 -0000

http://perforce.freebsd.org/chv.cgi?CH=124196

Change 124196 by imp@imp_paco-paco on 2007/07/27 16:41:20

	IFC @124193

Affected files ...

.. //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#17 integrate
.. //depot/projects/arm/src/sys/arm/arm/busdma_machdep.c#15 integrate
.. //depot/projects/arm/src/sys/arm/arm/cpufunc.c#16 integrate
.. //depot/projects/arm/src/sys/arm/arm/elf_trampoline.c#16 integrate
.. //depot/projects/arm/src/sys/arm/arm/identcpu.c#13 integrate
.. //depot/projects/arm/src/sys/arm/arm/intr.c#12 integrate
.. //depot/projects/arm/src/sys/arm/arm/pmap.c#34 integrate
.. //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#13 integrate
.. //depot/projects/arm/src/sys/arm/include/armreg.h#6 integrate
.. //depot/projects/arm/src/sys/arm/include/cpufunc.h#9 integrate
.. //depot/projects/arm/src/sys/arm/include/pmap.h#16 integrate
.. //depot/projects/arm/src/sys/arm/include/pte.h#3 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_pci.c#8 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_timer.c#8 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321_wdog.c#4 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/i80321var.h#4 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i80321/obio.c#4 integrate
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/obio.c#1 branch
.. //depot/projects/arm/src/sys/arm/xscale/i8134x/obiovar.h#1 branch
.. //depot/projects/arm/src/sys/conf/Makefile.arm#19 integrate
.. //depot/projects/arm/src/sys/dev/ath/ath_rate/amrr/amrr.c#6 integrate
.. //depot/projects/arm/src/sys/dev/ath/ath_rate/onoe/onoe.c#7 integrate
.. //depot/projects/arm/src/sys/dev/ce/if_ce.c#8 integrate
.. //depot/projects/arm/src/sys/dev/cp/if_cp.c#9 integrate
.. //depot/projects/arm/src/sys/dev/ctau/if_ct.c#9 integrate
.. //depot/projects/arm/src/sys/dev/cx/if_cx.c#8 integrate
.. //depot/projects/arm/src/sys/dev/em/if_em.c#40 integrate
.. //depot/projects/arm/src/sys/dev/usb/ufoma.c#6 integrate
.. //depot/projects/arm/src/sys/i386/isa/clock.c#14 integrate
.. //depot/projects/arm/src/sys/kern/kern_kse.c#16 integrate
.. //depot/projects/arm/src/sys/kern/kern_thread.c#20 integrate
.. //depot/projects/arm/src/sys/kern/subr_bus.c#22 integrate
.. //depot/projects/arm/src/sys/kern/uipc_domain.c#7 integrate
.. //depot/projects/arm/src/sys/net/if.c#22 integrate
.. //depot/projects/arm/src/sys/net/if_ethersubr.c#26 integrate
.. //depot/projects/arm/src/sys/net/netisr.c#4 integrate
.. //depot/projects/arm/src/sys/netinet6/udp6_usrreq.c#16 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_srvsubs.c#12 integrate
.. //depot/projects/arm/src/sys/nfsserver/nfs_syscalls.c#11 integrate
.. //depot/projects/arm/src/sys/sys/kernel.h#8 integrate
.. //depot/projects/arm/src/sys/sys/mutex.h#17 integrate
.. //depot/projects/arm/src/sys/sys/proc.h#30 integrate
.. //depot/projects/arm/src/usr.bin/calendar/calendars/calendar.holiday#6 integrate

Differences ...

==== //depot/projects/arm/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#17 (text+ko) ====

@@ -30,7 +30,7 @@
 
   The &os; Project
 
-  $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1053 2007/07/25 15:19:37 bmah Exp $
+  $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1054 2007/07/27 08:40:05 brueffer Exp $
 
   
     2000
@@ -2266,8 +2266,8 @@
       character support.  &merged;
 
     hostapd
-      has been updated from version 0.3.9 to version 0.4.8.
-      &merged;
+      has been updated from version 0.3.9 to version 0.5.8.
+      
 
     PF has been updated from OpenBSD
       version 3.7 to OpenBSD version 4.1.
@@ -2297,8 +2297,8 @@
       audit group have been added. &merged;
 
     WPA Supplicant
-      has been updated from version 0.3.9 to version 0.4.8.
-      &merged;
+      has been updated from version 0.3.9 to version 0.5.8.
+      
 
     zlib
       has been updated from version 1.2.2 to version 1.2.3. &merged;
@@ -2462,7 +2462,7 @@
     The supported version of
       the KDE desktop environment
       (x11/kde3) has been
-      updated from 3.4.2 to 3.5.6. &merged;
+      updated from 3.4.2 to 3.5.7. &merged;
 
     [&arch.amd64;, &arch.i386;] The supported Linux emulation now uses the
       libraries in the

==== //depot/projects/arm/src/sys/arm/arm/busdma_machdep.c#15 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.34 2007/07/27 14:46:43 cognet Exp $");
 
 /*
  * ARM bus dma support routines
@@ -763,8 +763,12 @@
 		if (__predict_true(pmap == pmap_kernel())) {
 			(void) pmap_get_pde_pte(pmap, vaddr, &pde, &ptep);
 			if (__predict_false(pmap_pde_section(pde))) {
-				curaddr = (*pde & L1_S_FRAME) |
-				    (vaddr & L1_S_OFFSET);
+				if (*pde & L1_S_SUPERSEC)
+					curaddr = (*pde & L1_SUP_FRAME) |
+					    (vaddr & L1_SUP_OFFSET);
+				else
+					curaddr = (*pde & L1_S_FRAME) |
+					    (vaddr & L1_S_OFFSET);
 				if (*pde & L1_S_CACHE_MASK) {
 					map->flags &=
 					    ~DMAMAP_COHERENT;
@@ -1087,36 +1091,36 @@
 {
 	char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align];
 
-	if (op & BUS_DMASYNC_PREWRITE)
+	if (op & BUS_DMASYNC_PREWRITE) {
 		cpu_dcache_wb_range((vm_offset_t)buf, len);
+		cpu_l2cache_wb_range((vm_offset_t)buf, len);
+	}
+	if (op & BUS_DMASYNC_PREREAD) {
+		cpu_idcache_wbinv_range((vm_offset_t)buf, len);
+		cpu_l2cache_wbinv_range((vm_offset_t)buf, len);
+	}
 	if (op & BUS_DMASYNC_POSTREAD) {
-		if ((vm_offset_t)buf & arm_dcache_align_mask)
+		if ((vm_offset_t)buf & arm_dcache_align_mask) {
 			memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~
 			    arm_dcache_align_mask),
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
-		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~
-			    arm_dcache_align_mask),
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
-		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy(_tmp_clend, (void *)(((vm_offset_t)buf + len) & ~
-			    arm_dcache_align_mask),
-			    (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~
-			    arm_dcache_align_mask));
+			    (vm_offset_t)buf & arm_dcache_align_mask);
+		}
+		if (((vm_offset_t)buf + len) & arm_dcache_align_mask) {
+			memcpy(_tmp_clend, (void *)((vm_offset_t)buf + len),
+			    arm_dcache_align - (((vm_offset_t)(buf) + len) &
+			   arm_dcache_align_mask));
+		}
 		cpu_dcache_inv_range((vm_offset_t)buf, len);
+		cpu_l2cache_inv_range((vm_offset_t)buf, len);
+
 		if ((vm_offset_t)buf & arm_dcache_align_mask)
 			memcpy((void *)((vm_offset_t)buf &
-			    ~arm_dcache_align_mask),
-			    _tmp_cl, 
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
+			    ~arm_dcache_align_mask), _tmp_cl, 
+			    (vm_offset_t)buf & arm_dcache_align_mask);
 		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy((void *)(((vm_offset_t)buf + len) & ~
-			    arm_dcache_align_mask), _tmp_clend,
-			    (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~
-			    arm_dcache_align_mask));
+			memcpy((void *)((vm_offset_t)buf + len), _tmp_clend,
+			    arm_dcache_align - (((vm_offset_t)(buf) + len) &
+			   arm_dcache_align_mask));
 	}
 }
 
@@ -1131,14 +1135,20 @@
 			    (void *)(bpage->vaddr_nocache != 0 ? 
 				     bpage->vaddr_nocache : bpage->vaddr),
 			    bpage->datacount);
-			if (bpage->vaddr_nocache == 0)
+			if (bpage->vaddr_nocache == 0) {
 				cpu_dcache_wb_range(bpage->vaddr,
 				    bpage->datacount);
+				cpu_l2cache_wb_range(bpage->vaddr,
+				    bpage->datacount);
+			}
 		}
 		if (op & BUS_DMASYNC_POSTREAD) {
-			if (bpage->vaddr_nocache == 0)
+			if (bpage->vaddr_nocache == 0) {
 				cpu_dcache_inv_range(bpage->vaddr,
 				    bpage->datacount);
+				cpu_l2cache_inv_range(bpage->vaddr,
+				    bpage->datacount);
+			}
 			bcopy((void *)(bpage->vaddr_nocache != 0 ? 
 	       		    bpage->vaddr_nocache : bpage->vaddr),
 			    (void *)bpage->datavaddr, bpage->datacount);
@@ -1175,10 +1185,6 @@
 		_bus_dmamap_sync_bp(dmat, map, op);
 	if (map->flags & DMAMAP_COHERENT)
 		return;
-	if ((op && BUS_DMASYNC_POSTREAD) && (map->len >= 2 * PAGE_SIZE)) {
-		cpu_dcache_wbinv_all();
-		return;
-	}
 	CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags);
 	switch(map->flags & DMAMAP_TYPE_MASK) {
 	case DMAMAP_LINEAR:

==== //depot/projects/arm/src/sys/arm/arm/cpufunc.c#16 (text+ko) ====

@@ -45,7 +45,7 @@
  * Created      : 30/01/97
  */
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $");
 
 #include 
 #include 
@@ -147,6 +147,10 @@
 
 	arm7tdmi_cache_flushID,		/* idcache_wbinv_all	*/
 	(void *)arm7tdmi_cache_flushID,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -205,6 +209,10 @@
 
 	arm8_cache_purgeID,		/* idcache_wbinv_all	*/
 	(void *)arm8_cache_purgeID,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -262,6 +270,10 @@
 
 	arm9_idcache_wbinv_all,		/* idcache_wbinv_all	*/
 	arm9_idcache_wbinv_range,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -378,6 +390,10 @@
 
 	arm10_idcache_wbinv_all,	/* idcache_wbinv_all	*/
 	arm10_idcache_wbinv_range,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -436,6 +452,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -493,6 +513,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -550,6 +574,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -610,6 +638,10 @@
 
 	xscale_cache_purgeID,		/* idcache_wbinv_all	*/
 	xscale_cache_purgeID_rng,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all 	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -660,15 +692,19 @@
 	/* Cache operations */
 
 	xscalec3_cache_syncI,		/* icache_sync_all	*/
-	xscale_cache_syncI_rng,		/* icache_sync_range	*/
+	xscalec3_cache_syncI_rng,	/* icache_sync_range	*/
 
 	xscalec3_cache_purgeD,		/* dcache_wbinv_all	*/
 	xscalec3_cache_purgeD_rng,	/* dcache_wbinv_range	*/
 	xscale_cache_flushD_rng,	/* dcache_inv_range	*/
 	xscalec3_cache_cleanD_rng,	/* dcache_wb_range	*/
 
-	xscalec3_cache_purgeID,	/* idcache_wbinv_all	*/
+	xscalec3_cache_purgeID,		/* idcache_wbinv_all	*/
 	xscalec3_cache_purgeID_rng,	/* idcache_wbinv_range	*/
+	xscalec3_l2cache_purge,		/* l2cache_wbinv_all	*/
+	xscalec3_l2cache_purge_rng,	/* l2cache_wbinv_range	*/
+	xscalec3_l2cache_flush_rng,	/* l2cache_inv_range	*/
+	xscalec3_l2cache_clean_rng,	/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -2009,9 +2045,7 @@
 xscale_setup(args)
 	char *args;
 {
-#ifndef CPU_XSCALE_CORE3
 	uint32_t auxctl;
-#endif
 	int cpuctrl, cpuctrlmask;
 
 	/*
@@ -2031,7 +2065,8 @@
 		 | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE
 		 | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE
 		 | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE
-		 | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC;
+		 | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC | \
+		 CPU_CONTROL_L2_ENABLE;
 
 #ifndef ARM32_DISABLE_ALIGNMENT_FAULTS
 	cpuctrl |= CPU_CONTROL_AFLT_ENABLE;
@@ -2045,6 +2080,9 @@
 
 	if (vector_page == ARM_VECTORS_HIGH)
 		cpuctrl |= CPU_CONTROL_VECRELOC;
+#ifdef CPU_XSCALE_CORE3
+	cpuctrl |= CPU_CONTROL_L2_ENABLE;
+#endif
 
 	/* Clear out the cache */
 	cpu_idcache_wbinv_all();
@@ -2057,7 +2095,6 @@
 /*	cpu_control(cpuctrlmask, cpuctrl);*/
 	cpu_control(0xffffffff, cpuctrl);
 
-#ifndef CPU_XSCALE_CORE3
 	/* Make sure write coalescing is turned on */
 	__asm __volatile("mrc p15, 0, %0, c1, c0, 1"
 		: "=r" (auxctl));
@@ -2066,9 +2103,12 @@
 #else
 	auxctl &= ~XSCALE_AUXCTL_K;
 #endif
+#ifdef CPU_XSCALE_CORE3
+	auxctl |= XSCALE_AUXCTL_LLR;
+	auxctl |= XSCALE_AUXCTL_MD_MASK;
+#endif
 	__asm __volatile("mcr p15, 0, %0, c1, c0, 1"
 		: : "r" (auxctl));
-#endif
 }
 #endif	/* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 
 	   CPU_XSCALE_80219 */

==== //depot/projects/arm/src/sys/arm/arm/elf_trampoline.c#16 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.17 2007/02/19 00:57:27 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.18 2007/07/27 14:42:25 cognet Exp $");
 #include 
 #include 
 #include 
@@ -48,6 +48,7 @@
 extern void *_end;
 
 void __start(void);
+void __startC(void);
 
 #define GZ_HEAD	0xa
 
@@ -66,7 +67,14 @@
   defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) ||	\
   defined(CPU_XSCALE_80219)
 #define cpu_idcache_wbinv_all	xscale_cache_purgeID
+#elif defined(CPU_XSCALE_81342)
+#define cpu_idcache_wbinv_all	xscalec3_cache_purgeID
 #endif
+#ifdef CPU_XSCALE_81342
+#define cpu_l2cache_wbinv_all	xscalec3_l2cache_purge
+#else
+#define cpu_l2cache_wbinv_all()	
+#endif
 
 
 int     arm_picache_size;
@@ -138,7 +146,7 @@
 static void arm9_setup(void);
 
 void
-_start(void)
+_startC(void)
 {
 	int physaddr = KERNPHYSADDR;
 	int tmp1;
@@ -207,6 +215,7 @@
 		arm9_setup();
 #endif
 	cpu_idcache_wbinv_all();
+	cpu_l2cache_wbinv_all();
 #endif
 	__start();
 }
@@ -520,7 +529,7 @@
 extern char func_end[];
 
 
-#define PMAP_DOMAIN_KERNEL	15 /*
+#define PMAP_DOMAIN_KERNEL	0 /*
 				    * Just define it instead of including the
 				    * whole VM headers set.
 				    */
@@ -595,10 +604,11 @@
 		kernel = (char *)&_end;
 		altdst = 4 + load_kernel((unsigned int)kernel, 
 		    (unsigned int)curaddr,
-		    (unsigned int)&func_end , 0);
+		    (unsigned int)&func_end + 800 , 0);
 		if (altdst > dst)
 			dst = altdst;
 		cpu_idcache_wbinv_all();
+		cpu_l2cache_wbinv_all();
 		__asm __volatile("mrc p15, 0, %0, c1, c0, 0\n"
 		    "bic %0, %0, #1\n" /* MMU_ENABLE */
 		    "mcr p15, 0, %0, c1, c0, 0\n"
@@ -616,7 +626,7 @@
 	sp = sp &~3;
 	dst = (void *)(sp + 4);
 	memcpy((void *)dst, (void *)&load_kernel, (unsigned int)&func_end - 
-	    (unsigned int)&load_kernel);
+	    (unsigned int)&load_kernel + 800);
 	do_call(dst, kernel, dst + (unsigned int)(&func_end) - 
-	    (unsigned int)(&load_kernel), sp);
+	    (unsigned int)(&load_kernel) + 800, sp);
 }

==== //depot/projects/arm/src/sys/arm/arm/identcpu.c#13 (text+ko) ====

@@ -42,7 +42,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.11 2007/07/27 14:49:11 cognet Exp $");
 #include 
 #include 
 #include 
@@ -420,6 +420,12 @@
 			printf(" IC disabled");
 		else
 			printf(" IC enabled");
+#ifdef CPU_XSCALE_81342
+		if ((ctrl & CPU_CONTROL_L2_ENABLE) == 0)
+			printf(" L2 disabled");
+		else
+			printf(" L2 enabled");
+#endif
 		break;
 	default:
 		break;

==== //depot/projects/arm/src/sys/arm/arm/intr.c#12 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.16 2007/06/04 21:38:45 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.17 2007/07/27 14:26:42 cognet Exp $");
 #include 
 #include 
 #include  
@@ -57,6 +57,27 @@
 
 void	arm_handler_execute(struct trapframe *, int);
 
+#ifdef INTR_FILTER
+static void
+intr_disab_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	arm_mask_irq(nb);
+}
+
+static void
+intr_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	arm_unmask_irq(nb);
+}
+
+#endif
+
 void
 arm_setup_irqhandler(const char *name, driver_filter_t *filt, 
     void (*hand)(void*), void *arg, int irq, int flags, void **cookiep)
@@ -68,8 +89,14 @@
 		return;
 	event = intr_events[irq];
 	if (event == NULL) {
+#ifdef INTR_FILTER
 		error = intr_event_create(&event, (void *)irq, 0,
+		    (void (*)(void *))arm_unmask_irq, intr_eoi_src,
+		    intr_disab_eoi_src, "intr%d:", irq);
+#else
+		error = intr_event_create(&event, (void *)irq, 0,
 		    (void (*)(void *))arm_unmask_irq, "intr%d:", irq);
+#endif
 		if (error)
 			return;
 		intr_events[irq] = event;
@@ -102,19 +129,33 @@
 arm_handler_execute(struct trapframe *frame, int irqnb)
 {
 	struct intr_event *event;
-	struct intr_handler *ih;
 	struct thread *td = curthread;
+#ifdef INTR_FILTER
+	int i;
+#else
 	int i, thread, ret;
+	struct intr_handler *ih;
+#endif
 
 	PCPU_INC(cnt.v_intr);
 	td->td_intr_nesting_level++;
 	while ((i = arm_get_next_irq()) != -1) {
+#ifndef INTR_FILTER
 		arm_mask_irq(i);
+#endif
 		intrcnt[intrcnt_tab[i]]++;
 		event = intr_events[i];
-		if (!event || TAILQ_EMPTY(&event->ie_handlers))
+		if (!event || TAILQ_EMPTY(&event->ie_handlers)) {
+#ifdef INTR_FILTER
+			arm_mask_irq(i);
+#endif
 			continue;
+		}
 
+#ifdef INTR_FILTER
+		intr_event_handle(event, frame);
+		/* XXX: Log stray IRQs */
+#else
 		/* Execute fast handlers. */
 		ret = 0;
 		thread = 0;
@@ -139,6 +180,7 @@
 			intr_event_schedule_thread(event);
 		else
 			arm_unmask_irq(i);
+#endif
 	}
 	td->td_intr_nesting_level--;
 }

==== //depot/projects/arm/src/sys/arm/arm/pmap.c#34 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.83 2007/06/11 21:29:26 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $");
 #include 
 #include 
 #include 
@@ -676,8 +676,14 @@
 	pmap_copy_page_func = pmap_copy_page_generic;
 	pmap_zero_page_func = pmap_zero_page_generic;
 	xscale_use_minidata = 0;
-	pte_l1_s_cache_mode_pt = pte_l2_l_cache_mode_pt =
-	    pte_l2_s_cache_mode_pt = 0;
+	/* Make sure it is L2-cachable */
+    	pte_l1_s_cache_mode |= L1_S_XSCALE_TEX(TEX_XSCALE_T);
+	pte_l1_s_cache_mode_pt = pte_l1_s_cache_mode &~ L1_S_XSCALE_P;
+	pte_l2_l_cache_mode |= L2_XSCALE_L_TEX(TEX_XSCALE_T) ;
+	pte_l2_l_cache_mode_pt = pte_l1_s_cache_mode;
+	pte_l2_s_cache_mode |= L2_XSCALE_T_TEX(TEX_XSCALE_T);
+	pte_l2_s_cache_mode_pt = pte_l2_s_cache_mode;
+
 #else
 	pmap_copy_page_func = pmap_copy_page_xscale;
 	pmap_zero_page_func = pmap_zero_page_xscale;
@@ -2818,33 +2824,35 @@
  * Low level mapping routines.....
  ***************************************************/
 
+#ifdef ARM_HAVE_SUPERSECTIONS
 /* Map a super section into the KVA. */
 
 void
 pmap_kenter_supersection(vm_offset_t va, uint64_t pa, int flags)
 {
-	pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_OFFSET) |
-	    (((pa >> 32) & 0x8) << 20) | L1_S_PROT(PTE_KERNEL,
+	pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_FRAME) |
+	    (((pa >> 32) & 0xf) << 20) | L1_S_PROT(PTE_KERNEL,
 	    VM_PROT_READ|VM_PROT_WRITE) | L1_S_DOM(PMAP_DOMAIN_KERNEL);
 	struct l1_ttable *l1;	
-	vm_offset_t va_end;
+	vm_offset_t va0, va_end;
 
 	KASSERT(((va | pa) & L1_SUP_OFFSET) == 0,
-	    ("Not a valid section mapping"));
+	    ("Not a valid super section mapping"));
 	if (flags & SECTION_CACHE)
 		pd |= pte_l1_s_cache_mode;
 	else if (flags & SECTION_PT)
 		pd |= pte_l1_s_cache_mode_pt;
-	va = va & L1_SUP_OFFSET;
+	va0 = va & L1_SUP_FRAME;
 	va_end = va + L1_SUP_SIZE;
 	SLIST_FOREACH(l1, &l1_list, l1_link) {
+		va = va0;
 		for (; va < va_end; va += L1_S_SIZE) {
 			l1->l1_kva[L1_IDX(va)] = pd;
 			PTE_SYNC(&l1->l1_kva[L1_IDX(va)]);
 		}
 	}
-
 }
+#endif
 
 /* Map a section into the KVA. */
 
@@ -3681,7 +3689,11 @@
 		 * These should only happen for pmap_kernel()
 		 */
 		KASSERT(pm == pmap_kernel(), ("huh"));
-		pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
+		/* XXX: what to do about the bits > 32 ? */
+		if (l1pd & L1_S_SUPERSEC) 
+			pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET);
+		else
+			pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
 	} else {
 		/*
 		 * Note that we can't rely on the validity of the L1
@@ -3744,7 +3756,11 @@
 		 * These should only happen for pmap_kernel()
 		 */
 		KASSERT(pmap == pmap_kernel(), ("huh"));
-		pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
+		/* XXX: what to do about the bits > 32 ? */
+		if (l1pd & L1_S_SUPERSEC) 
+			pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET);
+		else
+			pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
 		if (l1pd & L1_S_PROT_W || (prot & VM_PROT_WRITE) == 0) {
 			m = PHYS_TO_VM_PAGE(pa);
 			vm_page_hold(m);

==== //depot/projects/arm/src/sys/arm/arm/vm_machdep.c#13 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.32 2007/06/04 23:57:29 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $");
 
 #include 
 #include 
@@ -118,11 +118,13 @@
 	pcb1 = td1->td_pcb;
 	pcb2 = (struct pcb *)(td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE) - 1;
 #ifdef __XSCALE__
+#ifndef CPU_XSCALE_CORE3
 	pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE);
 	if (td2->td_altkstack)
 		pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages *
 		    PAGE_SIZE);
 #endif
+#endif
 	td2->td_pcb = pcb2;
 	bcopy(td1->td_pcb, pcb2, sizeof(*pcb2));
 	mdp2 = &p2->p_md;
@@ -338,7 +340,9 @@
 	td->td_frame = (struct trapframe *)
 	    ((u_int)td->td_kstack + USPACE_SVC_STACK_TOP - sizeof(struct pcb)) - 1;
 #ifdef __XSCALE__
+#ifndef CPU_XSCALE_CORE3
 	pmap_use_minicache(td->td_kstack, td->td_kstack_pages * PAGE_SIZE);
+#endif
 #endif  
 		
 }
@@ -462,6 +466,14 @@
 
 vm_offset_t alloc_firstaddr;
 
+#ifdef ARM_HAVE_SUPERSECTIONS
+#define S_FRAME	L1_SUP_FRAME
+#define S_SIZE	L1_SUP_SIZE
+#else
+#define S_FRAME	L1_S_FRAME
+#define S_SIZE	L1_S_SIZE
+#endif
+
 vm_offset_t
 arm_ptovirt(vm_paddr_t pa)
 {
@@ -472,11 +484,11 @@
 	for (i = 0; dump_avail[i + 1]; i += 2) {
 		if (pa >= dump_avail[i] && pa < dump_avail[i + 1])
 			break;
-		addr += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE -
-		    (dump_avail[i] & L1_S_FRAME);
+		addr += (dump_avail[i + 1] & S_FRAME) + S_SIZE -
+		    (dump_avail[i] & S_FRAME);
 	}
 	KASSERT(dump_avail[i + 1] != 0, ("Trying to access invalid physical address"));
-	return (addr + (pa - (dump_avail[i] & L1_S_FRAME)));
+	return (addr + (pa - (dump_avail[i] & S_FRAME)));
 }
 
 void
@@ -492,20 +504,26 @@
 	 */
 	   
 	for (i = 0; dump_avail[i + 1]; i+= 2) {
-		to_map += (dump_avail[i + 1] & L1_S_FRAME) + L1_S_SIZE -
-		    (dump_avail[i] & L1_S_FRAME);
+		to_map += (dump_avail[i + 1] & S_FRAME) + S_SIZE -
+		    (dump_avail[i] & S_FRAME);
 	}
 	alloc_firstaddr = mapaddr = KERNBASE - to_map;
 	for (i = 0; dump_avail[i + 1]; i+= 2) {
-		vm_offset_t size = (dump_avail[i + 1] & L1_S_FRAME) +
-		    L1_S_SIZE - (dump_avail[i] & L1_S_FRAME);
+		vm_offset_t size = (dump_avail[i + 1] & S_FRAME) +
+		    S_SIZE - (dump_avail[i] & S_FRAME);
 		vm_offset_t did = 0;
-		while (size > 0 ) {
+		while (size > 0) {
+#ifdef ARM_HAVE_SUPERSECTIONS
+			pmap_kenter_supersection(mapaddr,
+			    (dump_avail[i] & L1_SUP_FRAME) + did, 
+			    SECTION_CACHE);
+#else
 			pmap_kenter_section(mapaddr, 
 			    (dump_avail[i] & L1_S_FRAME) + did, SECTION_CACHE);
-			mapaddr += L1_S_SIZE;
-			did += L1_S_SIZE;
-			size -= L1_S_SIZE;
+#endif
+			mapaddr += S_SIZE;
+			did += S_SIZE;
+			size -= S_SIZE;
 		}
 	}
 }

==== //depot/projects/arm/src/sys/arm/include/armreg.h#6 (text+ko) ====

@@ -35,7 +35,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/armreg.h,v 1.5 2006/11/07 22:36:56 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/armreg.h,v 1.6 2007/07/27 14:54:27 cognet Exp $
  */
 
 #ifndef MACHINE_ARMREG_H
@@ -237,17 +237,22 @@
 #define CPU_CONTROL_VECRELOC	0x00002000 /* V: Vector relocation */
 #define CPU_CONTROL_ROUNDROBIN	0x00004000 /* RR: Predictable replacement */
 #define CPU_CONTROL_V4COMPAT	0x00008000 /* L4: ARMv4 compat LDR R15 etc */
+#define CPU_CONTROL_L2_ENABLE	0x04000000 /* L2 Cache enabled */
 
 #define CPU_CONTROL_IDC_ENABLE	CPU_CONTROL_DC_ENABLE
 
 /* XScale Auxillary Control Register (CP15 register 1, opcode2 1) */
 #define	XSCALE_AUXCTL_K		0x00000001 /* dis. write buffer coalescing */
 #define	XSCALE_AUXCTL_P		0x00000002 /* ECC protect page table access */
+/* Note: XSCale core 3 uses those for LLR DCcahce attributes */
 #define	XSCALE_AUXCTL_MD_WB_RA	0x00000000 /* mini-D$ wb, read-allocate */
 #define	XSCALE_AUXCTL_MD_WB_RWA	0x00000010 /* mini-D$ wb, read/write-allocate */
 #define	XSCALE_AUXCTL_MD_WT	0x00000020 /* mini-D$ wt, read-allocate */
 #define	XSCALE_AUXCTL_MD_MASK	0x00000030
 
+/* Xscale Core 3 only */
+#define XSCALE_AUXCTL_LLR	0x00000400 /* Enable L2 for LLR Cache */
+
 /* Cache type register definitions */
 #define	CPU_CT_ISIZE(x)		((x) & 0xfff)		/* I$ info */
 #define	CPU_CT_DSIZE(x)		(((x) >> 12) & 0xfff)	/* D$ info */

==== //depot/projects/arm/src/sys/arm/include/cpufunc.h#9 (text+ko) ====

@@ -38,7 +38,7 @@
  *
  * Prototypes for cpu, mmu and tlb related functions.
  *
- * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.11 2007/03/21 03:28:16 kevlo Exp $
+ * $FreeBSD: src/sys/arm/include/cpufunc.h,v 1.12 2007/07/27 14:39:41 cognet Exp $
  */
 
 #ifndef _MACHINE_CPUFUNC_H_
@@ -140,6 +140,10 @@
 
 	void	(*cf_idcache_wbinv_all)	(void);
 	void	(*cf_idcache_wbinv_range) (vm_offset_t, vm_size_t);
+	void	(*cf_l2cache_wbinv_all) (void);
+	void	(*cf_l2cache_wbinv_range) (vm_offset_t, vm_size_t);
+	void	(*cf_l2cache_inv_range)	  (vm_offset_t, vm_size_t);
+	void	(*cf_l2cache_wb_range)	  (vm_offset_t, vm_size_t);
 
 	/* Other functions */
 
@@ -189,6 +193,10 @@
 
 #define	cpu_idcache_wbinv_all()	cpufuncs.cf_idcache_wbinv_all()
 #define	cpu_idcache_wbinv_range(a, s) cpufuncs.cf_idcache_wbinv_range((a), (s))
+#define cpu_l2cache_wbinv_all()	cpufuncs.cf_l2cache_wbinv_all()
+#define cpu_l2cache_wb_range(a, s) cpufuncs.cf_l2cache_wb_range((a), (s))
+#define cpu_l2cache_inv_range(a, s) cpufuncs.cf_l2cache_inv_range((a), (s))
+#define cpu_l2cache_wbinv_range(a, s) cpufuncs.cf_l2cache_wbinv_range((a), (s))
 
 #define	cpu_flush_prefetchbuf()	cpufuncs.cf_flush_prefetchbuf()
 #define	cpu_drain_writebuf()	cpufuncs.cf_drain_writebuf()
@@ -487,19 +495,22 @@
 
 #ifdef	CPU_XSCALE_81342
 
+void	xscalec3_l2cache_purge	(void);
+void	xscalec3_cache_purgeID	(void);
+void	xscalec3_cache_purgeD	(void);
 void	xscalec3_cache_cleanID	(void);
 void	xscalec3_cache_cleanD	(void);
+void	xscalec3_cache_syncI	(void);
 
-void	xscalec3_cache_purgeID	(void);
-void	xscalec3_cache_purgeID_E	(u_int entry);
-void	xscalec3_cache_purgeD	(void);
-void	xscalec3_cache_purgeD_E	(u_int entry);
+void	xscalec3_cache_purgeID_rng 	(vm_offset_t start, vm_size_t end);
+void	xscalec3_cache_purgeD_rng	(vm_offset_t start, vm_size_t end);
+void	xscalec3_cache_cleanID_rng	(vm_offset_t start, vm_size_t end);
+void	xscalec3_cache_cleanD_rng	(vm_offset_t start, vm_size_t end);
+void	xscalec3_cache_syncI_rng	(vm_offset_t start, vm_size_t end);
 
-void	xscalec3_cache_syncI	(void);
-void	xscalec3_cache_cleanID_rng (vm_offset_t start, vm_size_t end);
-void	xscalec3_cache_cleanD_rng	(vm_offset_t start, vm_size_t end);
-void	xscalec3_cache_purgeID_rng (vm_offset_t start, vm_size_t end);
-void	xscalec3_cache_purgeD_rng	(vm_offset_t start, vm_size_t end);
+void	xscalec3_l2cache_flush_rng	(vm_offset_t, vm_size_t);
+void	xscalec3_l2cache_clean_rng	(vm_offset_t start, vm_size_t end);
+void	xscalec3_l2cache_purge_rng	(vm_offset_t start, vm_size_t end);
 
 
 void	xscalec3_setttb		(u_int ttb);

==== //depot/projects/arm/src/sys/arm/include/pmap.h#16 (text+ko) ====

@@ -44,7 +44,7 @@
  *      from: @(#)pmap.h        7.4 (Berkeley) 5/12/91
  * 	from: FreeBSD: src/sys/i386/include/pmap.h,v 1.70 2000/11/30
  *
- * $FreeBSD: src/sys/arm/include/pmap.h,v 1.26 2007/06/11 21:29:26 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/pmap.h,v 1.27 2007/07/27 14:45:04 cognet Exp $
  */
 
 #ifndef _MACHINE_PMAP_H_
@@ -264,14 +264,16 @@
 #define	L1_S_PROT_MASK		(L1_S_PROT_U|L1_S_PROT_W)
 
 #define	L1_S_CACHE_MASK_generic	(L1_S_B|L1_S_C)
-#define	L1_S_CACHE_MASK_xscale	(L1_S_B|L1_S_C|L1_S_XSCALE_TEX(TEX_XSCALE_X))
+#define	L1_S_CACHE_MASK_xscale	(L1_S_B|L1_S_C|L1_S_XSCALE_TEX(TEX_XSCALE_X)|\
+    				L1_S_XSCALE_TEX(TEX_XSCALE_T))
 
 #define	L2_L_PROT_U		(L2_AP(AP_U))
 #define	L2_L_PROT_W		(L2_AP(AP_W))
 #define	L2_L_PROT_MASK		(L2_L_PROT_U|L2_L_PROT_W)
 
 #define	L2_L_CACHE_MASK_generic	(L2_B|L2_C)
-#define	L2_L_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_L_TEX(TEX_XSCALE_X))
+#define	L2_L_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_L_TEX(TEX_XSCALE_X) | \
+    				L2_XSCALE_L_TEX(TEX_XSCALE_T))
 
 #define	L2_S_PROT_U_generic	(L2_AP(AP_U))
 #define	L2_S_PROT_W_generic	(L2_AP(AP_W))
@@ -282,7 +284,8 @@
 #define	L2_S_PROT_MASK_xscale	(L2_S_PROT_U|L2_S_PROT_W)
 
 #define	L2_S_CACHE_MASK_generic	(L2_B|L2_C)
-#define	L2_S_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_T_TEX(TEX_XSCALE_X))
+#define	L2_S_CACHE_MASK_xscale	(L2_B|L2_C|L2_XSCALE_T_TEX(TEX_XSCALE_X)| \
+    				 L2_XSCALE_T_TEX(TEX_XSCALE_X))
 
 #define	L1_S_PROTO_generic	(L1_TYPE_S | L1_S_IMP)
 #define	L1_S_PROTO_xscale	(L1_TYPE_S)
@@ -348,6 +351,9 @@
 #if (ARM_MMU_SA1 == 1) && (ARM_NMMUS == 1)
 #define	PMAP_NEEDS_PTE_SYNC	1
 #define	PMAP_INCLUDE_PTE_SYNC
+#elif defined(CPU_XSCALE_81342)
+#define PMAP_NEEDS_PTE_SYNC	1
+#define PMAP_INCLUDE_PTE_SYNC
 #elif (ARM_MMU_SA1 == 0)
 #define	PMAP_NEEDS_PTE_SYNC	0
 #endif
@@ -387,8 +393,10 @@
 
 #define	PTE_SYNC(pte)							\
 do {									\
-	if (PMAP_NEEDS_PTE_SYNC)					\
+	if (PMAP_NEEDS_PTE_SYNC) {					\
 		cpu_dcache_wb_range((vm_offset_t)(pte), sizeof(pt_entry_t));\
+		cpu_l2cache_wb_range((vm_offset_t)(pte), sizeof(pt_entry_t));\
+	}\
 } while (/*CONSTCOND*/0)
 
 #define	PTE_SYNC_RANGE(pte, cnt)					\
@@ -396,6 +404,8 @@
 	if (PMAP_NEEDS_PTE_SYNC) {					\
 		cpu_dcache_wb_range((vm_offset_t)(pte),			\
 		    (cnt) << 2); /* * sizeof(pt_entry_t) */		\
+		cpu_l2cache_wb_range((vm_offset_t)(pte), 		\
+		    (cnt) << 2); /* * sizeof(pt_entry_t) */		\
 	}								\
 } while (/*CONSTCOND*/0)
 
@@ -453,6 +463,10 @@
 
 void	pmap_use_minicache(vm_offset_t, vm_size_t);
 #endif /* ARM_MMU_XSCALE == 1 */
+#if defined(CPU_XSCALE_81342)
+#define ARM_HAVE_SUPERSECTIONS
+#endif
+
 #define PTE_KERNEL	0
 #define PTE_USER	1
 #define	l1pte_valid(pde)	((pde) != 0)
@@ -521,7 +535,9 @@
 #define SECTION_CACHE	0x1
 #define SECTION_PT	0x2
 void	pmap_kenter_section(vm_offset_t, vm_paddr_t, int flags);
+#ifdef ARM_HAVE_SUPERSECTIONS
 void	pmap_kenter_supersection(vm_offset_t, uint64_t, int flags);
+#endif
 
 extern char *_tmppt;
 

==== //depot/projects/arm/src/sys/arm/include/pte.h#3 (text+ko) ====

@@ -31,7 +31,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/arm/include/pte.h,v 1.4 2007/06/11 21:29:26 cognet Exp $
+ * $FreeBSD: src/sys/arm/include/pte.h,v 1.5 2007/07/27 14:45:33 cognet Exp $

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 18:09:31 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id CAB8416A41B; Fri, 27 Jul 2007 18:09:31 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 8CAAB16A419
	for ; Fri, 27 Jul 2007 18:09:31 +0000 (UTC)
	(envelope-from imp@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 599DD13C458
	for ; Fri, 27 Jul 2007 18:09:31 +0000 (UTC)
	(envelope-from imp@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RI9V74044637
	for ; Fri, 27 Jul 2007 18:09:31 GMT
	(envelope-from imp@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RI9VkE044634
	for perforce@freebsd.org; Fri, 27 Jul 2007 18:09:31 GMT
	(envelope-from imp@freebsd.org)
Date: Fri, 27 Jul 2007 18:09:31 GMT
Message-Id: <200707271809.l6RI9VkE044634@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	imp@freebsd.org using -f
From: Warner Losh 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124198 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 18:09:32 -0000

http://perforce.freebsd.org/chv.cgi?CH=124198

Change 124198 by imp@imp_paco-paco on 2007/07/27 18:09:04

	freebsd-diked.h has gone to the happy hunting grounds, to much joy
	and celebration here.

Affected files ...

.. //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/Makefile#6 edit

Differences ...

==== //depot/projects/arm/src/gnu/usr.bin/cc/cc_tools/Makefile#6 (text+ko) ====

@@ -179,10 +179,6 @@
 OPT_FILES+=	${.CURDIR}/freebsd.opt
 .endif
 
-.if ${TARGET_ARCH} == "arm"
-GENSRCS+=	freebsd-diked.h
-.endif
-
 #-----------------------------------------------------------------------
 # Build rules for header files and generator tools
 

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 18:55:28 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 809AD16A41F; Fri, 27 Jul 2007 18:55:28 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 34C3D16A417
	for ; Fri, 27 Jul 2007 18:55:28 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 1912213C442
	for ; Fri, 27 Jul 2007 18:55:28 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RItRQ3047405
	for ; Fri, 27 Jul 2007 18:55:27 GMT
	(envelope-from zec@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RItRMk047402
	for perforce@freebsd.org; Fri, 27 Jul 2007 18:55:27 GMT
	(envelope-from zec@FreeBSD.org)
Date: Fri, 27 Jul 2007 18:55:27 GMT
Message-Id: <200707271855.l6RItRMk047402@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	zec@FreeBSD.org using -f
From: Marko Zec 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124199 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 18:55:28 -0000

http://perforce.freebsd.org/chv.cgi?CH=124199

Change 124199 by zec@zec_tpx32 on 2007/07/27 18:54:40

	Provide a dom_destroy() hook to protocol domains, which
	should be used as a reverse function to dom_init(), i.e.
	clean up state / memory that dom_init() allocates, if at all.

Affected files ...

.. //depot/projects/vimage/src/sys/kern/uipc_domain.c#6 edit
.. //depot/projects/vimage/src/sys/sys/domain.h#3 edit

Differences ...

==== //depot/projects/vimage/src/sys/kern/uipc_domain.c#6 (text+ko) ====

@@ -177,10 +177,8 @@
 	struct domain *dp = arg;
 	struct protosw *pr;
 
-#ifdef NOTYET
-	if (dp->dom_detach)
-		(*dp->dom_detach)();
-#endif
+	if (dp->dom_destroy)
+		(*dp->dom_destroy)();
 	for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++)
 		if (pr->pr_destroy)
 			(*pr->pr_destroy)();

==== //depot/projects/vimage/src/sys/sys/domain.h#3 (text+ko) ====

@@ -48,6 +48,8 @@
 	char	*dom_name;
 	void	(*dom_init)		/* initialize domain data structures */
 		(void);
+	void	(*dom_destroy)		/* cleanup structures / state */
+		(void);
 	int	(*dom_externalize)	/* externalize access rights */
 		(struct mbuf *, struct mbuf **);
 	void	(*dom_dispose)		/* dispose of internalized rights */

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 19:06:43 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 1EF7F16A41B; Fri, 27 Jul 2007 19:06:43 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BB6D016A419
	for ; Fri, 27 Jul 2007 19:06:42 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 9F81C13C457
	for ; Fri, 27 Jul 2007 19:06:42 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RJ6ghG049225
	for ; Fri, 27 Jul 2007 19:06:42 GMT
	(envelope-from zec@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RJ6gBh049222
	for perforce@freebsd.org; Fri, 27 Jul 2007 19:06:42 GMT
	(envelope-from zec@FreeBSD.org)
Date: Fri, 27 Jul 2007 19:06:42 GMT
Message-Id: <200707271906.l6RJ6gBh049222@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	zec@FreeBSD.org using -f
From: Marko Zec 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124200 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 19:06:43 -0000

http://perforce.freebsd.org/chv.cgi?CH=124200

Change 124200 by zec@zec_tpx32 on 2007/07/27 19:06:17

	Arrange that the (yet to be implemented) cleanups of IPSEC
	state will be invoked through the new dom_destroy() mechanism,
	instead of registering the cleanup function as a vnet module.
	
	While here, do some whitespace / indentation cleanups.

Affected files ...

.. //depot/projects/vimage/src/sys/netipsec/ipsec.c#11 edit
.. //depot/projects/vimage/src/sys/netipsec/key.c#12 edit
.. //depot/projects/vimage/src/sys/netipsec/key.h#2 edit
.. //depot/projects/vimage/src/sys/netipsec/keysock.c#7 edit
.. //depot/projects/vimage/src/sys/sys/vimage.h#26 edit

Differences ...

==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#11 (text+ko) ====

@@ -108,7 +108,7 @@
 #endif
 #endif
 
-static int  vnet_ipsec_iattach(void *);
+static int vnet_ipsec_iattach(void *);
 #ifdef VIMAGE
 static int vnet_ipsec_idetach(void *);
 #endif
@@ -2004,16 +2004,16 @@
 #ifdef VIMAGE
 	struct vnet_ipsec *vnet_ipsec;
 
-    if (IS_VNET_0(curvnet)) {
-        vnet_ipsec = &vnet_ipsec_0;
-    } else {
-        vnet_ipsec = malloc(sizeof(struct vnet_ipsec),
-                   M_IPSEC, M_NOWAIT | M_ZERO);
-        if (vnet_ipsec == NULL)
-            panic("couldn't allocate memory for vnet_ipsec");
-    }
-    curvnet->mod_data[vnet_ipsec_modinfo.id] = vnet_ipsec;
-    vnet_ipsec->parent_vnet = curvnet;
+	if (IS_VNET_0(curvnet)) {
+		vnet_ipsec = &vnet_ipsec_0;
+	} else {
+		vnet_ipsec = malloc(sizeof(struct vnet_ipsec),
+				    M_IPSEC, M_NOWAIT | M_ZERO);
+	if (vnet_ipsec == NULL)
+		panic("couldn't allocate memory for vnet_ipsec");
+	}
+	curvnet->mod_data[vnet_ipsec_modinfo.id] = vnet_ipsec;
+	vnet_ipsec->parent_vnet = curvnet;
 #endif
 
 	#ifdef IPSEC_DEBUG

==== //depot/projects/vimage/src/sys/netipsec/key.c#12 (text+ko) ====

@@ -131,18 +131,6 @@
 static u_int32_t acq_seq = 0;
 #endif
 
-static int  key_iattach(void *);
-static int  key_idetach(void *);
-
-#ifdef VIMAGE
-static struct vnet_modinfo vnet_key_modinfo = {
-	.id			= VNET_MOD_KEY,
-	.name		= "key",
-	.i_attach	= key_iattach,
-	.i_detach	= key_idetach
-};
-#endif
-
 #ifndef VIMAGE
 static LIST_HEAD(_sptree, secpolicy) sptree[IPSEC_DIR_MAX];	/* SPD */
 #endif
@@ -7180,18 +7168,6 @@
 void
 key_init(void)
 {
-#ifdef VIMAGE
-    if (IS_VNET_0(curvnet))
-		vnet_mod_register(&vnet_key_modinfo);
-#else
-	key_iattach(NULL);
-#endif
-
-	return;
-}
-
-static int key_iattach(unused) void *unused;
-{
 	INIT_VNET_IPSEC(curvnet);
 	int i;
 
@@ -7244,10 +7220,12 @@
 	V_ip4_def_policy.policy = IPSEC_POLICY_NONE;
 	V_ip4_def_policy.refcnt++;	/*never reclaim this*/
 
-#ifndef IPSEC_DEBUG2
 #ifdef VIMAGE
-	if (IS_VNET_0(curvnet))
+	if (!IS_VNET_0(curvnet))
+		return;
 #endif
+
+#ifndef IPSEC_DEBUG2
 	timeout((void *)key_timehandler, (void *)0, hz);
 #endif /*IPSEC_DEBUG2*/
 
@@ -7255,18 +7233,14 @@
 	keystat.getspi_count = 1;
 
 	printf("Fast IPsec: Initialized Security Association Processing.\n");
-
-	return 0;
 }
 
 #ifdef VIMAGE
-static int key_idetach(unused) void *unused;
+void key_destroy(void)
 {
-	INIT_VNET_IPSEC(curvnet);
 	/*
 	 * Flush: spdtree, sahtree, regtree, acqtree, sacqtree
-	*/
-	return 0;
+	 */
 }
 #endif
 

==== //depot/projects/vimage/src/sys/netipsec/key.h#2 (text+ko) ====

@@ -96,6 +96,9 @@
 extern void key_freereg __P((struct socket *));
 extern int key_parse __P((struct mbuf *, struct socket *));
 extern void key_init __P((void));
+#ifdef VIMAGE
+extern void key_destroy(void);
+#endif
 extern void key_sa_recordxfer __P((struct secasvar *, struct mbuf *));
 extern void key_sa_routechange __P((struct sockaddr *));
 extern void key_sa_stir_iv __P((struct secasvar *));

==== //depot/projects/vimage/src/sys/netipsec/keysock.c#7 (text+ko) ====

@@ -589,6 +589,9 @@
 	.dom_family =		PF_KEY,
 	.dom_name =		"key",
 	.dom_init =		key_init0,
+#ifdef VIMAGE
+	.dom_destroy =		key_destroy,
+#endif
 	.dom_protosw =		keysw,
 	.dom_protoswNPROTOSW =	&keysw[sizeof(keysw)/sizeof(keysw[0])]
 };

==== //depot/projects/vimage/src/sys/sys/vimage.h#26 (text+ko) ====

@@ -81,7 +81,6 @@
 #define VNET_MOD_AH		15
 #define VNET_MOD_GIF		16
 #define VNET_MOD_IPCOMP	 	17	
-#define VNET_MOD_KEY		18
 #define VNET_MOD_ARP		28
 #define VNET_MOD_RTABLE		29
 #define VNET_MOD_LOIF		30

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 20:27:42 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 59DAB16A41B; Fri, 27 Jul 2007 20:27:42 +0000 (UTC)
Delivered-To: perforce@FreeBSD.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 17EFE16A419
	for ; Fri, 27 Jul 2007 20:27:42 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id EDD3913C457
	for ; Fri, 27 Jul 2007 20:27:41 +0000 (UTC)
	(envelope-from zec@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RKRfOp061588
	for ; Fri, 27 Jul 2007 20:27:41 GMT
	(envelope-from zec@FreeBSD.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RKRce8061585
	for perforce@freebsd.org; Fri, 27 Jul 2007 20:27:38 GMT
	(envelope-from zec@FreeBSD.org)
Date: Fri, 27 Jul 2007 20:27:38 GMT
Message-Id: <200707272027.l6RKRce8061585@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	zec@FreeBSD.org using -f
From: Marko Zec 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124208 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 20:27:42 -0000

http://perforce.freebsd.org/chv.cgi?CH=124208

Change 124208 by zec@zec_tca51 on 2007/07/27 20:27:25

	IFC @ 124205

Affected files ...

.. //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#5 integrate
.. //depot/projects/vimage/src/sys/amd64/amd64/trap.c#5 integrate
.. //depot/projects/vimage/src/sys/amd64/isa/clock.c#5 integrate
.. //depot/projects/vimage/src/sys/arm/arm/busdma_machdep.c#6 integrate
.. //depot/projects/vimage/src/sys/arm/arm/cpufunc.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch
.. //depot/projects/vimage/src/sys/arm/arm/elf_trampoline.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/arm/identcpu.c#2 integrate
.. //depot/projects/vimage/src/sys/arm/arm/intr.c#4 integrate
.. //depot/projects/vimage/src/sys/arm/arm/pmap.c#6 integrate
.. //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#4 integrate
.. //depot/projects/vimage/src/sys/arm/conf/CRB#1 branch
.. //depot/projects/vimage/src/sys/arm/include/armreg.h#2 integrate
.. //depot/projects/vimage/src/sys/arm/include/cpufunc.h#3 integrate
.. //depot/projects/vimage/src/sys/arm/include/pmap.h#5 integrate
.. //depot/projects/vimage/src/sys/arm/include/pte.h#3 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321_pci.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321_timer.c#3 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321_wdog.c#4 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321var.h#2 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i80321/obio.c#2 integrate
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/crb_machdep.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/files.crb#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/files.i81342#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342_pci.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342_space.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342reg.h#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/i81342var.h#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/obio.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/obio_space.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/obiovar.h#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/std.crb#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/std.i81342#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch
.. //depot/projects/vimage/src/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch
.. //depot/projects/vimage/src/sys/bsm/audit.h#4 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_internal.h#4 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_kevents.h#4 integrate
.. //depot/projects/vimage/src/sys/bsm/audit_record.h#4 integrate
.. //depot/projects/vimage/src/sys/cam/scsi/scsi_cd.c#5 integrate
.. //depot/projects/vimage/src/sys/compat/ndis/subr_ntoskrnl.c#4 integrate
.. //depot/projects/vimage/src/sys/conf/Makefile.arm#3 integrate
.. //depot/projects/vimage/src/sys/conf/NOTES#13 integrate
.. //depot/projects/vimage/src/sys/conf/files#15 integrate
.. //depot/projects/vimage/src/sys/conf/options#15 integrate
.. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/acpica/acpi_hpet.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/ath/ath_rate/amrr/amrr.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ce/if_ce.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cp/if_cp.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/ctau/if_ct.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cx/if_cx.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_common.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_ctl_defs.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_mc5.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_t3_hw.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_vsc7323.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/common/cxgb_xgmac.c#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_adapter.h#5 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_ioctl.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_main.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_offload.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_offload.h#2 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_osdep.h#4 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/cxgb_sge.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/sys/mvec.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/cxgb/t3b_protocol_sram-1.1.0.bin.gz.uu#1 branch
.. //depot/projects/vimage/src/sys/dev/cxgb/t3b_tp_eeprom-1.1.0.bin.gz.uu#1 branch
.. //depot/projects/vimage/src/sys/dev/cxgb/t3fw-4.1.0.bin.gz.uu#2 delete
.. //depot/projects/vimage/src/sys/dev/cxgb/t3fw-4.5.0.bin.gz.uu#1 branch
.. //depot/projects/vimage/src/sys/dev/em/if_em.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/firewire/firewire.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/firewire/firewirereg.h#6 integrate
.. //depot/projects/vimage/src/sys/dev/if_ndis/if_ndis.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/ipmi/ipmi_isa.c#2 integrate
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/isc_cam.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/isc_sm.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/isc_soc.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/isc_subr.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/iscsi.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/iscsi.h#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch
.. //depot/projects/vimage/src/sys/dev/iscsi/initiator/iscsivar.h#1 branch
.. //depot/projects/vimage/src/sys/dev/msk/if_msk.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/mxge/eth_z8e.dat.gz.uu#6 delete
.. //depot/projects/vimage/src/sys/dev/mxge/eth_z8e.h#1 branch
.. //depot/projects/vimage/src/sys/dev/mxge/ethp_z8e.dat.gz.uu#6 delete
.. //depot/projects/vimage/src/sys/dev/mxge/ethp_z8e.h#1 branch
.. //depot/projects/vimage/src/sys/dev/mxge/if_mxge.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/mxge/mxge_eth_z8e.c#1 branch
.. //depot/projects/vimage/src/sys/dev/mxge/mxge_ethp_z8e.c#1 branch
.. //depot/projects/vimage/src/sys/dev/nfe/if_nfe.c#4 integrate
.. //depot/projects/vimage/src/sys/dev/nfe/if_nfevar.h#3 integrate
.. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/re/if_re.c#9 integrate
.. //depot/projects/vimage/src/sys/dev/sym/sym_hipd.c#7 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_udav.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#8 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ufoma.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ukbd.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/ums.c#6 integrate
.. //depot/projects/vimage/src/sys/dev/usb/usb_quirks.c#5 integrate
.. //depot/projects/vimage/src/sys/dev/usb/usbdevs#10 integrate
.. //depot/projects/vimage/src/sys/fs/coda/coda_vfsops.c#2 integrate
.. //depot/projects/vimage/src/sys/fs/coda/coda_vnops.c#2 integrate
.. //depot/projects/vimage/src/sys/fs/devfs/devfs_vnops.c#7 integrate
.. //depot/projects/vimage/src/sys/fs/fifofs/fifo_vnops.c#5 integrate
.. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_fat.c#5 integrate
.. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vfsops.c#7 integrate
.. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vnops.c#5 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vfsops.c#4 integrate
.. //depot/projects/vimage/src/sys/fs/tmpfs/tmpfs_vnops.c#4 integrate
.. //depot/projects/vimage/src/sys/i386/i386/genassym.c#4 integrate
.. //depot/projects/vimage/src/sys/i386/i386/swtch.s#4 integrate
.. //depot/projects/vimage/src/sys/i386/i386/trap.c#6 integrate
.. //depot/projects/vimage/src/sys/i386/isa/clock.c#5 integrate
.. //depot/projects/vimage/src/sys/i386/linux/linux_machdep.c#8 integrate
.. //depot/projects/vimage/src/sys/ia64/ia64/clock.c#2 integrate
.. //depot/projects/vimage/src/sys/ia64/ia64/syscall.S#2 integrate
.. //depot/projects/vimage/src/sys/kern/kern_kse.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/kern_mutex.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/kern_resource.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/kern_rwlock.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/kern_sig.c#6 integrate
.. //depot/projects/vimage/src/sys/kern/kern_switch.c#6 integrate
.. //depot/projects/vimage/src/sys/kern/kern_thread.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/sched_4bsd.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/sched_ule.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/subr_bus.c#4 integrate
.. //depot/projects/vimage/src/sys/kern/subr_clock.c#2 integrate
.. //depot/projects/vimage/src/sys/kern/tty.c#9 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_domain.c#7 integrate
.. //depot/projects/vimage/src/sys/kern/uipc_usrreq.c#10 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_mount.c#8 integrate
.. //depot/projects/vimage/src/sys/kern/vfs_vnops.c#5 integrate
.. //depot/projects/vimage/src/sys/modules/Makefile#10 integrate
.. //depot/projects/vimage/src/sys/modules/cxgb/Makefile#4 integrate
.. //depot/projects/vimage/src/sys/modules/iscsi/Makefile#1 branch
.. //depot/projects/vimage/src/sys/modules/iscsi/initiator/Makefile#1 branch
.. //depot/projects/vimage/src/sys/modules/mxge/mxge_eth_z8e/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/modules/mxge/mxge_ethp_z8e/Makefile#2 integrate
.. //depot/projects/vimage/src/sys/net/if.c#16 integrate
.. //depot/projects/vimage/src/sys/net/if_bridge.c#5 integrate
.. //depot/projects/vimage/src/sys/net/if_bridgevar.h#4 integrate
.. //depot/projects/vimage/src/sys/net/if_ethersubr.c#13 integrate
.. //depot/projects/vimage/src/sys/net/if_lagg.c#7 integrate
.. //depot/projects/vimage/src/sys/net/netisr.c#4 integrate
.. //depot/projects/vimage/src/sys/net80211/ieee80211_scan_sta.c#4 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_bpf.c#2 integrate
.. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#5 integrate
.. //depot/projects/vimage/src/sys/netinet/icmp_var.h#3 integrate
.. //depot/projects/vimage/src/sys/netinet/ip_icmp.c#8 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp.h#8 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#11 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_asconf.h#7 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.c#2 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#12 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_input.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#12 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_output.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_pcb.h#11 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_peeloff.c#9 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_structs.h#12 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#11 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctp_var.h#10 integrate
.. //depot/projects/vimage/src/sys/netinet/sctputil.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet/sctputil.h#10 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_input.c#19 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#22 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#14 integrate
.. //depot/projects/vimage/src/sys/netinet/tcp_var.h#13 integrate
.. //depot/projects/vimage/src/sys/netinet6/in6.h#6 integrate
.. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#15 integrate
.. //depot/projects/vimage/src/sys/netinet6/udp6_output.c#8 delete
.. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#14 integrate
.. //depot/projects/vimage/src/sys/netinet6/udp6_var.h#3 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#8 integrate
.. //depot/projects/vimage/src/sys/netipsec/ipsec_output.c#9 integrate
.. //depot/projects/vimage/src/sys/netipsec/xform_ipip.c#8 integrate
.. //depot/projects/vimage/src/sys/nfsserver/nfs_srvsubs.c#4 integrate
.. //depot/projects/vimage/src/sys/nfsserver/nfs_syscalls.c#5 integrate
.. //depot/projects/vimage/src/sys/pc98/cbus/clock.c#4 integrate
.. //depot/projects/vimage/src/sys/pci/if_rl.c#6 integrate
.. //depot/projects/vimage/src/sys/pci/if_rlreg.h#6 integrate
.. //depot/projects/vimage/src/sys/security/mac_mls/mac_mls.c#5 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/eeprom.c#3 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/pmap.c#4 integrate
.. //depot/projects/vimage/src/sys/sparc64/sparc64/rtc.c#3 integrate
.. //depot/projects/vimage/src/sys/sys/kernel.h#7 integrate
.. //depot/projects/vimage/src/sys/sys/mutex.h#6 integrate
.. //depot/projects/vimage/src/sys/sys/proc.h#12 integrate
.. //depot/projects/vimage/src/sys/sys/rwlock.h#5 integrate
.. //depot/projects/vimage/src/sys/sys/vmmeter.h#4 integrate
.. //depot/projects/vimage/src/sys/vm/vm_fault.c#7 integrate
.. //depot/projects/vimage/src/sys/vm/vm_meter.c#5 integrate
.. //depot/projects/vimage/src/sys/vm/vm_page.c#8 integrate
.. //depot/projects/vimage/src/sys/vm/vnode_pager.c#4 integrate

Differences ...

==== //depot/projects/vimage/src/sys/amd64/amd64/cpu_switch.S#5 (text+ko) ====

@@ -30,13 +30,14 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.158 2007/06/06 07:35:07 davidxu Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.159 2007/07/17 22:36:56 jeff Exp $
  */
 
 #include 
 #include 
 
 #include "assym.s"
+#include "opt_sched.h"
 
 /*****************************************************************************/
 /* Scheduling                                                                */
@@ -50,6 +51,12 @@
 #define LK
 #endif
 
+#if defined(SCHED_ULE) && defined(SMP)
+#define	SETLK	xchgq
+#else
+#define	SETLK	movq
+#endif
+
 /*
  * cpu_throw()
  *
@@ -148,13 +155,7 @@
 	movq	%cr3,%rax
 	cmpq	%rcx,%rax			/* Same address space? */
 	jne	swinact
-	movq	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
-	/* Wait for the new thread to become unblocked */
-	movq	$blocked_lock, %rdx
-1:
-	movq	TD_LOCK(%rsi),%rcx
-	cmpq	%rcx, %rdx
-	je	1b
+	SETLK	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
 	jmp	sw1
 swinact:
 	movq	%rcx,%cr3			/* new address space */
@@ -163,21 +164,24 @@
 	movq	TD_PROC(%rdi), %rcx		/* oldproc */
 	movq	P_VMSPACE(%rcx), %rcx
 	LK btrl	%eax, VM_PMAP+PM_ACTIVE(%rcx)	/* clear old */
-	movq	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
+	SETLK	%rdx, TD_LOCK(%rdi)		/* Release the old thread */
 swact:
+	/* Set bit in new pmap->pm_active */
+	movq	TD_PROC(%rsi),%rdx		/* newproc */
+	movq	P_VMSPACE(%rdx), %rdx
+	LK btsl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* set new */
+
+sw1:
+#if defined(SCHED_ULE) && defined(SMP)
 	/* Wait for the new thread to become unblocked */
 	movq	$blocked_lock, %rdx
 1:
 	movq	TD_LOCK(%rsi),%rcx
 	cmpq	%rcx, %rdx
+	pause
 	je	1b
-
-	/* Set bit in new pmap->pm_active */
-	movq	TD_PROC(%rsi),%rdx		/* newproc */
-	movq	P_VMSPACE(%rdx), %rdx
-	LK btsl	%eax, VM_PMAP+PM_ACTIVE(%rdx)	/* set new */
-
-sw1:
+	lfence
+#endif
 	/*
 	 * At this point, we've switched address spaces and are ready
 	 * to load up the rest of the next context.

==== //depot/projects/vimage/src/sys/amd64/amd64/trap.c#5 (text+ko) ====

@@ -38,7 +38,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.318 2007/06/10 21:59:12 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.319 2007/07/26 15:32:54 jhb Exp $");
 
 /*
  * AMD64 Trap and System call handling
@@ -159,7 +159,8 @@
 {
 	struct thread *td = curthread;
 	struct proc *p = td->td_proc;
-	int i = 0, ucode = 0, type, code;
+	int i = 0, ucode = 0, code;
+	u_int type;
 	register_t addr = 0;
 	ksiginfo_t ksi;
 
@@ -622,7 +623,8 @@
 	struct trapframe *frame;
 	vm_offset_t eva;
 {
-	int code, type, ss;
+	int code, ss;
+	u_int type;
 	long esp;
 	struct soft_segment_descriptor softseg;
 	char *msg;

==== //depot/projects/vimage/src/sys/amd64/isa/clock.c#5 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.232 2007/06/15 22:58:14 peter Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.233 2007/07/23 09:42:30 dwmalone Exp $");
 
 /*
  * Routines to handle clock hardware.
@@ -686,8 +686,7 @@
 	return;
 
 wrong_time:
-	printf("Invalid time in real time clock.\n");
-	printf("Check and reset the date immediately!\n");
+	printf("Invalid time in clock: check and reset the date!\n");
 }
 
 /*

==== //depot/projects/vimage/src/sys/arm/arm/busdma_machdep.c#6 (text+ko) ====

@@ -29,7 +29,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.33 2007/06/10 12:33:01 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/busdma_machdep.c,v 1.34 2007/07/27 14:46:43 cognet Exp $");
 
 /*
  * ARM bus dma support routines
@@ -763,8 +763,12 @@
 		if (__predict_true(pmap == pmap_kernel())) {
 			(void) pmap_get_pde_pte(pmap, vaddr, &pde, &ptep);
 			if (__predict_false(pmap_pde_section(pde))) {
-				curaddr = (*pde & L1_S_FRAME) |
-				    (vaddr & L1_S_OFFSET);
+				if (*pde & L1_S_SUPERSEC)
+					curaddr = (*pde & L1_SUP_FRAME) |
+					    (vaddr & L1_SUP_OFFSET);
+				else
+					curaddr = (*pde & L1_S_FRAME) |
+					    (vaddr & L1_S_OFFSET);
 				if (*pde & L1_S_CACHE_MASK) {
 					map->flags &=
 					    ~DMAMAP_COHERENT;
@@ -1087,36 +1091,36 @@
 {
 	char _tmp_cl[arm_dcache_align], _tmp_clend[arm_dcache_align];
 
-	if (op & BUS_DMASYNC_PREWRITE)
+	if (op & BUS_DMASYNC_PREWRITE) {
 		cpu_dcache_wb_range((vm_offset_t)buf, len);
+		cpu_l2cache_wb_range((vm_offset_t)buf, len);
+	}
+	if (op & BUS_DMASYNC_PREREAD) {
+		cpu_idcache_wbinv_range((vm_offset_t)buf, len);
+		cpu_l2cache_wbinv_range((vm_offset_t)buf, len);
+	}
 	if (op & BUS_DMASYNC_POSTREAD) {
-		if ((vm_offset_t)buf & arm_dcache_align_mask)
+		if ((vm_offset_t)buf & arm_dcache_align_mask) {
 			memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~
 			    arm_dcache_align_mask),
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
-		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy(_tmp_cl, (void *)((vm_offset_t)buf & ~
-			    arm_dcache_align_mask),
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
-		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy(_tmp_clend, (void *)(((vm_offset_t)buf + len) & ~
-			    arm_dcache_align_mask),
-			    (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~
-			    arm_dcache_align_mask));
+			    (vm_offset_t)buf & arm_dcache_align_mask);
+		}
+		if (((vm_offset_t)buf + len) & arm_dcache_align_mask) {
+			memcpy(_tmp_clend, (void *)((vm_offset_t)buf + len),
+			    arm_dcache_align - (((vm_offset_t)(buf) + len) &
+			   arm_dcache_align_mask));
+		}
 		cpu_dcache_inv_range((vm_offset_t)buf, len);
+		cpu_l2cache_inv_range((vm_offset_t)buf, len);
+
 		if ((vm_offset_t)buf & arm_dcache_align_mask)
 			memcpy((void *)((vm_offset_t)buf &
-			    ~arm_dcache_align_mask),
-			    _tmp_cl, 
-			    (vm_offset_t)buf - ((vm_offset_t)buf &~
-			    arm_dcache_align_mask));
+			    ~arm_dcache_align_mask), _tmp_cl, 
+			    (vm_offset_t)buf & arm_dcache_align_mask);
 		if (((vm_offset_t)buf + len) & arm_dcache_align_mask)
-			memcpy((void *)(((vm_offset_t)buf + len) & ~
-			    arm_dcache_align_mask), _tmp_clend,
-			    (vm_offset_t)buf +len - (((vm_offset_t)buf + len) &~
-			    arm_dcache_align_mask));
+			memcpy((void *)((vm_offset_t)buf + len), _tmp_clend,
+			    arm_dcache_align - (((vm_offset_t)(buf) + len) &
+			   arm_dcache_align_mask));
 	}
 }
 
@@ -1131,14 +1135,20 @@
 			    (void *)(bpage->vaddr_nocache != 0 ? 
 				     bpage->vaddr_nocache : bpage->vaddr),
 			    bpage->datacount);
-			if (bpage->vaddr_nocache == 0)
+			if (bpage->vaddr_nocache == 0) {
 				cpu_dcache_wb_range(bpage->vaddr,
 				    bpage->datacount);
+				cpu_l2cache_wb_range(bpage->vaddr,
+				    bpage->datacount);
+			}
 		}
 		if (op & BUS_DMASYNC_POSTREAD) {
-			if (bpage->vaddr_nocache == 0)
+			if (bpage->vaddr_nocache == 0) {
 				cpu_dcache_inv_range(bpage->vaddr,
 				    bpage->datacount);
+				cpu_l2cache_inv_range(bpage->vaddr,
+				    bpage->datacount);
+			}
 			bcopy((void *)(bpage->vaddr_nocache != 0 ? 
 	       		    bpage->vaddr_nocache : bpage->vaddr),
 			    (void *)bpage->datavaddr, bpage->datacount);
@@ -1175,10 +1185,6 @@
 		_bus_dmamap_sync_bp(dmat, map, op);
 	if (map->flags & DMAMAP_COHERENT)
 		return;
-	if ((op && BUS_DMASYNC_POSTREAD) && (map->len >= 2 * PAGE_SIZE)) {
-		cpu_dcache_wbinv_all();
-		return;
-	}
 	CTR3(KTR_BUSDMA, "%s: op %x flags %x", __func__, op, map->flags);
 	switch(map->flags & DMAMAP_TYPE_MASK) {
 	case DMAMAP_LINEAR:

==== //depot/projects/vimage/src/sys/arm/arm/cpufunc.c#3 (text+ko) ====

@@ -45,7 +45,7 @@
  * Created      : 30/01/97
  */
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.16 2007/02/11 22:24:54 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $");
 
 #include 
 #include 
@@ -147,6 +147,10 @@
 
 	arm7tdmi_cache_flushID,		/* idcache_wbinv_all	*/
 	(void *)arm7tdmi_cache_flushID,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -205,6 +209,10 @@
 
 	arm8_cache_purgeID,		/* idcache_wbinv_all	*/
 	(void *)arm8_cache_purgeID,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -262,6 +270,10 @@
 
 	arm9_idcache_wbinv_all,		/* idcache_wbinv_all	*/
 	arm9_idcache_wbinv_range,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -320,6 +332,10 @@
 
 	arm10_idcache_wbinv_all,	/* idcache_wbinv_all	*/
 	arm10_idcache_wbinv_range,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -378,6 +394,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -435,6 +455,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -492,6 +516,10 @@
 
 	sa1_cache_purgeID,		/* idcache_wbinv_all	*/
 	sa1_cache_purgeID_rng,		/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -552,6 +580,10 @@
 
 	xscale_cache_purgeID,		/* idcache_wbinv_all	*/
 	xscale_cache_purgeID_rng,	/* idcache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_wbinv_all 	*/
+	cpufunc_nullop,			/* l2cache_wbinv_range	*/
+	cpufunc_nullop,			/* l2cache_inv_range	*/
+	cpufunc_nullop,			/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -602,15 +634,19 @@
 	/* Cache operations */
 
 	xscalec3_cache_syncI,		/* icache_sync_all	*/
-	xscale_cache_syncI_rng,		/* icache_sync_range	*/
+	xscalec3_cache_syncI_rng,	/* icache_sync_range	*/
 
 	xscalec3_cache_purgeD,		/* dcache_wbinv_all	*/
 	xscalec3_cache_purgeD_rng,	/* dcache_wbinv_range	*/
 	xscale_cache_flushD_rng,	/* dcache_inv_range	*/
 	xscalec3_cache_cleanD_rng,	/* dcache_wb_range	*/
 
-	xscalec3_cache_purgeID,	/* idcache_wbinv_all	*/
+	xscalec3_cache_purgeID,		/* idcache_wbinv_all	*/
 	xscalec3_cache_purgeID_rng,	/* idcache_wbinv_range	*/
+	xscalec3_l2cache_purge,		/* l2cache_wbinv_all	*/
+	xscalec3_l2cache_purge_rng,	/* l2cache_wbinv_range	*/
+	xscalec3_l2cache_flush_rng,	/* l2cache_inv_range	*/
+	xscalec3_l2cache_clean_rng,	/* l2cache_wb_range	*/
 
 	/* Other functions */
 
@@ -1889,9 +1925,7 @@
 xscale_setup(args)
 	char *args;
 {
-#ifndef CPU_XSCALE_CORE3
 	uint32_t auxctl;
-#endif
 	int cpuctrl, cpuctrlmask;
 
 	/*
@@ -1911,7 +1945,8 @@
 		 | CPU_CONTROL_WBUF_ENABLE | CPU_CONTROL_ROM_ENABLE
 		 | CPU_CONTROL_BEND_ENABLE | CPU_CONTROL_AFLT_ENABLE
 		 | CPU_CONTROL_LABT_ENABLE | CPU_CONTROL_BPRD_ENABLE
-		 | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC;
+		 | CPU_CONTROL_CPCLK | CPU_CONTROL_VECRELOC | \
+		 CPU_CONTROL_L2_ENABLE;
 
 #ifndef ARM32_DISABLE_ALIGNMENT_FAULTS
 	cpuctrl |= CPU_CONTROL_AFLT_ENABLE;
@@ -1925,6 +1960,9 @@
 
 	if (vector_page == ARM_VECTORS_HIGH)
 		cpuctrl |= CPU_CONTROL_VECRELOC;
+#ifdef CPU_XSCALE_CORE3
+	cpuctrl |= CPU_CONTROL_L2_ENABLE;
+#endif
 
 	/* Clear out the cache */
 	cpu_idcache_wbinv_all();
@@ -1937,7 +1975,6 @@
 /*	cpu_control(cpuctrlmask, cpuctrl);*/
 	cpu_control(0xffffffff, cpuctrl);
 
-#ifndef CPU_XSCALE_CORE3
 	/* Make sure write coalescing is turned on */
 	__asm __volatile("mrc p15, 0, %0, c1, c0, 1"
 		: "=r" (auxctl));
@@ -1946,9 +1983,12 @@
 #else
 	auxctl &= ~XSCALE_AUXCTL_K;
 #endif
+#ifdef CPU_XSCALE_CORE3
+	auxctl |= XSCALE_AUXCTL_LLR;
+	auxctl |= XSCALE_AUXCTL_MD_MASK;
+#endif
 	__asm __volatile("mcr p15, 0, %0, c1, c0, 1"
 		: : "r" (auxctl));
-#endif
 }
 #endif	/* CPU_XSCALE_80200 || CPU_XSCALE_80321 || CPU_XSCALE_PXA2X0 || CPU_XSCALE_IXP425 
 	   CPU_XSCALE_80219 */

==== //depot/projects/vimage/src/sys/arm/arm/elf_trampoline.c#3 (text+ko) ====

@@ -23,7 +23,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.17 2007/02/19 00:57:27 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/elf_trampoline.c,v 1.18 2007/07/27 14:42:25 cognet Exp $");
 #include 
 #include 
 #include 
@@ -48,6 +48,7 @@
 extern void *_end;
 
 void __start(void);
+void __startC(void);
 
 #define GZ_HEAD	0xa
 
@@ -66,7 +67,14 @@
   defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) ||	\
   defined(CPU_XSCALE_80219)
 #define cpu_idcache_wbinv_all	xscale_cache_purgeID
+#elif defined(CPU_XSCALE_81342)
+#define cpu_idcache_wbinv_all	xscalec3_cache_purgeID
 #endif
+#ifdef CPU_XSCALE_81342
+#define cpu_l2cache_wbinv_all	xscalec3_l2cache_purge
+#else
+#define cpu_l2cache_wbinv_all()	
+#endif
 
 
 int     arm_picache_size;
@@ -138,7 +146,7 @@
 static void arm9_setup(void);
 
 void
-_start(void)
+_startC(void)
 {
 	int physaddr = KERNPHYSADDR;
 	int tmp1;
@@ -207,6 +215,7 @@
 		arm9_setup();
 #endif
 	cpu_idcache_wbinv_all();
+	cpu_l2cache_wbinv_all();
 #endif
 	__start();
 }
@@ -520,7 +529,7 @@
 extern char func_end[];
 
 
-#define PMAP_DOMAIN_KERNEL	15 /*
+#define PMAP_DOMAIN_KERNEL	0 /*
 				    * Just define it instead of including the
 				    * whole VM headers set.
 				    */
@@ -595,10 +604,11 @@
 		kernel = (char *)&_end;
 		altdst = 4 + load_kernel((unsigned int)kernel, 
 		    (unsigned int)curaddr,
-		    (unsigned int)&func_end , 0);
+		    (unsigned int)&func_end + 800 , 0);
 		if (altdst > dst)
 			dst = altdst;
 		cpu_idcache_wbinv_all();
+		cpu_l2cache_wbinv_all();
 		__asm __volatile("mrc p15, 0, %0, c1, c0, 0\n"
 		    "bic %0, %0, #1\n" /* MMU_ENABLE */
 		    "mcr p15, 0, %0, c1, c0, 0\n"
@@ -616,7 +626,7 @@
 	sp = sp &~3;
 	dst = (void *)(sp + 4);
 	memcpy((void *)dst, (void *)&load_kernel, (unsigned int)&func_end - 
-	    (unsigned int)&load_kernel);
+	    (unsigned int)&load_kernel + 800);
 	do_call(dst, kernel, dst + (unsigned int)(&func_end) - 
-	    (unsigned int)(&load_kernel), sp);
+	    (unsigned int)(&load_kernel) + 800, sp);
 }

==== //depot/projects/vimage/src/sys/arm/arm/identcpu.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.10 2006/11/19 23:45:33 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/identcpu.c,v 1.11 2007/07/27 14:49:11 cognet Exp $");
 #include 
 #include 
 #include 
@@ -374,6 +374,12 @@
 			printf(" IC disabled");
 		else
 			printf(" IC enabled");
+#ifdef CPU_XSCALE_81342
+		if ((ctrl & CPU_CONTROL_L2_ENABLE) == 0)
+			printf(" L2 disabled");
+		else
+			printf(" L2 enabled");
+#endif
 		break;
 	default:
 		break;

==== //depot/projects/vimage/src/sys/arm/arm/intr.c#4 (text+ko) ====

@@ -37,7 +37,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.16 2007/06/04 21:38:45 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/intr.c,v 1.17 2007/07/27 14:26:42 cognet Exp $");
 #include 
 #include 
 #include  
@@ -57,6 +57,27 @@
 
 void	arm_handler_execute(struct trapframe *, int);
 
+#ifdef INTR_FILTER
+static void
+intr_disab_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	arm_mask_irq(nb);
+}
+
+static void
+intr_eoi_src(void *arg)
+{
+	uintptr_t nb;
+
+	nb = (uintptr_t)arg;
+	arm_unmask_irq(nb);
+}
+
+#endif
+
 void
 arm_setup_irqhandler(const char *name, driver_filter_t *filt, 
     void (*hand)(void*), void *arg, int irq, int flags, void **cookiep)
@@ -68,8 +89,14 @@
 		return;
 	event = intr_events[irq];
 	if (event == NULL) {
+#ifdef INTR_FILTER
 		error = intr_event_create(&event, (void *)irq, 0,
+		    (void (*)(void *))arm_unmask_irq, intr_eoi_src,
+		    intr_disab_eoi_src, "intr%d:", irq);
+#else
+		error = intr_event_create(&event, (void *)irq, 0,
 		    (void (*)(void *))arm_unmask_irq, "intr%d:", irq);
+#endif
 		if (error)
 			return;
 		intr_events[irq] = event;
@@ -102,19 +129,33 @@
 arm_handler_execute(struct trapframe *frame, int irqnb)
 {
 	struct intr_event *event;
-	struct intr_handler *ih;
 	struct thread *td = curthread;
+#ifdef INTR_FILTER
+	int i;
+#else
 	int i, thread, ret;
+	struct intr_handler *ih;
+#endif
 
 	PCPU_INC(cnt.v_intr);
 	td->td_intr_nesting_level++;
 	while ((i = arm_get_next_irq()) != -1) {
+#ifndef INTR_FILTER
 		arm_mask_irq(i);
+#endif
 		intrcnt[intrcnt_tab[i]]++;
 		event = intr_events[i];
-		if (!event || TAILQ_EMPTY(&event->ie_handlers))
+		if (!event || TAILQ_EMPTY(&event->ie_handlers)) {
+#ifdef INTR_FILTER
+			arm_mask_irq(i);
+#endif
 			continue;
+		}
 
+#ifdef INTR_FILTER
+		intr_event_handle(event, frame);
+		/* XXX: Log stray IRQs */
+#else
 		/* Execute fast handlers. */
 		ret = 0;
 		thread = 0;
@@ -139,6 +180,7 @@
 			intr_event_schedule_thread(event);
 		else
 			arm_unmask_irq(i);
+#endif
 	}
 	td->td_intr_nesting_level--;
 }

==== //depot/projects/vimage/src/sys/arm/arm/pmap.c#6 (text+ko) ====

@@ -147,7 +147,7 @@
 #include "opt_vm.h"
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.83 2007/06/11 21:29:26 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.84 2007/07/27 14:45:04 cognet Exp $");
 #include 
 #include 
 #include 
@@ -676,8 +676,14 @@
 	pmap_copy_page_func = pmap_copy_page_generic;
 	pmap_zero_page_func = pmap_zero_page_generic;
 	xscale_use_minidata = 0;
-	pte_l1_s_cache_mode_pt = pte_l2_l_cache_mode_pt =
-	    pte_l2_s_cache_mode_pt = 0;
+	/* Make sure it is L2-cachable */
+    	pte_l1_s_cache_mode |= L1_S_XSCALE_TEX(TEX_XSCALE_T);
+	pte_l1_s_cache_mode_pt = pte_l1_s_cache_mode &~ L1_S_XSCALE_P;
+	pte_l2_l_cache_mode |= L2_XSCALE_L_TEX(TEX_XSCALE_T) ;
+	pte_l2_l_cache_mode_pt = pte_l1_s_cache_mode;
+	pte_l2_s_cache_mode |= L2_XSCALE_T_TEX(TEX_XSCALE_T);
+	pte_l2_s_cache_mode_pt = pte_l2_s_cache_mode;
+
 #else
 	pmap_copy_page_func = pmap_copy_page_xscale;
 	pmap_zero_page_func = pmap_zero_page_xscale;
@@ -2818,33 +2824,35 @@
  * Low level mapping routines.....
  ***************************************************/
 
+#ifdef ARM_HAVE_SUPERSECTIONS
 /* Map a super section into the KVA. */
 
 void
 pmap_kenter_supersection(vm_offset_t va, uint64_t pa, int flags)
 {
-	pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_OFFSET) |
-	    (((pa >> 32) & 0x8) << 20) | L1_S_PROT(PTE_KERNEL,
+	pd_entry_t pd = L1_S_PROTO | L1_S_SUPERSEC | (pa & L1_SUP_FRAME) |
+	    (((pa >> 32) & 0xf) << 20) | L1_S_PROT(PTE_KERNEL,
 	    VM_PROT_READ|VM_PROT_WRITE) | L1_S_DOM(PMAP_DOMAIN_KERNEL);
 	struct l1_ttable *l1;	
-	vm_offset_t va_end;
+	vm_offset_t va0, va_end;
 
 	KASSERT(((va | pa) & L1_SUP_OFFSET) == 0,
-	    ("Not a valid section mapping"));
+	    ("Not a valid super section mapping"));
 	if (flags & SECTION_CACHE)
 		pd |= pte_l1_s_cache_mode;
 	else if (flags & SECTION_PT)
 		pd |= pte_l1_s_cache_mode_pt;
-	va = va & L1_SUP_OFFSET;
+	va0 = va & L1_SUP_FRAME;
 	va_end = va + L1_SUP_SIZE;
 	SLIST_FOREACH(l1, &l1_list, l1_link) {
+		va = va0;
 		for (; va < va_end; va += L1_S_SIZE) {
 			l1->l1_kva[L1_IDX(va)] = pd;
 			PTE_SYNC(&l1->l1_kva[L1_IDX(va)]);
 		}
 	}
-
 }
+#endif
 
 /* Map a section into the KVA. */
 
@@ -3681,7 +3689,11 @@
 		 * These should only happen for pmap_kernel()
 		 */
 		KASSERT(pm == pmap_kernel(), ("huh"));
-		pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
+		/* XXX: what to do about the bits > 32 ? */
+		if (l1pd & L1_S_SUPERSEC) 
+			pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET);
+		else
+			pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
 	} else {
 		/*
 		 * Note that we can't rely on the validity of the L1
@@ -3744,7 +3756,11 @@
 		 * These should only happen for pmap_kernel()
 		 */
 		KASSERT(pmap == pmap_kernel(), ("huh"));
-		pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
+		/* XXX: what to do about the bits > 32 ? */
+		if (l1pd & L1_S_SUPERSEC) 
+			pa = (l1pd & L1_SUP_FRAME) | (va & L1_SUP_OFFSET);
+		else
+			pa = (l1pd & L1_S_FRAME) | (va & L1_S_OFFSET);
 		if (l1pd & L1_S_PROT_W || (prot & VM_PROT_WRITE) == 0) {
 			m = PHYS_TO_VM_PAGE(pa);
 			vm_page_hold(m);

==== //depot/projects/vimage/src/sys/arm/arm/vm_machdep.c#4 (text+ko) ====

@@ -41,7 +41,7 @@
  */
 
 #include 
-__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.32 2007/06/04 23:57:29 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/vm_machdep.c,v 1.33 2007/07/27 14:46:15 cognet Exp $");
 
 #include 
 #include 
@@ -118,11 +118,13 @@
 	pcb1 = td1->td_pcb;
 	pcb2 = (struct pcb *)(td2->td_kstack + td2->td_kstack_pages * PAGE_SIZE) - 1;
 #ifdef __XSCALE__
+#ifndef CPU_XSCALE_CORE3
 	pmap_use_minicache(td2->td_kstack, td2->td_kstack_pages * PAGE_SIZE);
 	if (td2->td_altkstack)
 		pmap_use_minicache(td2->td_altkstack, td2->td_altkstack_pages *
 		    PAGE_SIZE);
 #endif
+#endif
 	td2->td_pcb = pcb2;
 	bcopy(td1->td_pcb, pcb2, sizeof(*pcb2));
 	mdp2 = &p2->p_md;
@@ -338,7 +340,9 @@
 	td->td_frame = (struct trapframe *)
 	    ((u_int)td->td_kstack + USPACE_SVC_STACK_TOP - sizeof(struct pcb)) - 1;
 #ifdef __XSCALE__
+#ifndef CPU_XSCALE_CORE3
 	pmap_use_minicache(td->td_kstack, td->td_kstack_pages * PAGE_SIZE);
+#endif
 #endif  
 		
 }
@@ -462,6 +466,14 @@
 
 vm_offset_t alloc_firstaddr;
 
+#ifdef ARM_HAVE_SUPERSECTIONS
+#define S_FRAME	L1_SUP_FRAME
+#define S_SIZE	L1_SUP_SIZE
+#else
+#define S_FRAME	L1_S_FRAME
+#define S_SIZE	L1_S_SIZE
+#endif
+
 vm_offset_t
 arm_ptovirt(vm_paddr_t pa)
 {
@@ -472,11 +484,11 @@
 	for (i = 0; dump_avail[i + 1]; i += 2) {
 		if (pa >= dump_avail[i] && pa < dump_avail[i + 1])

>>> TRUNCATED FOR MAIL (1000 lines) <<<

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 20:57:20 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 7307116A41B; Fri, 27 Jul 2007 20:57:20 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 249B316A418
	for ; Fri, 27 Jul 2007 20:57:20 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id E413B13C45B
	for ; Fri, 27 Jul 2007 20:57:19 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RKvJdl071999
	for ; Fri, 27 Jul 2007 20:57:19 GMT
	(envelope-from peter@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RKvJQp071994
	for perforce@freebsd.org; Fri, 27 Jul 2007 20:57:19 GMT
	(envelope-from peter@freebsd.org)
Date: Fri, 27 Jul 2007 20:57:19 GMT
Message-Id: <200707272057.l6RKvJQp071994@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	peter@freebsd.org using -f
From: Peter Wemm 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124210 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 20:57:20 -0000

http://perforce.freebsd.org/chv.cgi?CH=124210

Change 124210 by peter@peter_overcee on 2007/07/27 20:56:37

	Oops, what is that doing here?

Affected files ...

.. //depot/projects/hammer/usr.bin/netstat/Makefile#15 edit

Differences ...

==== //depot/projects/hammer/usr.bin/netstat/Makefile#15 (text+ko) ====

@@ -9,8 +9,6 @@
 
 WARNS?=	3
 
-MK_INET6_SUPPORT=no
-MK_IPX_SUPPORT=no
 CFLAGS+=-DIPSEC
 CFLAGS+=-DSCTP
 

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 21:24:23 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 4A15C16A41A; Fri, 27 Jul 2007 21:24:21 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 02B8C16A420
	for ; Fri, 27 Jul 2007 21:24:21 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id DA7DA13C45E
	for ; Fri, 27 Jul 2007 21:24:20 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RLOKwC074869
	for ; Fri, 27 Jul 2007 21:24:20 GMT
	(envelope-from peter@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RLOKHS074865
	for perforce@freebsd.org; Fri, 27 Jul 2007 21:24:20 GMT
	(envelope-from peter@freebsd.org)
Date: Fri, 27 Jul 2007 21:24:20 GMT
Message-Id: <200707272124.l6RLOKHS074865@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	peter@freebsd.org using -f
From: Peter Wemm 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124214 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 21:24:23 -0000

http://perforce.freebsd.org/chv.cgi?CH=124214

Change 124214 by peter@peter_overcee on 2007/07/27 21:23:58

	Revert.  kern/subr_smp.c:mp_startup() uses SI_ORDER_SECOND.  Oops.

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#74 edit
.. //depot/projects/hammer/sys/i386/i386/local_apic.c#31 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#74 (text+ko) ====

@@ -1065,7 +1065,7 @@
 	mp_topology();
 #endif
 }
-SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_SECOND, apic_setup_local, NULL)
+SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL)
 
 /*
  * Setup the I/O APICs.

==== //depot/projects/hammer/sys/i386/i386/local_apic.c#31 (text+ko) ====

@@ -1069,7 +1069,7 @@
 	mp_topology();
 #endif
 }
-SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_SECOND, apic_init, NULL)
+SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_FIRST, apic_init, NULL)
 
 /*
  * Setup the I/O APICs.

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 21:25:23 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id 4A37516A468; Fri, 27 Jul 2007 21:25:23 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0F7A016A418
	for ; Fri, 27 Jul 2007 21:25:23 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id E63F713C46C
	for ; Fri, 27 Jul 2007 21:25:22 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RLPMsn075330
	for ; Fri, 27 Jul 2007 21:25:22 GMT
	(envelope-from peter@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RLPMn1075327
	for perforce@freebsd.org; Fri, 27 Jul 2007 21:25:22 GMT
	(envelope-from peter@freebsd.org)
Date: Fri, 27 Jul 2007 21:25:22 GMT
Message-Id: <200707272125.l6RLPMn1075327@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	peter@freebsd.org using -f
From: Peter Wemm 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124215 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 21:25:23 -0000

http://perforce.freebsd.org/chv.cgi?CH=124215

Change 124215 by peter@peter_overcee on 2007/07/27 21:25:19

	Try out jhb's fix instead.

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#75 edit
.. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#127 edit
.. //depot/projects/hammer/sys/i386/i386/local_apic.c#32 edit
.. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#63 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#75 (text+ko) ====

@@ -1060,10 +1060,6 @@
 	if (retval != 0)
 		printf("%s: Failed to setup the local APIC: returned %d\n",
 		    best_enum->apic_name, retval);
-#ifdef SMP
-	/* Last, setup the cpu topology now that we have probed CPUs */
-	mp_topology();
-#endif
 }
 SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL)
 

==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#127 (text+ko) ====

@@ -194,18 +194,8 @@
 
 	/* Build the smp_topology map. */
 	/* Nothing to do if there is no HTT support. */
-	if ((cpu_feature & CPUID_HTT) == 0)
-		return;
-	logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
-	if (logical_cpus <= 1)
+	if (hyperthreading_cpus <= 1)
 		return;
-	/* Nothing to do if reported cores are physical cores. */
-	if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) {
-		cpuid_count(4, 0, regs);
-		if ((regs[0] & 0x1f) != 0 &&
-		    logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1)
-			return;
-	}
 	group = &mp_groups[0];
 	groups = 1;
 	for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) {
@@ -215,7 +205,8 @@
 		 * If the current group has members and we're not a logical
 		 * cpu, create a new group.
 		 */
-		if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) {
+		if (group->cg_count != 0 &&
+		    (apic_id % hyperthreading_cpus) == 0) {
 			group++;
 			groups++;
 		}
@@ -420,6 +411,9 @@
 	}
 
 	set_interrupt_apic_ids();
+
+	/* Last, setup the cpu topology now that we have probed CPUs */
+	mp_topology();
 }
 
 

==== //depot/projects/hammer/sys/i386/i386/local_apic.c#32 (text+ko) ====

@@ -1064,10 +1064,6 @@
 	if (retval != 0)
 		printf("%s: Failed to setup the local APIC: returned %d\n",
 		    best_enum->apic_name, retval);
-#ifdef SMP
-	/* Last, setup the cpu topology now that we have probed CPUs */
-	mp_topology();
-#endif
 }
 SYSINIT(apic_init, SI_SUB_CPU, SI_ORDER_FIRST, apic_init, NULL)
 

==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#63 (text+ko) ====

@@ -249,18 +249,8 @@
 
 	/* Build the smp_topology map. */
 	/* Nothing to do if there is no HTT support. */
-	if ((cpu_feature & CPUID_HTT) == 0)
-		return;
-	logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
-	if (logical_cpus <= 1)
+	if (hyperthreading_cpus <= 1)
 		return;
-	/* Nothing to do if reported cores are physical cores. */
-	if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) {
-		cpuid_count(4, 0, regs);
-		if ((regs[0] & 0x1f) != 0 &&
-		    logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1)
-			return;
-	}
 	group = &mp_groups[0];
 	groups = 1;
 	for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) {
@@ -270,7 +260,8 @@
 		 * If the current group has members and we're not a logical
 		 * cpu, create a new group.
 		 */
-		if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) {
+		if (group->cg_count != 0 &&
+		    (apic_id % hyperthreading_cpus) == 0) {
 			group++;
 			groups++;
 		}
@@ -469,6 +460,9 @@
 	}
 
 	set_interrupt_apic_ids();
+
+	/* Last, setup the cpu topology now that we have probed CPUs */
+	mp_topology();
 }
 
 

From owner-p4-projects@FreeBSD.ORG  Fri Jul 27 21:35:42 2007
Return-Path: 
Delivered-To: p4-projects@freebsd.org
Received: by hub.freebsd.org (Postfix, from userid 32767)
	id C9F3716A420; Fri, 27 Jul 2007 21:35:41 +0000 (UTC)
Delivered-To: perforce@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 93A2016A418
	for ; Fri, 27 Jul 2007 21:35:41 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (repoman.freebsd.org
	[IPv6:2001:4f8:fff6::29])
	by mx1.freebsd.org (Postfix) with ESMTP id 7577413C442
	for ; Fri, 27 Jul 2007 21:35:41 +0000 (UTC)
	(envelope-from peter@freebsd.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RLZfOm077197
	for ; Fri, 27 Jul 2007 21:35:41 GMT
	(envelope-from peter@freebsd.org)
Received: (from perforce@localhost)
	by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RLZajd077193
	for perforce@freebsd.org; Fri, 27 Jul 2007 21:35:36 GMT
	(envelope-from peter@freebsd.org)
Date: Fri, 27 Jul 2007 21:35:36 GMT
Message-Id: <200707272135.l6RLZajd077193@repoman.freebsd.org>
X-Authentication-Warning: repoman.freebsd.org: perforce set sender to
	peter@freebsd.org using -f
From: Peter Wemm 
To: Perforce Change Reviews 
Cc: 
Subject: PERFORCE change 124217 for review
X-BeenThere: p4-projects@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: p4 projects tree changes 
List-Unsubscribe: ,
	
List-Archive: 
List-Post: 
List-Help: 
List-Subscribe: ,
	
X-List-Received-Date: Fri, 27 Jul 2007 21:35:42 -0000

http://perforce.freebsd.org/chv.cgi?CH=124217

Change 124217 by peter@peter_overcee on 2007/07/27 21:35:15

	IFC @@124213

Affected files ...

.. //depot/projects/hammer/contrib/bind9/CHANGES#8 integrate
.. //depot/projects/hammer/contrib/bind9/README#7 integrate
.. //depot/projects/hammer/contrib/bind9/bin/named/client.c#6 integrate
.. //depot/projects/hammer/contrib/bind9/bin/named/server.c#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch01.html#5 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch02.html#5 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch03.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch04.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch05.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch07.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch08.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch09.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.html#6 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.dig.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.host.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.named.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/doc/arm/man.rndc.html#2 integrate
.. //depot/projects/hammer/contrib/bind9/lib/dns/dispatch.c#4 integrate
.. //depot/projects/hammer/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate
.. //depot/projects/hammer/contrib/bind9/version#8 integrate
.. //depot/projects/hammer/contrib/openbsm/HISTORY#5 integrate
.. //depot/projects/hammer/contrib/openbsm/README#5 integrate
.. //depot/projects/hammer/contrib/openbsm/VERSION#5 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/audit/audit.8#3 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/audit/audit.c#3 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/auditd/audit_warn.c#3 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/auditd/auditd.8#4 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/auditd/auditd.c#5 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/auditd/auditd.h#3 integrate
.. //depot/projects/hammer/contrib/openbsm/bin/auditreduce/auditreduce.c#4 integrate
.. //depot/projects/hammer/contrib/openbsm/config/config.h#5 integrate
.. //depot/projects/hammer/contrib/openbsm/configure#5 integrate
.. //depot/projects/hammer/contrib/openbsm/configure.ac#5 integrate
.. //depot/projects/hammer/contrib/openbsm/etc/audit_event#6 integrate
.. //depot/projects/hammer/contrib/openbsm/libbsm/au_control.3#4 integrate
.. //depot/projects/hammer/contrib/openbsm/libbsm/au_event.3#3 integrate
.. //depot/projects/hammer/contrib/openbsm/libbsm/audit_submit.3#3 integrate
.. //depot/projects/hammer/contrib/openbsm/libbsm/bsm_io.c#5 integrate
.. //depot/projects/hammer/contrib/openbsm/libbsm/bsm_token.c#5 integrate
.. //depot/projects/hammer/etc/mtree/BSD.usr.dist#39 integrate
.. //depot/projects/hammer/etc/rc.d/netif#20 integrate
.. //depot/projects/hammer/lib/libc/net/sctp_sys_calls.c#9 integrate
.. //depot/projects/hammer/lib/libc/stdlib/getenv.c#5 integrate
.. //depot/projects/hammer/lib/libc/yp/yplib.c#8 integrate
.. //depot/projects/hammer/lib/libpam/modules/pam_lastlog/pam_lastlog.c#7 integrate
.. //depot/projects/hammer/lib/ncurses/config.mk#3 integrate
.. //depot/projects/hammer/lib/ncurses/ncurses/Makefile#6 integrate
.. //depot/projects/hammer/libexec/getty/ttys.5#5 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/article.sgml#13 integrate
.. //depot/projects/hammer/sbin/Makefile#46 integrate
.. //depot/projects/hammer/sbin/iscontrol/Makefile#1 branch
.. //depot/projects/hammer/sbin/iscontrol/auth_subr.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/config.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/fsm.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/iscontrol.8#1 branch
.. //depot/projects/hammer/sbin/iscontrol/iscontrol.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/iscontrol.h#1 branch
.. //depot/projects/hammer/sbin/iscontrol/iscsi.conf.5#1 branch
.. //depot/projects/hammer/sbin/iscontrol/login.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/misc.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/pdu.c#1 branch
.. //depot/projects/hammer/sbin/iscontrol/pdu.h#1 branch
.. //depot/projects/hammer/share/examples/kld/syscall/module/syscall.c#3 integrate
.. //depot/projects/hammer/share/man/man4/Makefile#93 integrate
.. //depot/projects/hammer/share/man/man4/iscsi_initiator.4#1 branch
.. //depot/projects/hammer/share/man/man4/udav.4#7 integrate
.. //depot/projects/hammer/share/man/man4/usb.4#12 integrate
.. //depot/projects/hammer/share/man/man7/ports.7#19 integrate
.. //depot/projects/hammer/share/man/man8/rc.8#11 integrate
.. //depot/projects/hammer/share/man/man9/sysctl_ctx_init.9#5 integrate
.. //depot/projects/hammer/share/mk/version_gen.awk#3 integrate
.. //depot/projects/hammer/sys/amd64/amd64/trap.c#98 integrate
.. //depot/projects/hammer/sys/amd64/isa/clock.c#63 integrate
.. //depot/projects/hammer/sys/arm/arm/busdma_machdep.c#24 integrate
.. //depot/projects/hammer/sys/arm/arm/cpufunc.c#12 integrate
.. //depot/projects/hammer/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch
.. //depot/projects/hammer/sys/arm/arm/elf_trampoline.c#9 integrate
.. //depot/projects/hammer/sys/arm/arm/identcpu.c#9 integrate
.. //depot/projects/hammer/sys/arm/arm/intr.c#16 integrate
.. //depot/projects/hammer/sys/arm/arm/pmap.c#40 integrate
.. //depot/projects/hammer/sys/arm/arm/vm_machdep.c#26 integrate
.. //depot/projects/hammer/sys/arm/conf/CRB#1 branch
.. //depot/projects/hammer/sys/arm/include/armreg.h#5 integrate
.. //depot/projects/hammer/sys/arm/include/cpufunc.h#11 integrate
.. //depot/projects/hammer/sys/arm/include/pmap.h#22 integrate
.. //depot/projects/hammer/sys/arm/include/pte.h#5 integrate
.. //depot/projects/hammer/sys/arm/xscale/i80321/i80321_pci.c#10 integrate
.. //depot/projects/hammer/sys/arm/xscale/i80321/i80321_timer.c#12 integrate
.. //depot/projects/hammer/sys/arm/xscale/i80321/i80321_wdog.c#4 integrate
.. //depot/projects/hammer/sys/arm/xscale/i80321/i80321var.h#5 integrate
.. //depot/projects/hammer/sys/arm/xscale/i80321/obio.c#5 integrate
.. //depot/projects/hammer/sys/arm/xscale/i8134x/crb_machdep.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/files.crb#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/files.i81342#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342_pci.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342_space.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342reg.h#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/i81342var.h#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/obio.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/obio_space.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/obiovar.h#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/std.crb#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/std.i81342#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch
.. //depot/projects/hammer/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch
.. //depot/projects/hammer/sys/bsm/audit.h#8 integrate
.. //depot/projects/hammer/sys/bsm/audit_internal.h#5 integrate
.. //depot/projects/hammer/sys/bsm/audit_kevents.h#9 integrate
.. //depot/projects/hammer/sys/bsm/audit_record.h#6 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_cd.c#26 integrate
.. //depot/projects/hammer/sys/compat/ndis/subr_ntoskrnl.c#44 integrate
.. //depot/projects/hammer/sys/conf/Makefile.arm#23 integrate
.. //depot/projects/hammer/sys/conf/NOTES#124 integrate
.. //depot/projects/hammer/sys/conf/files#157 integrate
.. //depot/projects/hammer/sys/conf/options#112 integrate
.. //depot/projects/hammer/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#5 integrate
.. //depot/projects/hammer/sys/dev/acpica/acpi_hpet.c#7 integrate
.. //depot/projects/hammer/sys/dev/ath/ath_rate/amrr/amrr.c#12 integrate
.. //depot/projects/hammer/sys/dev/ath/ath_rate/onoe/onoe.c#14 integrate
.. //depot/projects/hammer/sys/dev/ce/if_ce.c#6 integrate
.. //depot/projects/hammer/sys/dev/cp/if_cp.c#25 integrate
.. //depot/projects/hammer/sys/dev/ctau/if_ct.c#27 integrate
.. //depot/projects/hammer/sys/dev/cx/if_cx.c#35 integrate
.. //depot/projects/hammer/sys/dev/em/if_em.c#67 integrate
.. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#53 integrate
.. //depot/projects/hammer/sys/dev/iscsi/initiator/isc_cam.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/isc_sm.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/isc_soc.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/isc_subr.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/iscsi.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/iscsi.h#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/iscsi_subr.c#1 branch
.. //depot/projects/hammer/sys/dev/iscsi/initiator/iscsivar.h#1 branch
.. //depot/projects/hammer/sys/dev/nfe/if_nfe.c#5 integrate
.. //depot/projects/hammer/sys/dev/nfe/if_nfevar.h#4 integrate
.. //depot/projects/hammer/sys/dev/ral/rt2560.c#9 integrate
.. //depot/projects/hammer/sys/dev/ral/rt2661.c#8 integrate
.. //depot/projects/hammer/sys/dev/re/if_re.c#49 integrate
.. //depot/projects/hammer/sys/dev/sym/sym_hipd.c#26 integrate
.. //depot/projects/hammer/sys/dev/usb/if_udav.c#21 integrate
.. //depot/projects/hammer/sys/dev/usb/ufoma.c#5 integrate
.. //depot/projects/hammer/sys/dev/usb/ukbd.c#19 integrate
.. //depot/projects/hammer/sys/dev/usb/ums.c#23 integrate
.. //depot/projects/hammer/sys/dev/usb/usb_quirks.c#20 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#84 integrate
.. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#52 integrate
.. //depot/projects/hammer/sys/fs/fifofs/fifo_vnops.c#39 integrate
.. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_vfsops.c#44 integrate
.. //depot/projects/hammer/sys/fs/tmpfs/tmpfs_vfsops.c#5 integrate
.. //depot/projects/hammer/sys/i386/i386/trap.c#55 integrate
.. //depot/projects/hammer/sys/i386/isa/clock.c#38 integrate
.. //depot/projects/hammer/sys/ia64/ia64/clock.c#12 integrate
.. //depot/projects/hammer/sys/kern/kern_kse.c#36 integrate
.. //depot/projects/hammer/sys/kern/kern_thread.c#96 integrate
.. //depot/projects/hammer/sys/kern/subr_bus.c#54 integrate
.. //depot/projects/hammer/sys/kern/subr_clock.c#8 integrate
.. //depot/projects/hammer/sys/kern/uipc_domain.c#19 integrate
.. //depot/projects/hammer/sys/kern/uipc_usrreq.c#51 integrate
.. //depot/projects/hammer/sys/kern/vfs_mount.c#79 integrate
.. //depot/projects/hammer/sys/kern/vfs_vnops.c#48 integrate
.. //depot/projects/hammer/sys/modules/Makefile#111 integrate
.. //depot/projects/hammer/sys/modules/iscsi/Makefile#1 branch
.. //depot/projects/hammer/sys/modules/iscsi/initiator/Makefile#1 branch
.. //depot/projects/hammer/sys/net/if.c#70 integrate
.. //depot/projects/hammer/sys/net/if_bridge.c#33 integrate
.. //depot/projects/hammer/sys/net/if_bridgevar.h#11 integrate
.. //depot/projects/hammer/sys/net/if_ethersubr.c#65 integrate
.. //depot/projects/hammer/sys/net/if_lagg.c#5 integrate
.. //depot/projects/hammer/sys/net/netisr.c#14 integrate
.. //depot/projects/hammer/sys/netgraph/ng_bpf.c#6 integrate
.. //depot/projects/hammer/sys/netgraph/ng_eiface.c#26 integrate
.. //depot/projects/hammer/sys/netinet/sctp_asconf.c#10 integrate
.. //depot/projects/hammer/sys/netinet/sctp_asconf.h#6 integrate
.. //depot/projects/hammer/sys/netinet/sctp_indata.c#12 integrate
.. //depot/projects/hammer/sys/netinet/sctp_input.c#11 integrate
.. //depot/projects/hammer/sys/netinet/sctp_os_bsd.h#11 integrate
.. //depot/projects/hammer/sys/netinet/sctp_output.c#11 integrate
.. //depot/projects/hammer/sys/netinet/sctp_pcb.c#11 integrate
.. //depot/projects/hammer/sys/netinet/sctp_pcb.h#9 integrate
.. //depot/projects/hammer/sys/netinet/sctp_structs.h#10 integrate
.. //depot/projects/hammer/sys/netinet/sctp_timer.c#10 integrate
.. //depot/projects/hammer/sys/netinet/sctp_usrreq.c#11 integrate
.. //depot/projects/hammer/sys/netinet/sctputil.c#13 integrate
.. //depot/projects/hammer/sys/netinet/sctputil.h#9 integrate
.. //depot/projects/hammer/sys/netinet/tcp_input.c#76 integrate
.. //depot/projects/hammer/sys/netinet/tcp_subr.c#68 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.c#45 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.h#1 branch
.. //depot/projects/hammer/sys/netinet/tcp_var.h#45 integrate
.. //depot/projects/hammer/sys/netinet6/sctp6_usrreq.c#12 integrate
.. //depot/projects/hammer/sys/netinet6/udp6_output.c#19 delete
.. //depot/projects/hammer/sys/netinet6/udp6_usrreq.c#30 integrate
.. //depot/projects/hammer/sys/netinet6/udp6_var.h#5 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_srvsubs.c#26 integrate
.. //depot/projects/hammer/sys/nfsserver/nfs_syscalls.c#22 integrate
.. //depot/projects/hammer/sys/pc98/cbus/clock.c#10 integrate
.. //depot/projects/hammer/sys/pci/if_rl.c#57 integrate
.. //depot/projects/hammer/sys/pci/if_rlreg.h#27 integrate
.. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#39 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/eeprom.c#11 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/rtc.c#7 integrate
.. //depot/projects/hammer/sys/sys/kernel.h#21 integrate
.. //depot/projects/hammer/sys/sys/mutex.h#31 integrate
.. //depot/projects/hammer/sys/sys/proc.h#106 integrate
.. //depot/projects/hammer/sys/sys/vmmeter.h#8 integrate
.. //depot/projects/hammer/sys/vm/vm_meter.c#23 integrate
.. //depot/projects/hammer/sys/vm/vm_page.c#60 integrate
.. //depot/projects/hammer/sys/vm/vnode_pager.c#40 integrate
.. //depot/projects/hammer/tools/regression/environ/envctl.c#2 integrate
.. //depot/projects/hammer/tools/regression/environ/envtest.t#2 integrate
.. //depot/projects/hammer/tools/regression/environ/timings.c#2 integrate
.. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.holiday#12 integrate
.. //depot/projects/hammer/usr.bin/su/su.1#12 integrate
.. //depot/projects/hammer/usr.bin/vmstat/vmstat.c#25 integrate
.. //depot/projects/hammer/usr.sbin/periodic/periodic.8#4 integrate

Differences ...

==== //depot/projects/hammer/contrib/bind9/CHANGES#8 (text+ko) ====

@@ -1,4 +1,34 @@
 
+	--- 9.4.1-P1 released ---
+
+2206.	[security]	"allow-query-cache" and "allow-recursion" now
+			cross inherit from each other.
+
+			If allow-query-cache is not set in named.conf then
+			allow-recursion is used if set, otherwise allow-query
+			is used if set, otherwise the default (localnets;
+			localhost;) is used.
+
+			If allow-recursion is not set in named.conf then
+			allow-query-cache is used if set, otherwise allow-query
+			is used if set, otherwise the default (localnets;
+			localhost;) is used.
+
+			[RT #16987]
+	
+2203.	[security]	Query id generation was cryptographically weak.
+			[RT # 16915]
+
+2202.	[security]	The default acls for allow-query-cache and 
+			allow-recursion were not being applied. [RT #16960]
+
+2193.	[port]		win32: BINDInstall.exe is now linked statically.
+			[RT #16906]
+
+2192.	[port]		win32: use vcredist_x86.exe to install Visual
+			Studio's redistributable dlls if building with
+			Visual Stdio 2005 or later.
+
 	--- 9.4.1 released ---
 
 2172.	[bug]		query_addsoa() was being called with a non zone db.

==== //depot/projects/hammer/contrib/bind9/README#7 (text+ko) ====

@@ -43,6 +43,11 @@
 		Nominum, Inc.
 
 
+BIND 9.4.1-P1
+
+	BIND 9.4.1-P1 is a security release, containing a fixes for a
+	security bugs in BIND 9.4.1.
+
 BIND 9.4.1
 
 	BIND 9.4.1 is a security release, containing a fix for a

==== //depot/projects/hammer/contrib/bind9/bin/named/client.c#6 (text+ko) ====

@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: client.c,v 1.219.18.20 2006/07/22 01:02:36 marka Exp $ */
+/* $Id: client.c,v 1.219.18.20.14.1 2007/06/26 02:58:54 marka Exp $ */
 
 #include 
 
@@ -1440,6 +1440,14 @@
 	}
 
 	/*
+	 * Hash the incoming request here as it is after
+	 * dns_dispatch_importrecv().
+	 */
+	dns_dispatch_hash(&client->now, sizeof(client->now));
+	dns_dispatch_hash(isc_buffer_base(buffer),
+			  isc_buffer_usedlength(buffer));
+
+	/*
 	 * It's a request.  Parse it.
 	 */
 	result = dns_message_parse(client->message, buffer, 0);

==== //depot/projects/hammer/contrib/bind9/bin/named/server.c#6 (text+ko) ====

@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: server.c,v 1.419.18.49 2006/12/07 05:24:19 marka Exp $ */
+/* $Id: server.c,v 1.419.18.49.12.2 2007/07/09 02:23:16 marka Exp $ */
 
 /*! \file */
 
@@ -1435,12 +1435,12 @@
 		view->additionalfromcache = ISC_TRUE;
 	}
 
+	/*
+	 * Set "allow-query-cache" and "allow-recursion" acls if
+	 * configured in named.conf.
+	 */
 	CHECK(configure_view_acl(vconfig, config, "allow-query-cache",
 				 actx, ns_g_mctx, &view->queryacl));
-	if (view->queryacl == NULL)
-		CHECK(configure_view_acl(NULL, ns_g_defaults,
-					 "allow-query-cache", actx,
-					 ns_g_mctx, &view->queryacl));
 
 	if (strcmp(view->name, "_bind") != 0)
 		CHECK(configure_view_acl(vconfig, config, "allow-recursion",
@@ -1460,11 +1460,29 @@
 			      "active%s%s", forview, viewname);
 
 	/*
-	 * Set default "allow-recursion" acl.
+	 * "allow-query-cache" inherits from "allow-recursion" if set,
+	 * otherwise from "allow-query" if set.
+	 * "allow-recursion" inherits from "allow-query-cache" if set,
+	 * otherwise from "allow-query" if set.
+	 */
+	if (view->queryacl == NULL && view->recursionacl != NULL)
+		dns_acl_attach(view->recursionacl, &view->queryacl);
+	if (view->queryacl == NULL)
+		CHECK(configure_view_acl(vconfig, config, "allow-query",
+					 actx, ns_g_mctx, &view->queryacl));
+	if (view->recursionacl == NULL && view->queryacl != NULL)
+		dns_acl_attach(view->queryacl, &view->recursionacl);
+
+	/*
+	 * Set default "allow-recursion" and "allow-query-cache" acls.
 	 */
 	if (view->recursionacl == NULL && view->recursion)
-		CHECK(configure_view_acl(NULL, ns_g_defaults, "allow-recursion",
+		CHECK(configure_view_acl(NULL, ns_g_config, "allow-recursion",
 					 actx, ns_g_mctx, &view->recursionacl));
+	if (view->queryacl == NULL)
+		CHECK(configure_view_acl(NULL, ns_g_config,
+					 "allow-query-cache", actx,
+					 ns_g_mctx, &view->queryacl));
 
 	CHECK(configure_view_acl(vconfig, config, "sortlist",
 				 actx, ns_g_mctx, &view->sortlist));

==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM-book.xml#6 (text+ko) ====

@@ -18,7 +18,7 @@
  - PERFORMANCE OF THIS SOFTWARE.
 -->
 
-
+
 
   BIND 9 Administrator Reference Manual
 
@@ -5827,32 +5827,29 @@
 	      
 		
 		  Specifies which hosts are allowed to get answers
-		  from the cache. The default is the builtin acls
-		  localnets and
-		  localhost.
+		  from the cache.  If allow-query-cache
+		  is not set then allow-recursion
+		  is used if set, otherwise allow-query
+		  is used if set, otherwise the default
+		  (localnets;
+		  localhost;) is used.
 		
-		
-		  The way to set query access to the cache is now
-		  via allow-query-cache.
-		  This differs from earlier versions which used
-		  allow-query.
-		
 	      
 	    
 
             
               allow-recursion
               
-                
+		
 		  Specifies which hosts are allowed to make recursive
-		  queries through this server. If not specified,
-		  the default is to allow recursive queries from
-		  the builtin acls localnets and
-		  localhost.
-		  Note that disallowing recursive queries for a
-		  host does not prevent the host from retrieving
-		  data that is already in the server's cache.
-                
+		  queries through this server. If
+		  allow-recursion is not set
+		  then allow-query-cache is
+		  used if set, otherwise allow-query
+		  is used if set, otherwise the default
+		  (localnets;
+		  localhost;) is used.
+		
               
             
 

==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch01.html#5 (text+ko) ====

@@ -14,7 +14,7 @@
  - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  - PERFORMANCE OF THIS SOFTWARE.
 -->
-
+
 
 
 
@@ -47,15 +47,15 @@
 
Scope of Document
Organization of This Document
-
Conventions Used in This Document
-
The Domain Name System (DNS)
+
Conventions Used in This Document
+
The Domain Name System (DNS)
-
DNS Fundamentals
-
Domains and Domain Names
-
Zones
-
Authoritative Name Servers
-
Caching Name Servers
-
Name Servers in Multiple Roles
+
DNS Fundamentals
+
Domains and Domain Names
+
Zones
+
Authoritative Name Servers
+
Caching Name Servers
+
Name Servers in Multiple Roles
@@ -116,7 +116,7 @@

-Conventions Used in This Document

+Conventions Used in This Document

In this document, we use the following general typographic conventions: @@ -243,7 +243,7 @@

-The Domain Name System (DNS)

+The Domain Name System (DNS)

The purpose of this document is to explain the installation and upkeep of the BIND software @@ -253,7 +253,7 @@

-DNS Fundamentals

+DNS Fundamentals

The Domain Name System (DNS) is a hierarchical, distributed database. It stores information for mapping Internet host names to @@ -273,7 +273,7 @@

-Domains and Domain Names

+Domains and Domain Names

The data stored in the DNS is identified by domain names that are organized as a tree according to organizational or administrative boundaries. Each node of the tree, @@ -319,7 +319,7 @@

-Zones

+Zones

To properly operate a name server, it is important to understand the difference between a zone @@ -372,7 +372,7 @@

-Authoritative Name Servers

+Authoritative Name Servers

Each zone is served by at least one authoritative name server, @@ -389,7 +389,7 @@

-The Primary Master

+The Primary Master

The authoritative server where the master copy of the zone data is maintained is called the @@ -409,7 +409,7 @@

-Slave Servers

+Slave Servers

The other authoritative servers, the slave servers (also known as secondary servers) @@ -425,7 +425,7 @@

-Stealth Servers

+Stealth Servers

Usually all of the zone's authoritative servers are listed in NS records in the parent zone. These NS records constitute @@ -460,7 +460,7 @@

-Caching Name Servers

+Caching Name Servers

The resolver libraries provided by most operating systems are stub resolvers, meaning that they are not @@ -487,7 +487,7 @@

-Forwarding

+Forwarding

Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can @@ -514,7 +514,7 @@

-Name Servers in Multiple Roles

+Name Servers in Multiple Roles

The BIND name server can simultaneously act as ==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch02.html#5 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,16 +45,16 @@

-Hardware requirements

+Hardware requirements

DNS hardware requirements have traditionally been quite modest. @@ -73,7 +73,7 @@

-CPU Requirements

+CPU Requirements

CPU requirements for BIND 9 range from i486-class machines @@ -84,7 +84,7 @@

-Memory Requirements

+Memory Requirements

The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size @@ -107,7 +107,7 @@

-Name Server Intensive Environment Issues

+Name Server Intensive Environment Issues

For name server intensive environments, there are two alternative configurations that may be used. The first is where clients and @@ -124,7 +124,7 @@

-Supported Operating Systems

+Supported Operating Systems

ISC BIND 9 compiles and runs on a large number ==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch03.html#6 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,14 +47,14 @@

Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
@@ -68,7 +68,7 @@ Sample Configurations

-A Caching-only Name Server

+A Caching-only Name Server

The following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All @@ -95,7 +95,7 @@

-An Authoritative-only Name Server

+An Authoritative-only Name Server

This sample configuration is for an authoritative-only server that is the master server for "example.com" @@ -137,7 +137,7 @@

-Load Balancing

+Load Balancing

A primitive form of load balancing can be achieved in the DNS by using multiple A records for @@ -280,10 +280,10 @@

-Name Server Operations

+Name Server Operations

-Tools for Use With the Name Server Daemon

+Tools for Use With the Name Server Daemon

This section describes several indispensable diagnostic, administrative and monitoring tools available to the system @@ -741,7 +741,7 @@

-Signals

+Signals

Certain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can ==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch04.html#6 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -49,28 +49,28 @@

Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
+
Split DNS
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
@@ -204,7 +204,7 @@

-Split DNS

+Split DNS

Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually referred to as a @@ -479,7 +479,7 @@

-Generate Shared Keys for Each Pair of Hosts

+Generate Shared Keys for Each Pair of Hosts

A shared secret is generated to be shared between host1 and host2. An arbitrary key name is chosen: "host1-host2.". The key name must @@ -487,7 +487,7 @@

-Automatic Generation

+Automatic Generation

The following command will generate a 128-bit (16 byte) HMAC-MD5 key as described above. Longer keys are better, but shorter keys @@ -512,7 +512,7 @@

-Manual Generation

+Manual Generation

The shared secret is simply a random sequence of bits, encoded in base-64. Most ASCII strings are valid base-64 strings (assuming @@ -527,7 +527,7 @@

-Copying the Shared Secret to Both Machines

+Copying the Shared Secret to Both Machines

This is beyond the scope of DNS. A secure transport mechanism should be used. This could be secure FTP, ssh, telephone, etc. @@ -535,7 +535,7 @@

-Informing the Servers of the Key's Existence

+Informing the Servers of the Key's Existence

Imagine host1 and host 2 are @@ -564,7 +564,7 @@

-Instructing the Server to Use the Key

+Instructing the Server to Use the Key

Since keys are shared between two hosts only, the server must be told when keys are to be used. The following is added to the named.conf file @@ -596,7 +596,7 @@

-TSIG Key Based Access Control

+TSIG Key Based Access Control

BIND allows IP addresses and ranges to be specified in ACL @@ -624,7 +624,7 @@

-Errors

+Errors

The processing of TSIG signed messages can result in several errors. If a signed message is sent to a non-TSIG aware @@ -650,7 +650,7 @@

-TKEY

+TKEY

TKEY is a mechanism for automatically generating a shared secret between two hosts. There are several "modes" of @@ -686,7 +686,7 @@

-SIG(0)

+SIG(0)

BIND 9 partially supports DNSSEC SIG(0) transaction signatures as specified in RFC 2535 and RFC2931. @@ -747,7 +747,7 @@

-Generating Keys

+Generating Keys

The dnssec-keygen program is used to generate keys. @@ -798,7 +798,7 @@

-Signing the Zone

+Signing the Zone

The dnssec-signzone program is used to @@ -842,7 +842,7 @@

-Configuring Servers

+Configuring Servers

To enable named to respond appropriately to DNS requests from DNSSEC aware clients, @@ -930,7 +930,7 @@

-IPv6 Support in BIND 9

+IPv6 Support in BIND 9

BIND 9 fully supports all currently defined forms of IPv6 @@ -969,7 +969,7 @@

-Address Lookups Using AAAA Records

+Address Lookups Using AAAA Records

The IPv6 AAAA record is a parallel to the IPv4 A record, and, unlike the deprecated A6 record, specifies the entire @@ -988,7 +988,7 @@

-Address to Name Lookups Using Nibble Format

+Address to Name Lookups Using Nibble Format

When looking up an address in nibble format, the address components are simply reversed, just as in IPv4, and ==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch05.html#6 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,13 +45,13 @@

-The Lightweight Resolver Library

+The Lightweight Resolver Library

Traditionally applications have been linked with a stub resolver library that sends recursive DNS queries to a local caching name ==== //depot/projects/hammer/contrib/bind9/doc/arm/Bv9ARM.ch06.html#6 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -48,52 +48,52 @@

Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
>>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 27 22:06:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1F01516A420; Fri, 27 Jul 2007 22:06:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C5DD416A41B for ; Fri, 27 Jul 2007 22:06:22 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AB16213C461 for ; Fri, 27 Jul 2007 22:06:22 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RM6MB3080302 for ; Fri, 27 Jul 2007 22:06:22 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RM6M13080299 for perforce@freebsd.org; Fri, 27 Jul 2007 22:06:22 GMT (envelope-from peter@freebsd.org) Date: Fri, 27 Jul 2007 22:06:22 GMT Message-Id: <200707272206.l6RM6M13080299@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124221 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 22:06:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=124221 Change 124221 by peter@peter_overcee on 2007/07/27 22:05:41 -Wunused Affected files ... .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#128 edit .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#64 edit Differences ... ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#128 (text+ko) ==== @@ -186,8 +186,6 @@ mp_topology(void) { struct cpu_group *group; - u_int regs[4]; - int logical_cpus; int apic_id; int groups; int cpu; ==== //depot/projects/hammer/sys/i386/i386/mp_machdep.c#64 (text+ko) ==== @@ -241,8 +241,6 @@ mp_topology(void) { struct cpu_group *group; - u_int regs[4]; - int logical_cpus; int apic_id; int groups; int cpu; From owner-p4-projects@FreeBSD.ORG Fri Jul 27 22:15:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C3D4F16A421; Fri, 27 Jul 2007 22:15:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8E5A016A41A for ; Fri, 27 Jul 2007 22:15:02 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 7242813C45D for ; Fri, 27 Jul 2007 22:15:02 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RMF2wx080957 for ; Fri, 27 Jul 2007 22:15:02 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RMF1lu080950 for perforce@freebsd.org; Fri, 27 Jul 2007 22:15:01 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 27 Jul 2007 22:15:01 GMT Message-Id: <200707272215.l6RMF1lu080950@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124222 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 22:15:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=124222 Change 124222 by lulf@lulf_carrot on 2007/07/27 22:14:03 - Implement support for growing striped plexes! This is done the exact same way as RAID-5 plexes, so I was able to reuse a great deal of the code. There are some uglyness to the code though that I will clean up. (Like certain if-sentence), but i need to restructure larger portions of the code, and will do it then. Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#23 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#17 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#20 edit .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#13 edit Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum.h#23 (text+ko) ==== @@ -133,6 +133,7 @@ void gv_init_request(struct gv_sd *, off_t, caddr_t, off_t); void gv_parity_request(struct gv_plex *, int, off_t); int gv_grow_request(struct gv_plex *, off_t, off_t, int, caddr_t); +void gv_grow_complete(struct gv_plex *, struct bio *); void gv_parityop(struct gv_softc *, struct gctl_req *); #endif /* !_GEOM_VINUM_H_ */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_init.c#17 (text+ko) ==== @@ -103,7 +103,7 @@ { struct gv_volume *v; struct gv_sd *s; - int error, rebuild; + int error, grow, rebuild; KASSERT(p != NULL, ("gv_start_plex: NULL p")); @@ -114,7 +114,17 @@ v = p->vol_sc; if ((v != NULL) && (v->plexcount > 1)) error = gv_sync(v); - else if (p->org == GV_PLEX_RAID5) { + else if (p->org == GV_PLEX_STRIPED) { + grow = 0; + LIST_FOREACH(s, &p->subdisks, in_plex) { + if (s->flags & GV_SD_GROW) { + grow = 1; + break; + } + } + if (grow) + error = gv_grow_plex(p); + } else if (p->org == GV_PLEX_RAID5) { if (p->state == GV_PLEX_DEGRADED) { rebuild = 0; LIST_FOREACH(s, &p->subdisks, in_plex) { ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_plex.c#20 (text+ko) ==== @@ -47,7 +47,6 @@ struct gv_raid5_packet *); static void gv_parity_complete(struct gv_plex *, struct bio *); static void gv_rebuild_complete(struct gv_plex *, struct bio *); -static void gv_grow_complete(struct gv_plex *, struct bio *); static void gv_init_complete(struct gv_plex *, struct bio *); static struct bio * gv_plexbuffer(struct gv_plex *, struct bio *, caddr_t, off_t, off_t, int *); @@ -95,7 +94,7 @@ cbp = gv_plexbuffer(p, bp, addr, boff, bcount, &err); /* Building the sub-request failed. */ - if (cbp == NULL) { + if (cbp == NULL && err != 0) { printf("VINUM: plex request failed for "); g_print_bio(bp); printf("\n"); @@ -146,7 +145,7 @@ { struct gv_sd *s; struct bio *cbp; - int i, sdno; + int i, sdcount, sdno; off_t len_left, real_len, real_off; off_t stripeend, stripeno, stripestart; @@ -185,9 +184,21 @@ case GV_PLEX_STRIPED: /* The number of the stripe where the request starts. */ stripeno = boff / p->stripesize; - + sdcount = p->sdcount; + if (boff >= p->synced) { + LIST_FOREACH(s, &p->subdisks, in_plex) { + if (s->flags & GV_SD_GROW) + sdcount--; + } + /*XXX: Fix. */ + } else if (boff + bcount <= p->synced); + else { + bioq_disksort(p->rqueue, bp); + *err = 0; + return (NULL); /* XXX: Not failed... */ + } /* The number of the subdisk where the stripe resides. */ - sdno = stripeno % p->sdcount; + sdno = stripeno % sdcount; /* Find the right subdisk. */ i = 0; @@ -202,7 +213,7 @@ return (NULL); /* The offset of the stripe from the start of the subdisk. */ - stripestart = (stripeno / p->sdcount) * + stripestart = (stripeno / sdcount) * p->stripesize; /* The offset at the end of the stripe. */ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/geom/vinum/geom_vinum_volume.c#13 (text+ko) ==== @@ -146,9 +146,10 @@ pbp->bio_completed = pbp->bio_length; if (pbp->bio_cflags & GV_BIO_SYNCREQ) gv_sync_complete(p, pbp); - else { + else if (pbp->bio_pflags & GV_BIO_SYNCREQ) + gv_grow_complete(p, pbp); + else g_io_deliver(pbp, pbp->bio_error); - } } break; case GV_PLEX_RAID5: From owner-p4-projects@FreeBSD.ORG Fri Jul 27 22:19:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D852216A41F; Fri, 27 Jul 2007 22:19:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 895FE16A417 for ; Fri, 27 Jul 2007 22:19:08 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6CEB513C48E for ; Fri, 27 Jul 2007 22:19:08 +0000 (UTC) (envelope-from lulf@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RMJ8fs081082 for ; Fri, 27 Jul 2007 22:19:08 GMT (envelope-from lulf@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RMJ7DC081079 for perforce@freebsd.org; Fri, 27 Jul 2007 22:19:07 GMT (envelope-from lulf@FreeBSD.org) Date: Fri, 27 Jul 2007 22:19:07 GMT Message-Id: <200707272219.l6RMJ7DC081079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to lulf@FreeBSD.org using -f From: Ulf Lilleengen To: Perforce Change Reviews Cc: Subject: PERFORCE change 124223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 22:19:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=124223 Change 124223 by lulf@lulf_carrot on 2007/07/27 22:18:45 IFC Affected files ... .. //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#12 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#13 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#10 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/linux/linux_machdep.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#7 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/subr_clock.c#2 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/tty.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/uipc_usrreq.c#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_mount.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/vfs_vnops.c#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/modules/Makefile#8 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/proc.h#5 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/sys/rwlock.h#4 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vm_fault.c#6 integrate .. //depot/projects/soc2007/lulf/gvinum_fixup/sys/vm/vnode_pager.c#4 integrate Differences ... ==== //depot/projects/soc2007/lulf/gvinum_fixup/sbin/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.5 (Berkeley) 3/31/94 -# $FreeBSD: src/sbin/Makefile,v 1.167 2007/06/25 05:06:53 rafan Exp $ +# $FreeBSD: src/sbin/Makefile,v 1.168 2007/07/24 15:35:00 scottl Exp $ .include @@ -41,6 +41,7 @@ init \ ${_ipf} \ ipfw \ + iscontrol \ kldconfig \ kldload \ kldstat \ ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/NOTES#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1445 2007/07/18 02:51:21 jeff Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1447 2007/07/24 15:35:01 scottl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -1441,6 +1441,7 @@ device ahd device amd device esp +device iscsi_initiator device isp hint.isp.0.disable="1" hint.isp.0.role="3" @@ -1506,6 +1507,10 @@ # controllers that have it configured only if this option is set. options ADW_ALLOW_MEMIO +# Options used in dev/iscsi (Software iSCSI stack) +# +options ISCSI_INITIATOR_DEBUG=9 + # Options used in dev/isp/ (Qlogic SCSI/FC driver). # # ISP_TARGET_MODE - enable target mode operation @@ -1899,6 +1904,7 @@ # PCI Ethernet NICs. device de # DEC/Intel DC21x4x (``Tulip'') device le # AMD Am7900 LANCE and Am79C9xx PCnet +device mxge # Myricom Myri-10G 10GbE NIC device nxge # Neterion Xframe 10GbE Server/Storage Adapter device txp # 3Com 3cR990 (``Typhoon'') device vx # 3Com 3c590, 3c595 (``Vortex'') ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/files#13 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1238 2007/07/14 21:49:23 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1241 2007/07/24 15:35:01 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -721,6 +721,12 @@ dev/ips/ips_ioctl.c optional ips dev/ips/ips_pci.c optional ips pci dev/ipw/if_ipw.c optional ipw +dev/iscsi/initiator/iscsi.c optional iscsi_initiator scbus +dev/iscsi/initiator/iscsi_subr.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_cam.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_soc.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_sm.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_subr.c optional iscsi_initiator scbus dev/isp/isp.c optional isp dev/isp/isp_freebsd.c optional isp dev/isp/isp_library.c optional isp @@ -812,6 +818,10 @@ dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt dev/msk/if_msk.c optional msk +dev/mxge/if_mxge.c optional mxge pci +dev/mxge/mxge_lro.c optional mxge pci +dev/mxge/mxge_eth_z8e.c optional mxge pci +dev/mxge/mxge_ethp_z8e.c optional mxge pci dev/my/if_my.c optional my dev/ncv/ncr53c500.c optional ncv dev/ncv/ncr53c500_pccard.c optional ncv pccard @@ -1630,7 +1640,7 @@ net/slcompress.c optional netgraph_vjc | ppp | sl | sppp | \ netgraph_sppp net/zlib.c optional crypto | geom_uzip | ipsec | \ - ppp_deflate | netgraph_deflate + mxge | ppp_deflate | netgraph_deflate net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan_acl net80211/ieee80211_amrr.c optional wlan_amrr @@ -1908,7 +1918,6 @@ netinet6/route6.c optional inet6 netinet6/scope6.c optional inet6 netinet6/sctp6_usrreq.c optional inet6 sctp -netinet6/udp6_output.c optional inet6 netinet6/udp6_usrreq.c optional inet6 netipsec/ipsec.c optional ipsec netipsec/ipsec_input.c optional ipsec ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/conf/options#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.602 2007/07/14 21:49:23 rwatson Exp $ +# $FreeBSD: src/sys/conf/options,v 1.603 2007/07/24 15:35:01 scottl Exp $ # # On the handling of kernel options # @@ -323,6 +323,9 @@ ISP_FW_CRASH_DUMP opt_isp.h ISP_DEFAULT_ROLES opt_isp.h +# Options used only in dev/iscsi +ISCSI_INITIATOR_DEBUG opt_iscsi_initiator.h + # Options used in the 'ata' ATA/ATAPI driver ATA_STATIC_ID opt_ata.h ATA_NOPCI opt_ata.h ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/i386/trap.c#5 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.306 2007/06/13 22:37:48 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/trap.c,v 1.307 2007/07/26 15:32:55 jhb Exp $"); /* * 386 Trap and System call handling @@ -173,7 +173,8 @@ { struct thread *td = curthread; struct proc *p = td->td_proc; - int i = 0, ucode = 0, type, code; + int i = 0, ucode = 0, code; + u_int type; register_t addr = 0; vm_offset_t eva; ksiginfo_t ksi; @@ -793,7 +794,8 @@ struct trapframe *frame; vm_offset_t eva; { - int code, type, ss, esp; + int code, ss, esp; + u_int type; struct soft_segment_descriptor softseg; char *msg; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/isa/clock.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.237 2007/06/15 22:58:13 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/isa/clock.c,v 1.238 2007/07/23 09:42:31 dwmalone Exp $"); /* * Routines to handle clock hardware. @@ -679,8 +679,7 @@ /* Look if we have a RTC present and the time is valid */ if (!(rtcin(RTC_STATUSD) & RTCSD_PWR)) { - printf("Invalid time in real time clock.\n"); - printf("Check and reset the date immediately!\n"); + printf("Invalid time in clock: check and reset the date!\n"); return; } @@ -704,7 +703,11 @@ #else ct.year += 2000; #endif - clock_ct_to_ts(&ct, &ts); + /* Should we set dow = -1 because some clocks don't set it correctly? */ + if (clock_ct_to_ts(&ct, &ts)) { + printf("Invalid time in clock: check and reset the date!\n"); + return; + } ts.tv_sec += utc_offset(); tc_setclock(&ts); } ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/i386/linux/linux_machdep.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.77 2007/07/04 23:06:43 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/linux/linux_machdep.c,v 1.78 2007/07/20 08:35:18 attilio Exp $"); #include #include @@ -846,9 +846,7 @@ iia.start = args->start; iia.length = args->length; iia.enable = args->enable; - mtx_lock(&Giant); error = i386_set_ioperm(td, &iia); - mtx_unlock(&Giant); return (error); } @@ -884,10 +882,8 @@ ldt.start = 0; ldt.descs = uap->ptr; ldt.num = uap->bytecount / sizeof(union descriptor); - mtx_lock(&Giant); error = i386_get_ldt(td, &ldt); td->td_retval[0] *= sizeof(union descriptor); - mtx_unlock(&Giant); break; case 0x01: /* write_ldt */ case 0x11: /* write_ldt */ @@ -912,9 +908,7 @@ desc.sd.sd_xx = 0; desc.sd.sd_def32 = ld.seg_32bit; desc.sd.sd_gran = ld.limit_in_pages; - mtx_lock(&Giant); error = i386_set_ldt(td, &ldt, &desc); - mtx_unlock(&Giant); break; default: error = EINVAL; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_kse.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.231 2007/06/12 19:49:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kse.c,v 1.233 2007/07/23 23:16:53 attilio Exp $"); #include #include @@ -67,10 +67,6 @@ static void thread_alloc_spare(struct thread *td); static struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); static struct kse_upcall *upcall_alloc(void); -static void upcall_free(struct kse_upcall *ku); -static void upcall_link(struct kse_upcall *ku, struct proc *p); -static void upcall_unlink(struct kse_upcall *ku); -static void upcall_stash(struct kse_upcall *ke); struct mtx kse_lock; @@ -86,37 +82,11 @@ } void -upcall_free(struct kse_upcall *ku) -{ - - uma_zfree(upcall_zone, ku); -} - -void -upcall_link(struct kse_upcall *ku, struct proc *p) -{ - - PROC_SLOCK_ASSERT(p, MA_OWNED); - TAILQ_INSERT_TAIL(&p->p_upcalls, ku, ku_link); - ku->ku_proc = p; -} - -void -upcall_unlink(struct kse_upcall *ku) -{ - struct proc *p = ku->ku_proc; - - PROC_SLOCK_ASSERT(p, MA_OWNED); - KASSERT(ku->ku_owner == NULL, ("%s: have owner", __func__)); - TAILQ_REMOVE(&p->p_upcalls, ku, ku_link); - upcall_stash(ku); -} - -void upcall_remove(struct thread *td) { PROC_SLOCK_ASSERT(td->td_proc, MA_OWNED); + THREAD_LOCK_ASSERT(td, MA_OWNED); if (td->td_upcall != NULL) { /* * If we are not a bound thread then decrement the count of @@ -124,8 +94,12 @@ */ if (td->td_pflags & TDP_SA) td->td_proc->p_numupcalls--; + mtx_lock_spin(&kse_lock); td->td_upcall->ku_owner = NULL; - upcall_unlink(td->td_upcall); + TAILQ_REMOVE(&td->td_upcall->ku_proc->p_upcalls, td->td_upcall, + ku_link); + TAILQ_INSERT_HEAD(&zombie_upcalls, td->td_upcall, ku_link); + mtx_unlock_spin(&kse_lock); td->td_upcall = NULL; } } @@ -157,8 +131,12 @@ struct kse_upcall *ku; int error; - if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) + thread_lock(td); + if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); return (EINVAL); + } + thread_unlock(td); error = (uap->tmbx == NULL) ? EINVAL : 0; if (!error) error = copyin(uap->tmbx, &tmbx, sizeof(tmbx)); @@ -181,11 +159,11 @@ else ptrace_clear_single_step(td); if (tmbx.tm_dflags & TMDF_SUSPEND) { - PROC_SLOCK(td->td_proc); + thread_lock(td); /* fuword can block, check again */ if (td->td_upcall) ku->ku_flags |= KUF_DOUPCALL; - PROC_SUNLOCK(td->td_proc); + thread_unlock(td); } _PRELE(td->td_proc); } @@ -219,8 +197,12 @@ p = td->td_proc; - if (!(p->p_flag & P_SA)) + PROC_LOCK(p); + if (!(p->p_flag & P_SA)) { + PROC_UNLOCK(p); return (EINVAL); + } + PROC_UNLOCK(p); switch (uap->cmd) { case KSE_INTR_SENDSIG: @@ -274,16 +256,18 @@ /* this sub-function is only for bound thread */ if (td->td_pflags & TDP_SA) return (EINVAL); + thread_lock(td); ku = td->td_upcall; + thread_unlock(td); tmbx = (void *)fuword((void *)&ku->ku_mailbox->km_curthread); if (tmbx == NULL || tmbx == (void *)-1) return (EINVAL); flags = 0; + PROC_LOCK(p); while ((p->p_flag & P_TRACED) && !(p->p_flag & P_SINGLE_EXIT)) { flags = fuword32(&tmbx->tm_dflags); if (!(flags & TMDF_SUSPEND)) break; - PROC_LOCK(p); PROC_SLOCK(p); thread_stopped(p); PROC_UNLOCK(p); @@ -292,7 +276,9 @@ PROC_SUNLOCK(p); mi_switch(SW_VOL, NULL); thread_unlock(td); + PROC_LOCK(p); } + PROC_UNLOCK(p); return (0); case KSE_INTR_EXECVE: @@ -338,9 +324,12 @@ /* * Ensure that this is only called from the UTS */ - if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) + thread_lock(td); + if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); return (EINVAL); - + } + thread_unlock(td); /* * Calculate the existing non-exiting upcalls in this process. @@ -384,7 +373,9 @@ psignal(p, SIGSEGV); sigqueue_flush(&td->td_sigqueue); PROC_SLOCK(p); + thread_lock(td); upcall_remove(td); + thread_unlock(td); if (p->p_numthreads != 1) { thread_stopped(p); thread_exit(); @@ -435,10 +426,13 @@ int error; p = td->td_proc; + thread_lock(td); if ((ku = td->td_upcall) == NULL || TD_CAN_UNBIND(td)) { + thread_unlock(td); printf("kse_release: called outside of threading. exiting"); exit1(td, 0); } + thread_unlock(td); if (uap->timeout != NULL) { if ((error = copyin(uap->timeout, &timeout, sizeof(timeout)))) return (error); @@ -508,9 +502,11 @@ td2 = NULL; ku = NULL; /* KSE-enabled processes only, please. */ - if (!(p->p_flag & P_SA)) + PROC_LOCK(p); + if (!(p->p_flag & P_SA)) { + PROC_UNLOCK(p); return (EINVAL); - PROC_LOCK(p); + } PROC_SLOCK(p); if (uap->mbx) { FOREACH_UPCALL_IN_PROC(p, ku) { @@ -531,10 +527,14 @@ PROC_UNLOCK(p); return (ESRCH); } + mtx_lock_spin(&kse_lock); if ((td2 = ku->ku_owner) == NULL) { + mtx_unlock_spin(&kse_lock); PROC_SUNLOCK(p); + PROC_UNLOCK(p); panic("%s: no owner", __func__); } else if (td2->td_kflags & (TDK_KSEREL | TDK_KSERELSIG)) { + mtx_unlock_spin(&kse_lock); if (!(td2->td_kflags & TDK_WAKEUP)) { td2->td_kflags |= TDK_WAKEUP; if (td2->td_kflags & TDK_KSEREL) @@ -544,6 +544,7 @@ } } else { ku->ku_flags |= KUF_DOUPCALL; + mtx_unlock_spin(&kse_lock); } PROC_SUNLOCK(p); PROC_UNLOCK(p); @@ -582,6 +583,7 @@ * suddenly start calling this one * XXX maybe... */ + PROC_LOCK(p); if ((p->p_flag & (P_SA|P_HADTHREADS)) == P_HADTHREADS) { PROC_UNLOCK(p); return (EINVAL); @@ -590,6 +592,7 @@ first = 1; p->p_flag |= P_SA|P_HADTHREADS; } + PROC_UNLOCK(p); if ((err = copyin(uap->mbx, &mbx, sizeof(mbx)))) return (err); @@ -662,7 +665,8 @@ * Make the new upcall available to the process. * It may or may not use it, but it's available. */ - upcall_link(newku, p); + TAILQ_INSERT_TAIL(&p->p_upcalls, newku, ku_link); + newku->ku_proc = p; PROC_UNLOCK(p); if (mbx.km_quantum) /* XXX should this be in the thread? */ @@ -786,44 +790,6 @@ } /* - * Stash an embarasingly extra upcall into the zombie upcall queue. - */ - -void -upcall_stash(struct kse_upcall *ku) -{ - mtx_lock_spin(&kse_lock); - TAILQ_INSERT_HEAD(&zombie_upcalls, ku, ku_link); - mtx_unlock_spin(&kse_lock); -} - -/* - * Reap zombie kse resource. - */ -void -kse_GC(void) -{ - struct kse_upcall *ku_first, *ku_next; - - /* - * Don't even bother to lock if none at this instant, - * we really don't care about the next instant.. - */ - if (!TAILQ_EMPTY(&zombie_upcalls)) { - mtx_lock_spin(&kse_lock); - ku_first = TAILQ_FIRST(&zombie_upcalls); - if (ku_first) - TAILQ_INIT(&zombie_upcalls); - mtx_unlock_spin(&kse_lock); - while (ku_first) { - ku_next = TAILQ_NEXT(ku_first, ku_link); - upcall_free(ku_first); - ku_first = ku_next; - } - } -} - -/* * Store the thread context in the UTS's mailbox. * then add the mailbox at the head of a list we are building in user space. * The list is anchored in the proc structure. @@ -885,6 +851,7 @@ } PROC_LOCK(p); if (mbx == (uintptr_t)p->p_completed) { + thread_lock(td); p->p_completed = td->td_mailbox; /* * The thread context may be taken away by @@ -893,6 +860,7 @@ * use it again in any other places. */ td->td_mailbox = NULL; + thread_unlock(td); PROC_UNLOCK(p); break; } @@ -968,8 +936,12 @@ caddr_t addr; u_int uticks; - if (td->td_mailbox == NULL) + thread_lock(td); + if (td->td_mailbox == NULL) { + thread_unlock(td); return (-1); + } + thread_unlock(td); if ((uticks = td->td_uuticks) != 0) { td->td_uuticks = 0; @@ -1173,7 +1145,9 @@ * note where our mailbox is. */ + thread_lock(td); ku = td->td_upcall; + thread_unlock(td); KASSERT(ku != NULL, ("no upcall owned")); KASSERT(ku->ku_owner == td, ("wrong owner")); @@ -1200,16 +1174,18 @@ } else { td->td_mailbox = tmbx; td->td_pflags |= TDP_CAN_UNBIND; + PROC_LOCK(p); if (__predict_false(p->p_flag & P_TRACED)) { flags = fuword32(&tmbx->tm_dflags); if (flags & TMDF_SUSPEND) { - PROC_SLOCK(td->td_proc); + thread_lock(td); /* fuword can block, check again */ if (td->td_upcall) ku->ku_flags |= KUF_DOUPCALL; - PROC_SUNLOCK(td->td_proc); + thread_unlock(td); } } + PROC_UNLOCK(p); } } } @@ -1249,6 +1225,7 @@ } p = td->td_proc; + thread_lock(td); ku = td->td_upcall; /* @@ -1258,6 +1235,7 @@ * then it can return direct to userland. */ if (TD_CAN_UNBIND(td)) { + thread_unlock(td); td->td_pflags &= ~TDP_CAN_UNBIND; if ((td->td_flags & TDF_NEEDSIGCHK) == 0 && (p->p_completed == NULL) && @@ -1281,6 +1259,7 @@ */ td->td_pflags |= TDP_UPCALLING; } else if (td->td_mailbox && (ku == NULL)) { + thread_unlock(td); thread_export_context(td, 1); PROC_LOCK(p); if (p->p_upsleeps) @@ -1292,15 +1271,16 @@ thread_stopped(p); thread_exit(); /* NOTREACHED */ - } + } else + thread_unlock(td); KASSERT(ku != NULL, ("upcall is NULL")); KASSERT(TD_CAN_UNBIND(td) == 0, ("can unbind")); + PROC_LOCK(p); + PROC_SLOCK(p); if (p->p_numthreads > max_threads_per_proc) { max_threads_hits++; - PROC_LOCK(p); - PROC_SLOCK(p); while (p->p_numthreads > max_threads_per_proc) { if (p->p_numupcalls >= max_threads_per_proc) break; @@ -1309,13 +1289,12 @@ "maxthreads", hz/10) != EWOULDBLOCK) { PROC_SLOCK(p); break; - } else { + } else PROC_SLOCK(p); - } } - PROC_SUNLOCK(p); - PROC_UNLOCK(p); } + PROC_SUNLOCK(p); + PROC_UNLOCK(p); if (td->td_pflags & TDP_UPCALLING) { uts_crit = 0; ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_rwlock.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.27 2007/06/26 21:31:56 attilio Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_rwlock.c,v 1.28 2007/07/20 08:43:41 attilio Exp $"); #include "opt_ddb.h" #include "opt_no_adaptive_rwlocks.h" @@ -45,7 +45,7 @@ #include #include #include -#include + #include CTASSERT((RW_RECURSE & LO_CLASSFLAGS) == RW_RECURSE); @@ -221,8 +221,10 @@ #ifdef ADAPTIVE_RWLOCKS volatile struct thread *owner; #endif +#ifdef LOCK_PROFILING_SHARED uint64_t waittime = 0; int contested = 0; +#endif uintptr_t x; KASSERT(rw->rw_lock != RW_DESTROYED, @@ -265,22 +267,22 @@ MPASS((x & RW_LOCK_READ_WAITERS) == 0); if (atomic_cmpset_acq_ptr(&rw->rw_lock, x, x + RW_ONE_READER)) { +#ifdef LOCK_PROFILING_SHARED + if (RW_READERS(x) == 0) + lock_profile_obtain_lock_success( + &rw->lock_object, contested, + waittime, file, line); +#endif if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR4(KTR_LOCK, "%s: %p succeed %p -> %p", __func__, rw, (void *)x, (void *)(x + RW_ONE_READER)); - if (RW_READERS(x) == 0) - lock_profile_obtain_lock_success( - &rw->lock_object, contested, waittime, - file, line); break; } cpu_spinwait(); continue; } - lock_profile_obtain_lock_failed(&rw->lock_object, &contested, - &waittime); /* * Okay, now it's the hard case. Some other thread already @@ -331,6 +333,10 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, rw, owner); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed(&rw->lock_object, + &contested, &waittime); +#endif while ((struct thread*)RW_OWNER(rw->rw_lock)== owner && TD_IS_RUNNING(owner)) cpu_spinwait(); @@ -345,6 +351,10 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); +#ifdef LOCK_PROFILING_SHARED + lock_profile_obtain_lock_failed(&rw->lock_object, &contested, + &waittime); +#endif turnstile_wait(ts, rw_owner(rw), TS_SHARED_QUEUE); if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", @@ -403,6 +413,9 @@ */ KASSERT(!(x & RW_LOCK_READ_WAITERS), ("%s: waiting readers", __func__)); +#ifdef LOCK_PROFILING_SHARED + lock_profile_release_lock(&rw->lock_object); +#endif /* * If there aren't any waiters for a write lock, then try @@ -479,7 +492,6 @@ turnstile_chain_unlock(&rw->lock_object); break; } - lock_profile_release_lock(&rw->lock_object); } /* @@ -494,7 +506,9 @@ #ifdef ADAPTIVE_RWLOCKS volatile struct thread *owner; #endif + uint64_t waittime = 0; uintptr_t v; + int contested = 0; if (rw_wlocked(rw)) { KASSERT(rw->lock_object.lo_flags & RW_RECURSE, @@ -578,6 +592,8 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR3(KTR_LOCK, "%s: spinning on %p held by %p", __func__, rw, owner); + lock_profile_obtain_lock_failed(&rw->lock_object, + &contested, &waittime); while ((struct thread*)RW_OWNER(rw->rw_lock)== owner && TD_IS_RUNNING(owner)) cpu_spinwait(); @@ -592,11 +608,15 @@ if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p blocking on turnstile", __func__, rw); + lock_profile_obtain_lock_failed(&rw->lock_object, &contested, + &waittime); turnstile_wait(ts, rw_owner(rw), TS_EXCLUSIVE_QUEUE); if (LOCK_LOG_TEST(&rw->lock_object, 0)) CTR2(KTR_LOCK, "%s: %p resuming from turnstile", __func__, rw); } + lock_profile_obtain_lock_success(&rw->lock_object, contested, waittime, + file, line); } /* ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_sig.c#5 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.348 2007/06/11 23:27:03 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sig.c,v 1.349 2007/07/19 08:49:16 jeff Exp $"); #include "opt_compat.h" #include "opt_ktrace.h" @@ -2365,12 +2365,8 @@ * Bring the priority of a thread up if we want it to get * killed in this lifetime. */ - if (action == SIG_DFL && (prop & SA_KILL)) { - if (p->p_nice > 0) - sched_nice(td->td_proc, 0); - if (td->td_priority > PUSER) - sched_prio(td, PUSER); - } + if (action == SIG_DFL && (prop & SA_KILL) && td->td_priority > PUSER) + sched_prio(td, PUSER); if (TD_ON_SLEEPQ(td)) { /* ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_switch.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.131 2007/06/12 19:50:31 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_switch.c,v 1.132 2007/07/19 08:58:40 jeff Exp $"); #include "opt_sched.h" @@ -267,8 +267,7 @@ /* * Thread is runnable but not yet put on system run queue. */ - MPASS(ctd->td_lock == &sched_lock); - MPASS(td->td_lock == &sched_lock); + MPASS(ctd->td_lock == td->td_lock); MPASS(TD_ON_RUNQ(td)); TD_SET_RUNNING(td); CTR3(KTR_PROC, "preempting to thread %p (pid %d, %s)\n", td, ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/kern_thread.c#5 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.250 2007/06/12 19:49:39 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_thread.c,v 1.251 2007/07/23 14:52:21 attilio Exp $"); #include #include @@ -550,7 +550,9 @@ KASSERT((p->p_numthreads == 1), ("Unthreading with >1 threads")); #ifdef KSE + thread_lock(td); upcall_remove(td); + thread_unlock(td); p->p_flag &= ~(P_SA|P_HADTHREADS); td->td_mailbox = NULL; td->td_pflags &= ~(TDP_SA | TDP_CAN_UNBIND); ==== //depot/projects/soc2007/lulf/gvinum_fixup/sys/kern/sched_ule.c#7 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.200 2007/07/17 22:53:23 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_ule.c,v 1.202 2007/07/19 20:03:15 jeff Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -177,8 +177,6 @@ static int sched_slice; static int preempt_thresh = PRI_MIN_KERN; -#define SCHED_BAL_SECS 2 /* How often we run the rebalance algorithm. */ - /* * tdq - per processor runqs and statistics. All fields are protected by the * tdq_lock. The load and lowpri may be accessed without to avoid excess @@ -229,14 +227,14 @@ /* * Run-time tunables. */ -static int rebalance = 0; -static int pick_pri = 0; -static int pick_zero = 0; +static int rebalance = 1; +static int balance_secs = 1; +static int pick_pri = 1; static int affinity; static int tryself = 1; -static int tryselfidle = 1; static int steal_htt = 0; -static int steal_idle = 0; +static int steal_idle = 1; +static int steal_thresh = 2; static int topology = 0; /* @@ -514,7 +512,7 @@ int cnt; int i; - callout_reset(&balco, max(hz / 2, random() % (hz * SCHED_BAL_SECS)), + callout_reset(&balco, max(hz / 2, random() % (hz * balance_secs)), sched_balance, NULL); if (smp_started == 0 || rebalance == 0) return; @@ -547,7 +545,7 @@ { int i; - callout_reset(&gbalco, max(hz / 2, random() % (hz * SCHED_BAL_SECS)), + callout_reset(&gbalco, max(hz / 2, random() % (hz * balance_secs)), sched_balance_groups, NULL); if (smp_started == 0 || rebalance == 0) return; @@ -683,6 +681,7 @@ ts->ts_cpu = cpu; td->td_lock = TDQ_LOCKPTR(to); tdq_add(to, td, SRQ_YIELDING); + tdq_notify(ts); } /* @@ -734,11 +733,11 @@ highload = load; highcpu = cpu; } - if (highload < 2) + if (highload < steal_thresh) break; steal = TDQ_CPU(highcpu); TDQ_LOCK(steal); - if (steal->tdq_transferable > 1 && + if (steal->tdq_transferable >= steal_thresh && (ts = tdq_steal(steal, 1)) != NULL) goto steal; TDQ_UNLOCK(steal); @@ -863,11 +862,9 @@ struct rqhead *rqh; struct rqbits *rqb; struct td_sched *ts; - int first; int word; int bit; - first = 0; rqb = &rq->rq_status; for (word = 0; word < RQB_LEN; word++) { if (rqb->rqb_bits[word] == 0) @@ -876,11 +873,9 @@ if ((rqb->rqb_bits[word] & (1ul << bit)) == 0) continue; rqh = &rq->rq_queues[bit + (word << RQB_L2BPW)]; - TAILQ_FOREACH(ts, rqh, ts_procq) { - if (first && THREAD_CAN_MIGRATE(ts->ts_thread)) + TAILQ_FOREACH(ts, rqh, ts_procq) + if (THREAD_CAN_MIGRATE(ts->ts_thread)) return (ts); - first = 1; - } } } return (NULL); @@ -1036,6 +1031,14 @@ cpu = self = PCPU_GET(cpuid); if (smp_started == 0) return (self); + /* >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Jul 27 23:56:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E875316A41B; Fri, 27 Jul 2007 23:56:28 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A814F16A418 for ; Fri, 27 Jul 2007 23:56:28 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 91BE313C459 for ; Fri, 27 Jul 2007 23:56:28 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RNuSk7088198 for ; Fri, 27 Jul 2007 23:56:28 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RNuSsf088195 for perforce@freebsd.org; Fri, 27 Jul 2007 23:56:28 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 27 Jul 2007 23:56:28 GMT Message-Id: <200707272356.l6RNuSsf088195@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124228 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 23:56:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=124228 Change 124228 by cnst@dale on 2007/07/27 23:55:28 KNF Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#4 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#4 (text+ko) ==== @@ -700,7 +700,7 @@ oidp = SLIST_FIRST(lsp); name = p+1; for (p = name; *p && *p != '.'; p++) - ; + ; i = *p; if (i == '.') *p = '\0'; @@ -1392,7 +1392,7 @@ do { req.oldidx = 0; req.newidx = 0; - error = sysctl_root(0, name, namelen, &req); + error = sysctl_root(NULL, name, namelen, &req); } while (error == EAGAIN); if (req.lock == REQ_WIRED && req.validlen > 0) From owner-p4-projects@FreeBSD.ORG Fri Jul 27 23:59:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9497516A41B; Fri, 27 Jul 2007 23:59:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0EE7416A418 for ; Fri, 27 Jul 2007 23:59:34 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D464013C442 for ; Fri, 27 Jul 2007 23:59:33 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6RNxXaA088285 for ; Fri, 27 Jul 2007 23:59:33 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6RNxXgZ088282 for perforce@freebsd.org; Fri, 27 Jul 2007 23:59:33 GMT (envelope-from cnst@FreeBSD.org) Date: Fri, 27 Jul 2007 23:59:33 GMT Message-Id: <200707272359.l6RNxXgZ088282@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124229 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 23:59:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124229 Change 124229 by cnst@dale on 2007/07/27 23:59:27 why was i declared int if it is a char? Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#5 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#5 (text+ko) ==== @@ -654,7 +654,7 @@ static int name2oid(char *name, int *oid, int *len, struct sysctl_oid **oidpp) { - int i; + char i; struct sysctl_oid *oidp; struct sysctl_oid_list *lsp = &sysctl__children; char *p; From owner-p4-projects@FreeBSD.ORG Sat Jul 28 00:08:49 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DD4AE16A41F; Sat, 28 Jul 2007 00:08:48 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B47F316A418 for ; Sat, 28 Jul 2007 00:08:48 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6831613C428 for ; Sat, 28 Jul 2007 00:08:46 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S08ktL090061 for ; Sat, 28 Jul 2007 00:08:46 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S08kvD090058 for perforce@freebsd.org; Sat, 28 Jul 2007 00:08:46 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 00:08:46 GMT Message-Id: <200707280008.l6S08kvD090058@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124230 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 00:08:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=124230 Change 124230 by cnst@dale on 2007/07/28 00:08:41 zap include: on OpenBSD was included only to define DV_DULL for hotplugging events Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#1 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#2 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ @@ -30,7 +30,6 @@ #include #include #include -#include #include From owner-p4-projects@FreeBSD.ORG Sat Jul 28 00:26:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E4FA216A41B; Sat, 28 Jul 2007 00:26:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 863D816A417 for ; Sat, 28 Jul 2007 00:26:09 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5892313C428 for ; Sat, 28 Jul 2007 00:26:09 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S0Q9oA091179 for ; Sat, 28 Jul 2007 00:26:09 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S0Q9uN091176 for perforce@freebsd.org; Sat, 28 Jul 2007 00:26:09 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 00:26:09 GMT Message-Id: <200707280026.l6S0Q9uN091176@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124231 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 00:26:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=124231 Change 124231 by cnst@dale on 2007/07/28 00:25:14 bring a some sysctl glue from OpenBSD Obtained from: OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#3 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#2 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#3 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ @@ -264,3 +264,89 @@ /* must be an empty list, or at the end of the list */ TAILQ_INSERT_TAIL(&tasklist, st, entry); } + +/* + * sysctl glue code + */ +int sysctl_rdstruct(void *, size_t *, void *, const void *, int); +int sysctl_sensors(int *, u_int, void *, size_t *, void *, size_t); + +/* + * Validate parameters and get old parameters + * for a structure oriented sysctl function. + */ +int +sysctl_rdstruct(void *oldp, size_t *oldlenp, void *newp, const void *sp, + int len) +{ + int error = 0; + + if (oldp && *oldlenp < len) + return (ENOMEM); + if (newp) + return (EPERM); + *oldlenp = len; + if (oldp) + error = copyout(sp, oldp, len); + return (error); +} + +int +sysctl_sensors(int *name, u_int namelen, void *oldp, size_t *oldlenp, + void *newp, size_t newlen) +{ + struct ksensor *ks; + struct sensor *us; + struct ksensordev *ksd; + struct sensordev *usd; + int dev, numt, ret; + enum sensor_type type; + + if (namelen != 1 && namelen != 3) + return (ENOTDIR); + + dev = name[0]; + if (namelen == 1) { + ksd = sensordev_get(dev); + if (ksd == NULL) + return (ENOENT); + + /* Grab a copy, to clear the kernel pointers */ + usd = malloc(sizeof(*usd), M_TEMP, M_WAITOK); + bzero(usd, sizeof(*usd)); + usd->num = ksd->num; + strlcpy(usd->xname, ksd->xname, sizeof(usd->xname)); + memcpy(usd->maxnumt, ksd->maxnumt, sizeof(usd->maxnumt)); + usd->sensors_count = ksd->sensors_count; + + ret = sysctl_rdstruct(oldp, oldlenp, newp, usd, + sizeof(struct sensordev)); + + free(usd, M_TEMP); + return (ret); + } + + type = name[1]; + numt = name[2]; + + ks = sensor_find(dev, type, numt); + if (ks == NULL) + return (ENOENT); + + /* Grab a copy, to clear the kernel pointers */ + us = malloc(sizeof(*us), M_TEMP, M_WAITOK); + bzero(us, sizeof(*us)); + memcpy(us->desc, ks->desc, sizeof(ks->desc)); + us->tv = ks->tv; + us->value = ks->value; + us->type = ks->type; + us->status = ks->status; + us->numt = ks->numt; + us->flags = ks->flags; + + ret = sysctl_rdstruct(oldp, oldlenp, newp, us, + sizeof(struct sensor)); + free(us, M_TEMP); + return (ret); +} + From owner-p4-projects@FreeBSD.ORG Sat Jul 28 00:29:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BD33616A421; Sat, 28 Jul 2007 00:29:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E62C16A418 for ; Sat, 28 Jul 2007 00:29:14 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 291C313C46A for ; Sat, 28 Jul 2007 00:29:14 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S0TE2g091314 for ; Sat, 28 Jul 2007 00:29:14 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S0TDue091310 for perforce@freebsd.org; Sat, 28 Jul 2007 00:29:13 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 00:29:13 GMT Message-Id: <200707280029.l6S0TDue091310@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 00:29:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124232 Change 124232 by cnst@dale on 2007/07/28 00:29:06 include an empty hw.sensors sysctl node Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#4 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#3 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#4 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ @@ -31,6 +31,7 @@ #include #include +#include #include int sensordev_count = 0; @@ -271,6 +272,8 @@ int sysctl_rdstruct(void *, size_t *, void *, const void *, int); int sysctl_sensors(int *, u_int, void *, size_t *, void *, size_t); +SYSCTL_NODE(_hw, HW_SENSORS, sensors, CTLFLAG_RD, 0, "Hardware Sensors"); + /* * Validate parameters and get old parameters * for a structure oriented sysctl function. From owner-p4-projects@FreeBSD.ORG Sat Jul 28 01:03:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D90E316A469; Sat, 28 Jul 2007 01:03:58 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9730516A417 for ; Sat, 28 Jul 2007 01:03:58 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 83C0013C428 for ; Sat, 28 Jul 2007 01:03:58 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S13woJ003209 for ; Sat, 28 Jul 2007 01:03:58 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S13wuX003206 for perforce@freebsd.org; Sat, 28 Jul 2007 01:03:58 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 01:03:58 GMT Message-Id: <200707280103.l6S13wuX003206@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124235 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 01:03:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=124235 Change 124235 by cnst@dale on 2007/07/28 01:03:07 add hw.sensors tree handler: system still compiles and boots. :) Only hw.sensors node itself is available from sysctl(8) as of now, no leaves are visible yet. Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#5 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#4 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#5 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ @@ -271,8 +271,10 @@ */ int sysctl_rdstruct(void *, size_t *, void *, const void *, int); int sysctl_sensors(int *, u_int, void *, size_t *, void *, size_t); +int sysctl_sensors_handler(SYSCTL_HANDLER_ARGS); -SYSCTL_NODE(_hw, HW_SENSORS, sensors, CTLFLAG_RD, 0, "Hardware Sensors"); +SYSCTL_NODE(_hw, HW_SENSORS, sensors, CTLFLAG_RD, sysctl_sensors_handler, + "Hardware Sensors"); /* * Validate parameters and get old parameters @@ -353,3 +355,12 @@ return (ret); } +int +sysctl_sensors_handler(SYSCTL_HANDLER_ARGS) +{ + int rv; + + rv = sysctl_sensors(arg1, arg2, req->oldptr, &req->oldlen, + req->newptr, req->newlen); + return (rv); +} From owner-p4-projects@FreeBSD.ORG Sat Jul 28 01:09:06 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E0DD716A41B; Sat, 28 Jul 2007 01:09:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A432616A419 for ; Sat, 28 Jul 2007 01:09:05 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 5C3FC13C459 for ; Sat, 28 Jul 2007 01:09:05 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S195D1003415 for ; Sat, 28 Jul 2007 01:09:05 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S195oj003412 for perforce@freebsd.org; Sat, 28 Jul 2007 01:09:05 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 01:09:05 GMT Message-Id: <200707280109.l6S195oj003412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 01:09:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=124236 Change 124236 by cnst@dale on 2007/07/28 01:08:28 put $OpenBSD$ from a file where sysctl_sensors() and sysctl_rdstruct() lived Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#6 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#6 (text+ko) ==== @@ -1,6 +1,7 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#5 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#6 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ +/* $OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */ /*- * Copyright (c) 2005 David Gwynne From owner-p4-projects@FreeBSD.ORG Sat Jul 28 01:18:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A598016A41B; Sat, 28 Jul 2007 01:18:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A9BA16A419 for ; Sat, 28 Jul 2007 01:18:17 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6787813C45B for ; Sat, 28 Jul 2007 01:18:17 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S1IH4b003979 for ; Sat, 28 Jul 2007 01:18:17 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S1IHEL003976 for perforce@freebsd.org; Sat, 28 Jul 2007 01:18:17 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 01:18:17 GMT Message-Id: <200707280118.l6S1IHEL003976@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124237 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 01:18:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=124237 Change 124237 by cnst@dale on 2007/07/28 01:17:38 integrate files and branch sysctl(8) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sbin.sysctl/Makefile#1 branch .. //depot/projects/soc2007/cnst-sensors/sbin.sysctl/sysctl.8#1 branch .. //depot/projects/soc2007/cnst-sensors/sbin.sysctl/sysctl.c#1 branch .. //depot/projects/soc2007/cnst-sensors/sys.conf/files#5 integrate Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.conf/files#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1240 2007/07/23 07:58:58 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1241 2007/07/24 15:35:01 scottl Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -721,6 +721,12 @@ dev/ips/ips_ioctl.c optional ips dev/ips/ips_pci.c optional ips pci dev/ipw/if_ipw.c optional ipw +dev/iscsi/initiator/iscsi.c optional iscsi_initiator scbus +dev/iscsi/initiator/iscsi_subr.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_cam.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_soc.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_sm.c optional iscsi_initiator scbus +dev/iscsi/initiator/isc_subr.c optional iscsi_initiator scbus dev/isp/isp.c optional isp dev/isp/isp_freebsd.c optional isp dev/isp/isp_library.c optional isp From owner-p4-projects@FreeBSD.ORG Sat Jul 28 01:32:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4277916A41F; Sat, 28 Jul 2007 01:32:36 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B52016A417 for ; Sat, 28 Jul 2007 01:32:36 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E451B13C469 for ; Sat, 28 Jul 2007 01:32:35 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S1WZbC004873 for ; Sat, 28 Jul 2007 01:32:35 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S1WZSD004870 for perforce@freebsd.org; Sat, 28 Jul 2007 01:32:35 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 01:32:35 GMT Message-Id: <200707280132.l6S1WZSD004870@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124238 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 01:32:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=124238 Change 124238 by cnst@dale on 2007/07/28 01:32:13 import sensorsd(8) directly from OpenBSD CVS; yes, it compiles on FreeBSD with no add'l modifications! ;) Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/Makefile#1 add .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.8#1 add .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#1 add .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.conf.5#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jul 28 01:52:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1258A16A41B; Sat, 28 Jul 2007 01:52:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D985E16A417 for ; Sat, 28 Jul 2007 01:52:01 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C7C1913C458 for ; Sat, 28 Jul 2007 01:52:01 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S1q1cP006943 for ; Sat, 28 Jul 2007 01:52:01 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S1q1pX006940 for perforce@freebsd.org; Sat, 28 Jul 2007 01:52:01 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 01:52:01 GMT Message-Id: <200707280152.l6S1q1pX006940@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124241 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 01:52:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=124241 Change 124241 by cnst@dale on 2007/07/28 01:51:08 add various FreeBSDisms: * $P4$ * $FreeBSD$ * __FBSDID() * dash after the star in the copyright comment Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/Makefile#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.8#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.conf.5#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/Makefile#2 (text+ko) ==== @@ -1,3 +1,5 @@ +# $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/Makefile#2 $ +# $FreeBSD$ # $OpenBSD: Makefile,v 1.1 2003/09/24 20:32:49 henning Exp $ PROG= sensorsd ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.8#2 (text+ko) ==== @@ -1,3 +1,5 @@ +.\" $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.8#2 $ +.\" $FreeBSD$ .\" $OpenBSD: sensorsd.8,v 1.11 2007/05/31 19:20:29 jmc Exp $ .\" .\" Copyright (c) 2003 Henning Brauer ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#2 (text+ko) ==== @@ -1,6 +1,8 @@ +/* $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#2 $ */ +/* $FreeBSD$ */ /* $OpenBSD: sensorsd.c,v 1.33 2007/06/01 22:41:12 cnst Exp $ */ -/* +/*- * Copyright (c) 2003 Henning Brauer * Copyright (c) 2005 Matthew Gream * Copyright (c) 2006 Constantine A. Murenin @@ -18,6 +20,9 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ +#include +__FBSDID("$FreeBSD$"); + #include #include #include ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.conf.5#2 (text+ko) ==== @@ -1,3 +1,5 @@ +.\" $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.conf.5#2 $ +.\" $FreeBSD$ .\" $OpenBSD: sensorsd.conf.5,v 1.14 2007/05/31 19:20:29 jmc Exp $ .\" .\" Copyright (c) 2003 Henning Brauer From owner-p4-projects@FreeBSD.ORG Sat Jul 28 02:02:15 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C5E516A41A; Sat, 28 Jul 2007 02:02:15 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3C29616A418 for ; Sat, 28 Jul 2007 02:02:15 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 28F1C13C461 for ; Sat, 28 Jul 2007 02:02:15 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S22FOW007487 for ; Sat, 28 Jul 2007 02:02:15 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S22EGZ007484 for perforce@freebsd.org; Sat, 28 Jul 2007 02:02:14 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 02:02:14 GMT Message-Id: <200707280202.l6S22EGZ007484@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124242 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 02:02:15 -0000 http://perforce.freebsd.org/chv.cgi?CH=124242 Change 124242 by cnst@dale on 2007/07/28 02:01:17 update the symbolic linking script to support sensorsd import Affected files ... .. //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#3 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#3 (text+ko) ==== @@ -1,5 +1,5 @@ #!/bin/sh -# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#2 $ +# $P4: //depot/projects/soc2007/cnst-sensors/sensors.ln.sh#3 $ # Author: Constantine A. Murenin, 2007-07 # This file creates symbolic links for GSoC2007 cnst_sensors project @@ -10,7 +10,7 @@ #create some directories that are specific for this project, #if they don't exist already -for i in "sys/dev/lm" +for i in "sys/dev/lm" "usr.sbin/sensorsd" do DIR2C=$TPREFIX/$i #directory to create if [ ! -d $DIR2C ] @@ -23,7 +23,7 @@ for i in `find ./ -name "*.*" -type d` do SDIR=`echo $i | sed "s#[.]/##g"` #source directory - TDIR=`echo $SDIR | sed "s#[.]#/#g"` #target directory + TDIR=`echo $SDIR | sed "s#[.]#/#g" | sed "s#^usr/#usr.#g"` #target directory # echo "Source directory: $SDIR; Target directory: $TDIR" for j in `find $SDIR -type f` do From owner-p4-projects@FreeBSD.ORG Sat Jul 28 02:21:43 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5239316A41A; Sat, 28 Jul 2007 02:21:43 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1406416A418 for ; Sat, 28 Jul 2007 02:21:43 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 039EE13C46A for ; Sat, 28 Jul 2007 02:21:43 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S2Lgxl009648 for ; Sat, 28 Jul 2007 02:21:42 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S2LgnM009644 for perforce@freebsd.org; Sat, 28 Jul 2007 02:21:42 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 02:21:42 GMT Message-Id: <200707280221.l6S2LgnM009644@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124243 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 02:21:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=124243 Change 124243 by cnst@dale on 2007/07/28 02:20:40 reinitialise size_t *oldlenp parameter to sysctl(3), because it can be changed by sysctl(3) sometimes. This gets rid of the following problems on FreeBSD: sensorsd: sysctl: Cannot allocate memory (FreeBSD must have something different here than OpenBSD?) Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#3 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#2 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#3 $ */ /* $FreeBSD$ */ /* $OpenBSD: sensorsd.c,v 1.33 2007/06/01 22:41:12 cnst Exp $ */ @@ -110,7 +110,7 @@ { struct sensordev sensordev; struct sdlim_t *sdlim; - size_t sdlen = sizeof(sensordev); + size_t sdlen; time_t next_report, last_report = 0, next_check; int mib[3], dev; int sleeptime, sensor_cnt = 0, ch; @@ -130,6 +130,7 @@ for (dev = 0; dev < MAXSENSORDEVICES; dev++) { mib[2] = dev; + sdlen = sizeof(sensordev); if (sysctl(mib, 3, &sensordev, &sdlen, NULL, 0) == -1) { if (errno != ENOENT) warn("sysctl"); @@ -190,7 +191,7 @@ struct sensor sensor; struct sdlim_t *sdlim; struct limits_t *limit; - size_t slen = sizeof(sensor); + size_t slen; int mib[5], numt; enum sensor_type type; @@ -209,6 +210,7 @@ mib[3] = type; for (numt = 0; numt < snsrdev->maxnumt[type]; numt++) { mib[4] = numt; + slen = sizeof(sensor); if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) { if (errno != ENOENT) warn("sysctl"); @@ -247,7 +249,6 @@ mib[0] = CTL_HW; mib[1] = HW_SENSORS; mib[2] = sdlim->dev; - len = sizeof(sensor); TAILQ_FOREACH(limit, &sdlim->limits, entries) { if ((limit->flags & SENSORSD_L_ISTATUS) && @@ -256,6 +257,7 @@ mib[3] = limit->type; mib[4] = limit->numt; + len = sizeof(sensor); if (sysctl(mib, 5, &sensor, &len, NULL, 0) == -1) err(1, "sysctl"); From owner-p4-projects@FreeBSD.ORG Sat Jul 28 02:47:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3434916A41F; Sat, 28 Jul 2007 02:47:18 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0063616A417 for ; Sat, 28 Jul 2007 02:47:15 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 974ED13C483 for ; Sat, 28 Jul 2007 02:47:15 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S2lFZK011161 for ; Sat, 28 Jul 2007 02:47:15 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S2lFA5011157 for perforce@freebsd.org; Sat, 28 Jul 2007 02:47:15 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 02:47:15 GMT Message-Id: <200707280247.l6S2lFA5011157@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124244 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 02:47:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=124244 Change 124244 by cnst@dale on 2007/07/28 02:47:06 import etc/sensorsd.conf from OpenBSD CVS Obtained from: OpenBSD 4.2-beta Affected files ... .. //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jul 28 02:49:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C9A916A419; Sat, 28 Jul 2007 02:49:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DB70716A417 for ; Sat, 28 Jul 2007 02:49:19 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B3C4D13C461 for ; Sat, 28 Jul 2007 02:49:19 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S2nJNV011256 for ; Sat, 28 Jul 2007 02:49:19 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S2nJgx011253 for perforce@freebsd.org; Sat, 28 Jul 2007 02:49:19 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 02:49:19 GMT Message-Id: <200707280249.l6S2nJgx011253@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124245 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 02:49:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=124245 Change 124245 by cnst@dale on 2007/07/28 02:49:12 add $P4$ and $FreeBSD$ Affected files ... .. //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#2 (text+ko) ==== @@ -1,3 +1,5 @@ +# $P4: //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#2 $ +# $FreeBSD$ # $OpenBSD: sensorsd.conf,v 1.7 2007/05/30 07:49:37 cnst Exp $ # From owner-p4-projects@FreeBSD.ORG Sat Jul 28 03:00:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 578F216A421; Sat, 28 Jul 2007 03:00:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2A17216A41A for ; Sat, 28 Jul 2007 03:00:34 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1AB2B13C45B for ; Sat, 28 Jul 2007 03:00:34 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S30Xff011995 for ; Sat, 28 Jul 2007 03:00:34 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S30X7u011992 for perforce@freebsd.org; Sat, 28 Jul 2007 03:00:33 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 03:00:33 GMT Message-Id: <200707280300.l6S30X7u011992@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124246 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 03:00:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=124246 Change 124246 by cnst@dale on 2007/07/28 02:59:57 add some example entries to debug sensorsd and sensors framework against lm(4), because lm(4) itself doesn't provide any status for its sensors, therefore, sensorsd doesn't monitor them unless something is put into config file Affected files ... .. //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#3 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $P4: //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#2 $ +# $P4: //depot/projects/soc2007/cnst-sensors/etc/sensorsd.conf#3 $ # $FreeBSD$ # $OpenBSD: sensorsd.conf,v 1.7 2007/05/30 07:49:37 cnst Exp $ @@ -6,6 +6,11 @@ # Sample sensorsd.conf file. See sensorsd.conf(5) for details. # +#the following three entries are for debugging sensorsd(8) with lm(4) +temp:low=24C:high=64C +fan:low=0:high=1024 +volt:low=0V:high=12.6V + # +5 voltage (volts) #hw.sensors.lm0.volt3:low=4.8V:high=5.2V From owner-p4-projects@FreeBSD.ORG Sat Jul 28 03:13:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 96DEE16A41B; Sat, 28 Jul 2007 03:13:51 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56A5C16A418 for ; Sat, 28 Jul 2007 03:13:51 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4744213C46A for ; Sat, 28 Jul 2007 03:13:51 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S3DpYJ014316 for ; Sat, 28 Jul 2007 03:13:51 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S3Dphs014313 for perforce@freebsd.org; Sat, 28 Jul 2007 03:13:51 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 03:13:51 GMT Message-Id: <200707280313.l6S3Dphs014313@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124247 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 03:13:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=124247 Change 124247 by cnst@dale on 2007/07/28 03:13:01 remove debugging printouts that lm(4) produced to the console Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#6 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#5 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.dev.lm/lm78.c#6 $ */ /* $FreeBSD$ */ /* $OpenBSD: lm78.c,v 1.18 2007/05/26 22:47:39 cnst Exp $ */ @@ -407,7 +407,7 @@ if (sc->numsensors == 0) return; - if (sensor_task_register(sc, lm_refresh, 8*60 /* 8 minutes */)) { + if (sensor_task_register(sc, lm_refresh, 5)) { device_printf(sc->sc_dev, "unable to register update task\n"); return; } @@ -422,16 +422,6 @@ for (i = 0; i < sc->numsensors; ++i) sensor_attach(&sc->sensordev, &sc->sensors[i]); sensordev_install(&sc->sensordev); - -#ifdef SENSORS_DEBUG - sc->refresh_sensor_data(sc); - for (i = 0; i < sc->numsensors; ++i) { - struct ksensor *s = &sc->sensors[i]; - printf("%s: s=%s, t=%i, n=%i, v=%lld\n", - device_get_nameunit(sc->sc_dev), - s->desc, s->type, s->numt, s->value); - } -#endif } int @@ -633,23 +623,8 @@ lm_refresh(void *arg) { struct lm_softc *sc = arg; -#ifdef SENSORS_DEBUG - int i; -#endif sc->refresh_sensor_data(sc); - -#ifdef SENSORS_DEBUG - for (i = 0; i < sc->numsensors; ++i) { - struct ksensor *s = &sc->sensors[i]; - - if (s->value == 0) - continue; - printf("%s: s=%s, t=%i, n=%i, v=%lld\n", - device_get_nameunit(sc->sc_dev), - s->desc, s->type, s->numt, s->value); - } -#endif } void From owner-p4-projects@FreeBSD.ORG Sat Jul 28 09:18:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1CAAC16A420; Sat, 28 Jul 2007 09:18:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC7E916A418 for ; Sat, 28 Jul 2007 09:18:26 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CDFC713C461 for ; Sat, 28 Jul 2007 09:18:26 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6S9IQPS067001 for ; Sat, 28 Jul 2007 09:18:26 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6S9IQ68066998 for perforce@freebsd.org; Sat, 28 Jul 2007 09:18:26 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 28 Jul 2007 09:18:26 GMT Message-Id: <200707280918.l6S9IQ68066998@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124251 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 09:18:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=124251 Change 124251 by zec@zec_tpx32 on 2007/07/28 09:17:50 Unbreak kernel build in a followup to a clumsy IFC. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#15 edit .. //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#5 edit .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#15 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#7 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.c#15 (text+ko) ==== @@ -1537,12 +1537,13 @@ int syncache_pcbcount(void) { + INIT_VNET_INET(curvnet); struct syncache_head *sch; int count, i; - for (count = 0, i = 0; i < tcp_syncache.hashsize; i++) { + for (count = 0, i = 0; i < V_tcp_syncache.hashsize; i++) { /* No need to lock for a read. */ - sch = &tcp_syncache.hashbase[i]; + sch = &V_tcp_syncache.hashbase[i]; count += sch->sch_length; } return count; @@ -1560,13 +1561,14 @@ int syncache_pcblist(struct sysctl_req *req, int max_pcbs, int *pcbs_exported) { + INIT_VNET_INET(curvnet); struct xtcpcb xt; struct syncache *sc; struct syncache_head *sch; int count, error, i; - for (count = 0, error = 0, i = 0; i < tcp_syncache.hashsize; i++) { - sch = &tcp_syncache.hashbase[i]; + for (count = 0, error = 0, i = 0; i < V_tcp_syncache.hashsize; i++) { + sch = &V_tcp_syncache.hashbase[i]; SCH_LOCK(sch); TAILQ_FOREACH(sc, &sch->sch_bucket, sc_hash) { if (count >= max_pcbs) { ==== //depot/projects/vimage/src/sys/netinet/tcp_syncache.h#5 (text+ko) ==== @@ -34,6 +34,19 @@ #ifndef _NETINET_TCP_SYNCACHE_H_ #define _NETINET_TCP_SYNCACHE_H_ +#ifdef _KERNEL + +void syncache_init(void); +void syncache_unreach(struct in_conninfo *, struct tcphdr *); +int syncache_expand(struct in_conninfo *, struct tcpopt *, + struct tcphdr *, struct socket **, struct mbuf *); +void syncache_add(struct in_conninfo *, struct tcpopt *, + struct tcphdr *, struct inpcb *, struct socket **, struct mbuf *); +void syncache_chkrst(struct in_conninfo *, struct tcphdr *); +void syncache_badack(struct in_conninfo *); +int syncache_pcbcount(void); +int syncache_pcblist(struct sysctl_req *req, int max_pcbs, + int *pcbs_exported); struct syncache { TAILQ_ENTRY(syncache) sc_hash; @@ -95,4 +108,5 @@ u_int hash_secret; }; +#endif /* _KERNEL */ #endif /* !_NETINET_TCP_SYNCACHE_H_ */ ==== //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#15 (text+ko) ==== @@ -486,13 +486,14 @@ 0, udp6_getcred, "S,xucred", "Get the xucred of a UDP6 connection"); #define in6pcb inpcb -#define udp6stat udpstat +#define V_udp6stat V_udpstat #define udp6s_opackets udps_opackets static int udp6_output(struct in6pcb *in6p, struct mbuf *m, struct sockaddr *addr6, struct mbuf *control, struct thread *td) { + INIT_VNET_INET(curvnet); u_int32_t ulen = m->m_pkthdr.len; u_int32_t plen = sizeof(struct udphdr) + ulen; struct ip6_hdr *ip6; @@ -689,7 +690,7 @@ flags = 0; - udp6stat.udp6s_opackets++; + V_udp6stat.udp6s_opackets++; error = ip6_output(m, optp, NULL, flags, in6p->in6p_moptions, NULL, in6p); break; ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#7 (text+ko) ==== @@ -52,7 +52,6 @@ #define VNET_INET6(sym) VSYM(vnet_inet6, sym) - #ifdef VIMAGE struct vnet_inet6 { struct vnet *parent_vnet; From owner-p4-projects@FreeBSD.ORG Sat Jul 28 13:56:31 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B0BA16A41B; Sat, 28 Jul 2007 13:56:31 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C4BA516A41A for ; Sat, 28 Jul 2007 13:56:30 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C0B4313C458 for ; Sat, 28 Jul 2007 13:56:30 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SDuUv4003089 for ; Sat, 28 Jul 2007 13:56:30 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SDuUMX003086 for perforce@freebsd.org; Sat, 28 Jul 2007 13:56:30 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 13:56:30 GMT Message-Id: <200707281356.l6SDuUMX003086@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124261 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 13:56:31 -0000 http://perforce.freebsd.org/chv.cgi?CH=124261 Change 124261 by loafier@chrisdsoc on 2007/07/28 13:56:16 Edit neomagic for bus_alloc_resources(), etc. Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/neomagic.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/neomagic.c#2 (text+ko) ==== @@ -54,13 +54,26 @@ struct sc_info *parent; }; +enum { + RES_BUF, + RES_REG, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec nm_res_spec[] = { + {SYS_RES_MEMORY, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_MEMORY, PCIR_BAR(1), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + /* device private data */ struct sc_info { device_t dev; u_int32_t type; - struct resource *reg, *irq, *buf; - int regid, irqid, bufid; + struct resource *res[RES_SZ]; void *ih; u_int32_t ac97_base, ac97_status, ac97_busy; @@ -84,10 +97,19 @@ static void nm_intr(void *); /* talk to the card */ -static u_int32_t nm_rd(struct sc_info *, int, int); -static void nm_wr(struct sc_info *, int, u_int32_t, int); -static u_int32_t nm_rdbuf(struct sc_info *, int, int); -static void nm_wrbuf(struct sc_info *, int, u_int32_t, int); +#define nm_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_REG], _reg) +#define nm_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_REG], _reg) +#define nm_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_REG], _reg) +#define nm_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_REG], _reg, _val) +#define nm_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_REG], _reg, _val) +#define nm_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_REG], _reg, _val) + +#define nm_rdbuf1(_sc, _reg) bus_read_1((_sc)->res[RES_BUF], _reg) +#define nm_rdbuf2(_sc, _reg) bus_read_2((_sc)->res[RES_BUF], _reg) +#define nm_rdbuf4(_sc, _reg) bus_read_4((_sc)->res[RES_BUF], _reg) +#define nm_wrbuf1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_BUF], _reg, _val) +#define nm_wrbuf2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_BUF], _reg, _val) +#define nm_wrbuf4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_BUF], _reg, _val) static u_int32_t badcards[] = { 0x0007103c, @@ -122,83 +144,6 @@ static struct pcmchan_caps nm_caps = {4000, 48000, nm_fmt, 0}; /* -------------------------------------------------------------------- */ - -/* Hardware */ -static u_int32_t -nm_rd(struct sc_info *sc, int regno, int size) -{ - bus_space_tag_t st = rman_get_bustag(sc->reg); - bus_space_handle_t sh = rman_get_bushandle(sc->reg); - - switch (size) { - case 1: - return bus_space_read_1(st, sh, regno); - case 2: - return bus_space_read_2(st, sh, regno); - case 4: - return bus_space_read_4(st, sh, regno); - default: - return 0xffffffff; - } -} - -static void -nm_wr(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - bus_space_tag_t st = rman_get_bustag(sc->reg); - bus_space_handle_t sh = rman_get_bushandle(sc->reg); - - switch (size) { - case 1: - bus_space_write_1(st, sh, regno, data); - break; - case 2: - bus_space_write_2(st, sh, regno, data); - break; - case 4: - bus_space_write_4(st, sh, regno, data); - break; - } -} - -static u_int32_t -nm_rdbuf(struct sc_info *sc, int regno, int size) -{ - bus_space_tag_t st = rman_get_bustag(sc->buf); - bus_space_handle_t sh = rman_get_bushandle(sc->buf); - - switch (size) { - case 1: - return bus_space_read_1(st, sh, regno); - case 2: - return bus_space_read_2(st, sh, regno); - case 4: - return bus_space_read_4(st, sh, regno); - default: - return 0xffffffff; - } -} - -static void -nm_wrbuf(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - bus_space_tag_t st = rman_get_bustag(sc->buf); - bus_space_handle_t sh = rman_get_bushandle(sc->buf); - - switch (size) { - case 1: - bus_space_write_1(st, sh, regno, data); - break; - case 2: - bus_space_write_2(st, sh, regno, data); - break; - case 4: - bus_space_write_4(st, sh, regno, data); - break; - } -} - -/* -------------------------------------------------------------------- */ /* ac97 codec */ static int nm_waitcd(struct sc_info *sc) @@ -207,7 +152,7 @@ int fail = 1; while (cnt-- > 0) { - if (nm_rd(sc, sc->ac97_status, 2) & sc->ac97_busy) { + if (nm_rd2(sc, sc->ac97_status) & sc->ac97_busy) { DELAY(100); } else { fail = 0; @@ -222,7 +167,7 @@ { struct sc_info *sc = (struct sc_info *)devinfo; - nm_wr(sc, 0x6c0, 0x01, 1); + nm_wr1(sc, 0x6c0, 0x01); #if 0 /* * The following code-line may cause a hang for some chipsets, see @@ -231,10 +176,10 @@ * conditionize the code-line based upon the specific version of * the chip. */ - nm_wr(sc, 0x6cc, 0x87, 1); + nm_wr1(sc, 0x6cc, 0x87); #endif - nm_wr(sc, 0x6cc, 0x80, 1); - nm_wr(sc, 0x6cc, 0x00, 1); + nm_wr1(sc, 0x6cc, 0x80); + nm_wr1(sc, 0x6cc, 0x00); return 1; } @@ -245,7 +190,7 @@ u_int32_t x; if (!nm_waitcd(sc)) { - x = nm_rd(sc, sc->ac97_base + regno, 2); + x = nm_rd2(sc, sc->ac97_base + regno); DELAY(1000); return x; } else { @@ -262,7 +207,7 @@ if (!nm_waitcd(sc)) { while (cnt-- > 0) { - nm_wr(sc, sc->ac97_base + regno, data, 2); + nm_wr2(sc, sc->ac97_base + regno, data); if (!nm_waitcd(sc)) { DELAY(1000); return 0; @@ -287,9 +232,9 @@ nm_ackint(struct sc_info *sc, u_int32_t num) { if (sc->type == NM256AV_PCI_ID) { - nm_wr(sc, NM_INT_REG, num << 1, 2); + nm_wr2(sc, NM_INT_REG, num << 1); } else if (sc->type == NM256ZX_PCI_ID) { - nm_wr(sc, NM_INT_REG, num, 4); + nm_wr4(sc, NM_INT_REG, num); } } @@ -307,11 +252,11 @@ while (num-- > 0) ofs+= coefficientSizes[num]; for (i = 0; i < sz; i++) - nm_wrbuf(sc, sc->cbuf + i, coefficients[ofs + i], 1); - nm_wr(sc, addr, sc->cbuf, 4); + nm_wrbuf1(sc, sc->cbuf + i, coefficients[ofs + i]); + nm_wr4(sc, addr, sc->cbuf); if (dir == PCMDIR_PLAY) sz--; - nm_wr(sc, addr + 4, sc->cbuf + sz, 4); + nm_wr4(sc, addr + 4, sc->cbuf + sz); return 0; } @@ -337,7 +282,7 @@ if (ch->fmt & AFMT_STEREO) x |= NM_RATE_STEREO; base = (ch->dir == PCMDIR_PLAY)? NM_PLAYBACK_REG_OFFSET : NM_RECORD_REG_OFFSET; - nm_wr(sc, base + NM_RATE_REG_OFFSET, x, 1); + nm_wr1(sc, base + NM_RATE_REG_OFFSET, x); return 0; } @@ -355,7 +300,9 @@ ch->blksize = 0; ch->wmark = 0; ch->buffer = b; - sndbuf_setup(ch->buffer, (u_int8_t *)rman_get_virtual(sc->buf) + chnbuf, NM_BUFFSIZE); + sndbuf_setup(ch->buffer, + (u_int8_t *)rman_get_virtual(sc->res[RES_BUF]) + chnbuf, + NM_BUFFSIZE); if (bootverbose) device_printf(sc->dev, "%s buf %p\n", (dir == PCMDIR_PLAY)? "play" : "rec", sndbuf_getbuf(ch->buffer)); @@ -417,31 +364,31 @@ if (go == PCMTRIG_START) { ch->active = 1; ch->wmark = ch->blksize; - nm_wr(sc, NM_PBUFFER_START, sc->pbuf, 4); - nm_wr(sc, NM_PBUFFER_END, sc->pbuf + NM_BUFFSIZE - ssz, 4); - nm_wr(sc, NM_PBUFFER_CURRP, sc->pbuf, 4); - nm_wr(sc, NM_PBUFFER_WMARK, sc->pbuf + ch->wmark, 4); - nm_wr(sc, NM_PLAYBACK_ENABLE_REG, NM_PLAYBACK_FREERUN | - NM_PLAYBACK_ENABLE_FLAG, 1); - nm_wr(sc, NM_AUDIO_MUTE_REG, 0, 2); + nm_wr4(sc, NM_PBUFFER_START, sc->pbuf); + nm_wr4(sc, NM_PBUFFER_END, sc->pbuf + NM_BUFFSIZE - ssz); + nm_wr4(sc, NM_PBUFFER_CURRP, sc->pbuf); + nm_wr4(sc, NM_PBUFFER_WMARK, sc->pbuf + ch->wmark); + nm_wr1(sc, NM_PLAYBACK_ENABLE_REG, NM_PLAYBACK_FREERUN | + NM_PLAYBACK_ENABLE_FLAG); + nm_wr2(sc, NM_AUDIO_MUTE_REG, 0); } else { ch->active = 0; - nm_wr(sc, NM_PLAYBACK_ENABLE_REG, 0, 1); - nm_wr(sc, NM_AUDIO_MUTE_REG, NM_AUDIO_MUTE_BOTH, 2); + nm_wr1(sc, NM_PLAYBACK_ENABLE_REG, 0); + nm_wr2(sc, NM_AUDIO_MUTE_REG, NM_AUDIO_MUTE_BOTH); } } else { if (go == PCMTRIG_START) { ch->active = 1; ch->wmark = ch->blksize; - nm_wr(sc, NM_RECORD_ENABLE_REG, NM_RECORD_FREERUN | - NM_RECORD_ENABLE_FLAG, 1); - nm_wr(sc, NM_RBUFFER_START, sc->rbuf, 4); - nm_wr(sc, NM_RBUFFER_END, sc->rbuf + NM_BUFFSIZE, 4); - nm_wr(sc, NM_RBUFFER_CURRP, sc->rbuf, 4); - nm_wr(sc, NM_RBUFFER_WMARK, sc->rbuf + ch->wmark, 4); + nm_wr1(sc, NM_RECORD_ENABLE_REG, NM_RECORD_FREERUN | + NM_RECORD_ENABLE_FLAG); + nm_wr4(sc, NM_RBUFFER_START, sc->rbuf); + nm_wr4(sc, NM_RBUFFER_END, sc->rbuf + NM_BUFFSIZE); + nm_wr4(sc, NM_RBUFFER_CURRP, sc->rbuf); + nm_wr4(sc, NM_RBUFFER_WMARK, sc->rbuf + ch->wmark); } else { ch->active = 0; - nm_wr(sc, NM_RECORD_ENABLE_REG, 0, 1); + nm_wr1(sc, NM_RECORD_ENABLE_REG, 0); } } return 0; @@ -454,9 +401,9 @@ struct sc_info *sc = ch->parent; if (ch->dir == PCMDIR_PLAY) - return nm_rd(sc, NM_PBUFFER_CURRP, 4) - sc->pbuf; + return nm_rd4(sc, NM_PBUFFER_CURRP) - sc->pbuf; else - return nm_rd(sc, NM_RBUFFER_CURRP, 4) - sc->rbuf; + return nm_rd4(sc, NM_RBUFFER_CURRP) - sc->rbuf; } static struct pcmchan_caps * @@ -482,10 +429,23 @@ static void nm_intr(void *p) { - struct sc_info *sc = (struct sc_info *)p; - int status, x; + struct sc_info *sc = p; + int status = 0, x; + + switch (sc->irsz) { + case 1: + status = nm_rd1(sc, NM_INT_REG); + break; + + case 2: + status = nm_rd2(sc, NM_INT_REG); + break; + + case 4: + status = nm_rd4(sc, NM_INT_REG); + break; + } - status = nm_rd(sc, NM_INT_REG, sc->irsz); if (status == 0) return; @@ -493,7 +453,7 @@ status &= ~sc->playint; sc->pch.wmark += sc->pch.blksize; sc->pch.wmark %= NM_BUFFSIZE; - nm_wr(sc, NM_PBUFFER_WMARK, sc->pbuf + sc->pch.wmark, 4); + nm_wr4(sc, NM_PBUFFER_WMARK, sc->pbuf + sc->pch.wmark); nm_ackint(sc, sc->playint); chn_intr(sc->pch.channel); @@ -502,7 +462,7 @@ status &= ~sc->recint; sc->rch.wmark += sc->rch.blksize; sc->rch.wmark %= NM_BUFFSIZE; - nm_wr(sc, NM_RBUFFER_WMARK, sc->rbuf + sc->rch.wmark, 4); + nm_wr4(sc, NM_RBUFFER_WMARK, sc->rbuf + sc->rch.wmark); nm_ackint(sc, sc->recint); chn_intr(sc->rch.channel); @@ -510,15 +470,15 @@ if (status & sc->misc1int) { status &= ~sc->misc1int; nm_ackint(sc, sc->misc1int); - x = nm_rd(sc, 0x400, 1); - nm_wr(sc, 0x400, x | 2, 1); + x = nm_rd1(sc, 0x400); + nm_wr1(sc, 0x400, x | 2); device_printf(sc->dev, "misc int 1\n"); } if (status & sc->misc2int) { status &= ~sc->misc2int; nm_ackint(sc, sc->misc2int); - x = nm_rd(sc, 0x400, 1); - nm_wr(sc, 0x400, x & ~2, 1); + x = nm_rd1(sc, 0x400); + nm_wr1(sc, 0x400, x & ~2); device_printf(sc->dev, "misc int 2\n"); } if (status) { @@ -555,7 +515,7 @@ sc->ac97_status = NM2_MIXER_STATUS_OFFSET; sc->ac97_busy = NM2_MIXER_READY_MASK; - sc->buftop = (nm_rd(sc, 0xa0b, 2)? 6144 : 4096) * 1024; + sc->buftop = (nm_rd2(sc, 0xa0b)? 6144 : 4096) * 1024; sc->irsz = 4; sc->playint = NM2_PLAYBACK_INT; @@ -569,8 +529,8 @@ if (bootverbose) device_printf(sc->dev, "buftop is 0x%08x\n", sc->buftop); - if ((nm_rdbuf(sc, ofs, 4) & NM_SIG_MASK) == NM_SIGNATURE) { - i = nm_rdbuf(sc, ofs + 4, 4); + if ((nm_rdbuf4(sc, ofs) & NM_SIG_MASK) == NM_SIGNATURE) { + i = nm_rdbuf4(sc, ofs + 4); if (i != 0 && i != 0xffffffff) { if (bootverbose) device_printf(sc->dev, "buftop is changed to 0x%08x\n", i); @@ -583,20 +543,33 @@ sc->pbuf = sc->rbuf - NM_BUFFSIZE; sc->acbuf = sc->pbuf - (NM_TOTAL_COEFF_COUNT * 4); - nm_wr(sc, 0, 0x11, 1); - nm_wr(sc, NM_RECORD_ENABLE_REG, 0, 1); - nm_wr(sc, 0x214, 0, 2); + nm_wr1(sc, 0, 0x11); + nm_wr1(sc, NM_RECORD_ENABLE_REG, 0); + nm_wr2(sc, 0x214, 0); return 0; } +static void +nm_destroy(device_t dev, struct sc_info *sc) +{ + if (!sc) + return; + + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, nm_res_spec, sc->res); + free(sc, M_DEVBUF); +} + static int nm_pci_probe(device_t dev) { - struct sc_info *sc = NULL; char *s = NULL; u_int32_t subdev, i, data; - + int rid; + struct resource *reg; + subdev = (pci_get_subdevice(dev) << 16) | pci_get_subvendor(dev); switch (pci_get_devid(dev)) { case NM256AV_PCI_ID: @@ -607,25 +580,19 @@ /* Try to catch other non-ac97 cards */ if (i == NUM_BADCARDS) { - if (!(sc = malloc(sizeof(*sc), M_DEVBUF, M_NOWAIT | M_ZERO))) { - device_printf(dev, "cannot allocate softc\n"); - return ENXIO; - } - data = pci_read_config(dev, PCIR_COMMAND, 2); pci_write_config(dev, PCIR_COMMAND, data | PCIM_CMD_PORTEN | PCIM_CMD_MEMEN | PCIM_CMD_BUSMASTEREN, 2); - sc->regid = PCIR_BAR(1); - sc->reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, - &sc->regid, + rid = PCIR_BAR(1); + reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, + &rid, RF_ACTIVE); - if (!sc->reg) { + if (!reg) { device_printf(dev, "unable to map register space\n"); pci_write_config(dev, PCIR_COMMAND, data, 2); - free(sc, M_DEVBUF); return ENXIO; } @@ -634,17 +601,16 @@ * before checking mixer is present or not. * t.ichinoseki@nifty.com. */ - nm_wr(sc, 0, 0x11, 1); /* reset device */ - if ((nm_rd(sc, NM_MIXER_PRESENCE, 2) & + bus_write_1(reg, 0, 0x11); /* reset device */ + if ((bus_read_2(reg, NM_MIXER_PRESENCE) & NM_PRESENCE_MASK) != NM_PRESENCE_VALUE) { i = 0; /* non-ac97 card, but not listed */ DEB(device_printf(dev, "subdev = 0x%x - badcard?\n", subdev)); } pci_write_config(dev, PCIR_COMMAND, data, 2); - bus_release_resource(dev, SYS_RES_MEMORY, sc->regid, - sc->reg); - free(sc, M_DEVBUF); + bus_release_resource(dev, SYS_RES_MEMORY, rid, + reg); } if (i == NUM_BADCARDS) @@ -666,7 +632,6 @@ static int nm_pci_attach(device_t dev) { - u_int32_t data; struct sc_info *sc; struct ac97_info *codec = 0; char status[SND_STATUSLEN]; @@ -675,20 +640,11 @@ sc->dev = dev; sc->type = pci_get_devid(dev); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_MEMORY); - sc->bufid = PCIR_BAR(0); - sc->buf = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->bufid, - RF_ACTIVE); - sc->regid = PCIR_BAR(1); - sc->reg = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &sc->regid, - RF_ACTIVE); - - if (!sc->buf || !sc->reg) { - device_printf(dev, "unable to map register space\n"); + if (bus_alloc_resources(dev, nm_res_spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } @@ -701,17 +657,16 @@ if (codec == NULL) goto bad; if (mixer_init(dev, ac97_getmixerclass(), codec) == -1) goto bad; - sc->irqid = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || snd_setup_intr(dev, sc->irq, 0, nm_intr, sc, &sc->ih)) { + if (snd_setup_intr(dev, sc->res[RES_IRQ], 0, nm_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } snprintf(status, SND_STATUSLEN, "at memory 0x%lx, 0x%lx irq %ld %s", - rman_get_start(sc->buf), rman_get_start(sc->reg), - rman_get_start(sc->irq),PCM_KLDSTRING(snd_neomagic)); + rman_get_start(sc->res[RES_BUF]), + rman_get_start(sc->res[RES_REG]), + rman_get_start(sc->res[RES_IRQ]), + PCM_KLDSTRING(snd_neomagic)); if (pcm_register(dev, sc, 1, 1)) goto bad; pcm_addchan(dev, PCMDIR_REC, &nmchan_class, sc); @@ -722,11 +677,8 @@ bad: if (codec) ac97_destroy(codec); - if (sc->buf) bus_release_resource(dev, SYS_RES_MEMORY, sc->bufid, sc->buf); - if (sc->reg) bus_release_resource(dev, SYS_RES_MEMORY, sc->regid, sc->reg); - if (sc->ih) bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - free(sc, M_DEVBUF); + nm_destroy(dev, sc); + return ENXIO; } @@ -741,11 +693,7 @@ return r; sc = pcm_getdevinfo(dev); - bus_release_resource(dev, SYS_RES_MEMORY, sc->bufid, sc->buf); - bus_release_resource(dev, SYS_RES_MEMORY, sc->regid, sc->reg); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - free(sc, M_DEVBUF); + nm_destroy(dev, sc); return 0; } @@ -759,12 +707,12 @@ /* stop playing */ if (sc->pch.active) { - nm_wr(sc, NM_PLAYBACK_ENABLE_REG, 0, 1); - nm_wr(sc, NM_AUDIO_MUTE_REG, NM_AUDIO_MUTE_BOTH, 2); + nm_wr1(sc, NM_PLAYBACK_ENABLE_REG, 0); + nm_wr2(sc, NM_AUDIO_MUTE_REG, NM_AUDIO_MUTE_BOTH); } /* stop recording */ if (sc->rch.active) { - nm_wr(sc, NM_RECORD_ENABLE_REG, 0, 1); + nm_wr1(sc, NM_RECORD_ENABLE_REG, 0); } return 0; } @@ -784,8 +732,8 @@ * As a result of this inconsistency, periodic noise will be * generated while playing. */ - nm_wr(sc, 0, 0x11, 1); - nm_wr(sc, 0x214, 0, 2); + nm_wr1(sc, 0, 0x11); + nm_wr2(sc, 0x214, 0); /* Reinit mixer */ if (mixer_reinit(dev) == -1) { @@ -794,14 +742,14 @@ } /* restart playing */ if (sc->pch.active) { - nm_wr(sc, NM_PLAYBACK_ENABLE_REG, NM_PLAYBACK_FREERUN | - NM_PLAYBACK_ENABLE_FLAG, 1); - nm_wr(sc, NM_AUDIO_MUTE_REG, 0, 2); + nm_wr1(sc, NM_PLAYBACK_ENABLE_REG, NM_PLAYBACK_FREERUN | + NM_PLAYBACK_ENABLE_FLAG); + nm_wr2(sc, NM_AUDIO_MUTE_REG, 0); } /* restart recording */ if (sc->rch.active) { - nm_wr(sc, NM_RECORD_ENABLE_REG, NM_RECORD_FREERUN | - NM_RECORD_ENABLE_FLAG, 1); + nm_wr1(sc, NM_RECORD_ENABLE_REG, NM_RECORD_FREERUN | + NM_RECORD_ENABLE_FLAG); } return 0; } From owner-p4-projects@FreeBSD.ORG Sat Jul 28 14:47:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EBE1E16A420; Sat, 28 Jul 2007 14:47:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C05A216A419 for ; Sat, 28 Jul 2007 14:47:34 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C69D213C45E for ; Sat, 28 Jul 2007 14:47:34 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SElYGS016055 for ; Sat, 28 Jul 2007 14:47:34 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SElYZ8016052 for perforce@freebsd.org; Sat, 28 Jul 2007 14:47:34 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 14:47:34 GMT Message-Id: <200707281447.l6SElYZ8016052@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124262 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 14:47:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=124262 Change 124262 by loafier@chrisdsoc on 2007/07/28 14:47:04 Edited for bus_alloc_resources(), etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/ich.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/ich.c#2 (text+ko) ==== @@ -167,6 +167,27 @@ bus_addr_t desc_addr; }; +enum { + RES_NAMBAR, + RES_NABMBAR, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec ich_res_spec_mem[] = { + {SYS_RES_MEMORY, PCIR_MMBAR, RF_ACTIVE}, + {SYS_RES_MEMORY, PCIR_MBBAR, RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + +static struct resource_spec ich_res_spec_io[] = { + {SYS_RES_IOPORT, PCIR_NAMBAR, RF_ACTIVE}, + {SYS_RES_IOPORT, PCIR_NABMBAR, RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + /* device private data */ struct sc_info { device_t dev; @@ -174,10 +195,8 @@ unsigned int chnum, bufsz, blkcnt; int sample_size, swap_reg; - struct resource *nambar, *nabmbar, *irq; - int regtype, nambarid, nabmbarid, irqid; - bus_space_tag_t nambart, nabmbart; - bus_space_handle_t nambarh, nabmbarh; + struct resource *res[RES_SZ]; + struct resource_spec *spec; bus_dma_tag_t dmat, chan_dmat; bus_dmamap_t dtmap; void *ih; @@ -206,37 +225,16 @@ /* -------------------------------------------------------------------- */ /* Hardware */ -static __inline uint32_t -ich_rd(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return (bus_space_read_1(sc->nabmbart, sc->nabmbarh, regno)); - case 2: - return (bus_space_read_2(sc->nabmbart, sc->nabmbarh, regno)); - case 4: - return (bus_space_read_4(sc->nabmbart, sc->nabmbarh, regno)); - default: - return (0xffffffff); - } -} +#define ich_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_NABMBAR], _reg) +#define ich_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_NABMBAR], _reg) +#define ich_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_NABMBAR], _reg) +#define ich_wr1(_sc, _reg, _val) \ + bus_write_1((_sc)->res[RES_NABMBAR], _reg, _val) +#define ich_wr2(_sc, _reg, _val) \ + bus_write_2((_sc)->res[RES_NABMBAR], _reg, _val) +#define ich_wr4(_sc, _reg, _val) \ + bus_write_4((_sc)->res[RES_NABMBAR], _reg, _val) -static __inline void -ich_wr(struct sc_info *sc, int regno, uint32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->nabmbart, sc->nabmbarh, regno, data); - break; - case 2: - bus_space_write_2(sc->nabmbart, sc->nabmbarh, regno, data); - break; - case 4: - bus_space_write_4(sc->nabmbart, sc->nabmbarh, regno, data); - break; - } -} - /* ac97 codec */ static int ich_waitcd(void *devinfo) @@ -246,7 +244,7 @@ int i; for (i = 0; i < ICH_TIMEOUT; i++) { - data = ich_rd(sc, ICH_REG_ACC_SEMA, 1); + data = ich_rd1(sc, ICH_REG_ACC_SEMA); if ((data & 0x01) == 0) return (0); DELAY(1); @@ -265,7 +263,7 @@ regno &= 0xff; ich_waitcd(sc); - return (bus_space_read_2(sc->nambart, sc->nambarh, regno)); + return (bus_read_2(sc->res[RES_NAMBAR], regno)); } static int @@ -275,7 +273,7 @@ regno &= 0xff; ich_waitcd(sc); - bus_space_write_2(sc->nambart, sc->nambarh, regno, data); + bus_write_2(sc->res[RES_NAMBAR], regno, data); return (0); } @@ -328,16 +326,16 @@ else return (ENXIO); - ich_wr(sc, regbase + ICH_REG_X_CR, 0, 1); + ich_wr1(sc, regbase + ICH_REG_X_CR, 0); #if 1 /* This may result in no sound output on NForce 2 MBs, see PR 73987 */ DELAY(100); #else - (void)ich_rd(sc, regbase + ICH_REG_X_CR, 1); + (void)ich_rd1(sc, regbase + ICH_REG_X_CR); #endif - ich_wr(sc, regbase + ICH_REG_X_CR, ICH_X_CR_RR, 1); + ich_wr1(sc, regbase + ICH_REG_X_CR, ICH_X_CR_RR); for (i = 0; i < ICH_TIMEOUT; i++) { - cr = ich_rd(sc, regbase + ICH_REG_X_CR, 1); + cr = ich_rd1(sc, regbase + ICH_REG_X_CR); if (cr == 0) return (0); DELAY(1); @@ -417,7 +415,7 @@ return (NULL); ICH_LOCK(sc); - ich_wr(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr), 4); + ich_wr4(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr)); ICH_UNLOCK(sc); return (ch); @@ -495,7 +493,7 @@ ch->blksz = blocksize; ich_filldtbl(ch); ICH_LOCK(sc); - ich_wr(sc, ch->regbase + ICH_REG_X_LVI, ch->blkcnt - 1, 1); + ich_wr1(sc, ch->regbase + ICH_REG_X_LVI, ch->blkcnt - 1); ICH_UNLOCK(sc); return (ch->blksz); @@ -518,8 +516,8 @@ case PCMTRIG_START: ch->run = 1; ICH_LOCK(sc); - ich_wr(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr), 4); - ich_wr(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RPBM | ICH_X_CR_LVBIE | ICH_X_CR_IOCE, 1); + ich_wr4(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr)); + ich_wr1(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RPBM | ICH_X_CR_LVBIE | ICH_X_CR_IOCE); ICH_UNLOCK(sc); break; case PCMTRIG_STOP: @@ -550,7 +548,7 @@ ); ICH_LOCK(sc); - ch->civ = ich_rd(sc, ch->regbase + ICH_REG_X_CIV, 1) % ch->blkcnt; + ch->civ = ich_rd1(sc, ch->regbase + ICH_REG_X_CIV) % ch->blkcnt; ICH_UNLOCK(sc); pos = ch->civ * ch->blksz; @@ -607,10 +605,10 @@ __func__); ); - gs = ich_rd(sc, ICH_REG_GLOB_STA, 4) & ICH_GLOB_STA_IMASK; + gs = ich_rd4(sc, ICH_REG_GLOB_STA) & ICH_GLOB_STA_IMASK; if (gs & (ICH_GLOB_STA_PRES | ICH_GLOB_STA_SRES)) { /* Clear resume interrupt(s) - nothing doing with them */ - ich_wr(sc, ICH_REG_GLOB_STA, gs, 4); + ich_wr4(sc, ICH_REG_GLOB_STA, gs); } gs &= ~(ICH_GLOB_STA_PRES | ICH_GLOB_STA_SRES); @@ -619,9 +617,8 @@ if ((ch->imask & gs) == 0) continue; gs &= ~ch->imask; - st = ich_rd(sc, ch->regbase + - ((sc->swap_reg) ? ICH_REG_X_PICB : ICH_REG_X_SR), - 2); + st = ich_rd2(sc, ch->regbase + + ((sc->swap_reg) ? ICH_REG_X_PICB : ICH_REG_X_SR)); st &= ICH_X_SR_FIFOE | ICH_X_SR_BCIS | ICH_X_SR_LVBCI; if (st & (ICH_X_SR_BCIS | ICH_X_SR_LVBCI)) { /* block complete - update buffer */ @@ -630,7 +627,7 @@ chn_intr(ch->channel); ICH_LOCK(sc); } - lvi = ich_rd(sc, ch->regbase + ICH_REG_X_LVI, 1); + lvi = ich_rd1(sc, ch->regbase + ICH_REG_X_LVI); cbi = ch->civ % ch->blkcnt; if (cbi == 0) cbi = ch->blkcnt - 1; @@ -642,13 +639,13 @@ else lvi += cbi + ch->blkcnt - lbi; lvi %= ICH_DTBL_LENGTH; - ich_wr(sc, ch->regbase + ICH_REG_X_LVI, lvi, 1); + ich_wr1(sc, ch->regbase + ICH_REG_X_LVI, lvi); } /* clear status bit */ - ich_wr(sc, ch->regbase + + ich_wr2(sc, ch->regbase + ((sc->swap_reg) ? ICH_REG_X_PICB : ICH_REG_X_SR), - st, 2); + st); } ICH_UNLOCK(sc); if (gs != 0) { @@ -685,8 +682,10 @@ snprintf(status, SND_STATUSLEN, "at io 0x%lx, 0x%lx irq %ld bufsz %u %s", - rman_get_start(sc->nambar), rman_get_start(sc->nabmbar), - rman_get_start(sc->irq), sc->bufsz,PCM_KLDSTRING(snd_ich)); + rman_get_start(sc->res[RES_NAMBAR]), + rman_get_start(sc->res[RES_NABMBAR]), + rman_get_start(sc->res[RES_IRQ]), + sc->bufsz, PCM_KLDSTRING(snd_ich)); if (bootverbose && (sc->flags & ICH_DMA_NOCACHE)) device_printf(sc->dev, @@ -748,28 +747,28 @@ */ /* prepare */ - ociv = ich_rd(sc, ch->regbase + ICH_REG_X_CIV, 1); + ociv = ich_rd1(sc, ch->regbase + ICH_REG_X_CIV); nciv = ociv; - ich_wr(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr), 4); + ich_wr4(sc, ch->regbase + ICH_REG_X_BDBAR, (uint32_t)(ch->desc_addr)); /* start */ microtime(&t1); - ich_wr(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RPBM, 1); + ich_wr1(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RPBM); /* wait */ do { microtime(&t2); if (t2.tv_sec - t1.tv_sec > 1) break; - nciv = ich_rd(sc, ch->regbase + ICH_REG_X_CIV, 1); + nciv = ich_rd1(sc, ch->regbase + ICH_REG_X_CIV); } while (nciv == ociv); /* stop */ - ich_wr(sc, ch->regbase + ICH_REG_X_CR, 0, 1); + ich_wr1(sc, ch->regbase + ICH_REG_X_CR, 0); /* reset */ DELAY(100); - ich_wr(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RR, 1); + ich_wr1(sc, ch->regbase + ICH_REG_X_CR, ICH_X_CR_RR); ch->blkcnt = oblkcnt; /* turn time delta into us */ @@ -825,9 +824,9 @@ { uint32_t stat; - ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD, 4); + ich_wr4(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD); DELAY(600000); - stat = ich_rd(sc, ICH_REG_GLOB_STA, 4); + stat = ich_rd4(sc, ICH_REG_GLOB_STA); if ((stat & ICH_GLOB_STA_PCR) == 0) { /* ICH4/ICH5 may fail when busmastering is enabled. Continue */ @@ -841,9 +840,9 @@ } #if 0 - ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD | ICH_GLOB_CTL_PRES, 4); + ich_wr4(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD | ICH_GLOB_CTL_PRES); #else - ich_wr(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD, 4); + ich_wr4(sc, ICH_REG_GLOB_CNT, ICH_GLOB_CTL_COLD); #endif if (ich_resetchan(sc, 0) || ich_resetchan(sc, 1)) @@ -854,6 +853,28 @@ return (0); } +static void +ich_destroy(device_t dev, struct sc_info *sc) +{ + if (!sc) + return; + + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, sc->spec, sc->res); + if (sc->dtmap) + bus_dmamap_unload(sc->dmat, sc->dtmap); + if (sc->dtbl) + bus_dmamem_free(sc->dmat, sc->dtbl, sc->dtmap); + if (sc->chan_dmat) + bus_dma_tag_destroy(sc->chan_dmat); + if (sc->dmat) + bus_dma_tag_destroy(sc->dmat); + if (sc->ich_lock) + snd_mtxfree(sc->ich_lock); + free(sc, M_DEVBUF); +} + static int ich_pci_probe(device_t dev) { @@ -928,31 +949,16 @@ if (vendor == INTEL_VENDORID && (devid == INTEL_82801DB || devid == INTEL_82801EB || devid == INTEL_6300ESB || devid == INTEL_82801FB || devid == INTEL_82801GB)) { - sc->nambarid = PCIR_MMBAR; - sc->nabmbarid = PCIR_MBBAR; - sc->regtype = SYS_RES_MEMORY; + sc->spec = ich_res_spec_mem; pci_write_config(dev, PCIR_ICH_LEGACY, ICH_LEGACY_ENABLE, 1); - } else { - sc->nambarid = PCIR_NAMBAR; - sc->nabmbarid = PCIR_NABMBAR; - sc->regtype = SYS_RES_IOPORT; - } + } else + sc->spec = ich_res_spec_io; - sc->nambar = bus_alloc_resource_any(dev, sc->regtype, - &sc->nambarid, RF_ACTIVE); - sc->nabmbar = bus_alloc_resource_any(dev, sc->regtype, - &sc->nabmbarid, RF_ACTIVE); - - if (!sc->nambar || !sc->nabmbar) { - device_printf(dev, "unable to map IO port space\n"); + if (bus_alloc_resources(dev, sc->spec, sc->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; - } + } - sc->nambart = rman_get_bustag(sc->nambar); - sc->nambarh = rman_get_bushandle(sc->nambar); - sc->nabmbart = rman_get_bustag(sc->nabmbar); - sc->nabmbarh = rman_get_bushandle(sc->nabmbar); - sc->bufsz = pcm_getbuffersize(dev, ICH_MIN_BUFSZ, ICH_DEFAULT_BUFSZ, ICH_MAX_BUFSZ); @@ -980,10 +986,7 @@ device_get_unit(dev), "fixedrate", &i) == 0 && i != 0) sc->flags |= ICH_FIXED_RATE; - sc->irqid = 0; - sc->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &sc->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || snd_setup_intr(dev, sc->irq, INTR_MPSAFE, ich_intr, + if (snd_setup_intr(dev, sc->res[RES_IRQ], INTR_MPSAFE, ich_intr, sc, &sc->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; @@ -1085,27 +1088,8 @@ bad: if (sc->codec) ac97_destroy(sc->codec); - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - if (sc->nambar) - bus_release_resource(dev, sc->regtype, - sc->nambarid, sc->nambar); - if (sc->nabmbar) - bus_release_resource(dev, sc->regtype, - sc->nabmbarid, sc->nabmbar); - if (sc->dtmap) - bus_dmamap_unload(sc->dmat, sc->dtmap); - if (sc->dtbl) - bus_dmamem_free(sc->dmat, sc->dtbl, sc->dtmap); - if (sc->chan_dmat) - bus_dma_tag_destroy(sc->chan_dmat); - if (sc->dmat) - bus_dma_tag_destroy(sc->dmat); - if (sc->ich_lock) - snd_mtxfree(sc->ich_lock); - free(sc, M_DEVBUF); + ich_destroy(dev, sc); + return (ENXIO); } @@ -1119,17 +1103,8 @@ if (r) return (r); sc = pcm_getdevinfo(dev); + ich_destroy(dev, sc); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - bus_release_resource(dev, sc->regtype, sc->nambarid, sc->nambar); - bus_release_resource(dev, sc->regtype, sc->nabmbarid, sc->nabmbar); - bus_dmamap_unload(sc->dmat, sc->dtmap); - bus_dmamem_free(sc->dmat, sc->dtbl, sc->dtmap); - bus_dma_tag_destroy(sc->chan_dmat); - bus_dma_tag_destroy(sc->dmat); - snd_mtxfree(sc->ich_lock); - free(sc, M_DEVBUF); return (0); } @@ -1139,14 +1114,14 @@ int i; uint32_t control; - control = ich_rd(sc, ICH_REG_GLOB_CNT, 4); + control = ich_rd4(sc, ICH_REG_GLOB_CNT); control &= ~(ICH_GLOB_CTL_SHUT); control |= (control & ICH_GLOB_CTL_COLD) ? ICH_GLOB_CTL_WARM : ICH_GLOB_CTL_COLD; - ich_wr(sc, ICH_REG_GLOB_CNT, control, 4); + ich_wr4(sc, ICH_REG_GLOB_CNT, control); for (i = 500000; i; i--) { - if (ich_rd(sc, ICH_REG_GLOB_STA, 4) & ICH_GLOB_STA_PCR) + if (ich_rd4(sc, ICH_REG_GLOB_STA) & ICH_GLOB_STA_PCR) break; /* or ICH_SCR? */ DELAY(1); } @@ -1183,7 +1158,7 @@ sc = pcm_getdevinfo(dev); - if (sc->regtype == SYS_RES_IOPORT) + if (sc->spec == ich_res_spec_io) pci_enable_io(dev, SYS_RES_IOPORT); else pci_enable_io(dev, SYS_RES_MEMORY); From owner-p4-projects@FreeBSD.ORG Sat Jul 28 15:36:39 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 282E716A41F; Sat, 28 Jul 2007 15:36:39 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8AAF16A417 for ; Sat, 28 Jul 2007 15:36:38 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D754813C474 for ; Sat, 28 Jul 2007 15:36:38 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SFacil040040 for ; Sat, 28 Jul 2007 15:36:38 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SFacuF040037 for perforce@freebsd.org; Sat, 28 Jul 2007 15:36:38 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 15:36:38 GMT Message-Id: <200707281536.l6SFacuF040037@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124265 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 15:36:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=124265 Change 124265 by loafier@chrisdsoc on 2007/07/28 15:36:24 Edit for bus_alloc_resources(), etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/via8233.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/via8233.c#2 (text+ko) ==== @@ -93,18 +93,27 @@ unsigned int ptr, prevptr; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec via_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct via_info { device_t dev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; bus_dma_tag_t sgd_dmat; bus_dmamap_t sgd_dmamap; bus_addr_t sgd_addr; - struct resource *reg, *irq; - int regid, irqid; + struct resource *res[RES_SZ]; void *ih; struct ac97_info *codec; @@ -271,38 +280,13 @@ #endif } -static __inline uint32_t -via_rd(struct via_info *via, int regno, int size) -{ - switch (size) { - case 1: - return (bus_space_read_1(via->st, via->sh, regno)); - case 2: - return (bus_space_read_2(via->st, via->sh, regno)); - case 4: - return (bus_space_read_4(via->st, via->sh, regno)); - default: - return (0xFFFFFFFF); - } -} +#define via_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define via_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define via_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) +#define via_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define via_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define via_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) -static __inline void -via_wr(struct via_info *via, int regno, uint32_t data, int size) -{ - - switch (size) { - case 1: - bus_space_write_1(via->st, via->sh, regno, data); - break; - case 2: - bus_space_write_2(via->st, via->sh, regno, data); - break; - case 4: - bus_space_write_4(via->st, via->sh, regno, data); - break; - } -} - /* -------------------------------------------------------------------- */ /* Codec interface */ @@ -313,7 +297,7 @@ /* poll until codec not busy */ for (i = 0; i < 1000; i++) { - if ((via_rd(via, VIA_AC97_CONTROL, 4) & VIA_AC97_BUSY) == 0) + if ((via_rd4(via, VIA_AC97_CONTROL) & VIA_AC97_BUSY) == 0) return (0); DELAY(1); } @@ -328,7 +312,7 @@ /* poll until codec valid */ for (i = 0; i < 1000; i++) { - if (via_rd(via, VIA_AC97_CONTROL, 4) & VIA_AC97_CODEC00_VALID) + if (via_rd4(via, VIA_AC97_CONTROL) & VIA_AC97_CODEC00_VALID) return (0); DELAY(1); } @@ -344,9 +328,9 @@ if (via_waitready_codec(via)) return (-1); - via_wr(via, VIA_AC97_CONTROL, + via_wr4(via, VIA_AC97_CONTROL, VIA_AC97_CODEC00_VALID | VIA_AC97_INDEX(reg) | - VIA_AC97_DATA(val), 4); + VIA_AC97_DATA(val)); return (0); } @@ -359,8 +343,8 @@ if (via_waitready_codec(via)) return (-1); - via_wr(via, VIA_AC97_CONTROL, VIA_AC97_CODEC00_VALID | - VIA_AC97_READ | VIA_AC97_INDEX(reg), 4); + via_wr4(via, VIA_AC97_CONTROL, VIA_AC97_CODEC00_VALID | + VIA_AC97_READ | VIA_AC97_INDEX(reg)); if (via_waitready_codec(via)) return (-1); @@ -368,7 +352,7 @@ if (via_waitvalid_codec(via)) return (-1); - return (via_rd(via, VIA_AC97_CONTROL, 2)); + return (via_rd2(via, VIA_AC97_CONTROL)); } static kobj_method_t via_ac97_methods[] = { @@ -413,7 +397,7 @@ if (format & AFMT_S16_LE) f |= WR_FORMAT_16BIT; snd_mtxlock(via->lock); - via_wr(via, VIA_WR0_FORMAT, f, 4); + via_wr4(via, VIA_WR0_FORMAT, f); snd_mtxunlock(via->lock); return (0); @@ -428,14 +412,14 @@ r = ch->rbase + VIA8233_RP_DXS_RATEFMT; snd_mtxlock(via->lock); - v = via_rd(via, r, 4); + v = via_rd4(via, r); v &= ~(VIA8233_DXS_RATEFMT_STEREO | VIA8233_DXS_RATEFMT_16BIT); if (format & AFMT_STEREO) v |= VIA8233_DXS_RATEFMT_STEREO; if (format & AFMT_16BIT) v |= VIA8233_DXS_RATEFMT_16BIT; - via_wr(via, r, v, 4); + via_wr4(via, r, v); snd_mtxunlock(via->lock); return (0); @@ -459,8 +443,8 @@ } snd_mtxlock(via->lock); - via_wr(via, VIA_MC_SLOT_SELECT, s, 4); - via_wr(via, VIA_MC_SGD_FORMAT, v, 1); + via_wr4(via, VIA_MC_SLOT_SELECT, s); + via_wr1(via, VIA_MC_SGD_FORMAT, v); snd_mtxunlock(via->lock); return (0); @@ -490,12 +474,12 @@ r = ch->rbase + VIA8233_RP_DXS_RATEFMT; snd_mtxlock(via->lock); - v = via_rd(via, r, 4) & ~VIA8233_DXS_RATEFMT_48K; + v = via_rd4(via, r) & ~VIA8233_DXS_RATEFMT_48K; /* Careful to avoid overflow (divide by 48 per vt8233c docs) */ v |= VIA8233_DXS_RATEFMT_48K * (speed / 48) / (48000 / 48); - via_wr(via, r, v, 4); + via_wr4(via, r, v); snd_mtxunlock(via->lock); return (speed); @@ -623,7 +607,7 @@ ptr = ch->ptr; snd_mtxunlock(via->lock); } else { - v = via_rd(via, ch->rbase + VIA_RP_CURRENT_COUNT, 4); + v = via_rd4(via, ch->rbase + VIA_RP_CURRENT_COUNT); snd_mtxunlock(via->lock); index = v >> 24; /* Last completed buffer */ count = v & 0x00ffffff; /* Bytes remaining */ @@ -637,10 +621,10 @@ static void via8233chan_reset(struct via_info *via, struct via_chinfo *ch) { - via_wr(via, ch->rbase + VIA_RP_CONTROL, SGD_CONTROL_STOP, 1); - via_wr(via, ch->rbase + VIA_RP_CONTROL, 0x00, 1); - via_wr(via, ch->rbase + VIA_RP_STATUS, - SGD_STATUS_EOL | SGD_STATUS_FLAG, 1); + via_wr1(via, ch->rbase + VIA_RP_CONTROL, SGD_CONTROL_STOP); + via_wr1(via, ch->rbase + VIA_RP_CONTROL, 0x00); + via_wr1(via, ch->rbase + VIA_RP_STATUS, + SGD_STATUS_EOL | SGD_STATUS_FLAG); } /* -------------------------------------------------------------------- */ @@ -671,7 +655,7 @@ ch->dir = dir; ch->blkcnt = via->blkcnt; ch->rbase = VIA_WR_BASE(num); - via_wr(via, ch->rbase + VIA_WR_RP_SGD_FORMAT, WR_FIFO_ENABLE, 1); + via_wr1(via, ch->rbase + VIA_WR_RP_SGD_FORMAT, WR_FIFO_ENABLE); snd_mtxunlock(via->lock); if (sndbuf_alloc(ch->buffer, via->parent_dmat, 0, via->bufsz) != 0) @@ -758,9 +742,9 @@ if (BASE_IS_VIA_DXS_REG(ch->rbase)) { int r; muted = (muted) ? VIA8233_DXS_MUTE : 0; - via_wr(via, ch->rbase + VIA8233_RP_DXS_LVOL, muted, 1); - via_wr(via, ch->rbase + VIA8233_RP_DXS_RVOL, muted, 1); - r = via_rd(via, ch->rbase + VIA8233_RP_DXS_LVOL, 1) & + via_wr1(via, ch->rbase + VIA8233_RP_DXS_LVOL, muted); + via_wr1(via, ch->rbase + VIA8233_RP_DXS_RVOL, muted); + r = via_rd1(via, ch->rbase + VIA8233_RP_DXS_LVOL) & VIA8233_DXS_MUTE; if (r != muted) device_printf(via->dev, @@ -782,7 +766,7 @@ via = ch->parent; sz = ch->blksz * ch->blkcnt; - v = via_rd(via, ch->rbase + VIA_RP_CURRENT_COUNT, 4); + v = via_rd4(via, ch->rbase + VIA_RP_CURRENT_COUNT); index = v >> 24; count = v & 0x00ffffff; ptr = ((index + 1) * ch->blksz) - count; @@ -897,7 +881,7 @@ case PCMTRIG_START: via_buildsgdt(ch); via8233chan_mute(via, ch, 0); - via_wr(via, ch->rbase + VIA_RP_TABLE_PTR, ch->sgd_addr, 4); + via_wr4(via, ch->rbase + VIA_RP_TABLE_PTR, ch->sgd_addr); if (via->polling != 0) { ch->ptr = 0; ch->prevptr = 0; @@ -926,15 +910,15 @@ via_poll_callback, via); } } - via_wr(via, ch->rbase + VIA_RP_CONTROL, + via_wr1(via, ch->rbase + VIA_RP_CONTROL, SGD_CONTROL_START | SGD_CONTROL_AUTOSTART | ((via->polling == 0) ? - (SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG) : 0), 1); + (SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG) : 0)); ch->active = 1; break; case PCMTRIG_STOP: case PCMTRIG_ABORT: - via_wr(via, ch->rbase + VIA_RP_CONTROL, SGD_CONTROL_STOP, 1); + via_wr1(via, ch->rbase + VIA_RP_CONTROL, SGD_CONTROL_STOP); via8233chan_mute(via, ch, 1); via8233chan_reset(via, ch); ch->active = 0; @@ -1023,14 +1007,14 @@ if (via->pch[i].channel == NULL || via->pch[i].active == 0) continue; reg = via->pch[i].rbase + VIA_RP_STATUS; - stat = via_rd(via, reg, 1); + stat = via_rd1(via, reg); if (stat & SGD_STATUS_INTR) { if (via->dma_eol_wake && ((stat & SGD_STATUS_EOL) || !(stat & SGD_STATUS_ACTIVE))) - via_wr(via, via->pch[i].rbase + VIA_RP_CONTROL, + via_wr1(via, via->pch[i].rbase + VIA_RP_CONTROL, SGD_CONTROL_START | SGD_CONTROL_AUTOSTART | - SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG, 1); - via_wr(via, reg, stat, 1); + SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG); + via_wr1(via, reg, stat); ptrigger |= 1 << i; } } @@ -1039,14 +1023,14 @@ if (via->rch[i].channel == NULL || via->rch[i].active == 0) continue; reg = via->rch[i].rbase + VIA_RP_STATUS; - stat = via_rd(via, reg, 1); + stat = via_rd1(via, reg); if (stat & SGD_STATUS_INTR) { if (via->dma_eol_wake && ((stat & SGD_STATUS_EOL) || !(stat & SGD_STATUS_ACTIVE))) - via_wr(via, via->rch[i].rbase + VIA_RP_CONTROL, + via_wr1(via, via->rch[i].rbase + VIA_RP_CONTROL, SGD_CONTROL_START | SGD_CONTROL_AUTOSTART | - SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG, 1); - via_wr(via, reg, stat, 1); + SGD_CONTROL_I_EOL | SGD_CONTROL_I_FLAG); + via_wr1(via, reg, stat); rtrigger |= 1 << i; } } @@ -1162,6 +1146,28 @@ return (ENXIO); } +static void +via_destroy(device_t dev, struct via_info *via) +{ + if (!via) + return; + + if (via->ih) + bus_teardown_intr(dev, via->res[RES_IRQ], via->ih); + bus_release_resources(dev, via_res_spec, via->res); + if (via->parent_dmat) + bus_dma_tag_destroy(via->parent_dmat); + if (via->sgd_dmamap) + bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); + if (via->sgd_table) + bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); + if (via->sgd_dmat) + bus_dma_tag_destroy(via->sgd_dmat); + if (via->lock) + snd_mtxfree(via->lock); + free(via, M_DEVBUF); +} + static int via_attach(device_t dev) { @@ -1188,21 +1194,12 @@ pci_set_powerstate(dev, PCI_POWERSTATE_D0); pci_enable_busmaster(dev); - via->regid = PCIR_BAR(0); - via->reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &via->regid, - RF_ACTIVE); - if (!via->reg) { - device_printf(dev, "cannot allocate bus resource."); + if (bus_alloc_resources(dev, via_res_spec, via->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } - via->st = rman_get_bustag(via->reg); - via->sh = rman_get_bushandle(via->reg); - via->irqid = 0; - via->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &via->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!via->irq || - snd_setup_intr(dev, via->irq, INTR_MPSAFE, + if (snd_setup_intr(dev, via->res[RES_IRQ], INTR_MPSAFE, via_intr, via, &via->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; @@ -1350,7 +1347,8 @@ } snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s", - rman_get_start(via->reg), rman_get_start(via->irq), + rman_get_start(via->res[RES_MEM]), + rman_get_start(via->res[RES_IRQ]), PCM_KLDSTRING(snd_via8233)); /* Register */ @@ -1374,24 +1372,8 @@ bad: if (via->codec) ac97_destroy(via->codec); - if (via->reg) - bus_release_resource(dev, SYS_RES_IOPORT, via->regid, via->reg); - if (via->ih) - bus_teardown_intr(dev, via->irq, via->ih); - if (via->irq) - bus_release_resource(dev, SYS_RES_IRQ, via->irqid, via->irq); - if (via->parent_dmat) - bus_dma_tag_destroy(via->parent_dmat); - if (via->sgd_dmamap) - bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); - if (via->sgd_table) - bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); - if (via->sgd_dmat) - bus_dma_tag_destroy(via->sgd_dmat); - if (via->lock) - snd_mtxfree(via->lock); - if (via) - free(via, M_DEVBUF); + via_destroy(dev, via); + return (ENXIO); } @@ -1415,15 +1397,8 @@ callout_drain(&via->poll_timer); } - bus_release_resource(dev, SYS_RES_IOPORT, via->regid, via->reg); - bus_teardown_intr(dev, via->irq, via->ih); - bus_release_resource(dev, SYS_RES_IRQ, via->irqid, via->irq); - bus_dma_tag_destroy(via->parent_dmat); - bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); - bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); - bus_dma_tag_destroy(via->sgd_dmat); - snd_mtxfree(via->lock); - free(via, M_DEVBUF); + via_destroy(dev, via); + return (0); } From owner-p4-projects@FreeBSD.ORG Sat Jul 28 15:47:54 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 598C616A468; Sat, 28 Jul 2007 15:47:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2AEDB16A419 for ; Sat, 28 Jul 2007 15:47:54 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 27E9313C45E for ; Sat, 28 Jul 2007 15:47:54 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SFlr44040694 for ; Sat, 28 Jul 2007 15:47:53 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SFlrmm040691 for perforce@freebsd.org; Sat, 28 Jul 2007 15:47:53 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 15:47:53 GMT Message-Id: <200707281547.l6SFlrmm040691@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 15:47:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=124267 Change 124267 by loafier@chrisdsoc on 2007/07/28 15:47:18 Edit for bus_alloc_resources(), etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/via82c686.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/via82c686.c#2 (text+ko) ==== @@ -68,16 +68,25 @@ int base, count, mode, ctrl; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec via_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + struct via_info { - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; bus_dma_tag_t sgd_dmat; bus_dmamap_t sgd_dmamap; bus_addr_t sgd_addr; - struct resource *reg, *irq; - int regid, irqid; + struct resource *res[RES_SZ]; void *ih; struct ac97_info *codec; @@ -99,40 +108,13 @@ static struct pcmchan_caps via_vracaps = {4000, 48000, via_fmt, 0}; static struct pcmchan_caps via_caps = {48000, 48000, via_fmt, 0}; -static __inline u_int32_t -via_rd(struct via_info *via, int regno, int size) -{ - - switch (size) { - case 1: - return bus_space_read_1(via->st, via->sh, regno); - case 2: - return bus_space_read_2(via->st, via->sh, regno); - case 4: - return bus_space_read_4(via->st, via->sh, regno); - default: - return 0xFFFFFFFF; - } -} +#define via_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define via_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define via_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) +#define via_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define via_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define via_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) - -static __inline void -via_wr(struct via_info *via, int regno, u_int32_t data, int size) -{ - - switch (size) { - case 1: - bus_space_write_1(via->st, via->sh, regno, data); - break; - case 2: - bus_space_write_2(via->st, via->sh, regno, data); - break; - case 4: - bus_space_write_4(via->st, via->sh, regno, data); - break; - } -} - /* -------------------------------------------------------------------- */ /* Codec interface */ @@ -143,7 +125,7 @@ /* poll until codec not busy */ for (i = 0; (i < TIMEOUT) && - (via_rd(via, VIA_CODEC_CTL, 4) & VIA_CODEC_BUSY); i++) + (via_rd4(via, VIA_CODEC_CTL) & VIA_CODEC_BUSY); i++) DELAY(1); if (i >= TIMEOUT) { printf("via: codec busy\n"); @@ -161,7 +143,7 @@ /* poll until codec valid */ for (i = 0; (i < TIMEOUT) && - !(via_rd(via, VIA_CODEC_CTL, 4) & VIA_CODEC_PRIVALID); i++) + !(via_rd4(via, VIA_CODEC_CTL) & VIA_CODEC_PRIVALID); i++) DELAY(1); if (i >= TIMEOUT) { printf("via: codec invalid\n"); @@ -179,7 +161,7 @@ if (via_waitready_codec(via)) return -1; - via_wr(via, VIA_CODEC_CTL, VIA_CODEC_PRIVALID | VIA_CODEC_INDEX(reg) | val, 4); + via_wr4(via, VIA_CODEC_CTL, VIA_CODEC_PRIVALID | VIA_CODEC_INDEX(reg) | val); return 0; } @@ -193,7 +175,8 @@ if (via_waitready_codec(via)) return -1; - via_wr(via, VIA_CODEC_CTL, VIA_CODEC_PRIVALID | VIA_CODEC_READ | VIA_CODEC_INDEX(reg),4); + via_wr4(via, VIA_CODEC_CTL, + VIA_CODEC_PRIVALID | VIA_CODEC_READ | VIA_CODEC_INDEX(reg)); if (via_waitready_codec(via)) return -1; @@ -201,7 +184,7 @@ if (via_waitvalid_codec(via)) return -1; - return via_rd(via, VIA_CODEC_CTL, 2); + return via_rd2(via, VIA_CODEC_CTL); } static kobj_method_t via_ac97_methods[] = { @@ -291,10 +274,10 @@ DEB(printf("set format: dir = %d, format=%x\n", ch->dir, format)); snd_mtxlock(via->lock); - mode = via_rd(via, ch->mode, 1); + mode = via_rd1(via, ch->mode); mode &= ~(VIA_RPMODE_16BIT | VIA_RPMODE_STEREO); mode |= mode_set; - via_wr(via, ch->mode, mode, 1); + via_wr1(via, ch->mode, mode); snd_mtxunlock(via->lock); return 0; @@ -351,10 +334,10 @@ snd_mtxlock(via->lock); if (go == PCMTRIG_START) { via_buildsgdt(ch); - via_wr(via, ch->base, sgd_addr, 4); - via_wr(via, ch->ctrl, VIA_RPCTRL_START, 1); + via_wr4(via, ch->base, sgd_addr); + via_wr1(via, ch->ctrl, VIA_RPCTRL_START); } else - via_wr(via, ch->ctrl, VIA_RPCTRL_TERMINATE, 1); + via_wr1(via, ch->ctrl, VIA_RPCTRL_TERMINATE); snd_mtxunlock(via->lock); DEB(printf("viachan_trigger: go=%d\n", go)); @@ -372,11 +355,11 @@ ado = ch->sgd_table; snd_mtxlock(via->lock); - base1 = via_rd(via, ch->base, 4); - len = via_rd(via, ch->count, 4); - base = via_rd(via, ch->base, 4); + base1 = via_rd4(via, ch->base); + len = via_rd4(via, ch->count); + base = via_rd4(via, ch->base); if (base != base1) /* Avoid race hazard */ - len = via_rd(via, ch->count, 4); + len = via_rd4(via, ch->count); snd_mtxunlock(via->lock); DEB(printf("viachan_getptr: len / base = %x / %x\n", len, base)); @@ -431,16 +414,16 @@ /* DEB(printf("viachan_intr\n")); */ /* Read channel */ snd_mtxlock(via->lock); - if (via_rd(via, VIA_PLAY_STAT, 1) & VIA_RPSTAT_INTR) { - via_wr(via, VIA_PLAY_STAT, VIA_RPSTAT_INTR, 1); + if (via_rd1(via, VIA_PLAY_STAT) & VIA_RPSTAT_INTR) { + via_wr1(via, VIA_PLAY_STAT, VIA_RPSTAT_INTR); snd_mtxunlock(via->lock); chn_intr(via->pch.channel); snd_mtxlock(via->lock); } /* Write channel */ - if (via_rd(via, VIA_RECORD_STAT, 1) & VIA_RPSTAT_INTR) { - via_wr(via, VIA_RECORD_STAT, VIA_RPSTAT_INTR, 1); + if (via_rd1(via, VIA_RECORD_STAT) & VIA_RPSTAT_INTR) { + via_wr1(via, VIA_RECORD_STAT, VIA_RPSTAT_INTR); snd_mtxunlock(via->lock); chn_intr(via->rch.channel); return; @@ -469,6 +452,27 @@ via->sgd_addr = bds->ds_addr; } +static void +via_destroy(device_t dev, struct via_info *via) +{ + if (!via) + return; + + if (via->ih) + bus_teardown_intr(dev, via->res[RES_IRQ], via->ih); + bus_release_resources(dev, via_res_spec, via->res); + if (via->parent_dmat) + bus_dma_tag_destroy(via->parent_dmat); + if (via->sgd_dmamap) + bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); + if (via->sgd_table) + bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); + if (via->sgd_dmat) + bus_dma_tag_destroy(via->sgd_dmat); + if (via->lock) + snd_mtxfree(via->lock); + free(via, M_DEVBUF); +} static int via_attach(device_t dev) @@ -518,28 +522,21 @@ DELAY(5000); } - via->regid = PCIR_BAR(0); - via->reg = bus_alloc_resource_any(dev, SYS_RES_IOPORT, - &via->regid, RF_ACTIVE); - if (!via->reg) { - device_printf(dev, "cannot allocate bus resource."); + if (bus_alloc_resources(dev, via_res_spec, via->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } - via->st = rman_get_bustag(via->reg); - via->sh = rman_get_bushandle(via->reg); via->bufsz = pcm_getbuffersize(dev, 4096, VIA_DEFAULT_BUFSZ, 65536); - via->irqid = 0; - via->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &via->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!via->irq || snd_setup_intr(dev, via->irq, INTR_MPSAFE, via_intr, via, &via->ih)) { + if (snd_setup_intr(dev, via->res[RES_IRQ], INTR_MPSAFE, + via_intr, via, &via->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } - via_wr(via, VIA_PLAY_MODE, VIA_RPMODE_AUTOSTART | VIA_RPMODE_INTR_FLAG | VIA_RPMODE_INTR_EOL, 1); - via_wr(via, VIA_RECORD_MODE, VIA_RPMODE_AUTOSTART | VIA_RPMODE_INTR_FLAG | VIA_RPMODE_INTR_EOL, 1); + via_wr1(via, VIA_PLAY_MODE, VIA_RPMODE_AUTOSTART | VIA_RPMODE_INTR_FLAG | VIA_RPMODE_INTR_EOL); + via_wr1(via, VIA_RECORD_MODE, VIA_RPMODE_AUTOSTART | VIA_RPMODE_INTR_FLAG | VIA_RPMODE_INTR_EOL); via->codec = AC97_CREATE(dev, via, via_ac97); if (!via->codec) @@ -591,7 +588,8 @@ goto bad; snprintf(status, SND_STATUSLEN, "at io 0x%lx irq %ld %s", - rman_get_start(via->reg), rman_get_start(via->irq), + rman_get_start(via->res[RES_MEM]), + rman_get_start(via->res[RES_IRQ]), PCM_KLDSTRING(snd_via82c686)); /* Register */ @@ -602,15 +600,8 @@ return 0; bad: if (via->codec) ac97_destroy(via->codec); - if (via->reg) bus_release_resource(dev, SYS_RES_IOPORT, via->regid, via->reg); - if (via->ih) bus_teardown_intr(dev, via->irq, via->ih); - if (via->irq) bus_release_resource(dev, SYS_RES_IRQ, via->irqid, via->irq); - if (via->parent_dmat) bus_dma_tag_destroy(via->parent_dmat); - if (via->sgd_dmamap) bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); - if (via->sgd_table) bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); - if (via->sgd_dmat) bus_dma_tag_destroy(via->sgd_dmat); - if (via->lock) snd_mtxfree(via->lock); - if (via) free(via, M_DEVBUF); + via_destroy(dev, via); + return ENXIO; } @@ -625,15 +616,8 @@ return r; via = pcm_getdevinfo(dev); - bus_release_resource(dev, SYS_RES_IOPORT, via->regid, via->reg); - bus_teardown_intr(dev, via->irq, via->ih); - bus_release_resource(dev, SYS_RES_IRQ, via->irqid, via->irq); - bus_dma_tag_destroy(via->parent_dmat); - bus_dmamap_unload(via->sgd_dmat, via->sgd_dmamap); - bus_dmamem_free(via->sgd_dmat, via->sgd_table, via->sgd_dmamap); - bus_dma_tag_destroy(via->sgd_dmat); - snd_mtxfree(via->lock); - free(via, M_DEVBUF); + via_destroy(dev, via); + return 0; } From owner-p4-projects@FreeBSD.ORG Sat Jul 28 16:03:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 93EED16A41F; Sat, 28 Jul 2007 16:03:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 690E116A419 for ; Sat, 28 Jul 2007 16:03:13 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6233513C465 for ; Sat, 28 Jul 2007 16:03:13 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SG3D0S048857 for ; Sat, 28 Jul 2007 16:03:13 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SG3CK3048854 for perforce@freebsd.org; Sat, 28 Jul 2007 16:03:12 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 16:03:12 GMT Message-Id: <200707281603.l6SG3CK3048854@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124268 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 16:03:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=124268 Change 124268 by loafier@chrisdsoc on 2007/07/28 16:02:31 Edited for bus_alloc_resources(), etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/t4dwave.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/t4dwave.c#2 (text+ko) ==== @@ -78,17 +78,26 @@ struct tr_info *parent; }; +enum { + RES_MEM, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec tr_res_spec[] = { + {SYS_RES_IOPORT, PCIR_BAR(0), RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + /* device private data */ struct tr_info { u_int32_t type; u_int32_t rev; - bus_space_tag_t st; - bus_space_handle_t sh; bus_dma_tag_t parent_dmat; - struct resource *reg, *irq; - int regtype, regid, irqid; + struct resource *res[RES_SZ]; void *ih; struct mtx *lock; @@ -131,38 +140,14 @@ /* -------------------------------------------------------------------- */ /* Hardware */ +#define tr_rd1(_sc, _reg) bus_read_1((_sc)->res[RES_MEM], _reg) +#define tr_rd2(_sc, _reg) bus_read_2((_sc)->res[RES_MEM], _reg) +#define tr_rd4(_sc, _reg) bus_read_4((_sc)->res[RES_MEM], _reg) +#define tr_wr1(_sc, _reg, _val) bus_write_1((_sc)->res[RES_MEM], _reg, _val) +#define tr_wr2(_sc, _reg, _val) bus_write_2((_sc)->res[RES_MEM], _reg, _val) +#define tr_wr4(_sc, _reg, _val) bus_write_4((_sc)->res[RES_MEM], _reg, _val) -static u_int32_t -tr_rd(struct tr_info *tr, int regno, int size) -{ - switch(size) { - case 1: - return bus_space_read_1(tr->st, tr->sh, regno); - case 2: - return bus_space_read_2(tr->st, tr->sh, regno); - case 4: - return bus_space_read_4(tr->st, tr->sh, regno); - default: - return 0xffffffff; - } -} -static void -tr_wr(struct tr_info *tr, int regno, u_int32_t data, int size) -{ - switch(size) { - case 1: - bus_space_write_1(tr->st, tr->sh, regno, data); - break; - case 2: - bus_space_write_2(tr->st, tr->sh, regno, data); - break; - case 4: - bus_space_write_4(tr->st, tr->sh, regno, data); - break; - } -} - /* -------------------------------------------------------------------- */ /* ac97 codec */ @@ -205,20 +190,20 @@ u_int32_t chk1, chk2; j = trw; for (i = TR_TIMEOUT_CDC; (i > 0) && (j & trw); i--) - j = tr_rd(tr, treg, 4); + j = tr_rd4(tr, treg); if (i > 0) { - chk1 = tr_rd(tr, 0xc8, 4); - chk2 = tr_rd(tr, 0xc8, 4); + chk1 = tr_rd4(tr, 0xc8); + chk2 = tr_rd4(tr, 0xc8); for (i = TR_TIMEOUT_CDC; (i > 0) && (chk1 == chk2); i--) - chk2 = tr_rd(tr, 0xc8, 4); + chk2 = tr_rd4(tr, 0xc8); } } if (tr->type != ALI_PCI_ID || i > 0) { - tr_wr(tr, treg, regno | trw, 4); + tr_wr4(tr, treg, regno | trw); j=trw; for (i=TR_TIMEOUT_CDC; (i > 0) && (j & trw); i--) - j=tr_rd(tr, treg, 4); + j=tr_rd4(tr, treg); } snd_mtxunlock(tr->lock); if (i == 0) printf("codec timeout during read of register %x\n", regno); @@ -261,22 +246,22 @@ if (tr->type == ALI_PCI_ID) { j = trw; for (i = TR_TIMEOUT_CDC; (i > 0) && (j & trw); i--) - j = tr_rd(tr, treg, 4); + j = tr_rd4(tr, treg); if (i > 0) { u_int32_t chk1, chk2; - chk1 = tr_rd(tr, 0xc8, 4); - chk2 = tr_rd(tr, 0xc8, 4); + chk1 = tr_rd4(tr, 0xc8); + chk2 = tr_rd4(tr, 0xc8); for (i = TR_TIMEOUT_CDC; (i > 0) && (chk1 == chk2); i--) - chk2 = tr_rd(tr, 0xc8, 4); + chk2 = tr_rd4(tr, 0xc8); } } if (tr->type != ALI_PCI_ID || i > 0) { for (i=TR_TIMEOUT_CDC; (i>0) && (j & trw); i--) - j=tr_rd(tr, treg, 4); + j=tr_rd4(tr, treg); if (tr->type == ALI_PCI_ID && tr->rev > 0x01) trw |= 0x0100; - tr_wr(tr, treg, (data << TR_CDC_DATA) | regno | trw, 4); + tr_wr4(tr, treg, (data << TR_CDC_DATA) | regno | trw); } #if 0 printf(" - wrote %x, now %x\n", data, tr_rdcd(devinfo, regno)); @@ -305,7 +290,7 @@ bank = (ch->index & 0x20) ? 1 : 0; chan = ch->index & 0x1f; - return tr_rd(tr, bank? TR_REG_ADDRINTB : TR_REG_ADDRINTA, 4) & (1 << chan); + return tr_rd4(tr, bank? TR_REG_ADDRINTB : TR_REG_ADDRINTA) & (1 << chan); } #endif @@ -317,7 +302,7 @@ bank = (ch->index & 0x20) ? 1 : 0; chan = ch->index & 0x1f; - tr_wr(tr, bank? TR_REG_ADDRINTB : TR_REG_ADDRINTA, 1 << chan, 4); + tr_wr4(tr, bank? TR_REG_ADDRINTB : TR_REG_ADDRINTA, 1 << chan); } static void @@ -332,12 +317,12 @@ chan = ch->index & 0x1f; reg = bank? TR_REG_INTENB : TR_REG_INTENA; - i = tr_rd(tr, reg, 4); + i = tr_rd4(tr, reg); i &= ~(1 << chan); i |= (enable? 1 : 0) << chan; tr_clrint(ch); - tr_wr(tr, reg, i, 4); + tr_wr4(tr, reg, i); snd_mtxunlock(tr->lock); } @@ -349,10 +334,10 @@ struct tr_info *tr = ch->parent; int i; - i = tr_rd(tr, TR_REG_CIR, 4); + i = tr_rd4(tr, TR_REG_CIR); i &= ~TR_CIR_MASK; i |= ch->index & 0x3f; - tr_wr(tr, TR_REG_CIR, i, 4); + tr_wr4(tr, TR_REG_CIR, i); } static void @@ -363,7 +348,7 @@ bank = (ch->index & 0x20) ? 1 : 0; chan = ch->index & 0x1f; - tr_wr(tr, bank? TR_REG_STARTB : TR_REG_STARTA, 1 << chan, 4); + tr_wr4(tr, bank? TR_REG_STARTB : TR_REG_STARTA, 1 << chan); } static void @@ -374,7 +359,7 @@ bank = (ch->index & 0x20) ? 1 : 0; chan = ch->index & 0x1f; - tr_wr(tr, bank? TR_REG_STOPB : TR_REG_STOPA, 1 << chan, 4); + tr_wr4(tr, bank? TR_REG_STOPB : TR_REG_STOPA, 1 << chan); } static void @@ -420,7 +405,7 @@ snd_mtxlock(tr->lock); tr_selch(ch); for (i=0; ilock); } @@ -433,7 +418,7 @@ snd_mtxlock(tr->lock); tr_selch(ch); for (i=0; i<5; i++) - cr[i]=tr_rd(tr, TR_REG_CHNBASE+(i<<2), 4); + cr[i]=tr_rd4(tr, TR_REG_CHNBASE+(i<<2)); snd_mtxunlock(tr->lock); @@ -618,10 +603,10 @@ bits = tr_fmttobits(format); /* set # of samples between interrupts */ i = (sndbuf_runsz(ch->buffer) >> ((bits & 0x08)? 1 : 0)) - 1; - tr_wr(tr, TR_REG_SBBL, i | (i << 16), 4); + tr_wr4(tr, TR_REG_SBBL, i | (i << 16)); /* set sample format */ i = 0x18 | (bits << 4); - tr_wr(tr, TR_REG_SBCTRL, i, 1); + tr_wr1(tr, TR_REG_SBCTRL, i); return 0; @@ -635,7 +620,7 @@ /* setup speed */ ch->delta = (48000 << 12) / speed; - tr_wr(tr, TR_REG_SBDELTA, ch->delta, 2); + tr_wr2(tr, TR_REG_SBDELTA, ch->delta); /* return closest possible speed */ return (48000 << 12) / ch->delta; @@ -663,19 +648,19 @@ if (go == PCMTRIG_START) { /* set up dma mode regs */ - tr_wr(tr, TR_REG_DMAR15, 0, 1); - i = tr_rd(tr, TR_REG_DMAR11, 1) & 0x03; - tr_wr(tr, TR_REG_DMAR11, i | 0x54, 1); + tr_wr1(tr, TR_REG_DMAR15, 0); + i = tr_rd1(tr, TR_REG_DMAR11) & 0x03; + tr_wr1(tr, TR_REG_DMAR11, i | 0x54); /* set up base address */ - tr_wr(tr, TR_REG_DMAR0, sndbuf_getbufaddr(ch->buffer), 4); + tr_wr4(tr, TR_REG_DMAR0, sndbuf_getbufaddr(ch->buffer)); /* set up buffer size */ - i = tr_rd(tr, TR_REG_DMAR4, 4) & ~0x00ffffff; - tr_wr(tr, TR_REG_DMAR4, i | (sndbuf_runsz(ch->buffer) - 1), 4); + i = tr_rd4(tr, TR_REG_DMAR4) & ~0x00ffffff; + tr_wr4(tr, TR_REG_DMAR4, i | (sndbuf_runsz(ch->buffer) - 1)); /* start */ - tr_wr(tr, TR_REG_SBCTRL, tr_rd(tr, TR_REG_SBCTRL, 1) | 1, 1); + tr_wr1(tr, TR_REG_SBCTRL, tr_rd1(tr, TR_REG_SBCTRL) | 1); ch->active = 1; } else { - tr_wr(tr, TR_REG_SBCTRL, tr_rd(tr, TR_REG_SBCTRL, 1) & ~7, 1); + tr_wr1(tr, TR_REG_SBCTRL, tr_rd1(tr, TR_REG_SBCTRL) & ~7); ch->active = 0; } @@ -690,7 +675,7 @@ struct tr_info *tr = ch->parent; /* return current byte offset of channel */ - return tr_rd(tr, TR_REG_DMAR0, 4) - sndbuf_getbufaddr(ch->buffer); + return tr_rd4(tr, TR_REG_DMAR0) - sndbuf_getbufaddr(ch->buffer); } static struct pcmchan_caps * @@ -722,13 +707,13 @@ u_int32_t active, mask, bufhalf, chnum, intsrc; int tmp; - intsrc = tr_rd(tr, TR_REG_MISCINT, 4); + intsrc = tr_rd4(tr, TR_REG_MISCINT); if (intsrc & TR_INT_ADDR) { chnum = 0; while (chnum < 64) { mask = 0x00000001; - active = tr_rd(tr, (chnum < 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB, 4); - bufhalf = tr_rd(tr, (chnum < 32)? TR_REG_CSPF_A : TR_REG_CSPF_B, 4); + active = tr_rd4(tr, (chnum < 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB); + bufhalf = tr_rd4(tr, (chnum < 32)? TR_REG_CSPF_A : TR_REG_CSPF_B); if (active) { do { if (active & mask) { @@ -748,13 +733,13 @@ } else chnum += 32; - tr_wr(tr, (chnum <= 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB, active, 4); + tr_wr4(tr, (chnum <= 32)? TR_REG_ADDRINTA : TR_REG_ADDRINTB, active); } } if (intsrc & TR_INT_SB) { chn_intr(tr->recchinfo.channel); - tr_rd(tr, TR_REG_SBR9, 1); - tr_rd(tr, TR_REG_SBR10, 1); + tr_rd1(tr, TR_REG_SBR9); + tr_rd1(tr, TR_REG_SBR10); } } @@ -769,21 +754,34 @@ { switch (tr->type) { case SPA_PCI_ID: - tr_wr(tr, SPA_REG_GPIO, 0, 4); - tr_wr(tr, SPA_REG_CODECST, SPA_RST_OFF, 4); + tr_wr4(tr, SPA_REG_GPIO, 0); + tr_wr4(tr, SPA_REG_CODECST, SPA_RST_OFF); break; case TDX_PCI_ID: - tr_wr(tr, TDX_REG_CODECST, TDX_CDC_ON, 4); + tr_wr4(tr, TDX_REG_CODECST, TDX_CDC_ON); break; case TNX_PCI_ID: - tr_wr(tr, TNX_REG_CODECST, TNX_CDC_ON, 4); + tr_wr4(tr, TNX_REG_CODECST, TNX_CDC_ON); break; } - tr_wr(tr, TR_REG_CIR, TR_CIR_MIDENA | TR_CIR_ADDRENA, 4); + tr_wr4(tr, TR_REG_CIR, TR_CIR_MIDENA | TR_CIR_ADDRENA); return 0; } +static void +tr_destroy(device_t dev, struct tr_info *tr) +{ + if (!tr) + return; + + if (tr->ih) bus_teardown_intr(dev, tr->res[RES_IRQ], tr->ih); + bus_release_resources(dev, tr_res_spec, tr->res); + if (tr->parent_dmat) bus_dma_tag_destroy(tr->parent_dmat); + if (tr->lock) snd_mtxfree(tr->lock); + free(tr, M_DEVBUF); +} + static int tr_pci_probe(device_t dev) { @@ -808,7 +806,6 @@ static int tr_pci_attach(device_t dev) { - u_int32_t data; struct tr_info *tr; struct ac97_info *codec = 0; int i; @@ -819,20 +816,11 @@ tr->rev = pci_get_revid(dev); tr->lock = snd_mtxcreate(device_get_nameunit(dev), "snd_t4dwave softc"); - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN|PCIM_CMD_MEMEN|PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); - tr->regid = PCIR_BAR(0); - tr->regtype = SYS_RES_IOPORT; - tr->reg = bus_alloc_resource_any(dev, tr->regtype, &tr->regid, - RF_ACTIVE); - if (tr->reg) { - tr->st = rman_get_bustag(tr->reg); - tr->sh = rman_get_bushandle(tr->reg); - } else { - device_printf(dev, "unable to map register space\n"); + if (bus_alloc_resources(dev, tr_res_spec, tr->res) != 0) { + device_printf(dev, "unable to allocate resources\n"); goto bad; } @@ -848,10 +836,7 @@ if (codec == NULL) goto bad; if (mixer_init(dev, ac97_getmixerclass(), codec) == -1) goto bad; - tr->irqid = 0; - tr->irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &tr->irqid, - RF_ACTIVE | RF_SHAREABLE); - if (!tr->irq || snd_setup_intr(dev, tr->irq, 0, tr_intr, tr, &tr->ih)) { + if (snd_setup_intr(dev, tr->res[RES_IRQ], 0, tr_intr, tr, &tr->ih)) { device_printf(dev, "unable to map interrupt\n"); goto bad; } @@ -869,7 +854,9 @@ } snprintf(status, 64, "at io 0x%lx irq %ld %s", - rman_get_start(tr->reg), rman_get_start(tr->irq),PCM_KLDSTRING(snd_t4dwave)); + rman_get_start(tr->res[RES_MEM]), + rman_get_start(tr->res[RES_IRQ]), + PCM_KLDSTRING(snd_t4dwave)); if (pcm_register(dev, tr, TR_MAXPLAYCH, 1)) goto bad; pcm_addchan(dev, PCMDIR_REC, &trrchan_class, tr); @@ -881,12 +868,8 @@ bad: if (codec) ac97_destroy(codec); - if (tr->reg) bus_release_resource(dev, tr->regtype, tr->regid, tr->reg); - if (tr->ih) bus_teardown_intr(dev, tr->irq, tr->ih); - if (tr->irq) bus_release_resource(dev, SYS_RES_IRQ, tr->irqid, tr->irq); - if (tr->parent_dmat) bus_dma_tag_destroy(tr->parent_dmat); - if (tr->lock) snd_mtxfree(tr->lock); - free(tr, M_DEVBUF); + tr_destroy(dev, tr); + return ENXIO; } @@ -901,12 +884,7 @@ return r; tr = pcm_getdevinfo(dev); - bus_release_resource(dev, tr->regtype, tr->regid, tr->reg); - bus_teardown_intr(dev, tr->irq, tr->ih); - bus_release_resource(dev, SYS_RES_IRQ, tr->irqid, tr->irq); - bus_dma_tag_destroy(tr->parent_dmat); - snd_mtxfree(tr->lock); - free(tr, M_DEVBUF); + tr_destroy(dev, tr); return 0; } From owner-p4-projects@FreeBSD.ORG Sat Jul 28 16:54:18 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E7E4B16A41F; Sat, 28 Jul 2007 16:54:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B398C16A418 for ; Sat, 28 Jul 2007 16:54:17 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A2B5613C458 for ; Sat, 28 Jul 2007 16:54:17 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SGsHZF063204 for ; Sat, 28 Jul 2007 16:54:17 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SGsHQJ063201 for perforce@freebsd.org; Sat, 28 Jul 2007 16:54:17 GMT (envelope-from loafier@FreeBSD.org) Date: Sat, 28 Jul 2007 16:54:17 GMT Message-Id: <200707281654.l6SGsHQJ063201@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 124270 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 16:54:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=124270 Change 124270 by loafier@chrisdsoc on 2007/07/28 16:54:06 Edit for bus_alloc_resources, etc Affected files ... .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/envy24.c#2 edit Differences ... ==== //depot/projects/soc2007/loafier_busalloc/src/sys/dev/sound/pci/envy24.c#2 (text+ko) ==== @@ -109,37 +109,38 @@ struct codec_entry *codec; }; +enum { + RES_CS, + RES_DDMA, + RES_DS, + RES_MT, + RES_IRQ, + RES_SZ +}; + +static struct resource_spec envy24_res_spec[] = { + {SYS_RES_IOPORT, PCIR_CCS, RF_ACTIVE}, + {SYS_RES_IOPORT, PCIR_DDMA, RF_ACTIVE}, + {SYS_RES_IOPORT, PCIR_DS, RF_ACTIVE}, + {SYS_RES_IOPORT, PCIR_MT, RF_ACTIVE}, + {SYS_RES_IRQ, 0, RF_ACTIVE | RF_SHAREABLE}, + {-1, 0, 0} +}; + /* device private data */ struct sc_info { device_t dev; struct mtx *lock; /* Control/Status registor */ - struct resource *cs; - int csid; - bus_space_tag_t cst; - bus_space_handle_t csh; /* DDMA registor */ - struct resource *ddma; - int ddmaid; - bus_space_tag_t ddmat; - bus_space_handle_t ddmah; /* Consumer Section DMA Channel Registers */ - struct resource *ds; - int dsid; - bus_space_tag_t dst; - bus_space_handle_t dsh; /* MultiTrack registor */ - struct resource *mt; - int mtid; - bus_space_tag_t mtt; - bus_space_handle_t mth; /* DMA tag */ - bus_dma_tag_t dmat; /* IRQ resource */ - struct resource *irq; - int irqid; + struct resource *res[RES_SZ]; void *ih; + bus_dma_tag_t dmat; /* system configuration data */ struct cfg_info *cfg; @@ -350,80 +351,38 @@ /* -------------------------------------------------------------------- */ /* common routines */ -static u_int32_t -envy24_rdcs(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->cst, sc->csh, regno); - case 2: - return bus_space_read_2(sc->cst, sc->csh, regno); - case 4: - return bus_space_read_4(sc->cst, sc->csh, regno); - default: - return 0xffffffff; - } -} +#define envy24_rdcs1(_sc, _reg) bus_read_1((_sc)->res[RES_CS], _reg) +#define envy24_rdcs2(_sc, _reg) bus_read_2((_sc)->res[RES_CS], _reg) +#define envy24_rdcs4(_sc, _reg) bus_read_4((_sc)->res[RES_CS], _reg) +#define envy24_wrcs1(_sc, _reg, _val) \ + bus_write_1((_sc)->res[RES_CS], _reg, _val) +#define envy24_wrcs2(_sc, _reg, _val) \ + bus_write_2((_sc)->res[RES_CS], _reg, _val) +#define envy24_wrcs4(_sc, _reg, _val) \ + bus_write_4((_sc)->res[RES_CS], _reg, _val) -static void -envy24_wrcs(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->cst, sc->csh, regno, data); - break; - case 2: - bus_space_write_2(sc->cst, sc->csh, regno, data); - break; - case 4: - bus_space_write_4(sc->cst, sc->csh, regno, data); - break; - } -} +#define envy24_rdmt1(_sc, _reg) bus_read_1((_sc)->res[RES_MT], _reg) +#define envy24_rdmt2(_sc, _reg) bus_read_2((_sc)->res[RES_MT], _reg) +#define envy24_rdmt4(_sc, _reg) bus_read_4((_sc)->res[RES_MT], _reg) +#define envy24_wrmt1(_sc, _reg, _val) \ + bus_write_1((_sc)->res[RES_MT], _reg, _val) +#define envy24_wrmt2(_sc, _reg, _val) \ + bus_write_2((_sc)->res[RES_MT], _reg, _val) +#define envy24_wrmt4(_sc, _reg, _val) \ + bus_write_4((_sc)->res[RES_MT], _reg, _val) static u_int32_t -envy24_rdmt(struct sc_info *sc, int regno, int size) -{ - switch (size) { - case 1: - return bus_space_read_1(sc->mtt, sc->mth, regno); - case 2: - return bus_space_read_2(sc->mtt, sc->mth, regno); - case 4: - return bus_space_read_4(sc->mtt, sc->mth, regno); - default: - return 0xffffffff; - } -} - -static void -envy24_wrmt(struct sc_info *sc, int regno, u_int32_t data, int size) -{ - switch (size) { - case 1: - bus_space_write_1(sc->mtt, sc->mth, regno, data); - break; - case 2: - bus_space_write_2(sc->mtt, sc->mth, regno, data); - break; - case 4: - bus_space_write_4(sc->mtt, sc->mth, regno, data); - break; - } -} - -static u_int32_t envy24_rdci(struct sc_info *sc, int regno) { - envy24_wrcs(sc, ENVY24_CCS_INDEX, regno, 1); - return envy24_rdcs(sc, ENVY24_CCS_DATA, 1); + envy24_wrcs1(sc, ENVY24_CCS_INDEX, regno); + return envy24_rdcs1(sc, ENVY24_CCS_DATA); } static void envy24_wrci(struct sc_info *sc, int regno, u_int32_t data) { - envy24_wrcs(sc, ENVY24_CCS_INDEX, regno, 1); - envy24_wrcs(sc, ENVY24_CCS_DATA, data, 1); + envy24_wrcs1(sc, ENVY24_CCS_INDEX, regno); + envy24_wrcs1(sc, ENVY24_CCS_DATA, data); } /* -------------------------------------------------------------------- */ @@ -440,7 +399,7 @@ device_printf(sc->dev, "envy24_rdi2c(sc, 0x%02x, 0x%02x)\n", dev, addr); #endif for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdcs(sc, ENVY24_CCS_I2CSTAT, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_I2CSTAT); if ((data & ENVY24_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -448,11 +407,11 @@ if (i == ENVY24_TIMEOUT) { return -1; } - envy24_wrcs(sc, ENVY24_CCS_I2CADDR, addr, 1); - envy24_wrcs(sc, ENVY24_CCS_I2CDEV, - (dev & ENVY24_CCS_I2CDEV_ADDR) | ENVY24_CCS_I2CDEV_RD, 1); + envy24_wrcs1(sc, ENVY24_CCS_I2CADDR, addr); + envy24_wrcs1(sc, ENVY24_CCS_I2CDEV, + (dev & ENVY24_CCS_I2CDEV_ADDR) | ENVY24_CCS_I2CDEV_RD); for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdcs(sc, ENVY24_CCS_I2CSTAT, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_I2CSTAT); if ((data & ENVY24_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -460,7 +419,7 @@ if (i == ENVY24_TIMEOUT) { return -1; } - data = envy24_rdcs(sc, ENVY24_CCS_I2CDATA, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_I2CDATA); #if(0) device_printf(sc->dev, "envy24_rdi2c(): return 0x%x\n", data); @@ -479,7 +438,7 @@ device_printf(sc->dev, "envy24_rdi2c(sc, 0x%02x, 0x%02x)\n", dev, addr); #endif for (i = 0; i < ENVY24_TIMEOUT; i++) { - tmp = envy24_rdcs(sc, ENVY24_CCS_I2CSTAT, 1); + tmp = envy24_rdcs1(sc, ENVY24_CCS_I2CSTAT); if ((tmp & ENVY24_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -487,12 +446,12 @@ if (i == ENVY24_TIMEOUT) { return -1; } - envy24_wrcs(sc, ENVY24_CCS_I2CADDR, addr, 1); - envy24_wrcs(sc, ENVY24_CCS_I2CDATA, data, 1); - envy24_wrcs(sc, ENVY24_CCS_I2CDEV, - (dev & ENVY24_CCS_I2CDEV_ADDR) | ENVY24_CCS_I2CDEV_WR, 1); + envy24_wrcs1(sc, ENVY24_CCS_I2CADDR, addr); + envy24_wrcs1(sc, ENVY24_CCS_I2CDATA, data); + envy24_wrcs1(sc, ENVY24_CCS_I2CDEV, + (dev & ENVY24_CCS_I2CDEV_ADDR) | ENVY24_CCS_I2CDEV_WR); for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdcs(sc, ENVY24_CCS_I2CSTAT, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_I2CSTAT); if ((data & ENVY24_CCS_I2CSTAT_BSY) == 0) break; DELAY(32); /* 31.25kHz */ @@ -513,7 +472,7 @@ #if(0) device_printf(sc->dev, "envy24_rdrom(sc, 0x%02x)\n", addr); #endif - data = envy24_rdcs(sc, ENVY24_CCS_I2CSTAT, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_I2CSTAT); if ((data & ENVY24_CCS_I2CSTAT_ROM) == 0) { #if(0) device_printf(sc->dev, "envy24_rdrom(): E2PROM not presented\n"); @@ -595,12 +554,12 @@ #if(0) device_printf(sc->dev, "envy24_coldcd()\n"); #endif - envy24_wrmt(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_CLD, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_CLD); DELAY(10); - envy24_wrmt(sc, ENVY24_MT_AC97CMD, 0, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, 0); DELAY(1000); for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdmt(sc, ENVY24_MT_AC97CMD, 1); + data = envy24_rdmt1(sc, ENVY24_MT_AC97CMD); if (data & ENVY24_MT_AC97CMD_RDY) { return 0; } @@ -619,13 +578,13 @@ #if(0) device_printf(sc->dev, "envy24_slavecd()\n"); #endif - envy24_wrmt(sc, ENVY24_MT_AC97CMD, - ENVY24_MT_AC97CMD_CLD | ENVY24_MT_AC97CMD_WRM, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, + ENVY24_MT_AC97CMD_CLD | ENVY24_MT_AC97CMD_WRM); DELAY(10); - envy24_wrmt(sc, ENVY24_MT_AC97CMD, 0, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, 0); DELAY(1000); for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdmt(sc, ENVY24_MT_AC97CMD, 1); + data = envy24_rdmt1(sc, ENVY24_MT_AC97CMD); if (data & ENVY24_MT_AC97CMD_RDY) { return 0; } @@ -645,14 +604,14 @@ #if(0) device_printf(sc->dev, "envy24_rdcd(obj, sc, 0x%02x)\n", regno); #endif - envy24_wrmt(sc, ENVY24_MT_AC97IDX, (u_int32_t)regno, 1); - envy24_wrmt(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_RD, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97IDX, (u_int32_t)regno); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_RD); for (i = 0; i < ENVY24_TIMEOUT; i++) { - data = envy24_rdmt(sc, ENVY24_MT_AC97CMD, 1); + data = envy24_rdmt1(sc, ENVY24_MT_AC97CMD); if ((data & ENVY24_MT_AC97CMD_RD) == 0) break; } - data = envy24_rdmt(sc, ENVY24_MT_AC97DLO, 2); + data = envy24_rdmt2(sc, ENVY24_MT_AC97DLO); #if(0) device_printf(sc->dev, "envy24_rdcd(): return 0x%x\n", data); @@ -670,11 +629,11 @@ #if(0) device_printf(sc->dev, "envy24_wrcd(obj, sc, 0x%02x, 0x%04x)\n", regno, data); #endif - envy24_wrmt(sc, ENVY24_MT_AC97IDX, (u_int32_t)regno, 1); - envy24_wrmt(sc, ENVY24_MT_AC97DLO, (u_int32_t)data, 2); - envy24_wrmt(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_WR, 1); + envy24_wrmt1(sc, ENVY24_MT_AC97IDX, (u_int32_t)regno); + envy24_wrmt2(sc, ENVY24_MT_AC97DLO, (u_int32_t)data); + envy24_wrmt1(sc, ENVY24_MT_AC97CMD, ENVY24_MT_AC97CMD_WR); for (i = 0; i < ENVY24_TIMEOUT; i++) { - cmd = envy24_rdmt(sc, ENVY24_MT_AC97CMD, 1); + cmd = envy24_rdmt1(sc, ENVY24_MT_AC97CMD); if ((cmd & ENVY24_MT_AC97CMD_WR) == 0) break; } @@ -1065,8 +1024,8 @@ device_printf(sc->dev, "envy24_setspeed(): speed %d/code 0x%04x\n", envy24_speedtab[i].speed, code); #endif if (code < 0x10) { - envy24_wrmt(sc, ENVY24_MT_RATE, code, 1); - code = envy24_rdmt(sc, ENVY24_MT_RATE, 1); + envy24_wrmt1(sc, ENVY24_MT_RATE, code); + code = envy24_rdmt1(sc, ENVY24_MT_RATE); code &= ENVY24_MT_RATE_MASK; for (i = 0; envy24_speedtab[i].code < 0x10; i++) { if (envy24_speedtab[i].code == code) @@ -1090,16 +1049,16 @@ device_printf(sc->dev, "envy24_setvolume(sc, %d)\n", ch); #endif if (sc->cfg->subvendor==0x153b && sc->cfg->subdevice==0x1138 ) { - envy24_wrmt(sc, ENVY24_MT_VOLIDX, 16, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, 0x7f7f, 2); - envy24_wrmt(sc, ENVY24_MT_VOLIDX, 17, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, 0x7f7f, 2); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, 16); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, 0x7f7f); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, 17); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, 0x7f7f); } - envy24_wrmt(sc, ENVY24_MT_VOLIDX, ch * 2, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, 0x7f00 | sc->left[ch], 2); - envy24_wrmt(sc, ENVY24_MT_VOLIDX, ch * 2 + 1, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, (sc->right[ch] << 8) | 0x7f, 2); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, ch * 2); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, 0x7f00 | sc->left[ch]); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, ch * 2 + 1); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, (sc->right[ch] << 8) | 0x7f); } static void @@ -1111,10 +1070,10 @@ device_printf(sc->dev, "envy24_mutevolume(sc, %d)\n", ch); #endif vol = ENVY24_VOL_MUTE << 8 | ENVY24_VOL_MUTE; - envy24_wrmt(sc, ENVY24_MT_VOLIDX, ch * 2, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, vol, 2); - envy24_wrmt(sc, ENVY24_MT_VOLIDX, ch * 2 + 1, 1); - envy24_wrmt(sc, ENVY24_MT_VOLUME, vol, 2); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, ch * 2); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, vol); + envy24_wrmt1(sc, ENVY24_MT_VOLIDX, ch * 2 + 1); + envy24_wrmt2(sc, ENVY24_MT_VOLUME, vol); } static u_int32_t @@ -1137,7 +1096,7 @@ regno = ENVY24_MT_RCNT; } - ptr = envy24_rdmt(sc, regno, 2); + ptr = envy24_rdmt2(sc, regno); rtn -= (ptr + 1); rtn /= unit; @@ -1173,7 +1132,7 @@ mask = ~ENVY24_MT_INT_RMASK; } - ptr = size - envy24_rdmt(sc, regptr, 2) - 1; + ptr = size - envy24_rdmt2(sc, regptr) - 1; /* cnt = blk - ptr % blk - 1; if (cnt == 0) @@ -1183,15 +1142,15 @@ #if(0) device_printf(sc->dev, "envy24_updintr():ptr = %d, blk = %d, cnt = %d\n", ptr, blk, cnt); #endif - envy24_wrmt(sc, regintr, cnt, 2); - intr = envy24_rdmt(sc, ENVY24_MT_INT, 1); + envy24_wrmt2(sc, regintr, cnt); + intr = envy24_rdmt1(sc, ENVY24_MT_INT); #if(0) device_printf(sc->dev, "envy24_updintr():intr = 0x%02x, mask = 0x%02x\n", intr, mask); #endif - envy24_wrmt(sc, ENVY24_MT_INT, intr & mask, 1); + envy24_wrmt1(sc, ENVY24_MT_INT, intr & mask); #if(0) device_printf(sc->dev, "envy24_updintr():INT-->0x%02x\n", - envy24_rdmt(sc, ENVY24_MT_INT, 1)); + envy24_rdmt1(sc, ENVY24_MT_INT)); #endif return; @@ -1210,8 +1169,8 @@ mask = ENVY24_MT_INT_PMASK; else mask = ENVY24_MT_INT_RMASK; - intr = envy24_rdmt(sc, ENVY24_MT_INT, 1); - envy24_wrmt(sc, ENVY24_MT_INT, intr | mask, 1); + intr = envy24_rdmt1(sc, ENVY24_MT_INT); + envy24_wrmt1(sc, ENVY24_MT_INT, intr | mask); return; } @@ -1225,19 +1184,19 @@ #if(0) device_printf(sc->dev, "envy24_checkintr(sc, %d)\n", dir); #endif - intr = envy24_rdmt(sc, ENVY24_MT_INT, 1); + intr = envy24_rdmt1(sc, ENVY24_MT_INT); if (dir == PCMDIR_PLAY) { if ((rtn = intr & ENVY24_MT_INT_PSTAT) != 0) { mask = ~ENVY24_MT_INT_RSTAT; stat = ENVY24_MT_INT_PSTAT | ENVY24_MT_INT_PMASK; - envy24_wrmt(sc, ENVY24_MT_INT, (intr & mask) | stat, 1); + envy24_wrmt1(sc, ENVY24_MT_INT, (intr & mask) | stat); } } else { if ((rtn = intr & ENVY24_MT_INT_RSTAT) != 0) { mask = ~ENVY24_MT_INT_PSTAT; stat = ENVY24_MT_INT_RSTAT | ENVY24_MT_INT_RMASK; - envy24_wrmt(sc, ENVY24_MT_INT, (intr & mask) | stat, 1); + envy24_wrmt1(sc, ENVY24_MT_INT, (intr & mask) | stat); } } @@ -1257,12 +1216,12 @@ else sw = ENVY24_MT_PCTL_RSTART; - stat = envy24_rdmt(sc, ENVY24_MT_PCTL, 1); - envy24_wrmt(sc, ENVY24_MT_PCTL, stat | sw, 1); + stat = envy24_rdmt1(sc, ENVY24_MT_PCTL); + envy24_wrmt1(sc, ENVY24_MT_PCTL, stat | sw); #if(0) DELAY(100); - device_printf(sc->dev, "PADDR:0x%08x\n", envy24_rdmt(sc, ENVY24_MT_PADDR, 4)); - device_printf(sc->dev, "PCNT:%ld\n", envy24_rdmt(sc, ENVY24_MT_PCNT, 2)); + device_printf(sc->dev, "PADDR:0x%08x\n", envy24_rdmt4(sc, ENVY24_MT_PADDR)); + device_printf(sc->dev, "PCNT:%ld\n", envy24_rdmt2(sc, ENVY24_MT_PCNT)); #endif return; @@ -1281,8 +1240,8 @@ else sw = ~ENVY24_MT_PCTL_RSTART; - stat = envy24_rdmt(sc, ENVY24_MT_PCTL, 1); - envy24_wrmt(sc, ENVY24_MT_PCTL, stat & sw, 1); + stat = envy24_rdmt1(sc, ENVY24_MT_PCTL); + envy24_wrmt1(sc, ENVY24_MT_PCTL, stat & sw); return; } @@ -1319,28 +1278,28 @@ #if(0) device_printf(sc->dev, "envy24_route(): MT_SPDOUT-->0x%04x\n", reg); #endif - envy24_wrmt(sc, ENVY24_MT_SPDOUT, reg, 2); + envy24_wrmt2(sc, ENVY24_MT_SPDOUT, reg); } else { mask = ~(0x0303 << dac * 2); - reg = envy24_rdmt(sc, ENVY24_MT_PSDOUT, 2); + reg = envy24_rdmt2(sc, ENVY24_MT_PSDOUT); reg = (reg & mask) | ((class | class << 8) << dac * 2); #if(0) device_printf(sc->dev, "envy24_route(): MT_PSDOUT-->0x%04x\n", reg); #endif - envy24_wrmt(sc, ENVY24_MT_PSDOUT, reg, 2); + envy24_wrmt2(sc, ENVY24_MT_PSDOUT, reg); mask = ~(0xff << dac * 8); - reg = envy24_rdmt(sc, ENVY24_MT_RECORD, 4); + reg = envy24_rdmt4(sc, ENVY24_MT_RECORD); reg = (reg & mask) | (((adc << 1 | left) | left << 3) | ((adc << 1 | right) | right << 3) << 4) << dac * 8; #if(0) device_printf(sc->dev, "envy24_route(): MT_RECORD-->0x%08x\n", reg); #endif - envy24_wrmt(sc, ENVY24_MT_RECORD, reg, 4); + envy24_wrmt4(sc, ENVY24_MT_RECORD, reg); /* 6fire rear input init test */ - envy24_wrmt(sc, ENVY24_MT_RECORD, 0x00, 4); + envy24_wrmt4(sc, ENVY24_MT_RECORD, 0x00); } return 0; @@ -1900,7 +1859,7 @@ /* set volume control rate */ snd_mtxlock(sc->lock); - envy24_wrmt(sc, ENVY24_MT_VOLRATE, 0x30, 1); /* 0x30 is default value */ + envy24_wrmt1(sc, ENVY24_MT_VOLRATE, 0x30); /* 0x30 is default value */ mix_setdevs(m, ENVY24_MIX_MASK); mix_setrecdevs(m, ENVY24_MIX_REC_MASK); @@ -2023,7 +1982,7 @@ device_printf(sc->dev, "envy24_intr(): play\n"); #endif dsize = sc->psize / 4; - ptr = dsize - envy24_rdmt(sc, ENVY24_MT_PCNT, 2) - 1; + ptr = dsize - envy24_rdmt2(sc, ENVY24_MT_PCNT) - 1; #if(0) device_printf(sc->dev, "envy24_intr(): ptr = %d-->", ptr); #endif @@ -2052,7 +2011,7 @@ device_printf(sc->dev, "envy24_intr(): rec\n"); #endif dsize = sc->rsize / 4; - ptr = dsize - envy24_rdmt(sc, ENVY24_MT_RCNT, 2) - 1; + ptr = dsize - envy24_rdmt2(sc, ENVY24_MT_RCNT) - 1; ptr -= ptr % sc->blk[1]; feed = (ptr + dsize - sc->intr[1]) % dsize; for (i = ENVY24_CHAN_REC_ADC1; i <= ENVY24_CHAN_REC_SPDIF; i++) { @@ -2222,18 +2181,18 @@ #if(0) device_printf(sc->dev, "pbuf(0x%08x)\n", addr); #endif - envy24_wrmt(sc, ENVY24_MT_PADDR, addr, 4); + envy24_wrmt4(sc, ENVY24_MT_PADDR, addr); #if(0) - device_printf(sc->dev, "PADDR-->(0x%08x)\n", envy24_rdmt(sc, ENVY24_MT_PADDR, 4)); + device_printf(sc->dev, "PADDR-->(0x%08x)\n", envy24_rdmt4(sc, ENVY24_MT_PADDR)); device_printf(sc->dev, "psize(%ld)\n", sc->psize / 4 - 1); #endif - envy24_wrmt(sc, ENVY24_MT_PCNT, sc->psize / 4 - 1, 2); + envy24_wrmt2(sc, ENVY24_MT_PCNT, sc->psize / 4 - 1); #if(0) - device_printf(sc->dev, "PCNT-->(%ld)\n", envy24_rdmt(sc, ENVY24_MT_PCNT, 2)); + device_printf(sc->dev, "PCNT-->(%ld)\n", envy24_rdmt2(sc, ENVY24_MT_PCNT)); #endif addr = vtophys(sc->rbuf); - envy24_wrmt(sc, ENVY24_MT_RADDR, addr, 4); - envy24_wrmt(sc, ENVY24_MT_RCNT, sc->rsize / 4 - 1, 2); + envy24_wrmt4(sc, ENVY24_MT_RADDR, addr); + envy24_wrmt2(sc, ENVY24_MT_RCNT, sc->rsize / 4 - 1); return 0; bad: @@ -2342,9 +2301,9 @@ #endif /* reset chip */ - envy24_wrcs(sc, ENVY24_CCS_CTL, ENVY24_CCS_CTL_RESET | ENVY24_CCS_CTL_NATIVE, 1); + envy24_wrcs1(sc, ENVY24_CCS_CTL, ENVY24_CCS_CTL_RESET | ENVY24_CCS_CTL_NATIVE); DELAY(200); - envy24_wrcs(sc, ENVY24_CCS_CTL, ENVY24_CCS_CTL_NATIVE, 1); + envy24_wrcs1(sc, ENVY24_CCS_CTL, ENVY24_CCS_CTL_NATIVE); DELAY(200); /* legacy hardware disable */ @@ -2414,9 +2373,9 @@ /* envy24_route(sc, ENVY24_ROUTE_DAC_SPDIF, ENVY24_ROUTE_CLASS_MIX, 0, 0); */ /* set macro interrupt mask */ - data = envy24_rdcs(sc, ENVY24_CCS_IMASK, 1); - envy24_wrcs(sc, ENVY24_CCS_IMASK, data & ~ENVY24_CCS_IMASK_PMT, 1); - data = envy24_rdcs(sc, ENVY24_CCS_IMASK, 1); + data = envy24_rdcs1(sc, ENVY24_CCS_IMASK); + envy24_wrcs1(sc, ENVY24_CCS_IMASK, data & ~ENVY24_CCS_IMASK_PMT); + data = envy24_rdcs1(sc, ENVY24_CCS_IMASK); #if(0) device_printf(sc->dev, "envy24_init(): CCS_IMASK-->0x%02x\n", data); #endif @@ -2428,30 +2387,11 @@ envy24_alloc_resource(struct sc_info *sc) { /* allocate I/O port resource */ - sc->csid = PCIR_CCS; - sc->cs = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->csid, 0, ~0, 1, RF_ACTIVE); - sc->ddmaid = PCIR_DDMA; - sc->ddma = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->ddmaid, 0, ~0, 1, RF_ACTIVE); - sc->dsid = PCIR_DS; - sc->ds = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->dsid, 0, ~0, 1, RF_ACTIVE); - sc->mtid = PCIR_MT; - sc->mt = bus_alloc_resource(sc->dev, SYS_RES_IOPORT, - &sc->mtid, 0, ~0, 1, RF_ACTIVE); - if (!sc->cs || !sc->ddma || !sc->ds || !sc->mt) { - device_printf(sc->dev, "unable to map IO port space\n"); + if (bus_alloc_resources(sc->dev, envy24_res_spec, sc->res) != 0) { + device_printf(sc->dev, "unable to allocate resources\n"); return ENXIO; } - sc->cst = rman_get_bustag(sc->cs); - sc->csh = rman_get_bushandle(sc->cs); - sc->ddmat = rman_get_bustag(sc->ddma); - sc->ddmah = rman_get_bushandle(sc->ddma); - sc->dst = rman_get_bustag(sc->ds); - sc->dsh = rman_get_bushandle(sc->ds); - sc->mtt = rman_get_bustag(sc->mt); - sc->mth = rman_get_bushandle(sc->mt); + #if(0) device_printf(sc->dev, "IO port register values\nCCS: 0x%lx\nDDMA: 0x%lx\nDS: 0x%lx\nMT: 0x%lx\n", @@ -2462,11 +2402,8 @@ #endif /* allocate interupt resource */ - sc->irqid = 0; - sc->irq = bus_alloc_resource(sc->dev, SYS_RES_IRQ, &sc->irqid, - 0, ~0, 1, RF_ACTIVE | RF_SHAREABLE); - if (!sc->irq || - snd_setup_intr(sc->dev, sc->irq, INTR_MPSAFE, envy24_intr, sc, &sc->ih)) { + if (snd_setup_intr(sc->dev, sc->res[RES_IRQ], INTR_MPSAFE, + envy24_intr, sc, &sc->ih)) { device_printf(sc->dev, "unable to map interrupt\n"); return ENXIO; } @@ -2489,10 +2426,35 @@ return 0; } +static void +envy24_destroy(device_t dev, struct sc_info *sc) +{ + int i; + + if (!sc) + return; + + if (sc->ih) + bus_teardown_intr(dev, sc->res[RES_IRQ], sc->ih); + bus_release_resources(dev, envy24_res_spec, sc->res); + envy24_dmafree(sc); + if (sc->dmat) + bus_dma_tag_destroy(sc->dmat); + if (sc->cfg->codec->destroy != NULL) { + for (i = 0; i < sc->adcn; i++) + sc->cfg->codec->destroy(sc->adc[i]); + for (i = 0; i < sc->dacn; i++) + sc->cfg->codec->destroy(sc->dac[i]); + } + envy24_cfgfree(sc->cfg); + if (sc->lock) + snd_mtxfree(sc->lock); + free(sc, M_ENVY24); +} + static int envy24_pci_attach(device_t dev) { - u_int32_t data; struct sc_info *sc; char status[SND_STATUSLEN]; int err = 0; @@ -2512,10 +2474,8 @@ sc->dev = dev; /* initialize PCI interface */ - data = pci_read_config(dev, PCIR_COMMAND, 2); - data |= (PCIM_CMD_PORTEN | PCIM_CMD_BUSMASTEREN); - pci_write_config(dev, PCIR_COMMAND, data, 2); - data = pci_read_config(dev, PCIR_COMMAND, 2); + pci_enable_busmaster(dev); + pci_enable_io(dev, SYS_RES_IOPORT); /* allocate resources */ err = envy24_alloc_resource(sc); @@ -2551,54 +2511,27 @@ /* set status iformation */ snprintf(status, SND_STATUSLEN, "at io 0x%lx:%ld,0x%lx:%ld,0x%lx:%ld,0x%lx:%ld irq %ld", - rman_get_start(sc->cs), - rman_get_end(sc->cs) - rman_get_start(sc->cs) + 1, - rman_get_start(sc->ddma), - rman_get_end(sc->ddma) - rman_get_start(sc->ddma) + 1, - rman_get_start(sc->ds), - rman_get_end(sc->ds) - rman_get_start(sc->ds) + 1, - rman_get_start(sc->mt), - rman_get_end(sc->mt) - rman_get_start(sc->mt) + 1, - rman_get_start(sc->irq)); + rman_get_start(sc->res[RES_CS]), rman_get_size(sc->res[RES_CS]), + rman_get_start(sc->res[RES_DDMA]), rman_get_size(sc->res[RES_DDMA]), + rman_get_start(sc->res[RES_DS]), rman_get_size(sc->res[RES_DS]), + rman_get_start(sc->res[RES_MT]), rman_get_size(sc->res[RES_MT]), + rman_get_start(sc->res[RES_IRQ])); pcm_setstatus(dev, status); return 0; bad: - if (sc->ih) - bus_teardown_intr(dev, sc->irq, sc->ih); - if (sc->irq) - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - envy24_dmafree(sc); - if (sc->dmat) - bus_dma_tag_destroy(sc->dmat); - if (sc->cfg->codec->destroy != NULL) { - for (i = 0; i < sc->adcn; i++) - sc->cfg->codec->destroy(sc->adc[i]); - for (i = 0; i < sc->dacn; i++) - sc->cfg->codec->destroy(sc->dac[i]); - } - envy24_cfgfree(sc->cfg); - if (sc->cs) - bus_release_resource(dev, SYS_RES_IOPORT, sc->csid, sc->cs); - if (sc->ddma) - bus_release_resource(dev, SYS_RES_IOPORT, sc->ddmaid, sc->ddma); - if (sc->ds) - bus_release_resource(dev, SYS_RES_IOPORT, sc->dsid, sc->ds); - if (sc->mt) - bus_release_resource(dev, SYS_RES_IOPORT, sc->mtid, sc->mt); - if (sc->lock) - snd_mtxfree(sc->lock); - free(sc, M_ENVY24); + envy24_destroy(dev, sc); + return err; } + static int envy24_pci_detach(device_t dev) { struct sc_info *sc; int r; - int i; #if(0) device_printf(dev, "envy24_pci_detach()\n"); @@ -2609,24 +2542,8 @@ r = pcm_unregister(dev); if (r) return r; + envy24_destroy(dev, sc); - envy24_dmafree(sc); - if (sc->cfg->codec->destroy != NULL) { - for (i = 0; i < sc->adcn; i++) - sc->cfg->codec->destroy(sc->adc[i]); - for (i = 0; i < sc->dacn; i++) - sc->cfg->codec->destroy(sc->dac[i]); - } - envy24_cfgfree(sc->cfg); - bus_dma_tag_destroy(sc->dmat); - bus_teardown_intr(dev, sc->irq, sc->ih); - bus_release_resource(dev, SYS_RES_IRQ, sc->irqid, sc->irq); - bus_release_resource(dev, SYS_RES_IOPORT, sc->csid, sc->cs); - bus_release_resource(dev, SYS_RES_IOPORT, sc->ddmaid, sc->ddma); - bus_release_resource(dev, SYS_RES_IOPORT, sc->dsid, sc->ds); - bus_release_resource(dev, SYS_RES_IOPORT, sc->mtid, sc->mt); - snd_mtxfree(sc->lock); - free(sc, M_ENVY24); return 0; } From owner-p4-projects@FreeBSD.ORG Sat Jul 28 17:36:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BE18C16A469; Sat, 28 Jul 2007 17:36:10 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 80C0616A419 for ; Sat, 28 Jul 2007 17:36:10 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6E6A113C46C for ; Sat, 28 Jul 2007 17:36:10 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SHaAIB066826 for ; Sat, 28 Jul 2007 17:36:10 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SHaAKJ066823 for perforce@freebsd.org; Sat, 28 Jul 2007 17:36:10 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 17:36:10 GMT Message-Id: <200707281736.l6SHaAKJ066823@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124272 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 17:36:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=124272 Change 124272 by cnst@dale on 2007/07/28 17:35:44 branch systat(1) Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/Makefile#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/cmds.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/cmdtab.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/convtbl.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/convtbl.h#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/devs.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/devs.h#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/extern.h#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/fetch.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/icmp.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/icmp6.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/ifcmds.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/ifstat.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/iostat.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/ip.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/ip6.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/keyboard.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/main.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/mbufs.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/mode.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/mode.h#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/netcmds.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/netstat.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/pigs.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/swap.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/systat.1#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/systat.h#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/tcp.c#1 branch .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/vmstat.c#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Sat Jul 28 17:44:21 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1699A16A41A; Sat, 28 Jul 2007 17:44:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8E1716A418 for ; Sat, 28 Jul 2007 17:44:20 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AC89113C458 for ; Sat, 28 Jul 2007 17:44:20 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SHiKZS067343 for ; Sat, 28 Jul 2007 17:44:20 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SHiKwh067340 for perforce@freebsd.org; Sat, 28 Jul 2007 17:44:20 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 28 Jul 2007 17:44:20 GMT Message-Id: <200707281744.l6SHiKwh067340@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 124273 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 17:44:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=124273 Change 124273 by zec@zec_tpx32 on 2007/07/28 17:43:35 Rearrange bootstraping of ipport_tick() and tcp_isn_tick() so they are not called directly during system autoconfiguration, but rather exclusively from the system timer scheduler. This prevents a few benign yet annoying vnet stacking warnings from being displayed while the system boots. While here, slightly rearrange the format of vnet stacking warning messages. Affected files ... .. //depot/projects/vimage/src/sys/netinet/ip_input.c#18 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#23 edit .. //depot/projects/vimage/src/sys/sys/vimage.h#27 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/ip_input.c#18 (text+ko) ==== @@ -333,7 +333,7 @@ /* Start ipport_tick. */ callout_init(&ipport_tick_callout, CALLOUT_MPSAFE); - ipport_tick(NULL); + callout_reset(&ipport_tick_callout, 1, ipport_tick, NULL); EVENTHANDLER_REGISTER(shutdown_pre_sync, ip_fini, NULL, SHUTDOWN_PRI_DEFAULT); EVENTHANDLER_REGISTER(nmbclusters_change, ipq_zone_change, ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#23 (text+ko) ==== @@ -371,7 +371,7 @@ tcp_reass_init(); ISN_LOCK_INIT(); callout_init(&isn_callout, CALLOUT_MPSAFE); - tcp_isn_tick(NULL); + callout_reset(&isn_callout, 1, tcp_isn_tick, NULL); EVENTHANDLER_REGISTER(shutdown_pre_sync, tcp_fini, NULL, SHUTDOWN_PRI_DEFAULT); EVENTHANDLER_REGISTER(maxsockets_change, tcp_zone_change, NULL, ==== //depot/projects/vimage/src/sys/sys/vimage.h#27 (text+ko) ==== @@ -167,9 +167,9 @@ #define CURVNET_SET_VERBOSE(arg) \ CURVNET_SET_QUIET(arg) \ if (saved_vnet) \ - printf("curvnet_set() in %s cpu %d: %p (%s) -> %p\n", \ - curthread->td_vnet_lpush, curcpu, saved_vnet, \ - saved_vnet_lpush, curvnet); + printf("curvnet_set(%p) in %s() on cpu %d, prev %s(%p)\n", \ + curvnet, curthread->td_vnet_lpush, curcpu, \ + saved_vnet_lpush, saved_vnet); #define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg) From owner-p4-projects@FreeBSD.ORG Sat Jul 28 17:45:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C839A16A41F; Sat, 28 Jul 2007 17:45:22 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A259516A41A for ; Sat, 28 Jul 2007 17:45:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8DA6E13C48D for ; Sat, 28 Jul 2007 17:45:22 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SHjMEH067418 for ; Sat, 28 Jul 2007 17:45:22 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SHjMxn067415 for perforce@freebsd.org; Sat, 28 Jul 2007 17:45:22 GMT (envelope-from gabor@freebsd.org) Date: Sat, 28 Jul 2007 17:45:22 GMT Message-Id: <200707281745.l6SHjMxn067415@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 124274 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 17:45:23 -0000 http://perforce.freebsd.org/chv.cgi?CH=124274 Change 124274 by gabor@gabor_server on 2007/07/28 17:44:56 IFC Affected files ... .. //depot/projects/soc2006/gabor_destdir/MOVED#15 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.autotools.mk#6 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.gcc.mk#5 integrate .. //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#38 edit .. //depot/projects/soc2006/gabor_destdir/UPDATING#12 integrate Differences ... ==== //depot/projects/soc2006/gabor_destdir/MOVED#15 (text+ko) ==== @@ -1,7 +1,7 @@ # # MOVED - a list of (recently) moved or removed ports # -# $FreeBSD: ports/MOVED,v 1.1432 2007/07/26 13:44:57 bsam Exp $ +# $FreeBSD: ports/MOVED,v 1.1436 2007/07/28 16:41:27 chinsan Exp $ # # Each entry consists of a single line containing the following four # fields in the order named, separated with the pipe (`|') character: @@ -1130,7 +1130,6 @@ security/drwebd|security/drweb|2004-06-29|functionality already in security/drweb www/drivel|deskutils/drivel|2004-06-30|moved to category deskutils devel/autoconf257||2004-07-01|autotools cleanup -devel/automake17||2004-07-01|autotools cleanup devel/libtool14||2004-07-01|autotools cleanup math/libgmp-freebsd|math/libgmp4|2004-07-02|superseded by API compatible version devel/umbrello|devel/kdesdk3|2004-07-02|Umbrello was integrated into kdesdk package @@ -1210,7 +1209,6 @@ audio/libvorbis-aotuv|audio/libvorbis|2004-10-13|The aoTuV enhancement has been merged into the mainstream graphics/kolourpaint|graphics/kdegraphics3|2004-10-13|kolourpaint was integrated into the kdegraphics3 port graphics/kimagemapeditor|www/kdewebdev|2004-10-13|kimagemapeditor was integrated into the kdewebdev port -devel/automake18|devel/automake19|2004-10-15|automake18 replaced with automake19 www/zope-cmftransforms|www/zope-portaltransforms|2004-10-16|renamed by authors dns/bind9-sdb-mysql||2004-10-17|No longer maintained www/phpnuke||2004-10-17|security vulnerabilities and no longer maintained @@ -3110,3 +3108,7 @@ german/de-py-qt4-eric4|german/eric4|2007-07-25|Moved to german/eric4 russian/ru-py-qt4-eric4|russian/eric4|2007-07-25|Moved to russian/eric4 devel/py-qt4-eric4|devel/eric4|2007-07-25|Moved to devel/eric4 +science/liblr|science/liblinear|2007-07-28|Project renamed +games/freeciv-gtk|games/freeciv|2007-07-28|Dropped gtk1 support +games/freeciv-gtk2|games/freeciv|2007-07-28|Gtk2 is supported by default now +math/cvcl||2007-07-28|Has expired: CVC Lite is no longer supported. Please use CVC3 (math/cvc3) for all your validity checking needs! ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.autotools.mk#6 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.autotools.mk,v 1.29 2007/06/16 19:03:50 pav Exp $ +# $FreeBSD: ports/Mk/bsd.autotools.mk,v 1.30 2007/07/28 06:33:42 ade Exp $ # # Please view me with 4 column tabs! # @@ -11,21 +11,6 @@ Autotools_Include_MAINTAINER= ade@FreeBSD.org #--------------------------------------------------------------------------- -# IMPORTANT! READ ME! YES, THAT MEANS YOU! -# -# The "versioned" autotools referenced here are for BUILDING other ports -# only. THIS CANNOT BE STRESSED HIGHLY ENOUGH. Things WILL BREAK if you -# try to use them for anything other than ports/ work. This particularly -# includes use as a run-time dependency. -# -# If you need unmodified versions of autotools, such as for use in an -# IDE, then you MUST use the devel/gnu-* equivalents, and NOT these. -# See devel/anjuta and devel/kdevelop for examples. -# -# You have been WARNED! -#--------------------------------------------------------------------------- - -#--------------------------------------------------------------------------- # Entry point into the autotools system #--------------------------------------------------------------------------- # @@ -34,6 +19,10 @@ # 'tool' can currently be one of: # libtool, libltdl, autoconf, autoheader, automake, aclocal # +# There is also a special tool, called 'autotools', which is +# a convenience function to simply bring in dependencies of +# all the autotools. +# # 'version' is tool dependent # # ':env' is used to pecify that the environment variables are needed, @@ -75,10 +64,23 @@ AUTOTOOL_${item:C/^([^:]+).*/\1/}${item:M*\:*\:*:C/^[^:]+:[^:]+:([^:]+)/_\1/}= ${item:C/^[^:]+:([^:]+).*/\1/} .endfor -# XXX: temporary to highlight any missed ports in the conversion -# -.if defined(AUTOTOOL_libtool_inc) -IGNORE+= error: libtool:${AUTOTOOL_libtool_inc}:inc construct no longer available +#--------------------------------------------------------------------------- +# AUTOTOOLS handling (for build, runtime, and both) +#--------------------------------------------------------------------------- +.if defined(AUTOTOOL_autotools) +AUTOTOOLS_DEPENDS= ${LOCALBASE}/share/autotools:${PORTSDIR}/devel/autotools + +. if ${AUTOTOOL_autotools} == "build" +BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. elif ${AUTOTOOL_autotools} == "run" +RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. elif ${AUTOTOOL_autotools} == "both" +BUILD_DEPENDS+= ${AUTOTOOLS_DEPENDS} +RUN_DEPENDS+= ${AUTOTOOLS_DEPENDS} +. else +IGNORE+= Unknown autotools stanza: ${AUTOTOOL_autotools} +. endif + .endif #--------------------------------------------------------------------------- @@ -97,6 +99,7 @@ .if defined(AUTOTOOL_automake_env) AUTOMAKE_VERSION= ${AUTOTOOL_automake_env} +AUTOMAKE_SUFFIX= ${AUTOMAKE_VERSION:C/([0-9])(.*)/\1.\2/} # Make sure we specified a legal version of automake # @@ -106,12 +109,11 @@ # Set up the automake environment # -AUTOMAKE= ${LOCALBASE}/bin/automake${AUTOMAKE_VERSION} -AUTOMAKE_DIR= ${LOCALBASE}/share/automake${AUTOMAKE_VERSION} -ACLOCAL= ${LOCALBASE}/bin/aclocal${AUTOMAKE_VERSION} -ACLOCAL_DIR= ${LOCALBASE}/share/aclocal${AUTOMAKE_VERSION} -AUTOMAKE_PATH= ${LOCALBASE}/libexec/automake${AUTOMAKE_VERSION}: -AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} +AUTOMAKE= ${LOCALBASE}/bin/automake-${AUTOMAKE_SUFFIX} +AUTOMAKE_DIR= ${LOCALBASE}/share/automake-${AUTOMAKE_SUFFIX} +ACLOCAL= ${LOCALBASE}/bin/aclocal-${AUTOMAKE_SUFFIX} +ACLOCAL_DIR= ${LOCALBASE}/share/aclocal-${AUTOMAKE_SUFFIX} +AUTOMAKE_VARS= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} AUTOMAKE_VERSION=${AUTOMAKE_VERSION} AUTOMAKE_DEPENDS= ${AUTOMAKE}:${PORTSDIR}/devel/automake${AUTOMAKE_VERSION} BUILD_DEPENDS+= ${AUTOMAKE_DEPENDS} @@ -143,6 +145,7 @@ .if defined(AUTOTOOL_autoconf_env) AUTOCONF_VERSION= ${AUTOTOOL_autoconf_env} +AUTOCONF_SUFFIX= ${AUTOCONF_VERSION:C/([0-9])(.*)/\1.\2/} # Make sure we specified a legal version of autoconf # @@ -152,16 +155,15 @@ # Set up the autoconf/autoheader environment # -AUTOCONF= ${LOCALBASE}/bin/autoconf${AUTOCONF_VERSION} -AUTOCONF_DIR= ${LOCALBASE}/share/autoconf${AUTOCONF_VERSION} -AUTOHEADER= ${LOCALBASE}/bin/autoheader${AUTOCONF_VERSION} -AUTOIFNAMES= ${LOCALBASE}/bin/ifnames${AUTOCONF_VERSION} -AUTOM4TE= ${LOCALBASE}/bin/autom4te${AUTOCONF_VERSION} -AUTORECONF= ${LOCALBASE}/bin/autoreconf${AUTOCONF_VERSION} -AUTOSCAN= ${LOCALBASE}/bin/autoscan${AUTOCONF_VERSION} -AUTOUPDATE= ${LOCALBASE}/bin/autoupdate${AUTOCONF_VERSION} -AUTOCONF_PATH= ${LOCALBASE}/libexec/autoconf${AUTOCONF_VERSION}: -AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE} +AUTOCONF= ${LOCALBASE}/bin/autoconf-${AUTOCONF_SUFFIX} +AUTOCONF_DIR= ${LOCALBASE}/share/autoconf-${AUTOCONF_SUFFIX} +AUTOHEADER= ${LOCALBASE}/bin/autoheader-${AUTOCONF_SUFFIX} +AUTOIFNAMES= ${LOCALBASE}/bin/ifnames-${AUTOCONF_SUFFIX} +AUTOM4TE= ${LOCALBASE}/bin/autom4te-${AUTOCONF_SUFFIX} +AUTORECONF= ${LOCALBASE}/bin/autoreconf-${AUTOCONF_SUFFIX} +AUTOSCAN= ${LOCALBASE}/bin/autoscan-${AUTOCONF_SUFFIX} +AUTOUPDATE= ${LOCALBASE}/bin/autoupdate-${AUTOCONF_SUFFIX} +AUTOCONF_VARS= AUTOCONF=${AUTOCONF} AUTOHEADER=${AUTOHEADER} AUTOIFNAMES=${AUTOIFNAMES} AUTOM4TE=${AUTOM4TE} AUTORECONF=${AUTORECONF} AUTOSCAN=${AUTOSCAN} AUTOUPDATE=${AUTOUPDATE} AUTOCONF_VERSION=${AUTOCONF_VERSION} AUTOCONF_DEPENDS= ${AUTOCONF}:${PORTSDIR}/devel/autoconf${AUTOCONF_VERSION} BUILD_DEPENDS+= ${AUTOCONF_DEPENDS} @@ -221,21 +223,8 @@ # Now that we've got our environments defined for autotools, add them # in so that the rest of the world can handle them # -AUTOTOOLS_PATH= ${AUTOMAKE_PATH}${AUTOCONF_PATH} AUTOTOOLS_VARS= ${AUTOMAKE_VARS} ${AUTOCONF_VARS} ${LIBTOOL_VARS} -.if defined(AUTOTOOLS_PATH) && (${AUTOTOOLS_PATH} != "") -AUTOTOOLS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH} -CONFIGURE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH} -MAKE_ENV+= PATH=${AUTOTOOLS_PATH}${PATH} -SCRIPTS_ENV+= PATH=${AUTOTOOLS_PATH}${PATH} -. for item in automake aclocal autoconf autoheader libtool -. if defined(AUTOTOOL_${item}_env) -${item:U}_ENV+= PATH=${AUTOTOOLS_PATH}${PATH} -. endif -. endfor -.endif - .if defined(AUTOTOOLS_VARS) && (${AUTOTOOLS_VARS} != "") AUTOTOOLS_ENV+= ${AUTOTOOLS_VARS} CONFIGURE_ENV+= ${AUTOTOOLS_VARS} ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.gcc.mk#5 (text+ko) ==== @@ -31,7 +31,7 @@ # If you are wondering what your port exactly does, use "make test-gcc" # to see some debugging. # -# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.13 2007/07/12 01:57:10 maho Exp $ +# $FreeBSD: ports/Mk/bsd.gcc.mk,v 1.14 2007/07/27 21:40:10 pav Exp $ # GCC_Include_MAINTAINER= gerald@FreeBSD.org @@ -96,7 +96,7 @@ . endif . endif -MAKE_ENV+= F77="${F77}" FC="${FC}" +MAKE_ENV+= F77="${F77}" FC="${FC}" FFLAGS="${FFLAGS}" .endif .if defined(USE_GCC) @@ -195,7 +195,7 @@ BUILD_DEPENDS+= ${_GCC_PORT_DEPENDS}:${PORTSDIR}/lang/${_GCC_BUILD_DEPENDS} .endif -MAKE_ENV+= CC="${CC}" CXX="${CXX}" +MAKE_ENV+= CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" test-gcc: @echo USE_GCC=${USE_GCC} @@ -204,7 +204,7 @@ .else @echo Port cannot use later versions. .endif - @echo WITH_FORTRAN=${WITH_FORTRAN} + @echo USE_FORTRAN=${USE_FORTRAN} .for v in ${GCCVERSIONS} @echo -n "GCC version: ${_GCCVERSION_${v}_V} " .if defined(_GCC_FOUND${v}) @@ -214,5 +214,7 @@ # @echo ${v} - ${_GCC_FOUND${v}} - ${_GCCVERSION_${v}_L} to ${_GCCVERSION_${v}_R} - ${_GCCVERSION_${v}_V} .endfor @echo Using GCC version ${_USE_GCC} - @echo CC:${CC} - CXX:${CXX} - F77:${F77} - FC:${FC} - BUILD_DEPENDS:${BUILD_DEPENDS} + @echo CC=${CC} - CXX=${CXX} - CFLAGS=${CFLAGS} + @echo F77=${F77} - FC=${FC} - FFLAGS=${FFLAGS} + @echo BUILD_DEPENDS=${BUILD_DEPENDS} .endif ==== //depot/projects/soc2006/gabor_destdir/Mk/bsd.port.mk#38 (text+ko) ==== @@ -1,7 +1,7 @@ #-*- mode: makefile; tab-width: 4; -*- # ex:ts=4 # -# $FreeBSD: ports/Mk/bsd.port.mk,v 1.576 2007/07/23 09:35:27 rafan Exp $ +# $FreeBSD: ports/Mk/bsd.port.mk,v 1.577 2007/07/27 21:40:11 pav Exp $ # $NetBSD: $ # # bsd.port.mk - 940820 Jordan K. Hubbard. @@ -1173,29 +1173,6 @@ MASTER_PORT?= .endif -# Check the compatibility layer for amd64/ia64 - -.if ${ARCH} == "amd64" || ${ARCH} =="ia64" -.if exists(/usr/lib32) -HAVE_COMPAT_IA32_LIBS?= YES -.endif -.if !defined(HAVE_COMPAT_IA32_KERN) -HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -a compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi -.endif -.endif - -.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386" -.if ${ARCH} == "amd64" || ${ARCH} == "ia64" -.if !defined(HAVE_COMPAT_IA32_KERN) -IGNORE= you need a kernel with compiled-in IA32 compatibility to use this port. -.elif !defined(HAVE_COMPAT_IA32_LIBS) -IGNORE= you need the 32-bit libraries installed under /usr/lib32 to use this port. -.endif -.else -IGNORE= you have to use i386 (or compatible) platform to use this port. -.endif -.endif - # If they exist, include Makefile.inc, then architecture/operating # system specific Makefiles, then local Makefile.local. @@ -1640,6 +1617,34 @@ .endif .endif +# Check the compatibility layer for amd64/ia64 + +.if ${ARCH} == "amd64" || ${ARCH} =="ia64" +.if exists(/usr/lib32) +HAVE_COMPAT_IA32_LIBS?= YES +.endif +.if !defined(HAVE_COMPAT_IA32_KERN) +HAVE_COMPAT_IA32_KERN!= if ${SYSCTL} -a compat.ia32.maxvmem >/dev/null 2>&1; then echo YES; fi +.endif +.endif + +.if defined(IA32_BINARY_PORT) && ${ARCH} != "i386" +.if ${ARCH} == "amd64" || ${ARCH} == "ia64" +.if !defined(HAVE_COMPAT_IA32_KERN) +IGNORE= requires a kernel with compiled-in IA32 compatibility +.elif !defined(HAVE_COMPAT_IA32_LIBS) +IGNORE= requires 32-bit libraries installed under /usr/lib32 +.endif +_LDCONFIG_FLAGS=-32 +LIB32DIR= lib32 +.else +IGNORE= requires i386 (or compatible) platform to run +.endif +.else +LIB32DIR= lib +.endif +PLIST_SUB+= LIB32DIR=${LIB32DIR} + .if defined(USE_ZIP) EXTRACT_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip .endif @@ -1673,7 +1678,7 @@ .elif ${WANT_OPENLDAP_VER} == 24 LIB_DEPENDS+= ldap-2.4.2:${PORTSDIR}/net/openldap24${_OPENLDAP_FLAVOUR}-client .else -IGNORE= unknown OpenLDAP version: ${WANT_OPENLDAP_VER} +IGNORE= cannot be built with unknown OpenLDAP version: ${WANT_OPENLDAP_VER} .endif .endif @@ -1691,7 +1696,7 @@ .if defined(WANT_FAM_SYSTEM) .if defined(WITH_FAM_SYSTEM) && ${WITH_FAM_SYSTEM}!=${WANT_FAM_SYSTEM} -IGNORE= The port wants to use ${WANT_FAM_SYSTEM} as its FAM system and you wish to use ${WITH_FAM_SYSTEM} +IGNORE= wants to use ${WANT_FAM_SYSTEM} as its FAM system, while you wish to use ${WITH_FAM_SYSTEM} .endif FAM_SYSTEM= ${WANT_FAM_SYSTEM} .elif defined(WITH_FAM_SYSTEM) @@ -1706,14 +1711,14 @@ .if defined(_HAVE_FAM_SYSTEM) .if ${_HAVE_FAM_SYSTEM}!= ${FAM_SYSTEM} -BROKEN= FAM system mismatch: ${_HAVE_FAM_SYSTEM} is installed and desired FAM system is ${FAM_SYSTEM} +BROKEN= FAM system mismatch: ${_HAVE_FAM_SYSTEM} is installed, while desired FAM system is ${FAM_SYSTEM} .endif .endif .if defined(FAM_SYSTEM_${FAM_SYSTEM:U}) LIB_DEPENDS+= ${FAM_SYSTEM_${FAM_SYSTEM:U}} .else -IGNORE= unknown FAM system: ${FAM_SYSTEM} +IGNORE= cannot be built with unknown FAM system: ${FAM_SYSTEM} .endif .endif # USE_FAM @@ -1791,7 +1796,7 @@ . if ${USE_LINUX:L} == "yes" LINUX_BASE_PORT= ${LINUXBASE}/etc/fedora-release:${PORTSDIR}/emulators/linux_base-fc4 . else -IGNORE= There is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT. +IGNORE= cannot be built: there is no emulators/linux_base-${USE_LINUX}, perhaps wrong use of USE_LINUX or OVERRIDE_LINUX_BASE_PORT . endif . endif @@ -1847,7 +1852,7 @@ X_FONTS_TTF_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontScalable X_FONTS_TYPE1_PORT= ${PORTSDIR}/x11-fonts/XFree86-4-fontScalable .else -IGNORE= cannot install: bad X_WINDOW_SYSTEM setting; valid values are 'xfree86-4' and 'xorg' +IGNORE= cannot be installed: bad X_WINDOW_SYSTEM setting; valid values are 'xfree86-4' and 'xorg' .endif .if defined(USE_IMAKE) @@ -1902,7 +1907,7 @@ . for _component in ${USE_GL} . if !defined(_GL_${_component}_LIB_DEPENDS) && \ !defined(_GL_${_component}_RUN_DEPENDS) -IGNORE= uses unknown GL component +IGNORE= uses unknown GL component . else LIB_DEPENDS+= ${_GL_${_component}_LIB_DEPENDS} RUN_DEPENDS+= ${_GL_${_component}_RUN_DEPENDS} @@ -2095,18 +2100,6 @@ REINPLACE_ARGS?= -i.bak REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS} -# Macro for coping entire directory tree with correct permissions -COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ - 2>&1) && \ - ${CHOWN} -R ${BINOWN}:${BINGRP} $$1 && \ - ${FIND} $$1 -type d -exec chmod 755 {} \; && \ - ${FIND} $$1 -type f -exec chmod ${BINMODE} {} \;' -- -COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ - 2>&1) && \ - ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} $$1 && \ - ${FIND} $$1/ -type d -exec chmod 755 {} \; && \ - ${FIND} $$1/ -type f -exec chmod ${SHAREMODE} {} \;' -- - # Names of cookies used to skip already completed stages EXTRACT_COOKIE?= ${WRKDIR}/.extract_done.${PORTNAME}.${PREFIX:S/\//_/g} CONFIGURE_COOKIE?= ${WRKDIR}/.configure_done.${PORTNAME}.${PREFIX:S/\//_/g} @@ -2275,6 +2268,29 @@ MAKE_ENV+= ${INSTALL_MACROS} SCRIPTS_ENV+= ${INSTALL_MACROS} +# Macro for coping entire directory tree with correct permissions +.if ${UID} == 0 +COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ + 2>&1) && \ + ${CHOWN} -R ${BINOWN}:${BINGRP} $$1 && \ + ${FIND} $$1 -type d -exec chmod 755 {} \; && \ + ${FIND} $$1 -type f -exec chmod ${BINMODE} {} \;' -- +COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ + 2>&1) && \ + ${CHOWN} -R ${SHAREOWN}:${SHAREGRP} $$1 && \ + ${FIND} $$1/ -type d -exec chmod 755 {} \; && \ + ${FIND} $$1/ -type f -exec chmod ${SHAREMODE} {} \;' -- +.else +COPYTREE_BIN= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ + 2>&1) && \ + ${FIND} $$1 -type d -exec chmod 755 {} \; && \ + ${FIND} $$1 -type f -exec chmod ${BINMODE} {} \;' -- +COPYTREE_SHARE= ${SH} -c '(${FIND} -d $$0 $$2 | ${CPIO} -dumpl $$1 >/dev/null \ + 2>&1) && \ + ${FIND} $$1/ -type d -exec chmod 755 {} \; && \ + ${FIND} $$1/ -type f -exec chmod ${SHAREMODE} {} \;' -- +.endif + # The user can override the NO_PACKAGE by specifying this from # the make command line .if defined(FORCE_PACKAGE) @@ -3067,20 +3083,20 @@ .if defined(ONLY_FOR_ARCHS) IGNORE= is only for ${ONLY_FOR_ARCHS}, .else # defined(NOT_FOR_ARCHS) -IGNORE= does not run on ${NOT_FOR_ARCHS}. +IGNORE= does not run on ${NOT_FOR_ARCHS}, .endif -IGNORE+= and you are running ${ARCH}. +IGNORE+= while you are running ${ARCH} .if defined(ONLY_FOR_ARCHS_REASON_${ARCH}) -IGNORE+= Reason: ${ONLY_FOR_ARCHS_REASON_${ARCH}} +IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON_${ARCH}}) .elif defined(ONLY_FOR_ARCHS_REASON) -IGNORE+= Reason: ${ONLY_FOR_ARCHS_REASON} +IGNORE+= (reason: ${ONLY_FOR_ARCHS_REASON}) .endif .if defined(NOT_FOR_ARCHS_REASON_${ARCH}) -IGNORE+= Reason: ${NOT_FOR_ARCHS_REASON_${ARCH}} +IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON_${ARCH}}) .elif defined(NOT_FOR_ARCHS_REASON) -IGNORE+= Reason: ${NOT_FOR_ARCHS_REASON} +IGNORE+= (reason: ${NOT_FOR_ARCHS_REASON}) .endif .endif @@ -3088,23 +3104,23 @@ # Check the user interaction and legal issues .if !defined(NO_IGNORE) .if (defined(IS_INTERACTIVE) && defined(BATCH)) -IGNORE= is an interactive port +IGNORE= is an interactive port .elif (!defined(IS_INTERACTIVE) && defined(INTERACTIVE)) -IGNORE= is not an interactive port +IGNORE= is not an interactive port .elif (defined(NO_CDROM) && defined(FOR_CDROM)) -IGNORE= may not be placed on a CDROM: ${NO_CDROM} +IGNORE= may not be placed on a CDROM: ${NO_CDROM} .elif (defined(RESTRICTED) && defined(NO_RESTRICTED)) -IGNORE= is restricted: ${RESTRICTED} +IGNORE= is restricted: ${RESTRICTED} .elif defined(BROKEN) .if !defined(TRYBROKEN) -IGNORE= is marked as broken: ${BROKEN} +IGNORE= is marked as broken: ${BROKEN} .endif .elif defined(FORBIDDEN) -IGNORE= is forbidden: ${FORBIDDEN} +IGNORE= is forbidden: ${FORBIDDEN} .endif .if (defined(MANUAL_PACKAGE_BUILD) && defined(PACKAGE_BUILDING)) -IGNORE= has to be built manually: ${MANUAL_PACKAGE_BUILD} +IGNORE= has to be built manually: ${MANUAL_PACKAGE_BUILD} clean: @${IGNORECMD} .endif @@ -3914,6 +3930,12 @@ .endif # This can be removed once all ports have been converted to USE_LDCONFIG. .if defined(INSTALLS_SHLIB) +.if defined(USE_LDCONFIG) + @${ECHO_MSG} "===> INSTALLS_SHLIB and USE_LDCONFIG both defined." +.endif +.if defined(USE_LDCONFIG32) + @${ECHO_MSG} "===> INSTALLS_SHLIB and USE_LDCONFIG32 both defined." +.endif .if !defined(INSTALL_AS_USER) @${ECHO_MSG} "===> Running ldconfig" ${LDCONFIG_CMD} @@ -4909,7 +4931,7 @@ dir=$${dir%%:*}; \ fi; \ ${ECHO_MSG} -n "===> ${PKGNAME} depends on shared library: $$lib"; \ - if ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ + if ${LDCONFIG} ${_LDCONFIG_FLAGS} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ ${ECHO_MSG} " - found"; \ if [ ${_DEPEND_ALWAYS} = 1 ]; then \ ${ECHO_MSG} " (but building it anyway)"; \ @@ -4927,7 +4949,7 @@ ${ECHO_MSG} " => No directory for $$lib. Skipping.."; \ else \ ${_INSTALL_DEPENDS} \ - if ! ${LDCONFIG} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ + if ! ${LDCONFIG} ${_LDCONFIG_FLAGS} -r | ${GREP} -vwF -e "${PKGCOMPATDIR}" | ${GREP} -qwE -e "-l$$pattern"; then \ ${ECHO_MSG} "Error: shared library \"$$lib\" does not exist"; \ ${FALSE}; \ fi; \ ==== //depot/projects/soc2006/gabor_destdir/UPDATING#12 (text+ko) ==== @@ -6,6 +6,25 @@ time you update your ports collection, before attempting any port upgrades. +20070727: + AFFECTS: autotools + AUTHOR: ade@FreeBSD.org + +Extensive reworking of the autotools ports has occurred, putting them in +the canonical locations, along with a suitable wrapper port to make +developing autotools-using code (as opposed to just building ports) +considerably easier. + +Upgrade path is as follows for portupgrade, substitute the appropriate +commands if you are using portmaster: + + 1. portupgrade -f 'autoconf*' 'automake*' + 2. cd /usr/ports/devel/autotools; make install + 3. portupgrade -a + +The second step is optional, but is recommended to bring in all versions +of autoconf and automake. + 20070723: AFFECTS: users of x11/nvidia-driver and slave ports AUTHOR: danfe@FreeBSD.org @@ -5446,4 +5465,4 @@ 2) Update all p5-* modules. portupgrade -f p5-\* -$FreeBSD: ports/UPDATING,v 1.529 2007/07/23 13:56:16 danfe Exp $ +$FreeBSD: ports/UPDATING,v 1.530 2007/07/28 06:33:42 ade Exp $ From owner-p4-projects@FreeBSD.ORG Sat Jul 28 18:31:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5342B16A41B; Sat, 28 Jul 2007 18:31:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 236D216A417 for ; Sat, 28 Jul 2007 18:31:22 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0B1D713C481 for ; Sat, 28 Jul 2007 18:31:22 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SIVLs2071683 for ; Sat, 28 Jul 2007 18:31:21 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SIVKDW071679 for perforce@freebsd.org; Sat, 28 Jul 2007 18:31:20 GMT (envelope-from cnst@FreeBSD.org) Date: Sat, 28 Jul 2007 18:31:20 GMT Message-Id: <200707281831.l6SIVKDW071679@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 124277 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 18:31:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=124277 Change 124277 by cnst@dale on 2007/07/28 18:30:44 add 'sensors' display to systat(1) Obtained from: OpenBSD + applied local modifications & FreeBSDisms Affected files ... .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/Makefile#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/cmdtab.c#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/extern.h#2 edit .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#1 add .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/systat.1#2 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/Makefile#2 (text+ko) ==== @@ -5,7 +5,7 @@ PROG= systat SRCS= cmds.c cmdtab.c devs.c fetch.c iostat.c keyboard.c main.c \ - mbufs.c netcmds.c netstat.c pigs.c swap.c icmp.c \ + mbufs.c netcmds.c netstat.c pigs.c sensors.c swap.c icmp.c \ mode.c ip.c tcp.c \ vmstat.c convtbl.c ifcmds.c ifstat.c ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/cmdtab.c#2 (text+ko) ==== @@ -82,6 +82,9 @@ { "ifstat", showifstat, fetchifstat, labelifstat, initifstat, openifstat, closeifstat, cmdifstat, 0, CF_LOADAV }, + { "sensors", showsensors, fetchsensors, labelsensors, + initsensors, opensensors, closesensors, 0, + 0, CF_LOADAV }, { NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 0 } }; struct cmdtab *curcmd = &cmdtab[0]; ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/extern.h#2 (text+ko) ==== @@ -82,6 +82,7 @@ void closembufs(WINDOW *); void closenetstat(WINDOW *); void closepigs(WINDOW *); +void closesensors(WINDOW *); void closeswap(WINDOW *); void closetcp(WINDOW *); int cmdifstat(const char *, const char *); @@ -105,6 +106,7 @@ void fetchmbufs(void); void fetchnetstat(void); void fetchpigs(void); +void fetchsensors(void); void fetchswap(void); void fetchtcp(void); void getsysctl(const char *, void *, size_t); @@ -119,6 +121,7 @@ int initmbufs(void); int initnetstat(void); int initpigs(void); +int initsensors(void); int initswap(void); int inittcp(void); int keyboard(void); @@ -134,6 +137,7 @@ void labelnetstat(void); void labelpigs(void); void labels(void); +void labelsensors(void); void labelswap(void); void labeltcp(void); void load(void); @@ -149,6 +153,7 @@ WINDOW *openmbufs(void); WINDOW *opennetstat(void); WINDOW *openpigs(void); +WINDOW *opensensors(void); WINDOW *openswap(void); WINDOW *opentcp(void); int prefix(const char *, const char *); @@ -167,6 +172,7 @@ void showmbufs(void); void shownetstat(void); void showpigs(void); +void showsensors(void); void showswap(void); void showtcp(void); void status(void); ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/systat.1#2 (text+ko) ==== @@ -101,6 +101,7 @@ .Ic mbufs , .Ic netstat , .Ic pigs , +.Ic sensors , .Ic swap , .Ic tcp , or @@ -286,6 +287,11 @@ .It Ic mbufs Display, in the lower window, the number of mbufs allocated for particular uses, i.e., data, socket structures, etc. +.It Ic sensors +Display, in the lower window, +the current values of available hardware sensors, +in a format similar to that of +.Xr sysctl 8 . .It Ic vmstat Take over the entire display and show a (rather crowded) compendium of statistics related to virtual memory usage, process scheduling, @@ -607,6 +613,7 @@ .Xr udp 4 , .Xr gstat 8 , .Xr iostat 8 , +.Xr sysctl 8 , .Xr vmstat 8 .Sh HISTORY The From owner-p4-projects@FreeBSD.ORG Sat Jul 28 21:01:33 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57BB316A468; Sat, 28 Jul 2007 21:01:33 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0B0B16A417 for ; Sat, 28 Jul 2007 21:01:32 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C9A7A13C46A for ; Sat, 28 Jul 2007 21:01:32 +0000 (UTC) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SL1WbZ093484 for ; Sat, 28 Jul 2007 21:01:32 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SL1WWG093481 for perforce@freebsd.org; Sat, 28 Jul 2007 21:01:32 GMT (envelope-from peter@freebsd.org) Date: Sat, 28 Jul 2007 21:01:32 GMT Message-Id: <200707282101.l6SL1WWG093481@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Cc: Subject: PERFORCE change 124283 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 21:01:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=124283 Change 124283 by peter@peter_daintree on 2007/07/28 21:00:32 Hack. take explicit card:port rather than decode /dev device names. Affected files ... .. //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#4 edit Differences ... ==== //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#4 (text+ko) ==== @@ -150,22 +150,14 @@ alldev = 1; } else { sidev_t dev; - struct stat st; + int n; + int card, port; - if (strchr(Devname, '/') == NULL) { - char *acp = malloc(6 + strlen(Devname)); - strcpy(acp, _PATH_DEV); - strcat(acp, Devname); - Devname = acp; - } - if (stat(Devname, &st) < 0) - errx(1, "can't stat %s", Devname); -#if 0 - dev.sid_card = SI_CARD(minor(st.st_rdev)); - dev.sid_port = SI_PORT(minor(st.st_rdev)); -#else - errx(1, "Sorry, code missing to parse device name into card/port"); -#endif + n = sscanf(Devname, "%d:%d", &card, &port); + if (n != 2) + errx(1, "Devname must be in form card:port. eg: 0:7"); + dev.sid_card = card; + dev.sid_port = port; tc.tc_dev = dev; } ctlfd = opencontrol(); From owner-p4-projects@FreeBSD.ORG Sat Jul 28 22:08:58 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D2CDC16A41A; Sat, 28 Jul 2007 22:08:58 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 938E016A46C for ; Sat, 28 Jul 2007 22:08:58 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 65ED913C48A for ; Sat, 28 Jul 2007 22:08:58 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l6SM8whv099895 for ; Sat, 28 Jul 2007 22:08:58 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l6SM8ulC099892 for perforce@freebsd.org; Sat, 28 Jul 2007 22:08:56 GMT (envelope-from mjacob@freebsd.org) Date: Sat, 28 Jul 2007 22:08:56 GMT Message-Id: <200707282208.l6SM8ulC099892@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 124285 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 22:08:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=124285 Change 124285 by mjacob@mjexp on 2007/07/28 22:08:44 IFC Affected files ... .. //depot/projects/mjexp/contrib/bind9/CHANGES#6 integrate .. //depot/projects/mjexp/contrib/bind9/README#5 integrate .. //depot/projects/mjexp/contrib/bind9/bin/named/client.c#4 integrate .. //depot/projects/mjexp/contrib/bind9/bin/named/server.c#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch01.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch02.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch03.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch04.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch05.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch07.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch08.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch09.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch10.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.html#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.pdf#4 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.dig.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.dnssec-keygen.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.dnssec-signzone.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.host.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.named-checkconf.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.named-checkzone.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.named.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.rndc-confgen.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.rndc.conf.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/doc/arm/man.rndc.html#2 integrate .. //depot/projects/mjexp/contrib/bind9/lib/dns/dispatch.c#4 integrate .. //depot/projects/mjexp/contrib/bind9/lib/dns/include/dns/dispatch.h#3 integrate .. //depot/projects/mjexp/contrib/bind9/version#6 integrate .. //depot/projects/mjexp/etc/mtree/BSD.usr.dist#8 integrate .. //depot/projects/mjexp/etc/rc.d/netif#5 integrate .. //depot/projects/mjexp/lib/libc/net/sctp_sys_calls.c#9 integrate .. //depot/projects/mjexp/lib/libelf/elf_begin.3#2 integrate .. //depot/projects/mjexp/lib/libelf/elf_memory.3#2 integrate .. //depot/projects/mjexp/release/doc/en_US.ISO8859-1/relnotes/article.sgml#23 integrate .. //depot/projects/mjexp/share/man/man9/sysctl_ctx_init.9#2 integrate .. //depot/projects/mjexp/sys/amd64/amd64/trap.c#10 integrate .. //depot/projects/mjexp/sys/arm/arm/busdma_machdep.c#8 integrate .. //depot/projects/mjexp/sys/arm/arm/cpufunc.c#6 integrate .. //depot/projects/mjexp/sys/arm/arm/cpufunc_asm_xscale_c3.S#1 branch .. //depot/projects/mjexp/sys/arm/arm/elf_trampoline.c#6 integrate .. //depot/projects/mjexp/sys/arm/arm/identcpu.c#3 integrate .. //depot/projects/mjexp/sys/arm/arm/intr.c#6 integrate .. //depot/projects/mjexp/sys/arm/arm/pmap.c#8 integrate .. //depot/projects/mjexp/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/mjexp/sys/arm/conf/CRB#1 branch .. //depot/projects/mjexp/sys/arm/include/armreg.h#3 integrate .. //depot/projects/mjexp/sys/arm/include/cpufunc.h#4 integrate .. //depot/projects/mjexp/sys/arm/include/pmap.h#6 integrate .. //depot/projects/mjexp/sys/arm/include/pte.h#3 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/i80321_pci.c#3 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/i80321_timer.c#3 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/i80321_wdog.c#4 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/i80321var.h#2 integrate .. //depot/projects/mjexp/sys/arm/xscale/i80321/obio.c#2 integrate .. //depot/projects/mjexp/sys/arm/xscale/i8134x/crb_machdep.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/files.crb#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/files.i81342#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342_mcu.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342_pci.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342_space.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342reg.h#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/i81342var.h#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/obio.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/obio_space.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/obiovar.h#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/std.crb#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/std.i81342#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/uart_bus_i81342.c#1 branch .. //depot/projects/mjexp/sys/arm/xscale/i8134x/uart_cpu_i81342.c#1 branch .. //depot/projects/mjexp/sys/conf/Makefile.arm#4 integrate .. //depot/projects/mjexp/sys/contrib/pf/net/if_pfsync.c#7 integrate .. //depot/projects/mjexp/sys/dev/ath/ath_rate/amrr/amrr.c#4 integrate .. //depot/projects/mjexp/sys/dev/ath/ath_rate/onoe/onoe.c#5 integrate .. //depot/projects/mjexp/sys/dev/ce/if_ce.c#6 integrate .. //depot/projects/mjexp/sys/dev/cp/if_cp.c#6 integrate .. //depot/projects/mjexp/sys/dev/ctau/if_ct.c#6 integrate .. //depot/projects/mjexp/sys/dev/cx/if_cx.c#6 integrate .. //depot/projects/mjexp/sys/dev/em/if_em.c#10 integrate .. //depot/projects/mjexp/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/mjexp/sys/dev/re/if_re.c#15 integrate .. //depot/projects/mjexp/sys/dev/usb/ufoma.c#6 integrate .. //depot/projects/mjexp/sys/dev/usb/ukbd.c#9 integrate .. //depot/projects/mjexp/sys/dev/usb/ums.c#8 integrate .. //depot/projects/mjexp/sys/dev/usb/usbdevs#19 integrate .. //depot/projects/mjexp/sys/fs/devfs/devfs_vnops.c#12 integrate .. //depot/projects/mjexp/sys/fs/fifofs/fifo_vnops.c#5 integrate .. //depot/projects/mjexp/sys/i386/i386/trap.c#11 integrate .. //depot/projects/mjexp/sys/i386/isa/clock.c#11 integrate .. //depot/projects/mjexp/sys/kern/kern_kse.c#11 integrate .. //depot/projects/mjexp/sys/kern/kern_thread.c#14 integrate .. //depot/projects/mjexp/sys/kern/subr_bus.c#5 integrate .. //depot/projects/mjexp/sys/kern/uipc_domain.c#3 integrate .. //depot/projects/mjexp/sys/kern/uipc_usrreq.c#13 integrate .. //depot/projects/mjexp/sys/kern/vfs_mount.c#16 integrate .. //depot/projects/mjexp/sys/kern/vfs_vnops.c#8 integrate .. //depot/projects/mjexp/sys/net/bpf.c#7 integrate .. //depot/projects/mjexp/sys/net/if.c#10 integrate .. //depot/projects/mjexp/sys/net/if_bridge.c#11 integrate .. //depot/projects/mjexp/sys/net/if_bridgevar.h#6 integrate .. //depot/projects/mjexp/sys/net/if_ethersubr.c#14 integrate .. //depot/projects/mjexp/sys/net/if_lagg.c#8 integrate .. //depot/projects/mjexp/sys/net/netisr.c#3 integrate .. //depot/projects/mjexp/sys/netgraph/netgraph.h#3 integrate .. //depot/projects/mjexp/sys/netgraph/ng_bpf.c#2 integrate .. //depot/projects/mjexp/sys/netgraph/ng_eiface.c#3 integrate .. //depot/projects/mjexp/sys/netinet/ip_carp.c#7 integrate .. //depot/projects/mjexp/sys/netinet/ip_dummynet.c#5 integrate .. //depot/projects/mjexp/sys/netinet/ip_fw2.c#14 integrate .. //depot/projects/mjexp/sys/netinet/ip_mroute.c#11 integrate .. //depot/projects/mjexp/sys/netinet/sctp_asconf.c#15 integrate .. //depot/projects/mjexp/sys/netinet/sctp_asconf.h#7 integrate .. //depot/projects/mjexp/sys/netinet/sctp_input.c#20 integrate .. //depot/projects/mjexp/sys/netinet/sctp_output.c#21 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#20 integrate .. //depot/projects/mjexp/sys/netinet/sctp_pcb.h#14 integrate .. //depot/projects/mjexp/sys/netinet/sctp_structs.h#16 integrate .. //depot/projects/mjexp/sys/netinet/sctp_timer.c#15 integrate .. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#19 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.c#22 integrate .. //depot/projects/mjexp/sys/netinet/sctputil.h#13 integrate .. //depot/projects/mjexp/sys/netinet/tcp_input.c#20 integrate .. //depot/projects/mjexp/sys/netinet/tcp_subr.c#17 integrate .. //depot/projects/mjexp/sys/netinet/tcp_syncache.c#14 integrate .. //depot/projects/mjexp/sys/netinet/tcp_syncache.h#1 branch .. //depot/projects/mjexp/sys/netinet/tcp_var.h#12 integrate .. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#17 integrate .. //depot/projects/mjexp/sys/netinet6/udp6_usrreq.c#9 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_srvsubs.c#6 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_syscalls.c#8 integrate .. //depot/projects/mjexp/sys/sys/kernel.h#5 integrate .. //depot/projects/mjexp/sys/sys/mutex.h#13 integrate .. //depot/projects/mjexp/sys/sys/proc.h#21 integrate .. //depot/projects/mjexp/sys/sys/vmmeter.h#7 integrate .. //depot/projects/mjexp/sys/vm/vm_meter.c#7 integrate .. //depot/projects/mjexp/sys/vm/vm_page.c#17 integrate .. //depot/projects/mjexp/sys/vm/vnode_pager.c#6 integrate .. //depot/projects/mjexp/tools/tools/net80211/Makefile#2 integrate .. //depot/projects/mjexp/tools/tools/net80211/README#2 integrate .. //depot/projects/mjexp/tools/tools/net80211/wlandebug/Makefile#3 delete .. //depot/projects/mjexp/tools/tools/net80211/wlandebug/wlandebug.8#2 delete .. //depot/projects/mjexp/tools/tools/net80211/wlandebug/wlandebug.c#5 delete .. //depot/projects/mjexp/usr.bin/calendar/calendars/calendar.holiday#5 integrate .. //depot/projects/mjexp/usr.bin/vmstat/vmstat.c#4 integrate .. //depot/projects/mjexp/usr.sbin/Makefile#7 integrate .. //depot/projects/mjexp/usr.sbin/acpi/acpidump/acpi_user.c#3 integrate .. //depot/projects/mjexp/usr.sbin/wlandebug/Makefile#1 branch .. //depot/projects/mjexp/usr.sbin/wlandebug/wlandebug.8#1 branch .. //depot/projects/mjexp/usr.sbin/wlandebug/wlandebug.c#1 branch Differences ... ==== //depot/projects/mjexp/contrib/bind9/CHANGES#6 (text+ko) ==== @@ -1,4 +1,34 @@ + --- 9.4.1-P1 released --- + +2206. [security] "allow-query-cache" and "allow-recursion" now + cross inherit from each other. + + If allow-query-cache is not set in named.conf then + allow-recursion is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + If allow-recursion is not set in named.conf then + allow-query-cache is used if set, otherwise allow-query + is used if set, otherwise the default (localnets; + localhost;) is used. + + [RT #16987] + +2203. [security] Query id generation was cryptographically weak. + [RT # 16915] + +2202. [security] The default acls for allow-query-cache and + allow-recursion were not being applied. [RT #16960] + +2193. [port] win32: BINDInstall.exe is now linked statically. + [RT #16906] + +2192. [port] win32: use vcredist_x86.exe to install Visual + Studio's redistributable dlls if building with + Visual Stdio 2005 or later. + --- 9.4.1 released --- 2172. [bug] query_addsoa() was being called with a non zone db. ==== //depot/projects/mjexp/contrib/bind9/README#5 (text+ko) ==== @@ -43,6 +43,11 @@ Nominum, Inc. +BIND 9.4.1-P1 + + BIND 9.4.1-P1 is a security release, containing a fixes for a + security bugs in BIND 9.4.1. + BIND 9.4.1 BIND 9.4.1 is a security release, containing a fix for a ==== //depot/projects/mjexp/contrib/bind9/bin/named/client.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: client.c,v 1.219.18.20 2006/07/22 01:02:36 marka Exp $ */ +/* $Id: client.c,v 1.219.18.20.14.1 2007/06/26 02:58:54 marka Exp $ */ #include @@ -1440,6 +1440,14 @@ } /* + * Hash the incoming request here as it is after + * dns_dispatch_importrecv(). + */ + dns_dispatch_hash(&client->now, sizeof(client->now)); + dns_dispatch_hash(isc_buffer_base(buffer), + isc_buffer_usedlength(buffer)); + + /* * It's a request. Parse it. */ result = dns_message_parse(client->message, buffer, 0); ==== //depot/projects/mjexp/contrib/bind9/bin/named/server.c#4 (text+ko) ==== @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: server.c,v 1.419.18.49 2006/12/07 05:24:19 marka Exp $ */ +/* $Id: server.c,v 1.419.18.49.12.2 2007/07/09 02:23:16 marka Exp $ */ /*! \file */ @@ -1435,12 +1435,12 @@ view->additionalfromcache = ISC_TRUE; } + /* + * Set "allow-query-cache" and "allow-recursion" acls if + * configured in named.conf. + */ CHECK(configure_view_acl(vconfig, config, "allow-query-cache", actx, ns_g_mctx, &view->queryacl)); - if (view->queryacl == NULL) - CHECK(configure_view_acl(NULL, ns_g_defaults, - "allow-query-cache", actx, - ns_g_mctx, &view->queryacl)); if (strcmp(view->name, "_bind") != 0) CHECK(configure_view_acl(vconfig, config, "allow-recursion", @@ -1460,11 +1460,29 @@ "active%s%s", forview, viewname); /* - * Set default "allow-recursion" acl. + * "allow-query-cache" inherits from "allow-recursion" if set, + * otherwise from "allow-query" if set. + * "allow-recursion" inherits from "allow-query-cache" if set, + * otherwise from "allow-query" if set. + */ + if (view->queryacl == NULL && view->recursionacl != NULL) + dns_acl_attach(view->recursionacl, &view->queryacl); + if (view->queryacl == NULL) + CHECK(configure_view_acl(vconfig, config, "allow-query", + actx, ns_g_mctx, &view->queryacl)); + if (view->recursionacl == NULL && view->queryacl != NULL) + dns_acl_attach(view->queryacl, &view->recursionacl); + + /* + * Set default "allow-recursion" and "allow-query-cache" acls. */ if (view->recursionacl == NULL && view->recursion) - CHECK(configure_view_acl(NULL, ns_g_defaults, "allow-recursion", + CHECK(configure_view_acl(NULL, ns_g_config, "allow-recursion", actx, ns_g_mctx, &view->recursionacl)); + if (view->queryacl == NULL) + CHECK(configure_view_acl(NULL, ns_g_config, + "allow-query-cache", actx, + ns_g_mctx, &view->queryacl)); CHECK(configure_view_acl(vconfig, config, "sortlist", actx, ns_g_mctx, &view->sortlist)); ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM-book.xml#4 (text+ko) ==== @@ -18,7 +18,7 @@ - PERFORMANCE OF THIS SOFTWARE. --> - + BIND 9 Administrator Reference Manual @@ -5827,32 +5827,29 @@ Specifies which hosts are allowed to get answers - from the cache. The default is the builtin acls - localnets and - localhost. + from the cache. If allow-query-cache + is not set then allow-recursion + is used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. - - The way to set query access to the cache is now - via allow-query-cache. - This differs from earlier versions which used - allow-query. - allow-recursion - + Specifies which hosts are allowed to make recursive - queries through this server. If not specified, - the default is to allow recursive queries from - the builtin acls localnets and - localhost. - Note that disallowing recursive queries for a - host does not prevent the host from retrieving - data that is already in the server's cache. - + queries through this server. If + allow-recursion is not set + then allow-query-cache is + used if set, otherwise allow-query + is used if set, otherwise the default + (localnets; + localhost;) is used. + ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch01.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,15 +47,15 @@
Scope of Document
Organization of This Document
-
Conventions Used in This Document
-
The Domain Name System (DNS)
+
Conventions Used in This Document
+
The Domain Name System (DNS)
-
DNS Fundamentals
-
Domains and Domain Names
-
Zones
-
Authoritative Name Servers
-
Caching Name Servers
-
Name Servers in Multiple Roles
+
DNS Fundamentals
+
Domains and Domain Names
+
Zones
+
Authoritative Name Servers
+
Caching Name Servers
+
Name Servers in Multiple Roles
@@ -116,7 +116,7 @@

-Conventions Used in This Document

+Conventions Used in This Document

In this document, we use the following general typographic conventions: @@ -243,7 +243,7 @@

-The Domain Name System (DNS)

+The Domain Name System (DNS)

The purpose of this document is to explain the installation and upkeep of the BIND software @@ -253,7 +253,7 @@

-DNS Fundamentals

+DNS Fundamentals

The Domain Name System (DNS) is a hierarchical, distributed database. It stores information for mapping Internet host names to @@ -273,7 +273,7 @@

-Domains and Domain Names

+Domains and Domain Names

The data stored in the DNS is identified by domain names that are organized as a tree according to organizational or administrative boundaries. Each node of the tree, @@ -319,7 +319,7 @@

-Zones

+Zones

To properly operate a name server, it is important to understand the difference between a zone @@ -372,7 +372,7 @@

-Authoritative Name Servers

+Authoritative Name Servers

Each zone is served by at least one authoritative name server, @@ -389,7 +389,7 @@

-The Primary Master

+The Primary Master

The authoritative server where the master copy of the zone data is maintained is called the @@ -409,7 +409,7 @@

-Slave Servers

+Slave Servers

The other authoritative servers, the slave servers (also known as secondary servers) @@ -425,7 +425,7 @@

-Stealth Servers

+Stealth Servers

Usually all of the zone's authoritative servers are listed in NS records in the parent zone. These NS records constitute @@ -460,7 +460,7 @@

-Caching Name Servers

+Caching Name Servers

The resolver libraries provided by most operating systems are stub resolvers, meaning that they are not @@ -487,7 +487,7 @@

-Forwarding

+Forwarding

Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can @@ -514,7 +514,7 @@

-Name Servers in Multiple Roles

+Name Servers in Multiple Roles

The BIND name server can simultaneously act as ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch02.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,16 +45,16 @@

-Hardware requirements

+Hardware requirements

DNS hardware requirements have traditionally been quite modest. @@ -73,7 +73,7 @@

-CPU Requirements

+CPU Requirements

CPU requirements for BIND 9 range from i486-class machines @@ -84,7 +84,7 @@

-Memory Requirements

+Memory Requirements

The memory of the server has to be large enough to fit the cache and zones loaded off disk. The max-cache-size @@ -107,7 +107,7 @@

-Name Server Intensive Environment Issues

+Name Server Intensive Environment Issues

For name server intensive environments, there are two alternative configurations that may be used. The first is where clients and @@ -124,7 +124,7 @@

-Supported Operating Systems

+Supported Operating Systems

ISC BIND 9 compiles and runs on a large number ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch03.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -47,14 +47,14 @@

Sample Configurations
-
A Caching-only Name Server
-
An Authoritative-only Name Server
+
A Caching-only Name Server
+
An Authoritative-only Name Server
-
Load Balancing
-
Name Server Operations
+
Load Balancing
+
Name Server Operations
-
Tools for Use With the Name Server Daemon
-
Signals
+
Tools for Use With the Name Server Daemon
+
Signals
@@ -68,7 +68,7 @@ Sample Configurations

-A Caching-only Name Server

+A Caching-only Name Server

The following sample configuration is appropriate for a caching-only name server for use by clients internal to a corporation. All @@ -95,7 +95,7 @@

-An Authoritative-only Name Server

+An Authoritative-only Name Server

This sample configuration is for an authoritative-only server that is the master server for "example.com" @@ -137,7 +137,7 @@

-Load Balancing

+Load Balancing

A primitive form of load balancing can be achieved in the DNS by using multiple A records for @@ -280,10 +280,10 @@

-Name Server Operations

+Name Server Operations

-Tools for Use With the Name Server Daemon

+Tools for Use With the Name Server Daemon

This section describes several indispensable diagnostic, administrative and monitoring tools available to the system @@ -741,7 +741,7 @@

-Signals

+Signals

Certain UNIX signals cause the name server to take specific actions, as described in the following table. These signals can ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch04.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -49,28 +49,28 @@

Dynamic Update
The journal file
Incremental Zone Transfers (IXFR)
-
Split DNS
+
Split DNS
TSIG
-
Generate Shared Keys for Each Pair of Hosts
-
Copying the Shared Secret to Both Machines
-
Informing the Servers of the Key's Existence
-
Instructing the Server to Use the Key
-
TSIG Key Based Access Control
-
Errors
+
Generate Shared Keys for Each Pair of Hosts
+
Copying the Shared Secret to Both Machines
+
Informing the Servers of the Key's Existence
+
Instructing the Server to Use the Key
+
TSIG Key Based Access Control
+
Errors
-
TKEY
-
SIG(0)
+
TKEY
+
SIG(0)
DNSSEC
-
Generating Keys
-
Signing the Zone
-
Configuring Servers
+
Generating Keys
+
Signing the Zone
+
Configuring Servers
-
IPv6 Support in BIND 9
+
IPv6 Support in BIND 9
-
Address Lookups Using AAAA Records
-
Address to Name Lookups Using Nibble Format
+
Address Lookups Using AAAA Records
+
Address to Name Lookups Using Nibble Format
@@ -204,7 +204,7 @@

-Split DNS

+Split DNS

Setting up different views, or visibility, of the DNS space to internal and external resolvers is usually referred to as a @@ -479,7 +479,7 @@

-Generate Shared Keys for Each Pair of Hosts

+Generate Shared Keys for Each Pair of Hosts

A shared secret is generated to be shared between host1 and host2. An arbitrary key name is chosen: "host1-host2.". The key name must @@ -487,7 +487,7 @@

-Automatic Generation

+Automatic Generation

The following command will generate a 128-bit (16 byte) HMAC-MD5 key as described above. Longer keys are better, but shorter keys @@ -512,7 +512,7 @@

-Manual Generation

+Manual Generation

The shared secret is simply a random sequence of bits, encoded in base-64. Most ASCII strings are valid base-64 strings (assuming @@ -527,7 +527,7 @@

-Copying the Shared Secret to Both Machines

+Copying the Shared Secret to Both Machines

This is beyond the scope of DNS. A secure transport mechanism should be used. This could be secure FTP, ssh, telephone, etc. @@ -535,7 +535,7 @@

-Informing the Servers of the Key's Existence

+Informing the Servers of the Key's Existence

Imagine host1 and host 2 are @@ -564,7 +564,7 @@

-Instructing the Server to Use the Key

+Instructing the Server to Use the Key

Since keys are shared between two hosts only, the server must be told when keys are to be used. The following is added to the named.conf file @@ -596,7 +596,7 @@

-TSIG Key Based Access Control

+TSIG Key Based Access Control

BIND allows IP addresses and ranges to be specified in ACL @@ -624,7 +624,7 @@

-Errors

+Errors

The processing of TSIG signed messages can result in several errors. If a signed message is sent to a non-TSIG aware @@ -650,7 +650,7 @@

-TKEY

+TKEY

TKEY is a mechanism for automatically generating a shared secret between two hosts. There are several "modes" of @@ -686,7 +686,7 @@

-SIG(0)

+SIG(0)

BIND 9 partially supports DNSSEC SIG(0) transaction signatures as specified in RFC 2535 and RFC2931. @@ -747,7 +747,7 @@

-Generating Keys

+Generating Keys

The dnssec-keygen program is used to generate keys. @@ -798,7 +798,7 @@

-Signing the Zone

+Signing the Zone

The dnssec-signzone program is used to @@ -842,7 +842,7 @@

-Configuring Servers

+Configuring Servers

To enable named to respond appropriately to DNS requests from DNSSEC aware clients, @@ -930,7 +930,7 @@

-IPv6 Support in BIND 9

+IPv6 Support in BIND 9

BIND 9 fully supports all currently defined forms of IPv6 @@ -969,7 +969,7 @@

-Address Lookups Using AAAA Records

+Address Lookups Using AAAA Records

The IPv6 AAAA record is a parallel to the IPv4 A record, and, unlike the deprecated A6 record, specifies the entire @@ -988,7 +988,7 @@

-Address to Name Lookups Using Nibble Format

+Address to Name Lookups Using Nibble Format

When looking up an address in nibble format, the address components are simply reversed, just as in IPv4, and ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch05.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -45,13 +45,13 @@

-The Lightweight Resolver Library

+The Lightweight Resolver Library

Traditionally applications have been linked with a stub resolver library that sends recursive DNS queries to a local caching name ==== //depot/projects/mjexp/contrib/bind9/doc/arm/Bv9ARM.ch06.html#4 (text+ko) ==== @@ -14,7 +14,7 @@ - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. --> - + @@ -48,52 +48,52 @@

Configuration File Elements
Address Match Lists
-
Comment Syntax
+
Comment Syntax
Configuration File Grammar
-
acl Statement Grammar
+
acl Statement Grammar
acl Statement Definition and Usage
-
controls Statement Grammar
+
controls Statement Grammar
controls Statement Definition and Usage
-
include Statement Grammar
-
include Statement Definition and +
include Statement Grammar
+
include Statement Definition and Usage
-
key Statement Grammar
-
key Statement Definition and Usage
-
logging Statement Grammar
-
logging Statement Definition and +
key Statement Grammar
+
key Statement Definition and Usage
+
logging Statement Grammar
+
logging Statement Definition and Usage
-
lwres Statement Grammar
-
lwres Statement Definition and Usage
-
masters Statement Grammar
-
masters Statement Definition and +
lwres Statement Grammar
+
lwres Statement Definition and Usage
+
masters Statement Grammar
+
masters Statement Definition and Usage
-
options Statement Grammar
+
options Statement Grammar
options Statement Definition and Usage
server Statement Grammar
server Statement Definition and Usage
-
trusted-keys Statement Grammar
-
trusted-keys Statement Definition +
trusted-keys Statement Grammar
+
trusted-keys Statement Definition and Usage
view Statement Grammar
-
view Statement Definition and Usage
+
view Statement Definition and Usage
zone Statement Grammar
-
zone Statement Definition and Usage
+
zone Statement Definition and Usage
-
Zone File
+
Zone File
Types of Resource Records and When to Use Them
-
Discussion of MX Records
+
Discussion of MX Records
Setting TTLs
-
Inverse Mapping in IPv4
-
Other Zone File Directives
-
BIND Master File Extension: the $GENERATE Directive
+
Inverse Mapping in IPv4
+
Other Zone File Directives
+
BIND Master File Extension: the $GENERATE Directive
Additional File Formats
@@ -428,7 +428,7 @@ Address Match Lists

-Syntax

+Syntax
address_match_list = address_match_list_element ;
   [ address_match_list_element; ... ]
 address_match_list_element = [ ! ] (ip_address [/length] |
@@ -437,7 +437,7 @@
 
 

-Definition and Usage

+Definition and Usage

Address match lists are primarily used to determine access control for various server operations. They are also used in >>> TRUNCATED FOR MAIL (1000 lines) <<<