From owner-p4-projects@FreeBSD.ORG Sun Apr 10 01:55:32 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 73ADC16A4D0; Sun, 10 Apr 2005 01:55:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B4E216A4CE for ; Sun, 10 Apr 2005 01:55:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2DED343D2D for ; Sun, 10 Apr 2005 01:55:31 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3A1tVUt097912 for ; Sun, 10 Apr 2005 01:55:31 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3A1tU3U097909 for perforce@freebsd.org; Sun, 10 Apr 2005 01:55:30 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 01:55:30 GMT Message-Id: <200504100155.j3A1tU3U097909@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74821 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 01:55:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=74821 Change 74821 by davidxu@davidxu_tiger on 2005/04/10 01:55:29 Use attach_thread to add new thread, this enables us to to enable event reporting for existing each thread. Affected files ... .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#8 edit Differences ... ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#8 (text+ko) ==== @@ -394,10 +394,10 @@ { fbsd_thread_active = 1; init_thread_list(); + if (fbsd_thread_core == 0) + enable_thread_event_reporting (); fbsd_thread_find_new_threads (); get_current_thread (); - if (fbsd_thread_core == 0) - enable_thread_event_reporting (); } static void @@ -646,7 +646,8 @@ td_err_e err; /* Add the thread to GDB's thread list. */ - add_thread (ptid); + if (!in_thread_list (ptid)) + add_thread (ptid); if (verbose) printf_unfiltered ("[New %s]\n", target_pid_to_str (ptid)); @@ -703,8 +704,7 @@ /* We may already know about this thread, for instance when the user has issued the `info threads' command before the SIGTRAP for hitting the thread creation breakpoint was reported. */ - if (!in_thread_list (ptid)) - attach_thread (ptid, msg.th_p, &ti, 1); + attach_thread (ptid, msg.th_p, &ti, 1); break; case TD_DEATH: if (!in_thread_list (ptid)) @@ -1051,9 +1051,7 @@ return 0; ptid = BUILD_THREAD (ti.ti_tid, proc_handle.pid); - - if (!in_thread_list (ptid)) - add_thread (ptid); + attach_thread (ptid, th_p, &ti, 1); return 0; } From owner-p4-projects@FreeBSD.ORG Sun Apr 10 03:32:29 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85A1116A4D0; Sun, 10 Apr 2005 03:32:29 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 452EB16A4CE for ; Sun, 10 Apr 2005 03:32:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1DD9343D45 for ; Sun, 10 Apr 2005 03:32:29 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3A3WTZE004952 for ; Sun, 10 Apr 2005 03:32:29 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3A3WSmD004949 for perforce@freebsd.org; Sun, 10 Apr 2005 03:32:28 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 03:32:28 GMT Message-Id: <200504100332.j3A3WSmD004949@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74825 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 03:32:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=74825 Change 74825 by davidxu@davidxu_tiger on 2005/04/10 03:32:16 Enable initial thread to report events. Affected files ... .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#9 edit Differences ... ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#9 (text+ko) ==== @@ -138,6 +138,9 @@ /* Prototypes for local functions. */ static void fbsd_thread_find_new_threads (void); static int fbsd_thread_alive (ptid_t ptid); +static void attach_thread (ptid_t ptid, const td_thrhandle_t *th_p, + const td_thrinfo_t *ti_p, int verbose); +static void fbsd_thread_detach (char *args, int from_tty); /* Building process ids. */ @@ -233,23 +236,21 @@ /* Convert LWP to user-level thread id. */ static ptid_t -thread_from_lwp (ptid_t ptid) +thread_from_lwp (ptid_t ptid, td_thrhandle_t *th, td_thrinfo_t *ti) { - td_thrinfo_t ti; - td_thrhandle_t th; td_err_e err; gdb_assert (IS_LWP (ptid)); if (fbsd_thread_active) { - err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); + err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), th); if (err == TD_OK) { - err = td_thr_get_info_p (&th, &ti); + err = td_thr_get_info_p (th, ti); if (err != TD_OK) error ("Cannot get thread info: %s", thread_db_err_str (err)); - return BUILD_THREAD (ti.ti_tid, GET_PID (ptid)); + return BUILD_THREAD (ti->ti_tid, GET_PID (ptid)); } } @@ -290,14 +291,19 @@ static void get_current_thread () { + td_thrhandle_t th; + td_thrinfo_t ti; long lwp; ptid_t tmp, ptid; lwp = get_current_lwp (proc_handle.pid); tmp = BUILD_LWP (lwp, proc_handle.pid); - ptid = thread_from_lwp (tmp); + ptid = thread_from_lwp (tmp, &th, &ti); if (!in_thread_list (ptid)) { +#if 0 + attach_thread (ptid, &th, &ti, 1); +#endif add_thread (ptid); } inferior_ptid = ptid; @@ -648,7 +654,7 @@ /* Add the thread to GDB's thread list. */ if (!in_thread_list (ptid)) add_thread (ptid); - + if (verbose) printf_unfiltered ("[New %s]\n", target_pid_to_str (ptid)); @@ -724,17 +730,24 @@ ptid_t ret; long lwp; CORE_ADDR stop_pc; + td_thrhandle_t th; + td_thrinfo_t ti; ret = child_ops.to_wait (ptid, ourstatus); if (GET_PID(ret) >= 0 && ourstatus->kind == TARGET_WAITKIND_STOPPED) { lwp = get_current_lwp (GET_PID(ret)); - ret = thread_from_lwp (BUILD_LWP(lwp, GET_PID(ret))); + ret = thread_from_lwp (BUILD_LWP(lwp, GET_PID(ret)), + &th, &ti); + if (!in_thread_list(ret)) { + /* + * We have to enable event reporting for initial thread + * which was not mapped before. + */ + attach_thread(ret, &th, &ti, 1); + } if (ourstatus->value.sig == TARGET_SIGNAL_TRAP) check_event(ret); -#if 0 - if (!in_thread_list (ret)) - add_thread (ret); /* this is a hack, if an event won't cause gdb to stop, for example, SIGARLM, gdb resumes the process immediatly without setting inferior_ptid to the new thread returned here, this is a bug @@ -745,7 +758,6 @@ delete_thread (inferior_ptid); inferior_ptid = ret; } -#endif } return (ret); From owner-p4-projects@FreeBSD.ORG Sun Apr 10 03:37:36 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3F3E216A4D0; Sun, 10 Apr 2005 03:37:36 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 03E7616A4CE for ; Sun, 10 Apr 2005 03:37:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CAFB343D1D for ; Sun, 10 Apr 2005 03:37:35 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3A3bZ9v005238 for ; Sun, 10 Apr 2005 03:37:35 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3A3bZRc005235 for perforce@freebsd.org; Sun, 10 Apr 2005 03:37:35 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 03:37:35 GMT Message-Id: <200504100337.j3A3bZRc005235@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74826 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 03:37:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=74826 Change 74826 by davidxu@davidxu_tiger on 2005/04/10 03:36:38 Change some symbols and event control bits. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#8 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#7 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#8 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#5 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#13 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#8 (text+ko) ==== @@ -357,7 +357,8 @@ _thread_off_key_destructor; _thread_off_state; _thread_off_tlsindex; - _thread_off_enable_event; + _thread_off_report_events; + _thread_off_event_mask; _thread_size_key; _thread_state_running; _thread_state_zoombie; ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#7 (text+ko) ==== @@ -158,7 +158,7 @@ _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; - if (_libthr_debug) { + if (1) {// curthread->report_events) { THR_THREAD_LOCK(curthread, new_thread); locked = 1; } else ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#8 (text+ko) ==== @@ -54,11 +54,7 @@ _thr_report_event(struct pthread *curthread, struct pthread *thread, int event, void *data) { - if (!_libthr_debug || -#if 0 - (curthread->enable_event == 0 && event != TD_CREATE) || -#endif - !(_thread_event_mask & event)) + if (!(event & (curthread->event_mask | _thread_event_mask))) return; THR_UMTX_LOCK(curthread, &_thr_event_lock); _thread_event.event = event; ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#5 (text+ko) ==== @@ -130,7 +130,7 @@ THREAD_LIST_UNLOCK(curthread); if (curthread->joiner) _thr_umtx_wake(&curthread->state, INT_MAX); - if (__predict_false(_libthr_debug)) + if (__predict_false(curthread->report_events)) _thr_report_death(curthread); thr_exit(&curthread->tid); PANIC("thr_exit() returned"); ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#13 (text+ko) ==== @@ -490,8 +490,9 @@ /* Cleanup handlers Link List */ struct pthread_cleanup *cleanup; - /* Event reporting mask */ - int enable_event; + /* Event reporting masks */ + int report_events; + int event_mask; }; #define THR_UMTX_TRYLOCK(thrd, lck) \ ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#7 (text+ko) ==== @@ -47,7 +47,8 @@ int _thread_off_attr_flags = offsetof(struct pthread, attr.flags); int _thread_off_linkmap = offsetof(Obj_Entry, linkmap); int _thread_off_tlsindex = offsetof(Obj_Entry, tlsindex); -int _thread_off_enable_event = offsetof(struct pthread, enable_event); +int _thread_off_report_events = offsetof(struct pthread, report_events); +int _thread_off_event_mask = offsetof(struct pthread, event_mask); int _thread_size_key = sizeof(struct pthread_key); int _thread_off_key_allocated = offsetof(struct pthread_key, allocated); int _thread_off_key_destructor = offsetof(struct pthread_key, destructor); From owner-p4-projects@FreeBSD.ORG Sun Apr 10 03:38:38 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6875316A4D0; Sun, 10 Apr 2005 03:38:38 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 43CC516A4CE for ; Sun, 10 Apr 2005 03:38:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1625143D4C for ; Sun, 10 Apr 2005 03:38:38 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3A3cbvI005271 for ; Sun, 10 Apr 2005 03:38:37 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3A3cbGT005268 for perforce@freebsd.org; Sun, 10 Apr 2005 03:38:37 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 03:38:37 GMT Message-Id: <200504100338.j3A3cbGT005268@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74828 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 03:38:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=74828 Change 74828 by davidxu@davidxu_tiger on 2005/04/10 03:38:01 allow libpthread debugger and libc_r debugger to continue. sync with libthr debugging code. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread_db/libc_r_db.c#2 edit .. //depot/projects/davidxu_thread/src/lib/libthread_db/libpthread_db.c#7 edit .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#10 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libc_r_db.c#2 (text+ko) ==== @@ -58,7 +58,7 @@ static td_err_e libc_r_db_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e @@ -160,7 +160,7 @@ static td_err_e libc_r_db_ta_set_event(const td_thragent_t *ta, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e @@ -192,13 +192,13 @@ static td_err_e libc_r_db_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e libc_r_db_thr_event_enable(const td_thrhandle_t *th, int oo) { - return (TD_ERR); + return (0); } static td_err_e @@ -281,7 +281,7 @@ static td_err_e libc_r_db_thr_set_event(const td_thrhandle_t *th, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libpthread_db.c#7 (text+ko) ==== @@ -428,7 +428,7 @@ pt_ta_event_addr(const td_thragent_t *ta, td_event_e event, td_notify_t *ptr) { TDBG_FUNC(); - return (TD_NOEVENT); + return (TD_ERR); } static td_err_e @@ -821,21 +821,21 @@ pt_thr_event_enable(const td_thrhandle_t *th, int en) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e pt_thr_set_event(const td_thrhandle_t *th, td_thr_events_t *setp) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e pt_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *setp) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#10 (text+ko) ==== @@ -70,9 +70,10 @@ int thread_max_keys; int thread_off_key_allocated; int thread_off_key_destructor; + int thread_off_report_events; + int thread_off_event_mask; int thread_state_zoombie; int thread_state_running; - int thread_off_enable_event; struct pt_map *map; int map_len; }; @@ -217,7 +218,9 @@ LOOKUP_VAL(ph, "_thread_off_key_destructor", &ta->thread_off_key_destructor); LOOKUP_VAL(ph, "_thread_state_running", &ta->thread_state_running); LOOKUP_VAL(ph, "_thread_state_zoombie", &ta->thread_state_zoombie); - LOOKUP_VAL(ph, "_thread_off_enable_event", &ta->thread_off_enable_event); + LOOKUP_VAL(ph, "_thread_off_report_events", + &ta->thread_off_report_events); + LOOKUP_VAL(ph, "_thread_off_event_mask", &ta->thread_off_event_mask); dbg = getpid(); /* * If this fails it probably means we're debugging a core file and @@ -450,16 +453,16 @@ pt_ta_set_event(const td_thragent_t *ta, td_thr_events_t *events) { int ret; - int mask; + td_thr_events_t mask; TDBG_FUNC(); ret = ps_pread(ta->ph, ta->thread_event_mask_addr, &mask, - sizeof(int)); + sizeof(mask)); if (ret != 0) return (P2T(ret)); mask |= *events; ret = ps_pwrite(ta->ph, ta->thread_event_mask_addr, &mask, - sizeof(int)); + sizeof(mask)); return (P2T(ret)); } @@ -467,16 +470,16 @@ pt_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *events) { int ret; - int mask; + td_thr_events_t mask; TDBG_FUNC(); ret = ps_pread(ta->ph, ta->thread_event_mask_addr, &mask, - sizeof(int)); + sizeof(mask)); if (ret != 0) return (P2T(ret)); mask &= ~*events; ret = ps_pwrite(ta->ph, ta->thread_event_mask_addr, &mask, - sizeof(int)); + sizeof(mask)); return (P2T(ret)); } @@ -672,7 +675,7 @@ int ret; TDBG_FUNC(); - ret = ps_pwrite(ta->ph, th->th_thread + ta->thread_off_enable_event, + ret = ps_pwrite(ta->ph, th->th_thread + ta->thread_off_report_events, &en, sizeof(int)); return (P2T(ret)); } @@ -680,15 +683,33 @@ static td_err_e pt_thr_set_event(const td_thrhandle_t *th, td_thr_events_t *setp) { + const td_thragent_t *ta = th->th_ta; + td_thr_events_t mask; + int ret; + TDBG_FUNC(); - return (TD_ERR); + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_event_mask, + &mask, sizeof(mask)); + mask |= *setp; + ret = ps_pwrite(ta->ph, th->th_thread + ta->thread_off_event_mask, + &mask, sizeof(mask)); + return (P2T(ret)); } static td_err_e pt_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *setp) { + const td_thragent_t *ta = th->th_ta; + td_thr_events_t mask; + int ret; + TDBG_FUNC(); - return (TD_ERR); + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_event_mask, + &mask, sizeof(mask)); + mask &= ~*setp; + ret = ps_pwrite(ta->ph, th->th_thread + ta->thread_off_event_mask, + &mask, sizeof(mask)); + return (P2T(ret)); } static td_err_e From owner-p4-projects@FreeBSD.ORG Sun Apr 10 23:06:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BB4D16A4D0; Sun, 10 Apr 2005 23:06:33 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E4C6116A4CE for ; Sun, 10 Apr 2005 23:06:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B4B7543D3F for ; Sun, 10 Apr 2005 23:06:32 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3AN6WTo001273 for ; Sun, 10 Apr 2005 23:06:32 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3AN6WTu001270 for perforce@freebsd.org; Sun, 10 Apr 2005 23:06:32 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 23:06:32 GMT Message-Id: <200504102306.j3AN6WTu001270@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74891 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 23:06:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=74891 Change 74891 by davidxu@davidxu_tiger on 2005/04/10 23:05:43 Introduce SHOULD_REPORT_EVENT macro to test if we should report a event. call _thr_report_create for initial thread Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#8 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#9 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#6 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_init.c#8 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#14 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#8 (text+ko) ==== @@ -158,7 +158,7 @@ _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; - if (1) {// curthread->report_events) { + if (SHOULD_REPORT_EVENT(curthread, TD_CREATE)) { THR_THREAD_LOCK(curthread, new_thread); locked = 1; } else ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#9 (text+ko) ==== @@ -41,32 +41,21 @@ void _thr_report_create(struct pthread *curthread, struct pthread *newthread) { - _thr_report_event(curthread, newthread, TD_CREATE, NULL); + THR_UMTX_LOCK(curthread, &_thr_event_lock); + _thread_event.event = TD_CREATE; + _thread_event.thread = newthread; + _thread_event.data = 0; + _thread_create_bp(); + THR_UMTX_UNLOCK(curthread, &_thr_event_lock); } void _thr_report_death(struct pthread *curthread) { - _thr_report_event(curthread, curthread, TD_DEATH, NULL); -} - -void -_thr_report_event(struct pthread *curthread, struct pthread *thread, - int event, void *data) -{ - if (!(event & (curthread->event_mask | _thread_event_mask))) - return; THR_UMTX_LOCK(curthread, &_thr_event_lock); - _thread_event.event = event; - _thread_event.thread = thread; - _thread_event.data = data; - switch (event) { - case TD_CREATE: - _thread_create_bp(); - break; - case TD_DEATH: - _thread_death_bp(); - break; - } + _thread_event.event = TD_DEATH; + _thread_event.thread = curthread; + _thread_event.data = 0; + _thread_death_bp(); THR_UMTX_UNLOCK(curthread, &_thr_event_lock); } ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#6 (text+ko) ==== @@ -130,7 +130,7 @@ THREAD_LIST_UNLOCK(curthread); if (curthread->joiner) _thr_umtx_wake(&curthread->state, INT_MAX); - if (__predict_false(curthread->report_events)) + if (SHOULD_REPORT_EVENT(curthread, TD_DEATH)) _thr_report_death(curthread); thr_exit(&curthread->tid); PANIC("thr_exit() returned"); ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_init.c#8 (text+ko) ==== @@ -309,6 +309,7 @@ _thr_initial = curthread; SIGDELSET(oldset, SIGCANCEL); __sys_sigprocmask(SIG_SETMASK, &oldset, NULL); + _thr_report_create(curthread, curthread); } } ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#14 (text+ko) ==== @@ -583,8 +583,11 @@ }; /* XXX this must match thread_db.h */ -#define TD_CREATE 0x0004 +#define TD_CREATE 0x0004 #define TD_DEATH 0x0008 +#define SHOULD_REPORT_EVENT(curthr, e) \ + (curthr->report_events && \ + (((curthr)->event_mask | _thread_event_mask ) & e) != 0) extern int __isthreaded; @@ -740,8 +743,6 @@ void _thr_report_create(struct pthread *curthread, struct pthread *newthread); void _thr_report_death(struct pthread *curthread); -void _thr_report_event(struct pthread *curthread, struct pthread *thread, - int event, void *data); void _thread_create_bp(void); void _thread_death_bp(void); From owner-p4-projects@FreeBSD.ORG Sun Apr 10 23:11:40 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB06216A4D1; Sun, 10 Apr 2005 23:11:39 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 845C816A4CF for ; Sun, 10 Apr 2005 23:11:39 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5B3A843D5A for ; Sun, 10 Apr 2005 23:11:39 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3ANBdsZ001454 for ; Sun, 10 Apr 2005 23:11:39 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3ANBdGi001451 for perforce@freebsd.org; Sun, 10 Apr 2005 23:11:39 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 23:11:39 GMT Message-Id: <200504102311.j3ANBdGi001451@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74892 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 23:11:40 -0000 http://perforce.freebsd.org/chv.cgi?CH=74892 Change 74892 by davidxu@davidxu_tiger on 2005/04/10 23:11:37 rename _thr_report_create to _thr_report_creation. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#9 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#10 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#15 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#9 (text+ko) ==== @@ -174,7 +174,7 @@ (*thread) = 0; ret = EAGAIN; } else if (locked) { - _thr_report_create(curthread, new_thread); + _thr_report_creation(curthread, new_thread); THR_THREAD_UNLOCK(curthread, new_thread); } return (ret); ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#10 (text+ko) ==== @@ -39,7 +39,7 @@ } void -_thr_report_create(struct pthread *curthread, struct pthread *newthread) +_thr_report_creation(struct pthread *curthread, struct pthread *newthread) { THR_UMTX_LOCK(curthread, &_thr_event_lock); _thread_event.event = TD_CREATE; ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#15 (text+ko) ==== @@ -740,7 +740,7 @@ void _thr_unlink(struct pthread *curthread, struct pthread *thread); void _thr_suspend_check(struct pthread *curthread); void _thr_assert_lock_level() __dead2; -void _thr_report_create(struct pthread *curthread, +void _thr_report_creation(struct pthread *curthread, struct pthread *newthread); void _thr_report_death(struct pthread *curthread); void _thread_create_bp(void); From owner-p4-projects@FreeBSD.ORG Sun Apr 10 23:12:41 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61A9A16A4D0; Sun, 10 Apr 2005 23:12:41 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AA1316A4CE for ; Sun, 10 Apr 2005 23:12:41 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1AFA243D2D for ; Sun, 10 Apr 2005 23:12:41 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3ANCfs3001500 for ; Sun, 10 Apr 2005 23:12:41 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3ANCeFR001497 for perforce@freebsd.org; Sun, 10 Apr 2005 23:12:40 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 23:12:40 GMT Message-Id: <200504102312.j3ANCeFR001497@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74893 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 23:12:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=74893 Change 74893 by davidxu@davidxu_tiger on 2005/04/10 23:12:24 Use attach_thread to add a thread. Affected files ... .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#10 edit Differences ... ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#10 (text+ko) ==== @@ -301,10 +301,8 @@ ptid = thread_from_lwp (tmp, &th, &ti); if (!in_thread_list (ptid)) { -#if 0 attach_thread (ptid, &th, &ti, 1); -#endif - add_thread (ptid); + //add_thread (ptid); } inferior_ptid = ptid; } @@ -322,8 +320,8 @@ /* Set up the breakpoint. */ (*bp) = gdbarch_convert_from_func_ptr_addr (current_gdbarch, - (CORE_ADDR) notify.u.bptaddr, - ¤t_target); + (CORE_ADDR)notify.u.bptaddr, + ¤t_target); create_thread_event_breakpoint ((*bp)); return TD_OK; @@ -652,15 +650,17 @@ td_err_e err; /* Add the thread to GDB's thread list. */ - if (!in_thread_list (ptid)) + if (!in_thread_list (ptid)) { add_thread (ptid); - - if (verbose) - printf_unfiltered ("[New %s]\n", target_pid_to_str (ptid)); + if (verbose) + printf_unfiltered ("[New %s]\n", target_pid_to_str (ptid)); + } if (ti_p->ti_state == TD_THR_UNKNOWN || ti_p->ti_state == TD_THR_ZOMBIE) return; /* A zombie thread -- do not attach. */ + if (! IS_THREAD(ptid)) + return; /* Enable thread event reporting for this thread. */ err = td_thr_event_enable_p (th_p, 1); if (err != TD_OK) @@ -1156,7 +1156,7 @@ ret = td_ta_map_id2thr_p (thread_agent, GET_THREAD(ptid), &th); /* get the address of the variable. */ - ret = td_thr_tls_get_addr_p (&th, (void *) lm, offset, &address); + ret = td_thr_tls_get_addr_p (&th, (void *)lm, offset, &address); if (ret != TD_OK) { From owner-p4-projects@FreeBSD.ORG Sun Apr 10 23:13:43 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2DFF316A4D0; Sun, 10 Apr 2005 23:13:43 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0A34316A4CE for ; Sun, 10 Apr 2005 23:13:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CFF6A43D3F for ; Sun, 10 Apr 2005 23:13:42 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3ANDgVS001581 for ; Sun, 10 Apr 2005 23:13:42 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3ANDgQo001578 for perforce@freebsd.org; Sun, 10 Apr 2005 23:13:42 GMT (envelope-from davidxu@freebsd.org) Date: Sun, 10 Apr 2005 23:13:42 GMT Message-Id: <200504102313.j3ANDgQo001578@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74894 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Apr 2005 23:13:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=74894 Change 74894 by davidxu@davidxu_tiger on 2005/04/10 23:13:14 Delete a line. Affected files ... .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#11 edit Differences ... ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#11 (text+ko) ==== @@ -302,7 +302,6 @@ if (!in_thread_list (ptid)) { attach_thread (ptid, &th, &ti, 1); - //add_thread (ptid); } inferior_ptid = ptid; } From owner-p4-projects@FreeBSD.ORG Mon Apr 11 18:47:02 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DF72816A4D0; Mon, 11 Apr 2005 18:47:01 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B294E16A4CE for ; Mon, 11 Apr 2005 18:47:01 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9CF0B43D53 for ; Mon, 11 Apr 2005 18:47:01 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3BIl1OC011205 for ; Mon, 11 Apr 2005 18:47:01 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3BIl1kG011202 for perforce@freebsd.org; Mon, 11 Apr 2005 18:47:01 GMT (envelope-from sam@freebsd.org) Date: Mon, 11 Apr 2005 18:47:01 GMT Message-Id: <200504111847.j3BIl1kG011202@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 74931 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2005 18:47:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=74931 Change 74931 by sam@sam_ebb on 2005/04/11 18:46:23 wlantype -> wlanmode Affected files ... .. //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#38 edit Differences ... ==== //depot/projects/wifi/sbin/ifconfig/ifieee80211.c#38 (text+ko) ==== @@ -1142,7 +1142,7 @@ } static -DECL_CMD_FUNC(set80211wlantype, arg, d) +DECL_CMD_FUNC(set80211wlanmode, arg, d) { #define iseq(a,b) (strncasecmp(a,b,sizeof(b)-1) == 0) if (iseq(arg, "sta")) @@ -1864,7 +1864,7 @@ DEF_CMD("turbo", 1, set80211turbo), DEF_CMD("-turbo", 0, set80211turbo), DEF_CMD_ARG("wlandev", set80211wlandev), - DEF_CMD_ARG("wlantype", set80211wlantype), + DEF_CMD_ARG("wlanmode", set80211wlanmode), }; static struct afswtch af_ieee80211 = { .af_name = "af_ieee80211", From owner-p4-projects@FreeBSD.ORG Mon Apr 11 23:33:50 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4600B16A4D0; Mon, 11 Apr 2005 23:33:50 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 09DE716A4CE for ; Mon, 11 Apr 2005 23:33:50 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B0EB243D1D for ; Mon, 11 Apr 2005 23:33:49 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3BNXnNU032999 for ; Mon, 11 Apr 2005 23:33:49 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3BNXnaD032996 for perforce@freebsd.org; Mon, 11 Apr 2005 23:33:49 GMT (envelope-from davidxu@freebsd.org) Date: Mon, 11 Apr 2005 23:33:49 GMT Message-Id: <200504112333.j3BNXnaD032996@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74939 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2005 23:33:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=74939 Change 74939 by davidxu@davidxu_tiger on 2005/04/11 23:32:56 Use thread_db.h in libthr. Rename some symbols. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/Makefile#4 edit .. //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#9 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#11 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#16 edit .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#8 edit .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#11 edit .. //depot/projects/davidxu_thread/src/lib/libthread_db/thread_db.h#4 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/Makefile#4 (text+ko) ==== @@ -16,6 +16,7 @@ CFLAGS+=-I${.CURDIR}/sys CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH} +CFLAGS+=-I${.CURDIR}/../libthread_db CFLAGS+=-Winline # CFLAGS+=-DSYSTEM_SCOPE_ONLY ==== //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#9 (text+ko) ==== @@ -344,28 +344,29 @@ # Debugger needs these. _libthr_debug; _thread_active_threads; + _thread_bp_create; + _thread_bp_death; + _thread_event_mask; _thread_keytable; + _thread_last_event; _thread_list; _thread_max_keys; _thread_off_attr_flags; _thread_off_dtv; + _thread_off_event_mask; + _thread_off_event_buf; + _thread_off_key_allocated; + _thread_off_key_destructor; _thread_off_linkmap; _thread_off_next; + _thread_off_report_events; + _thread_off_state; _thread_off_tcb; _thread_off_tid; - _thread_off_key_allocated; - _thread_off_key_destructor; - _thread_off_state; _thread_off_tlsindex; - _thread_off_report_events; - _thread_off_event_mask; _thread_size_key; _thread_state_running; _thread_state_zoombie; - _thread_event; - _thread_event_mask; - _thread_create_bp; - _thread_death_bp; local: *; }; ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#11 (text+ko) ==== @@ -29,33 +29,37 @@ #include "thr_private.h" void -_thread_create_bp(void) +_thread_bp_create(void) { } void -_thread_death_bp(void) +_thread_bp_death(void) { } void _thr_report_creation(struct pthread *curthread, struct pthread *newthread) { + curthread->event_buf.event = TD_CREATE; + curthread->event_buf.th_p = (td_thrhandle_t *)newthread; + curthread->event_buf.data = 0; THR_UMTX_LOCK(curthread, &_thr_event_lock); - _thread_event.event = TD_CREATE; - _thread_event.thread = newthread; - _thread_event.data = 0; - _thread_create_bp(); + _thread_last_event = curthread; + _thread_bp_create(); + _thread_last_event = NULL; THR_UMTX_UNLOCK(curthread, &_thr_event_lock); } void _thr_report_death(struct pthread *curthread) { + curthread->event_buf.event = TD_DEATH; + curthread->event_buf.th_p = (td_thrhandle_t *)curthread; + curthread->event_buf.data = 0; THR_UMTX_LOCK(curthread, &_thr_event_lock); - _thread_event.event = TD_DEATH; - _thread_event.thread = curthread; - _thread_event.data = 0; - _thread_death_bp(); + _thread_last_event = curthread; + _thread_bp_death(); + _thread_last_event = NULL; THR_UMTX_UNLOCK(curthread, &_thr_event_lock); } ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#16 (text+ko) ==== @@ -56,6 +56,7 @@ #include "pthread_md.h" #include "thr_umtx.h" +#include "thread_db.h" /* * Evaluate the storage class specifier. @@ -490,9 +491,14 @@ /* Cleanup handlers Link List */ struct pthread_cleanup *cleanup; - /* Event reporting masks */ + /* Enable event reporting */ int report_events; + + /* Event mask */ int event_mask; + + /* Event */ + td_event_msg_t event_buf; }; #define THR_UMTX_TRYLOCK(thrd, lck) \ @@ -575,16 +581,6 @@ #define THR_IN_SYNCQ(thrd) (((thrd)->sflags & THR_FLAGS_IN_SYNCQ) != 0) -struct pthread_event -{ - int event; - struct pthread *thread; - void *data; -}; - -/* XXX this must match thread_db.h */ -#define TD_CREATE 0x0004 -#define TD_DEATH 0x0008 #define SHOULD_REPORT_EVENT(curthr, e) \ (curthr->report_events && \ (((curthr)->event_mask | _thread_event_mask ) & e) != 0) @@ -602,7 +598,7 @@ /* For debugger */ SCLASS int _libthr_debug SCLASS_PRESET(0); SCLASS int _thread_event_mask SCLASS_PRESET(0); -SCLASS struct pthread_event _thread_event; +SCLASS struct pthread *_thread_last_event; /* List of all threads: */ SCLASS TAILQ_HEAD(, pthread) _thread_list @@ -743,8 +739,8 @@ void _thr_report_creation(struct pthread *curthread, struct pthread *newthread); void _thr_report_death(struct pthread *curthread); -void _thread_create_bp(void); -void _thread_death_bp(void); +void _thread_bp_create(void); +void _thread_bp_death(void); /* #include */ #ifdef _SYS_AIO_H_ ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#8 (text+ko) ==== @@ -49,6 +49,7 @@ int _thread_off_tlsindex = offsetof(Obj_Entry, tlsindex); int _thread_off_report_events = offsetof(struct pthread, report_events); int _thread_off_event_mask = offsetof(struct pthread, event_mask); +int _thread_off_event_buf = offsetof(struct pthread, event_buf); int _thread_size_key = sizeof(struct pthread_key); int _thread_off_key_allocated = offsetof(struct pthread_key, allocated); int _thread_off_key_destructor = offsetof(struct pthread_key, destructor); ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#11 (text+ko) ==== @@ -53,10 +53,10 @@ psaddr_t thread_list_addr; psaddr_t thread_active_threads_addr; psaddr_t thread_keytable_addr; - psaddr_t thread_event_addr; + psaddr_t thread_last_event_addr; psaddr_t thread_event_mask_addr; - psaddr_t thread_create_bp_addr; - psaddr_t thread_death_bp_addr; + psaddr_t thread_bp_create_addr; + psaddr_t thread_bp_death_addr; int thread_inited; int thread_off_dtv; int thread_off_tlsindex; @@ -200,10 +200,10 @@ LOOKUP_SYM(ph, "_thread_list", &ta->thread_list_addr); LOOKUP_SYM(ph, "_thread_active_threads",&ta->thread_active_threads_addr); LOOKUP_SYM(ph, "_thread_keytable", &ta->thread_keytable_addr); - LOOKUP_SYM(ph, "_thread_event", &ta->thread_event_addr); + LOOKUP_SYM(ph, "_thread_last_event", &ta->thread_last_event_addr); LOOKUP_SYM(ph, "_thread_event_mask", &ta->thread_event_mask_addr); - LOOKUP_SYM(ph, "_thread_create_bp", &ta->thread_create_bp_addr); - LOOKUP_SYM(ph, "_thread_death_bp", &ta->thread_death_bp_addr); + LOOKUP_SYM(ph, "_thread_bp_create", &ta->thread_bp_create_addr); + LOOKUP_SYM(ph, "_thread_bp_death", &ta->thread_bp_death_addr); LOOKUP_VAL(ph, "_thread_off_dtv", &ta->thread_off_dtv); LOOKUP_VAL(ph, "_thread_off_tlsindex", &ta->thread_off_tlsindex); LOOKUP_VAL(ph, "_thread_off_attr_flags", &ta->thread_off_attr_flags); @@ -438,11 +438,11 @@ switch (event) { case TD_CREATE: ptr->type = NOTIFY_BPT; - ptr->u.bptaddr = ta->thread_create_bp_addr; + ptr->u.bptaddr = ta->thread_bp_create_addr; return (0); case TD_DEATH: ptr->type = NOTIFY_BPT; - ptr->u.bptaddr = ta->thread_death_bp_addr; + ptr->u.bptaddr = ta->thread_bp_death_addr; return (0); default: return (TD_ERR); ==== //depot/projects/davidxu_thread/src/lib/libthread_db/thread_db.h#4 (text+ko) ==== @@ -57,6 +57,7 @@ TD_PARTIALREG } td_err_e; +struct ps_prochandle; typedef struct td_thragent td_thragent_t; typedef long thread_t; /* Must be an integral type. */ From owner-p4-projects@FreeBSD.ORG Mon Apr 11 23:45:11 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5D90216A4D0; Mon, 11 Apr 2005 23:45:11 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1F30316A4CE for ; Mon, 11 Apr 2005 23:45:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2E98F43D48 for ; Mon, 11 Apr 2005 23:45:10 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3BNjA3i033491 for ; Mon, 11 Apr 2005 23:45:10 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3BNj87w033488 for perforce@freebsd.org; Mon, 11 Apr 2005 23:45:08 GMT (envelope-from sam@freebsd.org) Date: Mon, 11 Apr 2005 23:45:08 GMT Message-Id: <200504112345.j3BNj87w033488@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 74941 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2005 23:45:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=74941 Change 74941 by sam@sam_ebb on 2005/04/11 23:45:03 IFC @ 74940 Affected files ... .. //depot/projects/wifi/Makefile.inc1#16 integrate .. //depot/projects/wifi/bin/dd/dd.1#4 integrate .. //depot/projects/wifi/etc/defaults/rc.conf#12 integrate .. //depot/projects/wifi/etc/rc.d/dumpon#2 integrate .. //depot/projects/wifi/etc/rc.d/pf#3 integrate .. //depot/projects/wifi/etc/rc.d/random#2 integrate .. //depot/projects/wifi/etc/rc.d/ugidfw#2 integrate .. //depot/projects/wifi/etc/rc.initdiskless#1 branch .. //depot/projects/wifi/games/fortune/datfiles/fortunes#10 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#4 integrate .. //depot/projects/wifi/include/Makefile#9 integrate .. //depot/projects/wifi/include/pthread.h#3 integrate .. //depot/projects/wifi/include/time.h#2 integrate .. //depot/projects/wifi/lib/Makefile#5 integrate .. //depot/projects/wifi/lib/libalias/alias.c#2 integrate .. //depot/projects/wifi/lib/libarchive/archive_private.h#3 integrate .. //depot/projects/wifi/lib/libarchive/archive_read.c#3 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_cpio.c#3 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_iso9660.c#4 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_tar.c#6 integrate .. //depot/projects/wifi/lib/libarchive/archive_read_support_format_zip.c#3 integrate .. //depot/projects/wifi/lib/libc/amd64/string/Makefile.inc#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/bcmp.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/bcopy.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/bzero.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/memcmp.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/memcpy.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/memmove.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/memset.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/strcat.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/strcmp.S#1 branch .. //depot/projects/wifi/lib/libc/amd64/string/strcpy.S#1 branch .. //depot/projects/wifi/lib/libc/gen/errlst.c#2 integrate .. //depot/projects/wifi/lib/libc/gen/fnmatch.c#2 integrate .. //depot/projects/wifi/lib/libc/gen/setmode.c#2 integrate .. //depot/projects/wifi/lib/libc/gen/syslog.c#5 integrate .. //depot/projects/wifi/lib/libc/i386/sys/_amd64_get_fsbase.c#2 integrate .. //depot/projects/wifi/lib/libc/i386/sys/_amd64_get_gsbase.c#2 integrate .. //depot/projects/wifi/lib/libc/net/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libc/net/gai_strerror.c#1 branch .. //depot/projects/wifi/lib/libc/net/getaddrinfo.c#6 integrate .. //depot/projects/wifi/lib/libc/net/getifmaddrs.c#2 integrate .. //depot/projects/wifi/lib/libc/net/name6.c#3 integrate .. //depot/projects/wifi/lib/libc/net/res_comp.c#2 integrate .. //depot/projects/wifi/lib/libc/net/res_mkupdate.c#2 integrate .. //depot/projects/wifi/lib/libc/stdio/vfscanf.c#2 integrate .. //depot/projects/wifi/lib/libc/string/strcspn.c#2 integrate .. //depot/projects/wifi/lib/libc/string/strspn.c#2 integrate .. //depot/projects/wifi/lib/libc/yp/yplib.c#3 integrate .. //depot/projects/wifi/lib/libpthread/arch/arm/include/atomic_ops.h#3 integrate .. //depot/projects/wifi/lib/libthr/Makefile#3 integrate .. //depot/projects/wifi/lib/libthr/arch/alpha/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/alpha/alpha/_curthread.c#2 delete .. //depot/projects/wifi/lib/libthr/arch/alpha/alpha/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/alpha/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/amd64/amd64/_setcurthread.c#2 delete .. //depot/projects/wifi/lib/libthr/arch/amd64/amd64/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/amd64/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/arm/Makefile.inc#1 branch .. //depot/projects/wifi/lib/libthr/arch/arm/arm/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/arm/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/i386/i386/_curthread.S#2 delete .. //depot/projects/wifi/lib/libthr/arch/i386/i386/_setcurthread.c#4 delete .. //depot/projects/wifi/lib/libthr/arch/i386/i386/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/i386/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/ia64/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/ia64/ia64/_curthread.c#2 delete .. //depot/projects/wifi/lib/libthr/arch/ia64/ia64/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/ia64/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/powerpc/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/powerpc/powerpc/_curthread.c#2 delete .. //depot/projects/wifi/lib/libthr/arch/powerpc/powerpc/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/arch/sparc64/include/pthread_md.h#1 branch .. //depot/projects/wifi/lib/libthr/arch/sparc64/sparc64/_setcurthread.c#2 delete .. //depot/projects/wifi/lib/libthr/arch/sparc64/sparc64/pthread_md.c#1 branch .. //depot/projects/wifi/lib/libthr/pthread.map#1 branch .. //depot/projects/wifi/lib/libthr/sys/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/sys/thr_error.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/Makefile.inc#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_atfork.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_attr.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_barrier.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_barrierattr.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_cancel.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_clean.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_concurrency.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_cond.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_condattr.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_condattr_destroy.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_condattr_init.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_create.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_detach.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_exit.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_find_thread.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_fork.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_getschedparam.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_info.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_init.c#4 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_join.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_kern.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_kill.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_list.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_main_np.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_mattr_init.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_mattr_kind_np.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_mutex.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_mutex_prioceiling.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_mutex_protocol.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_mutexattr.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_mutexattr_destroy.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_once.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_printf.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_private.h#4 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_pspinlock.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_resume_np.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_rwlock.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_self.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_sem.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_seterrno.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_setschedparam.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_sig.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_sigmask.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_single_np.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_spec.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_spinlock.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_stack.c#4 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_subr.c#2 delete .. //depot/projects/wifi/lib/libthr/thread/thr_suspend_np.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_switch_np.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_symbols.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_syscalls.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_umtx.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_umtx.h#1 branch .. //depot/projects/wifi/lib/libthread_db/libpthread_db.c#2 integrate .. //depot/projects/wifi/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/wifi/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/wifi/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/wifi/lib/msun/Makefile#9 integrate .. //depot/projects/wifi/lib/msun/man/exp.3#5 integrate .. //depot/projects/wifi/lib/msun/man/lround.3#2 integrate .. //depot/projects/wifi/lib/msun/man/math.3#7 integrate .. //depot/projects/wifi/lib/msun/man/round.3#3 integrate .. //depot/projects/wifi/lib/msun/src/k_rem_pio2f.c#2 integrate .. //depot/projects/wifi/lib/msun/src/math.h#7 integrate .. //depot/projects/wifi/lib/msun/src/s_exp2.c#1 branch .. //depot/projects/wifi/lib/msun/src/s_exp2f.c#1 branch .. //depot/projects/wifi/lib/msun/src/s_llround.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_llroundf.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_llroundl.c#1 branch .. //depot/projects/wifi/lib/msun/src/s_lround.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_lroundf.c#2 integrate .. //depot/projects/wifi/lib/msun/src/s_lroundl.c#1 branch .. //depot/projects/wifi/lib/msun/src/s_roundl.c#1 branch .. //depot/projects/wifi/libexec/getty/chat.c#2 integrate .. //depot/projects/wifi/libexec/getty/extern.h#2 integrate .. //depot/projects/wifi/libexec/getty/init.c#2 integrate .. //depot/projects/wifi/libexec/getty/main.c#2 integrate .. //depot/projects/wifi/libexec/rexecd/rexecd.c#6 integrate .. //depot/projects/wifi/libexec/rtld-elf/arm/rtld_machdep.h#4 integrate .. //depot/projects/wifi/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/installation/common/install.sgml#3 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/installation/common/layout.sgml#2 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/installation/common/trouble.sgml#2 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#8 integrate .. //depot/projects/wifi/release/doc/share/sgml/release.ent#4 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/errata/article.sgml#2 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#3 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/installation/common/install.sgml#3 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/installation/common/layout.sgml#2 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#2 integrate .. //depot/projects/wifi/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#3 integrate .. //depot/projects/wifi/sbin/devfs/devfs.8#5 integrate .. //depot/projects/wifi/sbin/ffsinfo/ffsinfo.8#4 integrate .. //depot/projects/wifi/sbin/geom/class/Makefile.inc#2 integrate .. //depot/projects/wifi/sbin/geom/core/geom.c#5 integrate .. //depot/projects/wifi/sbin/ifconfig/ifconfig.c#12 integrate .. //depot/projects/wifi/sbin/ifconfig/ifconfig.h#10 integrate .. //depot/projects/wifi/sbin/ipfw/ipfw2.c#7 integrate .. //depot/projects/wifi/sbin/nfsiod/nfsiod.c#2 integrate .. //depot/projects/wifi/sbin/restore/dirs.c#3 integrate .. //depot/projects/wifi/sbin/restore/restore.h#3 integrate .. //depot/projects/wifi/share/man/man4/Makefile#18 integrate .. //depot/projects/wifi/share/man/man4/arcmsr.4#2 integrate .. //depot/projects/wifi/share/man/man4/atkbdc.4#2 integrate .. //depot/projects/wifi/share/man/man4/carp.4#4 integrate .. //depot/projects/wifi/share/man/man4/cdce.4#2 integrate .. //depot/projects/wifi/share/man/man4/cpufreq.4#5 integrate .. //depot/projects/wifi/share/man/man4/geom.4#2 integrate .. //depot/projects/wifi/share/man/man4/inet.4#4 integrate .. //depot/projects/wifi/share/man/man4/mac_bsdextended.4#2 integrate .. //depot/projects/wifi/share/man/man4/ng_netflow.4#7 integrate .. //depot/projects/wifi/share/man/man4/ng_source.4#5 integrate .. //depot/projects/wifi/share/man/man4/sched_4bsd.4#1 branch .. //depot/projects/wifi/share/man/man4/sched_ule.4#1 branch .. //depot/projects/wifi/share/man/man4/uftdi.4#3 integrate .. //depot/projects/wifi/share/man/man4/witness.4#3 integrate .. //depot/projects/wifi/share/man/man9/Makefile#9 integrate .. //depot/projects/wifi/share/man/man9/devclass_get_drivers.9#1 branch .. //depot/projects/wifi/share/man/man9/devclass_get_maxunit.9#2 integrate .. //depot/projects/wifi/share/misc/bsd-family-tree#7 integrate .. //depot/projects/wifi/share/mk/bsd.files.mk#2 integrate .. //depot/projects/wifi/share/mk/bsd.incs.mk#2 integrate .. //depot/projects/wifi/share/mk/bsd.init.mk#5 integrate .. //depot/projects/wifi/share/mk/bsd.lib.mk#4 integrate .. //depot/projects/wifi/share/mk/bsd.nls.mk#4 integrate .. //depot/projects/wifi/share/mk/bsd.obj.mk#4 integrate .. //depot/projects/wifi/share/mk/bsd.own.mk#3 integrate .. //depot/projects/wifi/share/mk/bsd.prog.mk#6 integrate .. //depot/projects/wifi/sys/alpha/alpha/critical.c#2 delete .. //depot/projects/wifi/sys/alpha/alpha/interrupt.c#4 integrate .. //depot/projects/wifi/sys/alpha/alpha/machdep.c#9 integrate .. //depot/projects/wifi/sys/alpha/alpha/mp_machdep.c#5 integrate .. //depot/projects/wifi/sys/alpha/alpha/vm_machdep.c#5 integrate .. //depot/projects/wifi/sys/alpha/include/critical.h#3 delete .. //depot/projects/wifi/sys/alpha/include/proc.h#3 integrate .. //depot/projects/wifi/sys/alpha/osf1/imgact_osf1.c#4 integrate .. //depot/projects/wifi/sys/alpha/osf1/osf1_misc.c#6 integrate .. //depot/projects/wifi/sys/amd64/amd64/critical.c#2 delete .. //depot/projects/wifi/sys/amd64/amd64/machdep.c#9 integrate .. //depot/projects/wifi/sys/amd64/amd64/mp_machdep.c#5 integrate .. //depot/projects/wifi/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/wifi/sys/amd64/amd64/vm_machdep.c#7 integrate .. //depot/projects/wifi/sys/amd64/conf/NOTES#6 integrate .. //depot/projects/wifi/sys/amd64/include/asm.h#2 integrate .. //depot/projects/wifi/sys/amd64/include/critical.h#4 delete .. //depot/projects/wifi/sys/amd64/include/floatingpoint.h#2 integrate .. //depot/projects/wifi/sys/amd64/include/proc.h#3 integrate .. //depot/projects/wifi/sys/amd64/include/tss.h#2 integrate .. //depot/projects/wifi/sys/amd64/linux32/linux32_machdep.c#4 integrate .. //depot/projects/wifi/sys/arm/arm/critical.c#3 delete .. //depot/projects/wifi/sys/arm/arm/machdep.c#6 integrate .. //depot/projects/wifi/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/wifi/sys/arm/arm/vm_machdep.c#6 integrate .. //depot/projects/wifi/sys/arm/include/asmacros.h#3 integrate .. //depot/projects/wifi/sys/arm/include/atomic.h#5 integrate .. //depot/projects/wifi/sys/arm/include/critical.h#2 delete .. //depot/projects/wifi/sys/arm/include/pmap.h#6 integrate .. //depot/projects/wifi/sys/arm/include/proc.h#4 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/wifi/sys/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/wifi/sys/boot/i386/libi386/vidconsole.c#2 integrate .. //depot/projects/wifi/sys/boot/pc98/boot2/Makefile#3 integrate .. //depot/projects/wifi/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/wifi/sys/compat/linux/linux_misc.c#6 integrate .. //depot/projects/wifi/sys/compat/ndis/hal_var.h#5 integrate .. //depot/projects/wifi/sys/compat/ndis/kern_ndis.c#10 integrate .. //depot/projects/wifi/sys/compat/ndis/kern_windrv.c#4 integrate .. //depot/projects/wifi/sys/compat/ndis/ndis_var.h#9 integrate .. //depot/projects/wifi/sys/compat/ndis/ntoskrnl_var.h#10 integrate .. //depot/projects/wifi/sys/compat/ndis/pe_var.h#5 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_hal.c#8 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_ndis.c#11 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_ntoskrnl.c#12 integrate .. //depot/projects/wifi/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/wifi/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/wifi/sys/compat/svr4/imgact_svr4.c#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.alpha#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.amd64#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.arm#5 integrate .. //depot/projects/wifi/sys/conf/Makefile.i386#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.ia64#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.pc98#3 integrate .. //depot/projects/wifi/sys/conf/Makefile.powerpc#4 integrate .. //depot/projects/wifi/sys/conf/Makefile.sparc64#3 integrate .. //depot/projects/wifi/sys/conf/NOTES#17 integrate .. //depot/projects/wifi/sys/conf/files.alpha#4 integrate .. //depot/projects/wifi/sys/conf/files.amd64#10 integrate .. //depot/projects/wifi/sys/conf/files.arm#3 integrate .. //depot/projects/wifi/sys/conf/files.i386#15 integrate .. //depot/projects/wifi/sys/conf/files.ia64#3 integrate .. //depot/projects/wifi/sys/conf/files.pc98#7 integrate .. //depot/projects/wifi/sys/conf/files.powerpc#2 integrate .. //depot/projects/wifi/sys/conf/files.sparc64#7 integrate .. //depot/projects/wifi/sys/conf/kern.post.mk#6 integrate .. //depot/projects/wifi/sys/conf/kmod.mk#11 integrate .. //depot/projects/wifi/sys/conf/options#14 integrate .. //depot/projects/wifi/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_if.m#5 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_perf.c#6 integrate .. //depot/projects/wifi/sys/dev/acpica/acpi_throttle.c#4 integrate .. //depot/projects/wifi/sys/dev/acpica/acpivar.h#8 integrate .. //depot/projects/wifi/sys/dev/arcmsr/arcmsr.c#2 integrate .. //depot/projects/wifi/sys/dev/asr/asr.c#4 integrate .. //depot/projects/wifi/sys/dev/ata/ata-all.c#6 integrate .. //depot/projects/wifi/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/wifi/sys/dev/ata/ata-card.c#5 integrate .. //depot/projects/wifi/sys/dev/ata/ata-cbus.c#4 integrate .. //depot/projects/wifi/sys/dev/ata/ata-chipset.c#7 integrate .. //depot/projects/wifi/sys/dev/ata/ata-dma.c#4 integrate .. //depot/projects/wifi/sys/dev/ata/ata-isa.c#3 integrate .. //depot/projects/wifi/sys/dev/ata/ata-lowlevel.c#8 integrate .. //depot/projects/wifi/sys/dev/ata/ata-pci.c#5 integrate .. //depot/projects/wifi/sys/dev/ata/ata-pci.h#5 integrate .. //depot/projects/wifi/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/wifi/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/amrr/amrr.c#11 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/onoe/onoe.c#11 integrate .. //depot/projects/wifi/sys/dev/ath/ath_rate/sample/sample.c#4 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#82 integrate .. //depot/projects/wifi/sys/dev/ath/if_athrate.h#6 integrate .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#32 integrate .. //depot/projects/wifi/sys/dev/drm/drm_bufs.h#4 integrate .. //depot/projects/wifi/sys/dev/em/if_em.c#9 integrate .. //depot/projects/wifi/sys/dev/hme/if_hme_sbus.c#3 integrate .. //depot/projects/wifi/sys/dev/ieee488/upd7210.c#4 integrate .. //depot/projects/wifi/sys/dev/if_ndis/if_ndis.c#13 integrate .. //depot/projects/wifi/sys/dev/ixgb/if_ixgb.c#5 integrate .. //depot/projects/wifi/sys/dev/ixgb/if_ixgb.h#4 integrate .. //depot/projects/wifi/sys/dev/kbd/atkbdc.c#2 integrate .. //depot/projects/wifi/sys/dev/mse/mse.c#4 integrate .. //depot/projects/wifi/sys/dev/mse/mse_cbus.c#3 integrate .. //depot/projects/wifi/sys/dev/mse/mse_isa.c#3 integrate .. //depot/projects/wifi/sys/dev/pci/pci.c#13 integrate .. //depot/projects/wifi/sys/dev/pci/pcireg.h#4 integrate .. //depot/projects/wifi/sys/dev/sio/sio_pci.c#3 integrate .. //depot/projects/wifi/sys/dev/sound/pcm/ac97.c#3 integrate .. //depot/projects/wifi/sys/dev/syscons/apm/apm_saver.c#2 integrate .. //depot/projects/wifi/sys/dev/usb/uftdi.c#4 integrate .. //depot/projects/wifi/sys/dev/usb/uplcom.c#6 integrate .. //depot/projects/wifi/sys/dev/usb/usbdevs#11 integrate .. //depot/projects/wifi/sys/fs/msdosfs/denode.h#5 integrate .. //depot/projects/wifi/sys/fs/msdosfs/msdosfs_denode.c#7 integrate .. //depot/projects/wifi/sys/fs/nullfs/null_subr.c#5 integrate .. //depot/projects/wifi/sys/fs/nullfs/null_vfsops.c#8 integrate .. //depot/projects/wifi/sys/fs/smbfs/smbfs_vnops.c#11 integrate .. //depot/projects/wifi/sys/fs/unionfs/union_vnops.c#12 integrate .. //depot/projects/wifi/sys/geom/concat/g_concat.c#3 integrate .. //depot/projects/wifi/sys/geom/geom_ctl.c#3 integrate .. //depot/projects/wifi/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/wifi/sys/i386/cpufreq/p4tcc.c#3 integrate .. //depot/projects/wifi/sys/i386/i386/critical.c#2 delete .. //depot/projects/wifi/sys/i386/i386/machdep.c#10 integrate .. //depot/projects/wifi/sys/i386/i386/mp_machdep.c#7 integrate .. //depot/projects/wifi/sys/i386/i386/vm_machdep.c#10 integrate .. //depot/projects/wifi/sys/i386/ibcs2/imgact_coff.c#3 integrate .. //depot/projects/wifi/sys/i386/include/apm_bios.h#3 integrate .. //depot/projects/wifi/sys/i386/include/bus.h#2 integrate .. //depot/projects/wifi/sys/i386/include/bus_at386.h#4 delete .. //depot/projects/wifi/sys/i386/include/bus_pc98.h#3 delete .. //depot/projects/wifi/sys/i386/include/critical.h#4 delete .. //depot/projects/wifi/sys/i386/include/floatingpoint.h#2 integrate .. //depot/projects/wifi/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/wifi/sys/i386/include/md_var.h#2 integrate .. //depot/projects/wifi/sys/i386/include/pci_cfgreg.h#3 integrate .. //depot/projects/wifi/sys/i386/include/proc.h#3 integrate .. //depot/projects/wifi/sys/i386/linux/imgact_linux.c#3 integrate .. //depot/projects/wifi/sys/i4b/layer1/isic/i4b_isic.h#3 integrate .. //depot/projects/wifi/sys/ia64/ia64/critical.c#2 delete .. //depot/projects/wifi/sys/ia64/ia64/machdep.c#7 integrate .. //depot/projects/wifi/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/wifi/sys/ia64/ia64/vm_machdep.c#5 integrate .. //depot/projects/wifi/sys/ia64/include/critical.h#3 delete .. //depot/projects/wifi/sys/ia64/include/proc.h#3 integrate .. //depot/projects/wifi/sys/kern/imgact_elf.c#4 integrate .. //depot/projects/wifi/sys/kern/imgact_gzip.c#4 integrate .. //depot/projects/wifi/sys/kern/kern_cpu.c#5 integrate .. //depot/projects/wifi/sys/kern/kern_fork.c#8 integrate .. //depot/projects/wifi/sys/kern/kern_idle.c#3 integrate .. //depot/projects/wifi/sys/kern/kern_jail.c#5 integrate .. //depot/projects/wifi/sys/kern/kern_lock.c#9 integrate .. //depot/projects/wifi/sys/kern/kern_mutex.c#3 integrate .. //depot/projects/wifi/sys/kern/kern_proc.c#7 integrate .. //depot/projects/wifi/sys/kern/kern_sig.c#8 integrate .. //depot/projects/wifi/sys/kern/kern_switch.c#8 integrate .. //depot/projects/wifi/sys/kern/kern_synch.c#6 integrate .. //depot/projects/wifi/sys/kern/sched_4bsd.c#6 integrate .. //depot/projects/wifi/sys/kern/sched_ule.c#10 integrate .. //depot/projects/wifi/sys/kern/subr_bus.c#12 integrate .. //depot/projects/wifi/sys/kern/subr_prf.c#3 integrate .. //depot/projects/wifi/sys/kern/subr_witness.c#7 integrate .. //depot/projects/wifi/sys/kern/vfs_default.c#16 integrate .. //depot/projects/wifi/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/wifi/sys/kern/vfs_lookup.c#10 integrate .. //depot/projects/wifi/sys/kern/vfs_subr.c#20 integrate .. //depot/projects/wifi/sys/kern/vfs_syscalls.c#10 integrate .. //depot/projects/wifi/sys/kern/vfs_vnops.c#13 integrate .. //depot/projects/wifi/sys/kern/vnode_if.src#8 integrate .. //depot/projects/wifi/sys/libkern/strspn.c#2 integrate .. //depot/projects/wifi/sys/modules/Makefile#18 integrate .. //depot/projects/wifi/sys/modules/ata/Makefile#2 integrate .. //depot/projects/wifi/sys/modules/ata/atapicam/Makefile#1 branch .. //depot/projects/wifi/sys/modules/cpufreq/Makefile#5 integrate .. //depot/projects/wifi/sys/modules/ndis/Makefile#5 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#8 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_freebsd.h#14 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_input.c#48 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_node.h#23 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_proto.h#17 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/common/ng_bluetooth.c#3 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#4 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/socket/ng_btsocket.c#5 integrate .. //depot/projects/wifi/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#5 integrate .. //depot/projects/wifi/sys/netgraph/netflow/netflow.c#8 integrate .. //depot/projects/wifi/sys/netgraph/ng_iface.c#7 integrate .. //depot/projects/wifi/sys/netgraph/ng_source.c#7 integrate .. //depot/projects/wifi/sys/netgraph/ng_source.h#4 integrate .. //depot/projects/wifi/sys/netinet/in_pcb.c#5 integrate .. //depot/projects/wifi/sys/netinet/ip_dummynet.c#5 integrate .. //depot/projects/wifi/sys/netinet/ip_fw_pfil.c#8 integrate .. //depot/projects/wifi/sys/netinet/ip_input.c#6 integrate .. //depot/projects/wifi/sys/netinet/tcp_input.c#10 integrate .. //depot/projects/wifi/sys/netinet/tcp_sack.c#7 integrate .. //depot/projects/wifi/sys/netinet/tcp_seq.h#4 integrate .. //depot/projects/wifi/sys/netinet/tcp_subr.c#11 integrate .. //depot/projects/wifi/sys/netipx/README#4 integrate .. //depot/projects/wifi/sys/netipx/ipx_input.c#5 integrate .. //depot/projects/wifi/sys/pc98/conf/GENERIC#7 integrate .. //depot/projects/wifi/sys/pc98/conf/NOTES#6 integrate .. //depot/projects/wifi/sys/pc98/i386/machdep.c#8 integrate .. //depot/projects/wifi/sys/pc98/include/_inttypes.h#1 branch .. //depot/projects/wifi/sys/pc98/include/_limits.h#1 branch .. //depot/projects/wifi/sys/pc98/include/_stdint.h#1 branch .. //depot/projects/wifi/sys/pc98/include/_types.h#1 branch .. //depot/projects/wifi/sys/pc98/include/apicreg.h#1 branch .. //depot/projects/wifi/sys/pc98/include/apicvar.h#1 branch .. //depot/projects/wifi/sys/pc98/include/apm_bios.h#1 branch .. //depot/projects/wifi/sys/pc98/include/apm_segments.h#1 branch .. //depot/projects/wifi/sys/pc98/include/asm.h#1 branch .. //depot/projects/wifi/sys/pc98/include/asmacros.h#1 branch .. //depot/projects/wifi/sys/pc98/include/atomic.h#1 branch .. //depot/projects/wifi/sys/pc98/include/bootinfo.h#1 branch .. //depot/projects/wifi/sys/pc98/include/bus.h#1 branch .. //depot/projects/wifi/sys/pc98/include/bus_dma.h#1 branch .. //depot/projects/wifi/sys/pc98/include/bus_memio.h#1 branch .. //depot/projects/wifi/sys/pc98/include/bus_pio.h#1 branch .. //depot/projects/wifi/sys/pc98/include/clock.h#1 branch .. //depot/projects/wifi/sys/pc98/include/cpu.h#1 branch .. //depot/projects/wifi/sys/pc98/include/cpufunc.h#1 branch .. //depot/projects/wifi/sys/pc98/include/cputypes.h#1 branch .. //depot/projects/wifi/sys/pc98/include/cserial.h#1 branch .. //depot/projects/wifi/sys/pc98/include/db_machdep.h#1 branch .. //depot/projects/wifi/sys/pc98/include/elf.h#1 branch .. //depot/projects/wifi/sys/pc98/include/endian.h#1 branch .. //depot/projects/wifi/sys/pc98/include/exec.h#1 branch .. //depot/projects/wifi/sys/pc98/include/float.h#1 branch .. //depot/projects/wifi/sys/pc98/include/floatingpoint.h#1 branch .. //depot/projects/wifi/sys/pc98/include/frame.h#1 branch .. //depot/projects/wifi/sys/pc98/include/gdb_machdep.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_cause.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_debug.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_ioctl.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_rbch_ioctl.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_tel_ioctl.h#1 branch .. //depot/projects/wifi/sys/pc98/include/i4b_trace.h#1 branch .. //depot/projects/wifi/sys/pc98/include/ieeefp.h#1 branch .. //depot/projects/wifi/sys/pc98/include/in_cksum.h#1 branch .. //depot/projects/wifi/sys/pc98/include/intr_machdep.h#1 branch .. //depot/projects/wifi/sys/pc98/include/ioctl_bt848.h#1 branch .. //depot/projects/wifi/sys/pc98/include/ioctl_meteor.h#1 branch .. //depot/projects/wifi/sys/pc98/include/iodev.h#1 branch .. //depot/projects/wifi/sys/pc98/include/kdb.h#1 branch .. //depot/projects/wifi/sys/pc98/include/legacyvar.h#1 branch .. //depot/projects/wifi/sys/pc98/include/limits.h#1 branch .. //depot/projects/wifi/sys/pc98/include/md_var.h#1 branch .. //depot/projects/wifi/sys/pc98/include/memdev.h#1 branch .. //depot/projects/wifi/sys/pc98/include/metadata.h#1 branch .. //depot/projects/wifi/sys/pc98/include/mp_watchdog.h#1 branch .. //depot/projects/wifi/sys/pc98/include/mptable.h#1 branch .. //depot/projects/wifi/sys/pc98/include/mutex.h#1 branch .. //depot/projects/wifi/sys/pc98/include/npx.h#1 branch .. //depot/projects/wifi/sys/pc98/include/param.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pc/bios.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pc/display.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pc/vesa.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pcaudioio.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pcb.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pcb_ext.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pci_cfgreg.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pcpu.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pcvt_ioctl.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pecoff_machdep.h#1 branch .. //depot/projects/wifi/sys/pc98/include/perfmon.h#1 branch .. //depot/projects/wifi/sys/pc98/include/pmap.h#1 branch .. //depot/projects/wifi/sys/pc98/include/privatespace.h#1 branch .. //depot/projects/wifi/sys/pc98/include/proc.h#1 branch .. //depot/projects/wifi/sys/pc98/include/profile.h#1 branch .. //depot/projects/wifi/sys/pc98/include/psl.h#1 branch .. //depot/projects/wifi/sys/pc98/include/ptrace.h#1 branch .. //depot/projects/wifi/sys/pc98/include/reg.h#1 branch .. //depot/projects/wifi/sys/pc98/include/reloc.h#1 branch .. //depot/projects/wifi/sys/pc98/include/resource.h#1 branch .. //depot/projects/wifi/sys/pc98/include/runq.h#1 branch .. //depot/projects/wifi/sys/pc98/include/segments.h#1 branch .. //depot/projects/wifi/sys/pc98/include/setjmp.h#1 branch .. //depot/projects/wifi/sys/pc98/include/sf_buf.h#1 branch .. //depot/projects/wifi/sys/pc98/include/sigframe.h#1 branch .. //depot/projects/wifi/sys/pc98/include/signal.h#1 branch .. //depot/projects/wifi/sys/pc98/include/smapi.h#1 branch .. //depot/projects/wifi/sys/pc98/include/smp.h#1 branch .. //depot/projects/wifi/sys/pc98/include/smptests.h#1 branch .. //depot/projects/wifi/sys/pc98/include/speaker.h#1 branch .. //depot/projects/wifi/sys/pc98/include/specialreg.h#1 branch .. //depot/projects/wifi/sys/pc98/include/stdarg.h#1 branch .. //depot/projects/wifi/sys/pc98/include/sysarch.h#1 branch .. //depot/projects/wifi/sys/pc98/include/trap.h#1 branch .. //depot/projects/wifi/sys/pc98/include/tss.h#1 branch .. //depot/projects/wifi/sys/pc98/include/ucontext.h#1 branch .. //depot/projects/wifi/sys/pc98/include/varargs.h#1 branch .. //depot/projects/wifi/sys/pc98/include/vm86.h#1 branch .. //depot/projects/wifi/sys/pc98/include/vmparam.h#1 branch .. //depot/projects/wifi/sys/pc98/linux/linux.h#1 branch .. //depot/projects/wifi/sys/pc98/linux/linux_ipc64.h#1 branch .. //depot/projects/wifi/sys/pc98/linux/linux_proto.h#1 branch .. //depot/projects/wifi/sys/pci/agp_amd64.c#4 integrate .. //depot/projects/wifi/sys/pci/agp_nvidia.c#3 integrate .. //depot/projects/wifi/sys/powerpc/include/critical.h#3 delete .. //depot/projects/wifi/sys/powerpc/include/proc.h#2 integrate .. //depot/projects/wifi/sys/powerpc/powermac/ata_kauai.c#5 integrate .. //depot/projects/wifi/sys/powerpc/powermac/ata_macio.c#5 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/critical.c#2 delete .. //depot/projects/wifi/sys/powerpc/powerpc/machdep.c#8 integrate .. //depot/projects/wifi/sys/powerpc/powerpc/vm_machdep.c#5 integrate .. //depot/projects/wifi/sys/powerpc/psim/ata_iobus.c#5 integrate .. //depot/projects/wifi/sys/sparc64/include/critical.h#3 delete .. //depot/projects/wifi/sys/sparc64/include/proc.h#3 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/critical.c#2 delete .. //depot/projects/wifi/sys/sparc64/sparc64/machdep.c#7 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/mp_machdep.c#2 integrate .. //depot/projects/wifi/sys/sparc64/sparc64/vm_machdep.c#5 integrate .. //depot/projects/wifi/sys/sys/bus.h#7 integrate .. //depot/projects/wifi/sys/sys/disklabel.h#3 integrate .. //depot/projects/wifi/sys/sys/errno.h#3 integrate .. //depot/projects/wifi/sys/sys/lock.h#2 integrate .. //depot/projects/wifi/sys/sys/mman.h#2 integrate .. //depot/projects/wifi/sys/sys/mutex.h#4 integrate .. //depot/projects/wifi/sys/sys/namei.h#5 integrate .. //depot/projects/wifi/sys/sys/proc.h#11 integrate .. //depot/projects/wifi/sys/sys/shm.h#5 integrate .. //depot/projects/wifi/sys/sys/systm.h#11 integrate .. //depot/projects/wifi/sys/sys/time.h#4 integrate .. //depot/projects/wifi/sys/sys/vnode.h#20 integrate .. //depot/projects/wifi/sys/tools/vnode_if.awk#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_extern.h#7 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_inode.c#9 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_snapshot.c#13 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_softdep.c#9 integrate .. //depot/projects/wifi/sys/ufs/ffs/ffs_vfsops.c#20 integrate .. //depot/projects/wifi/sys/vm/vm.h#3 integrate .. //depot/projects/wifi/sys/vm/vm_extern.h#3 integrate .. //depot/projects/wifi/sys/vm/vm_meter.c#5 integrate .. //depot/projects/wifi/sys/vm/vm_mmap.c#6 integrate .. //depot/projects/wifi/sys/vm/vm_object.h#5 integrate .. //depot/projects/wifi/sys/vm/vnode_pager.c#16 integrate .. //depot/projects/wifi/tools/regression/lib/msun/test-rem.t#1 branch .. //depot/projects/wifi/tools/regression/msdosfs/msdosfstest.sh#1 branch .. //depot/projects/wifi/tools/tools/syscall_timing/syscall_timing.c#2 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.birthday#2 integrate .. //depot/projects/wifi/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/wifi/usr.bin/du/du.c#3 integrate .. //depot/projects/wifi/usr.bin/find/find.1#3 integrate .. //depot/projects/wifi/usr.bin/find/misc.c#2 integrate .. //depot/projects/wifi/usr.bin/id/id.c#2 integrate .. //depot/projects/wifi/usr.bin/make/cond.c#10 integrate .. //depot/projects/wifi/usr.bin/make/cond.h#3 integrate .. //depot/projects/wifi/usr.bin/make/for.c#10 integrate .. //depot/projects/wifi/usr.bin/make/for.h#2 integrate .. //depot/projects/wifi/usr.bin/make/job.c#15 integrate .. //depot/projects/wifi/usr.bin/make/job.h#7 integrate .. //depot/projects/wifi/usr.bin/make/lst.c#3 integrate .. //depot/projects/wifi/usr.bin/make/main.c#17 integrate .. //depot/projects/wifi/usr.bin/make/make.c#10 integrate .. //depot/projects/wifi/usr.bin/make/parse.c#13 integrate .. //depot/projects/wifi/usr.bin/make/parse.h#3 integrate .. //depot/projects/wifi/usr.bin/make/str.c#9 integrate .. //depot/projects/wifi/usr.bin/make/targ.c#10 integrate .. //depot/projects/wifi/usr.bin/make/var_modify.c#7 integrate .. //depot/projects/wifi/usr.bin/mt/mt.1#3 integrate .. //depot/projects/wifi/usr.bin/nl/nl.c#2 integrate .. //depot/projects/wifi/usr.bin/printf/printf.c#3 integrate .. //depot/projects/wifi/usr.bin/sed/process.c#2 integrate .. //depot/projects/wifi/usr.bin/systat/mbufs.c#2 integrate .. //depot/projects/wifi/usr.bin/top/machine.c#2 integrate .. //depot/projects/wifi/usr.bin/tr/tr.c#2 integrate .. //depot/projects/wifi/usr.bin/whereis/whereis.c#3 integrate .. //depot/projects/wifi/usr.sbin/boot0cfg/boot0cfg.8#3 integrate .. //depot/projects/wifi/usr.sbin/config/config.h#2 integrate .. //depot/projects/wifi/usr.sbin/config/config.y#3 integrate .. //depot/projects/wifi/usr.sbin/config/configvers.h#3 integrate .. //depot/projects/wifi/usr.sbin/config/main.c#4 integrate .. //depot/projects/wifi/usr.sbin/mount_portalfs/mount_portalfs.8#3 integrate .. //depot/projects/wifi/usr.sbin/mountd/mountd.c#3 integrate .. //depot/projects/wifi/usr.sbin/powerd/powerd.8#2 integrate .. //depot/projects/wifi/usr.sbin/powerd/powerd.c#2 integrate .. //depot/projects/wifi/usr.sbin/pstat/pstat.c#4 integrate .. //depot/projects/wifi/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/wifi/usr.sbin/quot/quot.c#2 integrate .. //depot/projects/wifi/usr.sbin/sliplogin/sliplogin.c#2 integrate Differences ... ==== //depot/projects/wifi/Makefile.inc1#16 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.490 2005/03/27 19:35:09 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.492 2005/04/06 01:55:43 peter Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -223,6 +223,7 @@ # Yes, the flags are redundant. LIB32MAKEENV= MAKEOBJDIRPREFIX=${OBJTREE}/lib32 \ _SHLIBDIRPREFIX=${LIB32TMP} \ + MACHINE=i386 \ MACHINE_ARCH=i386 \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${TMPPATH} \ @@ -454,7 +455,7 @@ WMAKE_TGTS+= _cross-tools .endif WMAKE_TGTS+= _includes _libraries _depend everything -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) WMAKE_TGTS+= build32 .endif @@ -540,7 +541,7 @@ @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif ==== //depot/projects/wifi/bin/dd/dd.1#4 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" $FreeBSD: src/bin/dd/dd.1,v 1.28 2005/01/16 16:41:56 ru Exp $ +.\" $FreeBSD: src/bin/dd/dd.1,v 1.29 2005/04/07 20:50:38 scottl Exp $ .\" .Dd August 15, 2004 .Dt DD 1 @@ -392,10 +392,19 @@ Check for (even) parity errors on a file: .Pp .Dl "dd if=file conv=pareven | cmp -x - file" +.Sh BUGS +Protection mechanisms in the +.Xr geom 4 +subsystem might prevent the super-user from writing blocks to a disk. +Instructions for temporarily disabling these protectsion mechanisms can be +found in the +.Xr geom 4 +manpage. .Sh SEE ALSO .Xr cp 1 , .Xr mt 1 , -.Xr tr 1 +.Xr tr 1 , +.Xr geom 4 .Sh STANDARDS The .Nm ==== //depot/projects/wifi/etc/defaults/rc.conf#12 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.243 2005/03/12 21:09:15 trhodes Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.246 2005/04/11 02:45:05 dougb Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -459,7 +459,7 @@ update_motd="YES" # update version info in /etc/motd (or NO) unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. - # /var/db/entropy is preferred if / is not available. + # /var/db/entropy-file is preferred if / is not avail. entropy_dir="/var/db/entropy" # Set to NO to disable caching entropy via cron. entropy_save_sz="2048" # Size of the entropy cache files. entropy_save_num="8" # Number of entropy cache files to save. ==== //depot/projects/wifi/etc/rc.d/dumpon#2 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/dumpon,v 1.7 2004/10/18 23:40:13 thomas Exp $ +# $FreeBSD: src/etc/rc.d/dumpon,v 1.8 2005/04/05 18:59:24 obrien Exp $ # # PROVIDE: dumpon -# REQUIRE: initrandom -# BEFORE: disks savecore +# REQUIRE: rcconf +# BEFORE: disks savecore initrandom # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/wifi/etc/rc.d/pf#3 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/pf,v 1.6 2004/10/25 08:12:28 pjd Exp $ +# $FreeBSD: src/etc/rc.d/pf,v 1.7 2005/04/04 23:06:10 seanc Exp $ # # PROVIDE: pf @@ -75,7 +75,9 @@ echo "Reloading pf rules." ${pf_program:-/sbin/pfctl} -n -f "${pf_rules}" || return 1 - ${pf_program:-/sbin/pfctl} -Fa > /dev/null 2>&1 + # Flush everything but existing state entries that way when + # rules are read in, it doesn't break established connections. + ${pf_program:-/sbin/pfctl} -Fnat -Fqueue -Frules -FSources -Finfo -FTables -Fosfp > /dev/null 2>&1 ${pf_program:-/sbin/pfctl} -f "${pf_rules}" ${pf_flags} } ==== //depot/projects/wifi/etc/rc.d/random#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/random,v 1.7 2004/10/07 13:55:26 mtm Exp $ +# $FreeBSD: src/etc/rc.d/random,v 1.8 2005/04/11 02:45:05 dougb Exp $ # # PROVIDE: random @@ -68,15 +68,14 @@ else # Try this as a reasonable alternative for read-only # roots, diskless workstations, etc. - rm -f /var/db/entropy - if touch /var/db/entropy; then - entropy_file_confirmed=/var/db/entropy + rm -f /var/db/entropy-file + if touch /var/db/entropy-file; then + entropy_file_confirmed=/var/db/entropy-file fi fi case ${entropy_file_confirmed} in '') - err 1 '${entropy_file_confirmed}:' \ - ' entropy file write failed.' + err 1 'entropy file write failed.' ;; *) dd if=/dev/random of=${entropy_file_confirmed} \ ==== //depot/projects/wifi/etc/rc.d/ugidfw#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/ugidfw,v 1.2 2004/10/14 04:37:57 trhodes Exp $ +# $FreeBSD: src/etc/rc.d/ugidfw,v 1.3 2005/04/02 00:01:03 trhodes Exp $ # PROVIDE: ugidfw # REQUIRE: @@ -15,6 +15,14 @@ start_precmd="ugidfw_precmd" stop_cmd="ugidfw_stop" +ugidfw_load() +{ + if [ -r "${bsdextended_script}" ]; then + . "${bsdextended_script}" + echo -n " ${_bsdextended_profile}" + fi +} + ugidfw_precmd() { if ! sysctl security.mac.bsdextended @@ -31,13 +39,19 @@ ugidfw_start() { - # set the default policy script if none was specified - [ -z "${bsdextended_script}" ] && bsdextended_script=/etc/rc.bsdextended + # check for existing profiles and set the default policy script + # if none was specified + [ -z "${bsdextended_profiles}" ] && { + bsdextended_profiles=default + [ -z "${bsdextended_script}" ] && bsdextended_script=/etc/rc.bsdextended + bsdextended_default_script=/etc/rc.bsdextended + } - if [ -r "${bsdextended_script}" ]; then - . "${bsdextended_script}" - echo -n 'MAC bsdextended rules loaded sucessfully.' - fi + echo -n "Loading MAC bsdextended rules:" + for _bsdextended_profile in ${bsdextended_profiles}; do + eval bsdextended_script=\"\$bsdextended_${_bsdextended_profile}_script\" + ugidfw_load + done echo '.' } ==== //depot/projects/wifi/games/fortune/datfiles/fortunes#10 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.173 2005/03/22 07:41:22 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.174 2005/04/10 10:53:26 schweikh Exp $ % ======================================================================= @@ -45695,7 +45695,7 @@ The cart has no place where a fifth wheel could be used. -- Herbert von Fritzlar % -The Celts invented two things, Whiskey and self-distruction. +The Celts invented two things, Whiskey and self-destruction. % "The chain which can be yanked is not the eternal chain." -- G. Fitch @@ -45713,7 +45713,7 @@ The chief danger in life is that you may take too many precautions. -- Alfred Adler % -The chief enemy of creativity is "good" sense +The chief enemy of creativity is "good" sense. -- Picasso % The church is near but the road is icy, ==== //depot/projects/wifi/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.9 2005/01/11 14:53:16 peadar Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.10 2005/04/05 11:40:58 davidxu Exp $ */ /* FreeBSD libthread_db assisted debugging support. Copyright 1999, 2000, 2001 Free Software Foundation, Inc. @@ -918,13 +918,13 @@ if (ti.ti_lid != 0) { - snprintf (buf, sizeof (buf), "Thread %ld (LWP %d)", - GET_THREAD (ptid), ti.ti_lid); + snprintf (buf, sizeof (buf), "Thread %p (LWP %d)", + th.th_thread, ti.ti_lid); } else { - snprintf (buf, sizeof (buf), "Thread %ld (%s)", - GET_THREAD (ptid), thread_db_state_str (ti.ti_state)); + snprintf (buf, sizeof (buf), "Thread %p (%s)", + th.th_thread, thread_db_state_str (ti.ti_state)); } return buf; ==== //depot/projects/wifi/include/Makefile#9 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.2 (Berkeley) 1/4/94 -# $FreeBSD: src/include/Makefile,v 1.237 2005/03/11 17:24:46 ume Exp $ +# $FreeBSD: src/include/Makefile,v 1.239 2005/04/03 04:53:23 imp Exp $ # # Doing a "make install" builds /usr/include. @@ -92,6 +92,10 @@ INCSLINKS+= posix4/$i ${INCLUDEDIR}/$i .endfor +.if ${MACHINE} != ${MACHINE_ARCH} +_MARCH=${MACHINE_ARCH} +.endif + .include installincludes: ${SHARED} @@ -99,7 +103,7 @@ # Take care of stale directory-level symlinks. compat: -.for i in ${LDIRS} ${LSUBDIRS} machine crypto +.for i in ${LDIRS} ${LSUBDIRS} machine ${_MARCH} crypto if [ -L ${DESTDIR}${INCLUDEDIR}/$i ]; then \ rm -f ${DESTDIR}${INCLUDEDIR}/$i; \ fi @@ -114,7 +118,8 @@ .endif copies: -.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc +.for i in ${LDIRS} ${LSUBDIRS} ${LSUBSUBDIRS} altq crypto machine machine/pc \ + ${_MARCH} .if exists(${DESTDIR}${INCLUDEDIR}/$i) cd ${DESTDIR}${INCLUDEDIR}/$i; \ for h in *.h; do \ @@ -148,14 +153,28 @@ cd ${.CURDIR}/../sys/opencrypto; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ ${DESTDIR}${INCLUDEDIR}/crypto - cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include; \ + cd ${.CURDIR}/../sys/${MACHINE}/include; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ ${DESTDIR}${INCLUDEDIR}/machine -.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc) - cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc; \ +.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc) + cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \ ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ ${DESTDIR}${INCLUDEDIR}/machine/pc .endif +.if defined(_MARCH) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ + cd ${.CURDIR}/../sys/${_MARCH}/include; \ + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH} +.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ + cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ + ${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 *.h \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc +.endif +.endif symlinks: @${ECHO} "Setting up symlinks to kernel source tree..." @@ -212,15 +231,33 @@ ln -fs ../../../sys/opencrypto/$$h \ ${DESTDIR}${INCLUDEDIR}/crypto; \ done - cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include; \ + cd ${.CURDIR}/../sys/${MACHINE}/include; \ for h in *.h; do \ - ln -fs ../../../sys/${MACHINE_ARCH}/include/$$h \ + ln -fs ../../../sys/${MACHINE}/include/$$h \ ${DESTDIR}${INCLUDEDIR}/machine; \ done -.if exists(${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc) - cd ${.CURDIR}/../sys/${MACHINE_ARCH}/include/pc; \ +.if exists(${.CURDIR}/../sys/${MACHINE}/include/pc) + cd ${.CURDIR}/../sys/${MACHINE}/include/pc; \ for h in *.h; do \ - ln -fs ../../../../sys/${MACHINE_ARCH}/include/pc/$$h \ + ln -fs ../../../../sys/${MACHINE}/include/pc/$$h \ ${DESTDIR}${INCLUDEDIR}/machine/pc; \ done .endif +.if defined(_MARCH) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ + cd ${.CURDIR}/../sys/${_MARCH}/include; \ + for h in *.h; do \ + ln -fs ../../../sys/${_MARCH}/include/$$h \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}; \ + done +.if exists(${.CURDIR}/../sys/${_MARCH}/include/pc) + ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ + cd ${.CURDIR}/../sys/${_MARCH}/include/pc; \ + for h in *.h; do \ + ln -fs ../../../../sys/${_MARCH}/include/pc/$$h \ + ${DESTDIR}${INCLUDEDIR}/${_MARCH}/pc; \ + done +.endif +.endif ==== //depot/projects/wifi/include/pthread.h#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread.h,v 1.33 2005/01/08 11:07:13 davidxu Exp $ + * $FreeBSD: src/include/pthread.h,v 1.35 2005/04/11 03:47:42 davidxu Exp $ */ #ifndef _PTHREAD_H_ #define _PTHREAD_H_ @@ -50,7 +50,7 @@ */ #define PTHREAD_DESTRUCTOR_ITERATIONS 4 #define PTHREAD_KEYS_MAX 256 -#define PTHREAD_STACK_MIN 1024 +#define PTHREAD_STACK_MIN MINSIGSTKSZ #define PTHREAD_THREADS_MAX ULONG_MAX #define PTHREAD_BARRIER_SERIAL_THREAD -1 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 12 11:25:44 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id ACCD716A4D0; Tue, 12 Apr 2005 11:25:43 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8379016A4CE for ; Tue, 12 Apr 2005 11:25:43 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C1B8143D31 for ; Tue, 12 Apr 2005 11:25:42 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3CBPgIJ023815 for ; Tue, 12 Apr 2005 11:25:42 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3CBPgwt023812 for perforce@freebsd.org; Tue, 12 Apr 2005 11:25:42 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 12 Apr 2005 11:25:42 GMT Message-Id: <200504121125.j3CBPgwt023812@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74972 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 11:25:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=74972 Change 74972 by davidxu@davidxu_alona on 2005/04/12 11:25:31 IFC. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#3 integrate .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/strcmp.S#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/net/name6.c#5 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/inet.4#3 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/sched_4bsd.4#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/witness.4#3 integrate .. //depot/projects/davidxu_thread/src/share/man/man9/Makefile#8 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/interrupt.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/conf/NOTES#6 integrate .. //depot/projects/davidxu_thread/src/sys/boot/i386/libi386/vidconsole.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_witness.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_lookup.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_syscalls.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/machdep.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/sys/namei.h#4 integrate .. //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.freebsd#10 integrate .. //depot/projects/davidxu_thread/src/usr.bin/du/du.c#3 integrate .. //depot/projects/davidxu_thread/src/usr.bin/id/id.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/nl/nl.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/sed/process.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/systat/mbufs.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/tr/tr.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/whereis/whereis.c#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/mountd/mountd.c#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/pstat/pstat.c#4 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/quot/quot.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/sliplogin/sliplogin.c#2 integrate Differences ... ==== //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#3 (text+ko) ==== @@ -1,3 +1,4 @@ -# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.2 2005/04/08 05:15:55 alc Exp $ +# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.3 2005/04/09 20:47:08 alc Exp $ -MDSRCS+= bcmp.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S +MDSRCS+= bcmp.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S \ + strcmp.S ==== //depot/projects/davidxu_thread/src/lib/libc/net/name6.c#5 (text+ko) ==== @@ -88,10 +88,12 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.43 2005/04/06 15:36:34 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/name6.c,v 1.44 2005/04/09 14:20:18 ume Exp $"); #include "namespace.h" +#if defined(YP) || defined(ICMPNL) #include "reentrant.h" +#endif #include #include #include @@ -235,9 +237,11 @@ * XXX: Many dependencies are not thread-safe. Still, we cannot use * getipnodeby*() in conjunction with other functions which call them. */ +#if defined(YP) || defined(ICMPNL) static mutex_t _getipnodeby_thread_lock = MUTEX_INITIALIZER; #define THREAD_LOCK() mutex_lock(&_getipnodeby_thread_lock); #define THREAD_UNLOCK() mutex_unlock(&_getipnodeby_thread_lock); +#endif /* Host lookup order if nsswitch.conf is broken or nonexistant */ static const ns_src default_src[] = { ==== //depot/projects/davidxu_thread/src/share/man/man4/inet.4#3 (text+ko) ==== @@ -30,9 +30,9 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93 -.\" $FreeBSD: src/share/man/man4/inet.4,v 1.35 2005/01/21 10:29:12 ru Exp $ +.\" $FreeBSD: src/share/man/man4/inet.4,v 1.36 2005/04/09 08:44:57 maxim Exp $ .\" -.Dd October 23, 2004 +.Dd April 9, 2005 .Dt INET 4 .Os .Sh NAME @@ -248,6 +248,15 @@ cycle greatly. Default is 0 (sequential IP IDs). IPv6 flow IDs and fragment IDs are always random. +.It Va ip.maxfragpackets +Integer: maximum number of fragmented packets the host will accept and hold +in the reassembling queue simultaneously. +0 means that the host will not accept any fragmented packets. +\-1 means that the host will accept as many fragmented packets as it receives. +.It Va ip.maxfragsperpacket +Integer: maximum number of fragments the host will accept and hold +in the reassembling queue for a packet. +0 means that the host will not accept any fragmented packets. .El .Sh SEE ALSO .Xr ioctl 2 , ==== //depot/projects/davidxu_thread/src/share/man/man4/sched_4bsd.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/sched_4bsd.4,v 1.1 2005/04/07 21:57:19 rwatson Exp $ +.\" $FreeBSD: src/share/man/man4/sched_4bsd.4,v 1.2 2005/04/09 08:47:38 joel Exp $ .\" .Dd April 7, 2005 .Os @@ -68,5 +68,5 @@ .Sh BUGS While a highly robust and time-tested scheduler, .Nm -lacks specific knowledge of how to schedule advantageously in non-symetric +lacks specific knowledge of how to schedule advantageously in non-symmetric processor configurations, such as hyper-threading. ==== //depot/projects/davidxu_thread/src/share/man/man4/witness.4#3 (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/witness.4,v 1.7 2004/11/26 13:54:56 simon Exp $ +.\" $FreeBSD: src/share/man/man4/witness.4,v 1.8 2005/04/09 14:09:54 alfred Exp $ .\" .Dd February 18, 2001 .Dt WITNESS 4 @@ -91,6 +91,16 @@ set via the read-only sysctl .Va debug.witness.skipspin . .Pp +The sysctl +.Va debug.witness.watch +specifies the level of witness involvment in the system. A value of +1 specifies that witness is enabled. A value of 0 specifies that +witness is disabled. This sysctl can be written to in order to +disable witness, however it may not be used to enable witness. +.Va debug.witness.watch +can be set via +.Xr loader 8 . +.Pp The .Nm code also provides two extra ==== //depot/projects/davidxu_thread/src/share/man/man9/Makefile#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.255 2005/04/07 17:27:14 njl Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.256 2005/04/09 18:38:54 pjd Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -416,6 +416,20 @@ critical_enter.9 cpu_critical_exit.9 \ critical_enter.9 critical_exit.9 \ critical_enter.9 critical.9 +MLINKS+=crypto.9 crypto_get_driverid.9 \ + crypto.9 crypto_register.9 \ + crypto.9 crypto_kregister.9 \ + crypto.9 crypto_unregister.9 \ + crypto.9 crypto_unregister_all.9 \ + crypto.9 crypto_done.9 \ + crypto.9 crypto_kdone.9 \ + crypto.9 crypto_newsession.9 \ + crypto.9 crypto_freesession.9 \ + crypto.9 crypto_dispatch.9 \ + crypto.9 crypto_kdispatch.9 \ + crypto.9 crypto_unblock.9 \ + crypto.9 crypto_getreq.9 \ + crypto.9 crypto_freereq.9 MLINKS+=devclass_add_driver.9 devclass_delete_driver.9 \ devclass_add_driver.9 devclass_find_driver.9 MLINKS+=device_add_child.9 device_add_child_ordered.9 ==== //depot/projects/davidxu_thread/src/sys/alpha/alpha/interrupt.c#4 (text+ko) ==== @@ -33,7 +33,7 @@ #include /* RCS ID & Copyright macro defns */ /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.84 2005/01/05 20:05:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.85 2005/04/09 18:15:17 jhb Exp $"); #include #include @@ -436,7 +436,7 @@ critical_enter(); ih->ih_handler(ih->ih_argument); /* XXX */ - curthread->td_pflags &= ~TDP_OWEPREEMPT; + curthread->td_owepreempt = 0; critical_exit(); return; } ==== //depot/projects/davidxu_thread/src/sys/amd64/conf/NOTES#6 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.27 2005/03/31 20:21:42 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.28 2005/04/08 20:24:45 obrien Exp $ # # @@ -21,11 +21,6 @@ ##################################################################### # SMP OPTIONS: # -# The apic device enables the use of the I/O APIC for interrupt delivery. -# The apic device can be used in both UP and SMP kernels, but is required -# for SMP kernels. Thus, the apic device is not strictly an SMP option, -# but it is a prerequisite for SMP. -# # Notes: # # By default, mixed mode is used to route IRQ0 from the AT timer via ==== //depot/projects/davidxu_thread/src/sys/boot/i386/libi386/vidconsole.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/vidconsole.c,v 1.19 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/vidconsole.c,v 1.20 2005/04/09 14:07:13 stefanf Exp $"); #include #include @@ -358,7 +358,7 @@ } static void -get_arg(c) +get_arg(int c) { if (argc < 0) ==== //depot/projects/davidxu_thread/src/sys/kern/subr_witness.c#5 (text+ko) ==== @@ -82,7 +82,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.189 2005/03/09 21:38:53 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/subr_witness.c,v 1.191 2005/04/09 13:32:01 pjd Exp $"); #include "opt_ddb.h" #include "opt_witness.h" @@ -323,6 +323,7 @@ { "bpf global lock", &lock_class_mtx_sleep }, { "bpf interface lock", &lock_class_mtx_sleep }, { "bpf cdev lock", &lock_class_mtx_sleep }, + { NULL, NULL }, /* * NFS server */ @@ -330,6 +331,12 @@ { "so_snd", &lock_class_mtx_sleep }, { NULL, NULL }, /* + * CDEV + */ + { "cdev", &lock_class_mtx_sleep }, + { "system map", &lock_class_mtx_sleep }, + { NULL, NULL }, + /* * spin locks */ #ifdef SMP ==== //depot/projects/davidxu_thread/src/sys/kern/vfs_lookup.c#7 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.77 2005/04/05 08:58:49 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_lookup.c,v 1.78 2005/04/09 11:53:16 jeff Exp $"); #include "opt_ktrace.h" #include "opt_mac.h" @@ -118,7 +118,6 @@ struct componentname *cnp = &ndp->ni_cnd; struct thread *td = cnp->cn_thread; struct proc *p = td->td_proc; - struct mount *mp; int vfslocked; ndp->ni_cnd.cn_cred = ndp->ni_cnd.cn_thread->td_ucred; @@ -229,8 +228,6 @@ ndp->ni_cnd.cn_flags |= GIANTHELD; return (0); } - if ((cnp->cn_flags & LOCKPARENT) && ndp->ni_pathlen == 1) - VOP_UNLOCK(ndp->ni_dvp, 0, td); if (ndp->ni_loopcnt++ >= MAXSYMLINKS) { error = ELOOP; break; @@ -290,11 +287,10 @@ cnp->cn_pnbuf = NULL; cnp->cn_nameptr = NULL; #endif + vput(ndp->ni_vp); + ndp->ni_vp = NULL; vrele(ndp->ni_dvp); - mp = ndp->ni_vp->v_mount; - vput(ndp->ni_vp); VFS_UNLOCK_GIANT(vfslocked); - ndp->ni_vp = NULL; return (error); } @@ -498,12 +494,12 @@ goto bad; } tdp = dp; + dp = dp->v_mount->mnt_vnodecovered; tvfslocked = vfslocked; - dp = dp->v_mount->mnt_vnodecovered; + vfslocked = VFS_LOCK_GIANT(dp->v_mount); + VREF(dp); vput(tdp); - vfslocked = VFS_LOCK_GIANT(dp->v_mount); VFS_UNLOCK_GIANT(tvfslocked); - VREF(dp); vn_lock(dp, cnp->cn_lkflags | LK_RETRY, td); } } @@ -548,12 +544,12 @@ (dp->v_vflag & VV_ROOT) && (dp->v_mount != NULL) && (dp->v_mount->mnt_flag & MNT_UNION)) { tdp = dp; + dp = dp->v_mount->mnt_vnodecovered; tvfslocked = vfslocked; - dp = dp->v_mount->mnt_vnodecovered; + vfslocked = VFS_LOCK_GIANT(dp->v_mount); + VREF(dp); vput(tdp); - vfslocked = VFS_LOCK_GIANT(dp->v_mount); VFS_UNLOCK_GIANT(tvfslocked); - VREF(dp); vn_lock(dp, cnp->cn_lkflags | LK_RETRY, td); goto unionlookup; } @@ -596,22 +592,11 @@ printf("found\n"); #endif /* - * In the DOTDOT case dp is unlocked, we may have to relock it if - * this is the parent of the last component. Otherwise, we have to - * unlock if this is not the last component, or if it is and - * LOCKPARENT is set. + * In the DOTDOT case dp is unlocked, we relock it here even if we + * may not need it to simplify the code below. */ - if (cnp->cn_flags & ISDOTDOT) { - if ((cnp->cn_flags & (ISLASTCN | LOCKPARENT)) == - (ISLASTCN | LOCKPARENT)) - vn_lock(dp, LK_EXCLUSIVE | LK_RETRY, td); - } else if (dp != ndp->ni_vp) { - if ((cnp->cn_flags & (ISLASTCN | LOCKPARENT)) == ISLASTCN) - VOP_UNLOCK(dp, 0, td); - else if ((cnp->cn_flags & ISLASTCN) == 0) - VOP_UNLOCK(dp, 0, td); - } - + if (cnp->cn_flags & ISDOTDOT) + vn_lock(dp, LK_EXCLUSIVE | LK_RETRY, td); /* * Take into account any additional components consumed by * the underlying filesystem. @@ -631,21 +616,20 @@ */ while (dp->v_type == VDIR && (mp = dp->v_mountedhere) && (cnp->cn_flags & NOCROSSMOUNT) == 0) { + KASSERT(dp != ndp->ni_dvp, ("XXX")); if (vfs_busy(mp, 0, 0, td)) continue; - VOP_UNLOCK(dp, 0, td); + vput(dp); tvfslocked = VFS_LOCK_GIANT(mp); + VFS_UNLOCK_GIANT(vfslocked); + vfslocked = tvfslocked; error = VFS_ROOT(mp, cnp->cn_lkflags, &tdp, td); vfs_unbusy(mp, td); if (error) { - VFS_UNLOCK_GIANT(tvfslocked); dpunlocked = 1; goto bad2; } - vrele(dp); - VFS_UNLOCK_GIANT(vfslocked); ndp->ni_vp = dp = tdp; - vfslocked = tvfslocked; } /* @@ -665,6 +649,11 @@ error = EACCES; goto bad2; } + /* + * Symlink code always expects an unlocked dvp. + */ + if (ndp->ni_dvp != ndp->ni_vp) + VOP_UNLOCK(ndp->ni_dvp, 0, td); goto success; } @@ -689,9 +678,10 @@ cnp->cn_nameptr++; ndp->ni_pathlen--; } - if (ndp->ni_dvp != ndp->ni_vp) - ASSERT_VOP_UNLOCKED(ndp->ni_dvp, "lookup"); - vrele(ndp->ni_dvp); + if (ndp->ni_dvp != dp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); goto dirloop; } /* @@ -706,8 +696,13 @@ ndp->ni_startdir = ndp->ni_dvp; VREF(ndp->ni_startdir); } - if (!wantparent) - vrele(ndp->ni_dvp); + if (!wantparent) { + if (ndp->ni_dvp != dp) + vput(ndp->ni_dvp); + else + vrele(ndp->ni_dvp); + } else if ((cnp->cn_flags & LOCKPARENT) == 0 && ndp->ni_dvp != dp) + VOP_UNLOCK(ndp->ni_dvp, 0, td); if ((cnp->cn_flags & LOCKLEAF) == 0) VOP_UNLOCK(dp, 0, td); @@ -717,14 +712,12 @@ return (0); bad2: - if ((cnp->cn_flags & LOCKPARENT) && *ndp->ni_next == '\0') + if (dp != ndp->ni_dvp) vput(ndp->ni_dvp); else vrele(ndp->ni_dvp); bad: - if (dpunlocked) - vrele(dp); - else + if (!dpunlocked) vput(dp); VFS_UNLOCK_GIANT(vfslocked); ndp->ni_cnd.cn_flags &= ~GIANTHELD; @@ -887,29 +880,45 @@ struct nameidata *ndp; const u_int flags; { + int unlock_dvp; + int unlock_vp; + + unlock_dvp = 0; + unlock_vp = 0; if (!(flags & NDF_NO_FREE_PNBUF) && (ndp->ni_cnd.cn_flags & HASBUF)) { uma_zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); ndp->ni_cnd.cn_flags &= ~HASBUF; } + if (!(flags & NDF_NO_VP_UNLOCK) && + (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) + unlock_vp = 1; + if (!(flags & NDF_NO_VP_RELE) && ndp->ni_vp) { + if (unlock_vp) { + vput(ndp->ni_vp); + unlock_vp = 0; + } else + vrele(ndp->ni_vp); + ndp->ni_vp = NULL; + } + if (unlock_vp) + VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_thread); if (!(flags & NDF_NO_DVP_UNLOCK) && (ndp->ni_cnd.cn_flags & LOCKPARENT) && ndp->ni_dvp != ndp->ni_vp) - VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_thread); + unlock_dvp = 1; if (!(flags & NDF_NO_DVP_RELE) && (ndp->ni_cnd.cn_flags & (LOCKPARENT|WANTPARENT))) { - vrele(ndp->ni_dvp); + if (unlock_dvp) { + vput(ndp->ni_dvp); + unlock_dvp = 0; + } else + vrele(ndp->ni_dvp); ndp->ni_dvp = NULL; } - if (!(flags & NDF_NO_VP_UNLOCK) && - (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) - VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_thread); - if (!(flags & NDF_NO_VP_RELE) && - ndp->ni_vp) { - vrele(ndp->ni_vp); - ndp->ni_vp = NULL; - } + if (unlock_dvp) + VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_thread); if (!(flags & NDF_NO_STARTDIR_RELE) && (ndp->ni_cnd.cn_flags & SAVESTART)) { vrele(ndp->ni_startdir); ==== //depot/projects/davidxu_thread/src/sys/kern/vfs_syscalls.c#6 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.376 2005/03/24 07:31:38 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.377 2005/04/09 12:04:36 jeff Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1402,7 +1402,7 @@ int error; bwillwrite(); - NDINIT(&nd, LOOKUP, FOLLOW | NOOBJ | MPSAFE, segflg, path, td); + NDINIT(&nd, LOOKUP, FOLLOW | MPSAFE, segflg, path, td); if ((error = namei(&nd)) != 0) return (error); vfslocked = NDHASGIANT(&nd); @@ -1418,7 +1418,7 @@ VFS_UNLOCK_GIANT(vfslocked); return (error); } - NDINIT(&nd, CREATE, LOCKPARENT | NOOBJ | SAVENAME, segflg, link, td); + NDINIT(&nd, CREATE, LOCKPARENT | SAVENAME, segflg, link, td); if ((error = namei(&nd)) == 0) { lvfslocked = NDHASGIANT(&nd); if (nd.ni_vp != NULL) { @@ -1494,7 +1494,7 @@ } restart: bwillwrite(); - NDINIT(&nd, CREATE, LOCKPARENT | NOOBJ | SAVENAME | MPSAFE, + NDINIT(&nd, CREATE, LOCKPARENT | SAVENAME | MPSAFE, segflg, link, td); if ((error = namei(&nd)) != 0) goto out; @@ -1878,8 +1878,7 @@ tmpcred->cr_uid = cred->cr_ruid; tmpcred->cr_groups[0] = cred->cr_rgid; td->td_ucred = tmpcred; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ | MPSAFE, pathseg, - path, td); + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | MPSAFE, pathseg, path, td); if ((error = namei(&nd)) != 0) goto out1; vfslocked = NDHASGIANT(&nd); @@ -1917,7 +1916,7 @@ int vfslocked; int error; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ | MPSAFE, UIO_USERSPACE, + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | MPSAFE, UIO_USERSPACE, uap->path, td); if ((error = namei(&nd)) != 0) return (error); @@ -2052,7 +2051,7 @@ struct stat sb; int error, vfslocked; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | NOOBJ | MPSAFE, + NDINIT(&nd, LOOKUP, FOLLOW | LOCKSHARED | LOCKLEAF | MPSAFE, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); @@ -2101,7 +2100,7 @@ struct nameidata nd; int error, vfslocked; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | LOCKSHARED | NOOBJ | MPSAFE, + NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | LOCKSHARED | MPSAFE, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); @@ -2226,8 +2225,7 @@ struct nameidata nd; int error, vfslocked; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ | MPSAFE, pathseg, path, - td); + NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | MPSAFE, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); vfslocked = NDHASGIANT(&nd); @@ -2278,8 +2276,7 @@ struct nameidata nd; int vfslocked; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ | MPSAFE, - pathseg, path, td); + NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | MPSAFE, pathseg, path, td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -3211,7 +3208,7 @@ goto out1; } NDINIT(&tond, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART | - NOOBJ | MPSAFE, pathseg, to, td); + MPSAFE, pathseg, to, td); if (fromnd.ni_vp->v_type == VDIR) tond.ni_cnd.cn_flags |= WILLBEDIR; if ((error = namei(&tond)) != 0) { ==== //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/machdep.c#9 (text+ko) ==== @@ -55,7 +55,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/machdep.c,v 1.88 2005/04/04 21:53:55 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/powerpc/powerpc/machdep.c,v 1.89 2005/04/08 14:26:55 jhb Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -742,7 +742,7 @@ #ifdef INVARIANTS if ((mfmsr() & PSL_EE) != PSL_EE) { struct thread *td = curthread; - printf("td crit %x\n", td->td_md.md_savecrit); + printf("td msr %x\n", td->td_md.md_saved_msr); panic("ints disabled in idleproc!"); } #endif ==== //depot/projects/davidxu_thread/src/sys/sys/namei.h#4 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)namei.h 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/sys/namei.h,v 1.45 2005/03/29 10:04:25 jeff Exp $ + * $FreeBSD: src/sys/sys/namei.h,v 1.46 2005/04/09 12:04:35 jeff Exp $ */ #ifndef _SYS_NAMEI_H_ @@ -105,7 +105,6 @@ #define WANTPARENT 0x0010 /* want parent vnode returned unlocked */ #define NOCACHE 0x0020 /* name must not be left in cache */ #define FOLLOW 0x0040 /* follow symbolic links */ -#define NOOBJ 0x0080 /* don't create object */ #define LOCKSHARED 0x0100 /* Shared lock leaf */ #define NOFOLLOW 0x0000 /* do not follow symbolic links (pseudo) */ #define MODMASK 0x01fc /* mask of operational modifiers */ ==== //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.freebsd#10 (text+ko) ==== @@ -1,7 +1,7 @@ /* * FreeBSD * - * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.158 2005/03/31 23:15:14 cperciva Exp $ + * $FreeBSD: src/usr.bin/calendar/calendars/calendar.freebsd,v 1.159 2005/04/08 09:04:29 joel Exp $ */ #ifndef _calendar_freebsd_ @@ -192,6 +192,7 @@ 10/17 Maho NAKATA born in Osaka, Japan, 1974 10/18 Sheldon Hearn born in Cape Town, Western Cape, South Africa, 1974 10/19 Nicholas Souchu born in Suresnes, Hauts-de-Seine, France, 1972 +10/20 Joel Dahl born in Lidkoping, Sweden, 1983 10/21 Dan Moschuk born in Halifax, Nova Scotia, Canada, 1980 10/21 Ben Smithurst born in Sheffield, South Yorkshire, United Kingdom, 1981 10/22 Jean-Sebastien Pedron born in Redon, Ille-et-Vilaine, France, 1980 ==== //depot/projects/davidxu_thread/src/usr.bin/du/du.c#3 (text+ko) ==== @@ -46,7 +46,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/usr.bin/du/du.c,v 1.37 2005/01/07 00:12:24 pjd Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/du/du.c,v 1.38 2005/04/09 14:31:40 stefanf Exp $"); #include #include @@ -307,7 +307,7 @@ struct links_entry *le, **new_buckets; struct stat *st; size_t i, new_size; - int count, hash; + int hash; st = p->fts_statp; @@ -325,7 +325,6 @@ if (number_entries > number_buckets * 10 && !stop_allocating) { new_size = number_buckets * 2; new_buckets = malloc(new_size * sizeof(struct links_entry *)); - count = 0; /* Try releasing the free list to see if that helps. */ if (new_buckets == NULL && free_list != NULL) { ==== //depot/projects/davidxu_thread/src/usr.bin/id/id.c#2 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #endif /* not lint */ #include -__FBSDID("$FreeBSD: src/usr.bin/id/id.c,v 1.22 2004/10/02 11:40:48 stefanf Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/id/id.c,v 1.23 2005/04/09 14:31:40 stefanf Exp $"); #include #include @@ -379,10 +379,9 @@ void pline(struct passwd *pw) { - u_int rid; if (!pw) { - if ((pw = getpwuid(rid = getuid())) == NULL) + if ((pw = getpwuid(getuid())) == NULL) err(1, "getpwuid"); } ==== //depot/projects/davidxu_thread/src/usr.bin/nl/nl.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ __COPYRIGHT( "@(#) Copyright (c) 1999\ The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$FreeBSD: src/usr.bin/nl/nl.c,v 1.9 2004/07/13 02:18:21 tjr Exp $"); +__RCSID("$FreeBSD: src/usr.bin/nl/nl.c,v 1.10 2005/04/09 14:31:41 stefanf Exp $"); #endif #include @@ -144,7 +144,7 @@ int argc; char *argv[]; { - int c, n; + int c; long val; unsigned long uval; char *ep; ==== //depot/projects/davidxu_thread/src/usr.bin/sed/process.c#2 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.bin/sed/process.c,v 1.38 2004/08/09 15:29:41 dds Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/sed/process.c,v 1.39 2005/04/09 14:31:41 stefanf Exp $"); #ifndef lint static const char sccsid[] = "@(#)process.c 8.6 (Berkeley) 4/20/94"; @@ -92,9 +92,8 @@ { struct s_command *cp; SPACE tspace; - size_t len, oldpsl = 0; + size_t oldpsl = 0; char *p; - char nc; p = NULL; ==== //depot/projects/davidxu_thread/src/usr.bin/systat/mbufs.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #include -__FBSDID("$FreeBSD: src/usr.bin/systat/mbufs.c,v 1.17 2004/05/31 21:46:06 bmilekic Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/systat/mbufs.c,v 1.18 2005/04/09 14:31:41 stefanf Exp $"); #ifdef lint static const char sccsid[] = "@(#)mbufs.c 8.1 (Berkeley) 6/6/93"; @@ -168,7 +168,6 @@ int initmbufs() { - int i; size_t len; len = sizeof *mbstat; ==== //depot/projects/davidxu_thread/src/usr.bin/tr/tr.c#2 (text+ko) ==== @@ -33,7 +33,7 @@ #include -__FBSDID("$FreeBSD: src/usr.bin/tr/tr.c,v 1.23 2004/07/09 05:15:46 tjr Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/tr/tr.c,v 1.24 2005/04/09 14:31:41 stefanf Exp $"); #ifndef lint static const char copyright[] = @@ -76,7 +76,7 @@ struct cset *delete, *squeeze; int n, *p; int Cflag, cflag, dflag, sflag, isstring2; - wint_t ch, cnt, i, lastch; + wint_t ch, cnt, lastch; (void)setlocale(LC_ALL, ""); ==== //depot/projects/davidxu_thread/src/usr.bin/whereis/whereis.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ #include -__FBSDID("$FreeBSD: src/usr.bin/whereis/whereis.c,v 1.14 2005/02/10 16:07:23 ru Exp $"); +__FBSDID("$FreeBSD: src/usr.bin/whereis/whereis.c,v 1.15 2005/04/09 14:31:41 stefanf Exp $"); #include #include @@ -102,10 +102,9 @@ void scanopts(int argc, char **argv) { - int c, i, opt_f; + int c, i; ccharp **dirlist; - opt_f = 0; while ((c = getopt(argc, argv, "BMSabfmqsux")) != -1) switch (c) { case 'B': ==== //depot/projects/davidxu_thread/src/usr.sbin/mountd/mountd.c#3 (text+ko) ==== @@ -43,7 +43,7 @@ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.79 2004/12/11 12:51:20 phk Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/mountd/mountd.c,v 1.80 2005/04/09 14:59:09 stefanf Exp $"); #include #include @@ -568,7 +568,6 @@ struct fhreturn fhr; struct stat stb; struct statfs fsb; - struct addrinfo *ai; char host[NI_MAXHOST], numerichost[NI_MAXHOST]; int lookup_failed = 1; struct sockaddr *saddr; @@ -595,7 +594,6 @@ NULL, 0, 0); getnameinfo(saddr, saddr->sa_len, numerichost, sizeof numerichost, NULL, 0, NI_NUMERICHOST); - ai = NULL; switch (rqstp->rq_proc) { case NULLPROC: if (!svc_sendreply(transp, (xdrproc_t)xdr_void, NULL)) ==== //depot/projects/davidxu_thread/src/usr.sbin/pstat/pstat.c#4 (text+ko) ==== @@ -46,7 +46,7 @@ #endif /* not lint */ #endif #include -__FBSDID("$FreeBSD: src/usr.sbin/pstat/pstat.c,v 1.94 2005/03/21 18:11:31 keramida Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/pstat/pstat.c,v 1.95 2005/04/09 14:59:10 stefanf Exp $"); #include #include @@ -336,7 +336,6 @@ ttyprt(struct xtty *xt) { int i, j; - pid_t pgid; char *name, state[20]; if (xt->xt_size != sizeof *xt) @@ -357,7 +356,6 @@ state[j++] = '-'; state[j] = '\0'; (void)printf("%-6s %8d", state, xt->xt_sid); - pgid = 0; (void)printf("%6d ", xt->xt_pgid); switch (xt->xt_line) { case TTYDISC: ==== //depot/projects/davidxu_thread/src/usr.sbin/pw/cpdir.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ #ifndef lint static const char rcsid[] = - "$FreeBSD: src/usr.sbin/pw/cpdir.c,v 1.6 2000/07/13 23:52:49 davidn Exp $"; + "$FreeBSD: src/usr.sbin/pw/cpdir.c,v 1.7 2005/04/09 14:59:10 stefanf Exp $"; #endif /* not lint */ #include @@ -46,7 +46,6 @@ void copymkdir(char const * dir, char const * skel, mode_t mode, uid_t uid, gid_t gid) { - int rc = 0; char src[MAXPATHLEN]; char dst[MAXPATHLEN]; @@ -61,9 +60,7 @@ ++counter; chown(dir, uid, gid); - if (skel == NULL || *skel == '\0') - rc = 1; - else { + if (skel != NULL && *skel != '\0') { DIR *d = opendir(skel); if (d != NULL) { ==== //depot/projects/davidxu_thread/src/usr.sbin/quot/quot.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ */ #include -__FBSDID("$FreeBSD: src/usr.sbin/quot/quot.c,v 1.22 2003/05/03 21:06:38 obrien Exp $"); +__FBSDID("$FreeBSD: src/usr.sbin/quot/quot.c,v 1.23 2005/04/09 14:59:10 stefanf Exp $"); #include #include @@ -477,7 +477,7 @@ char *name; { int c; - ino_t inode, inode1; + ino_t inode; ino_t maxino; union dinode *dp; @@ -486,7 +486,6 @@ while ((c = getchar()) != EOF && (c < '0' || c > '9')) while ((c = getchar()) != EOF && c != '\n'); ungetc(c,stdin); - inode1 = -1; while (scanf("%u",&inode) == 1) { if (inode > maxino) { warnx("illegal inode %d",inode); @@ -504,7 +503,6 @@ c = getchar(); } putchar('\n'); - inode1 = inode; } else { if (errno) { err(1, "%s", name); ==== //depot/projects/davidxu_thread/src/usr.sbin/sliplogin/sliplogin.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ #ifndef lint static char sccsid[] = "@(#)sliplogin.c 8.2 (Berkeley) 2/1/94"; -static char rscid[] = "@(#)$FreeBSD: src/usr.sbin/sliplogin/sliplogin.c,v 1.15 2004/08/07 04:28:55 imp Exp $"; +static char rscid[] = "@(#)$FreeBSD: src/usr.sbin/sliplogin/sliplogin.c,v 1.16 2005/04/09 15:00:51 stefanf Exp $"; #endif /* not lint */ /* @@ -370,9 +370,8 @@ { int fd, s, ldisc; char *name; - struct termios tios, otios; + struct termios tios; char logincmd[2*BUFSIZ+32]; - extern uid_t getuid(); FILE *pidfile; /* pid file */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 12 12:07:37 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1DEC616A4D0; Tue, 12 Apr 2005 12:07:37 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB7FB16A4CE for ; Tue, 12 Apr 2005 12:07:36 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D83C743D55 for ; Tue, 12 Apr 2005 12:07:35 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3CC7ZAP025465 for ; Tue, 12 Apr 2005 12:07:35 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3CC7Yqa025462 for perforce@freebsd.org; Tue, 12 Apr 2005 12:07:34 GMT (envelope-from davidxu@freebsd.org) Date: Tue, 12 Apr 2005 12:07:34 GMT Message-Id: <200504121207.j3CC7Yqa025462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 74975 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 12:07:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=74975 Change 74975 by davidxu@davidxu_alona on 2005/04/12 12:06:52 IFC Affected files ... .. //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#10 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/random#2 integrate .. //depot/projects/davidxu_thread/src/games/fortune/datfiles/fortunes#8 integrate .. //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#12 integrate .. //depot/projects/davidxu_thread/src/include/pthread.h#4 integrate .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#4 integrate .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/bcmp.S#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/strcat.S#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/amd64/string/strcpy.S#1 branch .. //depot/projects/davidxu_thread/src/lib/libthr/Makefile#5 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#10 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/Makefile.inc#4 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#10 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#12 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#7 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_init.c#9 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_list.c#5 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#17 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#9 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libc_r_db.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libpthread_db.c#8 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#12 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/thread_db.h#5 integrate .. //depot/projects/davidxu_thread/src/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/davidxu_thread/src/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/cpufreq.4#4 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/mac_bsdextended.4#2 integrate .. //depot/projects/davidxu_thread/src/share/misc/bsd-family-tree#4 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.files.mk#2 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.incs.mk#2 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.init.mk#4 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.lib.mk#4 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.nls.mk#5 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.obj.mk#4 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.own.mk#3 integrate .. //depot/projects/davidxu_thread/src/share/mk/bsd.prog.mk#4 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/asm.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/hal_var.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/kern_ndis.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/kern_windrv.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/ndis_var.h#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/ntoskrnl_var.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/pe_var.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_hal.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_ndis.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_ntoskrnl.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/davidxu_thread/src/sys/conf/files.i386#11 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kmod.mk#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_throttle.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpivar.h#10 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-pci.h#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-raid.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/if_ndis/if_ndis.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pccard/pccard.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pccard/pccardvar.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pci.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/pcm/ac97.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/usb/ucom.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/fs/nullfs/null_subr.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/fs/nullfs/null_vfsops.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/fs/smbfs/smbfs_vnops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/geom/geom_sunlabel.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_cpu.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_lock.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_shutdown.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_sig.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_bus.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_rman.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_subr.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_syscalls.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_vnops.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vnode_if.src#5 integrate .. //depot/projects/davidxu_thread/src/sys/modules/ndis/Makefile#4 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/netflow/netflow.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_input.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_sack.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_seq.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_subr.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/netipx/README#5 integrate .. //depot/projects/davidxu_thread/src/sys/netipx/ipx_input.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/apicreg.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/apicvar.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/ioctl_bt848.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/ioctl_meteor.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/pcaudioio.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/pcvt_ioctl.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/smptests.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/sys/bus.h#8 integrate .. //depot/projects/davidxu_thread/src/sys/sys/rman.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/sys/vnode.h#10 integrate .. //depot/projects/davidxu_thread/src/sys/tools/vnode_if.awk#5 integrate .. //depot/projects/davidxu_thread/src/tools/tools/syscall_timing/syscall_timing.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.freebsd#11 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/cond.c#8 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/cond.h#3 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/for.c#8 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/for.h#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/main.c#10 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/parse.c#12 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/parse.h#3 integrate .. //depot/projects/davidxu_thread/src/usr.bin/netstat/inet.c#5 integrate .. //depot/projects/davidxu_thread/src/usr.bin/printf/printf.c#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/mount_portalfs/mount_portalfs.8#4 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/powerd/powerd.8#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/powerd/powerd.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/sysinstall/config.c#2 integrate Differences ... ==== //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#10 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.244 2005/04/03 21:45:20 njl Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.246 2005/04/11 02:45:05 dougb Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -459,7 +459,7 @@ update_motd="YES" # update version info in /etc/motd (or NO) unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. - # /var/db/entropy is preferred if / is not available. + # /var/db/entropy-file is preferred if / is not avail. entropy_dir="/var/db/entropy" # Set to NO to disable caching entropy via cron. entropy_save_sz="2048" # Size of the entropy cache files. entropy_save_num="8" # Number of entropy cache files to save. @@ -474,9 +474,9 @@ devfs_set_rulesets="" # A list of /mount/dev=ruleset_name settings to # apply (must be mounted already, i.e. fstab(5)) performance_cx_lowest="HIGH" # Online CPU idle state -performance_cpu_freq="HIGH" # Online CPU frequency +performance_cpu_freq="NONE" # Online CPU frequency economy_cx_lowest="HIGH" # Offline CPU idle state -economy_cpu_freq="HIGH" # Offline CPU frequency +economy_cpu_freq="NONE" # Offline CPU frequency virecover_enable="YES" # Perform housekeeping for the vi(1) editor ugidfw_enable="NO" # Load mac_bsdextended(4) rules on boot bsdextended_script="/etc/rc.bsdextended" # Default mac_bsdextended(4) ==== //depot/projects/davidxu_thread/src/etc/rc.d/random#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/random,v 1.7 2004/10/07 13:55:26 mtm Exp $ +# $FreeBSD: src/etc/rc.d/random,v 1.8 2005/04/11 02:45:05 dougb Exp $ # # PROVIDE: random @@ -68,15 +68,14 @@ else # Try this as a reasonable alternative for read-only # roots, diskless workstations, etc. - rm -f /var/db/entropy - if touch /var/db/entropy; then - entropy_file_confirmed=/var/db/entropy + rm -f /var/db/entropy-file + if touch /var/db/entropy-file; then + entropy_file_confirmed=/var/db/entropy-file fi fi case ${entropy_file_confirmed} in '') - err 1 '${entropy_file_confirmed}:' \ - ' entropy file write failed.' + err 1 'entropy file write failed.' ;; *) dd if=/dev/random of=${entropy_file_confirmed} \ ==== //depot/projects/davidxu_thread/src/games/fortune/datfiles/fortunes#8 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.173 2005/03/22 07:41:22 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.174 2005/04/10 10:53:26 schweikh Exp $ % ======================================================================= @@ -45695,7 +45695,7 @@ The cart has no place where a fifth wheel could be used. -- Herbert von Fritzlar % -The Celts invented two things, Whiskey and self-distruction. +The Celts invented two things, Whiskey and self-destruction. % "The chain which can be yanked is not the eternal chain." -- G. Fitch @@ -45713,7 +45713,7 @@ The chief danger in life is that you may take too many precautions. -- Alfred Adler % -The chief enemy of creativity is "good" sense +The chief enemy of creativity is "good" sense. -- Picasso % The church is near but the road is icy, ==== //depot/projects/davidxu_thread/src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#12 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.10 2005/04/05 11:40:58 davidxu Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.11 2005/04/12 03:04:04 davidxu Exp $ */ /* FreeBSD libthread_db assisted debugging support. Copyright 1999, 2000, 2001 Free Software Foundation, Inc. ==== //depot/projects/davidxu_thread/src/include/pthread.h#4 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread.h,v 1.34 2005/04/03 23:55:02 davidxu Exp $ + * $FreeBSD: src/include/pthread.h,v 1.35 2005/04/11 03:47:42 davidxu Exp $ */ #ifndef _PTHREAD_H_ #define _PTHREAD_H_ @@ -50,7 +50,7 @@ */ #define PTHREAD_DESTRUCTOR_ITERATIONS 4 #define PTHREAD_KEYS_MAX 256 -#define PTHREAD_STACK_MIN 1024 +#define PTHREAD_STACK_MIN MINSIGSTKSZ #define PTHREAD_THREADS_MAX ULONG_MAX #define PTHREAD_BARRIER_SERIAL_THREAD -1 ==== //depot/projects/davidxu_thread/src/lib/libc/amd64/string/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.3 2005/04/09 20:47:08 alc Exp $ +# $FreeBSD: src/lib/libc/amd64/string/Makefile.inc,v 1.5 2005/04/10 18:58:49 alc Exp $ MDSRCS+= bcmp.S bcopy.S bzero.S memcmp.S memcpy.S memmove.S memset.S \ - strcmp.S + strcat.S strcmp.S strcpy.S ==== //depot/projects/davidxu_thread/src/lib/libc/amd64/string/bcmp.S#2 (text+ko) ==== @@ -1,12 +1,11 @@ #include -__FBSDID("$FreeBSD: src/lib/libc/amd64/string/bcmp.S,v 1.1 2005/04/08 05:15:55 alc Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/amd64/string/bcmp.S,v 1.2 2005/04/10 18:12:06 alc Exp $"); #if 0 RCSID("$NetBSD: bcmp.S,v 1.1 2001/06/19 00:25:04 fvdl Exp $") #endif ENTRY(bcmp) - xorl %eax,%eax /* clear return value */ cld /* set compare direction forward */ movq %rdx,%rcx /* compare by words */ @@ -19,7 +18,7 @@ andq $7,%rcx repe cmpsb - je L2 - -L1: incl %eax -L2: ret +L1: + setne %al + movsbl %al,%eax + ret ==== //depot/projects/davidxu_thread/src/lib/libthr/Makefile#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/Makefile,v 1.10 2005/04/06 13:48:11 davidxu Exp $ +# $FreeBSD: src/lib/libthr/Makefile,v 1.11 2005/04/12 03:00:28 davidxu Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does ==== //depot/projects/davidxu_thread/src/lib/libthr/pthread.map#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/pthread.map,v 1.2 2005/04/03 23:52:29 davidxu Exp $ +# $FreeBSD: src/lib/libthr/pthread.map,v 1.3 2005/04/12 03:00:28 davidxu Exp $ LIBPTHREAD_1_0 { global: ___creat; @@ -353,8 +353,8 @@ _thread_max_keys; _thread_off_attr_flags; _thread_off_dtv; + _thread_off_event_buf; _thread_off_event_mask; - _thread_off_event_buf; _thread_off_key_allocated; _thread_off_key_destructor; _thread_off_linkmap; ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/Makefile.inc#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.9 2005/04/02 01:20:00 davidxu Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.10 2005/04/12 03:00:28 davidxu Exp $ # thr sources .PATH: ${.CURDIR}/thread ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#10 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.20 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.21 2005/04/12 03:00:28 davidxu Exp $ */ #include ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_event.c#12 (text+ko) ==== ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_exit.c#7 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.17 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.18 2005/04/12 03:00:28 davidxu Exp $ */ #include ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_init.c#9 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.21 2005/04/06 13:57:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.23 2005/04/12 03:13:49 davidxu Exp $ */ /* Allocate space for global thread variables here: */ @@ -309,7 +309,8 @@ _thr_initial = curthread; SIGDELSET(oldset, SIGCANCEL); __sys_sigprocmask(SIG_SETMASK, &oldset, NULL); - _thr_report_create(curthread, curthread); + if (_thread_event_mask & TD_CREATE) + _thr_report_creation(curthread, curthread); } } ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_list.c#5 (text+ko) ==== @@ -24,7 +24,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/lib/libthr/thread/thr_list.c,v 1.3 2005/04/07 06:09:17 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_list.c,v 1.4 2005/04/12 03:00:28 davidxu Exp $ */ #include ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_private.h#17 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.45 2005/04/06 13:57:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.46 2005/04/12 03:00:28 davidxu Exp $ */ #ifndef _THR_PRIVATE_H ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_symbols.c#9 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_symbols.c,v 1.1 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_symbols.c,v 1.2 2005/04/12 03:00:28 davidxu Exp $ */ #include ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libc_r_db.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.1 2004/07/18 04:17:13 marcel Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.2 2005/04/12 03:03:16 davidxu Exp $"); #include #include ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libpthread_db.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.7 2005/04/05 11:38:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.8 2005/04/12 03:03:16 davidxu Exp $"); #include #include ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#12 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.4 2005/04/05 11:38:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.5 2005/04/12 03:03:16 davidxu Exp $"); #include #include @@ -57,7 +57,6 @@ psaddr_t thread_event_mask_addr; psaddr_t thread_bp_create_addr; psaddr_t thread_bp_death_addr; - int thread_inited; int thread_off_dtv; int thread_off_tlsindex; int thread_off_attr_flags; @@ -72,6 +71,7 @@ int thread_off_key_destructor; int thread_off_report_events; int thread_off_event_mask; + int thread_off_event_buf; int thread_state_zoombie; int thread_state_running; struct pt_map *map; @@ -136,7 +136,7 @@ sizeof(struct pt_map) * ta->map_len * 2); if (new == NULL) return (-1); - memset(new + ta->map_len, '\0', sizeof(struct pt_map) * + memset(new + ta->map_len, 0, sizeof(struct pt_map) * ta->map_len); first = ta->map_len; ta->map = new; @@ -218,9 +218,9 @@ LOOKUP_VAL(ph, "_thread_off_key_destructor", &ta->thread_off_key_destructor); LOOKUP_VAL(ph, "_thread_state_running", &ta->thread_state_running); LOOKUP_VAL(ph, "_thread_state_zoombie", &ta->thread_state_zoombie); - LOOKUP_VAL(ph, "_thread_off_report_events", - &ta->thread_off_report_events); + LOOKUP_VAL(ph, "_thread_off_report_events", &ta->thread_off_report_events); LOOKUP_VAL(ph, "_thread_off_event_mask", &ta->thread_off_event_mask); + LOOKUP_VAL(ph, "_thread_off_event_buf", &ta->thread_off_event_buf); dbg = getpid(); /* * If this fails it probably means we're debugging a core file and @@ -488,21 +488,30 @@ { static td_thrhandle_t handle; - psaddr_t pt; + psaddr_t pt, pt_temp; long lwp; int ret; - int tmp; + td_thr_events_e tmp; TDBG_FUNC(); - ret = ps_pread(ta->ph, ta->thread_event_addr, msg, sizeof(*msg)); + ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt, sizeof(pt)); + if (ret != 0) + return (P2T(ret)); + if (pt == NULL) + return (TD_NOMSG); + /* At the time, libthr only reports event once a time. */ + pt_temp = NULL; + ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); + + ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg)); if (ret != 0) return (P2T(ret)); if (msg->event == 0) return (TD_NOMSG); /* clear event */ tmp = 0; - ps_pwrite(ta->ph, ta->thread_event_addr, &tmp, sizeof(int)); + ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp)); pt = (psaddr_t)msg->th_p; ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp)); if (ret != 0) @@ -715,8 +724,41 @@ static td_err_e pt_thr_event_getmsg(const td_thrhandle_t *th, td_event_msg_t *msg) { + static td_thrhandle_t handle; + td_thragent_t *ta = (td_thragent_t *)th->th_ta; + psaddr_t pt, pt_temp; + long lwp; + int ret; + td_thr_events_e tmp; + TDBG_FUNC(); - return (TD_NOMSG); + pt = th->th_thread; + ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); + if (ret != 0) + return (P2T(ret)); + /* get event */ + ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg)); + if (ret != 0) + return (P2T(ret)); + if (msg->event == 0) + return (TD_NOMSG); + /* clear event, at the time, libthr only reports event once a time. */ + if (pt == pt_temp) { + pt_temp = NULL; + ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); + } + tmp = 0; + ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp)); + /* convert event */ + pt = (psaddr_t)msg->th_p; + ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp)); + if (ret != 0) + return (P2T(ret)); + handle.th_ta = ta; + handle.th_tid = pt_map_thread(ta, lwp, pt); + handle.th_thread = pt; + msg->th_p = &handle; + return (0); } static td_err_e ==== //depot/projects/davidxu_thread/src/lib/libthread_db/thread_db.h#5 (text+ko) ==== @@ -24,7 +24,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/lib/libthread_db/thread_db.h,v 1.4 2005/04/05 11:38:30 davidxu Exp $ + * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.5 2005/04/12 03:03:16 davidxu Exp $ */ #ifndef _THREAD_DB_H_ ==== //depot/projects/davidxu_thread/src/lib/libutil/humanize_number.3#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: humanize_number.3,v 1.4 2003/04/16 13:34:37 wiz Exp $ -.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.7 2004/09/26 12:08:31 pjd Exp $ +.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.8 2005/04/10 12:15:25 delphij Exp $ .\" .\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -64,7 +64,7 @@ .Fa buffer must be at least .Fa len -bytes bytes long. +bytes long. .Pp If the formatted number (including .Fa suffix ) ==== //depot/projects/davidxu_thread/src/libexec/save-entropy/save-entropy.sh#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2001 The FreeBSD Project +# Copyright (c) 2001-2005 Douglas Barton, DougB@FreeBSD.org # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -24,7 +24,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/libexec/save-entropy/save-entropy.sh,v 1.2 2001/01/14 07:18:31 dougb Exp $ +# $FreeBSD: src/libexec/save-entropy/save-entropy.sh,v 1.3 2005/04/11 02:07:33 dougb Exp $ # This script is called by cron to store bits of randomness which are # then used to seed /dev/random on boot. @@ -86,7 +86,7 @@ done dd if=/dev/random of="${entropy_dir}/saved-entropy.1" \ - bs=2048 count=1 2> /dev/null + bs="$entropy_save_sz" count=1 2> /dev/null exit 0 ==== //depot/projects/davidxu_thread/src/share/man/man4/cpufreq.4#4 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/cpufreq.4,v 1.7 2005/03/31 06:05:16 njl Exp $ +.\" $FreeBSD: src/share/man/man4/cpufreq.4,v 1.8 2005/04/10 19:27:03 njl Exp $ .\" -.Dd February 26, 2005 +.Dd April 10, 2005 .Dt CPUFREQ 4 .Os .Sh NAME @@ -86,7 +86,11 @@ .It Va debug.cpufreq.lowest Lowest CPU frequency in MHz to offer to users. This setting is also accessible via a tunable with the same name. -This can be used to disable very low levels that may be unusable. +This can be used to disable very low levels that may be unusable on +some systems. +.It Va debug.cpufreq.verbose +Print verbose messages. +This setting is also accessible via a tunable with the same name. .El .Sh SUPPORTED DRIVERS The following device drivers offer absolute frequency control via the @@ -273,6 +277,10 @@ .Xr sysctl 8 .Sh AUTHORS .An Nate Lawson +.An Bruno Ducrot +contributed the +.Pa powernow +driver. .Sh BUGS The following drivers have not yet been converted to the .Nm @@ -283,7 +291,3 @@ .Pp When multiple CPUs offer frequency control, they cannot be set to different levels and must all offer the same frequency settings. -.Pp -Some very low frequency levels can result in hangs on some systems. -Such levels should be disabled with -.Va debug.cpufreq.lowest . ==== //depot/projects/davidxu_thread/src/share/man/man4/mac_bsdextended.4#2 (text+ko) ==== @@ -28,7 +28,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/mac_bsdextended.4,v 1.14 2004/10/08 20:22:55 keramida Exp $ +.\" $FreeBSD: src/share/man/man4/mac_bsdextended.4,v 1.15 2005/04/11 16:53:40 trhodes Exp $ .\" .Dd September 10, 2004 .Os @@ -58,7 +58,7 @@ .Sh DESCRIPTION The .Nm -interface provides an interface for the system administrator +security policy module provides an interface for the system administrator to impose mandatory rules regarding users and some system objects. Rules are uploaded to the module (typically using ==== //depot/projects/davidxu_thread/src/share/misc/bsd-family-tree#4 (text+ko) ==== @@ -185,7 +185,7 @@ *---FreeBSD 5.3 | | | | | | | | OpenBSD 3.6 | | v | NetBSD 2.0 | | - | | | | | + | | | | DragonFly 1.2.0 FreeBSD 6 -current | NetBSD -current OpenBSD -current | | | | | | v v v v v @@ -201,7 +201,7 @@ the 4.4BSD Operating System. [APL] Apple website [http://www.apple.com/macosx/] [BSDI] Berkeley Software Design, Inc. -[DFD] DragonFlyBSD Project, The. +[DFB] DragonFlyBSD Project, The. [DOC] README, COPYRIGHT on tape. [FBD] FreeBSD Project, The. [KB] Keith Bostic. BSD2.10 available from Usenix. comp.unix.sources, @@ -410,11 +410,12 @@ NetBSD 1.6.2 2004-03-01 [NBD] (patch release) OpenBSD 3.5 2004-04-01 [OBD] FreeBSD 4.10 2004-05-27 [FBD] -DragonFly 1.0 2004-07-12 [DFD] +DragonFly 1.0 2004-07-12 [DFB] OpenBSD 3.6 2004-10-29 [OBD] FreeBSD 5.3 2004-11-06 [FBD] NetBSD 2.0 2004-12-09 [NBD] FreeBSD 4.11 2005-01-25 [FBD] +DragonFly 1.2.0 2005-04-08 [DFB] Bibliography ------------------------ @@ -475,4 +476,4 @@ Copyright (c) 1997-2004 Wolfram Schneider URL: http://cvsweb.freebsd.org/src/share/misc/bsd-family-tree -$FreeBSD: src/share/misc/bsd-family-tree,v 1.88 2005/01/25 19:16:09 maxim Exp $ +$FreeBSD: src/share/misc/bsd-family-tree,v 1.89 2005/04/10 14:26:58 maxim Exp $ ==== //depot/projects/davidxu_thread/src/share/mk/bsd.files.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.files.mk,v 1.3 2002/07/29 09:40:12 ru Exp $ +# $FreeBSD: src/share/mk/bsd.files.mk,v 1.4 2005/04/11 07:13:29 harti Exp $ .if !target(____) .error bsd.files.mk cannot be included directly. @@ -60,10 +60,10 @@ .endif .endif -.endif defined(${group}) && !empty(${group}) +.endif # defined(${group}) && !empty(${group}) .endfor -.endif !target(installfiles) +.endif # !target(installfiles) realinstall: installfiles .ORDER: beforeinstall installfiles ==== //depot/projects/davidxu_thread/src/share/mk/bsd.incs.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.incs.mk,v 1.3 2002/07/03 12:28:03 ru Exp $ +# $FreeBSD: src/share/mk/bsd.incs.mk,v 1.4 2005/04/11 07:13:29 harti Exp $ .if !target(____) .error bsd.incs.mk cannot be included directly. @@ -59,7 +59,7 @@ .endif .endif -.endif defined(${group}) && !empty(${group}) +.endif # defined(${group}) && !empty(${group}) .endfor .if defined(INCSLINKS) && !empty(INCSLINKS) @@ -74,7 +74,7 @@ ln -fs $$l $$t; \ done; true .endif -.endif !target(installincludes) +.endif # !target(installincludes) realinstall: installincludes .ORDER: beforeinstall installincludes ==== //depot/projects/davidxu_thread/src/share/mk/bsd.init.mk#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.init.mk,v 1.4 2005/01/09 12:55:47 ru Exp $ +# $FreeBSD: src/share/mk/bsd.init.mk,v 1.5 2005/04/11 07:13:29 harti Exp $ # The include file includes ../Makefile.inc and # ; this is used at the top of all files @@ -12,4 +12,4 @@ .include .include .MAIN: all -.endif !target(____) +.endif # !target(____) ==== //depot/projects/davidxu_thread/src/share/mk/bsd.lib.mk#4 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)bsd.lib.mk 5.26 (Berkeley) 5/2/91 -# $FreeBSD: src/share/mk/bsd.lib.mk,v 1.167 2005/02/08 10:37:34 phantom Exp $ +# $FreeBSD: src/share/mk/bsd.lib.mk,v 1.168 2005/04/11 07:13:29 harti Exp $ # .include @@ -166,7 +166,7 @@ ${LINT} ${LINTLIBFLAGS} ${CFLAGS:M-[DIU]*} ${.ALLSRC} .endif -.endif !defined(INTERNALLIB) +.endif # !defined(INTERNALLIB) all: ${_LIBS} @@ -240,7 +240,7 @@ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR} .endif -.endif !defined(INTERNALLIB) +.endif # !defined(INTERNALLIB) .include .include @@ -308,7 +308,7 @@ .if defined(WANT_LINT) && defined(LIB) && !empty(LIB) rm -f ${LINTOBJS} .endif -.endif !defined(INTERNALLIB) +.endif # !defined(INTERNALLIB) .if defined(_LIBS) && !empty(_LIBS) rm -f ${_LIBS} .endif ==== //depot/projects/davidxu_thread/src/share/mk/bsd.nls.mk#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.nls.mk,v 1.12 2005/03/10 15:58:16 phantom Exp $ +# $FreeBSD: src/share/mk/bsd.nls.mk,v 1.13 2005/04/11 07:13:29 harti Exp $ # # This include file handles building and installing Native # Language Support (NLS) catalogs @@ -73,4 +73,4 @@ .endfor .endfor -.endif defined(NLS) && !empty(NLS) && !defined(NO_NLS) +.endif # defined(NLS) && !empty(NLS) && !defined(NO_NLS) ==== //depot/projects/davidxu_thread/src/share/mk/bsd.obj.mk#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.obj.mk,v 1.53 2005/01/06 11:12:43 krion Exp $ +# $FreeBSD: src/share/mk/bsd.obj.mk,v 1.54 2005/04/11 07:13:29 harti Exp $ # # The include file handles creating the 'obj' directory # and cleaning up object files, etc. @@ -98,7 +98,7 @@ echo "No ${CANONICALOBJDIR} to link to - do a make obj."; \ fi .endif -.endif !defined(NO_OBJ) +.endif # !defined(NO_OBJ) # # where would that obj directory be? @@ -130,4 +130,4 @@ .include -.endif !target(____) +.endif # !target(____) ==== //depot/projects/davidxu_thread/src/share/mk/bsd.own.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/mk/bsd.own.mk,v 1.42 2005/01/06 11:12:43 krion Exp $ +# $FreeBSD: src/share/mk/bsd.own.mk,v 1.43 2005/04/11 07:13:29 harti Exp $ # # The include file set common variables for owner, # group, mode, and directories. Defaults are in brackets. @@ -165,4 +165,4 @@ COMPRESS_CMD?= gzip -cn COMPRESS_EXT?= .gz -.endif !target(____) +.endif # !target(____) ==== //depot/projects/davidxu_thread/src/share/mk/bsd.prog.mk#4 (text+ko) ==== @@ -1,5 +1,5 @@ # from: @(#)bsd.prog.mk 5.26 (Berkeley) 6/25/91 -# $FreeBSD: src/share/mk/bsd.prog.mk,v 1.143 2005/01/26 00:17:03 jmallett Exp $ +# $FreeBSD: src/share/mk/bsd.prog.mk,v 1.144 2005/04/11 07:13:29 harti Exp $ .include @@ -48,7 +48,7 @@ ${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${OBJS} ${LDADD} .endif -.else !defined(SRCS) +.else # !defined(SRCS) .if !target(${PROG}) .if defined(PROG_CXX) @@ -140,7 +140,7 @@ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR} .endif .endif -.endif !target(realinstall) +.endif # !target(realinstall) .if defined(SCRIPTS) && !empty(SCRIPTS) realinstall: _scriptsinstall ==== //depot/projects/davidxu_thread/src/sys/amd64/amd64/support.S#2 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.113 2004/07/10 22:39:17 marcel Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.114 2005/04/10 18:12:07 alc Exp $ */ #include "opt_ddb.h" @@ -86,8 +86,6 @@ ret ENTRY(bcmp) - xorq %rax,%rax - movq %rdx,%rcx shrq $3,%rcx cld /* compare forwards */ @@ -99,10 +97,9 @@ andq $7,%rcx repe cmpsb - je 2f 1: - incq %rax -2: + setne %al + movsbl %al,%eax ret /* ==== //depot/projects/davidxu_thread/src/sys/amd64/include/asm.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)DEFS.h 5.1 (Berkeley) 4/23/90 - * $FreeBSD: src/sys/amd64/include/asm.h,v 1.16 2004/06/10 22:02:26 peter Exp $ + * $FreeBSD: src/sys/amd64/include/asm.h,v 1.17 2005/04/10 20:49:21 alc Exp $ */ #ifndef _MACHINE_ASM_H_ @@ -56,8 +56,7 @@ #define CNAME(csym) csym #define HIDENAME(asmsym) .asmsym -/* XXX should use .p2align 4,0x90 for -m486. */ -#define _START_ENTRY .text; .p2align 2,0x90 +#define _START_ENTRY .text; .p2align 4,0x90 #define _ENTRY(x) _START_ENTRY; \ .globl CNAME(x); .type CNAME(x),@function; CNAME(x): ==== //depot/projects/davidxu_thread/src/sys/compat/ndis/hal_var.h#4 (text+ko) ==== @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/compat/ndis/hal_var.h,v 1.7 2005/02/16 05:41:17 wpaul Exp $ + * $FreeBSD: src/sys/compat/ndis/hal_var.h,v 1.8 2005/04/11 02:02:34 wpaul Exp $ */ #ifndef _HAL_VAR_H_ @@ -48,11 +48,11 @@ __BEGIN_DECLS extern int hal_libinit(void); extern int hal_libfini(void); -__fastcall extern uint8_t KfAcquireSpinLock(REGARGS1(kspin_lock *lock)); -__fastcall void KfReleaseSpinLock(REGARGS2(kspin_lock *lock, uint8_t newirql)); -__fastcall extern uint8_t KfRaiseIrql(REGARGS1(uint8_t irql)); -__fastcall extern void KfLowerIrql(REGARGS1(uint8_t oldirql)); -__stdcall extern uint8_t KeGetCurrentIrql(void); +extern uint8_t KfAcquireSpinLock(kspin_lock *); +extern void KfReleaseSpinLock(kspin_lock *, uint8_t); +extern uint8_t KfRaiseIrql(uint8_t); +extern void KfLowerIrql(uint8_t); +extern uint8_t KeGetCurrentIrql(void); __END_DECLS #endif /* _HAL_VAR_H_ */ ==== //depot/projects/davidxu_thread/src/sys/compat/ndis/kern_ndis.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 12 15:43:05 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9194D16A4D0; Tue, 12 Apr 2005 15:43:05 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5468816A4CE for ; Tue, 12 Apr 2005 15:43:05 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18C6C43D1F for ; Tue, 12 Apr 2005 15:43:05 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3CFh4AM041815 for ; Tue, 12 Apr 2005 15:43:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3CFh4XY041812 for perforce@freebsd.org; Tue, 12 Apr 2005 15:43:04 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 12 Apr 2005 15:43:04 GMT Message-Id: <200504121543.j3CFh4XY041812@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 74995 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 15:43:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=74995 Change 74995 by rwatson@rwatson_paprika on 2005/04/12 15:42:52 Initial socket poll check entry points. Affected files ... .. //depot/projects/trustedbsd/mac/sys/kern/sys_socket.c#26 edit .. //depot/projects/trustedbsd/mac/sys/security/mac/mac_socket.c#6 edit .. //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#30 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac.h#269 edit .. //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#226 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/kern/sys_socket.c#26 (text+ko) ==== @@ -226,6 +226,15 @@ int error; NET_LOCK_GIANT(); +#ifdef MAC + SOCK_LOCK(so); + error = mac_check_socket_poll(active_cred, so); + SOCK_UNLOCK(so); + if (error) { + NET_UNLOCK_GIANT(); + return (error); + } +#endif error = (so->so_proto->pr_usrreqs->pru_sopoll) (so, events, fp->f_cred, td); NET_UNLOCK_GIANT(); ==== //depot/projects/trustedbsd/mac/sys/security/mac/mac_socket.c#6 (text+ko) ==== @@ -355,6 +355,20 @@ } int +mac_check_socket_poll(struct ucred *cred, struct socket *so) +{ + int error; + + SOCK_LOCK_ASSERT(so); + + if (!mac_enforce_socket) + return (0); + + MAC_CHECK(check_socket_poll, cred, so, so->so_label); + return (error); +} + +int mac_check_socket_receive(struct ucred *cred, struct socket *so) { int error; ==== //depot/projects/trustedbsd/mac/sys/security/mac_stub/mac_stub.c#30 (text+ko) ==== @@ -1022,6 +1022,14 @@ } static int +stub_check_socket_poll(struct ucred *cred, struct socket *so, + struct label *socketlabel) +{ + + return (0); +} + +static int stub_check_socket_relabel(struct ucred *cred, struct socket *socket, struct label *socketlabel, struct label *newlabel) { ==== //depot/projects/trustedbsd/mac/sys/sys/mac.h#269 (text+ko) ==== @@ -376,6 +376,7 @@ struct sockaddr *sockaddr); int mac_check_socket_deliver(struct socket *so, struct mbuf *m); int mac_check_socket_listen(struct ucred *cred, struct socket *so); +int mac_check_socket_poll(struct ucred *cred, struct socket *so); int mac_check_socket_receive(struct ucred *cred, struct socket *so); int mac_check_socket_send(struct ucred *cred, struct socket *so); int mac_check_socket_visible(struct ucred *cred, struct socket *so); ==== //depot/projects/trustedbsd/mac/sys/sys/mac_policy.h#226 (text+ko) ==== @@ -464,6 +464,8 @@ struct label *mbuflabel); int (*mpo_check_socket_listen)(struct ucred *cred, struct socket *so, struct label *socketlabel); + int (*mpo_check_socket_poll)(struct ucred *cred, + struct socket *so, struct label *socketlabel); int (*mpo_check_socket_receive)(struct ucred *cred, struct socket *so, struct label *socketlabel); int (*mpo_check_socket_relabel)(struct ucred *cred, From owner-p4-projects@FreeBSD.ORG Tue Apr 12 18:54:02 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8B62216A4D0; Tue, 12 Apr 2005 18:54:01 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4EDB016A4CE for ; Tue, 12 Apr 2005 18:54:01 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B732443D1F for ; Tue, 12 Apr 2005 18:54:00 +0000 (GMT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3CIs03J059059 for ; Tue, 12 Apr 2005 18:54:00 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3CIs09K059054 for perforce@freebsd.org; Tue, 12 Apr 2005 18:54:00 GMT (envelope-from sam@freebsd.org) Date: Tue, 12 Apr 2005 18:54:00 GMT Message-Id: <200504121854.j3CIs09K059054@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 75000 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 18:54:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=75000 Change 75000 by sam@sam_ebb on 2005/04/12 18:53:15 IFC @ 74999 Affected files ... .. //depot/projects/wifi/contrib/traceroute/traceroute.8#2 integrate .. //depot/projects/wifi/etc/defaults/rc.conf#13 integrate .. //depot/projects/wifi/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#5 integrate .. //depot/projects/wifi/lib/libthr/Makefile#4 integrate .. //depot/projects/wifi/lib/libthr/pthread.map#2 integrate .. //depot/projects/wifi/lib/libthr/thread/Makefile.inc#3 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_create.c#3 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_event.c#1 branch .. //depot/projects/wifi/lib/libthr/thread/thr_exit.c#3 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_init.c#5 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_list.c#2 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_private.h#5 integrate .. //depot/projects/wifi/lib/libthr/thread/thr_symbols.c#2 integrate .. //depot/projects/wifi/lib/libthread_db/libc_r_db.c#2 integrate .. //depot/projects/wifi/lib/libthread_db/libpthread_db.c#3 integrate .. //depot/projects/wifi/lib/libthread_db/libthr_db.c#3 integrate .. //depot/projects/wifi/lib/libthread_db/thread_db.h#3 integrate .. //depot/projects/wifi/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#13 integrate .. //depot/projects/wifi/release/doc/share/misc/dev.archlist.txt#12 integrate .. //depot/projects/wifi/share/misc/pci_vendors#2 integrate .. //depot/projects/wifi/sys/dev/ata/ata-raid.c#4 integrate .. //depot/projects/wifi/sys/dev/ata/ata-raid.h#3 integrate .. //depot/projects/wifi/sys/dev/ath/if_ath.c#83 integrate .. //depot/projects/wifi/sys/dev/ath/if_athvar.h#33 integrate .. //depot/projects/wifi/sys/dev/pccard/pccard.c#7 integrate .. //depot/projects/wifi/sys/dev/pccard/pccardvar.h#3 integrate .. //depot/projects/wifi/sys/dev/usb/ucom.c#4 integrate .. //depot/projects/wifi/sys/geom/geom_sunlabel.c#2 integrate .. //depot/projects/wifi/sys/kern/kern_lock.c#10 integrate .. //depot/projects/wifi/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/wifi/sys/kern/subr_bus.c#13 integrate .. //depot/projects/wifi/sys/kern/subr_rman.c#4 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.c#11 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_crypto.h#9 integrate .. //depot/projects/wifi/sys/net80211/ieee80211_ioctl.c#37 integrate .. //depot/projects/wifi/sys/powerpc/psim/ata_iobus.c#6 integrate .. //depot/projects/wifi/sys/sys/bus.h#8 integrate .. //depot/projects/wifi/sys/sys/rman.h#4 integrate .. //depot/projects/wifi/sys/sys/vnode.h#21 integrate .. //depot/projects/wifi/tools/tools/README#4 integrate .. //depot/projects/wifi/usr.bin/netstat/inet.c#4 integrate .. //depot/projects/wifi/usr.sbin/sysinstall/config.c#5 integrate .. //depot/projects/wifi/usr.sbin/yppush/yppush_main.c#2 integrate Differences ... ==== //depot/projects/wifi/contrib/traceroute/traceroute.8#2 (text+ko) ==== @@ -14,7 +14,7 @@ .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ -.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.10 2002/12/13 22:26:10 fenner Exp $ +.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.11 2005/04/12 15:16:32 thomas Exp $ .\" .TH TRACEROUTE 8 "21 September 2000" .UC 6 @@ -151,7 +151,7 @@ Traceroute hopes that nothing is listening on UDP ports .I base to -.I base + nhops - 1 +.I base + nhops * nprobes - 1 at the destination host (so an ICMP PORT_UNREACHABLE message will be returned to terminate the route tracing). If something is listening on a port in the default range, this option can be used ==== //depot/projects/wifi/etc/defaults/rc.conf#13 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.246 2005/04/11 02:45:05 dougb Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.247 2005/04/12 15:21:51 thomas Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -436,7 +436,7 @@ chkprintcap_flags="-d" # Create missing directories by default. usbd_enable="NO" # Run the usbd daemon. usbd_flags="" # Flags to usbd (if enabled). -dumpdev="NO" # Device name to crashdump to (or NO). +dumpdev="NO" # Device to crashdump to (device name, AUTO, or NO). dumpdir="/var/crash" # Directory where crash dumps are to be stored savecore_flags="" # Used if dumpdev is enabled above, and present. enable_quotas="NO" # turn on quotas on startup (or NO). ==== //depot/projects/wifi/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.10 2005/04/05 11:40:58 davidxu Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.11 2005/04/12 03:04:04 davidxu Exp $ */ /* FreeBSD libthread_db assisted debugging support. Copyright 1999, 2000, 2001 Free Software Foundation, Inc. @@ -130,9 +130,17 @@ static td_err_e (*td_thr_dbsuspend_p) (const td_thrhandle_t *); static td_err_e (*td_thr_dbresume_p) (const td_thrhandle_t *); +static CORE_ADDR td_create_bp_addr; + +/* Location of the thread death event breakpoint. */ +static CORE_ADDR td_death_bp_addr; + /* Prototypes for local functions. */ static void fbsd_thread_find_new_threads (void); static int fbsd_thread_alive (ptid_t ptid); +static void attach_thread (ptid_t ptid, const td_thrhandle_t *th_p, + const td_thrinfo_t *ti_p, int verbose); +static void fbsd_thread_detach (char *args, int from_tty); /* Building process ids. */ @@ -228,23 +236,21 @@ /* Convert LWP to user-level thread id. */ static ptid_t -thread_from_lwp (ptid_t ptid) +thread_from_lwp (ptid_t ptid, td_thrhandle_t *th, td_thrinfo_t *ti) { - td_thrinfo_t ti; - td_thrhandle_t th; td_err_e err; gdb_assert (IS_LWP (ptid)); if (fbsd_thread_active) { - err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); + err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), th); if (err == TD_OK) { - err = td_thr_get_info_p (&th, &ti); + err = td_thr_get_info_p (th, ti); if (err != TD_OK) error ("Cannot get thread info: %s", thread_db_err_str (err)); - return BUILD_THREAD (ti.ti_tid, GET_PID (ptid)); + return BUILD_THREAD (ti->ti_tid, GET_PID (ptid)); } } @@ -285,24 +291,114 @@ static void get_current_thread () { + td_thrhandle_t th; + td_thrinfo_t ti; long lwp; ptid_t tmp, ptid; lwp = get_current_lwp (proc_handle.pid); tmp = BUILD_LWP (lwp, proc_handle.pid); - ptid = thread_from_lwp (tmp); + ptid = thread_from_lwp (tmp, &th, &ti); if (!in_thread_list (ptid)) { - add_thread (ptid); + attach_thread (ptid, &th, &ti, 1); } inferior_ptid = ptid; } +static td_err_e +enable_thread_event (td_thragent_t *thread_agent, int event, CORE_ADDR *bp) +{ + td_notify_t notify; + td_err_e err; + + /* Get the breakpoint address for thread EVENT. */ + err = td_ta_event_addr_p (thread_agent, event, ¬ify); + if (err != TD_OK) + return err; + + /* Set up the breakpoint. */ + (*bp) = gdbarch_convert_from_func_ptr_addr (current_gdbarch, + (CORE_ADDR)notify.u.bptaddr, + ¤t_target); + create_thread_event_breakpoint ((*bp)); + + return TD_OK; +} + +static void +enable_thread_event_reporting (void) +{ + td_thr_events_t events; + td_notify_t notify; + td_err_e err; + + /* We cannot use the thread event reporting facility if these + functions aren't available. */ + if (td_ta_event_addr_p == NULL || td_ta_set_event_p == NULL + || td_ta_event_getmsg_p == NULL || td_thr_event_enable_p == NULL) + return; + + /* Set the process wide mask saying which events we're interested in. */ + td_event_emptyset (&events); + td_event_addset (&events, TD_CREATE); + td_event_addset (&events, TD_DEATH); + + err = td_ta_set_event_p (thread_agent, &events); + if (err != TD_OK) + { + warning ("Unable to set global thread event mask: %s", + thread_db_err_str (err)); + return; + } + + /* Delete previous thread event breakpoints, if any. */ + remove_thread_event_breakpoints (); + td_create_bp_addr = 0; + td_death_bp_addr = 0; + + /* Set up the thread creation event. */ + err = enable_thread_event (thread_agent, TD_CREATE, &td_create_bp_addr); + if (err != TD_OK) + { + warning ("Unable to get location for thread creation breakpoint: %s", + thread_db_err_str (err)); + return; + } + + /* Set up the thread death event. */ + err = enable_thread_event (thread_agent, TD_DEATH, &td_death_bp_addr); + if (err != TD_OK) + { + warning ("Unable to get location for thread death breakpoint: %s", + thread_db_err_str (err)); + return; + } +} + +static void +disable_thread_event_reporting (void) +{ + td_thr_events_t events; + + /* Set the process wide mask saying we aren't interested in any + events anymore. */ + td_event_emptyset (&events); + td_ta_set_event_p (thread_agent, &events); + + /* Delete thread event breakpoints, if any. */ + remove_thread_event_breakpoints (); + td_create_bp_addr = 0; + td_death_bp_addr = 0; +} + static void fbsd_thread_activate (void) { fbsd_thread_active = 1; init_thread_list(); + if (fbsd_thread_core == 0) + enable_thread_event_reporting (); fbsd_thread_find_new_threads (); get_current_thread (); } @@ -310,6 +406,8 @@ static void fbsd_thread_deactivate (void) { + if (fbsd_thread_core == 0) + disable_thread_event_reporting(); td_ta_delete_p (thread_agent); inferior_ptid = pid_to_ptid (proc_handle.pid); @@ -544,20 +642,111 @@ perror_with_name ("PT_CONTINUE"); } +static void +attach_thread (ptid_t ptid, const td_thrhandle_t *th_p, + const td_thrinfo_t *ti_p, int verbose) +{ + td_err_e err; + + /* Add the thread to GDB's thread list. */ + if (!in_thread_list (ptid)) { + add_thread (ptid); + if (verbose) + printf_unfiltered ("[New %s]\n", target_pid_to_str (ptid)); + } + + if (ti_p->ti_state == TD_THR_UNKNOWN || ti_p->ti_state == TD_THR_ZOMBIE) + return; /* A zombie thread -- do not attach. */ + + if (! IS_THREAD(ptid)) + return; + /* Enable thread event reporting for this thread. */ + err = td_thr_event_enable_p (th_p, 1); + if (err != TD_OK) + error ("Cannot enable thread event reporting for %s: %s", + target_pid_to_str (ptid), thread_db_err_str (err)); +} + +static void +detach_thread (ptid_t ptid, int verbose) +{ + if (verbose) + printf_unfiltered ("[%s exited]\n", target_pid_to_str (ptid)); +} + +static void +check_event (ptid_t ptid) +{ + td_event_msg_t msg; + td_thrinfo_t ti; + td_err_e err; + CORE_ADDR stop_pc; + int loop = 0; + + /* Bail out early if we're not at a thread event breakpoint. */ + stop_pc = read_pc_pid (ptid) - DECR_PC_AFTER_BREAK; + if (stop_pc != td_create_bp_addr && stop_pc != td_death_bp_addr) + return; + loop = 1; + + do + { + err = td_ta_event_getmsg_p (thread_agent, &msg); + if (err != TD_OK) + { + if (err == TD_NOMSG) + return; + error ("Cannot get thread event message: %s", + thread_db_err_str (err)); + } + err = td_thr_get_info_p (msg.th_p, &ti); + if (err != TD_OK) + error ("Cannot get thread info: %s", thread_db_err_str (err)); + ptid = BUILD_THREAD (ti.ti_tid, GET_PID (ptid)); + switch (msg.event) + { + case TD_CREATE: + /* We may already know about this thread, for instance when the + user has issued the `info threads' command before the SIGTRAP + for hitting the thread creation breakpoint was reported. */ + attach_thread (ptid, msg.th_p, &ti, 1); + break; + case TD_DEATH: + if (!in_thread_list (ptid)) + error ("Spurious thread death event."); + detach_thread (ptid, 1); + break; + default: + error ("Spurious thread event."); + } + } + while (loop); +} + static ptid_t fbsd_thread_wait (ptid_t ptid, struct target_waitstatus *ourstatus) { ptid_t ret; long lwp; CORE_ADDR stop_pc; + td_thrhandle_t th; + td_thrinfo_t ti; ret = child_ops.to_wait (ptid, ourstatus); if (GET_PID(ret) >= 0 && ourstatus->kind == TARGET_WAITKIND_STOPPED) { lwp = get_current_lwp (GET_PID(ret)); - ret = thread_from_lwp (BUILD_LWP (lwp, GET_PID (ret))); - if (!in_thread_list (ret)) - add_thread (ret); + ret = thread_from_lwp (BUILD_LWP(lwp, GET_PID(ret)), + &th, &ti); + if (!in_thread_list(ret)) { + /* + * We have to enable event reporting for initial thread + * which was not mapped before. + */ + attach_thread(ret, &th, &ti, 1); + } + if (ourstatus->value.sig == TARGET_SIGNAL_TRAP) + check_event(ret); /* this is a hack, if an event won't cause gdb to stop, for example, SIGARLM, gdb resumes the process immediatly without setting inferior_ptid to the new thread returned here, this is a bug @@ -567,7 +756,7 @@ { delete_thread (inferior_ptid); inferior_ptid = ret; - } + } } return (ret); @@ -873,9 +1062,7 @@ return 0; ptid = BUILD_THREAD (ti.ti_tid, proc_handle.pid); - - if (!in_thread_list (ptid)) - add_thread (ptid); + attach_thread (ptid, th_p, &ti, 1); return 0; } @@ -968,7 +1155,7 @@ ret = td_ta_map_id2thr_p (thread_agent, GET_THREAD(ptid), &th); /* get the address of the variable. */ - ret = td_thr_tls_get_addr_p (&th, (void *) lm, offset, &address); + ret = td_thr_tls_get_addr_p (&th, (void *)lm, offset, &address); if (ret != TD_OK) { @@ -1180,6 +1367,13 @@ return 0; } + /* These are not essential. */ + td_ta_event_addr_p = dlsym (handle, "td_ta_event_addr"); + td_ta_set_event_p = dlsym (handle, "td_ta_set_event"); + td_ta_event_getmsg_p = dlsym (handle, "td_ta_event_getmsg"); + td_thr_event_enable_p = dlsym (handle, "td_thr_event_enable"); + td_thr_tls_get_addr_p = dlsym (handle, "td_thr_tls_get_addr"); + return 1; } ==== //depot/projects/wifi/lib/libthr/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/Makefile,v 1.10 2005/04/06 13:48:11 davidxu Exp $ +# $FreeBSD: src/lib/libthr/Makefile,v 1.11 2005/04/12 03:00:28 davidxu Exp $ # # All library objects contain FreeBSD revision strings by default; they may be # excluded as a space-saving measure. To produce a library that does @@ -16,6 +16,7 @@ CFLAGS+=-I${.CURDIR}/sys CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf/${MACHINE_ARCH} +CFLAGS+=-I${.CURDIR}/../libthread_db CFLAGS+=-Winline # CFLAGS+=-DSYSTEM_SCOPE_ONLY ==== //depot/projects/wifi/lib/libthr/pthread.map#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/pthread.map,v 1.2 2005/04/03 23:52:29 davidxu Exp $ +# $FreeBSD: src/lib/libthr/pthread.map,v 1.3 2005/04/12 03:00:28 davidxu Exp $ LIBPTHREAD_1_0 { global: ___creat; @@ -344,21 +344,26 @@ # Debugger needs these. _libthr_debug; _thread_active_threads; + _thread_bp_create; + _thread_bp_death; + _thread_event_mask; _thread_keytable; + _thread_last_event; _thread_list; _thread_max_keys; _thread_off_attr_flags; _thread_off_dtv; + _thread_off_event_buf; + _thread_off_event_mask; + _thread_off_key_allocated; + _thread_off_key_destructor; _thread_off_linkmap; _thread_off_next; + _thread_off_report_events; + _thread_off_state; _thread_off_tcb; _thread_off_tid; - _thread_off_key_allocated; - _thread_off_key_destructor; - _thread_off_state; - _thread_off_thr_locklevel; _thread_off_tlsindex; - _thread_off_isdead; _thread_size_key; _thread_state_running; _thread_state_zoombie; ==== //depot/projects/wifi/lib/libthr/thread/Makefile.inc#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.9 2005/04/02 01:20:00 davidxu Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.10 2005/04/12 03:00:28 davidxu Exp $ # thr sources .PATH: ${.CURDIR}/thread @@ -15,6 +15,7 @@ thr_create.c \ thr_detach.c \ thr_equal.c \ + thr_event.c \ thr_exit.c \ thr_fork.c \ thr_getprio.c \ ==== //depot/projects/wifi/lib/libthr/thread/thr_create.c#3 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.20 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_create.c,v 1.21 2005/04/12 03:00:28 davidxu Exp $ */ #include @@ -56,7 +56,7 @@ ucontext_t uc; sigset_t sigmask, oldsigmask; struct pthread *curthread, *new_thread; - int ret = 0; + int ret = 0, locked; _thr_check_init(); @@ -92,9 +92,10 @@ else if (_thr_scope_system < 0) new_thread->attr.flags &= ~PTHREAD_SCOPE_SYSTEM; + new_thread->tid = TID_TERMINATED; + if (create_stack(&new_thread->attr) != 0) { /* Insufficient memory to create a stack: */ - new_thread->terminated = 1; _thr_free(curthread, new_thread); return (EAGAIN); } @@ -151,20 +152,31 @@ * it can not handle signal, so we should masks all signals here. */ SIGFILLSET(sigmask); + SIGDELSET(sigmask, SIGTRAP); __sys_sigprocmask(SIG_SETMASK, &sigmask, &oldsigmask); new_thread->sigmask = oldsigmask; /* Add the new thread. */ _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ (*thread) = new_thread; + if (SHOULD_REPORT_EVENT(curthread, TD_CREATE)) { + THR_THREAD_LOCK(curthread, new_thread); + locked = 1; + } else + locked = 0; /* Schedule the new thread. */ ret = thr_create(&uc, &new_thread->tid, 0); __sys_sigprocmask(SIG_SETMASK, &oldsigmask, NULL); if (ret != 0) { + if (locked) + THR_THREAD_UNLOCK(curthread, new_thread); _thr_unlink(curthread, new_thread); free_thread(curthread, new_thread); (*thread) = 0; ret = EAGAIN; + } else if (locked) { + _thr_report_creation(curthread, new_thread); + THR_THREAD_UNLOCK(curthread, new_thread); } return (ret); } @@ -173,7 +185,7 @@ free_thread(struct pthread *curthread, struct pthread *thread) { free_stack(curthread, &thread->attr); - curthread->terminated = 1; + curthread->tid = TID_TERMINATED; _thr_free(curthread, thread); } @@ -215,6 +227,9 @@ if (curthread->flags & THR_FLAGS_NEED_SUSPEND) _thr_suspend_check(curthread); + THR_LOCK(curthread); + THR_UNLOCK(curthread); + /* Run the current thread's start routine with argument: */ pthread_exit(curthread->start_routine(curthread->arg)); ==== //depot/projects/wifi/lib/libthr/thread/thr_exit.c#3 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.17 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_exit.c,v 1.18 2005/04/12 03:00:28 davidxu Exp $ */ #include @@ -130,7 +130,9 @@ THREAD_LIST_UNLOCK(curthread); if (curthread->joiner) _thr_umtx_wake(&curthread->state, INT_MAX); - thr_exit(&curthread->terminated); + if (SHOULD_REPORT_EVENT(curthread, TD_DEATH)) + _thr_report_death(curthread); + thr_exit(&curthread->tid); PANIC("thr_exit() returned"); /* Never reach! */ } ==== //depot/projects/wifi/lib/libthr/thread/thr_init.c#5 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.21 2005/04/06 13:57:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_init.c,v 1.23 2005/04/12 03:13:49 davidxu Exp $ */ /* Allocate space for global thread variables here: */ @@ -309,6 +309,8 @@ _thr_initial = curthread; SIGDELSET(oldset, SIGCANCEL); __sys_sigprocmask(SIG_SETMASK, &oldset, NULL); + if (_thread_event_mask & TD_CREATE) + _thr_report_creation(curthread, curthread); } } @@ -384,6 +386,7 @@ _thr_umtx_init(&_rwlock_static_lock); _thr_umtx_init(&_keytable_lock); _thr_umtx_init(&_thr_atfork_lock); + _thr_umtx_init(&_thr_event_lock); _thr_spinlock_init(); _thr_list_init(); ==== //depot/projects/wifi/lib/libthr/thread/thr_list.c#2 (text+ko) ==== @@ -24,7 +24,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/lib/libthr/thread/thr_list.c,v 1.3 2005/04/07 06:09:17 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_list.c,v 1.4 2005/04/12 03:00:28 davidxu Exp $ */ #include @@ -99,7 +99,7 @@ /* Check the threads waiting for GC. */ for (td = TAILQ_FIRST(&_thread_gc_list); td != NULL; td = td_next) { td_next = TAILQ_NEXT(td, gcle); - if (td->terminated == 0) { + if (td->tid != TID_TERMINATED) { /* make sure we are not still in userland */ continue; } ==== //depot/projects/wifi/lib/libthr/thread/thr_private.h#5 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.45 2005/04/06 13:57:31 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_private.h,v 1.46 2005/04/12 03:00:28 davidxu Exp $ */ #ifndef _THR_PRIVATE_H @@ -56,6 +56,7 @@ #include "pthread_md.h" #include "thr_umtx.h" +#include "thread_db.h" /* * Evaluate the storage class specifier. @@ -345,11 +346,9 @@ */ umtx_t lock; - /* Thread is terminated in kernel, written by kernel. */ - long terminated; - /* Kernel thread id. */ long tid; +#define TID_TERMINATED 1 /* Internal condition variable cycle number. */ umtx_t cycle; @@ -491,6 +490,15 @@ /* Cleanup handlers Link List */ struct pthread_cleanup *cleanup; + + /* Enable event reporting */ + int report_events; + + /* Event mask */ + int event_mask; + + /* Event */ + td_event_msg_t event_buf; }; #define THR_UMTX_TRYLOCK(thrd, lck) \ @@ -573,6 +581,10 @@ #define THR_IN_SYNCQ(thrd) (((thrd)->sflags & THR_FLAGS_IN_SYNCQ) != 0) +#define SHOULD_REPORT_EVENT(curthr, e) \ + (curthr->report_events && \ + (((curthr)->event_mask | _thread_event_mask ) & e) != 0) + extern int __isthreaded; /* @@ -581,9 +593,12 @@ SCLASS void *_usrstack SCLASS_PRESET(NULL); SCLASS struct pthread *_thr_initial SCLASS_PRESET(NULL); +SCLASS int _thr_scope_system SCLASS_PRESET(0); + /* For debugger */ SCLASS int _libthr_debug SCLASS_PRESET(0); -SCLASS int _thr_scope_system SCLASS_PRESET(0); +SCLASS int _thread_event_mask SCLASS_PRESET(0); +SCLASS struct pthread *_thread_last_event; /* List of all threads: */ SCLASS TAILQ_HEAD(, pthread) _thread_list @@ -643,6 +658,7 @@ SCLASS umtx_t _rwlock_static_lock; SCLASS umtx_t _keytable_lock; SCLASS umtx_t _thr_list_lock; +SCLASS umtx_t _thr_event_lock; /* Undefine the storage class and preset specifiers: */ #undef SCLASS @@ -720,6 +736,11 @@ void _thr_unlink(struct pthread *curthread, struct pthread *thread); void _thr_suspend_check(struct pthread *curthread); void _thr_assert_lock_level() __dead2; +void _thr_report_creation(struct pthread *curthread, + struct pthread *newthread); +void _thr_report_death(struct pthread *curthread); +void _thread_bp_create(void); +void _thread_bp_death(void); /* #include */ #ifdef _SYS_AIO_H_ ==== //depot/projects/wifi/lib/libthr/thread/thr_symbols.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_symbols.c,v 1.1 2005/04/02 01:20:00 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_symbols.c,v 1.2 2005/04/12 03:00:28 davidxu Exp $ */ #include @@ -45,10 +45,11 @@ int _thread_off_tid = offsetof(struct pthread, tid); int _thread_off_next = offsetof(struct pthread, tle.tqe_next); int _thread_off_attr_flags = offsetof(struct pthread, attr.flags); -int _thread_off_thr_locklevel = offsetof(struct pthread, locklevel); int _thread_off_linkmap = offsetof(Obj_Entry, linkmap); int _thread_off_tlsindex = offsetof(Obj_Entry, tlsindex); -int _thread_off_isdead = offsetof(struct pthread, terminated); +int _thread_off_report_events = offsetof(struct pthread, report_events); +int _thread_off_event_mask = offsetof(struct pthread, event_mask); +int _thread_off_event_buf = offsetof(struct pthread, event_buf); int _thread_size_key = sizeof(struct pthread_key); int _thread_off_key_allocated = offsetof(struct pthread_key, allocated); int _thread_off_key_destructor = offsetof(struct pthread_key, destructor); ==== //depot/projects/wifi/lib/libthread_db/libc_r_db.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.1 2004/07/18 04:17:13 marcel Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.2 2005/04/12 03:03:16 davidxu Exp $"); #include #include @@ -58,7 +58,7 @@ static td_err_e libc_r_db_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e @@ -160,7 +160,7 @@ static td_err_e libc_r_db_ta_set_event(const td_thragent_t *ta, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e @@ -192,13 +192,13 @@ static td_err_e libc_r_db_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e libc_r_db_thr_event_enable(const td_thrhandle_t *th, int oo) { - return (TD_ERR); + return (0); } static td_err_e @@ -281,7 +281,7 @@ static td_err_e libc_r_db_thr_set_event(const td_thrhandle_t *th, td_thr_events_t *ev) { - return (TD_ERR); + return (0); } static td_err_e ==== //depot/projects/wifi/lib/libthread_db/libpthread_db.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.7 2005/04/05 11:38:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.8 2005/04/12 03:03:16 davidxu Exp $"); #include #include @@ -428,21 +428,21 @@ pt_ta_event_addr(const td_thragent_t *ta, td_event_e event, td_notify_t *ptr) { TDBG_FUNC(); - return (TD_NOEVENT); + return (TD_ERR); } static td_err_e pt_ta_set_event(const td_thragent_t *ta, td_thr_events_t *events) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e pt_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *events) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e @@ -821,21 +821,21 @@ pt_thr_event_enable(const td_thrhandle_t *th, int en) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e pt_thr_set_event(const td_thrhandle_t *th, td_thr_events_t *setp) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e pt_thr_clear_event(const td_thrhandle_t *th, td_thr_events_t *setp) { TDBG_FUNC(); - return (TD_ERR); + return (0); } static td_err_e ==== //depot/projects/wifi/lib/libthread_db/libthr_db.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.4 2005/04/05 11:38:30 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.5 2005/04/12 03:03:16 davidxu Exp $"); #include #include @@ -39,6 +39,8 @@ #include "thread_db_int.h" +#define TERMINATED 1 + struct pt_map { int used; lwpid_t lwp; @@ -49,24 +51,27 @@ TD_THRAGENT_FIELDS; psaddr_t libthr_debug_addr; psaddr_t thread_list_addr; - psaddr_t thread_listgen_addr; psaddr_t thread_active_threads_addr; psaddr_t thread_keytable_addr; - int thread_inited; + psaddr_t thread_last_event_addr; + psaddr_t thread_event_mask_addr; + psaddr_t thread_bp_create_addr; + psaddr_t thread_bp_death_addr; int thread_off_dtv; int thread_off_tlsindex; int thread_off_attr_flags; int thread_size_key; int thread_off_tcb; int thread_off_linkmap; - int thread_off_thr_locklevel; int thread_off_next; int thread_off_state; - int thread_off_isdead; int thread_off_tid; int thread_max_keys; int thread_off_key_allocated; int thread_off_key_destructor; + int thread_off_report_events; + int thread_off_event_mask; + int thread_off_event_buf; int thread_state_zoombie; int thread_state_running; struct pt_map *map; @@ -131,7 +136,7 @@ sizeof(struct pt_map) * ta->map_len * 2); if (new == NULL) return (-1); - memset(new + ta->map_len, '\0', sizeof(struct pt_map) * + memset(new + ta->map_len, 0, sizeof(struct pt_map) * ta->map_len); first = ta->map_len; ta->map = new; @@ -195,6 +200,10 @@ LOOKUP_SYM(ph, "_thread_list", &ta->thread_list_addr); LOOKUP_SYM(ph, "_thread_active_threads",&ta->thread_active_threads_addr); LOOKUP_SYM(ph, "_thread_keytable", &ta->thread_keytable_addr); + LOOKUP_SYM(ph, "_thread_last_event", &ta->thread_last_event_addr); + LOOKUP_SYM(ph, "_thread_event_mask", &ta->thread_event_mask_addr); + LOOKUP_SYM(ph, "_thread_bp_create", &ta->thread_bp_create_addr); + LOOKUP_SYM(ph, "_thread_bp_death", &ta->thread_bp_death_addr); LOOKUP_VAL(ph, "_thread_off_dtv", &ta->thread_off_dtv); LOOKUP_VAL(ph, "_thread_off_tlsindex", &ta->thread_off_tlsindex); LOOKUP_VAL(ph, "_thread_off_attr_flags", &ta->thread_off_attr_flags); @@ -202,15 +211,16 @@ LOOKUP_VAL(ph, "_thread_off_tcb", &ta->thread_off_tcb); LOOKUP_VAL(ph, "_thread_off_tid", &ta->thread_off_tid); LOOKUP_VAL(ph, "_thread_off_linkmap", &ta->thread_off_linkmap); - LOOKUP_VAL(ph, "_thread_off_thr_locklevel", &ta->thread_off_thr_locklevel); LOOKUP_VAL(ph, "_thread_off_next", &ta->thread_off_next); LOOKUP_VAL(ph, "_thread_off_state", &ta->thread_off_state); - LOOKUP_VAL(ph, "_thread_off_isdead", &ta->thread_off_isdead); LOOKUP_VAL(ph, "_thread_max_keys", &ta->thread_max_keys); LOOKUP_VAL(ph, "_thread_off_key_allocated", &ta->thread_off_key_allocated); LOOKUP_VAL(ph, "_thread_off_key_destructor", &ta->thread_off_key_destructor); LOOKUP_VAL(ph, "_thread_state_running", &ta->thread_state_running); LOOKUP_VAL(ph, "_thread_state_zoombie", &ta->thread_state_zoombie); + LOOKUP_VAL(ph, "_thread_off_report_events", &ta->thread_off_report_events); + LOOKUP_VAL(ph, "_thread_off_event_mask", &ta->thread_off_event_mask); + LOOKUP_VAL(ph, "_thread_off_event_buf", &ta->thread_off_event_buf); dbg = getpid(); /* * If this fails it probably means we're debugging a core file and @@ -250,7 +260,8 @@ prgregset_t gregs; TAILQ_HEAD(, pthread) thread_list; psaddr_t pt; - int ret, isdead; + int ret; + long lwp; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Apr 12 23:35:52 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7475D16A4D0; Tue, 12 Apr 2005 23:35:52 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4D71616A4CE for ; Tue, 12 Apr 2005 23:35:52 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22DAB43D5A for ; Tue, 12 Apr 2005 23:35:52 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3CNZqr8080421 for ; Tue, 12 Apr 2005 23:35:52 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3CNZpmk080418 for perforce@freebsd.org; Tue, 12 Apr 2005 23:35:51 GMT (envelope-from jhb@freebsd.org) Date: Tue, 12 Apr 2005 23:35:51 GMT Message-Id: <200504122335.j3CNZpmk080418@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75023 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 23:35:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=75023 Change 75023 by jhb@jhb_slimer on 2005/04/12 23:34:59 Update. Affected files ... .. //depot/projects/smpng/sys/notes#36 edit Differences ... ==== //depot/projects/smpng/sys/notes#36 (text+ko) ==== @@ -94,6 +94,6 @@ - jhb_lock - rwlocks - jhb_needresched - scheduler fun - jhb_preemption - preemption -- jhb_proc - proc locking, ABI stuff +- jhb_proc - proc locking, ABI stuff, refcount API Space reserved for child branches: From owner-p4-projects@FreeBSD.ORG Wed Apr 13 01:42:35 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5918C16A4D0; Wed, 13 Apr 2005 01:42:34 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0FC9816A4CE for ; Wed, 13 Apr 2005 01:42:34 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 188E643D3F for ; Wed, 13 Apr 2005 01:42:33 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D1gXf0092768 for ; Wed, 13 Apr 2005 01:42:33 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D1gTrq092690 for perforce@freebsd.org; Wed, 13 Apr 2005 01:42:29 GMT (envelope-from marcel@freebsd.org) Date: Wed, 13 Apr 2005 01:42:29 GMT Message-Id: <200504130142.j3D1gTrq092690@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 75035 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 01:42:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=75035 Change 75035 by marcel@marcel_nfs on 2005/04/13 01:41:47 IFC @75033 Affected files ... .. //depot/projects/ia64/Makefile.inc1#102 integrate .. //depot/projects/ia64/bin/dd/dd.1#10 integrate .. //depot/projects/ia64/contrib/telnet/telnet/telnet.c#3 integrate .. //depot/projects/ia64/contrib/traceroute/traceroute.8#4 integrate .. //depot/projects/ia64/etc/defaults/rc.conf#61 integrate .. //depot/projects/ia64/etc/mtree/BSD.local.dist#25 integrate .. //depot/projects/ia64/etc/mtree/BSD.x11-4.dist#8 integrate .. //depot/projects/ia64/etc/netstart#6 integrate .. //depot/projects/ia64/etc/periodic/weekly/330.catman#3 integrate .. //depot/projects/ia64/etc/rc.d/dumpon#6 integrate .. //depot/projects/ia64/etc/rc.d/pf#5 integrate .. //depot/projects/ia64/etc/rc.d/random#8 integrate .. //depot/projects/ia64/etc/rc.d/ugidfw#3 integrate .. //depot/projects/ia64/etc/rc.initdiskless#1 branch .. //depot/projects/ia64/games/fortune/datfiles/fortunes#46 integrate .. //depot/projects/ia64/gnu/lib/libstdc++/config.h#9 integrate .. //depot/projects/ia64/gnu/usr.bin/Makefile#26 integrate .. //depot/projects/ia64/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#5 integrate .. //depot/projects/ia64/gnu/usr.bin/tar/Makefile#9 integrate .. //depot/projects/ia64/include/Makefile#46 integrate .. //depot/projects/ia64/include/pthread.h#11 integrate .. //depot/projects/ia64/include/time.h#14 integrate .. //depot/projects/ia64/include/unistd.h#27 integrate .. //depot/projects/ia64/lib/Makefile#52 integrate .. //depot/projects/ia64/lib/libalias/alias.c#12 integrate .. //depot/projects/ia64/lib/libarchive/Makefile#12 integrate .. //depot/projects/ia64/lib/libarchive/archive_private.h#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_read.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_extract.c#9 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_cpio.c#7 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_iso9660.c#5 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_tar.c#10 integrate .. //depot/projects/ia64/lib/libarchive/archive_read_support_format_zip.c#3 integrate .. //depot/projects/ia64/lib/libc/amd64/string/Makefile.inc#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/bcmp.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/bcopy.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/bzero.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/memcmp.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/memcpy.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/memmove.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/memset.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/strcat.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/strcmp.S#1 branch .. //depot/projects/ia64/lib/libc/amd64/string/strcpy.S#1 branch .. //depot/projects/ia64/lib/libc/gen/errlst.c#7 integrate .. //depot/projects/ia64/lib/libc/gen/fmtcheck.c#6 integrate .. //depot/projects/ia64/lib/libc/gen/fnmatch.c#4 integrate .. //depot/projects/ia64/lib/libc/gen/setmode.c#4 integrate .. //depot/projects/ia64/lib/libc/gen/syslog.c#12 integrate .. //depot/projects/ia64/lib/libc/gen/tls.c#5 integrate .. //depot/projects/ia64/lib/libc/i386/sys/_amd64_get_fsbase.c#2 integrate .. //depot/projects/ia64/lib/libc/i386/sys/_amd64_get_gsbase.c#2 integrate .. //depot/projects/ia64/lib/libc/net/Makefile.inc#10 integrate .. //depot/projects/ia64/lib/libc/net/gai_strerror.c#1 branch .. //depot/projects/ia64/lib/libc/net/getaddrinfo.c#21 integrate .. //depot/projects/ia64/lib/libc/net/getifmaddrs.c#2 integrate .. //depot/projects/ia64/lib/libc/net/name6.c#15 integrate .. //depot/projects/ia64/lib/libc/net/res_comp.c#3 integrate .. //depot/projects/ia64/lib/libc/net/res_mkupdate.c#4 integrate .. //depot/projects/ia64/lib/libc/stdio/vfscanf.c#16 integrate .. //depot/projects/ia64/lib/libc/string/strcspn.c#4 integrate .. //depot/projects/ia64/lib/libc/string/strspn.c#4 integrate .. //depot/projects/ia64/lib/libc/yp/yplib.c#8 integrate .. //depot/projects/ia64/lib/libdisk/change.c#6 integrate .. //depot/projects/ia64/lib/libpthread/arch/arm/include/atomic_ops.h#3 integrate .. //depot/projects/ia64/lib/libpthread/support/Makefile.inc#7 integrate .. //depot/projects/ia64/lib/libpthread/support/thr_support.c#4 integrate .. //depot/projects/ia64/lib/libthr/Makefile#8 integrate .. //depot/projects/ia64/lib/libthr/arch/alpha/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/arch/alpha/alpha/_curthread.c#3 delete .. //depot/projects/ia64/lib/libthr/arch/alpha/alpha/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/alpha/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/amd64/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/arch/amd64/amd64/_setcurthread.c#2 delete .. //depot/projects/ia64/lib/libthr/arch/amd64/amd64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/amd64/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/arm/Makefile.inc#1 branch .. //depot/projects/ia64/lib/libthr/arch/arm/arm/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/arm/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/i386/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/arch/i386/i386/_curthread.S#4 delete .. //depot/projects/ia64/lib/libthr/arch/i386/i386/_setcurthread.c#15 delete .. //depot/projects/ia64/lib/libthr/arch/i386/i386/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/i386/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/ia64/Makefile.inc#4 integrate .. //depot/projects/ia64/lib/libthr/arch/ia64/ia64/_curthread.c#6 delete .. //depot/projects/ia64/lib/libthr/arch/ia64/ia64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/ia64/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/powerpc/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/arch/powerpc/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/powerpc/powerpc/_curthread.c#2 delete .. //depot/projects/ia64/lib/libthr/arch/powerpc/powerpc/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/arch/sparc64/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/arch/sparc64/include/pthread_md.h#1 branch .. //depot/projects/ia64/lib/libthr/arch/sparc64/sparc64/_setcurthread.c#3 delete .. //depot/projects/ia64/lib/libthr/arch/sparc64/sparc64/pthread_md.c#1 branch .. //depot/projects/ia64/lib/libthr/pthread.map#1 branch .. //depot/projects/ia64/lib/libthr/sys/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/libthr/sys/thr_error.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/Makefile.inc#8 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_atfork.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_attr.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_barrier.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_barrierattr.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_cancel.c#9 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_clean.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_concurrency.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_cond.c#12 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_condattr.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_condattr_destroy.c#2 delete .. //depot/projects/ia64/lib/libthr/thread/thr_condattr_init.c#2 delete .. //depot/projects/ia64/lib/libthr/thread/thr_create.c#15 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_detach.c#8 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_event.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_exit.c#13 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_find_thread.c#4 delete .. //depot/projects/ia64/lib/libthr/thread/thr_fork.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_getschedparam.c#3 branch .. //depot/projects/ia64/lib/libthr/thread/thr_info.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_init.c#16 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_join.c#13 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_kern.c#13 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_kill.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_list.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_main_np.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_mattr_init.c#2 delete .. //depot/projects/ia64/lib/libthr/thread/thr_mattr_kind_np.c#3 delete .. //depot/projects/ia64/lib/libthr/thread/thr_mutex.c#21 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_mutex_prioceiling.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_mutex_protocol.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_mutexattr.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_mutexattr_destroy.c#2 delete .. //depot/projects/ia64/lib/libthr/thread/thr_once.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_printf.c#5 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_private.h#20 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_pspinlock.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_resume_np.c#6 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_rwlock.c#4 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_self.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_sem.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_seterrno.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_setschedparam.c#7 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_sig.c#9 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_sigmask.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_single_np.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_spec.c#2 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_spinlock.c#10 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_stack.c#6 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_subr.c#2 delete .. //depot/projects/ia64/lib/libthr/thread/thr_suspend_np.c#3 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_switch_np.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_symbols.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_syscalls.c#8 integrate .. //depot/projects/ia64/lib/libthr/thread/thr_umtx.c#1 branch .. //depot/projects/ia64/lib/libthr/thread/thr_umtx.h#1 branch .. //depot/projects/ia64/lib/libthread_db/libc_r_db.c#2 integrate .. //depot/projects/ia64/lib/libthread_db/libpthread_db.c#2 integrate .. //depot/projects/ia64/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/ia64/lib/libthread_db/thread_db.h#2 integrate .. //depot/projects/ia64/lib/libugidfw/Makefile#5 integrate .. //depot/projects/ia64/lib/libugidfw/ugidfw.c#8 integrate .. //depot/projects/ia64/lib/libutil/humanize_number.3#5 integrate .. //depot/projects/ia64/lib/msun/Makefile#15 integrate .. //depot/projects/ia64/lib/msun/amd64/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/msun/amd64/s_remquo.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_remquof.S#1 branch .. //depot/projects/ia64/lib/msun/i387/Makefile.inc#2 integrate .. //depot/projects/ia64/lib/msun/i387/s_remquo.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_remquof.S#1 branch .. //depot/projects/ia64/lib/msun/man/exp.3#5 integrate .. //depot/projects/ia64/lib/msun/man/lround.3#2 integrate .. //depot/projects/ia64/lib/msun/man/math.3#6 integrate .. //depot/projects/ia64/lib/msun/man/remainder.3#2 integrate .. //depot/projects/ia64/lib/msun/man/round.3#3 integrate .. //depot/projects/ia64/lib/msun/src/k_rem_pio2f.c#3 integrate .. //depot/projects/ia64/lib/msun/src/math.h#24 integrate .. //depot/projects/ia64/lib/msun/src/s_exp2.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_exp2f.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_llround.c#2 integrate .. //depot/projects/ia64/lib/msun/src/s_llroundf.c#2 integrate .. //depot/projects/ia64/lib/msun/src/s_llroundl.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_lround.c#2 integrate .. //depot/projects/ia64/lib/msun/src/s_lroundf.c#2 integrate .. //depot/projects/ia64/lib/msun/src/s_lroundl.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_remquo.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_remquof.c#1 branch .. //depot/projects/ia64/lib/msun/src/s_roundl.c#1 branch .. //depot/projects/ia64/libexec/getty/chat.c#5 integrate .. //depot/projects/ia64/libexec/getty/extern.h#3 integrate .. //depot/projects/ia64/libexec/getty/init.c#4 integrate .. //depot/projects/ia64/libexec/getty/main.c#10 integrate .. //depot/projects/ia64/libexec/rexecd/rexecd.c#8 integrate .. //depot/projects/ia64/libexec/rshd/rshd.c#7 integrate .. //depot/projects/ia64/libexec/rtld-elf/arm/rtld_machdep.h#5 integrate .. //depot/projects/ia64/libexec/rtld-elf/rtld.c#30 integrate .. //depot/projects/ia64/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/ia64/release/Makefile#90 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/artheader.sgml#5 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#89 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/install.sgml#16 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/layout.sgml#6 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/installation/common/trouble.sgml#13 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#148 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/hardware/common/dev.sgml#9 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#8 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/share/sgml/dev-auto-ru.sgml#2 integrate .. //depot/projects/ia64/release/doc/share/misc/dev.archlist.txt#10 integrate .. //depot/projects/ia64/release/doc/share/sgml/release.ent#19 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/errata/article.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/hardware/i386/proc-i386.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/installation/common/install.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/installation/common/layout.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#2 integrate .. //depot/projects/ia64/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#2 integrate .. //depot/projects/ia64/release/scripts/package-split.py#1 branch .. //depot/projects/ia64/release/scripts/package-trees.sh#1 branch .. //depot/projects/ia64/release/scripts/print-cdrom-packages.sh#39 delete .. //depot/projects/ia64/sbin/atacontrol/atacontrol.c#18 integrate .. //depot/projects/ia64/sbin/camcontrol/camcontrol.8#8 integrate .. //depot/projects/ia64/sbin/camcontrol/camcontrol.c#13 integrate .. //depot/projects/ia64/sbin/devfs/devfs.8#10 integrate .. //depot/projects/ia64/sbin/ffsinfo/ffsinfo.8#10 integrate .. //depot/projects/ia64/sbin/ffsinfo/ffsinfo.c#7 integrate .. //depot/projects/ia64/sbin/geom/class/Makefile.inc#3 integrate .. //depot/projects/ia64/sbin/geom/core/geom.c#7 integrate .. //depot/projects/ia64/sbin/growfs/Makefile#7 integrate .. //depot/projects/ia64/sbin/ifconfig/Makefile#8 integrate .. //depot/projects/ia64/sbin/ifconfig/ifconfig.c#25 integrate .. //depot/projects/ia64/sbin/ifconfig/ifconfig.h#8 integrate .. //depot/projects/ia64/sbin/ipfw/ipfw2.c#43 integrate .. //depot/projects/ia64/sbin/mount/mount.8#21 integrate .. //depot/projects/ia64/sbin/mount/mount.c#20 integrate .. //depot/projects/ia64/sbin/mount_ufs/mount_ufs.c#2 integrate .. //depot/projects/ia64/sbin/nfsiod/nfsiod.c#9 integrate .. //depot/projects/ia64/sbin/reboot/reboot.c#10 integrate .. //depot/projects/ia64/sbin/restore/Makefile#6 integrate .. //depot/projects/ia64/sbin/restore/dirs.c#9 integrate .. //depot/projects/ia64/sbin/restore/restore.h#8 integrate .. //depot/projects/ia64/sbin/restore/tape.c#13 integrate .. //depot/projects/ia64/sbin/sunlabel/sunlabel.8#3 integrate .. //depot/projects/ia64/sbin/sunlabel/sunlabel.c#11 integrate .. //depot/projects/ia64/share/examples/etc/make.conf#47 integrate .. //depot/projects/ia64/share/man/man4/Makefile#83 integrate .. //depot/projects/ia64/share/man/man4/arcmsr.4#1 branch .. //depot/projects/ia64/share/man/man4/ata.4#14 integrate .. //depot/projects/ia64/share/man/man4/atkbdc.4#2 integrate .. //depot/projects/ia64/share/man/man4/carp.4#2 integrate .. //depot/projects/ia64/share/man/man4/cdce.4#1 branch .. //depot/projects/ia64/share/man/man4/cpufreq.4#2 integrate .. //depot/projects/ia64/share/man/man4/geom.4#11 integrate .. //depot/projects/ia64/share/man/man4/inet.4#11 integrate .. //depot/projects/ia64/share/man/man4/ip.4#14 integrate .. //depot/projects/ia64/share/man/man4/mac_bsdextended.4#13 integrate .. //depot/projects/ia64/share/man/man4/ng_netflow.4#5 integrate .. //depot/projects/ia64/share/man/man4/ng_source.4#7 integrate .. //depot/projects/ia64/share/man/man4/polling.4#15 integrate .. //depot/projects/ia64/share/man/man4/sched_4bsd.4#1 branch .. //depot/projects/ia64/share/man/man4/sched_ule.4#1 branch .. //depot/projects/ia64/share/man/man4/snd_via8233.4#1 branch .. //depot/projects/ia64/share/man/man4/tap.4#7 integrate .. //depot/projects/ia64/share/man/man4/uftdi.4#5 integrate .. //depot/projects/ia64/share/man/man4/unix.4#4 integrate .. //depot/projects/ia64/share/man/man4/witness.4#5 integrate .. //depot/projects/ia64/share/man/man4/xl.4#10 integrate .. //depot/projects/ia64/share/man/man5/Makefile#19 integrate .. //depot/projects/ia64/share/man/man5/drivers.conf.5#8 delete .. //depot/projects/ia64/share/man/man5/rc.conf.5#62 integrate .. //depot/projects/ia64/share/man/man7/release.7#35 integrate .. //depot/projects/ia64/share/man/man9/Makefile#52 integrate .. //depot/projects/ia64/share/man/man9/devclass_get_drivers.9#1 branch .. //depot/projects/ia64/share/man/man9/devclass_get_maxunit.9#2 integrate .. //depot/projects/ia64/share/man/man9/make_dev.9#6 integrate .. //depot/projects/ia64/share/misc/bsd-family-tree#24 integrate .. //depot/projects/ia64/share/misc/pci_vendors#23 integrate .. //depot/projects/ia64/share/mk/bsd.files.mk#4 integrate .. //depot/projects/ia64/share/mk/bsd.incs.mk#3 integrate .. //depot/projects/ia64/share/mk/bsd.init.mk#4 integrate .. //depot/projects/ia64/share/mk/bsd.lib.mk#34 integrate .. //depot/projects/ia64/share/mk/bsd.nls.mk#6 integrate .. //depot/projects/ia64/share/mk/bsd.obj.mk#13 integrate .. //depot/projects/ia64/share/mk/bsd.own.mk#11 integrate .. //depot/projects/ia64/share/mk/bsd.prog.mk#24 integrate .. //depot/projects/ia64/sys/alpha/alpha/critical.c#5 delete .. //depot/projects/ia64/sys/alpha/alpha/interrupt.c#20 integrate .. //depot/projects/ia64/sys/alpha/alpha/machdep.c#50 integrate .. //depot/projects/ia64/sys/alpha/alpha/mp_machdep.c#21 integrate .. //depot/projects/ia64/sys/alpha/alpha/trap.c#35 integrate .. //depot/projects/ia64/sys/alpha/alpha/vm_machdep.c#35 integrate .. //depot/projects/ia64/sys/alpha/conf/GENERIC#36 integrate .. //depot/projects/ia64/sys/alpha/include/critical.h#7 delete .. //depot/projects/ia64/sys/alpha/include/proc.h#7 integrate .. //depot/projects/ia64/sys/alpha/osf1/imgact_osf1.c#15 integrate .. //depot/projects/ia64/sys/alpha/osf1/osf1_misc.c#27 integrate .. //depot/projects/ia64/sys/amd64/amd64/critical.c#7 delete .. //depot/projects/ia64/sys/amd64/amd64/db_disasm.c#4 integrate .. //depot/projects/ia64/sys/amd64/amd64/intr_machdep.c#7 integrate .. //depot/projects/ia64/sys/amd64/amd64/machdep.c#31 integrate .. //depot/projects/ia64/sys/amd64/amd64/mp_machdep.c#14 integrate .. //depot/projects/ia64/sys/amd64/amd64/support.S#11 integrate .. //depot/projects/ia64/sys/amd64/amd64/trap.c#18 integrate .. //depot/projects/ia64/sys/amd64/amd64/vm_machdep.c#23 integrate .. //depot/projects/ia64/sys/amd64/conf/GENERIC#25 integrate .. //depot/projects/ia64/sys/amd64/conf/NOTES#8 integrate .. //depot/projects/ia64/sys/amd64/ia32/ia32_syscall.c#8 integrate .. //depot/projects/ia64/sys/amd64/include/asm.h#7 integrate .. //depot/projects/ia64/sys/amd64/include/critical.h#8 delete .. //depot/projects/ia64/sys/amd64/include/floatingpoint.h#2 integrate .. //depot/projects/ia64/sys/amd64/include/ieeefp.h#6 integrate .. //depot/projects/ia64/sys/amd64/include/proc.h#5 integrate .. //depot/projects/ia64/sys/amd64/include/tss.h#4 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_machdep.c#5 integrate .. //depot/projects/ia64/sys/amd64/linux32/linux32_sysvec.c#5 integrate .. //depot/projects/ia64/sys/arm/arm/critical.c#3 delete .. //depot/projects/ia64/sys/arm/arm/machdep.c#8 integrate .. //depot/projects/ia64/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/ia64/sys/arm/arm/support.S#6 integrate .. //depot/projects/ia64/sys/arm/arm/trap.c#9 integrate .. //depot/projects/ia64/sys/arm/arm/undefined.c#7 integrate .. //depot/projects/ia64/sys/arm/arm/vm_machdep.c#7 integrate .. //depot/projects/ia64/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/ia64/sys/arm/include/atomic.h#5 integrate .. //depot/projects/ia64/sys/arm/include/critical.h#3 delete .. //depot/projects/ia64/sys/arm/include/pmap.h#8 integrate .. //depot/projects/ia64/sys/arm/include/proc.h#5 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/iq31244_machdep.c#6 integrate .. //depot/projects/ia64/sys/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/vidconsole.c#3 integrate .. //depot/projects/ia64/sys/boot/pc98/boot2/Makefile#15 integrate .. //depot/projects/ia64/sys/cam/cam_xpt.c#25 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_cd.c#28 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_ch.c#13 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_sa.c#21 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_target.c#18 integrate .. //depot/projects/ia64/sys/coda/coda_fbsd.c#14 integrate .. //depot/projects/ia64/sys/coda/coda_vfsops.c#19 integrate .. //depot/projects/ia64/sys/coda/coda_vnops.c#19 integrate .. //depot/projects/ia64/sys/compat/freebsd32/freebsd32_misc.c#14 integrate .. //depot/projects/ia64/sys/compat/ia32/ia32_signal.h#5 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#14 integrate .. //depot/projects/ia64/sys/compat/linux/linux_ioctl.c#32 integrate .. //depot/projects/ia64/sys/compat/linux/linux_misc.c#37 integrate .. //depot/projects/ia64/sys/compat/linux/linux_socket.c#18 integrate .. //depot/projects/ia64/sys/compat/ndis/hal_var.h#8 integrate .. //depot/projects/ia64/sys/compat/ndis/kern_ndis.c#11 integrate .. //depot/projects/ia64/sys/compat/ndis/kern_windrv.c#2 integrate .. //depot/projects/ia64/sys/compat/ndis/ndis_var.h#10 integrate .. //depot/projects/ia64/sys/compat/ndis/ntoskrnl_var.h#10 integrate .. //depot/projects/ia64/sys/compat/ndis/pe_var.h#9 integrate .. //depot/projects/ia64/sys/compat/ndis/subr_hal.c#10 integrate .. //depot/projects/ia64/sys/compat/ndis/subr_ndis.c#12 integrate .. //depot/projects/ia64/sys/compat/ndis/subr_ntoskrnl.c#11 integrate .. //depot/projects/ia64/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/ia64/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/ia64/sys/compat/svr4/imgact_svr4.c#13 integrate .. //depot/projects/ia64/sys/compat/svr4/svr4_stream.c#20 integrate .. //depot/projects/ia64/sys/conf/Makefile.alpha#15 integrate .. //depot/projects/ia64/sys/conf/Makefile.amd64#10 integrate .. //depot/projects/ia64/sys/conf/Makefile.arm#7 integrate .. //depot/projects/ia64/sys/conf/Makefile.i386#13 integrate .. //depot/projects/ia64/sys/conf/Makefile.ia64#22 integrate .. //depot/projects/ia64/sys/conf/Makefile.pc98#13 integrate .. //depot/projects/ia64/sys/conf/Makefile.powerpc#20 integrate .. //depot/projects/ia64/sys/conf/Makefile.sparc64#20 integrate .. //depot/projects/ia64/sys/conf/NOTES#89 integrate .. //depot/projects/ia64/sys/conf/files#128 integrate .. //depot/projects/ia64/sys/conf/files.alpha#31 integrate .. //depot/projects/ia64/sys/conf/files.amd64#26 integrate .. //depot/projects/ia64/sys/conf/files.arm#3 integrate .. //depot/projects/ia64/sys/conf/files.i386#64 integrate .. //depot/projects/ia64/sys/conf/files.ia64#58 integrate .. //depot/projects/ia64/sys/conf/files.pc98#53 integrate .. //depot/projects/ia64/sys/conf/files.powerpc#21 integrate .. //depot/projects/ia64/sys/conf/files.sparc64#43 integrate .. //depot/projects/ia64/sys/conf/kern.mk#14 integrate .. //depot/projects/ia64/sys/conf/kern.post.mk#50 integrate .. //depot/projects/ia64/sys/conf/kern.pre.mk#34 integrate .. //depot/projects/ia64/sys/conf/kmod.mk#44 integrate .. //depot/projects/ia64/sys/conf/majors#40 delete .. //depot/projects/ia64/sys/conf/majors.awk#2 delete .. //depot/projects/ia64/sys/conf/options#84 integrate .. //depot/projects/ia64/sys/dev/aac/aac.c#45 integrate .. //depot/projects/ia64/sys/dev/acpi_support/acpi_asus.c#3 integrate .. //depot/projects/ia64/sys/dev/acpi_support/acpi_fujitsu.c#2 integrate .. //depot/projects/ia64/sys/dev/acpi_support/acpi_toshiba.c#3 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi.c#60 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_cpu.c#22 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_if.m#5 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_perf.c#2 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/ia64/sys/dev/acpica/acpivar.h#34 integrate .. //depot/projects/ia64/sys/dev/aic7xxx/aic7xxx.c#22 integrate .. //depot/projects/ia64/sys/dev/amr/amr.c#28 integrate .. //depot/projects/ia64/sys/dev/an/if_an.c#33 integrate .. //depot/projects/ia64/sys/dev/arcmsr/arcmsr.c#1 branch .. //depot/projects/ia64/sys/dev/arcmsr/arcmsr.h#1 branch .. //depot/projects/ia64/sys/dev/asr/asr.c#27 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#59 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.h#27 integrate .. //depot/projects/ia64/sys/dev/ata/ata-card.c#24 integrate .. //depot/projects/ia64/sys/dev/ata/ata-cbus.c#14 integrate .. //depot/projects/ia64/sys/dev/ata/ata-chipset.c#41 integrate .. //depot/projects/ia64/sys/dev/ata/ata-commands.h#3 integrate .. //depot/projects/ia64/sys/dev/ata/ata-disk.c#39 integrate .. //depot/projects/ia64/sys/dev/ata/ata-disk.h#12 integrate .. //depot/projects/ia64/sys/dev/ata/ata-dma.c#38 integrate .. //depot/projects/ia64/sys/dev/ata/ata-isa.c#19 integrate .. //depot/projects/ia64/sys/dev/ata/ata-lowlevel.c#28 integrate .. //depot/projects/ia64/sys/dev/ata/ata-pci.c#45 integrate .. //depot/projects/ia64/sys/dev/ata/ata-pci.h#27 integrate .. //depot/projects/ia64/sys/dev/ata/ata-queue.c#19 integrate .. //depot/projects/ia64/sys/dev/ata/ata-raid.c#31 integrate .. //depot/projects/ia64/sys/dev/ata/ata-raid.h#16 integrate .. //depot/projects/ia64/sys/dev/ata/ata_if.m#1 branch .. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#25 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cd.c#44 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cd.h#15 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-fd.c#23 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-fd.h#10 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-tape.c#23 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-tape.h#8 integrate .. //depot/projects/ia64/sys/dev/ath/ath_rate/amrr/amrr.c#4 integrate .. //depot/projects/ia64/sys/dev/ath/ath_rate/onoe/onoe.c#4 integrate .. //depot/projects/ia64/sys/dev/ath/ath_rate/sample/sample.c#2 integrate .. //depot/projects/ia64/sys/dev/ath/if_ath.c#23 integrate .. //depot/projects/ia64/sys/dev/ath/if_athioctl.h#9 integrate .. //depot/projects/ia64/sys/dev/ath/if_athrate.h#3 integrate .. //depot/projects/ia64/sys/dev/ath/if_athvar.h#13 integrate .. //depot/projects/ia64/sys/dev/ciss/ciss.c#37 integrate .. //depot/projects/ia64/sys/dev/drm/drm_bufs.h#9 integrate .. //depot/projects/ia64/sys/dev/em/if_em.c#44 integrate .. //depot/projects/ia64/sys/dev/fb/vga.c#19 integrate .. //depot/projects/ia64/sys/dev/firewire/fwdev.c#27 integrate .. //depot/projects/ia64/sys/dev/firewire/fwohci.c#43 integrate .. //depot/projects/ia64/sys/dev/hme/if_hme_sbus.c#13 integrate .. //depot/projects/ia64/sys/dev/hptmv/entry.c#5 integrate .. //depot/projects/ia64/sys/dev/hptmv/hptproc.c#2 integrate .. //depot/projects/ia64/sys/dev/ieee488/upd7210.c#2 integrate .. //depot/projects/ia64/sys/dev/if_ndis/if_ndis.c#14 integrate .. //depot/projects/ia64/sys/dev/if_ndis/if_ndis_pci.c#7 integrate .. //depot/projects/ia64/sys/dev/ixgb/if_ixgb.c#5 integrate .. //depot/projects/ia64/sys/dev/ixgb/if_ixgb.h#3 integrate .. //depot/projects/ia64/sys/dev/ixgb/if_ixgb_osdep.h#3 integrate .. //depot/projects/ia64/sys/dev/kbd/atkbdc.c#9 integrate .. //depot/projects/ia64/sys/dev/mlx/mlx.c#16 integrate .. //depot/projects/ia64/sys/dev/mlx/mlx_pci.c#10 integrate .. //depot/projects/ia64/sys/dev/mse/mse.c#4 integrate .. //depot/projects/ia64/sys/dev/mse/mse_cbus.c#4 integrate .. //depot/projects/ia64/sys/dev/mse/mse_isa.c#4 integrate .. //depot/projects/ia64/sys/dev/mse/msevar.h#4 integrate .. //depot/projects/ia64/sys/dev/nge/if_nge.c#34 integrate .. //depot/projects/ia64/sys/dev/nmdm/nmdm.c#20 integrate .. //depot/projects/ia64/sys/dev/nve/if_nve.c#2 integrate .. //depot/projects/ia64/sys/dev/nve/if_nvereg.h#2 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard.c#32 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard_cis.c#16 integrate .. //depot/projects/ia64/sys/dev/pccard/pccard_cis_quirks.c#8 integrate .. //depot/projects/ia64/sys/dev/pccard/pccardvar.h#17 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#48 integrate .. //depot/projects/ia64/sys/dev/pci/pci_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/pci/pcireg.h#10 integrate .. //depot/projects/ia64/sys/dev/pdq/pdq_ifsubr.c#10 integrate .. //depot/projects/ia64/sys/dev/ppc/ppc.c#5 integrate .. //depot/projects/ia64/sys/dev/random/randomdev_soft.c#7 integrate .. //depot/projects/ia64/sys/dev/rp/rp_pci.c#9 integrate .. //depot/projects/ia64/sys/dev/sio/sio_pci.c#25 integrate .. //depot/projects/ia64/sys/dev/snp/snp.c#25 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/ac97.c#28 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/dsp.c#19 integrate .. //depot/projects/ia64/sys/dev/sound/pcm/mixer.c#15 integrate .. //depot/projects/ia64/sys/dev/sym/sym_hipd.c#22 integrate .. //depot/projects/ia64/sys/dev/syscons/apm/apm_saver.c#5 integrate .. //depot/projects/ia64/sys/dev/twa/tw_cl.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_externs.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_fwif.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_fwimg.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_init.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_intr.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_io.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_ioctl.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_misc.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_cl_share.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_cam.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_externs.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_freebsd.c#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_includes.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_ioctl.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_share.h#1 branch .. //depot/projects/ia64/sys/dev/twa/tw_osl_types.h#1 branch .. //depot/projects/ia64/sys/dev/twa/twa.c#3 delete .. //depot/projects/ia64/sys/dev/twa/twa.h#6 delete .. //depot/projects/ia64/sys/dev/twa/twa_cam.c#5 delete .. //depot/projects/ia64/sys/dev/twa/twa_externs.h#3 delete .. //depot/projects/ia64/sys/dev/twa/twa_freebsd.c#6 delete .. //depot/projects/ia64/sys/dev/twa/twa_fwimg.c#3 delete .. //depot/projects/ia64/sys/dev/twa/twa_globals.c#4 delete .. //depot/projects/ia64/sys/dev/twa/twa_includes.h#3 delete .. //depot/projects/ia64/sys/dev/twa/twa_ioctl.h#3 delete .. //depot/projects/ia64/sys/dev/twa/twa_reg.h#4 delete .. //depot/projects/ia64/sys/dev/usb/ehci_pci.c#15 integrate .. //depot/projects/ia64/sys/dev/usb/if_aue.c#32 integrate .. //depot/projects/ia64/sys/dev/usb/if_auereg.h#11 integrate .. //depot/projects/ia64/sys/dev/usb/if_axe.c#16 integrate .. //depot/projects/ia64/sys/dev/usb/if_axereg.h#6 integrate .. //depot/projects/ia64/sys/dev/usb/if_cdce.c#1 branch .. //depot/projects/ia64/sys/dev/usb/if_cdcereg.h#1 branch .. //depot/projects/ia64/sys/dev/usb/if_cue.c#24 integrate .. //depot/projects/ia64/sys/dev/usb/if_cuereg.h#8 integrate .. //depot/projects/ia64/sys/dev/usb/if_kue.c#22 integrate .. //depot/projects/ia64/sys/dev/usb/if_kuereg.h#9 integrate .. //depot/projects/ia64/sys/dev/usb/if_rue.c#11 integrate .. //depot/projects/ia64/sys/dev/usb/if_ruereg.h#4 integrate .. //depot/projects/ia64/sys/dev/usb/if_udav.c#6 integrate .. //depot/projects/ia64/sys/dev/usb/if_udavreg.h#4 integrate .. //depot/projects/ia64/sys/dev/usb/ucom.c#22 integrate .. //depot/projects/ia64/sys/dev/usb/uftdi.c#16 integrate .. //depot/projects/ia64/sys/dev/usb/uhub.c#14 integrate .. //depot/projects/ia64/sys/dev/usb/ukbd.c#16 integrate .. //depot/projects/ia64/sys/dev/usb/umass.c#44 integrate .. //depot/projects/ia64/sys/dev/usb/uplcom.c#20 integrate .. //depot/projects/ia64/sys/dev/usb/usb.c#25 integrate .. //depot/projects/ia64/sys/dev/usb/usb_ethersubr.c#10 integrate .. //depot/projects/ia64/sys/dev/usb/usb_ethersubr.h#5 integrate .. //depot/projects/ia64/sys/dev/usb/usbdevs#67 integrate .. //depot/projects/ia64/sys/dev/usb/usbdi.h#13 integrate .. //depot/projects/ia64/sys/dev/vkbd/vkbd.c#5 integrate .. //depot/projects/ia64/sys/dev/wi/if_wi.c#59 integrate .. //depot/projects/ia64/sys/dev/wi/if_wi_pccard.c#40 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_devs.c#16 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_vfsops.c#19 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_vnops.c#39 integrate .. //depot/projects/ia64/sys/fs/fdescfs/fdesc_vfsops.c#18 integrate .. //depot/projects/ia64/sys/fs/hpfs/hpfs_vfsops.c#22 integrate .. //depot/projects/ia64/sys/fs/hpfs/hpfs_vnops.c#30 integrate .. //depot/projects/ia64/sys/fs/msdosfs/denode.h#10 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_denode.c#22 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_lookup.c#8 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_vfsops.c#36 integrate .. //depot/projects/ia64/sys/fs/ntfs/ntfs_vfsops.c#23 integrate .. //depot/projects/ia64/sys/fs/ntfs/ntfs_vnops.c#23 integrate .. //depot/projects/ia64/sys/fs/nullfs/null_subr.c#13 integrate .. //depot/projects/ia64/sys/fs/nullfs/null_vfsops.c#17 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_vfsops.c#17 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_vnops.c#14 integrate .. //depot/projects/ia64/sys/fs/portalfs/portal_vfsops.c#18 integrate .. //depot/projects/ia64/sys/fs/portalfs/portal_vnops.c#19 integrate .. //depot/projects/ia64/sys/fs/pseudofs/pseudofs.c#15 integrate .. //depot/projects/ia64/sys/fs/pseudofs/pseudofs.h#16 integrate .. //depot/projects/ia64/sys/fs/pseudofs/pseudofs_vnops.c#28 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_vfsops.c#27 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_vnops.c#29 integrate .. //depot/projects/ia64/sys/fs/udf/udf_vfsops.c#21 integrate .. //depot/projects/ia64/sys/fs/udf/udf_vnops.c#31 integrate .. //depot/projects/ia64/sys/fs/umapfs/umap_vfsops.c#18 integrate .. //depot/projects/ia64/sys/fs/unionfs/union_vfsops.c#21 integrate .. //depot/projects/ia64/sys/fs/unionfs/union_vnops.c#24 integrate .. //depot/projects/ia64/sys/gdb/gdb_main.c#4 integrate .. //depot/projects/ia64/sys/geom/concat/g_concat.c#9 integrate .. //depot/projects/ia64/sys/geom/geom_ctl.c#20 integrate .. //depot/projects/ia64/sys/geom/geom_pc98.c#33 integrate .. //depot/projects/ia64/sys/geom/geom_subr.c#44 integrate .. //depot/projects/ia64/sys/geom/geom_sunlabel.c#28 integrate .. //depot/projects/ia64/sys/geom/geom_sunlabel_enc.c#5 integrate .. //depot/projects/ia64/sys/geom/mirror/g_mirror.c#11 integrate .. //depot/projects/ia64/sys/geom/mirror/g_mirror_ctl.c#5 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3.c#11 integrate .. //depot/projects/ia64/sys/geom/raid3/g_raid3_ctl.c#6 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_lookup.c#17 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_vfsops.c#34 integrate .. //depot/projects/ia64/sys/i386/bios/apm.c#11 integrate .. //depot/projects/ia64/sys/i386/conf/GENERIC#56 integrate .. //depot/projects/ia64/sys/i386/conf/NOTES#63 integrate .. //depot/projects/ia64/sys/i386/conf/PAE#12 integrate .. //depot/projects/ia64/sys/i386/cpufreq/est.c#2 integrate .. //depot/projects/ia64/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/ia64/sys/i386/cpufreq/powernow.c#1 branch .. //depot/projects/ia64/sys/i386/i386/bios.c#22 integrate .. //depot/projects/ia64/sys/i386/i386/critical.c#12 delete .. //depot/projects/ia64/sys/i386/i386/intr_machdep.c#7 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#61 integrate .. //depot/projects/ia64/sys/i386/i386/mp_machdep.c#43 integrate .. //depot/projects/ia64/sys/i386/i386/sys_machdep.c#28 integrate .. //depot/projects/ia64/sys/i386/i386/trap.c#45 integrate .. //depot/projects/ia64/sys/i386/i386/vm_machdep.c#46 integrate .. //depot/projects/ia64/sys/i386/ibcs2/ibcs2_misc.c#19 integrate .. //depot/projects/ia64/sys/i386/ibcs2/imgact_coff.c#19 integrate .. //depot/projects/ia64/sys/i386/include/apm_bios.h#4 integrate .. //depot/projects/ia64/sys/i386/include/bus.h#3 integrate .. //depot/projects/ia64/sys/i386/include/bus_at386.h#11 delete .. //depot/projects/ia64/sys/i386/include/bus_pc98.h#9 delete .. //depot/projects/ia64/sys/i386/include/critical.h#9 delete .. //depot/projects/ia64/sys/i386/include/floatingpoint.h#4 integrate .. //depot/projects/ia64/sys/i386/include/legacyvar.h#4 integrate .. //depot/projects/ia64/sys/i386/include/md_var.h#21 integrate .. //depot/projects/ia64/sys/i386/include/pci_cfgreg.h#8 integrate .. //depot/projects/ia64/sys/i386/include/proc.h#12 integrate .. //depot/projects/ia64/sys/i386/isa/clock.c#29 integrate .. //depot/projects/ia64/sys/i386/linux/imgact_linux.c#16 integrate .. //depot/projects/ia64/sys/i386/pci/pci_bus.c#26 integrate .. //depot/projects/ia64/sys/i4b/layer1/isic/i4b_isic.h#3 integrate .. //depot/projects/ia64/sys/ia64/conf/GENERIC#44 integrate .. //depot/projects/ia64/sys/ia64/ia32/ia32_trap.c#4 integrate .. //depot/projects/ia64/sys/ia64/ia64/critical.c#4 delete .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#39 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#39 integrate .. //depot/projects/ia64/sys/ia64/ia64/trap.c#78 integrate .. //depot/projects/ia64/sys/ia64/ia64/vm_machdep.c#46 integrate .. //depot/projects/ia64/sys/ia64/include/critical.h#7 delete .. //depot/projects/ia64/sys/ia64/include/proc.h#8 integrate .. //depot/projects/ia64/sys/isofs/cd9660/cd9660_lookup.c#11 integrate .. //depot/projects/ia64/sys/isofs/cd9660/cd9660_vfsops.c#31 integrate .. //depot/projects/ia64/sys/kern/imgact_elf.c#42 integrate .. //depot/projects/ia64/sys/kern/imgact_gzip.c#12 integrate .. //depot/projects/ia64/sys/kern/kern_conf.c#36 integrate .. //depot/projects/ia64/sys/kern/kern_cpu.c#2 integrate .. //depot/projects/ia64/sys/kern/kern_fork.c#59 integrate .. //depot/projects/ia64/sys/kern/kern_idle.c#18 integrate .. //depot/projects/ia64/sys/kern/kern_intr.c#36 integrate .. //depot/projects/ia64/sys/kern/kern_jail.c#25 integrate .. //depot/projects/ia64/sys/kern/kern_linker.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_lock.c#28 integrate .. //depot/projects/ia64/sys/kern/kern_lockf.c#17 integrate .. //depot/projects/ia64/sys/kern/kern_malloc.c#34 integrate .. //depot/projects/ia64/sys/kern/kern_mutex.c#38 integrate .. //depot/projects/ia64/sys/kern/kern_ntptime.c#14 integrate .. //depot/projects/ia64/sys/kern/kern_proc.c#61 integrate .. //depot/projects/ia64/sys/kern/kern_shutdown.c#29 integrate .. //depot/projects/ia64/sys/kern/kern_sig.c#82 integrate .. //depot/projects/ia64/sys/kern/kern_switch.c#42 integrate .. //depot/projects/ia64/sys/kern/kern_synch.c#59 integrate .. //depot/projects/ia64/sys/kern/kern_tc.c#36 integrate .. //depot/projects/ia64/sys/kern/kern_thread.c#88 integrate .. //depot/projects/ia64/sys/kern/kern_time.c#28 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#28 integrate .. //depot/projects/ia64/sys/kern/sched_ule.c#42 integrate .. //depot/projects/ia64/sys/kern/subr_bus.c#39 integrate .. //depot/projects/ia64/sys/kern/subr_hints.c#8 integrate .. //depot/projects/ia64/sys/kern/subr_prf.c#34 integrate .. //depot/projects/ia64/sys/kern/subr_rman.c#17 integrate .. //depot/projects/ia64/sys/kern/subr_trap.c#47 integrate .. //depot/projects/ia64/sys/kern/subr_witness.c#52 integrate .. //depot/projects/ia64/sys/kern/sys_generic.c#38 integrate .. //depot/projects/ia64/sys/kern/tty.c#43 integrate .. //depot/projects/ia64/sys/kern/tty_pty.c#27 integrate .. //depot/projects/ia64/sys/kern/tty_tty.c#14 integrate .. //depot/projects/ia64/sys/kern/uipc_syscalls.c#54 integrate .. //depot/projects/ia64/sys/kern/uipc_usrreq.c#39 integrate .. //depot/projects/ia64/sys/kern/vfs_bio.c#77 integrate .. //depot/projects/ia64/sys/kern/vfs_cache.c#21 integrate .. //depot/projects/ia64/sys/kern/vfs_default.c#38 integrate .. //depot/projects/ia64/sys/kern/vfs_export.c#17 integrate .. //depot/projects/ia64/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/ia64/sys/kern/vfs_lookup.c#19 integrate .. //depot/projects/ia64/sys/kern/vfs_mount.c#41 integrate .. //depot/projects/ia64/sys/kern/vfs_subr.c#77 integrate .. //depot/projects/ia64/sys/kern/vfs_syscalls.c#65 integrate .. //depot/projects/ia64/sys/kern/vfs_vnops.c#48 integrate .. //depot/projects/ia64/sys/kern/vnode_if.src#22 integrate .. //depot/projects/ia64/sys/libkern/strspn.c#2 integrate .. //depot/projects/ia64/sys/modules/Makefile#83 integrate .. //depot/projects/ia64/sys/modules/arcmsr/Makefile#1 branch .. //depot/projects/ia64/sys/modules/asr/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/ata/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/Makefile.inc#1 branch .. //depot/projects/ia64/sys/modules/ata/ata/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atacam/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atacard/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atacbus/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atadisk/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/ataisa/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atapci/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atapicam/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atapicd/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atapifd/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/atapist/Makefile#1 branch .. //depot/projects/ia64/sys/modules/ata/ataraid/Makefile#1 branch .. //depot/projects/ia64/sys/modules/cdce/Makefile#1 branch .. //depot/projects/ia64/sys/modules/cpufreq/Makefile#2 integrate .. //depot/projects/ia64/sys/modules/hpfs/Makefile#3 integrate .. //depot/projects/ia64/sys/modules/ndis/Makefile#5 integrate .. //depot/projects/ia64/sys/modules/twa/Makefile#2 integrate .. //depot/projects/ia64/sys/net/bpf.c#37 integrate .. //depot/projects/ia64/sys/net/if_fddisubr.c#18 integrate .. //depot/projects/ia64/sys/net/if_fwsubr.c#5 integrate .. //depot/projects/ia64/sys/net/if_tap.c#28 integrate .. //depot/projects/ia64/sys/net/if_tun.c#29 integrate .. //depot/projects/ia64/sys/net/rtsock.c#31 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_crypto.c#6 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_crypto.h#5 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_freebsd.c#4 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_freebsd.h#3 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_input.c#15 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_ioctl.c#15 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_node.h#12 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_output.c#14 integrate .. //depot/projects/ia64/sys/net80211/ieee80211_proto.h#8 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/common/ng_bluetooth.c#6 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#10 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket.c#11 integrate .. //depot/projects/ia64/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#11 integrate .. //depot/projects/ia64/sys/netgraph/netflow/netflow.c#6 integrate .. //depot/projects/ia64/sys/netgraph/netflow/ng_netflow.c#4 integrate .. //depot/projects/ia64/sys/netgraph/netflow/ng_netflow.h#3 integrate .. //depot/projects/ia64/sys/netgraph/ng_iface.c#18 integrate .. //depot/projects/ia64/sys/netgraph/ng_source.c#14 integrate .. //depot/projects/ia64/sys/netgraph/ng_source.h#6 integrate .. //depot/projects/ia64/sys/netinet/igmp.c#14 integrate .. //depot/projects/ia64/sys/netinet/in_pcb.c#39 integrate .. //depot/projects/ia64/sys/netinet/ip_carp.c#2 integrate .. //depot/projects/ia64/sys/netinet/ip_dummynet.c#35 integrate .. //depot/projects/ia64/sys/netinet/ip_fastfwd.c#12 integrate .. //depot/projects/ia64/sys/netinet/ip_fw_pfil.c#9 integrate .. //depot/projects/ia64/sys/netinet/ip_input.c#53 integrate .. //depot/projects/ia64/sys/netinet/raw_ip.c#39 integrate .. //depot/projects/ia64/sys/netinet/tcp_input.c#59 integrate .. //depot/projects/ia64/sys/netinet/tcp_sack.c#6 integrate .. //depot/projects/ia64/sys/netinet/tcp_seq.h#9 integrate .. //depot/projects/ia64/sys/netinet/tcp_subr.c#50 integrate .. //depot/projects/ia64/sys/netinet/tcp_usrreq.c#24 integrate .. //depot/projects/ia64/sys/netinet/udp_usrreq.c#36 integrate .. //depot/projects/ia64/sys/netinet6/raw_ip6.c#21 integrate .. //depot/projects/ia64/sys/netipx/README#5 integrate .. //depot/projects/ia64/sys/netipx/ipx_input.c#13 integrate .. //depot/projects/ia64/sys/netsmb/smb_dev.c#19 integrate .. //depot/projects/ia64/sys/nfs4client/nfs4_vfsops.c#13 integrate .. //depot/projects/ia64/sys/nfs4client/nfs4_vnops.c#14 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_node.c#19 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_socket.c#26 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vfsops.c#36 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#43 integrate .. //depot/projects/ia64/sys/nfsserver/nfs_srvsubs.c#19 integrate .. //depot/projects/ia64/sys/nfsserver/nfs_syscalls.c#23 integrate .. //depot/projects/ia64/sys/pc98/conf/GENERIC#48 integrate .. //depot/projects/ia64/sys/pc98/conf/NOTES#25 integrate .. //depot/projects/ia64/sys/pc98/i386/machdep.c#50 integrate .. //depot/projects/ia64/sys/pc98/include/_inttypes.h#1 branch .. //depot/projects/ia64/sys/pc98/include/_limits.h#1 branch .. //depot/projects/ia64/sys/pc98/include/_stdint.h#1 branch .. //depot/projects/ia64/sys/pc98/include/_types.h#1 branch .. //depot/projects/ia64/sys/pc98/include/apicreg.h#1 branch .. //depot/projects/ia64/sys/pc98/include/apicvar.h#1 branch .. //depot/projects/ia64/sys/pc98/include/apm_bios.h#1 branch .. //depot/projects/ia64/sys/pc98/include/apm_segments.h#1 branch .. //depot/projects/ia64/sys/pc98/include/asm.h#1 branch .. //depot/projects/ia64/sys/pc98/include/asmacros.h#1 branch .. //depot/projects/ia64/sys/pc98/include/atomic.h#1 branch .. //depot/projects/ia64/sys/pc98/include/bootinfo.h#1 branch .. //depot/projects/ia64/sys/pc98/include/bus.h#1 branch .. //depot/projects/ia64/sys/pc98/include/bus_dma.h#1 branch .. //depot/projects/ia64/sys/pc98/include/bus_memio.h#1 branch .. //depot/projects/ia64/sys/pc98/include/bus_pio.h#1 branch .. //depot/projects/ia64/sys/pc98/include/clock.h#1 branch .. //depot/projects/ia64/sys/pc98/include/cpu.h#1 branch .. //depot/projects/ia64/sys/pc98/include/cpufunc.h#1 branch .. //depot/projects/ia64/sys/pc98/include/cputypes.h#1 branch .. //depot/projects/ia64/sys/pc98/include/cserial.h#1 branch .. //depot/projects/ia64/sys/pc98/include/db_machdep.h#1 branch .. //depot/projects/ia64/sys/pc98/include/elf.h#1 branch .. //depot/projects/ia64/sys/pc98/include/endian.h#1 branch .. //depot/projects/ia64/sys/pc98/include/exec.h#1 branch .. //depot/projects/ia64/sys/pc98/include/float.h#1 branch .. //depot/projects/ia64/sys/pc98/include/floatingpoint.h#1 branch .. //depot/projects/ia64/sys/pc98/include/frame.h#1 branch .. //depot/projects/ia64/sys/pc98/include/gdb_machdep.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_cause.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_debug.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_ioctl.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_rbch_ioctl.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_tel_ioctl.h#1 branch .. //depot/projects/ia64/sys/pc98/include/i4b_trace.h#1 branch .. //depot/projects/ia64/sys/pc98/include/ieeefp.h#1 branch .. //depot/projects/ia64/sys/pc98/include/in_cksum.h#1 branch .. //depot/projects/ia64/sys/pc98/include/intr_machdep.h#1 branch .. //depot/projects/ia64/sys/pc98/include/ioctl_bt848.h#1 branch .. //depot/projects/ia64/sys/pc98/include/ioctl_meteor.h#1 branch .. //depot/projects/ia64/sys/pc98/include/iodev.h#1 branch .. //depot/projects/ia64/sys/pc98/include/kdb.h#1 branch .. //depot/projects/ia64/sys/pc98/include/legacyvar.h#1 branch .. //depot/projects/ia64/sys/pc98/include/limits.h#1 branch .. //depot/projects/ia64/sys/pc98/include/md_var.h#1 branch .. //depot/projects/ia64/sys/pc98/include/memdev.h#1 branch .. //depot/projects/ia64/sys/pc98/include/metadata.h#1 branch .. //depot/projects/ia64/sys/pc98/include/mp_watchdog.h#1 branch .. //depot/projects/ia64/sys/pc98/include/mptable.h#1 branch .. //depot/projects/ia64/sys/pc98/include/mutex.h#1 branch .. //depot/projects/ia64/sys/pc98/include/npx.h#1 branch .. //depot/projects/ia64/sys/pc98/include/param.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pc/bios.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pc/display.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pc/vesa.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pcaudioio.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pcb.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pcb_ext.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pci_cfgreg.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pcpu.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pcvt_ioctl.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pecoff_machdep.h#1 branch .. //depot/projects/ia64/sys/pc98/include/perfmon.h#1 branch .. //depot/projects/ia64/sys/pc98/include/pmap.h#1 branch .. //depot/projects/ia64/sys/pc98/include/privatespace.h#1 branch .. //depot/projects/ia64/sys/pc98/include/proc.h#1 branch .. //depot/projects/ia64/sys/pc98/include/profile.h#1 branch .. //depot/projects/ia64/sys/pc98/include/psl.h#1 branch .. //depot/projects/ia64/sys/pc98/include/ptrace.h#1 branch .. //depot/projects/ia64/sys/pc98/include/reg.h#1 branch .. //depot/projects/ia64/sys/pc98/include/reloc.h#1 branch .. //depot/projects/ia64/sys/pc98/include/resource.h#1 branch .. //depot/projects/ia64/sys/pc98/include/runq.h#1 branch .. //depot/projects/ia64/sys/pc98/include/segments.h#1 branch .. //depot/projects/ia64/sys/pc98/include/setjmp.h#1 branch .. //depot/projects/ia64/sys/pc98/include/sf_buf.h#1 branch .. //depot/projects/ia64/sys/pc98/include/sigframe.h#1 branch .. //depot/projects/ia64/sys/pc98/include/signal.h#1 branch .. //depot/projects/ia64/sys/pc98/include/smapi.h#1 branch .. //depot/projects/ia64/sys/pc98/include/smp.h#1 branch .. //depot/projects/ia64/sys/pc98/include/smptests.h#1 branch .. //depot/projects/ia64/sys/pc98/include/speaker.h#1 branch .. //depot/projects/ia64/sys/pc98/include/specialreg.h#1 branch .. //depot/projects/ia64/sys/pc98/include/stdarg.h#1 branch .. //depot/projects/ia64/sys/pc98/include/sysarch.h#1 branch .. //depot/projects/ia64/sys/pc98/include/trap.h#1 branch .. //depot/projects/ia64/sys/pc98/include/tss.h#1 branch .. //depot/projects/ia64/sys/pc98/include/ucontext.h#1 branch .. //depot/projects/ia64/sys/pc98/include/varargs.h#1 branch .. //depot/projects/ia64/sys/pc98/include/vm86.h#1 branch .. //depot/projects/ia64/sys/pc98/include/vmparam.h#1 branch .. //depot/projects/ia64/sys/pc98/linux/linux.h#1 branch .. //depot/projects/ia64/sys/pc98/linux/linux_ipc64.h#1 branch .. //depot/projects/ia64/sys/pc98/linux/linux_proto.h#1 branch .. //depot/projects/ia64/sys/pc98/pc98/clock.c#27 integrate .. //depot/projects/ia64/sys/pc98/pc98/pc98_machdep.c#3 integrate .. //depot/projects/ia64/sys/pci/agp_amd64.c#5 integrate .. //depot/projects/ia64/sys/pci/agp_nvidia.c#5 integrate .. //depot/projects/ia64/sys/pci/if_sis.c#41 integrate .. //depot/projects/ia64/sys/pci/if_sk.c#33 integrate .. //depot/projects/ia64/sys/pci/if_ti.c#37 integrate .. //depot/projects/ia64/sys/pci/if_tireg.h#7 integrate .. //depot/projects/ia64/sys/pci/if_xl.c#54 integrate .. //depot/projects/ia64/sys/pci/if_xlreg.h#16 integrate .. //depot/projects/ia64/sys/posix4/p1003_1b.c#8 integrate .. //depot/projects/ia64/sys/powerpc/conf/GENERIC#28 integrate .. //depot/projects/ia64/sys/powerpc/include/critical.h#8 delete .. //depot/projects/ia64/sys/powerpc/include/proc.h#5 integrate .. //depot/projects/ia64/sys/powerpc/powermac/ata_kauai.c#7 integrate .. //depot/projects/ia64/sys/powerpc/powermac/ata_macio.c#13 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/critical.c#5 delete .. //depot/projects/ia64/sys/powerpc/powerpc/machdep.c#43 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/trap.c#32 integrate .. //depot/projects/ia64/sys/powerpc/powerpc/vm_machdep.c#34 integrate .. //depot/projects/ia64/sys/powerpc/psim/ata_iobus.c#9 integrate .. //depot/projects/ia64/sys/sparc64/conf/GENERIC#51 integrate .. //depot/projects/ia64/sys/sparc64/include/critical.h#7 delete .. //depot/projects/ia64/sys/sparc64/include/proc.h#9 integrate .. //depot/projects/ia64/sys/sparc64/pci/ofw_pcibus.c#5 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/critical.c#5 delete .. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#58 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mp_machdep.c#23 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/trap.c#36 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/vm_machdep.c#41 integrate .. //depot/projects/ia64/sys/sys/_types.h#13 integrate .. //depot/projects/ia64/sys/sys/ata.h#14 integrate .. //depot/projects/ia64/sys/sys/bus.h#22 integrate .. //depot/projects/ia64/sys/sys/conf.h#40 integrate .. //depot/projects/ia64/sys/sys/disklabel.h#29 integrate .. //depot/projects/ia64/sys/sys/errno.h#10 integrate .. //depot/projects/ia64/sys/sys/event.h#10 integrate .. //depot/projects/ia64/sys/sys/exec.h#7 integrate .. //depot/projects/ia64/sys/sys/lock.h#11 integrate .. //depot/projects/ia64/sys/sys/lockmgr.h#15 integrate .. //depot/projects/ia64/sys/sys/mman.h#9 integrate .. //depot/projects/ia64/sys/sys/mount.h#32 integrate .. //depot/projects/ia64/sys/sys/mutex.h#24 integrate .. //depot/projects/ia64/sys/sys/namei.h#12 integrate .. //depot/projects/ia64/sys/sys/param.h#65 integrate .. //depot/projects/ia64/sys/sys/proc.h#93 integrate .. //depot/projects/ia64/sys/sys/rman.h#10 integrate .. //depot/projects/ia64/sys/sys/shm.h#7 integrate .. //depot/projects/ia64/sys/sys/socket.h#25 integrate .. //depot/projects/ia64/sys/sys/stat.h#17 integrate .. //depot/projects/ia64/sys/sys/sun_disklabel.h#9 integrate .. //depot/projects/ia64/sys/sys/syscallsubr.h#16 integrate .. //depot/projects/ia64/sys/sys/sysctl.h#28 integrate .. //depot/projects/ia64/sys/sys/systm.h#43 integrate .. //depot/projects/ia64/sys/sys/time.h#19 integrate .. //depot/projects/ia64/sys/sys/types.h#28 integrate .. //depot/projects/ia64/sys/sys/un.h#8 integrate .. //depot/projects/ia64/sys/sys/unpcb.h#7 integrate .. //depot/projects/ia64/sys/sys/vnode.h#48 integrate .. //depot/projects/ia64/sys/tools/vnode_if.awk#14 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_extern.h#20 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_inode.c#22 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_rawread.c#13 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_snapshot.c#43 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_softdep.c#42 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vfsops.c#53 integrate .. //depot/projects/ia64/sys/ufs/ffs/ffs_vnops.c#46 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_extattr.c#26 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_lookup.c#17 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_vfsops.c#17 integrate .. //depot/projects/ia64/sys/vm/vm.h#8 integrate .. //depot/projects/ia64/sys/vm/vm_extern.h#23 integrate .. //depot/projects/ia64/sys/vm/vm_meter.c#21 integrate .. //depot/projects/ia64/sys/vm/vm_mmap.c#41 integrate .. //depot/projects/ia64/sys/vm/vm_object.c#83 integrate .. //depot/projects/ia64/sys/vm/vm_object.h#31 integrate .. //depot/projects/ia64/sys/vm/vnode_pager.c#54 integrate .. //depot/projects/ia64/tools/regression/lib/msun/Makefile#5 integrate .. //depot/projects/ia64/tools/regression/lib/msun/test-rem.c#1 branch .. //depot/projects/ia64/tools/regression/lib/msun/test-rem.t#1 branch .. //depot/projects/ia64/tools/regression/msdosfs/msdosfstest.sh#1 branch .. //depot/projects/ia64/tools/tools/README#19 integrate .. //depot/projects/ia64/tools/tools/ath/80211watch.c#2 integrate .. //depot/projects/ia64/tools/tools/ath/athstats.c#6 integrate .. //depot/projects/ia64/tools/tools/syscall_timing/syscall_timing.c#2 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.birthday#14 integrate .. //depot/projects/ia64/usr.bin/calendar/calendars/calendar.freebsd#52 integrate .. //depot/projects/ia64/usr.bin/du/du.c#14 integrate .. //depot/projects/ia64/usr.bin/find/find.1#19 integrate .. //depot/projects/ia64/usr.bin/find/misc.c#5 integrate .. //depot/projects/ia64/usr.bin/id/id.c#8 integrate .. //depot/projects/ia64/usr.bin/make/arch.c#14 integrate .. //depot/projects/ia64/usr.bin/make/arch.h#2 integrate .. //depot/projects/ia64/usr.bin/make/buf.c#8 integrate .. //depot/projects/ia64/usr.bin/make/buf.h#7 integrate .. //depot/projects/ia64/usr.bin/make/cond.c#16 integrate .. //depot/projects/ia64/usr.bin/make/cond.h#2 integrate .. //depot/projects/ia64/usr.bin/make/dir.c#16 integrate .. //depot/projects/ia64/usr.bin/make/dir.h#8 integrate .. //depot/projects/ia64/usr.bin/make/for.c#11 integrate .. //depot/projects/ia64/usr.bin/make/for.h#2 integrate .. //depot/projects/ia64/usr.bin/make/globals.h#2 integrate .. //depot/projects/ia64/usr.bin/make/job.c#21 integrate .. //depot/projects/ia64/usr.bin/make/job.h#12 integrate .. //depot/projects/ia64/usr.bin/make/lst.c#2 integrate .. //depot/projects/ia64/usr.bin/make/lst.h#10 integrate .. //depot/projects/ia64/usr.bin/make/main.c#31 integrate .. //depot/projects/ia64/usr.bin/make/make.1#21 integrate .. //depot/projects/ia64/usr.bin/make/make.c#13 integrate .. //depot/projects/ia64/usr.bin/make/parse.c#24 integrate .. //depot/projects/ia64/usr.bin/make/parse.h#2 integrate .. //depot/projects/ia64/usr.bin/make/str.c#16 integrate .. //depot/projects/ia64/usr.bin/make/suff.c#14 integrate .. //depot/projects/ia64/usr.bin/make/suff.h#2 integrate .. //depot/projects/ia64/usr.bin/make/targ.c#14 integrate .. //depot/projects/ia64/usr.bin/make/util.h#2 integrate .. //depot/projects/ia64/usr.bin/make/var.c#22 integrate .. //depot/projects/ia64/usr.bin/make/var.h#4 integrate .. //depot/projects/ia64/usr.bin/make/var_modify.c#5 integrate .. //depot/projects/ia64/usr.bin/mt/mt.1#12 integrate .. //depot/projects/ia64/usr.bin/netstat/inet.c#15 integrate .. //depot/projects/ia64/usr.bin/nl/nl.c#7 integrate .. //depot/projects/ia64/usr.bin/printf/printf.1#9 integrate .. //depot/projects/ia64/usr.bin/printf/printf.c#10 integrate .. //depot/projects/ia64/usr.bin/sed/process.c#17 integrate .. //depot/projects/ia64/usr.bin/stat/stat.1#6 integrate .. //depot/projects/ia64/usr.bin/systat/mbufs.c#4 integrate .. //depot/projects/ia64/usr.bin/tar/bsdtar.1#7 integrate .. //depot/projects/ia64/usr.bin/top/machine.c#8 integrate .. //depot/projects/ia64/usr.bin/tr/tr.c#11 integrate .. //depot/projects/ia64/usr.bin/truss/extern.h#7 integrate .. //depot/projects/ia64/usr.bin/truss/main.c#13 integrate .. //depot/projects/ia64/usr.bin/truss/setup.c#6 integrate .. //depot/projects/ia64/usr.bin/whereis/whereis.c#6 integrate .. //depot/projects/ia64/usr.sbin/Makefile#70 integrate .. //depot/projects/ia64/usr.sbin/apmd/apmd.c#3 integrate .. //depot/projects/ia64/usr.sbin/boot0cfg/boot0cfg.8#12 integrate .. //depot/projects/ia64/usr.sbin/config/config.h#7 integrate .. //depot/projects/ia64/usr.sbin/config/config.y#9 integrate .. //depot/projects/ia64/usr.sbin/config/configvers.h#9 integrate .. //depot/projects/ia64/usr.sbin/config/main.c#8 integrate .. //depot/projects/ia64/usr.sbin/flowctl/flowctl.8#3 integrate .. //depot/projects/ia64/usr.sbin/flowctl/flowctl.c#4 integrate .. //depot/projects/ia64/usr.sbin/memcontrol/memcontrol.c#5 integrate .. //depot/projects/ia64/usr.sbin/mount_portalfs/mount_portalfs.8#4 integrate .. //depot/projects/ia64/usr.sbin/mountd/mountd.c#13 integrate .. //depot/projects/ia64/usr.sbin/mtree/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/mtree/compare.c#7 integrate .. //depot/projects/ia64/usr.sbin/mtree/create.c#9 integrate .. //depot/projects/ia64/usr.sbin/mtree/misc.c#6 integrate .. //depot/projects/ia64/usr.sbin/mtree/mtree.8#13 integrate .. //depot/projects/ia64/usr.sbin/mtree/mtree.h#3 integrate .. //depot/projects/ia64/usr.sbin/mtree/spec.c#6 integrate .. //depot/projects/ia64/usr.sbin/mtree/specspec.c#4 integrate .. //depot/projects/ia64/usr.sbin/mtree/test/test03.sh#2 integrate .. //depot/projects/ia64/usr.sbin/pciconf/pciconf.c#7 integrate .. //depot/projects/ia64/usr.sbin/powerd/powerd.8#2 integrate .. //depot/projects/ia64/usr.sbin/powerd/powerd.c#2 integrate .. //depot/projects/ia64/usr.sbin/pstat/Makefile#5 integrate .. //depot/projects/ia64/usr.sbin/pstat/pstat.8#12 integrate .. //depot/projects/ia64/usr.sbin/pstat/pstat.c#18 integrate .. //depot/projects/ia64/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/ia64/usr.sbin/quot/quot.c#9 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 13 02:59:07 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EAB5A16A4D0; Wed, 13 Apr 2005 02:59:06 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BCC3416A4CE for ; Wed, 13 Apr 2005 02:59:06 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59ADC43D53 for ; Wed, 13 Apr 2005 02:59:06 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D2x6w6003444 for ; Wed, 13 Apr 2005 02:59:06 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D2x6X1003441 for perforce@freebsd.org; Wed, 13 Apr 2005 02:59:06 GMT (envelope-from anholt@freebsd.org) Date: Wed, 13 Apr 2005 02:59:06 GMT Message-Id: <200504130259.j3D2x6X1003441@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75038 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 02:59:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=75038 Change 75038 by anholt@anholt_leguin on 2005/04/13 02:58:53 IF DRM CVS Affected files ... .. //depot/projects/drm-merge-vendor/sys/dev/drm/i915_drv.h#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/mach64_dma.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drm.h#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drv.h#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_state.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/savage_bci.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/savage_drv.h#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/savage_state.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/sis_mm.c#3 edit Differences ... ==== //depot/projects/drm-merge-vendor/sys/dev/drm/i915_drv.h#2 (text+ko) ==== @@ -72,6 +72,7 @@ int tex_lru_log_granularity; int allow_batchbuffer; struct mem_block *agp_heap; + unsigned int sr01, adpa, ppcr, dvob, dvoc, lvds; } drm_i915_private_t; /* i915_dma.c */ @@ -96,10 +97,10 @@ extern void i915_mem_release(drm_device_t * dev, DRMFILE filp, struct mem_block *heap); -#define I915_READ(reg) DRM_READ32(dev_priv->mmio_map, reg) -#define I915_WRITE(reg,val) DRM_WRITE32(dev_priv->mmio_map, reg, val) -#define I915_READ16(reg) DRM_READ16(dev_priv->mmio_map, reg) -#define I915_WRITE16(reg,val) DRM_WRITE16(dev_priv->mmio_map, reg, val) +#define I915_READ(reg) DRM_READ32(dev_priv->mmio_map, (reg)) +#define I915_WRITE(reg,val) DRM_WRITE32(dev_priv->mmio_map, (reg), (val)) +#define I915_READ16(reg) DRM_READ16(dev_priv->mmio_map, (reg)) +#define I915_WRITE16(reg,val) DRM_WRITE16(dev_priv->mmio_map, (reg), (val)) #define I915_VERBOSE 0 @@ -163,6 +164,13 @@ #define PPCR 0x61204 #define PPCR_ON (1<<0) +#define DVOB 0x61140 +#define DVOB_ON (1<<31) +#define DVOC 0x61160 +#define DVOC_ON (1<<31) +#define LVDS 0x61180 +#define LVDS_ON (1<<31) + #define ADPA 0x61100 #define ADPA_DPMS_MASK (~(3<<10)) #define ADPA_DPMS_ON (0<<10) ==== //depot/projects/drm-merge-vendor/sys/dev/drm/mach64_dma.c#2 (text+ko) ==== @@ -497,7 +497,7 @@ (i >= ring->head - MACH64_DUMP_CONTEXT * 4 && i <= ring->head + MACH64_DUMP_CONTEXT * 4)) { DRM_INFO(" 0x%08x: 0x%08x 0x%08x 0x%08x 0x%08x%s%s\n", - ring->start_addr + i * sizeof(u32), + (u32)(ring->start_addr + i * sizeof(u32)), le32_to_cpu(((u32 *) ring->start)[i + 0]), le32_to_cpu(((u32 *) ring->start)[i + 1]), le32_to_cpu(((u32 *) ring->start)[i + 2]), @@ -913,8 +913,8 @@ } memset(dev_priv->ring.start, 0, dev_priv->ring.size); - DRM_INFO("descriptor ring: cpu addr 0x%08x, bus addr: 0x%08x\n", - (u32) dev_priv->ring.start, dev_priv->ring.start_addr); + DRM_INFO("descriptor ring: cpu addr %p, bus addr: 0x%08x\n", + dev_priv->ring.start, dev_priv->ring.start_addr); ret = 0; if (dev_priv->driver_mode != MACH64_MODE_MMIO) { ==== //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drm.h#3 (text+ko) ==== @@ -151,7 +151,8 @@ #define RADEON_EMIT_PP_CUBIC_OFFSETS_T1 81 #define RADEON_EMIT_PP_CUBIC_FACES_2 82 #define RADEON_EMIT_PP_CUBIC_OFFSETS_T2 83 -#define RADEON_MAX_STATE_PACKETS 84 +#define R200_EMIT_PP_TRI_PERF_CNTL 84 +#define RADEON_MAX_STATE_PACKETS 85 /* Commands understood by cmd_buffer ioctl. More can be added but * obviously these can't be removed or changed: ==== //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drv.h#3 (text+ko) ==== @@ -42,7 +42,7 @@ #define DRIVER_NAME "radeon" #define DRIVER_DESC "ATI Radeon" -#define DRIVER_DATE "20050208" +#define DRIVER_DATE "20050311" /* Interface history: * @@ -84,10 +84,12 @@ * - Add R100/R200 surface allocation/free support * 1.15- Add support for texture micro tiling * - Add support for r100 cube maps + * 1.16- Add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear + * texture filtering on r200 */ #define DRIVER_MAJOR 1 -#define DRIVER_MINOR 15 +#define DRIVER_MINOR 16 #define DRIVER_PATCHLEVEL 0 enum radeon_family { @@ -657,6 +659,8 @@ # define RADEON_3D_DRAW_IMMD 0x00002900 # define RADEON_3D_DRAW_INDX 0x00002A00 # define RADEON_3D_LOAD_VBPNTR 0x00002F00 +# define RADEON_MPEG_IDCT_MACROBLOCK 0x00003000 +# define RADEON_MPEG_IDCT_MACROBLOCK_REV 0x00003100 # define RADEON_3D_CLEAR_ZMASK 0x00003200 # define RADEON_3D_CLEAR_HIZ 0x00003700 # define RADEON_CNTL_HOSTDATA_BLT 0x00009400 @@ -825,6 +829,8 @@ #define R200_SE_TCL_POINT_SPRITE_CNTL 0x22c4 +#define R200_PP_TRI_PERF 0x2cf8 + /* Constants */ #define RADEON_MAX_USEC_TIMEOUT 100000 /* 100 ms */ ==== //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_state.c#3 (text+ko) ==== @@ -209,6 +209,7 @@ case RADEON_EMIT_PP_CUBIC_FACES_0: case RADEON_EMIT_PP_CUBIC_FACES_1: case RADEON_EMIT_PP_CUBIC_FACES_2: + case R200_EMIT_PP_TRI_PERF_CNTL: /* These packets don't contain memory offsets */ break; @@ -581,7 +582,8 @@ RADEON_PP_CUBIC_FACES_1, 1, "RADEON_PP_CUBIC_FACES_1"}, { RADEON_PP_CUBIC_OFFSET_T1_0, 5, "RADEON_PP_CUBIC_OFFSET_T1_0"}, { RADEON_PP_CUBIC_FACES_2, 1, "RADEON_PP_CUBIC_FACES_2"}, { - RADEON_PP_CUBIC_OFFSET_T2_0, 5, "RADEON_PP_CUBIC_OFFSET_T2_0"}, + RADEON_PP_CUBIC_OFFSET_T2_0, 5, "RADEON_PP_CUBIC_OFFSET_T2_0"}, { + R200_PP_TRI_PERF, 2, "R200_PP_TRI_PERF"}, }; /* ================================================================ ==== //depot/projects/drm-merge-vendor/sys/dev/drm/savage_bci.c#2 (text+ko) ==== @@ -47,6 +47,7 @@ #endif for (i = 0; i < SAVAGE_DEFAULT_USEC_TIMEOUT; i++) { + DRM_MEMORYBARRIER(); status = dev_priv->status_ptr[0]; if ((status & mask) < threshold) return 0; @@ -120,6 +121,7 @@ int i; for (i = 0; i < SAVAGE_EVENT_USEC_TIMEOUT; i++) { + DRM_MEMORYBARRIER(); status = dev_priv->status_ptr[1]; if ((((status & 0xffff) - e) & 0xffff) <= 0x7fff || (status & 0xffff) == 0) @@ -246,6 +248,8 @@ else event = SAVAGE_READ(SAVAGE_STATUS_WORD1) & 0xffff; wrap = dev_priv->event_wrap; + if (event > dev_priv->event_counter) + wrap--; /* hardware hasn't passed the last wrap yet */ DRM_DEBUG(" tail=0x%04x %d\n", tail->age.event, tail->age.wrap); DRM_DEBUG(" head=0x%04x %d\n", event, wrap); @@ -284,6 +288,254 @@ } /* + * Command DMA + */ +static int savage_dma_init(drm_savage_private_t *dev_priv) +{ + unsigned int i; + + dev_priv->nr_dma_pages = dev_priv->cmd_dma->size / + (SAVAGE_DMA_PAGE_SIZE*4); + dev_priv->dma_pages = drm_alloc(sizeof(drm_savage_dma_page_t) * + dev_priv->nr_dma_pages, + DRM_MEM_DRIVER); + if (dev_priv->dma_pages == NULL) + return DRM_ERR(ENOMEM); + + for (i = 0; i < dev_priv->nr_dma_pages; ++i) { + SET_AGE(&dev_priv->dma_pages[i].age, 0, 0); + dev_priv->dma_pages[i].used = 0; + dev_priv->dma_pages[i].flushed = 0; + } + SET_AGE(&dev_priv->last_dma_age, 0, 0); + + dev_priv->first_dma_page = 0; + dev_priv->current_dma_page = 0; + + return 0; +} + +void savage_dma_reset(drm_savage_private_t *dev_priv) +{ + uint16_t event; + unsigned int wrap, i; + event = savage_bci_emit_event(dev_priv, 0); + wrap = dev_priv->event_wrap; + for (i = 0; i < dev_priv->nr_dma_pages; ++i) { + SET_AGE(&dev_priv->dma_pages[i].age, event, wrap); + dev_priv->dma_pages[i].used = 0; + dev_priv->dma_pages[i].flushed = 0; + } + SET_AGE(&dev_priv->last_dma_age, event, wrap); + dev_priv->first_dma_page = dev_priv->current_dma_page = 0; +} + +void savage_dma_wait(drm_savage_private_t *dev_priv, unsigned int page) +{ + uint16_t event; + unsigned int wrap; + + /* Faked DMA buffer pages don't age. */ + if (dev_priv->cmd_dma == &dev_priv->fake_dma) + return; + + UPDATE_EVENT_COUNTER(); + if (dev_priv->status_ptr) + event = dev_priv->status_ptr[1] & 0xffff; + else + event = SAVAGE_READ(SAVAGE_STATUS_WORD1) & 0xffff; + wrap = dev_priv->event_wrap; + if (event > dev_priv->event_counter) + wrap--; /* hardware hasn't passed the last wrap yet */ + + if (dev_priv->dma_pages[page].age.wrap > wrap || + (dev_priv->dma_pages[page].age.wrap == wrap && + dev_priv->dma_pages[page].age.event > event)) { + if (dev_priv->wait_evnt(dev_priv, + dev_priv->dma_pages[page].age.event) + < 0) + DRM_ERROR("wait_evnt failed!\n"); + } +} + +uint32_t *savage_dma_alloc(drm_savage_private_t *dev_priv, unsigned int n) +{ + unsigned int cur = dev_priv->current_dma_page; + unsigned int rest = SAVAGE_DMA_PAGE_SIZE - + dev_priv->dma_pages[cur].used; + unsigned int nr_pages = (n - rest + SAVAGE_DMA_PAGE_SIZE-1) / + SAVAGE_DMA_PAGE_SIZE; + uint32_t *dma_ptr; + unsigned int i; + + DRM_DEBUG("cur=%u, cur->used=%u, n=%u, rest=%u, nr_pages=%u\n", + cur, dev_priv->dma_pages[cur].used, n, rest, nr_pages); + + if (cur + nr_pages < dev_priv->nr_dma_pages) { + dma_ptr = (uint32_t *)dev_priv->cmd_dma->handle + + cur*SAVAGE_DMA_PAGE_SIZE + + dev_priv->dma_pages[cur].used; + if (n < rest) + rest = n; + dev_priv->dma_pages[cur].used += rest; + n -= rest; + cur++; + } else { + dev_priv->dma_flush(dev_priv); + nr_pages = (n + SAVAGE_DMA_PAGE_SIZE-1) / SAVAGE_DMA_PAGE_SIZE; + for (i = cur; i < dev_priv->nr_dma_pages; ++i) { + dev_priv->dma_pages[i].age = dev_priv->last_dma_age; + dev_priv->dma_pages[i].used = 0; + dev_priv->dma_pages[i].flushed = 0; + } + dma_ptr = (uint32_t *)dev_priv->cmd_dma->handle; + dev_priv->first_dma_page = cur = 0; + } + for (i = cur; nr_pages > 0; ++i, --nr_pages) { +#if SAVAGE_DMA_DEBUG + if (dev_priv->dma_pages[i].used) { + DRM_ERROR("unflushed page %u: used=%u\n", + i, dev_priv->dma_pages[i].used); + } +#endif + if (n > SAVAGE_DMA_PAGE_SIZE) + dev_priv->dma_pages[i].used = SAVAGE_DMA_PAGE_SIZE; + else + dev_priv->dma_pages[i].used = n; + n -= SAVAGE_DMA_PAGE_SIZE; + } + dev_priv->current_dma_page = --i; + + DRM_DEBUG("cur=%u, cur->used=%u, n=%u\n", + i, dev_priv->dma_pages[i].used, n); + + savage_dma_wait(dev_priv, dev_priv->current_dma_page); + + return dma_ptr; +} + +static void savage_dma_flush(drm_savage_private_t *dev_priv) +{ + BCI_LOCALS; + unsigned int first = dev_priv->first_dma_page; + unsigned int cur = dev_priv->current_dma_page; + uint16_t event; + unsigned int wrap, pad, align, len, i; + unsigned long phys_addr; + + if (first == cur && + dev_priv->dma_pages[cur].used == dev_priv->dma_pages[cur].flushed) + return; + + /* pad length to multiples of 2 entries + * align start of next DMA block to multiles of 8 entries */ + pad = -dev_priv->dma_pages[cur].used & 1; + align = -(dev_priv->dma_pages[cur].used + pad) & 7; + + DRM_DEBUG("first=%u, cur=%u, first->flushed=%u, cur->used=%u, " + "pad=%u, align=%u\n", + first, cur, dev_priv->dma_pages[first].flushed, + dev_priv->dma_pages[cur].used, pad, align); + + /* pad with noops */ + if (pad) { + uint32_t *dma_ptr = (uint32_t *)dev_priv->cmd_dma->handle + + cur * SAVAGE_DMA_PAGE_SIZE + + dev_priv->dma_pages[cur].used; + dev_priv->dma_pages[cur].used += pad; + while(pad != 0) { + *dma_ptr++ = BCI_CMD_WAIT; + pad--; + } + } + + DRM_MEMORYBARRIER(); + + /* do flush ... */ + phys_addr = dev_priv->cmd_dma->offset + + (first * SAVAGE_DMA_PAGE_SIZE + + dev_priv->dma_pages[first].flushed) * 4; + len = (cur - first) * SAVAGE_DMA_PAGE_SIZE + + dev_priv->dma_pages[cur].used - + dev_priv->dma_pages[first].flushed; + + DRM_DEBUG("phys_addr=%lx, len=%u\n", + phys_addr | dev_priv->dma_type, len); + + BEGIN_BCI(3); + BCI_SET_REGISTERS(SAVAGE_DMABUFADDR, 1); + BCI_WRITE(phys_addr | dev_priv->dma_type); + BCI_DMA(len); + + /* fix alignment of the start of the next block */ + dev_priv->dma_pages[cur].used += align; + + /* age DMA pages */ + event = savage_bci_emit_event(dev_priv, 0); + wrap = dev_priv->event_wrap; + for (i = first; i < cur; ++i) { + SET_AGE(&dev_priv->dma_pages[i].age, event, wrap); + dev_priv->dma_pages[i].used = 0; + dev_priv->dma_pages[i].flushed = 0; + } + /* age the current page only when it's full */ + if (dev_priv->dma_pages[cur].used == SAVAGE_DMA_PAGE_SIZE) { + SET_AGE(&dev_priv->dma_pages[cur].age, event, wrap); + dev_priv->dma_pages[cur].used = 0; + dev_priv->dma_pages[cur].flushed = 0; + /* advance to next page */ + cur++; + if (cur == dev_priv->nr_dma_pages) + cur = 0; + dev_priv->first_dma_page = dev_priv->current_dma_page = cur; + } else { + dev_priv->first_dma_page = cur; + dev_priv->dma_pages[cur].flushed = dev_priv->dma_pages[i].used; + } + SET_AGE(&dev_priv->last_dma_age, event, wrap); + + DRM_DEBUG("first=cur=%u, cur->used=%u, cur->flushed=%u\n", cur, + dev_priv->dma_pages[cur].used, + dev_priv->dma_pages[cur].flushed); +} + +static void savage_fake_dma_flush(drm_savage_private_t *dev_priv) +{ + BCI_LOCALS; + unsigned int i, j; + if (dev_priv->first_dma_page == dev_priv->current_dma_page && + dev_priv->dma_pages[dev_priv->current_dma_page].used == 0) + return; + + DRM_DEBUG("first=%u, cur=%u, cur->used=%u\n", + dev_priv->first_dma_page, dev_priv->current_dma_page, + dev_priv->dma_pages[dev_priv->current_dma_page].used); + + for (i = dev_priv->first_dma_page; + i <= dev_priv->current_dma_page && dev_priv->dma_pages[i].used; + ++i) { + uint32_t *dma_ptr = (uint32_t *)dev_priv->cmd_dma->handle + + i * SAVAGE_DMA_PAGE_SIZE; +#if SAVAGE_DMA_DEBUG + /* Sanity check: all pages except the last one must be full. */ + if (i < dev_priv->current_dma_page && + dev_priv->dma_pages[i].used != SAVAGE_DMA_PAGE_SIZE) { + DRM_ERROR("partial DMA page %u: used=%u", + i, dev_priv->dma_pages[i].used); + } +#endif + BEGIN_BCI(dev_priv->dma_pages[i].used); + for (j = 0; j < dev_priv->dma_pages[i].used; ++j) { + BCI_WRITE(dma_ptr[j]); + } + dev_priv->dma_pages[i].used = 0; + } + + /* reset to first page */ + dev_priv->first_dma_page = dev_priv->current_dma_page = 0; +} + +/* * Initalize permanent mappings. On Savage4 and SavageIX the alignment * and size of the aperture is not suitable for automatic MTRR setup * in drm_initmap. Therefore we do it manually before the maps are @@ -462,14 +714,20 @@ } else { dev_priv->status = NULL; } - if (dev_priv->dma_type == SAVAGE_DMA_AGP) { + if (dev_priv->dma_type == SAVAGE_DMA_AGP && init->buffers_offset) { dev->agp_buffer_map = drm_core_findmap(dev, init->buffers_offset); if (!dev->agp_buffer_map) { - DRM_ERROR("could not find dma buffer region!\n"); + DRM_ERROR("could not find DMA buffer region!\n"); savage_do_cleanup_bci(dev); return DRM_ERR(EINVAL); } + drm_core_ioremap(dev->agp_buffer_map, dev); + if (!dev->agp_buffer_map) { + DRM_ERROR("failed to ioremap DMA buffer region!\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(ENOMEM); + } } if (init->agp_textures_offset) { dev_priv->agp_textures = @@ -482,25 +740,65 @@ } else { dev_priv->agp_textures = NULL; } - if (0 && !S3_SAVAGE3D_SERIES(dev_priv->chipset)) { - /* command DMA not implemented yet */ + + if (init->cmd_dma_offset) { + if (S3_SAVAGE3D_SERIES(dev_priv->chipset)) { + DRM_ERROR("command DMA not supported on " + "Savage3D/MX/IX.\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(EINVAL); + } + if (dev->dma && dev->dma->buflist) { + DRM_ERROR("command and vertex DMA not supported " + "at the same time.\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(EINVAL); + } dev_priv->cmd_dma = drm_core_findmap(dev, init->cmd_dma_offset); if (!dev_priv->cmd_dma) { DRM_ERROR("could not find command DMA region!\n"); savage_do_cleanup_bci(dev); return DRM_ERR(EINVAL); } + if (dev_priv->dma_type == SAVAGE_DMA_AGP) { + if (dev_priv->cmd_dma->type != _DRM_AGP) { + DRM_ERROR("AGP command DMA region is not a " + "_DRM_AGP map!\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(EINVAL); + } + drm_core_ioremap(dev_priv->cmd_dma, dev); + if (!dev_priv->cmd_dma->handle) { + DRM_ERROR("failed to ioremap command " + "DMA region!\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(ENOMEM); + } + } else if (dev_priv->cmd_dma->type != _DRM_CONSISTENT) { + DRM_ERROR("PCI command DMA region is not a " + "_DRM_CONSISTENT map!\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(EINVAL); + } } else { dev_priv->cmd_dma = NULL; } - if (dev_priv->cmd_dma && dev_priv->dma_type == SAVAGE_DMA_AGP) { - drm_core_ioremap(dev_priv->cmd_dma, dev); - if (!dev_priv->cmd_dma->handle) { - DRM_ERROR("failed to ioremap command DMA region!\n"); + dev_priv->dma_flush = savage_dma_flush; + if (!dev_priv->cmd_dma) { + DRM_DEBUG("falling back to faked command DMA.\n"); + dev_priv->fake_dma.offset = 0; + dev_priv->fake_dma.size = SAVAGE_FAKE_DMA_SIZE; + dev_priv->fake_dma.type = _DRM_SHM; + dev_priv->fake_dma.handle = drm_alloc(SAVAGE_FAKE_DMA_SIZE, + DRM_MEM_DRIVER); + if (!dev_priv->fake_dma.handle) { + DRM_ERROR("could not allocate faked DMA buffer!\n"); savage_do_cleanup_bci(dev); return DRM_ERR(ENOMEM); } + dev_priv->cmd_dma = &dev_priv->fake_dma; + dev_priv->dma_flush = savage_fake_dma_flush; } dev_priv->sarea_priv = @@ -576,6 +874,12 @@ return DRM_ERR(ENOMEM); } + if (savage_dma_init(dev_priv) < 0) { + DRM_ERROR("could not initialize command DMA\n"); + savage_do_cleanup_bci(dev); + return DRM_ERR(ENOMEM); + } + return 0; } @@ -583,9 +887,29 @@ { drm_savage_private_t *dev_priv = dev->dev_private; - if (dev_priv->cmd_dma && dev_priv->dma_type == SAVAGE_DMA_AGP) + if (dev_priv->cmd_dma == &dev_priv->fake_dma) { + if (dev_priv->fake_dma.handle) + drm_free(dev_priv->fake_dma.handle, + SAVAGE_FAKE_DMA_SIZE, DRM_MEM_DRIVER); + } else if (dev_priv->cmd_dma && dev_priv->cmd_dma->handle && + dev_priv->cmd_dma->type == _DRM_AGP && + dev_priv->dma_type == SAVAGE_DMA_AGP) drm_core_ioremapfree(dev_priv->cmd_dma, dev); + if (dev_priv->dma_type == SAVAGE_DMA_AGP && + dev->agp_buffer_map && dev->agp_buffer_map->handle) { + drm_core_ioremapfree(dev->agp_buffer_map, dev); + /* make sure the next instance (which may be running + * in PCI mode) doesn't try to use an old + * agp_buffer_map. */ + dev->agp_buffer_map = NULL; + } + + if (dev_priv->dma_pages) + drm_free(dev_priv->dma_pages, + sizeof(drm_savage_dma_page_t)*dev_priv->nr_dma_pages, + DRM_MEM_DRIVER); + return 0; } @@ -623,6 +947,7 @@ sizeof(event)); event.count = savage_bci_emit_event(dev_priv, event.flags); + event.count |= dev_priv->event_wrap << 16; DRM_COPY_TO_USER_IOCTL(&((drm_savage_event_emit_t __user *)data)->count, event.count, sizeof(event.count)); return 0; @@ -633,16 +958,34 @@ DRM_DEVICE; drm_savage_private_t *dev_priv = dev->dev_private; drm_savage_event_wait_t event; + unsigned int event_e, hw_e; + unsigned int event_w, hw_w; DRM_DEBUG("\n"); DRM_COPY_FROM_USER_IOCTL(event, (drm_savage_event_wait_t __user *)data, sizeof(event)); - if (event.count > 0xffff) - return DRM_ERR(EINVAL); + UPDATE_EVENT_COUNTER(); + if (dev_priv->status_ptr) + hw_e = dev_priv->status_ptr[1] & 0xffff; + else + hw_e = SAVAGE_READ(SAVAGE_STATUS_WORD1) & 0xffff; + hw_w = dev_priv->event_wrap; + if (hw_e > dev_priv->event_counter) + hw_w--; /* hardware hasn't passed the last wrap yet */ + + event_e = event.count & 0xffff; + event_w = event.count >> 16; - return dev_priv->wait_evnt(dev_priv, event.count); + /* Don't need to wait if + * - event counter wrapped since the event was emitted or + * - the hardware has advanced up to or over the event to wait for. + */ + if (event_w < hw_w || (event_w == hw_w && event_e <= hw_e) ) + return 0; + else + return dev_priv->wait_evnt(dev_priv, event_e); } /* ==== //depot/projects/drm-merge-vendor/sys/dev/drm/savage_drv.h#2 (text+ko) ==== @@ -30,11 +30,11 @@ #define DRIVER_NAME "savage" #define DRIVER_DESC "Savage3D/MX/IX, Savage4, SuperSavage, Twister, ProSavage[DDR]" -#define DRIVER_DATE "20050120" +#define DRIVER_DATE "20050313" #define DRIVER_MAJOR 2 -#define DRIVER_MINOR 2 -#define DRIVER_PATCHLEVEL 0 +#define DRIVER_MINOR 4 +#define DRIVER_PATCHLEVEL 1 /* Interface history: * * 1.x The DRM driver from the VIA/S3 code drop, basically a dummy @@ -42,6 +42,11 @@ * 2.1 Scissors registers managed by the DRM, 3D operations clipped by * cliprects of the cmdbuf ioctl * 2.2 Implemented SAVAGE_CMD_DMA_IDX and SAVAGE_CMD_VB_IDX + * 2.3 Event counters used by BCI_EVENT_EMIT/WAIT ioctls are now 32 bits + * wide and thus very long lived (unlikely to ever wrap). The size + * in the struct was 32 bits before, but only 16 bits were used + * 2.4 Implemented command DMA. Now drm_savage_init_t.cmd_dma_offset is + * actually used */ typedef struct drm_savage_age { @@ -56,6 +61,16 @@ drm_buf_t *buf; } drm_savage_buf_priv_t; +typedef struct drm_savage_dma_page { + drm_savage_age_t age; + unsigned int used, flushed; +} drm_savage_dma_page_t; +#define SAVAGE_DMA_PAGE_SIZE 1024 /* in dwords */ +/* Fake DMA buffer size in bytes. 4 pages. Allows a maximum command + * size of 16kbytes or 4k entries. Minimum requirement would be + * 10kbytes for 255 40-byte vertices in one drawing command. */ +#define SAVAGE_FAKE_DMA_SIZE (SAVAGE_DMA_PAGE_SIZE*4*4) + /* interesting bits of hardware state that are saved in dev_priv */ typedef union { struct drm_savage_common_state { @@ -140,6 +155,7 @@ drm_local_map_t *status; drm_local_map_t *agp_textures; drm_local_map_t *cmd_dma; + drm_local_map_t fake_dma; struct { int handle; @@ -152,6 +168,11 @@ uint16_t event_counter; unsigned int event_wrap; + /* Savage4 command DMA */ + drm_savage_dma_page_t *dma_pages; + unsigned int nr_dma_pages, first_dma_page, current_dma_page; + drm_savage_age_t last_dma_age; + /* saved hw state for global/local check on S3D */ uint32_t hw_draw_ctrl, hw_zbuf_ctrl; /* and for scissors (global, so don't emit if not changed) */ @@ -169,6 +190,7 @@ * Avoid unwanted macro expansion. */ void (*emit_clip_rect)(struct drm_savage_private *dev_priv, drm_clip_rect_t *pbox); + void (*dma_flush)(struct drm_savage_private *dev_priv); } drm_savage_private_t; /* ioctls */ @@ -182,6 +204,10 @@ extern uint16_t savage_bci_emit_event(drm_savage_private_t *dev_priv, unsigned int flags); extern void savage_freelist_put(drm_device_t *dev, drm_buf_t *buf); +extern void savage_dma_reset(drm_savage_private_t *dev_priv); +extern void savage_dma_wait(drm_savage_private_t *dev_priv, unsigned int page); +extern uint32_t *savage_dma_alloc(drm_savage_private_t *dev_priv, + unsigned int n); extern int savage_preinit(drm_device_t *dev, unsigned long chipset); extern int savage_postcleanup(drm_device_t *dev); extern int savage_do_cleanup_bci(drm_device_t *dev); @@ -287,6 +313,7 @@ /* common stuff */ #define SAVAGE_VERTBUFADDR 0x3e #define SAVAGE_BITPLANEWTMASK 0xd7 +#define SAVAGE_DMABUFADDR 0x51 /* texture enable bits (needed for tex addr checking) */ #define SAVAGE_TEXCTRL_TEXEN_MASK 0x00010000 /* S3D */ @@ -405,6 +432,8 @@ #define BCI_CMD_DRAW_NO_V1 0x00000080 #define BCI_CMD_DRAW_NO_UV1 0x000000c0 +#define BCI_CMD_DMA 0xa8000000 + #define BCI_W_H(w, h) ((((h) << 16) | (w)) & 0x0FFF0FFF) #define BCI_X_Y(x, y) ((((y) << 16) | (x)) & 0x0FFF0FFF) #define BCI_X_W(x, y) ((((w) << 16) | (x)) & 0x0FFF0FFF) @@ -428,10 +457,17 @@ BCI_WRITE(BCI_CMD_SET_REGISTER | \ ((uint32_t)(n) & 0xff) << 16 | \ ((uint32_t)(first) & 0xffff)) +#define DMA_SET_REGISTERS( first, n ) \ + DMA_WRITE(BCI_CMD_SET_REGISTER | \ + ((uint32_t)(n) & 0xff) << 16 | \ + ((uint32_t)(first) & 0xffff)) #define BCI_DRAW_PRIMITIVE(n, type, skip) \ BCI_WRITE(BCI_CMD_DRAW_PRIM | (type) | (skip) | \ ((n) << 16)) +#define DMA_DRAW_PRIMITIVE(n, type, skip) \ + DMA_WRITE(BCI_CMD_DRAW_PRIM | (type) | (skip) | \ + ((n) << 16)) #define BCI_DRAW_INDICES_S3D(n, type, i0) \ BCI_WRITE(BCI_CMD_DRAW_INDEXED_PRIM | (type) | \ @@ -441,6 +477,9 @@ BCI_WRITE(BCI_CMD_DRAW_INDEXED_PRIM | (type) | \ (skip) | ((n) << 16)) +#define BCI_DMA(n) \ + BCI_WRITE(BCI_CMD_DMA | (((n) >> 1) - 1)) + /* * access to MMIO */ @@ -470,6 +509,54 @@ } \ } while(0) +/* + * command DMA support + */ +#define SAVAGE_DMA_DEBUG 1 + +#define DMA_LOCALS uint32_t *dma_ptr; + +#define BEGIN_DMA( n ) do { \ + unsigned int cur = dev_priv->current_dma_page; \ + unsigned int rest = SAVAGE_DMA_PAGE_SIZE - \ + dev_priv->dma_pages[cur].used; \ + if ((n) > rest) { \ + dma_ptr = savage_dma_alloc(dev_priv, (n)); \ + } else { /* fast path for small allocations */ \ + dma_ptr = (uint32_t *)dev_priv->cmd_dma->handle + \ + cur * SAVAGE_DMA_PAGE_SIZE + \ + dev_priv->dma_pages[cur].used; \ + if (dev_priv->dma_pages[cur].used == 0) \ + savage_dma_wait(dev_priv, cur); \ + dev_priv->dma_pages[cur].used += (n); \ + } \ +} while(0) + +#define DMA_WRITE( val ) *dma_ptr++ = (uint32_t)(val) + +#define DMA_COPY_FROM_USER(src,n) do { \ + DRM_COPY_FROM_USER_UNCHECKED(dma_ptr, (src), (n)*4); \ + dma_ptr += n; \ +} while(0) + +#if SAVAGE_DMA_DEBUG +#define DMA_COMMIT() do { \ + unsigned int cur = dev_priv->current_dma_page; \ + uint32_t *expected = (uint32_t *)dev_priv->cmd_dma->handle + \ + cur * SAVAGE_DMA_PAGE_SIZE + \ + dev_priv->dma_pages[cur].used; \ + if (dma_ptr != expected) { \ + DRM_ERROR("DMA allocation and use don't match: " \ + "%p != %p\n", expected, dma_ptr); \ + savage_dma_reset(dev_priv); \ + } \ +} while(0) +#else +#define DMA_COMMIT() do {/* nothing */} while(0) +#endif + +#define DMA_FLUSH() dev_priv->dma_flush(dev_priv) + /* Buffer aging via event tag */ @@ -489,9 +576,7 @@ (age)->wrap = w; \ } while(0) -#define TEST_AGE( age, e, w ) \ - ( (age)->wrap+1 < (w) || \ - ( (age)->wrap+1 == (w) && (e) <= dev_priv->event_counter ) || \ - (age)->event <= (e) ) +#define TEST_AGE( age, e, w ) \ + ( (age)->wrap < (w) || ( (age)->wrap == (w) && (age)->event <= (e) ) ) #endif /* __SAVAGE_DRV_H__ */ ==== //depot/projects/drm-merge-vendor/sys/dev/drm/savage_state.c#2 (text+ko) ==== @@ -39,15 +39,16 @@ ((((uint32_t)pbox->y2-1) << 16) & 0x07ff0000); if (scstart != dev_priv->state.s3d.scstart || scend != dev_priv->state.s3d.scend) { - BCI_LOCALS; - BEGIN_BCI(4); - BCI_WRITE(BCI_CMD_WAIT|BCI_CMD_WAIT_3D); - BCI_SET_REGISTERS(SAVAGE_SCSTART_S3D, 2); - BCI_WRITE(scstart); - BCI_WRITE(scend); + DMA_LOCALS; + BEGIN_DMA(4); + DMA_WRITE(BCI_CMD_WAIT|BCI_CMD_WAIT_3D); + DMA_SET_REGISTERS(SAVAGE_SCSTART_S3D, 2); + DMA_WRITE(scstart); + DMA_WRITE(scend); dev_priv->state.s3d.scstart = scstart; dev_priv->state.s3d.scend = scend; dev_priv->waiting = 1; + DMA_COMMIT(); } } @@ -64,15 +65,16 @@ ((((uint32_t)pbox->y2-1) << 12) & 0x00fff000); if (drawctrl0 != dev_priv->state.s4.drawctrl0 || drawctrl1 != dev_priv->state.s4.drawctrl1) { - BCI_LOCALS; - BEGIN_BCI(4); - BCI_WRITE(BCI_CMD_WAIT|BCI_CMD_WAIT_3D); - BCI_SET_REGISTERS(SAVAGE_DRAWCTRL0_S4, 2); - BCI_WRITE(drawctrl0); - BCI_WRITE(drawctrl1); + DMA_LOCALS; + BEGIN_DMA(4); + DMA_WRITE(BCI_CMD_WAIT|BCI_CMD_WAIT_3D); + DMA_SET_REGISTERS(SAVAGE_DRAWCTRL0_S4, 2); + DMA_WRITE(drawctrl0); + DMA_WRITE(drawctrl1); dev_priv->state.s4.drawctrl0 = drawctrl0; dev_priv->state.s4.drawctrl1 = drawctrl1; dev_priv->waiting = 1; + DMA_COMMIT(); } } @@ -192,7 +194,7 @@ const drm_savage_cmd_header_t *cmd_header, const uint32_t __user *regs) { - BCI_LOCALS; + DMA_LOCALS; unsigned int count = cmd_header->state.count; unsigned int start = cmd_header->state.start; unsigned int count2 = 0; @@ -244,18 +246,18 @@ bci_size = count + (count+254)/255 + count2 + (count2+254)/255; if (cmd_header->state.global) { - BEGIN_BCI(bci_size+1); - BCI_WRITE(BCI_CMD_WAIT | BCI_CMD_WAIT_3D); + BEGIN_DMA(bci_size+1); + DMA_WRITE(BCI_CMD_WAIT | BCI_CMD_WAIT_3D); dev_priv->waiting = 1; } else { - BEGIN_BCI(bci_size); + BEGIN_DMA(bci_size); } do { while (count > 0) { unsigned int n = count < 255 ? count : 255; - BCI_SET_REGISTERS(start, n); - BCI_COPY_FROM_USER(regs, n); + DMA_SET_REGISTERS(start, n); + DMA_COPY_FROM_USER(regs, n); count -= n; start += n; regs += n; @@ -266,6 +268,8 @@ count2 = 0; } while (count); + DMA_COMMIT(); + return 0; } @@ -281,6 +285,11 @@ unsigned int start = cmd_header->prim.start; unsigned int i; + if (!dmabuf) { + DRM_ERROR("called without dma buffers!\n"); + return DRM_ERR(EINVAL); + } + if (!n) return 0; @@ -335,6 +344,11 @@ return DRM_ERR(EINVAL); } + /* Vertex DMA doesn't work with command DMA at the same time, + * so we use BCI_... to submit commands here. Flush buffered + * faked DMA first. */ + DMA_FLUSH(); + if (dmabuf->bus_address != dev_priv->state.common.vbaddr) { BEGIN_BCI(2); BCI_SET_REGISTERS(SAVAGE_VERTBUFADDR, 1); @@ -405,7 +419,7 @@ unsigned int vb_size, unsigned int vb_stride) { - BCI_LOCALS; + DMA_LOCALS; unsigned char reorder = 0; unsigned int prim = cmd_header->prim.prim; unsigned int skip = cmd_header->prim.skip; @@ -482,28 +496,32 @@ int reorder[3] = {-1, -1, -1}; reorder[start%3] = 2; - BEGIN_BCI(count*vtx_size+1); - BCI_DRAW_PRIMITIVE(count, prim, skip); + BEGIN_DMA(count*vtx_size+1); + DMA_DRAW_PRIMITIVE(count, prim, skip); for (i = start; i < start+count; ++i) { unsigned int j = i + reorder[i % 3]; - BCI_COPY_FROM_USER(&vtxbuf[vb_stride*j], + DMA_COPY_FROM_USER(&vtxbuf[vb_stride*j], vtx_size); } + + DMA_COMMIT(); } else { - BEGIN_BCI(count*vtx_size+1); - BCI_DRAW_PRIMITIVE(count, prim, skip); + BEGIN_DMA(count*vtx_size+1); + DMA_DRAW_PRIMITIVE(count, prim, skip); if (vb_stride == vtx_size) { - BCI_COPY_FROM_USER(&vtxbuf[vb_stride*start], + DMA_COPY_FROM_USER(&vtxbuf[vb_stride*start], vtx_size*count); } else { for (i = start; i < start+count; ++i) { - BCI_COPY_FROM_USER( + DMA_COPY_FROM_USER( &vtxbuf[vb_stride*i], vtx_size); } } + + DMA_COMMIT(); } start += count; @@ -527,6 +545,11 @@ unsigned int n = cmd_header->idx.count; unsigned int i; + if (!dmabuf) { + DRM_ERROR("called without dma buffers!\n"); + return DRM_ERR(EINVAL); + } + if (!n) return 0; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 13 04:10:46 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D0BBE16A4D0; Wed, 13 Apr 2005 04:10:45 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 85F2416A4CE for ; Wed, 13 Apr 2005 04:10:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CC6943D31 for ; Wed, 13 Apr 2005 04:10:44 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D4AiaF006863 for ; Wed, 13 Apr 2005 04:10:44 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D4AXCi006810 for perforce@freebsd.org; Wed, 13 Apr 2005 04:10:33 GMT (envelope-from anholt@freebsd.org) Date: Wed, 13 Apr 2005 04:10:33 GMT Message-Id: <200504130410.j3D4AXCi006810@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75041 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 04:10:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=75041 Change 75041 by anholt@anholt_leguin on 2005/04/13 04:10:16 IFC @75040 Affected files ... .. //depot/projects/drm-merge/sys/Makefile#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/autoconf.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/busdma_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/critical.c#2 delete .. //depot/projects/drm-merge/sys/alpha/alpha/interrupt.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/machdep.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/mp_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/timerreg.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/trap.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/alpha/vm_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/conf/GENERIC#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/_types.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/atomic.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/bus.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/bus_dma.h#1 branch .. //depot/projects/drm-merge/sys/alpha/include/cpufunc.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/critical.h#2 delete .. //depot/projects/drm-merge/sys/alpha/include/endian.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/in_cksum.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/ioctl_bt848.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/ioctl_meteor.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/limits.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/proc.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/stdarg.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/include/varargs.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/linux/linux_proto.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/linux/linux_syscall.h#2 integrate .. //depot/projects/drm-merge/sys/alpha/linux/linux_sysent.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/linux/syscalls.master#2 integrate .. //depot/projects/drm-merge/sys/alpha/osf1/imgact_osf1.c#2 integrate .. //depot/projects/drm-merge/sys/alpha/osf1/osf1_misc.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/acpica/madt.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/apic_vector.S#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/busdma_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/critical.c#2 delete .. //depot/projects/drm-merge/sys/amd64/amd64/db_disasm.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/fpu.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/intr_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/io_apic.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/local_apic.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/mp_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/mp_watchdog.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/mptable.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/nexus.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/prof_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/support.S#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/drm-merge/sys/amd64/conf/NOTES#4 integrate .. //depot/projects/drm-merge/sys/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/_types.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/apicvar.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/asm.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/atomic.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/bus_amd64.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/bus_dma.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/cpufunc.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/critical.h#2 delete .. //depot/projects/drm-merge/sys/amd64/include/endian.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/floatingpoint.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/ieeefp.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/in_cksum.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/limits.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/pcpu.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/proc.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/profile.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/sf_buf.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/smp.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/stdarg.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/tss.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/include/varargs.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/isa/clock.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/isa/timerreg.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/linux32_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/linux32_sysvec.c#2 integrate .. //depot/projects/drm-merge/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/busdma_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/cpufunc_asm.S#3 integrate .. //depot/projects/drm-merge/sys/arm/arm/critical.c#2 delete .. //depot/projects/drm-merge/sys/arm/arm/fiq.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/fusu.S#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/genassym.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/in_cksum.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/locore.S#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/machdep.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/pmap.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/support.S#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/swtch.S#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/sys_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/trap.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/undefined.c#2 integrate .. //depot/projects/drm-merge/sys/arm/arm/vm_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/arm/include/_types.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/asmacros.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/atomic.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/bus.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/bus_dma.h#1 branch .. //depot/projects/drm-merge/sys/arm/include/critical.h#2 delete .. //depot/projects/drm-merge/sys/arm/include/float.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/limits.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/machdep.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/pmap.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/proc.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/stdarg.h#2 integrate .. //depot/projects/drm-merge/sys/arm/include/sysarch.h#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/i80321/iq31244_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/i80321/iq80321.c#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/i80321/obio_space.c#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/i80321/std.i80321#2 integrate .. //depot/projects/drm-merge/sys/arm/xscale/std.xscale#1 branch .. //depot/projects/drm-merge/sys/boot/arc/include/arcfuncs.h#2 integrate .. //depot/projects/drm-merge/sys/boot/efi/include/i386/efibind.h#2 integrate .. //depot/projects/drm-merge/sys/boot/efi/include/ia64/efibind.h#2 integrate .. //depot/projects/drm-merge/sys/boot/i386/Makefile.inc#2 integrate .. //depot/projects/drm-merge/sys/boot/i386/boot2/Makefile#2 integrate .. //depot/projects/drm-merge/sys/boot/i386/libi386/pxe.c#2 integrate .. //depot/projects/drm-merge/sys/boot/i386/libi386/vidconsole.c#2 integrate .. //depot/projects/drm-merge/sys/boot/ofw/libofw/ofw_net.c#2 integrate .. //depot/projects/drm-merge/sys/boot/pc98/boot2/Makefile#2 integrate .. //depot/projects/drm-merge/sys/cam/cam_periph.c#2 integrate .. //depot/projects/drm-merge/sys/cam/cam_xpt.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_all.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_ch.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_low.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_sa.c#2 integrate .. //depot/projects/drm-merge/sys/cam/scsi/scsi_target.c#2 integrate .. //depot/projects/drm-merge/sys/coda/cnode.h#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_fbsd.c#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_psdev.c#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_subr.c#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_venus.c#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_vfsops.h#2 integrate .. //depot/projects/drm-merge/sys/coda/coda_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/freebsd32_proto.h#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/freebsd32_syscall.h#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/freebsd32_syscalls.c#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/freebsd32_sysent.c#2 integrate .. //depot/projects/drm-merge/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/drm-merge/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/drm-merge/sys/compat/linprocfs/linprocfs.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_getcwd.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_ioctl.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_socket.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_stats.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_sysproto.h#1 branch .. //depot/projects/drm-merge/sys/compat/linux/linux_util.c#2 integrate .. //depot/projects/drm-merge/sys/compat/linux/linux_util.h#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/hal_var.h#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/kern_ndis.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/kern_windrv.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/ndis_var.h#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/ntoskrnl_var.h#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/pe_var.h#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/subr_hal.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/subr_ndis.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/subr_pe.c#2 integrate .. //depot/projects/drm-merge/sys/compat/ndis/subr_usbd.c#1 branch .. //depot/projects/drm-merge/sys/compat/ndis/usbd_var.h#1 branch .. //depot/projects/drm-merge/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/drm-merge/sys/compat/pecoff/imgact_pecoff.c#2 integrate .. //depot/projects/drm-merge/sys/compat/svr4/imgact_svr4.c#2 integrate .. //depot/projects/drm-merge/sys/compat/svr4/svr4_signal.c#2 integrate .. //depot/projects/drm-merge/sys/compat/svr4/svr4_signal.h#2 integrate .. //depot/projects/drm-merge/sys/compat/svr4/svr4_stream.c#2 integrate .. //depot/projects/drm-merge/sys/compat/svr4/svr4_sysvec.c#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.alpha#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.amd64#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.arm#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.i386#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.ia64#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.pc98#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.powerpc#2 integrate .. //depot/projects/drm-merge/sys/conf/Makefile.sparc64#2 integrate .. //depot/projects/drm-merge/sys/conf/NOTES#2 integrate .. //depot/projects/drm-merge/sys/conf/files#4 integrate .. //depot/projects/drm-merge/sys/conf/files.alpha#2 integrate .. //depot/projects/drm-merge/sys/conf/files.amd64#2 integrate .. //depot/projects/drm-merge/sys/conf/files.arm#2 integrate .. //depot/projects/drm-merge/sys/conf/files.i386#2 integrate .. //depot/projects/drm-merge/sys/conf/files.ia64#2 integrate .. //depot/projects/drm-merge/sys/conf/files.pc98#2 integrate .. //depot/projects/drm-merge/sys/conf/files.powerpc#2 integrate .. //depot/projects/drm-merge/sys/conf/files.sparc64#2 integrate .. //depot/projects/drm-merge/sys/conf/kern.mk#2 integrate .. //depot/projects/drm-merge/sys/conf/kern.post.mk#2 integrate .. //depot/projects/drm-merge/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/drm-merge/sys/conf/kmod.mk#2 integrate .. //depot/projects/drm-merge/sys/conf/majors#2 delete .. //depot/projects/drm-merge/sys/conf/majors.awk#2 delete .. //depot/projects/drm-merge/sys/conf/options#2 integrate .. //depot/projects/drm-merge/sys/conf/options.arm#2 integrate .. //depot/projects/drm-merge/sys/conf/options.i386#2 integrate .. //depot/projects/drm-merge/sys/contrib/altq/altq/altq_subr.c#2 integrate .. //depot/projects/drm-merge/sys/contrib/altq/altq/altq_var.h#2 integrate .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/access601.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/array.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/atapi.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/command.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/gui_lib.c#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/hptproc.c#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/i386-elf.raid.o.uu#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/ioctl.c#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/mvSata.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/mvStorageDev.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/raid5n.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/readme.txt#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/hptmv/vdevice.h#2 delete .. //depot/projects/drm-merge/sys/contrib/dev/nve/adapter.h#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/amd64/nvenetlib.o.bz2.uu#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/basetype.h#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/drvinfo.h#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/i386/nvenetlib.o.bz2.uu#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/os.h#1 branch .. //depot/projects/drm-merge/sys/contrib/dev/nve/phy.h#1 branch .. //depot/projects/drm-merge/sys/contrib/ipfilter/netinet/mlfk_ipl.c#2 integrate .. //depot/projects/drm-merge/sys/contrib/pf/net/pf_if.c#2 integrate .. //depot/projects/drm-merge/sys/crypto/cast128/cast128.c#2 delete .. //depot/projects/drm-merge/sys/crypto/cast128/cast128.h#2 delete .. //depot/projects/drm-merge/sys/crypto/cast128/cast128sb.h#2 delete .. //depot/projects/drm-merge/sys/crypto/md5.c#2 delete .. //depot/projects/drm-merge/sys/crypto/md5.h#2 delete .. //depot/projects/drm-merge/sys/crypto/rijndael/rijndael-alg-fst.c#2 integrate .. //depot/projects/drm-merge/sys/crypto/rijndael/rijndael-alg-fst.h#2 delete .. //depot/projects/drm-merge/sys/crypto/rijndael/rijndael-api-fst.c#2 integrate .. //depot/projects/drm-merge/sys/crypto/rijndael/rijndael-api-fst.h#2 integrate .. //depot/projects/drm-merge/sys/crypto/rijndael/rijndael.h#2 integrate .. //depot/projects/drm-merge/sys/dev/aac/aac.c#2 integrate .. //depot/projects/drm-merge/sys/dev/aac/aac_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpi_support/acpi_asus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpi_support/acpi_fujitsu.c#1 branch .. //depot/projects/drm-merge/sys/dev/acpi_support/acpi_ibm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpi_support/acpi_sony.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpi_support/acpi_toshiba.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_battery.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_button.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_ec.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_if.m#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_pcib_acpi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_pcibvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_perf.c#3 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_quirks#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_resource.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_thermal.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_throttle.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_timer.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpi_video.c#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpiio.h#2 integrate .. //depot/projects/drm-merge/sys/dev/acpica/acpivar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/adlink/adlink.c#2 integrate .. //depot/projects/drm-merge/sys/dev/advansys/adv_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/advansys/adw_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/advansys/adwlib.c#2 integrate .. //depot/projects/drm-merge/sys/dev/aic7xxx/ahc_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/aic7xxx/ahd_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/aic7xxx/aic7xxx.c#2 integrate .. //depot/projects/drm-merge/sys/dev/amd/amd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/amr/amr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/amr/amr_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/an/if_an.c#2 integrate .. //depot/projects/drm-merge/sys/dev/an/if_an_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ar/if_ar_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/arcmsr/arcmsr.c#1 branch .. //depot/projects/drm-merge/sys/dev/arcmsr/arcmsr.h#1 branch .. //depot/projects/drm-merge/sys/dev/asr/asr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-card.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-cbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-commands.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-isa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-queue.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata-raid.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/ata_if.m#1 branch .. //depot/projects/drm-merge/sys/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-cd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-cd.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-fd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-fd.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-tape.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ata/atapi-tape.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/ath_rate/amrr/amrr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/ath_rate/onoe/onoe.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/ath_rate/sample/sample.c#1 branch .. //depot/projects/drm-merge/sys/dev/ath/ath_rate/sample/sample.h#1 branch .. //depot/projects/drm-merge/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/if_ath_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/if_athioctl.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/if_athrate.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ath/if_athvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/awi/awi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/bfe/if_bfe.c#2 integrate .. //depot/projects/drm-merge/sys/dev/bge/if_bge.c#2 integrate .. //depot/projects/drm-merge/sys/dev/bge/if_bgereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/bktr/bktr_os.c#2 integrate .. //depot/projects/drm-merge/sys/dev/cardbus/cardbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/cardbus/cardbus_cis.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/drm-merge/sys/dev/cp/if_cp.c#2 integrate .. //depot/projects/drm-merge/sys/dev/cpufreq/ichss.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/drm-merge/sys/dev/cx/machdep.h#2 integrate .. //depot/projects/drm-merge/sys/dev/cy/cy_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/digi/digi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/digi/digi_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/dpt/dpt_eisa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/dpt/dpt_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/drm/radeon_state.c#5 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed_isa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed_sic.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_ed_wd80x3.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ed/if_edvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/eisa/eisaconf.c#2 integrate .. //depot/projects/drm-merge/sys/dev/em/if_em.c#2 integrate .. //depot/projects/drm-merge/sys/dev/en/if_en_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/esp/esp_sbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/esp/ncr53c9x.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fatm/if_fatm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fb/s3_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fb/vga.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fb/vgareg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/fdc/fdc.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fdc/fdc_isa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fe_cbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fe_isa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fe_pccard.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/if_fevar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/fe/mb86960.h#2 integrate .. //depot/projects/drm-merge/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/drm-merge/sys/dev/firewire/fwohci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/firewire/fwohci_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/drm-merge/sys/dev/fxp/if_fxpreg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/fxp/if_fxpvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/gem/if_gem_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hatm/if_hatm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hfa/hfa_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hifn/hifn7751.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hme/if_hme_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hme/if_hme_sbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hptmv/access601.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/array.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/atapi.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/command.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/entry.c#2 integrate .. //depot/projects/drm-merge/sys/dev/hptmv/global.h#2 integrate .. //depot/projects/drm-merge/sys/dev/hptmv/gui_lib.c#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/hptproc.c#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/i386-elf.raid.o.uu#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/ioctl.c#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/mvSata.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/mvStorageDev.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/raid5n.h#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/readme.txt#1 branch .. //depot/projects/drm-merge/sys/dev/hptmv/vdevice.h#1 branch .. //depot/projects/drm-merge/sys/dev/ichsmb/ichsmb.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ichsmb/ichsmb_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ida/ida_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/idt/idt_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ieee488/ibfoo.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ieee488/upd7210.c#2 integrate .. //depot/projects/drm-merge/sys/dev/if_ndis/if_ndis.c#2 integrate .. //depot/projects/drm-merge/sys/dev/if_ndis/if_ndis_pccard.c#2 integrate .. //depot/projects/drm-merge/sys/dev/if_ndis/if_ndis_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/if_ndis/if_ndis_usb.c#1 branch .. //depot/projects/drm-merge/sys/dev/iir/iir.h#2 integrate .. //depot/projects/drm-merge/sys/dev/iir/iir_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ips/ips_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/isp/isp_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/isp/ispvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ixgb/if_ixgb.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ixgb/if_ixgb.h#2 integrate .. //depot/projects/drm-merge/sys/dev/ixgb/if_ixgb_osdep.h#2 integrate .. //depot/projects/drm-merge/sys/dev/kbd/atkbd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/kbd/atkbdc.c#2 integrate .. //depot/projects/drm-merge/sys/dev/led/led.c#2 integrate .. //depot/projects/drm-merge/sys/dev/lge/if_lge.c#2 integrate .. //depot/projects/drm-merge/sys/dev/lnc/if_lnc_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mcd/mcdreg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/mlx/mlx.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mlx/mlx_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mly/mly.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mpt/mpilib/mpi_type.h#2 integrate .. //depot/projects/drm-merge/sys/dev/mpt/mpt_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mse/mse.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mse/mse_cbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mse/mse_isa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/mse/msevar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/musycc/musycc.c#2 integrate .. //depot/projects/drm-merge/sys/dev/my/if_my.c#2 integrate .. //depot/projects/drm-merge/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/drm-merge/sys/dev/nmdm/nmdm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/null/null.c#2 integrate .. //depot/projects/drm-merge/sys/dev/nve/if_nve.c#1 branch .. //depot/projects/drm-merge/sys/dev/nve/if_nvereg.h#1 branch .. //depot/projects/drm-merge/sys/dev/patm/if_patm_attach.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pccard/pccard.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pccard/pccard_cis_quirks.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pccard/pccarddevs#2 integrate .. //depot/projects/drm-merge/sys/dev/pccard/pccardvar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/pccbb/pccbb_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pci/pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pci/pci_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pci/pci_private.h#2 integrate .. //depot/projects/drm-merge/sys/dev/pci/pci_user.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pci/pcireg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/pdq/if_fpa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pdq/pdq_ifsubr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ppbus/lpt.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ppbus/pps.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/drm-merge/sys/dev/pst/pst-pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/puc/puc.c#2 integrate .. //depot/projects/drm-merge/sys/dev/puc/puc_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/puc/puc_sbus.c#2 integrate .. //depot/projects/drm-merge/sys/dev/random/hash.c#2 integrate .. //depot/projects/drm-merge/sys/dev/random/nehemiah.c#2 integrate .. //depot/projects/drm-merge/sys/dev/random/randomdev_soft.c#2 integrate .. //depot/projects/drm-merge/sys/dev/random/yarrow.c#2 integrate .. //depot/projects/drm-merge/sys/dev/re/if_re.c#2 integrate .. //depot/projects/drm-merge/sys/dev/rp/rp_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/safe/safe.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sbsh/if_sbsh.c#2 integrate .. //depot/projects/drm-merge/sys/dev/scd/scdreg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/si/si_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sio/sio_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/snc/dp83932.c#2 integrate .. //depot/projects/drm-merge/sys/dev/snp/snp.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/als4000.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/au88x0.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/aureal.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/cs4281.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/es137x.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/fm801.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/maestro.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/maestro3.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/solo.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/via8233.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/via82c686.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pci/vibes.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pcm/dsp.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pcm/mixer.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pcm/sndstat.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/sbus/cs4231.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sound/usb/uaudio_pcm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sr/if_sr_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/stg/tmc18c30_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sx/sx_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/sym/sym_hipd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/syscons/apm/apm_saver.c#2 integrate .. //depot/projects/drm-merge/sys/dev/syscons/syscons.c#2 integrate .. //depot/projects/drm-merge/sys/dev/syscons/sysmouse.c#2 integrate .. //depot/projects/drm-merge/sys/dev/tdfx/tdfx_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/tga/tga_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/trm/trm.c#2 integrate .. //depot/projects/drm-merge/sys/dev/twa/tw_cl.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_externs.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_fwif.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_fwimg.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_init.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_intr.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_io.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_ioctl.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_misc.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_cl_share.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_cam.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_externs.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_freebsd.c#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_includes.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_ioctl.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_share.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/tw_osl_types.h#1 branch .. //depot/projects/drm-merge/sys/dev/twa/twa.c#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa.h#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_cam.c#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_externs.h#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_freebsd.c#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_fwimg.c#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_globals.c#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_includes.h#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_ioctl.h#2 delete .. //depot/projects/drm-merge/sys/dev/twa/twa_reg.h#2 delete .. //depot/projects/drm-merge/sys/dev/twe/twe_freebsd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/tx/if_tx.c#2 integrate .. //depot/projects/drm-merge/sys/dev/txp/if_txp.c#2 integrate .. //depot/projects/drm-merge/sys/dev/uart/uart_core.c#2 integrate .. //depot/projects/drm-merge/sys/dev/uart/uart_cpu_sparc64.c#2 integrate .. //depot/projects/drm-merge/sys/dev/ubsec/ubsec.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ehci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ehci_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ehcivar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_aue.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_auereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_axe.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_axereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_cdce.c#1 branch .. //depot/projects/drm-merge/sys/dev/usb/if_cdcereg.h#1 branch .. //depot/projects/drm-merge/sys/dev/usb/if_cue.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_cuereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_kue.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_kuereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_rue.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_ruereg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_udav.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/if_udavreg.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ohci_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ohcivar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ubser.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ubser.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ucom.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uftdi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uhci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uhci_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uhcivar.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uhub.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/ukbd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/umass.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/uplcom.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usb.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usb_ethersubr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usb_ethersubr.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usb_subr.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbcdc.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbdi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbdi.h#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbdi_util.c#2 integrate .. //depot/projects/drm-merge/sys/dev/usb/usbdi_util.h#2 integrate .. //depot/projects/drm-merge/sys/dev/utopia/idtphy.c#1 branch .. //depot/projects/drm-merge/sys/dev/utopia/suni.c#1 branch .. //depot/projects/drm-merge/sys/dev/utopia/utopia.c#2 integrate .. //depot/projects/drm-merge/sys/dev/utopia/utopia.h#2 integrate .. //depot/projects/drm-merge/sys/dev/utopia/utopia_priv.h#1 branch .. //depot/projects/drm-merge/sys/dev/vge/if_vge.c#2 integrate .. //depot/projects/drm-merge/sys/dev/vkbd/vkbd.c#2 integrate .. //depot/projects/drm-merge/sys/dev/vx/if_vx_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/drm-merge/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/drm-merge/sys/dev/wi/if_wi_pci.c#2 integrate .. //depot/projects/drm-merge/sys/dev/zs/zs_sbus.c#2 delete .. //depot/projects/drm-merge/sys/fs/deadfs/dead_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/devfs/devfs.h#2 integrate .. //depot/projects/drm-merge/sys/fs/devfs/devfs_devs.c#2 integrate .. //depot/projects/drm-merge/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/drm-merge/sys/fs/devfs/devfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/devfs/devfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/fdescfs/fdesc_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/fdescfs/fdesc_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/fifofs/fifo_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/hpfs/hpfs.h#2 integrate .. //depot/projects/drm-merge/sys/fs/hpfs/hpfs_hash.c#2 delete .. //depot/projects/drm-merge/sys/fs/hpfs/hpfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/hpfs/hpfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/denode.h#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfs_denode.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfs_lookup.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/msdosfs/msdosfsmount.h#2 integrate .. //depot/projects/drm-merge/sys/fs/ntfs/ntfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/ntfs/ntfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nullfs/null.h#2 integrate .. //depot/projects/drm-merge/sys/fs/nullfs/null_subr.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nullfs/null_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nullfs/null_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nwfs/nwfs_node.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nwfs/nwfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/nwfs/nwfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/portalfs/portal_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/portalfs/portal_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/procfs/procfs_status.c#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs.c#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs.h#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs_fileno.c#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs_internal.h#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs_vncache.c#2 integrate .. //depot/projects/drm-merge/sys/fs/pseudofs/pseudofs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/drm-merge/sys/fs/smbfs/smbfs_node.c#2 integrate .. //depot/projects/drm-merge/sys/fs/smbfs/smbfs_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/smbfs/smbfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/udf/udf.h#2 integrate .. //depot/projects/drm-merge/sys/fs/udf/udf_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/udf/udf_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/umapfs/umap_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/umapfs/umap_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/unionfs/union_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/fs/unionfs/union_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/gdb/gdb_main.c#2 integrate .. //depot/projects/drm-merge/sys/geom/bde/g_bde.c#2 integrate .. //depot/projects/drm-merge/sys/geom/bde/g_bde_crypt.c#2 integrate .. //depot/projects/drm-merge/sys/geom/bde/g_bde_lock.c#2 integrate .. //depot/projects/drm-merge/sys/geom/bde/g_bde_work.c#2 integrate .. //depot/projects/drm-merge/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/drm-merge/sys/geom/concat/g_concat.h#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_aes.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_bsd.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_ctl.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_dev.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_disk.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_disk.h#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_gpt.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_mbr.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_pc98.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_subr.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_sunlabel.c#2 integrate .. //depot/projects/drm-merge/sys/geom/geom_sunlabel_enc.c#2 integrate .. //depot/projects/drm-merge/sys/geom/label/g_label.c#2 integrate .. //depot/projects/drm-merge/sys/geom/label/g_label.h#2 integrate .. //depot/projects/drm-merge/sys/geom/mirror/g_mirror.c#2 integrate .. //depot/projects/drm-merge/sys/geom/mirror/g_mirror.h#2 integrate .. //depot/projects/drm-merge/sys/geom/mirror/g_mirror_ctl.c#2 integrate .. //depot/projects/drm-merge/sys/geom/raid3/g_raid3.c#2 integrate .. //depot/projects/drm-merge/sys/geom/raid3/g_raid3.h#2 integrate .. //depot/projects/drm-merge/sys/geom/raid3/g_raid3_ctl.c#2 integrate .. //depot/projects/drm-merge/sys/geom/shsec/g_shsec.c#2 integrate .. //depot/projects/drm-merge/sys/geom/shsec/g_shsec.h#2 integrate .. //depot/projects/drm-merge/sys/geom/stripe/g_stripe.c#2 integrate .. //depot/projects/drm-merge/sys/geom/stripe/g_stripe.h#2 integrate .. //depot/projects/drm-merge/sys/geom/vinum/geom_vinum.c#2 integrate .. //depot/projects/drm-merge/sys/geom/vinum/geom_vinum_drive.c#2 integrate .. //depot/projects/drm-merge/sys/geom/vinum/geom_vinum_init.c#2 integrate .. //depot/projects/drm-merge/sys/geom/vinum/geom_vinum_var.h#2 integrate .. //depot/projects/drm-merge/sys/geom/vinum/geom_vinum_volume.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_alloc.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_extern.h#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_ihash.c#2 delete .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_inode.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_linux_balloc.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_lookup.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/ext2_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/gnu/ext2fs/inode.h#2 integrate .. //depot/projects/drm-merge/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/drm-merge/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/drm-merge/sys/i386/bios/apm.c#2 integrate .. //depot/projects/drm-merge/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/drm-merge/sys/i386/conf/NOTES#3 integrate .. //depot/projects/drm-merge/sys/i386/conf/PAE#2 integrate .. //depot/projects/drm-merge/sys/i386/cpufreq/est.c#1 branch .. //depot/projects/drm-merge/sys/i386/cpufreq/p4tcc.c#1 branch .. //depot/projects/drm-merge/sys/i386/cpufreq/powernow.c#1 branch .. //depot/projects/drm-merge/sys/i386/i386/bios.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/busdma_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/critical.c#2 delete .. //depot/projects/drm-merge/sys/i386/i386/identcpu.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/in_cksum.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/mp_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/mp_watchdog.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/p4tcc.c#2 delete .. //depot/projects/drm-merge/sys/i386/i386/sys_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/trap.c#2 integrate .. //depot/projects/drm-merge/sys/i386/i386/vm_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/ibcs2/ibcs2_misc.c#2 integrate .. //depot/projects/drm-merge/sys/i386/ibcs2/ibcs2_msg.c#2 integrate .. //depot/projects/drm-merge/sys/i386/ibcs2/imgact_coff.c#2 integrate .. //depot/projects/drm-merge/sys/i386/include/_types.h#3 integrate .. //depot/projects/drm-merge/sys/i386/include/apm_bios.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/atomic.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/bus.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/bus_at386.h#2 delete .. //depot/projects/drm-merge/sys/i386/include/bus_dma.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/bus_pc98.h#2 delete .. //depot/projects/drm-merge/sys/i386/include/clock.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/cpufunc.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/critical.h#2 delete .. //depot/projects/drm-merge/sys/i386/include/endian.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/floatingpoint.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/ieeefp.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/in_cksum.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/ioctl_bt848.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/ioctl_meteor.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/limits.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/md_var.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/npx.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/pci_cfgreg.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/pcpu.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/proc.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/profile.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/stdarg.h#2 integrate .. //depot/projects/drm-merge/sys/i386/include/varargs.h#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/clock.c#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/ic/mb86960.h#2 delete .. //depot/projects/drm-merge/sys/i386/isa/isa.h#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/npx.c#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/pcf.c#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/prof_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/isa/vesa.c#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/imgact_linux.c#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/linux_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/drm-merge/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/drm-merge/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/drm-merge/sys/i4b/layer1/isic/i4b_isic.h#2 integrate .. //depot/projects/drm-merge/sys/i4b/layer1/iwic/i4b_iwic_pci.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/drm-merge/sys/ia64/conf/NOTES#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia32/ia32_trap.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/autoconf.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/busdma_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/critical.c#2 delete .. //depot/projects/drm-merge/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/machdep.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/mp_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/nexus.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/ia64/vm_machdep.c#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/_types.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/bus.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/bus_dma.h#1 branch .. //depot/projects/drm-merge/sys/ia64/include/cpufunc.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/critical.h#2 delete .. //depot/projects/drm-merge/sys/ia64/include/endian.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/in_cksum.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/limits.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/proc.h#2 integrate .. //depot/projects/drm-merge/sys/ia64/include/stdarg.h#2 integrate .. //depot/projects/drm-merge/sys/isa/isa_common.c#2 integrate .. //depot/projects/drm-merge/sys/isa/isahint.c#2 integrate .. //depot/projects/drm-merge/sys/isa/isavar.h#2 integrate .. //depot/projects/drm-merge/sys/isa/vga_isa.c#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/cd9660_lookup.c#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/cd9660_node.c#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/cd9660_node.h#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/cd9660_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/cd9660_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/isofs/cd9660/iso.h#2 integrate .. //depot/projects/drm-merge/sys/kern/imgact_elf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/imgact_gzip.c#2 integrate .. //depot/projects/drm-merge/sys/kern/imgact_shell.c#2 integrate .. //depot/projects/drm-merge/sys/kern/init_sysent.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_acct.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_conf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_cpu.c#3 integrate .. //depot/projects/drm-merge/sys/kern/kern_descrip.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_environment.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_event.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_exec.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_exit.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_fork.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_idle.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_intr.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_jail.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_kse.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_linker.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_lock.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_lockf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_malloc.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_mib.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_mutex.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_ntptime.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_poll.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_proc.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_prot.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_shutdown.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_sig.c#3 integrate .. //depot/projects/drm-merge/sys/kern/kern_switch.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_synch.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_tc.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_thread.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_time.c#2 integrate .. //depot/projects/drm-merge/sys/kern/kern_umtx.c#2 integrate .. //depot/projects/drm-merge/sys/kern/sched_4bsd.c#2 integrate .. //depot/projects/drm-merge/sys/kern/sched_ule.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_bus.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_eventhandler.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_hints.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_log.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_prf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_prof.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_rman.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_trap.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_unit.c#2 integrate .. //depot/projects/drm-merge/sys/kern/subr_witness.c#2 integrate .. //depot/projects/drm-merge/sys/kern/sys_generic.c#2 integrate .. //depot/projects/drm-merge/sys/kern/sys_process.c#2 integrate .. //depot/projects/drm-merge/sys/kern/sys_socket.c#2 integrate .. //depot/projects/drm-merge/sys/kern/syscalls.c#2 integrate .. //depot/projects/drm-merge/sys/kern/syscalls.master#2 integrate .. //depot/projects/drm-merge/sys/kern/sysv_sem.c#2 integrate .. //depot/projects/drm-merge/sys/kern/tty.c#2 integrate .. //depot/projects/drm-merge/sys/kern/tty_cons.c#2 integrate .. //depot/projects/drm-merge/sys/kern/tty_pty.c#2 integrate .. //depot/projects/drm-merge/sys/kern/tty_tty.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_accf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_mbuf.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_sem.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_socket.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_socket2.c#2 integrate .. //depot/projects/drm-merge/sys/kern/uipc_syscalls.c#3 integrate .. //depot/projects/drm-merge/sys/kern/uipc_usrreq.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_aio.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_cache.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_default.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_export.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_hash.c#1 branch .. //depot/projects/drm-merge/sys/kern/vfs_init.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_lookup.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_mount.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/drm-merge/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vfs_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/kern/vnode_if.src#2 integrate .. //depot/projects/drm-merge/sys/libkern/strspn.c#2 integrate .. //depot/projects/drm-merge/sys/modules/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/acpi/acpi_fujitsu/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/acpi/acpi_perf/Makefile#2 delete .. //depot/projects/drm-merge/sys/modules/arcmsr/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/asr/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/ata/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/Makefile.inc#1 branch .. //depot/projects/drm-merge/sys/modules/ata/ata/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atacam/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atacard/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atacbus/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atadisk/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/ataisa/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atapci/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atapicam/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atapicd/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atapifd/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/atapist/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ata/ataraid/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/ath_rate_sample/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/auxio/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/cdce/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/cpufreq/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/crypto/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/ep/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/ext2fs/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/hpfs/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/hptmv/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/ndis/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/nve/Makefile#1 branch .. //depot/projects/drm-merge/sys/modules/pseudofs/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/twa/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/ufs/Makefile#2 integrate .. //depot/projects/drm-merge/sys/modules/utopia/Makefile#2 integrate .. //depot/projects/drm-merge/sys/net/bpf.c#2 integrate .. //depot/projects/drm-merge/sys/net/bridge.c#2 integrate .. //depot/projects/drm-merge/sys/net/if.c#2 integrate .. //depot/projects/drm-merge/sys/net/if.h#2 integrate .. //depot/projects/drm-merge/sys/net/if_clone.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_disc.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_ef.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/drm-merge/sys/net/if_faith.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_fddisubr.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_fwsubr.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_loop.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_media.h#2 integrate .. //depot/projects/drm-merge/sys/net/if_stf.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_tap.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_tun.c#2 integrate .. //depot/projects/drm-merge/sys/net/if_types.h#2 integrate .. //depot/projects/drm-merge/sys/net/if_var.h#2 integrate .. //depot/projects/drm-merge/sys/net/rtsock.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_crypto.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_crypto.h#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_node.h#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_output.c#2 integrate .. //depot/projects/drm-merge/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/drm-merge/sys/netatalk/aarp.c#2 integrate .. //depot/projects/drm-merge/sys/netatalk/at_control.c#2 integrate .. //depot/projects/drm-merge/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/drm-merge/sys/netatalk/at_var.h#2 integrate .. //depot/projects/drm-merge/sys/netatalk/ddp_output.c#2 integrate .. //depot/projects/drm-merge/sys/netatm/atm_cm.c#2 integrate .. //depot/projects/drm-merge/sys/netatm/atm_socket.c#2 integrate .. //depot/projects/drm-merge/sys/netatm/atm_var.h#2 integrate .. //depot/projects/drm-merge/sys/netatm/ipatm/ipatm_load.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/netflow/netflow.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/netflow/ng_netflow.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/netflow/ng_netflow.h#2 integrate .. //depot/projects/drm-merge/sys/netgraph/netgraph.h#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_base.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_device.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_etf.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_iface.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_one2many.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_parse.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_pppoe.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_source.c#2 integrate .. //depot/projects/drm-merge/sys/netgraph/ng_source.h#2 integrate .. //depot/projects/drm-merge/sys/netinet/if_ether.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/if_ether.h#2 integrate .. //depot/projects/drm-merge/sys/netinet/igmp.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/in.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/in.h#2 integrate .. //depot/projects/drm-merge/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/in_proto.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_carp.c#1 branch .. //depot/projects/drm-merge/sys/netinet/ip_carp.h#1 branch .. //depot/projects/drm-merge/sys/netinet/ip_dummynet.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_fw_pfil.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_input.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_mroute.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/ip_output.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/raw_ip.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_input.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_sack.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_seq.h#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_subr.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/drm-merge/sys/netinet/tcp_var.h#2 integrate .. //depot/projects/drm-merge/sys/netinet/udp_usrreq.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/esp_core.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/icmp6.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/in6.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/in6_ifattach.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/in6_proto.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/in6_var.h#2 integrate .. //depot/projects/drm-merge/sys/netinet6/ip6_input.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/ip6_output.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/ipsec.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/mld6.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/nd6.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/drm-merge/sys/netinet6/raw_ip6.c#2 integrate .. //depot/projects/drm-merge/sys/netipsec/ipsec.c#2 integrate .. //depot/projects/drm-merge/sys/netipx/README#2 integrate .. //depot/projects/drm-merge/sys/netipx/ipx_input.c#2 integrate .. //depot/projects/drm-merge/sys/netipx/spx_usrreq.c#2 integrate .. //depot/projects/drm-merge/sys/netncp/ncp_nls.c#2 integrate .. //depot/projects/drm-merge/sys/netsmb/smb_dev.c#2 integrate .. //depot/projects/drm-merge/sys/nfs4client/nfs4_vfsops.c#2 integrate .. //depot/projects/drm-merge/sys/nfs4client/nfs4_vnops.c#2 integrate .. //depot/projects/drm-merge/sys/nfsclient/krpc_subr.c#2 integrate >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 13 04:23:00 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34F2F16A4D0; Wed, 13 Apr 2005 04:23:00 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0CC7D16A4CE for ; Wed, 13 Apr 2005 04:23:00 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0D6F43D1F for ; Wed, 13 Apr 2005 04:22:59 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D4Mxnw007372 for ; Wed, 13 Apr 2005 04:22:59 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D4MxF4007369 for perforce@freebsd.org; Wed, 13 Apr 2005 04:22:59 GMT (envelope-from anholt@freebsd.org) Date: Wed, 13 Apr 2005 04:22:59 GMT Message-Id: <200504130422.j3D4MxF4007369@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75042 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 04:23:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=75042 Change 75042 by anholt@anholt_leguin on 2005/04/13 04:22:51 IF drm-merge-vendor@75038 Affected files ... .. //depot/projects/drm-merge/sys/dev/drm/i915_dma.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/i915_drm.h#1 branch .. //depot/projects/drm-merge/sys/dev/drm/i915_drv.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/i915_drv.h#1 branch .. //depot/projects/drm-merge/sys/dev/drm/i915_irq.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/i915_mem.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/mach64_dma.c#4 integrate .. //depot/projects/drm-merge/sys/dev/drm/radeon_drm.h#4 integrate .. //depot/projects/drm-merge/sys/dev/drm/radeon_drv.h#4 integrate .. //depot/projects/drm-merge/sys/dev/drm/radeon_state.c#6 integrate .. //depot/projects/drm-merge/sys/dev/drm/savage_bci.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/savage_drm.h#1 branch .. //depot/projects/drm-merge/sys/dev/drm/savage_drv.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/savage_drv.h#1 branch .. //depot/projects/drm-merge/sys/dev/drm/savage_state.c#1 branch .. //depot/projects/drm-merge/sys/dev/drm/sis_mm.c#5 integrate Differences ... ==== //depot/projects/drm-merge/sys/dev/drm/mach64_dma.c#4 (text+ko) ==== @@ -497,8 +497,7 @@ (i >= ring->head - MACH64_DUMP_CONTEXT * 4 && i <= ring->head + MACH64_DUMP_CONTEXT * 4)) { DRM_INFO(" 0x%08x: 0x%08x 0x%08x 0x%08x 0x%08x%s%s\n", - (unsigned int)(ring->start_addr + - i * sizeof(u32)), + (u32)(ring->start_addr + i * sizeof(u32)), le32_to_cpu(((u32 *) ring->start)[i + 0]), le32_to_cpu(((u32 *) ring->start)[i + 1]), le32_to_cpu(((u32 *) ring->start)[i + 2]), ==== //depot/projects/drm-merge/sys/dev/drm/radeon_drm.h#4 (text+ko) ==== @@ -153,7 +153,8 @@ #define RADEON_EMIT_PP_CUBIC_OFFSETS_T1 81 #define RADEON_EMIT_PP_CUBIC_FACES_2 82 #define RADEON_EMIT_PP_CUBIC_OFFSETS_T2 83 -#define RADEON_MAX_STATE_PACKETS 84 +#define R200_EMIT_PP_TRI_PERF_CNTL 84 +#define RADEON_MAX_STATE_PACKETS 85 /* Commands understood by cmd_buffer ioctl. More can be added but * obviously these can't be removed or changed: ==== //depot/projects/drm-merge/sys/dev/drm/radeon_drv.h#4 (text+ko) ==== @@ -44,7 +44,7 @@ #define DRIVER_NAME "radeon" #define DRIVER_DESC "ATI Radeon" -#define DRIVER_DATE "20050208" +#define DRIVER_DATE "20050311" /* Interface history: * @@ -86,10 +86,12 @@ * - Add R100/R200 surface allocation/free support * 1.15- Add support for texture micro tiling * - Add support for r100 cube maps + * 1.16- Add R200_EMIT_PP_TRI_PERF_CNTL packet to support brilinear + * texture filtering on r200 */ #define DRIVER_MAJOR 1 -#define DRIVER_MINOR 15 +#define DRIVER_MINOR 16 #define DRIVER_PATCHLEVEL 0 enum radeon_family { @@ -659,6 +661,8 @@ # define RADEON_3D_DRAW_IMMD 0x00002900 # define RADEON_3D_DRAW_INDX 0x00002A00 # define RADEON_3D_LOAD_VBPNTR 0x00002F00 +# define RADEON_MPEG_IDCT_MACROBLOCK 0x00003000 +# define RADEON_MPEG_IDCT_MACROBLOCK_REV 0x00003100 # define RADEON_3D_CLEAR_ZMASK 0x00003200 # define RADEON_3D_CLEAR_HIZ 0x00003700 # define RADEON_CNTL_HOSTDATA_BLT 0x00009400 @@ -827,6 +831,8 @@ #define R200_SE_TCL_POINT_SPRITE_CNTL 0x22c4 +#define R200_PP_TRI_PERF 0x2cf8 + /* Constants */ #define RADEON_MAX_USEC_TIMEOUT 100000 /* 100 ms */ ==== //depot/projects/drm-merge/sys/dev/drm/radeon_state.c#6 (text+ko) ==== @@ -211,6 +211,7 @@ case RADEON_EMIT_PP_CUBIC_FACES_0: case RADEON_EMIT_PP_CUBIC_FACES_1: case RADEON_EMIT_PP_CUBIC_FACES_2: + case R200_EMIT_PP_TRI_PERF_CNTL: /* These packets don't contain memory offsets */ break; @@ -583,7 +584,8 @@ RADEON_PP_CUBIC_FACES_1, 1, "RADEON_PP_CUBIC_FACES_1"}, { RADEON_PP_CUBIC_OFFSET_T1_0, 5, "RADEON_PP_CUBIC_OFFSET_T1_0"}, { RADEON_PP_CUBIC_FACES_2, 1, "RADEON_PP_CUBIC_FACES_2"}, { - RADEON_PP_CUBIC_OFFSET_T2_0, 5, "RADEON_PP_CUBIC_OFFSET_T2_0"}, + RADEON_PP_CUBIC_OFFSET_T2_0, 5, "RADEON_PP_CUBIC_OFFSET_T2_0"}, { + R200_PP_TRI_PERF, 2, "R200_PP_TRI_PERF"}, }; /* ================================================================ ==== //depot/projects/drm-merge/sys/dev/drm/sis_mm.c#5 (text+ko) ==== @@ -272,7 +272,7 @@ { DRM_DEVICE; drm_sis_private_t *dev_priv = dev->dev_private; - drm_sis_mem_t __user *argp = (void __user *)data; + drm_sis_mem_t __user *argp = (drm_sis_mem_t __user *)data; drm_sis_mem_t agp; PMemBlock block; int retval = 0; From owner-p4-projects@FreeBSD.ORG Wed Apr 13 04:50:35 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4E75916A4D0; Wed, 13 Apr 2005 04:50:35 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 16D8E16A4CE for ; Wed, 13 Apr 2005 04:50:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3392643D2F for ; Wed, 13 Apr 2005 04:50:34 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D4oY3p015420 for ; Wed, 13 Apr 2005 04:50:34 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D4oX0x015417 for perforce@freebsd.org; Wed, 13 Apr 2005 04:50:33 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 13 Apr 2005 04:50:33 GMT Message-Id: <200504130450.j3D4oX0x015417@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 04:50:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=75044 Change 75044 by davidxu@davidxu_celeron on 2005/04/13 04:49:39 IFC. Affected files ... .. //depot/projects/davidxu_thread/src/contrib/traceroute/traceroute.8#2 integrate .. //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#11 integrate .. //depot/projects/davidxu_thread/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#10 integrate .. //depot/projects/davidxu_thread/src/release/doc/share/misc/dev.archlist.txt#10 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/tap.4#3 integrate .. //depot/projects/davidxu_thread/src/share/man/man4/unix.4#2 integrate .. //depot/projects/davidxu_thread/src/share/misc/pci_vendors#2 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/interrupt.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/alpha/alpha/trap.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/intr_machdep.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/trap.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/ia32/ia32_syscall.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/ieeefp.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/support.S#4 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/trap.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/undefined.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.alpha#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.amd64#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.arm#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.i386#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.ia64#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.pc98#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.powerpc#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.sparc64#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files#10 integrate .. //depot/projects/davidxu_thread/src/sys/conf/files.arm#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-raid.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-raid.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ath/if_ath.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ath/if_athvar.h#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pccard/pccard.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pccard/pccardvar.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ppc/ppc.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_externs.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_fwif.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_fwimg.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_init.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_intr.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_io.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_ioctl.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_misc.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_cl_share.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_cam.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_externs.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_freebsd.c#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_includes.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_ioctl.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_share.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/tw_osl_types.h#1 branch .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa.c#4 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa.h#5 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_cam.c#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_externs.h#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_freebsd.c#5 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_fwimg.c#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_globals.c#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_includes.h#2 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_ioctl.h#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/twa/twa_reg.h#3 delete .. //depot/projects/davidxu_thread/src/sys/dev/wi/if_wi.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/i386/bios/apm.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/intr_machdep.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/trap.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/i386/isa/clock.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia32/ia32_trap.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/interrupt.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/trap.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/isa/isahint.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/isa/isavar.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_intr.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_malloc.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_bus.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/kern/subr_witness.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/modules/Makefile#10 integrate .. //depot/projects/davidxu_thread/src/sys/modules/twa/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/sys/net/if_tap.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_crypto.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_crypto.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/net80211/ieee80211_ioctl.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/pci/if_pcn.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/powerpc/trap.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/powerpc/psim/ata_iobus.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/trap.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/sys/bus.h#9 integrate .. //depot/projects/davidxu_thread/src/sys/sys/param.h#8 integrate .. //depot/projects/davidxu_thread/src/sys/sys/socket.h#6 integrate .. //depot/projects/davidxu_thread/src/sys/sys/un.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/sys/unpcb.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/vm/vm_meter.c#5 integrate .. //depot/projects/davidxu_thread/src/tools/tools/README#5 integrate .. //depot/projects/davidxu_thread/src/tools/tools/ath/80211stats.c#4 integrate .. //depot/projects/davidxu_thread/src/usr.bin/calendar/calendars/calendar.freebsd#12 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/syslogd/syslogd.8#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/syslogd/syslogd.c#4 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/yppush/yppush_main.c#2 integrate Differences ... ==== //depot/projects/davidxu_thread/src/contrib/traceroute/traceroute.8#2 (text+ko) ==== @@ -14,7 +14,7 @@ .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ -.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.10 2002/12/13 22:26:10 fenner Exp $ +.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.11 2005/04/12 15:16:32 thomas Exp $ .\" .TH TRACEROUTE 8 "21 September 2000" .UC 6 @@ -151,7 +151,7 @@ Traceroute hopes that nothing is listening on UDP ports .I base to -.I base + nhops - 1 +.I base + nhops * nprobes - 1 at the destination host (so an ICMP PORT_UNREACHABLE message will be returned to terminate the route tracing). If something is listening on a port in the default range, this option can be used ==== //depot/projects/davidxu_thread/src/etc/defaults/rc.conf#11 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.246 2005/04/11 02:45:05 dougb Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.247 2005/04/12 15:21:51 thomas Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -436,7 +436,7 @@ chkprintcap_flags="-d" # Create missing directories by default. usbd_enable="NO" # Run the usbd daemon. usbd_flags="" # Flags to usbd (if enabled). -dumpdev="NO" # Device name to crashdump to (or NO). +dumpdev="NO" # Device to crashdump to (device name, AUTO, or NO). dumpdir="/var/crash" # Directory where crash dumps are to be stored savecore_flags="" # Used if dumpdev is enabled above, and present. enable_quotas="NO" # turn on quotas on startup (or NO). ==== //depot/projects/davidxu_thread/src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#10 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.277 2005/03/31 20:52:26 brueffer Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.278 2005/04/12 13:33:20 brueffer Exp $ Supported Devices @@ -729,7 +729,9 @@ &hwlist.snd.maestro3; - ForteMedia fm801 + &hwlist.snd.als4000; + + &hwlist.snd.fm801; &hwlist.snd.gusc; @@ -748,6 +750,8 @@ Trident 4DWave DX/NX (&man.pcm.4; driver) + &hwlist.snd.via8233; + &hwlist.snd.via82c686; &hwlist.snd.ds1; ==== //depot/projects/davidxu_thread/src/release/doc/share/misc/dev.archlist.txt#10 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.59 2005/03/31 20:52:27 brueffer Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.60 2005/04/12 13:33:20 brueffer Exp $ # # @@ -103,6 +103,7 @@ sn i386,amd64 snc pc98 snd_ad1816 i386,amd64 +snd_als4000 i386 snd_audiocs sparc64 snd_cmi i386,amd64 snd_cs4281 i386,amd64 @@ -111,6 +112,7 @@ snd_emu10k1 i386,amd64 snd_es137x i386,amd64 snd_ess i386,amd64 +snd_fm801 i386,amd64 snd_gusc i386,amd64 snd_ich i386,amd64 snd_maestro i386,alpha,amd64 @@ -118,6 +120,7 @@ snd_neomagic i386,amd64 snd_sbc i386,alpha,amd64 snd_solo i386,amd64 +snd_via8233 i386 snd_via82c686 i386,amd64 snd_vibes i386,amd64 sr i386 ==== //depot/projects/davidxu_thread/src/share/man/man4/tap.4#3 (text+ko) ==== @@ -1,4 +1,4 @@ -.\" $FreeBSD: src/share/man/man4/tap.4,v 1.16 2005/02/13 22:25:17 ru Exp $ +.\" $FreeBSD: src/share/man/man4/tap.4,v 1.17 2005/04/13 00:30:19 mdodd Exp $ .\" Based on PR#2411 .\" .Dd July 9, 2000 @@ -85,7 +85,11 @@ .Pa /dev/tap Ns Sy N , is exclusive-open (it cannot be opened if it is already open) -and is restricted to the super-user. +and is restricted to the super-user, unless the +.Xr sysctl 8 +variable +.Va net.link.tap.user_open +is non-zero. A .Fn read call will return an error ==== //depot/projects/davidxu_thread/src/share/man/man4/unix.4#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)unix.4 8.1 (Berkeley) 6/9/93 -.\" $FreeBSD: src/share/man/man4/unix.4,v 1.8 2003/09/08 19:57:19 ru Exp $ +.\" $FreeBSD: src/share/man/man4/unix.4,v 1.11 2005/04/13 00:01:46 mdodd Exp $ .\" .Dd July 15, 2001 .Dt UNIX 4 @@ -66,9 +66,9 @@ defines this address: .Bd -literal -offset indent struct sockaddr_un { -u_char sun_len; -u_char sun_family; -char sun_path[104]; + u_char sun_len; + u_char sun_family; + char sun_path[104]; }; .Ed .Pp @@ -83,6 +83,24 @@ .Xr unlink 2 must be used to remove the file. .Pp +The length of +.Ux Ns -domain +address, required by +.Xr bind 2 +and +.Xr connect 2 , +can be calculated by the macro +.Fn SUN_LEN +defined in +.In sys/un.h . +The +.Ar sun_path +field must be terminated by a NUL character to be used with +.Fn SUN_LEN , +but the terminating NUL is +.Em not +part of the address. +.Pp The .Ux Ns -domain protocol family does not support broadcast addressing or any form @@ -176,6 +194,56 @@ or .Xr listen 2 ) under different effective credentials. +.Pp + +.Tn UNIX +domain sockets support a number of socket options which can be set with +.Xr setsockopt 2 +and tested with +.Xr getsockopt 2 : +.Bl -tag -width ".Dv LOCAL_CONNWAIT" +.It Dv LOCAL_CREDS +This option may be enabled on a +.Dv SOCK_DGRAM +or a +.Dv SOCK_STREAM +socket. This option provides a mechanism for the receiver to +receive the credentials of the process as a +.Xr recvmsg 2 +control message. The msg_control field in the msghdr structure points +to a buffer that contains a cmsghdr structure followed by a variable +length sockcred structure, defined in +.Pa \*[Lt]sys/socket.h\*[Gt] +as follows: +.Bd -literal +struct sockcred { + id_t sc_uid; /* real user id */ + uid_t sc_euid; /* effective user id */ + gid_t sc_gid; /* real group id */ + gid_t sc_egid; /* effective group id */ + int sc_ngroups; /* number of supplemental groups */ + gid_t sc_groups[1]; /* variable length */ +}; +.Ed +.Pp +The +.Fn SOCKCREDSIZE +macro computes the size of the sockcred structure for a specified number +of groups. +The cmsghdr fields have the following values: +.Bd -literal +cmsg_len = sizeof(struct cmsghdr) + SOCKCREDSIZE(ngroups) +cmsg_level = SOL_SOCKET +cmsg_type = SCM_CREDS +.Ed +.It Dv LOCAL_CONNWAIT +Used with +.Dv SOCK_STREAM +sockets, this option causes the +.Xr connect 2 +function to block until +.Xr accept 2 +has been called on the listening socket. .Sh SEE ALSO .Xr socket 2 , .Xr intro 4 ==== //depot/projects/davidxu_thread/src/share/misc/pci_vendors#2 (text+ko) ==== @@ -1,4 +1,4 @@ -; $FreeBSD: src/share/misc/pci_vendors,v 1.32 2004/10/05 20:10:35 sheldonh Exp $ +; $FreeBSD: src/share/misc/pci_vendors,v 1.33 2005/04/12 13:03:42 sheldonh Exp $ ; ; Automatically generated by src/tools/tools/pciid/mk_pci_vendors.pl ; (with the -l option), using the following source lists: @@ -11,9 +11,14 @@ 0000 Gammagraphx Inc 001A Ascend Communications Inc 0033 Paradyne Corp. -003D Real 3D (Lockheed Martin-Marietta Corp) - 00D1 i740 PCI +003D Real 3D (Was: Lockheed Martin-Marietta Corp) + 00D1 i740 PCI Graphics Accelerator 0070 Hauppauge Computer Works Inc. + 4000 WinTV PVR-350 + 4001 WinTV PVR-250 (v1) + 4009 WinTV PVR-250 + 4801 WinTV PVR-250 MCE +0071 Nebula Electronics Ltd 0100 Ncipher Corp. Ltd 0123 General Dynamics 0246 Addtron(??) @@ -36,10 +41,21 @@ 0001 PCI to EISA Bridge 0002 PCI to ISA Bridge 000F CPQB1A9 StorageWorks Library Adapter (HVD) + 0012 686P7 686P7 0046 Smart Array 64xx Controller 0049 NC7132 Gigabit Upgrade Module 004A NC6136 Gigabit Server Adapter + 007C NC7770 1000BaseTX + 007D NC6770 1000BaseTX + 0085 NC7780 1000BaseTX + 00BB NC7760 00C0 AIC-7899G 64-bit, 66MHz Dual Channel Wide Ultra3 SCSI Controller + 00CA NC7771 + 00CB NC7781 + 00CF NC7772 + 00D0 NC7782 + 00D1 NC7783 + 00E3 NC7761 0508 Netelligent 4/16 TR PCI UTP/STP Controller 1000 Triflex/Pentium Bridge, Model 1000 2000 Triflex/Pentium Bridge, Model 2000 @@ -47,6 +63,25 @@ 3033 QVision 1280/p v1 GUI Accelerator 3034 QVision 1280/p v2 GUI Accelerator 4000 Triflex Model 4000 Pentium Bridge + 4030 SMART-2/P + 4031 SMART-2SL + 4032 Smart Array 3200 + 4033 Smart Array 3100ES + 4034 Smart Array 221 + 4040 Integrated Array + 4048 Compaq Raid LC2 + 4050 Smart Array 4200 + 4051 Smart Array 4250ES + 4058 Smart Array 431 + 4070 Smart Array 5300 + 4080 Smart Array 5i + 4082 Smart Array 532 + 4083 Smart Array 5312 + 4091 Smart Array 6i + 409A Smart Array 641 + 409B Smart Array 642 + 409C Smart Array 6400 + 409D Smart Array 6400 EM 6010 Model 6010 HotPlug PCI Bridge 7020 USB Controller A0EC Original Compaq fibre Channel HBA @@ -121,9 +156,14 @@ 0030 LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller 0031 LSI53C1030ZC PCI-X SCSI Controller 0032 LSI53C1035 PCI-X to Ultra320 SCSI Controller + 0033 1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 0035 LSI53C1035 PCI-X SCSI Controller 0040 LSI53C1035 LSI53C1035 PCI-X to Ultra320 SCSI Controller (RAID mode) + 0041 53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 008F 53C810 LSI 53C8xx SCSI host adapter chip + 0407 MegaRAID + 0408 MegaRAID + 0409 MegaRAID 0621 LSIFC909 Fibre Channel I/O Processor 0622 LSIFC929 Dial Channel Fibre Channel I/O Processor 0623 LSIFC929 Dual Channel Fibre Channel I/O Processor @@ -136,9 +176,15 @@ 0630 LSIFC920 Fibre Channel I/O Processor 0701 53C885 NT50 DigitalScape Fast Ethernet Adapter 0702 Yellowfin G-NIC Gigabit Ethernet Controller + 0804 SA2010 + 0805 SA2010ZC + 0806 SA2020 + 0807 SA2020ZC 0901 61C102 USB Controller 1000 63C815 Fast SCSI Controller 1001 53C895 Symbios Ultra2 SCSI controller + 1010 LSI 53C1020 Single channel SCSI controller + 1960 MegaRAID 1001 Kolter Electronic - Germany 0010 PCI1616 Measurement card with 32 digital I/O lines 0011 ispLSI1032E OPTO-PCI, 16 IN / 16 OUT 24 VDC @@ -149,29 +195,44 @@ 0016 ispLSI1032E PCI-MFB high-speed analog I/O 0017 ispLSI1032E PROTO-3 PCI, digital I/O with chipselect 0020 ispLSI1032E Universal digital I/O PCI-Interface -1002 ATI Technologies Inc. - 4136 ??? Radeon IGP 320 - 4137 ??? Radeon IGP 340 +1002 ATI Technologies Inc + 3150 M24 1P Radeon Mobility X600 + 3154 M24 1T FireGL + 3E50 Radeon X600 Series + 3E54 RV380 FireGL V3200 + 3E70 Radeon X600 Series Secondary + 4136 A3 Radeon IGP 320 + 4137 RS200 Radeon IGP 340 4144 Radeon 9500 Series (R300) 4145 Radeon 9700 (R300) 4146 Radeon 9700 (R300) 4147 Fire GL Z1 AGP/Pro Video Accelerator (128 MB, 4P) 4148 Radeon 9800 SE (R350) + 4149 Radeon 9500 Family + 414A Radeon 9800 Family + 414B Fire GL X2 4150 Radeon 9600 Series (V350) 4151 Radeon 9600 (RV350) 4152 Radeon 9600 XT (V350) - 4153 ??? Radeon 9550 - 4158 Mach32 (68800AX) + 4153 RV350 Radeon 9550 + 4154 Fire GL T2 + 4155 Fire GL T2 + 4156 Fire GL T2 + 4157 Fire GL T2 + 4158 200E17af Mach 32 4164 Radeon 9500 Series (R300) - Secondary + 4166 Radeon 9600TX - Secondary 4167 Fire GL Z1 AGP/Pro Secondary Video Accelerator (128 MB, 4P) 4168 Radeon 9800 SE - Secondary (R350) + 4169 Radeon 9500 Family - Secondary 4170 Radeon 9600 Series - Secondary 4171 Radeon 9600 (RV350) - Secondary 4172 RV360 Radeon 9600 XT - Secondary - 4173 ??? Radeon 9550 - Secondary + 4173 RV350 Radeon 9550 - Secondary + 4174 FireGL T2 - Seocndary 4242 R200AIW All-In-Wonder 8500DV 4243 Radeon 8500 DV OHCI FireWire Controller - 4336 Radeon Mobility U1 + 4336 rs200 Radeon IGP 320M 4337 RS200M Mobility M6 (U2) 4341 AD1981 AC'97 Audio Controller 4342 ??? HUB Bridge @@ -182,11 +243,12 @@ 434C ??? LPC Controller 434D ??? Modem device 4353 ??? SMBus Controller - 4354 Mach64 CT (215CT222) + 4354 215r2pua13 Mach 64 CT 4358 210888CX Mach64 CX + 4361 AC'97 Audio 4554 Mach64 ET - 4654 Mach64 VT 113-4008-103 - 4742 ATI GTC (GT-C2U2) ATI 3D Rage Pro Turbo AGP 2X + 4654 Mach64 VT 113--34004-104 + 4742 ATI GTC (GT-C2U2) ATI 3D Rage Pro AGP 2X 4744 Rage 3D Pro AGP 2x Rage 3D Pro AGP 2x 4747 Rage 3D Pro 4749 Rage Pro Turbo PCI ATI ALL IN WONDER PRO (8MB) @@ -200,26 +262,34 @@ 4753 Rage XC PCI 4754 Mach 64 GT Rage 3D II Graphics Accelerator 4755 Rage 3D II+ [Mach64 GTB] - 4756 Rage 3D IIC PCI 21sr2qua12 Graphics Accelerator + 4756 Rage 3D IIC PCI [Mach64 GT IIC] (PQFP Package) 4757 Rage 3D IIC AGP (BGA Package) 4758 210888GX Mach 64 GX (WinTurbo) - 4759 Rage 3D IIC + 4759 Rage 3D IICATI 3D RAGE 11C AGP(A12/A13) 475A Rage 3D IIC AGP (PQFP Package) 4966 RV250 Radeon 9000/9000 Pro 4967 Radeon 9000 (RV250) 496E RV250 Radeon 9000/9000 Pro - Secondary 496F Radeon 9000 (RV250) - Secondary + 4A49 Radeon X800 Series + 4A4A Radeon X800 Series + 4A4B Radeon X800 + 4A50 Radeon X800 XT Platinum + 4A69 Radeon X800 Series - Secondary + 4A6A Radeon X800 Series - Secondary + 4A6B Radeon X800 - Secondary + 4A70 Radeon X800 XT Platinum - Secondary 4C42 Rage 3D LT Pro AGP 133MHz (BGA-312 Package) 4C44 Rage 3D LT Pro AGP 66MHz (BGA-312 Package) 4C45 Rage Mobility M3 AGP 4C46 Rage Mobility M3 AGP 2x - 4C47 Rage 3D LT-G (215LG) + 4C47 ati rage pro Rage 3D LT-G 4C49 Rage 3D LT Pro PCI (BGA-312 Package) 4C4D 01541014 Rage P/M Mobility AGP 2x 4C4E Rage L Mobility AGP 2x 4C50 Rage 3D LT Pro PCI (BGA-256 Package) 4C51 Rage 3D LT Pro PCI (BGA-256 Package, Limited 3D) - 4C52 Rage P/M Mobility PCI + 4C52 1241243 Rage P/M Mobility PCI 4C53 Rage L Mobility PCI 4C54 Mach64 LT (264LT) 4C57 fdds Radeon Mobility M7 LW @@ -238,9 +308,10 @@ 4E49 Radeon 9800 (R350) (??) 4E4A Radeon 9800 XT (R350) 4E4B FGL9800XT ATI FIREGL X2-256T - 4E50 Radeon Mobility M10 NP (RV350) + 4E50 Mobility Radeon 9700 (M10 NP) (RV350) + 4E52 MOBILITY Radeon 9500 4E54 Radeon Mobility M10 NT (RV350-WS) - 4E64 R300 Radeon 9700, 9700 Pro, 9500 Series - Secondary + 4E64 Radeon 9700/Pro, 9500 (R300) Series - Secondary 4E65 Radeon 9700/9500 Series (R300) - Secondary 4E66 Radeon 9600TX (R300) - Secondary 4E67 Fire GL X1/Z1 AGP/Pro Secondary Video Accelerator @@ -259,7 +330,7 @@ 5049 Rage 128 Pro PI AGP Rage 128 Pro PI AGP 4x 504A Rage 128 Pro PJ PCI Rage 128 Pro PJ PCI (TMDS) 504B Rage 128 Pro PK AGP Rage 128 Pro PK AGP 2x (TMDS) - 504C Rage 128 Pro PL AGP Rage 128 Pro PL AGP 4x (TMDS) + 504C Rage 128 Pro PL AGP 4x (TMDS) 504D Rage 128 Pro PM PCI Rage 128 Pro PM PCI 504E Rage 128 Pro PN AGP Rage 128 Pro PN AGP 2x 504F Rage 128 Pro PO AGP Rage 128 Pro PO AGP 4x @@ -271,7 +342,7 @@ 5055 Rage 128 Pro PU AGP Rage 128 Pro PU AGP 4x 5056 Rage 128 Pro PV PCI Rage 128 Pro PV PCI (TMDS) 5057 Rage 128 Pro PW AGP Rage 128 Pro PW AGP 2x (TMDS) - 5058 Rage 128 Pro PX AGP Rage 128 Pro PX AGP 4x (TMDS) + 5058 Rage 128 Pro PX AGP 4x (TMDS) 5144 Radeon 7200 QD SDR/DDR Radeon 7200 QD SDR/DDR 5145 Radeon QE 5146 Radeon QF @@ -295,9 +366,9 @@ 516C Radeon 8500 / 8500LE 516D Radeon 9100 Series (R200) - Secondary 5245 215R46ASA22 Rage 128 GL PCI - 5246 Rage 128 GL AGP 2x Rage Fury 16/32MB + 5246 Rage 128 PRO II (AGP 4X/PCI) Rage 4MB 5247 Rage 128 RG - 524B Rage 128 VR RK PCI + 524B g01080-108 Rage 128 VR RK PCI 524C Rage 128 VR RL AGP 2x 5345 Rage 128 4x SE PCI 5346 Rage 128 SF 4x AGP 2x @@ -314,31 +385,73 @@ 5453 Rage 128 Pro Ultra TS 5454 Rage 128 Pro Ultra TT 5455 Rage 128 Pro Ultra TU + 5460 Mobility Radeon X300 + 5549 Radeon X800 Pro + 554A Radeon X800 XT Platinum + 554B Radeon X800 SE + 554D Radeon X800 Series + 554F Radeon X800 Series + 5551 R423GL-SE ATI FIREGL V5100 PCI-EX Primary + 5569 Radeon X800 Pro - Secondary + 556A Radeon X800 XT Platinum - Secondary + 556B Radeon X800 SE - Secondary + 556D Radeon X800 Series - Secondary + 556F Radeon X800 Series - Secondary + 5571 R423GL-SE ATI FIREGL V5100 PCI-EX Secondary + 5652 MOBILITY RADEON X700 + 5653 MOBILITY RADEON X700 5654 215VT222 Mach 64 VT VIDEO XPRESSION 5655 Mach 64 VT3 - 5656 Mach64 VT4 PCI (PQFP Package) + 5656 Mach 64 VT4 PCI Mach 64 VT4 PCI 5830 RS300 Host Bridge 5831 RS300 Host Bridge 5832 RS300 Host Bridge 5833 ??? Radeon IGP9100 Host Bridge - 5834 ??? Radeon 9100 IGP + 5834 RS300 Radeon 9100 IGP + 5835 RS300 Mobiltiy Radeon 9100 IGP AGP 5838 ??? Radeon IGP9100 AGP Bridge - 5940 Radeon 9200 Pro (RV280) - Secondary + 5940 RV280 Radeon 9200 Pro - Secondary 5941 RV280 ATI Radeon 9200 - Secondary - 5960 Radeon 9200 Pro (RV280) - 5961 213rtizua43 ATI RADEON 9200 + 5942 Radeon 9000U Family - Secondary + 5954 Radeon XPRESS 200 + 5955 Mobility Radeon XPRESS 200 + 5960 RV280 Radeon 9200 Pro + 5961 Radeon 9200 Series (RV280) + 5962 Radeon 9000U Family 5964 Radeon 9200 Radeon 9200 SE Series + 5A41 Radeon XPRESS 200 + 5B60 Radeon X300 Series + 5B62 Radeon X600 Series + 5B70 Radeon X300 Series - Secondary + 5B72 Radeon X600 Series - Secondary 5C61 ??? Mobility Radeon 9200 5C63 RV280 (M9+) Mobility Radeon 9200 5D44 Radeon 9200 SE Series - Secondary (RV280) + 5D4D Radeon X850 Series + 5D4F Radeon X850 Series + 5D52 Radeon X850 Series + 5D57 Radeon X800 XT + 5D6D Radeon X850 Series - Secondary + 5D6F Radeon X850 Series - Secondary + 5D72 Radeon X850 Series - Secondary + 5D77 Radeon X800 XT - Secondary + 5E4A Radeon X700 Series + 5E4B Radeon X700 Series + 5E4C Radeon X700 Series + 5E4D Radeon X700 Series + 5E6A Radeon X700 Series - Secondary + 5E6B Radeon X700 Series - Secondary + 5E6C Radeon X700 Series - Secondary + 5E6D Radeon X700 Series - Secondary 700F A3/U1 PCI to AGP Bridge 7010 RS200 PCI to AGP Bridge + 7834 Radeon 9000/9100 Pro IGP Series CAB0 A3/U1 S2K CPU to PCI Bridge CAB1 A3/U1 Slot1 CPU to PCI Bridge CAB2 RS200 CPU to PCI Bridge CBB2 RS200 CPU to PCI Bridge 1003 ULSI Systems - 0201 US201 GUI Accelerator + 0201 0x0201 GUI Accelerator 1004 VLSI Technology 0005 82C591/2-FC1 CPU Bridge 0006 82C593 ISA Bridge @@ -347,7 +460,7 @@ 0009 82C597-AFC2 000C 82C541 000D 82C543 - 0100 CPU to PCI Bridge for notebook + 0100 dtdftdfz CPU to PCI Bridge for notebook 0101 82C532 Peripheral Controller 0102 82C534 PCI to PCI Bridge 0103 82C538 PCI to ISA Bridge @@ -384,7 +497,13 @@ 0020 DP83815/16 Fast Ethernet Adapter (MacPhyter/MacPhyter-II) 0021 PC87200 PCI to ISA Bridge 0022 DP83820/1 10/100/1000 Gigabit Ethernet Adapter + 0028 CS5535 Host bridge 002A CS5535 GeodeLink PCI South Bridge + 002B CS5535 ISA Bridge + 002D CS5535 IDE + 002E CS5535 Audio + 002F CS5535 USB + 0030 CS5535 Video 0500 SCx200 LPC Bridge and GPIO 0501 SCx200 SMI Status and ACPI 0502 SC1100/SCx200 IDE Controller @@ -424,7 +543,9 @@ 000F FDDI "DEFPA" 0014 DecChip 21041 "Tulip Plus" Ethernet Adapter 0016 ATM-Controller "DGLPB" + 0017 PV-PCI Graphics Controller (ZLXp-L) 0019 DC21142/3 PCI/CardBus 10/100 Mbit Ethernet Ctlr + 001A Farallon PN9000SX Gigabit Ethernet 0021 21052[-AB] PCI-PCI Bridge 0022 21150-AA PCI to PCI Bridge 0023 DC21150 PCI to PCI Bridge @@ -437,7 +558,7 @@ 1065 21285 Core Logic for StongArm SA-110 Microprocessor 1012 Micronics Computers Inc. 1013 Cirrus Logic - 0038 CL-GD7548 GUI-Accelerated XGA/SVGA LCD Controller + 0038 FW82371EB GUI-Accelerated XGA/SVGA LCD Controller 0040 CL-GD7555 Flat Panel GUI Accelerator 004C CL-GD7556 64-bit Accelerated LCD/CRT Controller 00A0 CL-GD5340 GUI Accelerator @@ -481,9 +602,11 @@ 0022 82351/2 PCI to PCI Bridge 002D Python 002E ServeRAID I/II/3x/4H Coppertime RAID SCSI Adapter + 0031 2 Port Serial Adapter 0036 Miami/PCI 32-bit LocalBus Bridge 0037 IBM27-82660 PowerPC to PCI Bridge and Memory Ctrlr 003A CPU to PCI Bridge + 003C GXT250P/GXT255P Graphics Adapter 003E 85H9533 16/4 Token Ring PCI IBM UTP/STP Ctrlr 0045 SSA Adapter 0046 MPIC Interrupt Controller @@ -494,32 +617,55 @@ 004F ATM Controller (14104F00) 0050 ATM Controller (14105000) 0053 85h9533 25 MBit ATM controller - 0057 MPEG PCI Bridge + 0054 GXT500P/GXT550P Graphics Adapter + 0057 85g1897 MPEG PCI Bridge 005C i82557B 10/100 PCI Ethernet Adapter 005D 05J3506 TCP/IP networking device + 005E GXT800P Graphics Adapter 007C ATM Controller (14107C00) 007D 3780IDSP MPEG-2 Decoder + 008E GXT3000P Graphics Adapter 0090 GXT-3000P + 0091 SSA Adapter 0095 20H2999 PCI Docking Bridge 0096 Chukar chipset SCSI Controller + 009F PCI 4758 Cryptographic Accelerator 00A1 PowerNP NPr2.7 ATM support device 00A5 ATM Controller (1410A500) 00A6 ATM 155MBPS MM Controller (1410A600) 00B7 GXT2000 256-bit Graphics Rasterizer (Fire GL1) + 00B8 GXT2000P Graphics Adapter 00BE ATM 622MBPS Controller (1410be00) 00CE 02LI537 Adapter 2 Token Ring Adapter + 00DC Advanced Systems Management Adapter (ASMA) 00F9 CPC700 Memory Controller and PCI Bridge 00FC CPC710 PCI-64 Bridge + 0104 Gigabit Ethernet-SX Adapter 0105 CPC710 PCI-32 Bridge 010F Remote Supervisor+Serial Port+Mouse/Keyboard 011B Raid controller 0142 Yotta Video Compositor Input 0144 Yotta Video Compositor Output 0156 405GP PLB to PCI Bridge + 0160 64bit/66MHz PCI ATM 155 MMF + 016E GXT4000P Graphics Adapter 0170 RC1000 Rasterizer/IBM GT1000 Geometr + 017D GXT300P Graphics Adapter + 0180 Snipe chipset SCSI controller 01A7 IBM 133 PCI-X Bridge R1.1 01BD ServeRAID 4/5 Morpheus SCSI RAID Controller + 01C1 64bit/66MHz PCI ATM 155 UTP + 01E6 Cryptographic Accelerator 01EF 440GP PLB to PCI-X Bridge + 01FF 10/100 Mbps Ethernet + 0219 Multiport Serial Adapter + 021B GXT6500P Graphics Adapter + 021C GXT4500P Graphics Adapter + 0233 GXT135P Graphics Adapter + 0266 PCI-X Dual Channel SCSI + 0268 Gigabit Ethernet-SX Adapter (PCI-X) + 0269 10/100/1000 Base-TX Ethernet Adapter (PCI-X) + 027F 440GX Embedded PowerPC CPU 0295 NECSCE 11508082 IBM SurePOS Riser Card Function 0 0297 NECSCE 11508082 IBM SurePOS Riser Card Function 1 (UARTs) 0302 PCI-X Host Bridge @@ -530,7 +676,7 @@ 5343 SPEA 3D Acccelerator 1018 Unisys Corporation 1019 Elitegroup Computer System -101A NCR (AT&T GIS) +101A NCR Corporation 0005 8156 100VG/AnyLAN Adapter 0009 Altera FLEX ??? Raid Controller ??? 101B Vitesse Semiconductor @@ -621,11 +767,11 @@ 2001 4DWave(NX) PCI Audio 2100 Cyber-XP4 Video Accelerator 8400 CyberBlade i7 sausgauos - 8420 CyberBlade i7 AGP - 8500 CyberBlade i1 AGP 51 (77?) - 8520 CyberBlade i1 AGP - 8620 CyberBlade-A i1 AGP - 8820 CyberBlade XPAi1 zczxzczx + 8420 CyberBlade i7 AGP ghghh + 8500 CyberBlade/i1 + 8520 CyberBlade i1 AGP windows xp + 8620 CyberBlade-A i1 hghg + 8820 CyberBlade XP zczxzczx 9320 TGUI9320 32-bit GUI Accelerator 9350 TGUI9350 32-bit GUI Accelerator 9360 Flat panel GUI Accelerator @@ -646,7 +792,7 @@ 9540 Cyber9540 Video Accelerator 9660 TGUI9660XGi/968x/938x GUI Accelerator 9680 TGUI9680 GUI Accelerator - 9682 TGUI9682 Multimedia Accelerator + 9682 TGUI9682 Aproman / Prime Magic Power / Trident ACBB02 9683 TGUI9683 GUI Accelerator 9685 ProVIDIA 9685 9750 3DImage 9750 PCI/AGP trident dgi @@ -656,12 +802,12 @@ 9783 TGUI9783 9785 TGUI9785 9850 3D Image 9850 AGP - 9880 Blade 3D PCI/AGP + 9880 Blade 3D 9880 gggggg 9910 CyberBlade XP 9930 CyberBlade XPm 1024 Zenith Data Systems 1025 Acer Incorporated - 0028 AC97 ID:SIL REV:0x27, 06 Agere Systems soft modem chip + 0028 AC97 ID:SIL REV:0x27, 08 Agere Systems soft modem chip 1435 M1435 CPU to PCI & PCI to ISA Bridge 1445 ALI M1445 VL to PCI Bridge & Enhanced IDE Adapter 1449 ALI M1449 PCI to ISA Bridge @@ -713,7 +859,7 @@ 5453 ALI M5453 PCI AC-Link Controller Modem Device 7101 ALI M7101 PCI PMU Power Management Controller 1028 Dell Computer Corporation - 0001 PowerEdge 2 /Si Expandable RAID Controller + 0001 PowerEdge Expandable RAID Controller 2/Si 0002 PowerEdge 3/Di Expandable RAID Controller 0003 PowerEdge 3/Si Expandable RAID Controller 0004 PowerEdge 3/Si Expandable RAID Controller @@ -724,6 +870,7 @@ 000A PowerEdge 3/Di Expandable RAID Controller 000C Embedded Systems Management Device 4 000E PERC 4/Di RAID Controller + 1000 FA82537EP A Intel 537 epg v.92 modem repackaged by dell 1029 Siemens Nixdorf AG 102A LSI Logic, Headland Division 0000 HYDRA Pentium PCI Chipset (MPI) @@ -750,6 +897,7 @@ 2007 Mistral GUI+3D Accelerator 2527 MGA-G550 AGP Chipset 2537 Parhelia-LX Parhelia Chipset AGP + 2538 Millennium P650 Series 4536 Meteor 2 STD/MC/Dig Video Capture Card 6573 Shark 10/100 Multiport Switch NIC 80A0 RT.x10 Multimedia Device @@ -764,7 +912,7 @@ 00E4 65554 Flat Panel/LCD CRT GUI Accelerator 00E5 F65555 HiQVPro GUI Accelerator 00F0 68554 GUI Controller - 00F4 68554 HiQVision Flat Panel/CRT GUI Controller + 00F4 F68554 HiQVision GUI Controller 00F5 68555 GUI Controller 01E0 65560 PCI Flat Panel/CRT VGA Accelerator 0C30 69030 AGP/PCI Flat Panel/CRT VGA Accelerator @@ -806,7 +954,7 @@ 0021 Vrc4373 [Nile I] 0029 PoverVR PCX1 3D Accelerator 002A PoverVR 3D Accelerator - 0035 uPD9210/72010xx USB Open Host Controller + 0035 uPD9210FGC-7EA / µPD720101 USB 1.0 Host Controller (OHCI compliant) 0036 uPD98409 NEASCOT-S40C ATM Light SAR Controller 003E uPD66369 NAPCCARD CardBus Controller 0046 PoverVR PCX2 3D Accelerator @@ -819,8 +967,8 @@ 00CD uPD72870 IEEE1394 1-Chip OHCI Host Controller 00CE uPD72871/2 IEEE1394 1-Chip OHCI Host Controller 00E0 uPD720100A/101 USB 2.0 Enhanced Host Controller - 00E7 uPD72873 IEEE1394 OHCI 1.1 2-port PHY-Link Ctrlr - 00F2 uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr + 00E7 uPD72874 IEEE1394 OHCI 1.1 2-port PHY-Link Ctrlr + 00F2 D72874GC IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr 1034 Burndy/Framatome Connectors USA Ltd 1035 Industrial Technology Research 1036 Future Domain Corp @@ -862,7 +1010,7 @@ 0646 SiS645DX Host-to-PCI Bridge 0648 SiS648 Host-to-PCI Bridge 0649 SiS648FX(??) CPU to PCI Bridge - 0650 SiS 650 Host-to-PCI Bridge + 0650 SiS961 Host-to-PCI Bridge 0651 SiS651 Host-to-PCI Bridge 0652 SiSM650(??) CPU to PCI Bridge 0655 SiS655 Host-to-PCI Bridge @@ -890,7 +1038,7 @@ 0962 SiS962 LPC Bridge 0963 SiS963 PCI to ISA Bridge (LPC Bridge) 0964 SiS964 LPC Bridge - 1039 VEN_1039&DEV_6306&SUBSYS_63061039&REV_2A + 1039 non given VEN_1039&DEV_6306&SUBSYS_63061039&REV_2A 3602 SiS83C602 EIDE Controller 5107 SiS5107 Hot Docking Controller 5300 SiS540 PCI Display Adapter @@ -915,14 +1063,14 @@ 6300 SiS630/730 GUI Accelerator+3D 6306 SiS530/620 Integrated 3D VGA Controller 6325 SiS650/1/GL/GX,740 GUI 2D/3D Accelerator - 6326 SiS 86C326 AGP/PCI Graphics & Video Accelerator + 6326 SiS 86C6326 AGP/PCI Graphics & Video Accelerator 6330 SiS661FX/M661FX/760/741/M760/M741 GUI 2D/3D Accelerator 7001 SiS5597/8 Universal Serial Bus Controller 7002 SiS7002 USB 2.0 Enhanced Host Controller 7005 SiS551/552 Memory Stick Controller 7007 SiS OHCI Compliant FireWire Controller - 7012 SiS7012 PCI Audio Accelerator - 7013 SiS7013 HSP56 MR, PCtel Serial Wave Device (Modem Riser) + 7012 SiS7013 PCI Audio Accelerator + 7013 SiS7013 sharp actius rd10 _ modem 56k 7015 SiS550/1/2 Software Audio 7016 SiS7016 10/100 Ethernet Adapter 7018 SiS7018 PCI Audio Accelerator @@ -1044,27 +1192,39 @@ 0500 TNETE100A/110A/211 ThunderLAN 100 Mbit LAN Controller 0508 TI380PCI PCI interface for TI380 compressors 1000 TI PCI Eagle i/f AS + 104C PCI1510 PC card Cardbus Controller 3D04 TVP4010 Permedia 3D07 TVP4020 AGP Permedia 2 8000 TSB12LV21 LYNX IEEE1394 FireWire Host Controller 8009 TSB12LV22 OHCI-Lynx PCI IEEE 1394 Host Controller + 8010 TSB12LV26 OHCI-Lynx IEEE 1394 Host Controller 8011 PCI4450 OHCI-Lynx IEEE-1394 FireWire controller 8017 PCI4410A OHCI-Lynx IEEE-1394 FireWire Controller 8019 TSB12LV23 OHCI-Lynx PCI IEEE 1394 Host Controller 8020 TSB12LV26 OHCI-Lynx PCI IEEE 1394 Host Controller 8021 TSB43AA22 1394a-2000 OHCI PHY/Link Layer Ctrlr + 8022 TSB43AB22 1394a-2000 Controller (PHY/Link) 8023 TSB43AB22/A IEEE1394a-2000 OHCI PHY/Link-Layer Ctrlr 8024 TSB43AB23 1394a-2000 OHCI PHY/link-layer Controller + 8025 TSB82AA2 1394b OHCI-Lynx IEEE 1394 Host Controller 8026 TSB43AB21 1394a-2000 OHCI PHY/link-layer Controller 8027 PCI4451 OHCI-Lynx IEEE-1394 FireWire Adapter 8029 ??? OHCI Compliant IEEE-1394 FireWire Controller + 802E PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller + 8033 PCIxx21 Integrated FlashMedia Controller + 8035 PCI GemCore based SmartCard controller + 8038 01821028 GemCore based SmartCard container + 8201 PCI1620 Firmware Loading Function 8204 4610, 4515, 4610FM TI UltraMedia Firmware Loader Device 8400 802.11b+ 22Mbps Wireless Adapter + 8401 ACX 100 22Mbps Wireless Interface + 9000 Wireless Interface (??) 9065 TMX320C6412 Fixed Point Digital Signal Processor 9066 TNETW1130(ACX111) 802.11b/g Wireless Cardbus/PCI Adapter A001 TDC1570 64-Bit PCI ATM Interface A100 TDC1561 32-Bit PCI ATM Interface A102 TNETA1575 HyperSAR Plus w/PCI Host interface & UTOPIA Interface + A106 TMS320C6205 Fixed Point DSP AC10 PCI1050 PC Card Controller AC11 PCI1030/1053 PC Card Controller AC12 PCI1130 PC card CardBus Controller @@ -1090,8 +1250,9 @@ AC41 PCI4410 PC card CardBus Controller AC42 PCI4451 PC card CardBus Controller AC43 PCI4550 PC card CardBus Controller - AC44 PCI4510 PC card CardBus Controller + AC44 PCI4510SDFSDFSD PC Card Controller SDFSDAFSADFSDAFSDAF AC46 PCI4520 PC card CardBus Controller + AC47 7510/4510 Cardbus AC50 PCI1410 PC card cardBus Controller AC51 PCI1420 PC card CardBus Controller AC52 PCI1451 PC card CardBus Controller @@ -1104,7 +1265,10 @@ AC59 PCI1621 PC card CardBus Controller with UltraMedia AC5A PCI1610 PC card CardBus Controller with UltraMedia AC60 PCI2040 PCI to DSP Bridge Controller - FE00 FireWire Host Controller + AC8D PCI7620 + AC8E PCI7420 CardBus Controller + AC8F PCI7420/PCI7620 Dual Socket CardBus and Smart Card Cont. w/ 1394a-2000 OHCI Two-Port PHY/Link-Layer Cont. and SD/MS-Pro Sockets + FE00 tsb12lv26 FireWire Host Controller FE03 12C01A FireWire Host Controller 104D Sony Corporation 8009 CXD1947 i.LINK FireWire PCI Host Controller @@ -1118,9 +1282,9 @@ 0111 OTI-64111 Spitfire 0217 OTI-64217 0317 OTI-64317 - 0611 OTI-610 T9741 >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Apr 13 04:54:40 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5B3B316A4D0; Wed, 13 Apr 2005 04:54:40 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1E8B116A4CE for ; Wed, 13 Apr 2005 04:54:40 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B41C443D2F for ; Wed, 13 Apr 2005 04:54:39 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D4sdP0015562 for ; Wed, 13 Apr 2005 04:54:39 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D4sdq5015559 for perforce@freebsd.org; Wed, 13 Apr 2005 04:54:39 GMT (envelope-from davidxu@freebsd.org) Date: Wed, 13 Apr 2005 04:54:39 GMT Message-Id: <200504130454.j3D4sdq5015559@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75045 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 04:54:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=75045 Change 75045 by davidxu@davidxu_celeron on 2005/04/13 04:53:44 Code cleanup, remove private thread map, use lwpid directly as thread id. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#13 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#13 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.5 2005/04/12 03:03:16 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.6 2005/04/12 23:33:08 davidxu Exp $"); #include #include @@ -41,12 +41,6 @@ #define TERMINATED 1 -struct pt_map { - int used; - lwpid_t lwp; - psaddr_t thr; -}; - struct td_thragent { TD_THRAGENT_FIELDS; psaddr_t libthr_debug_addr; @@ -74,13 +68,10 @@ int thread_off_event_buf; int thread_state_zoombie; int thread_state_running; - struct pt_map *map; - int map_len; }; #define P2T(c) ps2td(c) -static void pt_unmap_lwp(const td_thragent_t *ta, lwpid_t lwp); static int pt_validate(const td_thrhandle_t *th); static int @@ -106,50 +97,6 @@ } } -static long -pt_map_thread(const td_thragent_t *const_ta, long lwp, psaddr_t pt) -{ - td_thragent_t *ta = __DECONST(td_thragent_t *, const_ta); - struct pt_map *new; - int i, first = -1; - - /* leave zero out */ - for (i = 1; i < ta->map_len; ++i) { - if (ta->map[i].used == 0) { - if (first == -1) - first = i; - } else if (ta->map[i].lwp == lwp) { - ta->map[i].thr = pt; - return (i); - } - } - - if (first == -1) { - if (ta->map_len == 0) { - ta->map = calloc(20, sizeof(struct pt_map)); - if (ta->map == NULL) - return (-1); - ta->map_len = 20; - first = 1; - } else { - new = realloc(ta->map, - sizeof(struct pt_map) * ta->map_len * 2); - if (new == NULL) - return (-1); - memset(new + ta->map_len, 0, sizeof(struct pt_map) * - ta->map_len); - first = ta->map_len; - ta->map = new; - ta->map_len *= 2; - } - } - - ta->map[first].used = 1; - ta->map[first].thr = pt; - ta->map[first].lwp = lwp; - return (first); -} - static td_err_e pt_init(void) { @@ -193,8 +140,6 @@ return (TD_MALLOC); ta->ph = ph; - ta->map = NULL; - ta->map_len = 0; LOOKUP_SYM(ph, "_libthr_debug", &ta->libthr_debug_addr); LOOKUP_SYM(ph, "_thread_list", &ta->thread_list_addr); @@ -248,8 +193,6 @@ * the process doesn't exist any more. */ ps_pwrite(ta->ph, ta->libthr_debug_addr, &dbg, sizeof(int)); - if (ta->map) - free(ta->map); free(ta); return (TD_OK); } @@ -260,98 +203,48 @@ prgregset_t gregs; TAILQ_HEAD(, pthread) thread_list; psaddr_t pt; + long lwp; int ret; - long lwp; TDBG_FUNC(); - if (id < 0 || id >= ta->map_len || ta->map[id].used == 0) + if (id == 0) return (TD_NOTHR); - - if (ta->map[id].thr == NULL) { - /* check lwp */ - ret = ptrace(PT_GETREGS, ta->map[id].lwp, (caddr_t)&gregs, 0); - if (ret != 0) { - /* no longer exists */ - ta->map[id].used = 0; - return (TD_NOTHR); - } - } else { - ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list, - sizeof(thread_list)); - if (ret != 0) - return (P2T(ret)); - pt = (psaddr_t)thread_list.tqh_first; - while (pt != 0 && ta->map[id].thr != pt) { - /* get next thread */ - ret = ps_pread(ta->ph, - pt + ta->thread_off_next, - &pt, sizeof(pt)); - if (ret != 0) - return (P2T(ret)); - } - if (pt == 0) { - /* no longer exists */ - ta->map[id].used = 0; - return (TD_NOTHR); - } - ret = ps_pread(ta->ph, - pt + ta->thread_off_tid, - &lwp, sizeof(long)); - if (ret != 0) - return (P2T(ret)); - if (lwp == TERMINATED) { - ta->map[id].used = 0; - return (TD_NOTHR); - } - } - th->th_ta = ta; - th->th_tid = id; - th->th_thread = pt; - return (TD_OK); -} - -static td_err_e -pt_ta_map_lwp2thr(const td_thragent_t *ta, lwpid_t lwp, td_thrhandle_t *th) -{ - TAILQ_HEAD(, pthread) thread_list; - psaddr_t pt; - long tmp_lwp; - int ret; - - TDBG_FUNC(); - ret = ps_pread(ta->ph, ta->thread_list_addr, &thread_list, - sizeof(thread_list)); + sizeof(thread_list)); if (ret != 0) return (P2T(ret)); + /* Iterate through thread list to find pthread */ pt = (psaddr_t)thread_list.tqh_first; - while (pt != 0) { + while (pt != NULL) { ret = ps_pread(ta->ph, pt + ta->thread_off_tid, - &tmp_lwp, sizeof(tmp_lwp)); + &lwp, sizeof(lwp)); if (ret != 0) return (P2T(ret)); - if (tmp_lwp == (long)lwp) + if (lwp == id) break; - /* get next thread */ ret = ps_pread(ta->ph, - pt + ta->thread_off_next, - &pt, sizeof(pt)); + pt + ta->thread_off_next, + &pt, sizeof(pt)); if (ret != 0) return (P2T(ret)); } - if (pt == 0) + if (pt == NULL) return (TD_NOTHR); - th->th_ta = ta; - th->th_tid = pt_map_thread(ta, lwp, pt); + th->th_ta = ta; + th->th_tid = id; th->th_thread = pt; - if (th->th_tid == -1) - return (TD_MALLOC); return (TD_OK); } static td_err_e +pt_ta_map_lwp2thr(const td_thragent_t *ta, lwpid_t lwp, td_thrhandle_t *th) +{ + return (pt_ta_map_id2thr(ta, lwp, th)); +} + +static td_err_e pt_ta_thr_iter(const td_thragent_t *ta, td_thr_iter_f *callback, void *cbdata_p, td_thr_state_e state, int ti_pri, @@ -360,9 +253,9 @@ { TAILQ_HEAD(, pthread) thread_list; td_thrhandle_t th; - long tmp_lwp; psaddr_t pt; - int ret, isdead; + long lwp; + int ret; TDBG_FUNC(); @@ -370,19 +263,16 @@ sizeof(thread_list)); if (ret != 0) return (P2T(ret)); - pt = (psaddr_t)thread_list.tqh_first; while (pt != 0) { - ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &tmp_lwp, - sizeof(tmp_lwp)); + ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, + sizeof(lwp)); if (ret != 0) return (P2T(ret)); - if (tmp_lwp != 0 && tmp_lwp != TERMINATED) { - th.th_ta = ta; - th.th_tid = pt_map_thread(ta, tmp_lwp, pt); + if (lwp != 0 && lwp != TERMINATED) { + th.th_ta = ta; + th.th_tid = (thread_t)lwp; th.th_thread = pt; - if (th.th_tid == -1) - return (TD_MALLOC); if ((*callback)(&th, cbdata_p)) return (TD_DBERR); } @@ -412,7 +302,7 @@ if (ret != 0) { free(keytable); return (P2T(ret)); - } + } for (i = 0; i < ta->thread_max_keys; i++) { allocated = *(int *)(keytable + i * ta->thread_size_key + ta->thread_off_key_allocated); @@ -433,6 +323,7 @@ static td_err_e pt_ta_event_addr(const td_thragent_t *ta, td_event_e event, td_notify_t *ptr) { + TDBG_FUNC(); switch (event) { @@ -452,8 +343,8 @@ static td_err_e pt_ta_set_event(const td_thragent_t *ta, td_thr_events_t *events) { + td_thr_events_t mask; int ret; - td_thr_events_t mask; TDBG_FUNC(); ret = ps_pread(ta->ph, ta->thread_event_mask_addr, &mask, @@ -469,8 +360,8 @@ static td_err_e pt_ta_clear_event(const td_thragent_t *ta, td_thr_events_t *events) { + td_thr_events_t mask; int ret; - td_thr_events_t mask; TDBG_FUNC(); ret = ps_pread(ta->ph, ta->thread_event_mask_addr, &mask, @@ -489,9 +380,9 @@ static td_thrhandle_t handle; psaddr_t pt, pt_temp; + td_thr_events_e tmp; long lwp; int ret; - td_thr_events_e tmp; TDBG_FUNC(); @@ -500,24 +391,29 @@ return (P2T(ret)); if (pt == NULL) return (TD_NOMSG); - /* At the time, libthr only reports event once a time. */ + /* + * Take the event pointer, at the time, libthr only reports event + * once a time, so it is not a link list. + */ pt_temp = NULL; ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); + /* Read event info */ ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg)); if (ret != 0) return (P2T(ret)); if (msg->event == 0) return (TD_NOMSG); - /* clear event */ + /* Clear event */ tmp = 0; ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp)); + /* Convert event */ pt = (psaddr_t)msg->th_p; ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp)); if (ret != 0) return (P2T(ret)); handle.th_ta = ta; - handle.th_tid = pt_map_thread(ta, lwp, pt); + handle.th_tid = lwp; handle.th_thread = pt; msg->th_p = &handle; return (0); @@ -536,9 +432,9 @@ return (ret); if (suspend) - ret = ps_lstop(ta->ph, ta->map[th->th_tid].lwp); + ret = ps_lstop(ta->ph, th->th_tid); else - ret = ps_lcontinue(ta->ph, ta->map[th->th_tid].lwp); + ret = ps_lcontinue(ta->ph, th->th_tid); return (P2T(ret)); } @@ -566,8 +462,7 @@ TDBG_FUNC(); - ret = pt_ta_map_id2thr(th->th_ta, th->th_tid, - &temp); + ret = pt_ta_map_id2thr(th->th_ta, th->th_tid, &temp); return (ret); } @@ -583,24 +478,23 @@ ret = pt_validate(th); if (ret) return (ret); - - memset(info, 0, sizeof(*info)); - if (ta->map[th->th_tid].thr == 0) { - info->ti_type = TD_THR_SYSTEM; - info->ti_lid = ta->map[th->th_tid].lwp; - info->ti_tid = th->th_tid; - info->ti_state = TD_THR_RUN; - info->ti_type = TD_THR_SYSTEM; - info->ti_thread = NULL; - return (TD_OK); - } - ret = ps_pread(ta->ph, ta->map[th->th_tid].thr + ta->thread_off_state, + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_state, &state, sizeof(state)); if (ret != 0) return (P2T(ret)); - info->ti_lid = ta->map[th->th_tid].lwp; + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_report_events, + &info->ti_traceme, sizeof(int)); + if (ret != 0) + return (P2T(ret)); + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_event_mask, + &info->ti_events, sizeof(td_thr_events_t)); + if (ret != 0) + return (P2T(ret)); + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_tcb, + &info->ti_tls, sizeof(void *)); + info->ti_lid = th->th_tid; info->ti_tid = th->th_tid; - info->ti_thread = ta->map[th->th_tid].thr; + info->ti_thread = th->th_thread; info->ti_ta_p = th->th_ta; if (state == ta->thread_state_running) info->ti_state = TD_THR_RUN; @@ -624,7 +518,7 @@ if (ret) return (ret); - ret = ps_lgetfpregs(ta->ph, ta->map[th->th_tid].lwp, fpregs); + ret = ps_lgetfpregs(ta->ph, th->th_tid, fpregs); return (P2T(ret)); } @@ -640,8 +534,7 @@ if (ret) return (ret); - ret = ps_lgetregs(ta->ph, - ta->map[th->th_tid].lwp, gregs); + ret = ps_lgetregs(ta->ph, th->th_tid, gregs); return (P2T(ret)); } @@ -657,7 +550,7 @@ if (ret) return (ret); - ret = ps_lsetfpregs(ta->ph, ta->map[th->th_tid].lwp, fpregs); + ret = ps_lsetfpregs(ta->ph, th->th_tid, fpregs); return (P2T(ret)); } @@ -673,7 +566,7 @@ if (ret) return (ret); - ret = ps_lsetregs(ta->ph, ta->map[th->th_tid].lwp, gregs); + ret = ps_lsetregs(ta->ph, th->th_tid, gregs); return (P2T(ret)); } @@ -736,26 +629,30 @@ ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); if (ret != 0) return (P2T(ret)); - /* get event */ + /* Get event */ ret = ps_pread(ta->ph, pt + ta->thread_off_event_buf, msg, sizeof(*msg)); if (ret != 0) return (P2T(ret)); if (msg->event == 0) return (TD_NOMSG); - /* clear event, at the time, libthr only reports event once a time. */ + /* + * Take the event pointer, at the time, libthr only reports event + * once a time, so it is not a link list. + */ if (pt == pt_temp) { pt_temp = NULL; ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp)); } + /* Clear event */ tmp = 0; ps_pwrite(ta->ph, pt + ta->thread_off_event_buf, &tmp, sizeof(tmp)); - /* convert event */ + /* Convert event */ pt = (psaddr_t)msg->th_p; ret = ps_pread(ta->ph, pt + ta->thread_off_tid, &lwp, sizeof(lwp)); if (ret != 0) return (P2T(ret)); handle.th_ta = ta; - handle.th_tid = pt_map_thread(ta, lwp, pt); + handle.th_tid = lwp; handle.th_thread = pt; msg->th_p = &handle; return (0); @@ -764,28 +661,17 @@ static td_err_e pt_thr_sstep(const td_thrhandle_t *th, int step) { - const td_thragent_t *ta = th->th_ta; - int ret; - TDBG_FUNC(); - ret = pt_validate(th); - if (ret) - return (ret); - - if (ta->map[th->th_tid].thr == 0) - return (TD_BADTH); - - return (0); + return pt_validate(th); } static int pt_validate(const td_thrhandle_t *th) { - if (th->th_tid <= 0 || th->th_tid >= th->th_ta->map_len || - th->th_ta->map[th->th_tid].used == 0) - return (TD_NOTHR); + if (th->th_tid == 0 || th->th_thread == NULL) + return (TD_ERR); return (TD_OK); } @@ -809,8 +695,7 @@ return (P2T(ret)); /* get thread tcb */ - ret = ps_pread(ta->ph, ta->map[th->th_tid].thr + - ta->thread_off_tcb, + ret = ps_pread(ta->ph, th->th_thread + ta->thread_off_tcb, &tcb_addr, sizeof(tcb_addr)); if (ret != 0) return (P2T(ret)); From owner-p4-projects@FreeBSD.ORG Wed Apr 13 05:21:13 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80E2D16A4D0; Wed, 13 Apr 2005 05:21:13 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5C45816A4CE for ; Wed, 13 Apr 2005 05:21:13 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 463E943D3F for ; Wed, 13 Apr 2005 05:21:13 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3D5LDVk016961 for ; Wed, 13 Apr 2005 05:21:13 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3D5LDZJ016958 for perforce@freebsd.org; Wed, 13 Apr 2005 05:21:13 GMT (envelope-from anholt@freebsd.org) Date: Wed, 13 Apr 2005 05:21:13 GMT Message-Id: <200504130521.j3D5LDZJ016958@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75048 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Apr 2005 05:21:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=75048 Change 75048 by anholt@anholt_leguin on 2005/04/13 05:20:54 Fix compile for -current. Affected files ... .. //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#3 edit Differences ... ==== //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#3 (text+ko) ==== @@ -979,8 +979,13 @@ #ifdef __FreeBSD__ vaddr = round_page((vm_offset_t)vms->vm_daddr + MAXDSIZ); +#if __FreeBSD_version >= 600023 retcode = vm_mmap(&vms->vm_map, &vaddr, size, PROT_READ | PROT_WRITE, + VM_PROT_ALL, MAP_SHARED, OBJT_DEVICE, kdev, foff ); +#else + retcode = vm_mmap(&vms->vm_map, &vaddr, size, PROT_READ | PROT_WRITE, VM_PROT_ALL, MAP_SHARED, SLIST_FIRST(&kdev->si_hlist), foff ); +#endif #elif defined(__NetBSD__) || defined(__OpenBSD__) vaddr = round_page((vaddr_t)vms->vm_daddr + MAXDSIZ); retcode = uvm_mmap(&vms->vm_map, &vaddr, size, From owner-p4-projects@FreeBSD.ORG Thu Apr 14 01:50:07 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D4FA116A4D0; Thu, 14 Apr 2005 01:50:05 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A28F316A4CE for ; Thu, 14 Apr 2005 01:50:05 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA4FC43D41 for ; Thu, 14 Apr 2005 01:50:04 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E1o4qf008808 for ; Thu, 14 Apr 2005 01:50:04 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E1o4HQ008805 for perforce@freebsd.org; Thu, 14 Apr 2005 01:50:04 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 01:50:04 GMT Message-Id: <200504140150.j3E1o4HQ008805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75114 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 01:50:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=75114 Change 75114 by davidxu@davidxu_celeron on 2005/04/14 01:49:18 IFC. Affected files ... .. //depot/projects/davidxu_thread/src/games/fortune/datfiles/fortunes#9 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/gen/_set_tp.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/Makefile.inc#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/i386_get_fsbase.c#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/i386_get_gsbase.c#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/i386_set_fsbase.c#1 branch .. //depot/projects/davidxu_thread/src/lib/libc/i386/sys/i386_set_gsbase.c#1 branch .. //depot/projects/davidxu_thread/src/lib/libdisk/disk.c#3 integrate .. //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/i386/pthread_md.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/include/pthread_md.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/i386/pthread_md.c#2 integrate .. //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/include/pthread_md.h#2 integrate .. //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#14 integrate .. //depot/projects/davidxu_thread/src/libexec/rtld-elf/i386/reloc.c#2 integrate .. //depot/projects/davidxu_thread/src/sbin/sysctl/sysctl.c#3 integrate .. //depot/projects/davidxu_thread/src/share/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/share/examples/etc/make.conf#8 integrate .. //depot/projects/davidxu_thread/src/share/man/man5/make.conf.5#7 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/conf/GENERIC#6 integrate .. //depot/projects/davidxu_thread/src/sys/arm/sa11x0/sa11x0_io.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/coda/coda_vnops.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/compat/linux/linux_file.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/compat/linux/linux_getcwd.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/compat/linux/linux_ioctl.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.alpha#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.amd64#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.arm#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.i386#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.ia64#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.pc98#6 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.powerpc#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/Makefile.sparc64#5 integrate .. //depot/projects/davidxu_thread/src/sys/conf/kern.pre.mk#4 integrate .. //depot/projects/davidxu_thread/src/sys/contrib/pf/net/pf.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/aic/aic_cbus.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-card.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-cbus.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-isa.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/dpt/dpt_pci.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ed/if_ed98.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ep/if_ep.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ida/ida.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ida/ida_eisa.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ida/ida_pci.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ida/idareg.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ida/idavar.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pccbb/pccbb_pci.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pci_user.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pcib_if.m#3 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/pci/es137x.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/sound/usb/uaudio_pcm.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/fs/devfs/devfs_vnops.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/fs/hpfs/hpfs_vnops.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/fs/msdosfs/msdosfs_lookup.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/fs/nwfs/nwfs_vnops.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/fs/pseudofs/pseudofs_vnops.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/fs/smbfs/smbfs_vnops.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/fs/udf/udf_vnops.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/fs/unionfs/union_vnops.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/gnu/ext2fs/ext2_lookup.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/genassym.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/mp_machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/swtch.s#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/sys_machdep.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm86bios.s#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/clock.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pc/display.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pcb.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pcpu.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/segments.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/sysarch.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/linux/linux.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/isofs/cd9660/cd9660_lookup.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/tty.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_cache.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_lookup.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/kern/vfs_subr.c#12 integrate .. //depot/projects/davidxu_thread/src/sys/net/iso88025.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/netgraph/ng_cisco.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/nfs4client/nfs4_vnops.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/nfsclient/nfs_vnops.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/i386/machdep.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/bus_memio.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/bus_pio.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/clock.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/include/pc/display.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/pc98/isa_dma.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/pc98/olpt.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/pc98/scterm-sck.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/sys/mouse.h#4 integrate .. //depot/projects/davidxu_thread/src/sys/ufs/ufs/ufs_lookup.c#4 integrate .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/Makefile#4 integrate .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/Makefile#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.b.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.d.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.f.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.m1.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.m2.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.m3.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.m4.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.s.out#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.sh#1 branch .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.t#1 branch .. //depot/projects/davidxu_thread/src/tools/tools/ministat/ministat.c#2 integrate .. //depot/projects/davidxu_thread/src/tools/tools/nanobsd/Makefile#5 integrate .. //depot/projects/davidxu_thread/src/tools/tools/nanobsd/i386.diskimage#6 integrate .. //depot/projects/davidxu_thread/src/tools/tools/nanobsd/make.conf#6 integrate .. //depot/projects/davidxu_thread/src/usr.bin/make/var.c#9 integrate .. //depot/projects/davidxu_thread/src/usr.bin/printf/printf.c#4 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/mixer/mixer.8#2 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/mixer/mixer.c#2 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/moused/moused.8#3 integrate .. //depot/projects/davidxu_thread/src/usr.sbin/moused/moused.c#3 integrate Differences ... ==== //depot/projects/davidxu_thread/src/games/fortune/datfiles/fortunes#9 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.174 2005/04/10 10:53:26 schweikh Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.175 2005/04/13 06:11:49 phk Exp $ % ======================================================================= @@ -15198,6 +15198,11 @@ Computerspeak for "information". Properly pronounced the way Bostonians pronounce the word for a female child. % +Data is not information; +Information is not knowledge; +Knowledge is not wisdom; + -- Gary Flake +% Dave Mack: "Your stupidity, Allen, is simply not up to par." Allen Gwinn: "Yours is." % ==== //depot/projects/davidxu_thread/src/lib/libc/i386/gen/_set_tp.c#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/i386/gen/_set_tp.c,v 1.2 2004/11/06 03:28:26 peter Exp $ + * $FreeBSD: src/lib/libc/i386/gen/_set_tp.c,v 1.3 2005/04/14 00:02:37 peter Exp $ */ #include @@ -36,8 +36,11 @@ { #ifndef COMPAT_32BIT union descriptor ldt; - int sel; + int error, sel; + error = i386_set_gsbase(tp); + if (error == 0) + return; memset(&ldt, 0, sizeof(ldt)); ldt.sd.sd_lolimit = 0xffff; /* 4G limit */ ldt.sd.sd_lobase = ((uintptr_t)tp) & 0xffffff; ==== //depot/projects/davidxu_thread/src/lib/libc/i386/sys/Makefile.inc#2 (text+ko) ==== @@ -1,9 +1,10 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.28 2004/11/06 03:28:26 peter Exp $ +# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.29 2005/04/14 00:01:35 peter Exp $ .if !defined(COMPAT_32BIT) SRCS+= i386_clr_watch.c i386_get_ioperm.c i386_get_ldt.c i386_set_ioperm.c \ i386_set_ldt.c i386_set_watch.c i386_vm86.c +SRCS+= i386_get_fsbase.c i386_get_gsbase.c i386_set_fsbase.c i386_set_gsbase.c .else SRCS+= _amd64_get_fsbase.c _amd64_get_gsbase.c _amd64_set_fsbase.c _amd64_set_gsbase.c .endif ==== //depot/projects/davidxu_thread/src/lib/libdisk/disk.c#3 (text+ko) ==== @@ -8,7 +8,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.124 2004/12/22 08:17:18 yongari Exp $"); +__FBSDID("$FreeBSD: src/lib/libdisk/disk.c,v 1.125 2005/04/13 13:42:38 nyan Exp $"); #include #include @@ -324,7 +324,6 @@ return 0; } -#ifdef PC98 const char * slice_type_name( int type, int subtype ) { @@ -332,27 +331,6 @@ switch (type) { case whole: return "whole"; - case fat: - return "fat"; - case freebsd: - switch (subtype) { - case 0xc494: return "freebsd"; - default: return "unknown"; - } - case unused: - return "unused"; - default: - return "unknown"; - } -} -#else /* PC98 */ -const char * -slice_type_name( int type, int subtype ) -{ - - switch (type) { - case whole: - return "whole"; case mbr: switch (subtype) { case 1: return "fat (12-bit)"; @@ -392,7 +370,11 @@ return "fat"; case freebsd: switch (subtype) { +#ifdef PC98 + case 0xc494: return "freebsd"; +#else case 165: return "freebsd"; +#endif default: return "unknown"; } case extended: @@ -407,4 +389,3 @@ return "unknown"; } } -#endif /* PC98 */ ==== //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/i386/pthread_md.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/pthread_md.c,v 1.4 2004/11/06 03:35:51 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libpthread/arch/i386/i386/pthread_md.c,v 1.5 2005/04/14 00:13:19 peter Exp $"); #include #include @@ -42,6 +42,8 @@ #include "rtld_tls.h" #include "pthread_md.h" +int _thr_using_setbase; + struct tcb * _tcb_ctor(struct pthread *thread, int initial) { @@ -78,8 +80,10 @@ { #ifndef COMPAT_32BIT union descriptor ldt; + void *base; #endif struct kcb *kcb; + int error; kcb = malloc(sizeof(struct kcb)); if (kcb != NULL) { @@ -87,20 +91,35 @@ kcb->kcb_self = kcb; kcb->kcb_kse = kse; #ifndef COMPAT_32BIT - ldt.sd.sd_hibase = (unsigned int)kcb >> 24; - ldt.sd.sd_lobase = (unsigned int)kcb & 0xFFFFFF; - ldt.sd.sd_hilimit = (sizeof(struct kcb) >> 16) & 0xF; - ldt.sd.sd_lolimit = sizeof(struct kcb) & 0xFFFF; - ldt.sd.sd_type = SDT_MEMRWA; - ldt.sd.sd_dpl = SEL_UPL; - ldt.sd.sd_p = 1; - ldt.sd.sd_xx = 0; - ldt.sd.sd_def32 = 1; - ldt.sd.sd_gran = 0; /* no more than 1M */ - kcb->kcb_ldt = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); - if (kcb->kcb_ldt < 0) { - free(kcb); - return (NULL); + switch (_thr_using_setbase) { + case 1: /* use i386_set_gsbase() in _kcb_set */ + kcb->kcb_ldt = -1; + break; + case 0: /* Untested, try the get/set_gsbase routines once */ + error = i386_get_gsbase(&base); + if (error == 0) { + _thr_using_setbase = 1; + break; + } + /* fall through */ + case 2: /* Use the user_ldt code, we must have an old kernel */ + _thr_using_setbase = 2; + ldt.sd.sd_hibase = (unsigned int)kcb >> 24; + ldt.sd.sd_lobase = (unsigned int)kcb & 0xFFFFFF; + ldt.sd.sd_hilimit = (sizeof(struct kcb) >> 16) & 0xF; + ldt.sd.sd_lolimit = sizeof(struct kcb) & 0xFFFF; + ldt.sd.sd_type = SDT_MEMRWA; + ldt.sd.sd_dpl = SEL_UPL; + ldt.sd.sd_p = 1; + ldt.sd.sd_xx = 0; + ldt.sd.sd_def32 = 1; + ldt.sd.sd_gran = 0; /* no more than 1M */ + kcb->kcb_ldt = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); + if (kcb->kcb_ldt < 0) { + free(kcb); + return (NULL); + } + break; } #endif } ==== //depot/projects/davidxu_thread/src/lib/libpthread/arch/i386/include/pthread_md.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libpthread/arch/i386/include/pthread_md.h,v 1.13 2004/11/06 03:35:51 peter Exp $ + * $FreeBSD: src/lib/libpthread/arch/i386/include/pthread_md.h,v 1.14 2005/04/14 00:13:20 peter Exp $ */ /* * Machine-dependent thread prototypes/definitions for the thread kernel. @@ -40,6 +40,8 @@ extern int _thr_setcontext(mcontext_t *, intptr_t, intptr_t *); extern int _thr_getcontext(mcontext_t *); +extern int _thr_using_setbase; + #define KSE_STACKSIZE 16384 #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) @@ -155,8 +157,12 @@ #ifndef COMPAT_32BIT int val; - val = (kcb->kcb_ldt << 3) | 7; - __asm __volatile("movl %0, %%gs" : : "r" (val)); + if (_thr_using_setbase == 1) { + i386_set_gsbase(kcb); + } else { + val = (kcb->kcb_ldt << 3) | 7; + __asm __volatile("movl %0, %%gs" : : "r" (val)); + } #else _amd64_set_gsbase(kcb); #endif ==== //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/i386/pthread_md.c#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/arch/i386/i386/pthread_md.c,v 1.1 2005/04/02 01:19:58 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/i386/i386/pthread_md.c,v 1.2 2005/04/14 00:44:06 peter Exp $ */ #include @@ -35,14 +35,18 @@ #include "pthread_md.h" +int _thr_using_setbase; + struct tcb * _tcb_ctor(struct pthread *thread, int initial) { #ifndef COMPAT_32BIT union descriptor ldt; + void *base; #endif struct tcb *tcb; void *oldtls; + int error; if (initial) __asm __volatile("movl %%gs:0, %0" : "=r" (oldtls)); @@ -53,20 +57,35 @@ if (tcb) { tcb->tcb_thread = thread; #ifndef COMPAT_32BIT - ldt.sd.sd_hibase = (unsigned int)tcb >> 24; - ldt.sd.sd_lobase = (unsigned int)tcb & 0xFFFFFF; - ldt.sd.sd_hilimit = (sizeof(struct tcb) >> 16) & 0xF; - ldt.sd.sd_lolimit = sizeof(struct tcb) & 0xFFFF; - ldt.sd.sd_type = SDT_MEMRWA; - ldt.sd.sd_dpl = SEL_UPL; - ldt.sd.sd_p = 1; - ldt.sd.sd_xx = 0; - ldt.sd.sd_def32 = 1; - ldt.sd.sd_gran = 0; /* no more than 1M */ - tcb->tcb_ldt = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); - if (tcb->tcb_ldt < 0) { - _rtld_free_tls(tcb, sizeof(struct tcb), 16); - tcb = NULL; + tcb->tcb_ldt = -1; + switch (_thr_using_setbase) { + case 1: /* use i386_set_gsbase() in _kcb_set */ + break; + case 0: /* Untested, try the get/set_gsbase routines once */ + error = i386_get_gsbase(&base); + if (error == 0) { + _thr_using_setbase = 1; + break; + } + /* fall through */ + case 2: /* Use the user_ldt code, we must have an old kernel */ + _thr_using_setbase = 2; + ldt.sd.sd_hibase = (unsigned int)tcb >> 24; + ldt.sd.sd_lobase = (unsigned int)tcb & 0xFFFFFF; + ldt.sd.sd_hilimit = (sizeof(struct tcb) >> 16) & 0xF; + ldt.sd.sd_lolimit = sizeof(struct tcb) & 0xFFFF; + ldt.sd.sd_type = SDT_MEMRWA; + ldt.sd.sd_dpl = SEL_UPL; + ldt.sd.sd_p = 1; + ldt.sd.sd_xx = 0; + ldt.sd.sd_def32 = 1; + ldt.sd.sd_gran = 0; /* no more than 1M */ + tcb->tcb_ldt = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); + if (tcb->tcb_ldt < 0) { + _rtld_free_tls(tcb, sizeof(struct tcb), 16); + tcb = NULL; + } + break; } #endif } ==== //depot/projects/davidxu_thread/src/lib/libthr/arch/i386/include/pthread_md.h#2 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.1 2005/04/02 01:19:58 davidxu Exp $ + * $FreeBSD: src/lib/libthr/arch/i386/include/pthread_md.h,v 1.2 2005/04/14 00:44:07 peter Exp $ */ /* @@ -39,6 +39,8 @@ #define DTV_OFFSET offsetof(struct tcb, tcb_dtv) +extern int _thr_using_setbase; + /* * Variant II tcb, first two members are required by rtld, * %gs points to the structure. @@ -88,8 +90,12 @@ #ifndef COMPAT_32BIT int val; - val = (tcb->tcb_ldt << 3) | 7; - __asm __volatile("movl %0, %%gs" : : "r" (val)); + if (_thr_using_setbase == 1) { + i386_set_gsbase(tcb); + } else { + val = (tcb->tcb_ldt << 3) | 7; + __asm __volatile("movl %0, %%gs" : : "r" (val)); + } #else _amd64_set_gsbase(tcb); #endif ==== //depot/projects/davidxu_thread/src/lib/libthread_db/libthr_db.c#14 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.6 2005/04/12 23:33:08 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.7 2005/04/13 04:57:38 davidxu Exp $"); #include #include ==== //depot/projects/davidxu_thread/src/libexec/rtld-elf/i386/reloc.c#2 (text+ko) ==== @@ -22,7 +22,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/libexec/rtld-elf/i386/reloc.c,v 1.14 2004/11/06 03:32:07 peter Exp $ + * $FreeBSD: src/libexec/rtld-elf/i386/reloc.c,v 1.15 2005/04/14 00:04:50 peter Exp $ */ /* @@ -329,7 +329,7 @@ void* tls; #ifndef COMPAT_32BIT union descriptor ldt; - int sel; + int error, sel; #endif /* @@ -341,18 +341,21 @@ tls = allocate_tls(objs, NULL, 2*sizeof(Elf_Addr), sizeof(Elf_Addr)); #ifndef COMPAT_32BIT - memset(&ldt, 0, sizeof(ldt)); - ldt.sd.sd_lolimit = 0xffff; /* 4G limit */ - ldt.sd.sd_lobase = ((Elf_Addr)tls) & 0xffffff; - ldt.sd.sd_type = SDT_MEMRWA; - ldt.sd.sd_dpl = SEL_UPL; - ldt.sd.sd_p = 1; /* present */ - ldt.sd.sd_hilimit = 0xf; /* 4G limit */ - ldt.sd.sd_def32 = 1; /* 32 bit */ - ldt.sd.sd_gran = 1; /* limit in pages */ - ldt.sd.sd_hibase = (((Elf_Addr)tls) >> 24) & 0xff; - sel = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); - __asm __volatile("movl %0,%%gs" : : "rm" ((sel << 3) | 7)); + error = i386_set_gsbase(tls); + if (error) { + memset(&ldt, 0, sizeof(ldt)); + ldt.sd.sd_lolimit = 0xffff; /* 4G limit */ + ldt.sd.sd_lobase = ((Elf_Addr)tls) & 0xffffff; + ldt.sd.sd_type = SDT_MEMRWA; + ldt.sd.sd_dpl = SEL_UPL; + ldt.sd.sd_p = 1; /* present */ + ldt.sd.sd_hilimit = 0xf; /* 4G limit */ + ldt.sd.sd_def32 = 1; /* 32 bit */ + ldt.sd.sd_gran = 1; /* limit in pages */ + ldt.sd.sd_hibase = (((Elf_Addr)tls) >> 24) & 0xff; + sel = i386_set_ldt(LDT_AUTO_ALLOC, &ldt, 1); + __asm __volatile("movl %0,%%gs" : : "rm" ((sel << 3) | 7)); + } #else _amd64_set_gsbase(tls); #endif ==== //depot/projects/davidxu_thread/src/sbin/sysctl/sysctl.c#3 (text+ko) ==== @@ -38,7 +38,7 @@ static char sccsid[] = "@(#)from: sysctl.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$FreeBSD: src/sbin/sysctl/sysctl.c,v 1.65 2005/02/10 09:19:34 ru Exp $"; + "$FreeBSD: src/sbin/sysctl/sysctl.c,v 1.67 2005/04/13 06:59:07 mdodd Exp $"; #endif /* not lint */ #ifdef __i386__ @@ -189,6 +189,11 @@ if (newval == NULL) { if ((kind & CTLTYPE) == CTLTYPE_NODE) { + if (dflag) { + i = show_var(mib, len); + if (!i && !bflag) + putchar('\n'); + } sysctl_all(mib, len); } else { i = show_var(mib, len); @@ -501,6 +506,8 @@ u_int kind; int (*func)(int, void *); + bzero(buf, BUFSIZ); + bzero(name, BUFSIZ); qoid[0] = 0; memcpy(qoid + 2, oid, nlen * sizeof(int)); ==== //depot/projects/davidxu_thread/src/share/Makefile#2 (text+ko) ==== @@ -1,10 +1,10 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 -# $FreeBSD: src/share/Makefile,v 1.32 2004/04/24 19:54:54 phk Exp $ +# $FreeBSD: src/share/Makefile,v 1.33 2005/04/13 10:02:58 phk Exp $ # Do not include `info' in the SUBDIR list, it is handled separately. SUBDIR= colldef \ - dict \ + ${_dict} \ ${_doc} \ examples \ ${_isdn} \ @@ -29,6 +29,10 @@ _isdn= isdn .endif +.if !defined(NO_DICT) +_dict= dict +.endif + .if !defined(NO_SENDMAIL) _sendmail= sendmail .endif ==== //depot/projects/davidxu_thread/src/share/examples/etc/make.conf#8 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/examples/etc/make.conf,v 1.261 2005/03/21 22:22:13 le Exp $ +# $FreeBSD: src/share/examples/etc/make.conf,v 1.262 2005/04/13 10:02:58 phk Exp $ # # NOTE: Please would any committer updating this file also update the # make.conf(5) manual page, if necessary, which is located in @@ -113,6 +113,7 @@ #NO_CRYPT= # do not build any crypto code #NO_CVS= # do not build CVS #NO_CXX= # do not build C++ and friends +#NO_DICT= # do not build the Webster dictionary files #NO_DYNAMICROOT= # do not link /bin and /sbin dynamically #NO_FORTRAN= # do not build g77 and related libraries #NO_GAMES= # do not build games (games/ subdir) ==== //depot/projects/davidxu_thread/src/share/man/man5/make.conf.5#7 (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/man5/make.conf.5,v 1.118 2005/03/02 05:22:27 trhodes Exp $ +.\" $FreeBSD: src/share/man/man5/make.conf.5,v 1.119 2005/04/13 10:02:58 phk Exp $ .\" .Dd March 2, 2005 .Dt MAKE.CONF 5 @@ -437,6 +437,9 @@ Set to not build .Xr g++ 1 and related libraries. +.It Va NO_DICT +.Pq Vt bool +Set to not build the Webster dictionary files. .It Va NO_FORTRAN .Pq Vt bool Set to not build ==== //depot/projects/davidxu_thread/src/sys/amd64/conf/GENERIC#6 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.436 2005/03/31 20:55:10 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.437 2005/04/13 06:00:07 anholt Exp $ machine amd64 cpu HAMMER @@ -156,6 +156,8 @@ # syscons is the default console driver, resembling an SCO console device sc +device agp # support several AGP chipsets + # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge ==== //depot/projects/davidxu_thread/src/sys/arm/sa11x0/sa11x0_io.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.5 2005/01/05 21:58:48 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/sa11x0/sa11x0_io.c,v 1.6 2005/04/13 16:02:03 cognet Exp $"); #include #include #include @@ -166,7 +166,6 @@ PTE_SYNC(pte); } } - pmap_update(pmap_kernel()); return(0); } ==== //depot/projects/davidxu_thread/src/sys/coda/coda_vnops.c#7 (text+ko) ==== @@ -42,7 +42,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.65 2005/03/28 13:39:16 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/coda/coda_vnops.c,v 1.66 2005/04/13 10:59:07 jeff Exp $"); #include #include @@ -1010,6 +1010,7 @@ return (error); } } + vn_lock(dvp, LK_RETRY|LK_EXCLUSIVE, td); } else { /* The parent is locked, and may be the same as the child */ if (*ap->a_vpp && (*ap->a_vpp != dvp)) { ==== //depot/projects/davidxu_thread/src/sys/compat/linux/linux_file.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.90 2005/01/14 04:44:56 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_file.c,v 1.91 2005/04/13 04:31:43 mdodd Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -979,6 +979,14 @@ td->td_retval[0] |= LINUX_O_SYNC; if (result & O_ASYNC) td->td_retval[0] |= LINUX_FASYNC; +#ifdef LINUX_O_NOFOLLOW + if (result & O_NOFOLLOW) + td->td_retval[0] |= LINUX_O_NOFOLLOW; +#endif +#ifdef LINUX_O_DIRECT + if (result & O_DIRECT) + td->td_retval[0] |= LINUX_O_DIRECT; +#endif return (error); case LINUX_F_SETFL: @@ -991,6 +999,14 @@ arg |= O_FSYNC; if (args->arg & LINUX_FASYNC) arg |= O_ASYNC; +#ifdef LINUX_O_NOFOLLOW + if (args->arg & LINUX_O_NOFOLLOW) + arg |= O_NOFOLLOW; +#endif +#ifdef LINUX_O_DIRECT + if (args->arg & LINUX_O_DIRECT) + arg |= O_DIRECT; +#endif return (kern_fcntl(td, args->fd, F_SETFL, arg)); case LINUX_F_GETLK: ==== //depot/projects/davidxu_thread/src/sys/compat/linux/linux_getcwd.c#4 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.17 2005/03/29 10:16:12 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.18 2005/04/13 10:59:07 jeff Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -185,7 +185,7 @@ /* If we don't care about the pathname, we're done */ if (bufp == NULL) { - vrele(lvp); + vput(lvp); *lvpp = NULL; return 0; } @@ -281,7 +281,7 @@ error = ENOENT; out: - vrele(lvp); + vput(lvp); *lvpp = NULL; free(dirbuf, M_TEMP); return error; ==== //depot/projects/davidxu_thread/src/sys/compat/linux/linux_ioctl.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.126 2005/03/24 19:26:50 brooks Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_ioctl.c,v 1.127 2005/04/13 04:33:06 mdodd Exp $"); #include #include @@ -1628,6 +1628,18 @@ * Sound related ioctls */ +struct linux_mixer_info { + char id[16]; + char name[32]; + int modify_counter; + int fillers[10]; +}; + +struct linux_old_mixer_info { + char id[16]; + char name[32]; +}; + static u_int32_t dirbits[4] = { IOC_VOID, IOC_IN, IOC_OUT, IOC_INOUT }; #define SETDIR(c) (((c) & ~IOC_DIRMASK) | dirbits[args->cmd >> 30]) @@ -1706,9 +1718,30 @@ args->cmd = SETDIR(SOUND_MIXER_WRITE_LINE3); return (ioctl(td, (struct ioctl_args *)args)); - case LINUX_SOUND_MIXER_INFO: - args->cmd = SETDIR(SOUND_MIXER_INFO); - return (ioctl(td, (struct ioctl_args *)args)); + case LINUX_SOUND_MIXER_INFO: { + /* Key on encoded length */ + switch ((args->cmd >> 16) & 0x1fff) { + case 0x005c: { /* SOUND_MIXER_INFO */ + struct linux_mixer_info info; + bzero(&info, sizeof(info)); + strncpy(info.id, "OSS", sizeof(info.id) - 1); + strncpy(info.name, "FreeBSD OSS Mixer", sizeof(info.name) - 1); + copyout(&info, (void *)args->arg, sizeof(info)); + break; + } + case 0x0030: { /* SOUND_OLD_MIXER_INFO */ + struct linux_old_mixer_info info; + bzero(&info, sizeof(info)); + strncpy(info.id, "OSS", sizeof(info.id) - 1); + strncpy(info.name, "FreeBSD OSS Mixer", sizeof(info.name) - 1); + copyout(&info, (void *)args->arg, sizeof(info)); + break; + } + default: + return (ENOIOCTL); + } + break; + } case LINUX_OSS_GETVERSION: { int version = linux_get_oss_version(td); ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.alpha#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.alpha -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.alpha 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.alpha,v 1.134 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.alpha,v 1.135 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -87,6 +87,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.amd64#5 (text+ko) ==== @@ -2,7 +2,7 @@ # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 # from FreeBSD: src/sys/conf/Makefile.i386,v 1.255 2002/02/20 23:35:49 -# $FreeBSD: src/sys/conf/Makefile.amd64,v 1.15 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.amd64,v 1.16 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -52,6 +52,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.arm#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.arm -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.arm,v 1.8 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.arm,v 1.9 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -58,6 +58,4 @@ sed s/KERNVIRTADDR/${KERNVIRTADDR}/g > ldscript.$M %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.i386#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.i386,v 1.264 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.i386,v 1.265 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -46,6 +46,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.ia64#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.ia64 -- with config changes. # Copyright 1990 W. Jolitz # from: src/sys/conf/Makefile.alpha,v 1.76 -# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.61 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.62 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -52,6 +52,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.pc98#6 (text+ko) ==== @@ -3,7 +3,7 @@ # Makefile.i386 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.pc98,v 1.166 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.pc98,v 1.167 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -46,6 +46,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.powerpc#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.powerpc -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.powerpc,v 1.276 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.powerpc,v 1.277 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -51,6 +51,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" ==== //depot/projects/davidxu_thread/src/sys/conf/Makefile.sparc64#5 (text+ko) ==== @@ -1,7 +1,7 @@ # Makefile.sparc64 -- with config changes. # Copyright 1990 W. Jolitz # from: @(#)Makefile.i386 7.1 5/10/91 -# $FreeBSD: src/sys/conf/Makefile.sparc64,v 1.32 2005/04/12 22:07:08 vkashyap Exp $ +# $FreeBSD: src/sys/conf/Makefile.sparc64,v 1.33 2005/04/13 14:49:57 imp Exp $ # # Makefile for FreeBSD # @@ -46,6 +46,4 @@ %RULES -CFLAGS+=-I/sys/dev/twa - .include "$S/conf/kern.post.mk" >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 14 02:11:47 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E58D716A4D0; Thu, 14 Apr 2005 02:11:45 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8D30A16A4CE for ; Thu, 14 Apr 2005 02:11:45 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F11643D5E for ; Thu, 14 Apr 2005 02:11:45 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E2BjIW009853 for ; Thu, 14 Apr 2005 02:11:45 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E2BjK3009850 for perforce@freebsd.org; Thu, 14 Apr 2005 02:11:45 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 02:11:45 GMT Message-Id: <200504140211.j3E2BjK3009850@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75116 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 02:11:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=75116 Change 75116 by davidxu@davidxu_celeron on 2005/04/14 02:10:51 Create a new thread creating syscall, the syscall create new thread in atomic. Affected files ... .. //depot/projects/davidxu_thread/src/sys/sys/thr.h#4 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/sys/thr.h#4 (text+ko) ==== @@ -34,13 +34,32 @@ #define THR_SUSPENDED 0x0001 /* Create the system scope thread. */ #define THR_SYSTEM_SCOPE 0x0002 +/* Remember user TID address in kernel, when exits, + write zero to the address and do umtx_wake() + on the address, the pthread_join can use this feature. */ +#define THR_REMBER_TID_ADDRESS 0x0004 +struct thr_param { + void (*start_func)(void *); /* thread entry function. */ + char *stack_base; /* stack base address. */ + size_t stack_size; /* stack size. */ + char *tls_base; /* tls base address. */ + size_t tls_size; /* tls size. */ + int tls_seg; /* which seg is to set for tls. */ + sigset_t sigmask; /* signal mask for new thread. */ + long *child_tid; /* address to store new TID. */ + long parent_tid; /* parent accesses the new TID here. */ + int *user_crit; /* reserved */ + int flags; +}; + /* * See pthread_* */ #ifndef _KERNEL int thr_create(ucontext_t *ctx, long *id, int flags); +int thr_create2(struct thr_param *param, int param_size); int thr_self(long *id); void thr_exit(long *state); int thr_kill(long id, int sig); From owner-p4-projects@FreeBSD.ORG Thu Apr 14 02:13:51 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CB51016A4D0; Thu, 14 Apr 2005 02:13:48 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A226E16A4CE for ; Thu, 14 Apr 2005 02:13:48 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7306F43D45 for ; Thu, 14 Apr 2005 02:13:48 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E2Dmgo009951 for ; Thu, 14 Apr 2005 02:13:48 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E2Dm45009948 for perforce@freebsd.org; Thu, 14 Apr 2005 02:13:48 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 02:13:48 GMT Message-Id: <200504140213.j3E2Dm45009948@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75117 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 02:13:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=75117 Change 75117 by davidxu@davidxu_celeron on 2005/04/14 02:13:04 Add argument. Affected files ... .. //depot/projects/davidxu_thread/src/sys/sys/thr.h#5 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/sys/thr.h#5 (text+ko) ==== @@ -41,6 +41,7 @@ struct thr_param { void (*start_func)(void *); /* thread entry function. */ + void *arg; /* argument for entry function. */ char *stack_base; /* stack base address. */ size_t stack_size; /* stack size. */ char *tls_base; /* tls base address. */ From owner-p4-projects@FreeBSD.ORG Thu Apr 14 02:22:02 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A1F1F16A4E9; Thu, 14 Apr 2005 02:22:00 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4EFE116A513 for ; Thu, 14 Apr 2005 02:21:59 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E0F4F43D41 for ; Thu, 14 Apr 2005 02:21:58 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E2LwJL010268 for ; Thu, 14 Apr 2005 02:21:58 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E2Lw2A010265 for perforce@freebsd.org; Thu, 14 Apr 2005 02:21:58 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 02:21:58 GMT Message-Id: <200504140221.j3E2Lw2A010265@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75118 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 02:22:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=75118 Change 75118 by davidxu@davidxu_celeron on 2005/04/14 02:21:45 Generate thr_create2 syscall. Affected files ... .. //depot/projects/davidxu_thread/src/sys/kern/init_sysent.c#8 edit .. //depot/projects/davidxu_thread/src/sys/kern/syscalls.c#8 edit .. //depot/projects/davidxu_thread/src/sys/kern/syscalls.master#8 edit .. //depot/projects/davidxu_thread/src/sys/sys/syscall.h#7 edit .. //depot/projects/davidxu_thread/src/sys/sys/syscall.mk#7 edit .. //depot/projects/davidxu_thread/src/sys/sys/sysproto.h#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/kern/init_sysent.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/init_sysent.c,v 1.186 2005/03/01 17:44:34 ps Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.186 2005/03/01 17:43:08 ps Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.187 2005/03/09 11:50:55 stefanf Exp */ #include "opt_compat.h" @@ -483,4 +483,5 @@ { SYF_MPSAFE | AS(setaudit_addr_args), (sy_call_t *)lkmressys }, /* 452 = setaudit_addr */ { SYF_MPSAFE | AS(auditctl_args), (sy_call_t *)lkmressys }, /* 453 = auditctl */ { SYF_MPSAFE | AS(_umtx_op_args), (sy_call_t *)_umtx_op }, /* 454 = _umtx_op */ + { SYF_MPSAFE | AS(thr_create2_args), (sy_call_t *)thr_create2 }, /* 455 = thr_create2 */ }; ==== //depot/projects/davidxu_thread/src/sys/kern/syscalls.c#8 (text+ko) ==== @@ -2,8 +2,8 @@ * System call names. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/kern/syscalls.c,v 1.172 2005/03/01 17:44:34 ps Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.186 2005/03/01 17:43:08 ps Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.187 2005/03/09 11:50:55 stefanf Exp */ const char *syscallnames[] = { @@ -462,4 +462,5 @@ "setaudit_addr", /* 452 = setaudit_addr */ "auditctl", /* 453 = auditctl */ "_umtx_op", /* 454 = _umtx_op */ + "thr_create2", /* 455 = thr_create2 */ }; ==== //depot/projects/davidxu_thread/src/sys/kern/syscalls.master#8 (text+ko) ==== @@ -645,5 +645,7 @@ 453 MNOSTD { int auditctl(int cmd, char *path); } 454 MSTD { int _umtx_op(struct umtx *umtx, int op, long id, void *uaddr,\ void *uaddr2); } +455 MSTD { int thr_create2(struct thr_param *param, int param_size); } + ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ==== //depot/projects/davidxu_thread/src/sys/sys/syscall.h#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/syscall.h,v 1.169 2005/03/01 17:44:34 ps Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.186 2005/03/01 17:43:08 ps Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.187 2005/03/09 11:50:55 stefanf Exp */ #define SYS_syscall 0 @@ -368,4 +368,5 @@ #define SYS_setaudit_addr 452 #define SYS_auditctl 453 #define SYS__umtx_op 454 -#define SYS_MAXSYSCALL 455 +#define SYS_thr_create2 455 +#define SYS_MAXSYSCALL 456 ==== //depot/projects/davidxu_thread/src/sys/sys/syscall.mk#7 (text+ko) ==== @@ -1,7 +1,7 @@ # FreeBSD system call names. # DO NOT EDIT-- this file is automatically generated. -# $FreeBSD: src/sys/sys/syscall.mk,v 1.124 2005/03/01 17:44:34 ps Exp $ -# created from FreeBSD: src/sys/kern/syscalls.master,v 1.186 2005/03/01 17:43:08 ps Exp +# $FreeBSD$ +# created from FreeBSD: src/sys/kern/syscalls.master,v 1.187 2005/03/09 11:50:55 stefanf Exp MIASM = \ syscall.o \ exit.o \ @@ -309,4 +309,5 @@ getaudit_addr.o \ setaudit_addr.o \ auditctl.o \ - _umtx_op.o + _umtx_op.o \ + thr_create2.o ==== //depot/projects/davidxu_thread/src/sys/sys/sysproto.h#7 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/sys/sysproto.h,v 1.168 2005/03/01 17:44:34 ps Exp $ - * created from FreeBSD: src/sys/kern/syscalls.master,v 1.186 2005/03/01 17:43:08 ps Exp + * $FreeBSD$ + * created from FreeBSD: src/sys/kern/syscalls.master,v 1.187 2005/03/09 11:50:55 stefanf Exp */ #ifndef _SYS_SYSPROTO_H_ @@ -1349,6 +1349,10 @@ char uaddr_l_[PADL_(void *)]; void * uaddr; char uaddr_r_[PADR_(void *)]; char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; }; +struct thr_create2_args { + char param_l_[PADL_(struct thr_param *)]; struct thr_param * param; char param_r_[PADR_(struct thr_param *)]; + char param_size_l_[PADL_(int)]; int param_size; char param_size_r_[PADR_(int)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_exit(struct thread *, struct sys_exit_args *); int fork(struct thread *, struct fork_args *); @@ -1655,6 +1659,7 @@ int setaudit_addr(struct thread *, struct setaudit_addr_args *); int auditctl(struct thread *, struct auditctl_args *); int _umtx_op(struct thread *, struct _umtx_op_args *); +int thr_create2(struct thread *, struct thr_create2_args *); #ifdef COMPAT_43 From owner-p4-projects@FreeBSD.ORG Thu Apr 14 02:41:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 34B1916A4D1; Thu, 14 Apr 2005 02:41:24 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EAEBC16A4CE for ; Thu, 14 Apr 2005 02:41:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C055043D2F for ; Thu, 14 Apr 2005 02:41:23 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E2fNMR010968 for ; Thu, 14 Apr 2005 02:41:23 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E2fNTK010965 for perforce@freebsd.org; Thu, 14 Apr 2005 02:41:23 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 02:41:23 GMT Message-Id: <200504140241.j3E2fNTK010965@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75121 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 02:41:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=75121 Change 75121 by davidxu@davidxu_celeron on 2005/04/14 02:41:07 Implement thr_create2, not tested. Affected files ... .. //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#12 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#12 (text+ko) ==== @@ -182,6 +182,130 @@ } int +thr_create2(struct thread *td, struct thr_create2_args *uap) +{ + struct thr_param param; + struct thread *newtd; + long id; + int error; + struct ksegrp *kg, *newkg; + struct proc *p; + int scope_sys, linkkg; + stack_t stack; + + p = td->td_proc; + kg = td->td_ksegrp; + if (uap->param_size != sizeof(param)) + return (EINVAL); + if ((error = copyin(uap->param, ¶m, sizeof(param)))) + return (error); + + /* Have race condition but it is cheap. */ + if ((p->p_numksegrps >= max_groups_per_proc) || + (p->p_numthreads >= max_threads_per_proc)) { + return (EPROCLIM); + } + scope_sys = (param.flags & THR_SYSTEM_SCOPE) != 0; + if (thr_scope == 1) + scope_sys = 0; + else if (thr_scope == 2) + scope_sys = 1; + + /* Initialize our td and new ksegrp.. */ + newtd = thread_alloc(); + + /* + * Try the copyout as soon as we allocate the td so we don't have to + * tear things down in a failure case below. + */ + id = newtd->td_tid; + if ((error = copyout(&id, param.child_tid, sizeof(long))) || + (error = copyout(&id, ¶m.parent_tid, sizeof(long)))) { + thread_free(newtd); + return (error); + } + bzero(&newtd->td_startzero, + __rangeof(struct thread, td_startzero, td_endzero)); + bcopy(&td->td_startcopy, &newtd->td_startcopy, + __rangeof(struct thread, td_startcopy, td_endcopy)); + newtd->td_proc = td->td_proc; + newtd->td_ucred = crhold(td->td_ucred); + + /* Set up our machine context. */ + stack.ss_sp = param.stack_base; + stack.ss_size = param.stack_size; + /* fork context from current thread. */ + cpu_set_upcall(newtd, td); + /* set upcall address to user thread entry function. */ + cpu_set_upcall_kse(newtd, param.start_func, param.arg, &stack); + /* setup user TLS address and TLS pointer register. */ + cpu_set_user_tls(newtd, param.tls_base, param.tls_size, param.tls_seg); + if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { + p->p_procscopegrp = kg; + mtx_lock_spin(&sched_lock); + sched_set_concurrency(kg, + thr_concurrency ? thr_concurrency : (2*mp_ncpus)); + mtx_unlock_spin(&sched_lock); + } + + linkkg = 0; + if (scope_sys) { + linkkg = 1; + newkg = ksegrp_alloc(); + bzero(&newkg->kg_startzero, + __rangeof(struct ksegrp, kg_startzero, kg_endzero)); + bcopy(&kg->kg_startcopy, &newkg->kg_startcopy, + __rangeof(struct ksegrp, kg_startcopy, kg_endcopy)); + sched_init_concurrency(newkg); + PROC_LOCK(td->td_proc); + } else { +retry: + PROC_LOCK(td->td_proc); + if ((newkg = p->p_procscopegrp) == NULL) { + PROC_UNLOCK(p); + newkg = ksegrp_alloc(); + bzero(&newkg->kg_startzero, + __rangeof(struct ksegrp, kg_startzero, kg_endzero)); + bcopy(&kg->kg_startcopy, &newkg->kg_startcopy, + __rangeof(struct ksegrp, kg_startcopy, kg_endcopy)); + PROC_LOCK(p); + if (p->p_procscopegrp == NULL) { + p->p_procscopegrp = newkg; + sched_init_concurrency(newkg); + sched_set_concurrency(newkg, + thr_concurrency ? thr_concurrency : (2*mp_ncpus)); + linkkg = 1; + } else { + PROC_UNLOCK(p); + ksegrp_free(newkg); + goto retry; + } + } + } + + td->td_proc->p_flag |= P_HADTHREADS; + newtd->td_sigmask = td->td_sigmask; + mtx_lock_spin(&sched_lock); + if (linkkg) + ksegrp_link(newkg, p); + thread_link(newtd, newkg); + PROC_UNLOCK(p); + + /* let the scheduler know about these things. */ + if (linkkg) + sched_fork_ksegrp(td, newkg); + sched_fork_thread(td, newtd); + TD_SET_CAN_RUN(newtd); + if ((uap->flags & THR_SUSPENDED) == 0) + setrunqueue(newtd, SRQ_BORING); + mtx_unlock_spin(&sched_lock); + +out: + return (error); + +} + +int thr_self(struct thread *td, struct thr_self_args *uap) /* long *id */ { From owner-p4-projects@FreeBSD.ORG Thu Apr 14 02:47:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 98D8116A4D0; Thu, 14 Apr 2005 02:47:32 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75D1116A4CE for ; Thu, 14 Apr 2005 02:47:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3976D43D45 for ; Thu, 14 Apr 2005 02:47:32 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E2lW5P013858 for ; Thu, 14 Apr 2005 02:47:32 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E2lVJ6013855 for perforce@freebsd.org; Thu, 14 Apr 2005 02:47:31 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 02:47:31 GMT Message-Id: <200504140247.j3E2lVJ6013855@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75123 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 02:47:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=75123 Change 75123 by davidxu@davidxu_celeron on 2005/04/14 02:47:20 Add cpu_set_user_tls function. Affected files ... .. //depot/projects/davidxu_thread/src/sys/sys/proc.h#13 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/sys/proc.h#13 (text+ko) ==== @@ -893,6 +893,7 @@ void kseinit(void); void cpu_set_upcall(struct thread *td, struct thread *td0); void cpu_set_upcall_kse(struct thread *, void (*)(void *), void *, stack_t *); +void cpu_set_user_tls(struct thread *, void *tls_base, size_t tls_size, int tls_seg); void cpu_thread_clean(struct thread *); void cpu_thread_exit(struct thread *); void cpu_thread_setup(struct thread *td); From owner-p4-projects@FreeBSD.ORG Thu Apr 14 03:09:01 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CFCA616A4D0; Thu, 14 Apr 2005 03:09:00 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8EAB816A4CF for ; Thu, 14 Apr 2005 03:09:00 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6F9F543D41 for ; Thu, 14 Apr 2005 03:09:00 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3E390c8014982 for ; Thu, 14 Apr 2005 03:09:00 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3E390bD014975 for perforce@freebsd.org; Thu, 14 Apr 2005 03:09:00 GMT (envelope-from davidxu@freebsd.org) Date: Thu, 14 Apr 2005 03:09:00 GMT Message-Id: <200504140309.j3E390bD014975@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75128 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 03:09:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=75128 Change 75128 by davidxu@davidxu_celeron on 2005/04/14 03:08:49 Implement cpu_set_user_tls. Affected files ... .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#7 (text+ko) ==== @@ -469,6 +469,48 @@ (int)arg); } +void +cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size, + int tls_seg) +{ + struct segment_descriptor sd; + uint32_t base; + + /* + * Construct a descriptor and store it in the pcb for + * the next context switch. Also store it in the gdt + * so that the load of tf_fs into %fs will activate it + * at return to userland. + */ + base = (uint32_t)tls_base; + sd.sd_lobase = base & 0xffffff; + sd.sd_hibase = (base >> 24) & 0xff; + sd.sd_lolimit = 0xffff; /* 4GB limit, wraps around */ + sd.sd_hilimit = 0xf; + sd.sd_type = SDT_MEMRWA; + sd.sd_dpl = SEL_UPL; + sd.sd_p = 1; + sd.sd_xx = 0; + sd.sd_def32 = 1; + sd.sd_gran = 1; + mtx_lock_spin(&sched_lock); + if (tls_seg == 0) { + /* set %gs */ + td->td_pcb->pcb_gsd = sd; + if (td == curthread) { + PCPU_GET(fsgs_gdt)[1] = sd; + load_gs(GSEL(GUGS_SEL, SEL_UPL)); + } + } else { + /* set %fs */ + td->td_pcb->pcb_fsd = sd; + if (td == curthread) + PCPU_GET(fsgs_gdt)[0] = sd; + td->td_frame->tf_fs = GSEL(GUFS_SEL, SEL_UPL); + } + mtx_unlock_spin(&sched_lock); +} + /* * Convert kernel VA to physical address */ From owner-p4-projects@FreeBSD.ORG Thu Apr 14 18:01:32 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BFC6C16A4D0; Thu, 14 Apr 2005 18:01:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 73ED116A4CF for ; Thu, 14 Apr 2005 18:01:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B488943D39 for ; Thu, 14 Apr 2005 18:01:29 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3EI1TH2082469 for ; Thu, 14 Apr 2005 18:01:29 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3EI1R9O082452 for perforce@freebsd.org; Thu, 14 Apr 2005 18:01:27 GMT (envelope-from peter@freebsd.org) Date: Thu, 14 Apr 2005 18:01:27 GMT Message-Id: <200504141801.j3EI1R9O082452@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 Subject: PERFORCE change 75182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 18:01:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=75182 Change 75182 by peter@peter_daintree on 2005/04/14 18:00:57 IFC @75180 Affected files ... .. //depot/projects/hammer/Makefile.inc1#89 integrate .. //depot/projects/hammer/bin/dd/dd.1#9 integrate .. //depot/projects/hammer/contrib/top/commands.c#5 integrate .. //depot/projects/hammer/contrib/top/top.c#6 integrate .. //depot/projects/hammer/contrib/traceroute/traceroute.8#3 integrate .. //depot/projects/hammer/etc/defaults/rc.conf#52 integrate .. //depot/projects/hammer/etc/rc.d/cleanvar#8 integrate .. //depot/projects/hammer/etc/rc.d/dumpon#8 integrate .. //depot/projects/hammer/etc/rc.d/random#8 integrate .. //depot/projects/hammer/etc/rc.initdiskless#1 branch .. //depot/projects/hammer/games/fortune/datfiles/fortunes#43 integrate .. //depot/projects/hammer/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#7 integrate .. //depot/projects/hammer/include/pthread.h#8 integrate .. //depot/projects/hammer/lib/libalias/alias.c#11 integrate .. //depot/projects/hammer/lib/libarchive/archive_private.h#16 integrate .. //depot/projects/hammer/lib/libarchive/archive_read.c#11 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_cpio.c#11 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_iso9660.c#5 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_tar.c#20 integrate .. //depot/projects/hammer/lib/libarchive/archive_read_support_format_zip.c#4 integrate .. //depot/projects/hammer/lib/libc/amd64/string/Makefile.inc#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/bcmp.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/bcopy.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/bzero.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/memcmp.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/memcpy.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/memmove.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/memset.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/strcat.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/strcmp.S#3 branch .. //depot/projects/hammer/lib/libc/amd64/string/strcpy.S#3 branch .. //depot/projects/hammer/lib/libc/gen/fnmatch.c#3 integrate .. //depot/projects/hammer/lib/libc/gen/setmode.c#3 integrate .. //depot/projects/hammer/lib/libc/gen/syslog.c#9 integrate .. //depot/projects/hammer/lib/libc/i386/gen/_set_tp.c#5 integrate .. //depot/projects/hammer/lib/libc/i386/sys/Makefile.inc#6 integrate .. //depot/projects/hammer/lib/libc/i386/sys/_amd64_get_fsbase.c#5 integrate .. //depot/projects/hammer/lib/libc/i386/sys/_amd64_get_gsbase.c#5 integrate .. //depot/projects/hammer/lib/libc/i386/sys/i386_get_fsbase.c#1 branch .. //depot/projects/hammer/lib/libc/i386/sys/i386_get_gsbase.c#1 branch .. //depot/projects/hammer/lib/libc/i386/sys/i386_set_fsbase.c#1 branch .. //depot/projects/hammer/lib/libc/i386/sys/i386_set_gsbase.c#1 branch .. //depot/projects/hammer/lib/libc/net/Makefile.inc#11 integrate .. //depot/projects/hammer/lib/libc/net/gai_strerror.c#1 branch .. //depot/projects/hammer/lib/libc/net/getaddrinfo.c#19 integrate .. //depot/projects/hammer/lib/libc/net/getifmaddrs.c#2 integrate .. //depot/projects/hammer/lib/libc/net/name6.c#15 integrate .. //depot/projects/hammer/lib/libc/net/res_comp.c#2 integrate .. //depot/projects/hammer/lib/libc/net/res_mkupdate.c#3 integrate .. //depot/projects/hammer/lib/libc/stdio/vfscanf.c#12 integrate .. //depot/projects/hammer/lib/libc/yp/yplib.c#5 integrate .. //depot/projects/hammer/lib/libdisk/disk.c#21 integrate .. //depot/projects/hammer/lib/libpthread/arch/arm/include/atomic_ops.h#3 integrate .. //depot/projects/hammer/lib/libpthread/arch/i386/i386/pthread_md.c#5 integrate .. //depot/projects/hammer/lib/libpthread/arch/i386/include/pthread_md.h#12 integrate .. //depot/projects/hammer/lib/libthr/Makefile#9 integrate .. //depot/projects/hammer/lib/libthr/arch/arm/Makefile.inc#2 integrate .. //depot/projects/hammer/lib/libthr/arch/arm/include/pthread_md.h#2 integrate .. //depot/projects/hammer/lib/libthr/arch/i386/i386/pthread_md.c#2 integrate .. //depot/projects/hammer/lib/libthr/arch/i386/include/pthread_md.h#2 integrate .. //depot/projects/hammer/lib/libthr/pthread.map#2 integrate .. //depot/projects/hammer/lib/libthr/thread/Makefile.inc#9 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_barrier.c#4 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_create.c#15 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_event.c#1 branch .. //depot/projects/hammer/lib/libthr/thread/thr_exit.c#15 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_init.c#16 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_list.c#2 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_private.h#24 integrate .. //depot/projects/hammer/lib/libthr/thread/thr_symbols.c#2 integrate .. //depot/projects/hammer/lib/libthread_db/libc_r_db.c#2 integrate .. //depot/projects/hammer/lib/libthread_db/libpthread_db.c#4 integrate .. //depot/projects/hammer/lib/libthread_db/libthr_db.c#4 integrate .. //depot/projects/hammer/lib/libthread_db/thread_db.h#3 integrate .. //depot/projects/hammer/lib/libutil/humanize_number.3#5 integrate .. //depot/projects/hammer/lib/msun/Makefile#26 integrate .. //depot/projects/hammer/lib/msun/man/exp.3#6 integrate .. //depot/projects/hammer/lib/msun/man/lround.3#2 integrate .. //depot/projects/hammer/lib/msun/man/math.3#11 integrate .. //depot/projects/hammer/lib/msun/man/round.3#4 integrate .. //depot/projects/hammer/lib/msun/src/k_rem_pio2f.c#2 integrate .. //depot/projects/hammer/lib/msun/src/math.h#29 integrate .. //depot/projects/hammer/lib/msun/src/s_exp2.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_exp2f.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_llround.c#2 integrate .. //depot/projects/hammer/lib/msun/src/s_llroundf.c#2 integrate .. //depot/projects/hammer/lib/msun/src/s_llroundl.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_lround.c#2 integrate .. //depot/projects/hammer/lib/msun/src/s_lroundf.c#2 integrate .. //depot/projects/hammer/lib/msun/src/s_lroundl.c#1 branch .. //depot/projects/hammer/lib/msun/src/s_roundl.c#1 branch .. //depot/projects/hammer/libexec/getty/chat.c#4 integrate .. //depot/projects/hammer/libexec/getty/extern.h#2 integrate .. //depot/projects/hammer/libexec/getty/init.c#4 integrate .. //depot/projects/hammer/libexec/getty/main.c#6 integrate .. //depot/projects/hammer/libexec/rexecd/rexecd.c#7 integrate .. //depot/projects/hammer/libexec/rtld-elf/arm/rtld_machdep.h#5 integrate .. //depot/projects/hammer/libexec/rtld-elf/i386/reloc.c#7 integrate .. //depot/projects/hammer/libexec/save-entropy/save-entropy.sh#2 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#75 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#90 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/installation/common/install.sgml#7 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/installation/common/layout.sgml#5 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/installation/common/trouble.sgml#4 integrate .. //depot/projects/hammer/release/doc/share/misc/dev.archlist.txt#26 integrate .. //depot/projects/hammer/release/doc/share/sgml/release.ent#16 integrate .. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/layout.sgml#2 integrate .. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#2 integrate .. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#3 integrate .. //depot/projects/hammer/sbin/devfs/devfs.8#10 integrate .. //depot/projects/hammer/sbin/ffsinfo/ffsinfo.8#7 integrate .. //depot/projects/hammer/sbin/geom/class/Makefile.inc#3 integrate .. //depot/projects/hammer/sbin/geom/core/geom.c#9 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#24 integrate .. //depot/projects/hammer/sbin/ifconfig/ifconfig.h#9 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#39 integrate .. //depot/projects/hammer/sbin/nfsiod/nfsiod.c#5 integrate .. //depot/projects/hammer/sbin/sysctl/sysctl.c#17 integrate .. //depot/projects/hammer/share/Makefile#6 integrate .. //depot/projects/hammer/share/examples/etc/make.conf#37 integrate .. //depot/projects/hammer/share/man/man4/Makefile#68 integrate .. //depot/projects/hammer/share/man/man4/atkbdc.4#2 integrate .. //depot/projects/hammer/share/man/man4/carp.4#3 integrate .. //depot/projects/hammer/share/man/man4/cdce.4#2 integrate .. //depot/projects/hammer/share/man/man4/cpufreq.4#5 integrate .. //depot/projects/hammer/share/man/man4/geom.4#7 integrate .. //depot/projects/hammer/share/man/man4/inet.4#15 integrate .. //depot/projects/hammer/share/man/man4/mac_bsdextended.4#9 integrate .. //depot/projects/hammer/share/man/man4/ng_netflow.4#7 integrate .. //depot/projects/hammer/share/man/man4/ng_source.4#7 integrate .. //depot/projects/hammer/share/man/man4/sched_4bsd.4#1 branch .. //depot/projects/hammer/share/man/man4/sched_ule.4#1 branch .. //depot/projects/hammer/share/man/man4/tap.4#6 integrate .. //depot/projects/hammer/share/man/man4/uftdi.4#7 integrate .. //depot/projects/hammer/share/man/man4/unix.4#4 integrate .. //depot/projects/hammer/share/man/man4/witness.4#5 integrate .. //depot/projects/hammer/share/man/man5/make.conf.5#35 integrate .. //depot/projects/hammer/share/man/man9/Makefile#50 integrate .. //depot/projects/hammer/share/misc/bsd-family-tree#24 integrate .. //depot/projects/hammer/share/misc/pci_vendors#13 integrate .. //depot/projects/hammer/share/mk/bsd.files.mk#2 integrate .. //depot/projects/hammer/share/mk/bsd.incs.mk#2 integrate .. //depot/projects/hammer/share/mk/bsd.init.mk#4 integrate .. //depot/projects/hammer/share/mk/bsd.lib.mk#23 integrate .. //depot/projects/hammer/share/mk/bsd.nls.mk#4 integrate .. //depot/projects/hammer/share/mk/bsd.obj.mk#8 integrate .. //depot/projects/hammer/share/mk/bsd.own.mk#7 integrate .. //depot/projects/hammer/share/mk/bsd.prog.mk#14 integrate .. //depot/projects/hammer/sys/alpha/alpha/interrupt.c#19 integrate .. //depot/projects/hammer/sys/alpha/alpha/trap.c#16 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#35 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#47 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#122 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#88 integrate .. //depot/projects/hammer/sys/amd64/amd64/support.S#27 integrate .. //depot/projects/hammer/sys/amd64/amd64/sys_machdep.c#19 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#56 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#70 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#61 integrate .. //depot/projects/hammer/sys/amd64/ia32/ia32_syscall.c#11 integrate .. //depot/projects/hammer/sys/amd64/include/asm.h#14 integrate .. //depot/projects/hammer/sys/amd64/include/ieeefp.h#17 integrate .. //depot/projects/hammer/sys/amd64/include/sysarch.h#16 integrate .. //depot/projects/hammer/sys/amd64/include/tss.h#11 integrate .. //depot/projects/hammer/sys/amd64/linux32/linux32_machdep.c#7 integrate .. //depot/projects/hammer/sys/arm/arm/pmap.c#19 integrate .. //depot/projects/hammer/sys/arm/arm/support.S#7 integrate .. //depot/projects/hammer/sys/arm/arm/trap.c#10 integrate .. //depot/projects/hammer/sys/arm/arm/undefined.c#6 integrate .. //depot/projects/hammer/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/hammer/sys/arm/include/atomic.h#6 integrate .. //depot/projects/hammer/sys/arm/include/pmap.h#9 integrate .. //depot/projects/hammer/sys/arm/sa11x0/sa11x0_io.c#6 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/hammer/sys/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/hammer/sys/boot/i386/libi386/vidconsole.c#3 integrate .. //depot/projects/hammer/sys/boot/pc98/libpc98/vidconsole.c#4 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_all.c#13 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#26 integrate .. //depot/projects/hammer/sys/cam/scsi/scsi_sa.c#15 integrate .. //depot/projects/hammer/sys/coda/coda_vnops.c#18 integrate .. //depot/projects/hammer/sys/compat/ia32/ia32_signal.h#10 integrate .. //depot/projects/hammer/sys/compat/linux/linux_file.c#14 integrate .. //depot/projects/hammer/sys/compat/linux/linux_getcwd.c#10 integrate .. //depot/projects/hammer/sys/compat/linux/linux_ioctl.c#23 integrate .. //depot/projects/hammer/sys/compat/ndis/hal_var.h#8 integrate .. //depot/projects/hammer/sys/compat/ndis/kern_ndis.c#29 integrate .. //depot/projects/hammer/sys/compat/ndis/kern_windrv.c#4 integrate .. //depot/projects/hammer/sys/compat/ndis/ndis_var.h#20 integrate .. //depot/projects/hammer/sys/compat/ndis/ntoskrnl_var.h#17 integrate .. //depot/projects/hammer/sys/compat/ndis/pe_var.h#10 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_hal.c#11 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_ndis.c#28 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_ntoskrnl.c#28 integrate .. //depot/projects/hammer/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/hammer/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/hammer/sys/conf/Makefile.alpha#10 integrate .. //depot/projects/hammer/sys/conf/Makefile.amd64#18 integrate .. //depot/projects/hammer/sys/conf/Makefile.arm#8 integrate .. //depot/projects/hammer/sys/conf/Makefile.i386#8 integrate .. //depot/projects/hammer/sys/conf/Makefile.ia64#10 integrate .. //depot/projects/hammer/sys/conf/Makefile.pc98#8 integrate .. //depot/projects/hammer/sys/conf/Makefile.powerpc#13 integrate .. //depot/projects/hammer/sys/conf/Makefile.sparc64#9 integrate .. //depot/projects/hammer/sys/conf/NOTES#86 integrate .. //depot/projects/hammer/sys/conf/files#110 integrate .. //depot/projects/hammer/sys/conf/files.arm#4 integrate .. //depot/projects/hammer/sys/conf/files.i386#56 integrate .. //depot/projects/hammer/sys/conf/kern.pre.mk#38 integrate .. //depot/projects/hammer/sys/conf/kmod.mk#46 integrate .. //depot/projects/hammer/sys/contrib/pf/net/pf.c#20 integrate .. //depot/projects/hammer/sys/ddb/db_print.c#5 integrate .. //depot/projects/hammer/sys/ddb/db_run.c#6 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi.c#59 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_cpu.c#31 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#31 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_perf.c#7 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_throttle.c#6 integrate .. //depot/projects/hammer/sys/dev/acpica/acpivar.h#43 integrate .. //depot/projects/hammer/sys/dev/aic/aic_cbus.c#4 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#45 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#26 integrate .. //depot/projects/hammer/sys/dev/ata/ata-card.c#21 integrate .. //depot/projects/hammer/sys/dev/ata/ata-cbus.c#11 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#53 integrate .. //depot/projects/hammer/sys/dev/ata/ata-dma.c#19 integrate .. //depot/projects/hammer/sys/dev/ata/ata-isa.c#12 integrate .. //depot/projects/hammer/sys/dev/ata/ata-lowlevel.c#27 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.c#29 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.h#28 integrate .. //depot/projects/hammer/sys/dev/ata/ata-raid.c#21 integrate .. //depot/projects/hammer/sys/dev/ata/ata-raid.h#11 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cam.c#18 integrate .. //depot/projects/hammer/sys/dev/ath/if_ath.c#30 integrate .. //depot/projects/hammer/sys/dev/ath/if_athvar.h#15 integrate .. //depot/projects/hammer/sys/dev/dpt/dpt_pci.c#9 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed98.h#3 integrate .. //depot/projects/hammer/sys/dev/em/if_em.c#40 integrate .. //depot/projects/hammer/sys/dev/ep/if_ep.c#16 integrate .. //depot/projects/hammer/sys/dev/hme/if_hme_sbus.c#10 integrate .. //depot/projects/hammer/sys/dev/ida/ida.c#13 integrate .. //depot/projects/hammer/sys/dev/ida/ida_eisa.c#10 integrate .. //depot/projects/hammer/sys/dev/ida/ida_pci.c#11 integrate .. //depot/projects/hammer/sys/dev/ida/idareg.h#4 integrate .. //depot/projects/hammer/sys/dev/ida/idavar.h#7 integrate .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#30 integrate .. //depot/projects/hammer/sys/dev/ixgb/if_ixgb.c#7 integrate .. //depot/projects/hammer/sys/dev/ixgb/if_ixgb.h#5 integrate .. //depot/projects/hammer/sys/dev/kbd/atkbdc.c#8 integrate .. //depot/projects/hammer/sys/dev/mse/mse.c#4 integrate .. //depot/projects/hammer/sys/dev/mse/mse_cbus.c#4 integrate .. //depot/projects/hammer/sys/dev/mse/mse_isa.c#4 integrate .. //depot/projects/hammer/sys/dev/pccard/pccard.c#24 integrate .. //depot/projects/hammer/sys/dev/pccard/pccardvar.h#13 integrate .. //depot/projects/hammer/sys/dev/pccbb/pccbb_pci.c#7 integrate .. //depot/projects/hammer/sys/dev/pci/pci.c#38 integrate .. //depot/projects/hammer/sys/dev/pci/pci_user.c#10 integrate .. //depot/projects/hammer/sys/dev/pci/pcib_if.m#3 integrate .. //depot/projects/hammer/sys/dev/ppbus/pps.c#12 integrate .. //depot/projects/hammer/sys/dev/ppc/ppc.c#5 integrate .. //depot/projects/hammer/sys/dev/sio/sio_pci.c#10 integrate .. //depot/projects/hammer/sys/dev/sound/pci/es137x.c#11 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#13 integrate .. //depot/projects/hammer/sys/dev/sound/usb/uaudio_pcm.c#9 integrate .. //depot/projects/hammer/sys/dev/twa/tw_cl.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_externs.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_fwif.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_fwimg.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_init.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_intr.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_io.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_ioctl.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_misc.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_cl_share.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_cam.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_externs.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_freebsd.c#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_includes.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_ioctl.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_share.h#1 branch .. //depot/projects/hammer/sys/dev/twa/tw_osl_types.h#1 branch .. //depot/projects/hammer/sys/dev/twa/twa.c#5 delete .. //depot/projects/hammer/sys/dev/twa/twa.h#8 delete .. //depot/projects/hammer/sys/dev/twa/twa_cam.c#6 delete .. //depot/projects/hammer/sys/dev/twa/twa_externs.h#3 delete .. //depot/projects/hammer/sys/dev/twa/twa_freebsd.c#10 delete .. //depot/projects/hammer/sys/dev/twa/twa_fwimg.c#3 delete .. //depot/projects/hammer/sys/dev/twa/twa_globals.c#4 delete .. //depot/projects/hammer/sys/dev/twa/twa_includes.h#4 delete .. //depot/projects/hammer/sys/dev/twa/twa_ioctl.h#3 delete .. //depot/projects/hammer/sys/dev/twa/twa_reg.h#4 delete .. //depot/projects/hammer/sys/dev/usb/ucom.c#21 integrate .. //depot/projects/hammer/sys/dev/usb/uftdi.c#17 integrate .. //depot/projects/hammer/sys/dev/usb/uplcom.c#18 integrate .. //depot/projects/hammer/sys/dev/usb/usbdevs#58 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi.c#35 integrate .. //depot/projects/hammer/sys/fs/devfs/devfs_vnops.c#32 integrate .. //depot/projects/hammer/sys/fs/hpfs/hpfs_vnops.c#19 integrate .. //depot/projects/hammer/sys/fs/msdosfs/denode.h#10 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_denode.c#21 integrate .. //depot/projects/hammer/sys/fs/msdosfs/msdosfs_lookup.c#8 integrate .. //depot/projects/hammer/sys/fs/nullfs/null_subr.c#13 integrate .. //depot/projects/hammer/sys/fs/nullfs/null_vfsops.c#16 integrate .. //depot/projects/hammer/sys/fs/nwfs/nwfs_vnops.c#14 integrate .. //depot/projects/hammer/sys/fs/pseudofs/pseudofs_vnops.c#18 integrate .. //depot/projects/hammer/sys/fs/smbfs/smbfs_vnops.c#25 integrate .. //depot/projects/hammer/sys/fs/udf/ecma167-udf.h#3 integrate .. //depot/projects/hammer/sys/fs/udf/udf_vnops.c#26 integrate .. //depot/projects/hammer/sys/fs/unionfs/union_vnops.c#26 integrate .. //depot/projects/hammer/sys/geom/geom_ctl.c#19 integrate .. //depot/projects/hammer/sys/geom/geom_sunlabel.c#18 integrate .. //depot/projects/hammer/sys/gnu/ext2fs/ext2_lookup.c#12 integrate .. //depot/projects/hammer/sys/i386/bios/apm.c#11 integrate .. //depot/projects/hammer/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/hammer/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/hammer/sys/i386/i386/genassym.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/intr_machdep.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/io_apic.c#14 integrate .. //depot/projects/hammer/sys/i386/i386/local_apic.c#14 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#49 integrate .. //depot/projects/hammer/sys/i386/i386/mp_machdep.c#41 integrate .. //depot/projects/hammer/sys/i386/i386/swtch.s#12 integrate .. //depot/projects/hammer/sys/i386/i386/sys_machdep.c#16 integrate .. //depot/projects/hammer/sys/i386/i386/trap.c#30 integrate .. //depot/projects/hammer/sys/i386/i386/vm86bios.s#4 integrate .. //depot/projects/hammer/sys/i386/i386/vm_machdep.c#42 integrate .. //depot/projects/hammer/sys/i386/include/clock.h#9 integrate .. //depot/projects/hammer/sys/i386/include/pc/display.h#2 integrate .. //depot/projects/hammer/sys/i386/include/pcb.h#11 integrate .. //depot/projects/hammer/sys/i386/include/pcpu.h#10 integrate .. //depot/projects/hammer/sys/i386/include/segments.h#10 integrate .. //depot/projects/hammer/sys/i386/include/sysarch.h#9 integrate .. //depot/projects/hammer/sys/i386/isa/clock.c#24 integrate .. //depot/projects/hammer/sys/i386/linux/linux.h#4 integrate .. //depot/projects/hammer/sys/i4b/layer1/isic/i4b_isic.h#3 integrate .. //depot/projects/hammer/sys/ia64/ia32/ia32_trap.c#3 integrate .. //depot/projects/hammer/sys/ia64/ia64/interrupt.c#17 integrate .. //depot/projects/hammer/sys/ia64/ia64/trap.c#32 integrate .. //depot/projects/hammer/sys/isa/isahint.c#5 integrate .. //depot/projects/hammer/sys/isa/isavar.h#7 integrate .. //depot/projects/hammer/sys/isofs/cd9660/cd9660_lookup.c#9 integrate .. //depot/projects/hammer/sys/kern/kern_cpu.c#6 integrate .. //depot/projects/hammer/sys/kern/kern_intr.c#36 integrate .. //depot/projects/hammer/sys/kern/kern_jail.c#16 integrate .. //depot/projects/hammer/sys/kern/kern_lock.c#19 integrate .. //depot/projects/hammer/sys/kern/kern_malloc.c#21 integrate .. //depot/projects/hammer/sys/kern/kern_mutex.c#29 integrate .. //depot/projects/hammer/sys/kern/kern_shutdown.c#34 integrate .. //depot/projects/hammer/sys/kern/kern_sig.c#57 integrate .. //depot/projects/hammer/sys/kern/kern_switch.c#41 integrate .. //depot/projects/hammer/sys/kern/kern_synch.c#49 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#35 integrate .. //depot/projects/hammer/sys/kern/sched_ule.c#57 integrate .. //depot/projects/hammer/sys/kern/subr_bus.c#39 integrate .. //depot/projects/hammer/sys/kern/subr_prf.c#19 integrate .. //depot/projects/hammer/sys/kern/subr_rman.c#14 integrate .. //depot/projects/hammer/sys/kern/subr_sleepqueue.c#14 integrate .. //depot/projects/hammer/sys/kern/subr_witness.c#40 integrate .. //depot/projects/hammer/sys/kern/tty.c#45 integrate .. //depot/projects/hammer/sys/kern/uipc_usrreq.c#31 integrate .. //depot/projects/hammer/sys/kern/vfs_cache.c#13 integrate .. //depot/projects/hammer/sys/kern/vfs_hash.c#4 integrate .. //depot/projects/hammer/sys/kern/vfs_lookup.c#15 integrate .. //depot/projects/hammer/sys/kern/vfs_subr.c#80 integrate .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#45 integrate .. //depot/projects/hammer/sys/kern/vfs_vnops.c#34 integrate .. //depot/projects/hammer/sys/kern/vnode_if.src#17 integrate .. //depot/projects/hammer/sys/modules/Makefile#73 integrate .. //depot/projects/hammer/sys/modules/ata/Makefile#2 integrate .. //depot/projects/hammer/sys/modules/ata/atapicam/Makefile#1 branch .. //depot/projects/hammer/sys/modules/ndis/Makefile#8 integrate .. //depot/projects/hammer/sys/modules/twa/Makefile#3 integrate .. //depot/projects/hammer/sys/net/if_tap.c#22 integrate .. //depot/projects/hammer/sys/net/iso88025.h#5 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto.c#6 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_crypto.h#6 integrate .. //depot/projects/hammer/sys/net80211/ieee80211_ioctl.c#17 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/common/ng_bluetooth.c#6 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#9 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket.c#11 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#13 integrate .. //depot/projects/hammer/sys/netgraph/netflow/netflow.c#9 integrate .. //depot/projects/hammer/sys/netgraph/ng_cisco.c#10 integrate .. //depot/projects/hammer/sys/netgraph/ng_source.c#12 integrate .. //depot/projects/hammer/sys/netgraph/ng_source.h#6 integrate .. //depot/projects/hammer/sys/netinet/in_pcb.c#34 integrate .. //depot/projects/hammer/sys/netinet/ip_dummynet.c#28 integrate .. //depot/projects/hammer/sys/netinet/ip_fw_pfil.c#12 integrate .. //depot/projects/hammer/sys/netinet/ip_input.c#49 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#46 integrate .. //depot/projects/hammer/sys/netinet/tcp_sack.c#11 integrate .. //depot/projects/hammer/sys/netinet/tcp_seq.h#8 integrate .. //depot/projects/hammer/sys/netinet/tcp_subr.c#41 integrate .. //depot/projects/hammer/sys/netinet6/icmp6.c#19 integrate .. //depot/projects/hammer/sys/netipx/README#4 integrate .. //depot/projects/hammer/sys/netipx/ipx_input.c#7 integrate .. //depot/projects/hammer/sys/nfs4client/nfs4_vnops.c#21 integrate .. //depot/projects/hammer/sys/nfsclient/nfs_vnops.c#41 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#39 integrate .. //depot/projects/hammer/sys/pc98/i386/machdep.c#43 integrate .. //depot/projects/hammer/sys/pc98/include/apicreg.h#1 branch .. //depot/projects/hammer/sys/pc98/include/apicvar.h#1 branch .. //depot/projects/hammer/sys/pc98/include/bus_memio.h#2 integrate .. //depot/projects/hammer/sys/pc98/include/bus_pio.h#2 integrate .. //depot/projects/hammer/sys/pc98/include/clock.h#2 integrate .. //depot/projects/hammer/sys/pc98/include/ioctl_bt848.h#1 branch .. //depot/projects/hammer/sys/pc98/include/ioctl_meteor.h#1 branch .. //depot/projects/hammer/sys/pc98/include/pc/display.h#2 integrate .. //depot/projects/hammer/sys/pc98/include/pcaudio.h#2 delete .. //depot/projects/hammer/sys/pc98/include/pcaudioio.h#1 branch .. //depot/projects/hammer/sys/pc98/include/pcvt_ioctl.h#1 branch .. //depot/projects/hammer/sys/pc98/include/pvct_ioctl.h#2 delete .. //depot/projects/hammer/sys/pc98/include/smptests.h#1 branch .. //depot/projects/hammer/sys/pc98/pc98/isa_dma.c#6 integrate .. //depot/projects/hammer/sys/pc98/pc98/olpt.c#9 integrate .. //depot/projects/hammer/sys/pc98/pc98/scterm-sck.c#3 integrate .. //depot/projects/hammer/sys/pci/agp_amd64.c#7 integrate .. //depot/projects/hammer/sys/pci/if_pcn.c#26 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/machdep.c#36 integrate .. //depot/projects/hammer/sys/powerpc/powerpc/trap.c#15 integrate .. //depot/projects/hammer/sys/powerpc/psim/ata_iobus.c#10 integrate .. //depot/projects/hammer/sys/security/mac/mac_vfs.c#7 integrate .. //depot/projects/hammer/sys/security/mac_biba/mac_biba.c#31 integrate .. //depot/projects/hammer/sys/security/mac_lomac/mac_lomac.c#22 integrate .. //depot/projects/hammer/sys/security/mac_mls/mac_mls.c#30 integrate .. //depot/projects/hammer/sys/security/mac_stub/mac_stub.c#12 integrate .. //depot/projects/hammer/sys/security/mac_test/mac_test.c#30 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/trap.c#17 integrate .. //depot/projects/hammer/sys/sys/bus.h#19 integrate .. //depot/projects/hammer/sys/sys/disklabel.h#14 integrate .. //depot/projects/hammer/sys/sys/mac.h#22 integrate .. //depot/projects/hammer/sys/sys/mac_policy.h#24 integrate .. //depot/projects/hammer/sys/sys/mouse.h#5 integrate .. //depot/projects/hammer/sys/sys/namei.h#10 integrate .. //depot/projects/hammer/sys/sys/param.h#57 integrate .. //depot/projects/hammer/sys/sys/proc.h#78 integrate .. //depot/projects/hammer/sys/sys/rman.h#9 integrate .. //depot/projects/hammer/sys/sys/socket.h#18 integrate .. //depot/projects/hammer/sys/sys/systm.h#34 integrate .. //depot/projects/hammer/sys/sys/un.h#6 integrate .. //depot/projects/hammer/sys/sys/unpcb.h#5 integrate .. //depot/projects/hammer/sys/sys/vnode.h#52 integrate .. //depot/projects/hammer/sys/tools/vnode_if.awk#12 integrate .. //depot/projects/hammer/sys/ufs/ffs/ffs_inode.c#16 integrate .. //depot/projects/hammer/sys/ufs/ufs/ufs_lookup.c#13 integrate .. //depot/projects/hammer/sys/vm/vm_meter.c#17 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#32 integrate .. //depot/projects/hammer/tools/regression/msdosfs/msdosfstest.sh#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/Makefile#3 integrate .. //depot/projects/hammer/tools/regression/usr.bin/printf/Makefile#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.b.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.d.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.f.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m1.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m2.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m3.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m4.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.s.out#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.sh#1 branch .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.t#1 branch .. //depot/projects/hammer/tools/tools/README#14 integrate .. //depot/projects/hammer/tools/tools/ath/80211stats.c#5 integrate .. //depot/projects/hammer/tools/tools/ministat/ministat.c#3 integrate .. //depot/projects/hammer/tools/tools/nanobsd/Makefile#9 integrate .. //depot/projects/hammer/tools/tools/nanobsd/i386.diskimage#11 integrate .. //depot/projects/hammer/tools/tools/nanobsd/make.conf#12 integrate .. //depot/projects/hammer/tools/tools/syscall_timing/syscall_timing.c#2 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.birthday#11 integrate .. //depot/projects/hammer/usr.bin/calendar/calendars/calendar.freebsd#34 integrate .. //depot/projects/hammer/usr.bin/du/du.c#11 integrate .. //depot/projects/hammer/usr.bin/id/id.c#6 integrate .. //depot/projects/hammer/usr.bin/make/cond.c#18 integrate .. //depot/projects/hammer/usr.bin/make/cond.h#3 integrate .. //depot/projects/hammer/usr.bin/make/for.c#17 integrate .. //depot/projects/hammer/usr.bin/make/for.h#2 integrate .. //depot/projects/hammer/usr.bin/make/job.c#25 integrate .. //depot/projects/hammer/usr.bin/make/main.c#32 integrate .. //depot/projects/hammer/usr.bin/make/parse.c#28 integrate .. //depot/projects/hammer/usr.bin/make/parse.h#3 integrate .. //depot/projects/hammer/usr.bin/make/var.c#27 integrate .. //depot/projects/hammer/usr.bin/netstat/inet.c#16 integrate .. //depot/projects/hammer/usr.bin/nl/nl.c#5 integrate .. //depot/projects/hammer/usr.bin/printf/Makefile#2 integrate .. //depot/projects/hammer/usr.bin/printf/printf.c#7 integrate .. //depot/projects/hammer/usr.bin/sed/process.c#11 integrate .. //depot/projects/hammer/usr.bin/systat/mbufs.c#3 integrate .. //depot/projects/hammer/usr.bin/top/machine.c#12 integrate .. //depot/projects/hammer/usr.bin/tr/tr.c#5 integrate .. //depot/projects/hammer/usr.bin/whereis/whereis.c#5 integrate .. //depot/projects/hammer/usr.sbin/boot0cfg/boot0cfg.8#9 integrate .. //depot/projects/hammer/usr.sbin/mixer/mixer.8#6 integrate .. //depot/projects/hammer/usr.sbin/mixer/mixer.c#7 integrate .. //depot/projects/hammer/usr.sbin/mount_portalfs/mount_portalfs.8#5 integrate .. //depot/projects/hammer/usr.sbin/mountd/mountd.c#13 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.8#12 integrate .. //depot/projects/hammer/usr.sbin/moused/moused.c#11 integrate .. //depot/projects/hammer/usr.sbin/powerd/powerd.8#2 integrate .. //depot/projects/hammer/usr.sbin/powerd/powerd.c#2 integrate .. //depot/projects/hammer/usr.sbin/pstat/pstat.c#13 integrate .. //depot/projects/hammer/usr.sbin/pw/cpdir.c#2 integrate .. //depot/projects/hammer/usr.sbin/quot/quot.c#6 integrate .. //depot/projects/hammer/usr.sbin/sliplogin/sliplogin.c#5 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#20 integrate .. //depot/projects/hammer/usr.sbin/syslogd/syslogd.8#12 integrate .. //depot/projects/hammer/usr.sbin/syslogd/syslogd.c#21 integrate .. //depot/projects/hammer/usr.sbin/yppush/yppush_main.c#4 integrate Differences ... ==== //depot/projects/hammer/Makefile.inc1#89 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.490 2005/03/27 19:35:09 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.492 2005/04/06 01:55:43 peter Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -457,7 +457,7 @@ WMAKE_TGTS+= _cross-tools .endif WMAKE_TGTS+= _includes _libraries _depend everything -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) WMAKE_TGTS+= build32 .endif @@ -543,7 +543,7 @@ @echo ">>> Installing everything" @echo "--------------------------------------------------------------" ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install -.if ${TARGET_ARCH} == "amd64" && defined(WITH_LIB32) +.if ${TARGET_ARCH} == "amd64" && !defined(NO_LIB32) ${_+_}cd ${.CURDIR}; ${MAKE} -f Makefile.inc1 install32 .endif ==== //depot/projects/hammer/bin/dd/dd.1#9 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)dd.1 8.2 (Berkeley) 1/13/94 -.\" $FreeBSD: src/bin/dd/dd.1,v 1.28 2005/01/16 16:41:56 ru Exp $ +.\" $FreeBSD: src/bin/dd/dd.1,v 1.29 2005/04/07 20:50:38 scottl Exp $ .\" .Dd August 15, 2004 .Dt DD 1 @@ -392,10 +392,19 @@ Check for (even) parity errors on a file: .Pp .Dl "dd if=file conv=pareven | cmp -x - file" +.Sh BUGS +Protection mechanisms in the +.Xr geom 4 +subsystem might prevent the super-user from writing blocks to a disk. +Instructions for temporarily disabling these protectsion mechanisms can be +found in the +.Xr geom 4 +manpage. .Sh SEE ALSO .Xr cp 1 , .Xr mt 1 , -.Xr tr 1 +.Xr tr 1 , +.Xr geom 4 .Sh STANDARDS The .Nm ==== //depot/projects/hammer/contrib/top/commands.c#5 (text+ko) ==== @@ -8,7 +8,7 @@ * Copyright (c) 1984, 1989, William LeFebvre, Rice University * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University * - * $FreeBSD: src/contrib/top/commands.c,v 1.10 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/commands.c,v 1.11 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -78,7 +78,7 @@ #ifdef ORDER if (displaymode == DISP_CPU) fputs("\ -o - specify sort order (pri, size, res, cpu, time)\n", stdout); +o - specify sort order (pri, size, res, cpu, time, threads)\n", stdout); else fputs("\ o - specify sort order (vcsw, ivcsw, read, write, fault, total)\n", stdout); ==== //depot/projects/hammer/contrib/top/top.c#6 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.15 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.16 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -84,6 +84,7 @@ static int max_topn; /* maximum displayable processes */ /* miscellaneous things */ +struct process_select ps; char *myname = "top"; jmp_buf jmp_int; @@ -179,7 +180,6 @@ char *iptr; char no_command = 1; struct timeval timeout; - struct process_select ps; #ifdef ORDER char *order_name = NULL; int order_index = 0; @@ -987,8 +987,10 @@ case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - " %sisplaying threads.", - ps.thread ? "D" : "Not d"); + "Displaying threads %s", + ps.thread ? "separately" : "as a count"); + header_text = format_header(uname_field); + reset_display(); putchar('\r'); break; case CMD_viewtog: ==== //depot/projects/hammer/contrib/traceroute/traceroute.8#3 (text+ko) ==== @@ -14,7 +14,7 @@ .\" WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" $Id: traceroute.8,v 1.19 2000/09/21 08:44:19 leres Exp $ -.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.10 2002/12/13 22:26:10 fenner Exp $ +.\" $FreeBSD: src/contrib/traceroute/traceroute.8,v 1.11 2005/04/12 15:16:32 thomas Exp $ .\" .TH TRACEROUTE 8 "21 September 2000" .UC 6 @@ -151,7 +151,7 @@ Traceroute hopes that nothing is listening on UDP ports .I base to -.I base + nhops - 1 +.I base + nhops * nprobes - 1 at the destination host (so an ICMP PORT_UNREACHABLE message will be returned to terminate the route tracing). If something is listening on a port in the default range, this option can be used ==== //depot/projects/hammer/etc/defaults/rc.conf#52 (text+ko) ==== @@ -15,7 +15,7 @@ # For a more detailed explanation of all the rc.conf variables, please # refer to the rc.conf(5) manual page. # -# $FreeBSD: src/etc/defaults/rc.conf,v 1.244 2005/04/03 21:45:20 njl Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.247 2005/04/12 15:21:51 thomas Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -436,7 +436,7 @@ chkprintcap_flags="-d" # Create missing directories by default. usbd_enable="NO" # Run the usbd daemon. usbd_flags="" # Flags to usbd (if enabled). -dumpdev="NO" # Device name to crashdump to (or NO). +dumpdev="NO" # Device to crashdump to (device name, AUTO, or NO). dumpdir="/var/crash" # Directory where crash dumps are to be stored savecore_flags="" # Used if dumpdev is enabled above, and present. enable_quotas="NO" # turn on quotas on startup (or NO). @@ -459,7 +459,7 @@ update_motd="YES" # update version info in /etc/motd (or NO) unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. - # /var/db/entropy is preferred if / is not available. + # /var/db/entropy-file is preferred if / is not avail. entropy_dir="/var/db/entropy" # Set to NO to disable caching entropy via cron. entropy_save_sz="2048" # Size of the entropy cache files. entropy_save_num="8" # Number of entropy cache files to save. @@ -474,9 +474,9 @@ devfs_set_rulesets="" # A list of /mount/dev=ruleset_name settings to # apply (must be mounted already, i.e. fstab(5)) performance_cx_lowest="HIGH" # Online CPU idle state -performance_cpu_freq="HIGH" # Online CPU frequency +performance_cpu_freq="NONE" # Online CPU frequency economy_cx_lowest="HIGH" # Offline CPU idle state -economy_cpu_freq="HIGH" # Offline CPU frequency +economy_cpu_freq="NONE" # Offline CPU frequency virecover_enable="YES" # Perform housekeeping for the vi(1) editor ugidfw_enable="NO" # Load mac_bsdextended(4) rules on boot bsdextended_script="/etc/rc.bsdextended" # Default mac_bsdextended(4) ==== //depot/projects/hammer/etc/rc.d/cleanvar#8 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.7 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.8 2005/04/14 03:56:06 csjp Exp $ # # PROVIDE: cleanvar @@ -18,6 +18,8 @@ ( cd "$dir" && for file in .* * do + # Skip over logging sockets + [ -S "$file" -a "$file" = "log" ] && continue [ ."$file" = .. -o ."$file" = ... ] && continue if [ -d "$file" -a ! -L "$file" ] then ==== //depot/projects/hammer/etc/rc.d/dumpon#8 (text+ko) ==== @@ -1,11 +1,11 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/dumpon,v 1.7 2004/10/18 23:40:13 thomas Exp $ +# $FreeBSD: src/etc/rc.d/dumpon,v 1.8 2005/04/05 18:59:24 obrien Exp $ # # PROVIDE: dumpon -# REQUIRE: initrandom -# BEFORE: disks savecore +# REQUIRE: rcconf +# BEFORE: disks savecore initrandom # KEYWORD: nojail . /etc/rc.subr ==== //depot/projects/hammer/etc/rc.d/random#8 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/random,v 1.7 2004/10/07 13:55:26 mtm Exp $ +# $FreeBSD: src/etc/rc.d/random,v 1.8 2005/04/11 02:45:05 dougb Exp $ # # PROVIDE: random @@ -68,15 +68,14 @@ else # Try this as a reasonable alternative for read-only # roots, diskless workstations, etc. - rm -f /var/db/entropy - if touch /var/db/entropy; then - entropy_file_confirmed=/var/db/entropy + rm -f /var/db/entropy-file + if touch /var/db/entropy-file; then + entropy_file_confirmed=/var/db/entropy-file fi fi case ${entropy_file_confirmed} in '') - err 1 '${entropy_file_confirmed}:' \ - ' entropy file write failed.' + err 1 'entropy file write failed.' ;; *) dd if=/dev/random of=${entropy_file_confirmed} \ ==== //depot/projects/hammer/games/fortune/datfiles/fortunes#43 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.173 2005/03/22 07:41:22 phk Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.175 2005/04/13 06:11:49 phk Exp $ % ======================================================================= @@ -15198,6 +15198,11 @@ Computerspeak for "information". Properly pronounced the way Bostonians pronounce the word for a female child. % +Data is not information; +Information is not knowledge; +Knowledge is not wisdom; + -- Gary Flake +% Dave Mack: "Your stupidity, Allen, is simply not up to par." Allen Gwinn: "Yours is." % @@ -45695,7 +45700,7 @@ The cart has no place where a fifth wheel could be used. -- Herbert von Fritzlar % -The Celts invented two things, Whiskey and self-distruction. +The Celts invented two things, Whiskey and self-destruction. % "The chain which can be yanked is not the eternal chain." -- G. Fitch @@ -45713,7 +45718,7 @@ The chief danger in life is that you may take too many precautions. -- Alfred Adler % -The chief enemy of creativity is "good" sense +The chief enemy of creativity is "good" sense. -- Picasso % The church is near but the road is icy, ==== //depot/projects/hammer/gnu/usr.bin/gdb/libgdb/fbsd-threads.c#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.9 2005/01/11 14:53:16 peadar Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/gdb/libgdb/fbsd-threads.c,v 1.11 2005/04/12 03:04:04 davidxu Exp $ */ /* FreeBSD libthread_db assisted debugging support. Copyright 1999, 2000, 2001 Free Software Foundation, Inc. @@ -130,9 +130,17 @@ static td_err_e (*td_thr_dbsuspend_p) (const td_thrhandle_t *); static td_err_e (*td_thr_dbresume_p) (const td_thrhandle_t *); +static CORE_ADDR td_create_bp_addr; + +/* Location of the thread death event breakpoint. */ +static CORE_ADDR td_death_bp_addr; + /* Prototypes for local functions. */ static void fbsd_thread_find_new_threads (void); static int fbsd_thread_alive (ptid_t ptid); +static void attach_thread (ptid_t ptid, const td_thrhandle_t *th_p, + const td_thrinfo_t *ti_p, int verbose); +static void fbsd_thread_detach (char *args, int from_tty); /* Building process ids. */ @@ -228,23 +236,21 @@ /* Convert LWP to user-level thread id. */ static ptid_t -thread_from_lwp (ptid_t ptid) +thread_from_lwp (ptid_t ptid, td_thrhandle_t *th, td_thrinfo_t *ti) { - td_thrinfo_t ti; - td_thrhandle_t th; td_err_e err; gdb_assert (IS_LWP (ptid)); if (fbsd_thread_active) { - err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), &th); + err = td_ta_map_lwp2thr_p (thread_agent, GET_LWP (ptid), th); if (err == TD_OK) { - err = td_thr_get_info_p (&th, &ti); + err = td_thr_get_info_p (th, ti); if (err != TD_OK) error ("Cannot get thread info: %s", thread_db_err_str (err)); - return BUILD_THREAD (ti.ti_tid, GET_PID (ptid)); + return BUILD_THREAD (ti->ti_tid, GET_PID (ptid)); } } @@ -285,24 +291,114 @@ static void get_current_thread () { + td_thrhandle_t th; + td_thrinfo_t ti; long lwp; ptid_t tmp, ptid; lwp = get_current_lwp (proc_handle.pid); tmp = BUILD_LWP (lwp, proc_handle.pid); - ptid = thread_from_lwp (tmp); + ptid = thread_from_lwp (tmp, &th, &ti); if (!in_thread_list (ptid)) { - add_thread (ptid); + attach_thread (ptid, &th, &ti, 1); } inferior_ptid = ptid; } +static td_err_e +enable_thread_event (td_thragent_t *thread_agent, int event, CORE_ADDR *bp) +{ + td_notify_t notify; + td_err_e err; + + /* Get the breakpoint address for thread EVENT. */ + err = td_ta_event_addr_p (thread_agent, event, ¬ify); + if (err != TD_OK) + return err; + + /* Set up the breakpoint. */ + (*bp) = gdbarch_convert_from_func_ptr_addr (current_gdbarch, + (CORE_ADDR)notify.u.bptaddr, + ¤t_target); + create_thread_event_breakpoint ((*bp)); + + return TD_OK; +} + +static void +enable_thread_event_reporting (void) +{ + td_thr_events_t events; + td_notify_t notify; + td_err_e err; + + /* We cannot use the thread event reporting facility if these + functions aren't available. */ + if (td_ta_event_addr_p == NULL || td_ta_set_event_p == NULL + || td_ta_event_getmsg_p == NULL || td_thr_event_enable_p == NULL) + return; + + /* Set the process wide mask saying which events we're interested in. */ + td_event_emptyset (&events); + td_event_addset (&events, TD_CREATE); + td_event_addset (&events, TD_DEATH); + + err = td_ta_set_event_p (thread_agent, &events); + if (err != TD_OK) + { + warning ("Unable to set global thread event mask: %s", + thread_db_err_str (err)); + return; + } + + /* Delete previous thread event breakpoints, if any. */ + remove_thread_event_breakpoints (); + td_create_bp_addr = 0; + td_death_bp_addr = 0; + + /* Set up the thread creation event. */ + err = enable_thread_event (thread_agent, TD_CREATE, &td_create_bp_addr); + if (err != TD_OK) + { + warning ("Unable to get location for thread creation breakpoint: %s", + thread_db_err_str (err)); + return; + } + + /* Set up the thread death event. */ + err = enable_thread_event (thread_agent, TD_DEATH, &td_death_bp_addr); + if (err != TD_OK) + { + warning ("Unable to get location for thread death breakpoint: %s", + thread_db_err_str (err)); + return; + } +} + static void +disable_thread_event_reporting (void) +{ + td_thr_events_t events; + + /* Set the process wide mask saying we aren't interested in any + events anymore. */ + td_event_emptyset (&events); + td_ta_set_event_p (thread_agent, &events); + + /* Delete thread event breakpoints, if any. */ + remove_thread_event_breakpoints (); + td_create_bp_addr = 0; + td_death_bp_addr = 0; +} + +static void fbsd_thread_activate (void) { fbsd_thread_active = 1; init_thread_list(); + if (fbsd_thread_core == 0) + enable_thread_event_reporting (); fbsd_thread_find_new_threads (); get_current_thread (); } @@ -310,6 +406,8 @@ static void fbsd_thread_deactivate (void) { + if (fbsd_thread_core == 0) + disable_thread_event_reporting(); td_ta_delete_p (thread_agent); inferior_ptid = pid_to_ptid (proc_handle.pid); @@ -544,20 +642,111 @@ perror_with_name ("PT_CONTINUE"); } +static void +attach_thread (ptid_t ptid, const td_thrhandle_t *th_p, + const td_thrinfo_t *ti_p, int verbose) +{ + td_err_e err; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 14 18:55:41 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 792DA16A4D0; Thu, 14 Apr 2005 18:55:41 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1E58216A4CF for ; Thu, 14 Apr 2005 18:55:41 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 23F4C43D49 for ; Thu, 14 Apr 2005 18:55:40 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3EIteZ7085175 for ; Thu, 14 Apr 2005 18:55:40 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3EItdVf085171 for perforce@freebsd.org; Thu, 14 Apr 2005 18:55:39 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Apr 2005 18:55:39 GMT Message-Id: <200504141855.j3EItdVf085171@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75191 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 18:55:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=75191 Change 75191 by jhb@jhb_slimer on 2005/04/14 18:55:16 IFC @75190. Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/interrupt.c#34 integrate .. //depot/projects/smpng/sys/alpha/alpha/trap.c#58 integrate .. //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#11 integrate .. //depot/projects/smpng/sys/amd64/amd64/local_apic.c#13 integrate .. //depot/projects/smpng/sys/amd64/amd64/machdep.c#39 integrate .. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#19 integrate .. //depot/projects/smpng/sys/amd64/amd64/support.S#12 integrate .. //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#7 integrate .. //depot/projects/smpng/sys/amd64/amd64/trap.c#24 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#31 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#14 integrate .. //depot/projects/smpng/sys/amd64/ia32/ia32_syscall.c#9 integrate .. //depot/projects/smpng/sys/amd64/include/asm.h#7 integrate .. //depot/projects/smpng/sys/amd64/include/ieeefp.h#7 integrate .. //depot/projects/smpng/sys/amd64/include/sysarch.h#6 integrate .. //depot/projects/smpng/sys/amd64/include/tss.h#4 integrate .. //depot/projects/smpng/sys/arm/arm/pmap.c#15 integrate .. //depot/projects/smpng/sys/arm/arm/support.S#8 integrate .. //depot/projects/smpng/sys/arm/arm/trap.c#10 integrate .. //depot/projects/smpng/sys/arm/arm/undefined.c#7 integrate .. //depot/projects/smpng/sys/arm/include/asmacros.h#4 integrate .. //depot/projects/smpng/sys/arm/include/atomic.h#9 integrate .. //depot/projects/smpng/sys/arm/include/pmap.h#9 integrate .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_io.c#5 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/iq31244_machdep.c#9 integrate .. //depot/projects/smpng/sys/arm/xscale/i80321/obio_space.c#3 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/vidconsole.c#5 integrate .. //depot/projects/smpng/sys/boot/pc98/libpc98/vidconsole.c#6 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_all.c#23 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_da.c#57 integrate .. //depot/projects/smpng/sys/cam/scsi/scsi_sa.c#23 integrate .. //depot/projects/smpng/sys/coda/coda_vnops.c#24 integrate .. //depot/projects/smpng/sys/compat/ia32/ia32_signal.h#7 integrate .. //depot/projects/smpng/sys/compat/linux/linux_file.c#26 integrate .. //depot/projects/smpng/sys/compat/linux/linux_getcwd.c#17 integrate .. //depot/projects/smpng/sys/compat/linux/linux_ioctl.c#39 integrate .. //depot/projects/smpng/sys/compat/ndis/hal_var.h#8 integrate .. //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#26 integrate .. //depot/projects/smpng/sys/compat/ndis/kern_windrv.c#3 integrate .. //depot/projects/smpng/sys/compat/ndis/ndis_var.h#20 integrate .. //depot/projects/smpng/sys/compat/ndis/ntoskrnl_var.h#16 integrate .. //depot/projects/smpng/sys/compat/ndis/pe_var.h#9 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_hal.c#14 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#27 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#27 integrate .. //depot/projects/smpng/sys/compat/ndis/subr_usbd.c#2 integrate .. //depot/projects/smpng/sys/compat/ndis/winx32_wrap.S#1 branch .. //depot/projects/smpng/sys/conf/Makefile.alpha#24 integrate .. //depot/projects/smpng/sys/conf/Makefile.amd64#10 integrate .. //depot/projects/smpng/sys/conf/Makefile.arm#8 integrate .. //depot/projects/smpng/sys/conf/Makefile.i386#22 integrate .. //depot/projects/smpng/sys/conf/Makefile.ia64#29 integrate .. //depot/projects/smpng/sys/conf/Makefile.pc98#21 integrate .. //depot/projects/smpng/sys/conf/Makefile.powerpc#29 integrate .. //depot/projects/smpng/sys/conf/Makefile.sparc64#25 integrate .. //depot/projects/smpng/sys/conf/files#139 integrate .. //depot/projects/smpng/sys/conf/files.arm#5 integrate .. //depot/projects/smpng/sys/conf/files.i386#81 integrate .. //depot/projects/smpng/sys/conf/kern.pre.mk#46 integrate .. //depot/projects/smpng/sys/conf/kmod.mk#46 integrate .. //depot/projects/smpng/sys/conf/options.i386#46 integrate .. //depot/projects/smpng/sys/contrib/pf/net/pf.c#16 integrate .. //depot/projects/smpng/sys/ddb/db_print.c#5 integrate .. //depot/projects/smpng/sys/ddb/db_run.c#10 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi.c#83 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_cpu.c#33 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#37 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_perf.c#5 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_throttle.c#4 integrate .. //depot/projects/smpng/sys/dev/acpica/acpivar.h#56 integrate .. //depot/projects/smpng/sys/dev/aic/aic_cbus.c#5 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#68 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#35 integrate .. //depot/projects/smpng/sys/dev/ata/ata-card.c#25 integrate .. //depot/projects/smpng/sys/dev/ata/ata-cbus.c#14 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#51 integrate .. //depot/projects/smpng/sys/dev/ata/ata-dma.c#43 integrate .. //depot/projects/smpng/sys/dev/ata/ata-isa.c#20 integrate .. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#27 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.c#54 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.h#29 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.c#33 integrate .. //depot/projects/smpng/sys/dev/ata/ata-raid.h#18 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#23 integrate .. //depot/projects/smpng/sys/dev/ath/if_ath.c#26 integrate .. //depot/projects/smpng/sys/dev/ath/if_athvar.h#15 integrate .. //depot/projects/smpng/sys/dev/dpt/dpt_pci.c#10 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed98.h#3 integrate .. //depot/projects/smpng/sys/dev/ep/if_ep.c#19 integrate .. //depot/projects/smpng/sys/dev/ida/ida.c#18 integrate .. //depot/projects/smpng/sys/dev/ida/ida_eisa.c#11 integrate .. //depot/projects/smpng/sys/dev/ida/ida_pci.c#13 integrate .. //depot/projects/smpng/sys/dev/ida/idareg.h#5 integrate .. //depot/projects/smpng/sys/dev/ida/idavar.h#8 integrate .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#27 integrate .. //depot/projects/smpng/sys/dev/kbd/atkbdc.c#8 integrate .. //depot/projects/smpng/sys/dev/mse/mse.c#4 integrate .. //depot/projects/smpng/sys/dev/mse/mse_cbus.c#4 integrate .. //depot/projects/smpng/sys/dev/mse/mse_isa.c#4 integrate .. //depot/projects/smpng/sys/dev/pccard/pccard.c#34 integrate .. //depot/projects/smpng/sys/dev/pccard/pccardvar.h#20 integrate .. //depot/projects/smpng/sys/dev/pccbb/pccbb_pci.c#6 integrate .. //depot/projects/smpng/sys/dev/pci/pci.c#56 integrate .. //depot/projects/smpng/sys/dev/pci/pci_user.c#15 integrate .. //depot/projects/smpng/sys/dev/pci/pcib_if.m#3 integrate .. //depot/projects/smpng/sys/dev/ppbus/pps.c#18 integrate .. //depot/projects/smpng/sys/dev/ppc/ppc.c#5 integrate .. //depot/projects/smpng/sys/dev/sound/pci/es137x.c#16 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#25 integrate .. //depot/projects/smpng/sys/dev/sound/usb/uaudio_pcm.c#9 integrate .. //depot/projects/smpng/sys/dev/twa/tw_cl.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_externs.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_fwif.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_fwimg.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_init.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_intr.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_io.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_ioctl.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_misc.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_cl_share.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_cam.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_externs.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_freebsd.c#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_includes.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_ioctl.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_share.h#1 branch .. //depot/projects/smpng/sys/dev/twa/tw_osl_types.h#1 branch .. //depot/projects/smpng/sys/dev/twa/twa.c#4 delete .. //depot/projects/smpng/sys/dev/twa/twa.h#6 delete .. //depot/projects/smpng/sys/dev/twa/twa_cam.c#5 delete .. //depot/projects/smpng/sys/dev/twa/twa_externs.h#3 delete .. //depot/projects/smpng/sys/dev/twa/twa_freebsd.c#8 delete .. //depot/projects/smpng/sys/dev/twa/twa_fwimg.c#3 delete .. //depot/projects/smpng/sys/dev/twa/twa_globals.c#4 delete .. //depot/projects/smpng/sys/dev/twa/twa_includes.h#3 delete .. //depot/projects/smpng/sys/dev/twa/twa_ioctl.h#3 delete .. //depot/projects/smpng/sys/dev/twa/twa_reg.h#4 delete .. //depot/projects/smpng/sys/dev/usb/ucom.c#24 integrate .. //depot/projects/smpng/sys/dev/usb/uftdi.c#17 integrate .. //depot/projects/smpng/sys/dev/usb/uplcom.c#19 integrate .. //depot/projects/smpng/sys/dev/usb/usbdevs#74 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi.c#71 integrate .. //depot/projects/smpng/sys/fs/devfs/devfs_vnops.c#44 integrate .. //depot/projects/smpng/sys/fs/hpfs/hpfs_vnops.c#29 integrate .. //depot/projects/smpng/sys/fs/msdosfs/denode.h#11 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_denode.c#23 integrate .. //depot/projects/smpng/sys/fs/msdosfs/msdosfs_lookup.c#10 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_subr.c#13 integrate .. //depot/projects/smpng/sys/fs/nullfs/null_vfsops.c#19 integrate .. //depot/projects/smpng/sys/fs/nwfs/nwfs_vnops.c#15 integrate .. //depot/projects/smpng/sys/fs/pseudofs/pseudofs_vnops.c#37 integrate .. //depot/projects/smpng/sys/fs/smbfs/smbfs_vnops.c#34 integrate .. //depot/projects/smpng/sys/fs/udf/ecma167-udf.h#4 integrate .. //depot/projects/smpng/sys/fs/udf/udf_vnops.c#28 integrate .. //depot/projects/smpng/sys/fs/unionfs/union_vnops.c#28 integrate .. //depot/projects/smpng/sys/geom/geom_ctl.c#22 integrate .. //depot/projects/smpng/sys/geom/geom_sunlabel.c#26 integrate .. //depot/projects/smpng/sys/gnu/ext2fs/ext2_lookup.c#17 integrate .. //depot/projects/smpng/sys/i386/acpica/madt.c#12 integrate .. //depot/projects/smpng/sys/i386/bios/apm.c#11 integrate .. //depot/projects/smpng/sys/i386/cpufreq/est.c#4 integrate .. //depot/projects/smpng/sys/i386/cpufreq/p4tcc.c#2 integrate .. //depot/projects/smpng/sys/i386/i386/genassym.c#31 integrate .. //depot/projects/smpng/sys/i386/i386/intr_machdep.c#14 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#11 integrate .. //depot/projects/smpng/sys/i386/i386/local_apic.c#28 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#92 integrate .. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#81 integrate .. //depot/projects/smpng/sys/i386/i386/mptable.c#16 integrate .. //depot/projects/smpng/sys/i386/i386/swtch.s#25 integrate .. //depot/projects/smpng/sys/i386/i386/sys_machdep.c#40 integrate .. //depot/projects/smpng/sys/i386/i386/trap.c#75 integrate .. //depot/projects/smpng/sys/i386/i386/vm86bios.s#6 integrate .. //depot/projects/smpng/sys/i386/i386/vm_machdep.c#65 integrate .. //depot/projects/smpng/sys/i386/include/apicvar.h#14 integrate .. //depot/projects/smpng/sys/i386/include/clock.h#11 integrate .. //depot/projects/smpng/sys/i386/include/pc/display.h#3 integrate .. //depot/projects/smpng/sys/i386/include/pcb.h#13 integrate .. //depot/projects/smpng/sys/i386/include/pcpu.h#13 integrate .. //depot/projects/smpng/sys/i386/include/segments.h#10 integrate .. //depot/projects/smpng/sys/i386/include/sysarch.h#10 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#41 integrate .. //depot/projects/smpng/sys/i386/linux/linux.h#9 integrate .. //depot/projects/smpng/sys/i386/pci/pci_pir.c#8 integrate .. //depot/projects/smpng/sys/i4b/layer1/isic/i4b_isic.h#3 integrate .. //depot/projects/smpng/sys/ia64/ia32/ia32_trap.c#4 integrate .. //depot/projects/smpng/sys/ia64/ia64/interrupt.c#29 integrate .. //depot/projects/smpng/sys/ia64/ia64/trap.c#73 integrate .. //depot/projects/smpng/sys/isa/isahint.c#5 integrate .. //depot/projects/smpng/sys/isa/isavar.h#9 integrate .. //depot/projects/smpng/sys/isofs/cd9660/cd9660_lookup.c#13 integrate .. //depot/projects/smpng/sys/kern/kern_cpu.c#4 integrate .. //depot/projects/smpng/sys/kern/kern_intr.c#67 integrate .. //depot/projects/smpng/sys/kern/kern_lock.c#41 integrate .. //depot/projects/smpng/sys/kern/kern_malloc.c#34 integrate .. //depot/projects/smpng/sys/kern/kern_mutex.c#98 integrate .. //depot/projects/smpng/sys/kern/kern_shutdown.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_sig.c#106 integrate .. //depot/projects/smpng/sys/kern/kern_switch.c#57 integrate .. //depot/projects/smpng/sys/kern/kern_synch.c#90 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#48 integrate .. //depot/projects/smpng/sys/kern/sched_ule.c#55 integrate .. //depot/projects/smpng/sys/kern/subr_bus.c#51 integrate .. //depot/projects/smpng/sys/kern/subr_prf.c#38 integrate .. //depot/projects/smpng/sys/kern/subr_rman.c#20 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#15 integrate .. //depot/projects/smpng/sys/kern/subr_witness.c#130 integrate .. //depot/projects/smpng/sys/kern/tty.c#59 integrate .. //depot/projects/smpng/sys/kern/uipc_usrreq.c#47 integrate .. //depot/projects/smpng/sys/kern/vfs_cache.c#27 integrate .. //depot/projects/smpng/sys/kern/vfs_hash.c#2 integrate .. //depot/projects/smpng/sys/kern/vfs_lookup.c#28 integrate .. //depot/projects/smpng/sys/kern/vfs_subr.c#101 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#87 integrate .. //depot/projects/smpng/sys/kern/vfs_vnops.c#62 integrate .. //depot/projects/smpng/sys/kern/vnode_if.src#25 integrate .. //depot/projects/smpng/sys/modules/Makefile#95 integrate .. //depot/projects/smpng/sys/modules/ndis/Makefile#5 integrate .. //depot/projects/smpng/sys/modules/twa/Makefile#2 integrate .. //depot/projects/smpng/sys/net/if_tap.c#34 integrate .. //depot/projects/smpng/sys/net/iso88025.h#6 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto.c#5 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_crypto.h#5 integrate .. //depot/projects/smpng/sys/net80211/ieee80211_ioctl.c#15 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/common/ng_bluetooth.c#6 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#9 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket.c#11 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#10 integrate .. //depot/projects/smpng/sys/netgraph/netflow/netflow.c#7 integrate .. //depot/projects/smpng/sys/netgraph/ng_cisco.c#13 integrate .. //depot/projects/smpng/sys/netinet/in_pcb.c#55 integrate .. //depot/projects/smpng/sys/netinet/ip_dummynet.c#37 integrate .. //depot/projects/smpng/sys/netinet/ip_fw_pfil.c#12 integrate .. //depot/projects/smpng/sys/netinet/ip_input.c#66 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#69 integrate .. //depot/projects/smpng/sys/netinet/tcp_sack.c#8 integrate .. //depot/projects/smpng/sys/netinet/tcp_seq.h#10 integrate .. //depot/projects/smpng/sys/netinet/tcp_subr.c#66 integrate .. //depot/projects/smpng/sys/netinet6/icmp6.c#28 integrate .. //depot/projects/smpng/sys/netipx/README#5 integrate .. //depot/projects/smpng/sys/netipx/ipx_input.c#15 integrate .. //depot/projects/smpng/sys/nfs4client/nfs4_vnops.c#17 integrate .. //depot/projects/smpng/sys/nfsclient/nfs_vnops.c#53 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#36 integrate .. //depot/projects/smpng/sys/pc98/i386/machdep.c#81 integrate .. //depot/projects/smpng/sys/pc98/include/apicreg.h#1 branch .. //depot/projects/smpng/sys/pc98/include/apicvar.h#1 branch .. //depot/projects/smpng/sys/pc98/include/bus_memio.h#2 integrate .. //depot/projects/smpng/sys/pc98/include/bus_pio.h#2 integrate .. //depot/projects/smpng/sys/pc98/include/clock.h#2 integrate .. //depot/projects/smpng/sys/pc98/include/ioctl_bt848.h#1 branch .. //depot/projects/smpng/sys/pc98/include/ioctl_meteor.h#1 branch .. //depot/projects/smpng/sys/pc98/include/pc/display.h#2 integrate .. //depot/projects/smpng/sys/pc98/include/pcaudio.h#2 delete .. //depot/projects/smpng/sys/pc98/include/pcaudioio.h#1 branch .. //depot/projects/smpng/sys/pc98/include/pcvt_ioctl.h#1 branch .. //depot/projects/smpng/sys/pc98/include/pvct_ioctl.h#2 delete .. //depot/projects/smpng/sys/pc98/include/smptests.h#1 branch .. //depot/projects/smpng/sys/pc98/pc98/isa_dma.c#9 integrate .. //depot/projects/smpng/sys/pc98/pc98/olpt.c#12 integrate .. //depot/projects/smpng/sys/pc98/pc98/scterm-sck.c#8 integrate .. //depot/projects/smpng/sys/pci/agp_amd64.c#5 integrate .. //depot/projects/smpng/sys/pci/if_pcn.c#32 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/machdep.c#62 integrate .. //depot/projects/smpng/sys/powerpc/powerpc/trap.c#44 integrate .. //depot/projects/smpng/sys/powerpc/psim/ata_iobus.c#11 integrate .. //depot/projects/smpng/sys/security/mac/mac_vfs.c#8 integrate .. //depot/projects/smpng/sys/security/mac_biba/mac_biba.c#32 integrate .. //depot/projects/smpng/sys/security/mac_lomac/mac_lomac.c#25 integrate .. //depot/projects/smpng/sys/security/mac_mls/mac_mls.c#30 integrate .. //depot/projects/smpng/sys/security/mac_stub/mac_stub.c#10 integrate .. //depot/projects/smpng/sys/security/mac_test/mac_test.c#28 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#75 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/trap.c#61 integrate .. //depot/projects/smpng/sys/sys/bus.h#23 integrate .. //depot/projects/smpng/sys/sys/disklabel.h#29 integrate .. //depot/projects/smpng/sys/sys/mac.h#29 integrate .. //depot/projects/smpng/sys/sys/mac_policy.h#28 integrate .. //depot/projects/smpng/sys/sys/mouse.h#5 integrate .. //depot/projects/smpng/sys/sys/namei.h#16 integrate .. //depot/projects/smpng/sys/sys/param.h#80 integrate .. //depot/projects/smpng/sys/sys/proc.h#142 integrate .. //depot/projects/smpng/sys/sys/rman.h#12 integrate .. //depot/projects/smpng/sys/sys/socket.h#27 integrate .. //depot/projects/smpng/sys/sys/systm.h#65 integrate .. //depot/projects/smpng/sys/sys/un.h#11 integrate .. //depot/projects/smpng/sys/sys/unpcb.h#9 integrate .. //depot/projects/smpng/sys/sys/vnode.h#61 integrate .. //depot/projects/smpng/sys/tools/vnode_if.awk#12 integrate .. //depot/projects/smpng/sys/ufs/ufs/ufs_lookup.c#22 integrate .. //depot/projects/smpng/sys/vm/vm_meter.c#26 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#54 integrate Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/interrupt.c#34 (text+ko) ==== @@ -33,7 +33,7 @@ #include /* RCS ID & Copyright macro defns */ /* __KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.23 1998/02/24 07:38:01 thorpej Exp $");*/ -__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.84 2005/01/05 20:05:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.86 2005/04/12 23:18:53 jhb Exp $"); #include #include @@ -436,7 +436,7 @@ critical_enter(); ih->ih_handler(ih->ih_argument); /* XXX */ - curthread->td_pflags &= ~TDP_OWEPREEMPT; + curthread->td_owepreempt = 0; critical_exit(); return; } ==== //depot/projects/smpng/sys/alpha/alpha/trap.c#58 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.122 2005/01/05 20:05:49 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/trap.c,v 1.123 2005/04/12 23:18:53 jhb Exp $"); /* #include "opt_fix_unaligned_vax_fp.h" */ #include "opt_ddb.h" ==== //depot/projects/smpng/sys/amd64/amd64/intr_machdep.c#11 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.13 2005/01/21 06:01:19 peter Exp $ + * $FreeBSD: src/sys/amd64/amd64/intr_machdep.c,v 1.14 2005/04/12 23:18:53 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/amd64/amd64/local_apic.c#13 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.13 2005/03/11 22:12:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.14 2005/04/14 05:56:17 jhb Exp $"); #include #include @@ -335,10 +335,6 @@ if (lapic == NULL) return (0); - /* If we've only got one CPU, then use the RTC and ISA timer instead. */ - if (mp_ncpus == 1) - return (0); - /* Start off with a divisor of 2 (power on reset default). */ lapic_timer_divisor = 2; ==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#39 (text+ko) ==== @@ -39,7 +39,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.633 2005/04/04 21:53:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.634 2005/04/06 01:05:36 cperciva Exp $"); #include "opt_atalk.h" #include "opt_atpic.h" @@ -1251,6 +1251,9 @@ /* doublefault stack space, runs on ist1 */ common_tss[0].tss_ist1 = (long)&dblfault_stack[sizeof(dblfault_stack)]; + /* Set the IO permission bitmap (empty due to tss seg limit) */ + common_tss[0].tss_iobase = sizeof(struct amd64tss); + gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); ltr(gsel_tss); ==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#19 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.251 2005/04/04 21:53:52 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.252 2005/04/06 01:05:36 cperciva Exp $"); #include "opt_cpu.h" #include "opt_kstack_pages.h" @@ -379,6 +379,7 @@ /* Init tss */ common_tss[cpu] = common_tss[0]; common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */ + common_tss[cpu].tss_iobase = sizeof(struct amd64tss); gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu]; ssdtosyssd(&gdt_segs[GPROC0_SEL], ==== //depot/projects/smpng/sys/amd64/amd64/support.S#12 (text+ko) ==== @@ -27,7 +27,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.113 2004/07/10 22:39:17 marcel Exp $ + * $FreeBSD: src/sys/amd64/amd64/support.S,v 1.114 2005/04/10 18:12:07 alc Exp $ */ #include "opt_ddb.h" @@ -86,8 +86,6 @@ ret ENTRY(bcmp) - xorq %rax,%rax - movq %rdx,%rcx shrq $3,%rcx cld /* compare forwards */ @@ -99,10 +97,9 @@ andq $7,%rcx repe cmpsb - je 2f 1: - incq %rax -2: + setne %al + movsbl %al,%eax ret /* ==== //depot/projects/smpng/sys/amd64/amd64/sys_machdep.c#7 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.88 2004/04/05 23:55:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.89 2005/04/14 16:57:58 peter Exp $"); #include #include @@ -56,8 +56,29 @@ { int error = 0; struct pcb *pcb = curthread->td_pcb; + uint32_t i386base; switch(uap->op) { + case I386_GET_FSBASE: + i386base = pcb->pcb_fsbase; + error = copyout(&i386base, uap->parms, sizeof(i386base)); + break; + case I386_SET_FSBASE: + error = copyin(uap->parms, &i386base, sizeof(i386base)); + pcb->pcb_fsbase = i386base; + if (!error) + wrmsr(MSR_FSBASE, pcb->pcb_fsbase); + break; + case I386_GET_GSBASE: + i386base = pcb->pcb_gsbase; + error = copyout(&i386base, uap->parms, sizeof(i386base)); + break; + case I386_SET_GSBASE: + error = copyin(uap->parms, &i386base, sizeof(i386base)); + pcb->pcb_gsbase = i386base; + if (!error) + wrmsr(MSR_KGSBASE, pcb->pcb_gsbase); + break; case AMD64_GET_FSBASE: error = copyout(&pcb->pcb_fsbase, uap->parms, sizeof(pcb->pcb_fsbase)); break; ==== //depot/projects/smpng/sys/amd64/amd64/trap.c#24 (text+ko) ==== @@ -38,7 +38,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.281 2004/08/31 07:34:53 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/trap.c,v 1.282 2005/04/12 23:18:53 jhb Exp $"); /* * AMD64 Trap and System call handling ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#31 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.436 2005/03/31 20:55:10 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.437 2005/04/13 06:00:07 anholt Exp $ machine amd64 cpu HAMMER @@ -156,6 +156,8 @@ # syscons is the default console driver, resembling an SCO console device sc +device agp # support several AGP chipsets + # PCCARD (PCMCIA) support # PCMCIA and cardbus bridge support device cbb # cardbus (yenta) bridge ==== //depot/projects/smpng/sys/amd64/conf/NOTES#14 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.27 2005/03/31 20:21:42 scottl Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.28 2005/04/08 20:24:45 obrien Exp $ # # @@ -21,11 +21,6 @@ ##################################################################### # SMP OPTIONS: # -# The apic device enables the use of the I/O APIC for interrupt delivery. -# The apic device can be used in both UP and SMP kernels, but is required -# for SMP kernels. Thus, the apic device is not strictly an SMP option, -# but it is a prerequisite for SMP. -# # Notes: # # By default, mixed mode is used to route IRQ0 from the AT timer via ==== //depot/projects/smpng/sys/amd64/ia32/ia32_syscall.c#9 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.7 2004/08/31 06:12:12 julian Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/ia32/ia32_syscall.c,v 1.8 2005/04/12 23:18:53 jhb Exp $"); /* * 386 Trap and System call handling ==== //depot/projects/smpng/sys/amd64/include/asm.h#7 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)DEFS.h 5.1 (Berkeley) 4/23/90 - * $FreeBSD: src/sys/amd64/include/asm.h,v 1.16 2004/06/10 22:02:26 peter Exp $ + * $FreeBSD: src/sys/amd64/include/asm.h,v 1.17 2005/04/10 20:49:21 alc Exp $ */ #ifndef _MACHINE_ASM_H_ @@ -56,8 +56,7 @@ #define CNAME(csym) csym #define HIDENAME(asmsym) .asmsym -/* XXX should use .p2align 4,0x90 for -m486. */ -#define _START_ENTRY .text; .p2align 2,0x90 +#define _START_ENTRY .text; .p2align 4,0x90 #define _ENTRY(x) _START_ENTRY; \ .globl CNAME(x); .type CNAME(x),@function; CNAME(x): ==== //depot/projects/smpng/sys/amd64/include/ieeefp.h#7 (text+ko) ==== @@ -32,7 +32,7 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.13 2005/03/15 15:53:39 das Exp $ + * $FreeBSD: src/sys/amd64/include/ieeefp.h,v 1.14 2005/04/12 23:12:00 jhb Exp $ */ /* ==== //depot/projects/smpng/sys/amd64/include/sysarch.h#6 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/sysarch.h,v 1.23 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/sysarch.h,v 1.24 2005/04/14 16:57:58 peter Exp $ */ /* @@ -35,6 +35,11 @@ #ifndef _MACHINE_SYSARCH_H_ #define _MACHINE_SYSARCH_H_ +#define I386_GET_FSBASE 7 +#define I386_SET_FSBASE 8 +#define I386_GET_GSBASE 9 +#define I386_SET_GSBASE 10 + /* Leave space for 0-127 for to avoid translating syscalls */ #define AMD64_GET_FSBASE 128 #define AMD64_SET_FSBASE 129 ==== //depot/projects/smpng/sys/amd64/include/tss.h#4 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)tss.h 5.4 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/tss.h,v 1.16 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/tss.h,v 1.17 2005/04/06 01:05:36 cperciva Exp $ */ #ifndef _MACHINE_TSS_H_ @@ -50,7 +50,6 @@ u_int64_t tss_rsp2 __packed; /* kernel stack pointer ring 2 */ u_int32_t tss_rsvd1; u_int32_t tss_rsvd2; - u_int32_t tss_rsvd3; u_int64_t tss_ist1 __packed; /* Interrupt stack table 1 */ u_int64_t tss_ist2 __packed; /* Interrupt stack table 2 */ u_int64_t tss_ist3 __packed; /* Interrupt stack table 3 */ ==== //depot/projects/smpng/sys/arm/arm/pmap.c#15 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.26 2005/03/16 23:56:29 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.28 2005/04/14 14:32:32 cognet Exp $"); #include #include #include @@ -402,7 +402,7 @@ /* * Data for the pv entry allocation mechanism */ -#define MINPV 1024 +#define MINPV 2048 #ifndef PMAP_SHPGPERPROC #define PMAP_SHPGPERPROC 200 @@ -1205,6 +1205,18 @@ } /* + * this routine defines the region(s) of memory that should + * not be tested for the modified bit. + */ +static PMAP_INLINE int +pmap_track_modified(vm_offset_t va) +{ + if ((va < kmi.clean_sva) || (va >= kmi.clean_eva)) + return 1; + else + return 0; +} +/* * PTE_SYNC_CURRENT: * * Make sure the pte is written out to RAM. @@ -1538,7 +1550,6 @@ pm = pv->pv_pmap; oflags = pv->pv_flags; pv->pv_flags &= ~maskbits; - pmap_update(pv->pv_pmap); #if 0 pmap_acquire_pmap_lock(pm); @@ -1549,7 +1560,8 @@ ptep = &l2b->l2b_kva[l2pte_index(va)]; npte = opte = *ptep; - if (maskbits & (PVF_WRITE|PVF_MOD)) { + if (maskbits & (PVF_WRITE|PVF_MOD) && + !pmap_track_modified(pv->pv_va)) { if ((pv->pv_flags & PVF_NC)) { /* * Entry is not cacheable: @@ -1570,6 +1582,7 @@ } } else if (opte & L2_S_PROT_W) { + vm_page_dirty(pg); /* * Entry is writable/cacheable: check if pmap * is current if it is flush it, otherwise it @@ -1606,7 +1619,7 @@ } } - if (maskbits & PVF_REF) { + if (maskbits & PVF_REF && !pmap_track_modified(pv->pv_va)) { if ((pv->pv_flags & PVF_NC) == 0 && (maskbits & (PVF_WRITE|PVF_MOD)) == 0) { /* @@ -1706,6 +1719,7 @@ mtx_lock(&pg->md.pvh_mtx); #endif TAILQ_INSERT_HEAD(&pg->md.pv_list, pve, pv_list); + TAILQ_INSERT_HEAD(&pm->pm_pvlist, pve, pv_plist); pg->md.pvh_attrs |= flags & (PVF_REF | PVF_MOD); if (pm == pmap_kernel()) { if (flags & PVF_WRITE) @@ -1723,6 +1737,7 @@ #endif if (pve->pv_flags & PVF_WIRED) ++pm->pm_stats.wired_count; + vm_page_flag_set(pg, PG_REFERENCED); } /* @@ -1779,9 +1794,12 @@ { TAILQ_REMOVE(&pg->md.pv_list, pve, pv_list); + TAILQ_REMOVE(&pm->pm_pvlist, pve, pv_plist); if (pve->pv_flags & PVF_WIRED) --pm->pm_stats.wired_count; pg->md.pv_list_count--; + if (pg->md.pvh_attrs & PVF_MOD) + vm_page_dirty(pg); if (pm == pmap_kernel()) { if (pve->pv_flags & PVF_WRITE) pg->md.krw_mappings--; @@ -1792,8 +1810,18 @@ pg->md.urw_mappings--; else pg->md.uro_mappings--; - if (TAILQ_FIRST(&pg->md.pv_list) == NULL) + if (TAILQ_FIRST(&pg->md.pv_list) == NULL || + (pg->md.krw_mappings == 0 && pg->md.urw_mappings == 0)) { + pg->md.pvh_attrs &= ~PVF_MOD; + if (TAILQ_FIRST(&pg->md.pv_list) == NULL) + pg->md.pvh_attrs &= ~PVF_REF; vm_page_flag_clear(pg, PG_WRITEABLE); + } else if (pmap_track_modified(pve->pv_va)) + vm_page_dirty(pg); + if (TAILQ_FIRST(&pg->md.pv_list)) + vm_page_flag_set(pg, PG_REFERENCED); + if (pve->pv_flags & PVF_WRITE) + pmap_vac_me_harder(pg, pm, 0); } static struct pv_entry * @@ -1869,6 +1897,11 @@ pg->md.uro_mappings++; pg->md.urw_mappings--; } + if (pg->md.krw_mappings == 0 && pg->md.urw_mappings == 0) { + pg->md.pvh_attrs &= ~PVF_MOD; + vm_page_flag_clear(pg, PG_WRITEABLE); + } + pmap_vac_me_harder(pg, pm, 0); } return (oflags); @@ -2014,7 +2047,10 @@ goto out; } - pg->md.pvh_attrs |= PVF_REF | PVF_MOD; + if (pmap_track_modified(pv->pv_va)) { + pg->md.pvh_attrs |= PVF_REF | PVF_MOD; + vm_page_dirty(pg); + } pv->pv_flags |= PVF_REF | PVF_MOD; /* @@ -2038,13 +2074,16 @@ struct vm_page *pg; /* Extract the physical address of the page */ - if ((pg = PHYS_TO_VM_PAGE(pa)) == NULL) + vm_page_lock_queues(); + if ((pg = PHYS_TO_VM_PAGE(pa)) == NULL) { + vm_page_unlock_queues(); goto out; - + } /* Get the current flags for this page. */ pv = pmap_find_pv(pg, pm, va); if (pv == NULL) { + vm_page_unlock_queues(); goto out; } @@ -2055,6 +2094,7 @@ *ptep = (pte & ~L2_TYPE_MASK) | L2_S_PROTO; PTE_SYNC(ptep); rv = 1; + vm_page_unlock_queues(); } /* @@ -2236,7 +2276,7 @@ pcb->pcb_pl1vec = &pm->pm_l1->l1_kva[L1_IDX(vector_page)]; l2b = pmap_get_l2_bucket(pm, vector_page); pcb->pcb_l1vec = l2b->l2b_phys | L1_C_PROTO | - L1_C_DOM(pm->pm_domain); + L1_C_DOM(pm->pm_domain) | L1_C_DOM(PMAP_DOMAIN_KERNEL); } else pcb->pcb_pl1vec = NULL; } @@ -2486,6 +2526,7 @@ kernel_pmap->pm_active = -1; kernel_pmap->pm_domain = PMAP_DOMAIN_KERNEL; LIST_INIT(&allpmaps); + TAILQ_INIT(&kernel_pmap->pm_pvlist); LIST_INSERT_HEAD(&allpmaps, kernel_pmap, pm_list); /* @@ -2585,7 +2626,7 @@ vm_paddr_t pa; struct vm_page *pg; - pg = vm_page_alloc(NULL, 0, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | + pg = vm_page_alloc(NULL, 0, VM_ALLOC_NOOBJ | VM_ALLOC_ZERO | VM_ALLOC_WIRED); if (pg == NULL) return (1); @@ -2600,7 +2641,6 @@ *ptep = L2_S_PROTO | pa | cache_mode | L2_S_PROT(PTE_KERNEL, VM_PROT_READ | VM_PROT_WRITE); PTE_SYNC(ptep); - memset((void *)va, 0, PAGE_SIZE); return (0); } @@ -2691,7 +2731,7 @@ /* Distribute new L1 entry to all other L1s */ SLIST_FOREACH(l1, &l1_list, l1_link) { - pl1pd = &l1->l1_kva[L1_IDX(pmap_curmaxkvaddr)]; + pl1pd = &l1->l1_kva[L1_IDX(va)]; *pl1pd = l2b->l2b_phys | L1_C_DOM(PMAP_DOMAIN_KERNEL) | L1_C_PROTO; PTE_SYNC(pl1pd); @@ -2772,7 +2812,34 @@ void pmap_remove_pages(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { - + struct pv_entry *pv, *npv; + struct l2_bucket *l2b = NULL; + vm_page_t m; + pt_entry_t *pt; + + vm_page_lock_queues(); + for (pv = TAILQ_FIRST(&pmap->pm_pvlist); pv; pv = npv) { + if (pv->pv_va >= eva || pv->pv_va < sva) { + npv = TAILQ_NEXT(pv, pv_plist); + continue; + } + if (pv->pv_flags & PVF_WIRED) { + /* The page is wired, cannot remove it now. */ + npv = TAILQ_NEXT(pv, pv_plist); + continue; + } + pmap->pm_stats.resident_count--; + l2b = pmap_get_l2_bucket(pmap, pv->pv_va); + KASSERT(l2b != NULL, ("No L2 bucket in pmap_remove_pages")); + pt = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; + m = PHYS_TO_VM_PAGE(*pt & L2_ADDR_MASK); + *pt = 0; + PTE_SYNC(pt); + npv = TAILQ_NEXT(pv, pv_plist); + pmap_nuke_pv(m, pmap, pv); + pmap_free_pv_entry(pv); + } + vm_page_unlock_queues(); cpu_idcache_wbinv_all(); cpu_tlb_flushID(); cpu_cpwait(); @@ -2852,6 +2919,8 @@ pt_entry_t *pte, opte; l2b = pmap_get_l2_bucket(pmap_kernel(), va); + if (!l2b) + return; KASSERT(l2b != NULL, ("No L2 Bucket")); pte = &l2b->l2b_kva[l2pte_index(va)]; opte = *pte; @@ -2859,9 +2928,8 @@ cpu_dcache_wbinv_range(va, PAGE_SIZE); cpu_tlb_flushD_SE(va); cpu_cpwait(); + *pte = 0; } - if (opte) - *pte = 0; } @@ -2902,8 +2970,8 @@ struct pv_entry *pv; TAILQ_FOREACH(pv, &m->md.pv_list, pv_list) - pmap_dcache_wb_range(pv->pv_pmap, pv->pv_va, PAGE_SIZE, FALSE, - (pv->pv_flags & PVF_WRITE) == 0); + pmap_dcache_wb_range(pv->pv_pmap, pv->pv_va, PAGE_SIZE, FALSE, + (pv->pv_flags & PVF_WRITE) == 0); } /* @@ -3060,12 +3128,10 @@ if (TAILQ_EMPTY(&m->md.pv_list)) return; curpm = vmspace_pmap(curproc->p_vmspace); - pmap_update(curpm); while ((pv = TAILQ_FIRST(&m->md.pv_list)) != NULL) { if (flush == FALSE && (pv->pv_pmap == curpm || pv->pv_pmap == pmap_kernel())) flush = TRUE; - pmap_update(pv->pv_pmap); l2b = pmap_get_l2_bucket(pv->pv_pmap, pv->pv_va); KASSERT(l2b != NULL, ("No l2 bucket")); ptep = &l2b->l2b_kva[l2pte_index(pv->pv_va)]; @@ -3087,7 +3153,6 @@ else pmap_tlb_flushD(curpm); } - } @@ -3121,7 +3186,6 @@ mtx_lock(&Giant); - pmap_update(pm); /* * OK, at this point, we know we're doing write-protect operation. * If the pmap is active, write-back the range. @@ -3131,6 +3195,7 @@ flush = ((eva - sva) >= (PAGE_SIZE * 4)) ? 0 : -1; flags = 0; + vm_page_lock_queues(); while (sva < eva) { next_bucket = L2_NEXT_BUCKET(sva); if (next_bucket > eva) @@ -3158,6 +3223,8 @@ f = pmap_modify_pv(pg, pm, sva, PVF_WRITE, 0); pmap_vac_me_harder(pg, pm, sva); + if (pmap_track_modified(sva)) + vm_page_dirty(pg); } else f = PVF_REF | PVF_EXEC; @@ -3185,6 +3252,7 @@ if (PV_BEEN_REFD(flags)) pmap_tlb_flushD(pm); } + vm_page_unlock_queues(); mtx_unlock(&Giant); } @@ -3209,13 +3277,12 @@ { struct l2_bucket *l2b = NULL; struct vm_page *opg; - struct pv_entry *pve; + struct pv_entry *pve = NULL; pt_entry_t *ptep, npte, opte; u_int nflags; u_int oflags; vm_paddr_t pa; - pmap_update(pmap); vm_page_lock_queues(); if (va == vector_page) { pa = systempage.pv_pa; @@ -3271,9 +3338,8 @@ nflags |= PVF_REF; - if (((prot & VM_PROT_WRITE) != 0 && - m && ((m->flags & PG_WRITEABLE) || - (m->md.pvh_attrs & PVF_MOD) != 0))) { + if (m && ((prot & VM_PROT_WRITE) != 0 || + (m->md.pvh_attrs & PVF_MOD))) { /* * This is a writable mapping, and the * page's mod state indicates it has >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Apr 14 18:59:47 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E299516A4D0; Thu, 14 Apr 2005 18:59:46 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A321016A4CE for ; Thu, 14 Apr 2005 18:59:46 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8DD8743D53 for ; Thu, 14 Apr 2005 18:59:46 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3EIxk33085415 for ; Thu, 14 Apr 2005 18:59:46 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3EIxkDP085412 for perforce@freebsd.org; Thu, 14 Apr 2005 18:59:46 GMT (envelope-from jhb@freebsd.org) Date: Thu, 14 Apr 2005 18:59:46 GMT Message-Id: <200504141859.j3EIxkDP085412@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2005 18:59:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=75194 Change 75194 by jhb@jhb_slimer on 2005/04/14 18:58:59 Update. Affected files ... .. //depot/projects/smpng/sys/notes#37 edit Differences ... ==== //depot/projects/smpng/sys/notes#37 (text+ko) ==== @@ -81,11 +81,9 @@ - KTR change: include __func__ along with __FILE__ and __LINE__ and display it after cpu number by default - Cheapen global stats counters via PCPU_LAZY_INC - + cnt.v_trap - + cnt.v_syscall - + cnt.v_intr - - not implemented at all on arm, powerpc, or sparc64 - + cnt.v_soft + - cnt.v_intr + - sparc64 is in asm, marius@ doing it + - arm, powerpc? - fork counts? Active child branches: From owner-p4-projects@FreeBSD.ORG Fri Apr 15 01:03:27 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AF79116A4D0; Fri, 15 Apr 2005 01:03:26 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8AB2D16A4CE for ; Fri, 15 Apr 2005 01:03:26 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6FE9643D31 for ; Fri, 15 Apr 2005 01:03:26 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3F13Q52016082 for ; Fri, 15 Apr 2005 01:03:26 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3F13Q8b016079 for perforce@freebsd.org; Fri, 15 Apr 2005 01:03:26 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 15 Apr 2005 01:03:26 GMT Message-Id: <200504150103.j3F13Q8b016079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75223 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 01:03:27 -0000 http://perforce.freebsd.org/chv.cgi?CH=75223 Change 75223 by davidxu@davidxu_celeron on 2005/04/15 01:03:08 signal mask can be inherited from parent thread. Affected files ... .. //depot/projects/davidxu_thread/src/sys/sys/thr.h#6 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/sys/thr.h#6 (text+ko) ==== @@ -47,7 +47,6 @@ char *tls_base; /* tls base address. */ size_t tls_size; /* tls size. */ int tls_seg; /* which seg is to set for tls. */ - sigset_t sigmask; /* signal mask for new thread. */ long *child_tid; /* address to store new TID. */ long parent_tid; /* parent accesses the new TID here. */ int *user_crit; /* reserved */ From owner-p4-projects@FreeBSD.ORG Fri Apr 15 01:38:11 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A9BD516A4D0; Fri, 15 Apr 2005 01:38:09 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5365116A4CE for ; Fri, 15 Apr 2005 01:38:09 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 385F043D1F for ; Fri, 15 Apr 2005 01:38:09 +0000 (GMT) (envelope-from wsalamon@computer.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3F1c9B0017260 for ; Fri, 15 Apr 2005 01:38:09 GMT (envelope-from wsalamon@computer.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3F1c8VC017257 for perforce@freebsd.org; Fri, 15 Apr 2005 01:38:08 GMT (envelope-from wsalamon@computer.org) Date: Fri, 15 Apr 2005 01:38:08 GMT Message-Id: <200504150138.j3F1c8VC017257@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to wsalamon@computer.org using -f From: Wayne Salamon To: Perforce Change Reviews Subject: PERFORCE change 75224 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 01:38:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=75224 Change 75224 by wsalamon@rickenbacker on 2005/04/15 01:37:42 Fix a bug where, if the execv() fails, the child process hangs around. In the audit_warn case, the execv() will fail if the audit_warn script doesn't have the execute bit turned on, for example. Affected files ... .. //depot/projects/trustedbsd/audit3/contrib/audit_supt/auditd/audit_warn.c#3 edit Differences ... ==== //depot/projects/trustedbsd/audit3/contrib/audit_supt/auditd/audit_warn.c#3 (text+ko) ==== @@ -34,6 +34,7 @@ char *loc_args[9]; int i; pid_t pid; + loc_args[0] = AUDITWARN_SCRIPT; for (i = 0; args[i] != NULL && i < 8; i++) { loc_args[i+1] = args[i]; @@ -41,13 +42,13 @@ loc_args[i+1] = NULL; pid = fork(); - if (pid == 0) { - return execv(AUDITWARN_SCRIPT, loc_args); - /* not reached */ - exit(1); + if (pid == 0) { // child + execv(AUDITWARN_SCRIPT, loc_args); + syslog(LOG_ERR, "Could not exec %s\n", AUDITWARN_SCRIPT); + exit (1); // if we reach here, the exec failed } else if (pid == -1) { return -1; - } else { + } else { // parent return 0; } } From owner-p4-projects@FreeBSD.ORG Fri Apr 15 01:39:14 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 439FA16A4D0; Fri, 15 Apr 2005 01:39:12 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED4DF16A4CE for ; Fri, 15 Apr 2005 01:39:11 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 30F3743D53 for ; Fri, 15 Apr 2005 01:39:11 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3F1dBsj017285 for ; Fri, 15 Apr 2005 01:39:11 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3F1dABJ017282 for perforce@freebsd.org; Fri, 15 Apr 2005 01:39:10 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 15 Apr 2005 01:39:10 GMT Message-Id: <200504150139.j3F1dABJ017282@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75225 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 01:39:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=75225 Change 75225 by davidxu@davidxu_celeron on 2005/04/15 01:38:40 IFC. Affected files ... .. //depot/projects/davidxu_thread/src/contrib/top/commands.c#2 integrate .. //depot/projects/davidxu_thread/src/contrib/top/top.c#2 integrate .. //depot/projects/davidxu_thread/src/etc/rc.d/cleanvar#2 integrate .. //depot/projects/davidxu_thread/src/lib/libc/net/getaddrinfo.c#4 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/installation/common/install.sgml#4 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/installation/common/layout.sgml#2 integrate .. //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/installation/common/trouble.sgml#2 integrate .. //depot/projects/davidxu_thread/src/sbin/idmapd/idmapd.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/local_apic.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/sys_machdep.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/amd64/include/sysarch.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/arm/arm/pmap.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/boot/pc98/libpc98/vidconsole.c#2 integrate .. //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_all.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_sa.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/conf/options.i386#5 integrate .. //depot/projects/davidxu_thread/src/sys/ddb/db_print.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/ddb/db_run.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_ec.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#7 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ata/ata-lowlevel.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/dev/pci/pci.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/dev/ppbus/pps.c#5 integrate .. //depot/projects/davidxu_thread/src/sys/fs/udf/ecma167-udf.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/i386/acpica/madt.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/io_apic.c#4 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/local_apic.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/machdep.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/i386/sys_machdep.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/apicvar.h#5 integrate .. //depot/projects/davidxu_thread/src/sys/i386/include/pcb.h#3 integrate .. //depot/projects/davidxu_thread/src/sys/i386/pci/pci_pir.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/ia64/ia64/mp_machdep.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#13 edit .. //depot/projects/davidxu_thread/src/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/ip_fw2.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_input.c#7 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_sack.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/netinet/tcp_var.h#7 integrate .. //depot/projects/davidxu_thread/src/sys/netinet6/icmp6.c#6 integrate .. //depot/projects/davidxu_thread/src/sys/nfs4client/nfs4_vnops.c#9 integrate .. //depot/projects/davidxu_thread/src/sys/nfsclient/nfs_vnops.c#11 integrate .. //depot/projects/davidxu_thread/src/sys/pc98/i386/machdep.c#10 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac/mac_vfs.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac_biba/mac_biba.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac_lomac/mac_lomac.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac_mls/mac_mls.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac_stub/mac_stub.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/security/mac_test/mac_test.c#3 integrate .. //depot/projects/davidxu_thread/src/sys/sparc64/sparc64/machdep.c#8 integrate .. //depot/projects/davidxu_thread/src/sys/sys/mac.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/sys/mac_policy.h#2 integrate .. //depot/projects/davidxu_thread/src/sys/vm/vm_mmap.c#4 integrate .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.m1.out#2 integrate .. //depot/projects/davidxu_thread/src/tools/regression/usr.bin/printf/regress.sh#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/printf/Makefile#2 integrate .. //depot/projects/davidxu_thread/src/usr.bin/printf/printf.1#4 integrate .. //depot/projects/davidxu_thread/src/usr.bin/printf/printf.c#5 integrate .. //depot/projects/davidxu_thread/src/usr.bin/top/machine.c#3 integrate Differences ... ==== //depot/projects/davidxu_thread/src/contrib/top/commands.c#2 (text+ko) ==== @@ -8,7 +8,7 @@ * Copyright (c) 1984, 1989, William LeFebvre, Rice University * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University * - * $FreeBSD: src/contrib/top/commands.c,v 1.10 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/commands.c,v 1.11 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -78,7 +78,7 @@ #ifdef ORDER if (displaymode == DISP_CPU) fputs("\ -o - specify sort order (pri, size, res, cpu, time)\n", stdout); +o - specify sort order (pri, size, res, cpu, time, threads)\n", stdout); else fputs("\ o - specify sort order (vcsw, ivcsw, read, write, fault, total)\n", stdout); ==== //depot/projects/davidxu_thread/src/contrib/top/top.c#2 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.15 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.16 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -84,6 +84,7 @@ static int max_topn; /* maximum displayable processes */ /* miscellaneous things */ +struct process_select ps; char *myname = "top"; jmp_buf jmp_int; @@ -179,7 +180,6 @@ char *iptr; char no_command = 1; struct timeval timeout; - struct process_select ps; #ifdef ORDER char *order_name = NULL; int order_index = 0; @@ -987,8 +987,10 @@ case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - " %sisplaying threads.", - ps.thread ? "D" : "Not d"); + "Displaying threads %s", + ps.thread ? "separately" : "as a count"); + header_text = format_header(uname_field); + reset_display(); putchar('\r'); break; case CMD_viewtog: ==== //depot/projects/davidxu_thread/src/etc/rc.d/cleanvar#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.7 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.8 2005/04/14 03:56:06 csjp Exp $ # # PROVIDE: cleanvar @@ -18,6 +18,8 @@ ( cd "$dir" && for file in .* * do + # Skip over logging sockets + [ -S "$file" -a "$file" = "log" ] && continue [ ."$file" = .. -o ."$file" = ... ] && continue if [ -d "$file" -a ! -L "$file" ] then ==== //depot/projects/davidxu_thread/src/lib/libc/net/getaddrinfo.c#4 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.62 2005/04/06 15:36:34 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.63 2005/04/14 11:44:43 ume Exp $"); #include "namespace.h" #include "reentrant.h" @@ -2310,11 +2310,6 @@ rcode = NOERROR; ancount = 0; - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (-1); - } - buf = malloc(MAXPACKET); if (!buf) { h_errno = NETDB_INTERNAL; @@ -2561,10 +2556,6 @@ const char *longname = nbuf; size_t n, d; - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (-1); - } #ifdef DEBUG if (_res.options & RES_DEBUG) printf(";; res_querydomain(%s, %s)\n", ==== //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/installation/common/install.sgml#4 (text+ko) ==== @@ -1,10 +1,10 @@ @@ -23,10 +23,21 @@ INSTALL.TXT catpages compat4x games src README.HTM cdrom.inf crypto info tools - åÓÌÉ ×Ù ÈÏÔÉÔÅ ×ÙÐÏÌÎÉÔØ CDROM, FTP ÉÌÉ NFS ÕÓÔÁÎÏ×ËÕ ÉÚ ÜÔÏÇÏ - ËÁÔÁÌÏÇÁ, ×ÓÅ, ÞÔÏ ÐÏÔÒÅÂÕÅÔÓÑ, ÜÔÏ ÓÄÅÌÁÔØ 1.44MB ÚÁÇÒÕÚÏÞÎÙÅ ÄÉÓËÅÔÙ - (ÓÍ. ), ÚÁÇÒÕÚÉÔØÓÑ Ó ÎÉÈ É ÓÌÅÄÏ×ÁÔØ - ÉÎÓÔÒÕËÃÉÑÍ. ïÓÔÁÌØÎÙÅ ÆÁÊÌÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÕÓÔÁÎÏ×ËÉ, ÂÕÄÕÔ + + ôÅ ÖÅ ÆÁÊÌÙ ÎÁÈÏÄÑÔÓÑ ÎÁ ÐÅÒ×ÏÍ ÄÉÓËÅ ÍÕÌØÔÉÄÉÓËÏ×ÏÇÏ ÎÁÂÏÒÁ, + ÎÏ ÒÁÓÐÏÌÏÖÅÎÙ ÔÁÍ ÎÅÍÎÏÇÏ ÐÏ-ÄÒÕÇÏÍÕ. äÌÑ ÂÏÌØÛÉÎÓÔ×Á ÁÒÈÉÔÅËÔÕÒ + ÎÁ ÄÉÓËÅ Ó ÕÓÔÁÎÏ×ËÏÊ ÎÁÈÏÄÉÔÓÑ ÔÁËÖÅ live filesystem. + ïÎÁ ÐÏÌÅÚÎÁ ÐÒÉ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÉ ÉÌÉ ÒÅÛÅÎÉÉ ÐÒÏÂÌÅÍ Ó ÓÕÝÅÓÔ×ÕÀÝÅÊ + ÕÓÔÁÎÏ×ËÏÊ &os; (ÏÂÒÁÔÉÔÅÓØ Ë ÚÁ ÉÎÓÔÒÕËÃÉÑÍÉ ÐÏ ÅÅ ÉÓÐÏÌØÚÏ×ÁÎÉÀ). + + ëÁÔÁÌÏÇ floppies ÐÒÅÄÓÔÁ×ÌÑÅÔ ÏÐÒÅÄÅÌÅÎÎÙÊ + ÉÎÔÅÒÅÓ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ, ËÏÔÏÒÙÅ ÎÅ ÍÏÇÕÔ ×ÙÐÏÌÎÉÔØ ÚÁÇÒÕÚËÕ Ó + ËÏÍÐÁËÔ-ÄÉÓËÁ (ÎÏ ÍÏÇÕÔ ÐÒÏÞÉÔÁÔØ ÅÇÏ ÓÏÄÅÒÖÉÍÏÅ. îÅÓÌÏÖÎÏ + ÓÏÚÄÁÔØ ÎÁÂÏÒ 1.44í ÚÁÇÒÕÚÏÞÎÙÈ ÄÉÓËÅÔ, ×ÏÓÐÏÌØÚÏ×Á×ÛÉÓØ ËÁÔÁÌÏÇÏÍ + floppies (ÓÍ. ), É + ÉÓÐÏÌØÚÏ×ÁÔØ ÉÈ ÄÌÑ ÚÁÐÕÓËÁ ÕÓÔÁÎÏ×ËÉ Ó CDROM, FTP, ÉÌÉ NFS. + ïÓÔÁÌØÎÙÅ ÆÁÊÌÙ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÕÓÔÁÎÏ×ËÉ, ÂÕÄÕÔ ÐÏÌÕÞÅÎÙ Á×ÔÏÍÁÔÉÞÅÓËÉ ÎÁ ÏÓÎÏ×Å ×ÁÛÅÇÏ ×ÙÂÏÒÁ. åÓÌÉ ×Ù ÎÉËÏÇÄÁ ÒÁÎØÛÅ ÎÅ ÕÓÔÁÎÁ×ÌÉ×ÁÌÉ &os;, ÐÏÔÒÅÂÕÅÔÓÑ ÔÁËÖÅ ÐÏÌÎÏÓÔØÀ ÐÒÏÞÉÔÁÔØ ÜÔÏÔ ÄÏËÕÍÅÎÔ (ÆÁÊÌ ÉÎÓÔÒÕËÃÉÊ ÐÏ ÕÓÔÁÎÏ×ËÅ). ==== //depot/projects/davidxu_thread/src/release/doc/ru_RU.KOI8-R/installation/common/trouble.sgml#2 (text+ko) ==== @@ -1,10 +1,10 @@ @@ -14,21 +14,54 @@ ÷ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÕÓÔÁÎÏ×ËÉ &os; - &os; ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÏÐÃÉÀ - Fixit × ×ÅÒÈÎÅÍ ÍÅÎÀ ÚÁÇÒÕÚÏÞÎÏÊ ÄÉÓËÅÔÙ. - äÌÑ ÅÅ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÉÌÉ ÄÉÓËÅÔÁ Ó - fixit.flp, ÓÏÚÄÁÎÎÁÑ ÔÅÍ ÖÅ ÓÐÏÓÏÂÏÍ, ÞÔÏ É - ÚÁÇÒÕÚÏÞÎÁÑ ÄÉÓËÅÔÁ, ÉÌÉ live filesystem CDROM; - ÏÂÙÞÎÏ ÜÔÏ ×ÔÏÒÏÊ CDROM × ÍÎÏÇÏÄÉÓËÏ×ÏÍ ÄÉÓÔÒÉÂÕÔÉ×Å &os;. + &os; ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÏÐÃÉÀ fixit × ÇÌÁ×ÎÏÍ ÍÅÎÀ + ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ &man.sysinstall.8;. ïÐÃÉÑ ÏÔËÒÙ×ÁÅÔ + ËÏÍÁÎÄÎÕÀ ÓÔÒÏËÕ, ÉÚ ËÏÔÏÒÏÊ ÄÏÓÔÕÐÎÙ ÏÓÎÏ×ÎÙÅ ÐÒÏÇÒÁÍÍÙ ÂÁÚÏ×ÏÊ + ÓÉÓÔÅÍÙ &os;; ÜÔÁ ÏÐÃÉÑ ÐÏÌÅÚÎÁ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÉÌÉ ÒÅÛÅÎÉÑ + ÐÒÏÂÌÅÍ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÕÓÔÁÎÏ×ËÅ &os;. äÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅÖÉÍÁ + fixit ×ÁÍ ÐÏÔÒÅÂÕÅÔÓÑ ÌÉÂÏ ÄÉÓËÅÔÁ fixit.flp, + ÓÏÚÄÁÎÎÁÑ ÔÁËÉÍ ÖÅ ÏÂÒÁÚÏÍ, ËÁË É ÚÁÇÒÕÚÏÞÎÙÅ ÄÉÓËÅÔÙ, ÉÌÉ + ËÏÍÐÁËÔ-ÄÉÓË Ó live filesystem. ÷ ÍÎÏÇÏÄÉÓËÏ×ÙÈ + ÎÁÂÏÒÁÈ &os;, ÏÂÒÁÚ live filesystem ÏÂÙÞÎÏ ÎÁÈÏÄÉÔÓÑ ÎÁ ÄÉÓËÅ Ó + ÕÓÔÁÎÏ×ËÏÊ. ïÂÒÁÔÉÔÅ ×ÎÉÍÁÎÉÅ, ÞÔÏ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÒÅÖÉÍÁ + fixit ÔÒÅÂÕÅÔÓÑ ÎÅËÏÔÏÒÙÊ ÏÐÙÔ ÓÉÓÔÅÍÎÏÇÏ ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ + UNIX. + + åÓÔØ Ä×Á ÓÔÁÎÄÁÒÔÎÙÈ ÓÐÏÓÏÂÁ ×ÏÊÔÉ × ÒÅÖÉÍ fixit. ðÏÌØÚÏ×ÁÔÅÌÉ, + ËÏÔÏÒÙÅ ÍÏÇÕÔ ÚÁÇÒÕÚÉÔØÓÑ Ó ÕÓÔÁÎÏ×ÏÞÎÏÇÏ ËÏÍÐÁËÔ-ÄÉÓËÁ &os;, + ÍÏÇÕÔ ×ÏÓÐÏÌØÚÏ×ÁÔØÓÑ ÐÕÎËÔÏÍ fixit ÉÚ ÇÌÁ×ÎÏÇÏ + ÍÅÎÀ &man.sysinstall.8;. úÁÔÅÍ ÎÕÖÎÏ ×ÙÂÒÁÔØ ÏÐÃÉÀ + ÜÔÏÇÏ ÍÅÎÀ CDROM/DVD. + + ðÏÌØÚÏ×ÁÔÅÌÑÍ, ËÏÔÏÒÙÅ ÎÅ ÍÏÇÕÔ ÚÁÇÒÕÚÉÔØÓÑ Ó ËÏÍÐÁËÔ-ÄÉÓËÁ, + ÎÏ ÍÏÇÕÔ ÚÁÇÒÕÚÉÔØÓÑ Ó ÄÉÓËÅÔ, ÐÏÔÒÅÂÕÅÔÓÑ ×ÙÐÏÌÎÉÔØ ÎÅÓËÏÌØËÏ ÂÏÌØÛÅ + ÛÁÇÏ×. ÷ ÄÏÐÏÌÎÅÎÉÅ Ë ÄÉÓËÅÔÁÍ boot.flp É + kernX.flp, + ÎÅÏÂÈÏÄÉÍÙÍ ÄÌÑ ÕÓÔÁÎÏ×ËÉ, ÓÏÚÄÁÊÔÅ ÄÉÓËÅÔÕ + fixit.flp, ÔÅÍ ÖÅ ÓÐÏÓÏÂÏÍ, ÞÔÏ É ÄÒÕÇÉÅ + ÄÉÓËÅÔÙ. óÌÅÄÕÊÔÅ ÉÎÓÔÒÕËÃÉÑÍ ÐÏ ÚÁÇÒÕÚËÅ ÐÒÏÇÒÁÍÍÙ ÕÓÔÁÎÏ×ËÉ + Ó ÄÉÓËÅÔ ÄÏ ÍÏÍÅÎÔÁ ×ÈÏÄÁ × ÍÅÎÀ &man.sysinstall.8;. ðÏÓÌÅ ÜÔÏÇÏ + ×ÙÂÅÒÉÔÅ ÏÐÃÉÀ fixit ÉÚ ÇÌÁ×ÎÏÇÏ ÍÅÎÀ + &man.sysinstall.8;. úÁÔÅÍ ×ÙÂÅÒÉÔÅ ÏÐÃÉÀ Floppy + É ×ÓÔÁ×ØÔÅ ÄÉÓËÅÔÕ fixit.flp, ËÏÇÄÁ + ÐÏÑ×ÉÔÓÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÅ ÐÒÉÇÌÁÛÅÎÉÅ. + + óÏÄÅÒÖÉÍÏÅ ËÏÍÐÁËÔ-ÄÉÓËÁ É ÄÉÓËÅÔÙ ÐÏÈÏÖÉ, ÎÏ ÎÅ ÉÄÅÎÔÉÞÎÙ. + ÷ ÏÂÅÉÈ ÓÌÕÞÁÑÈ ÐÒÅÄÏÓÔÁ×ÌÑÅÔÓÑ ËÏÍÁÎÄÎÁÑ ÓÔÒÏËÁ Ó ÎÁÂÏÒÏÍ + ËÏÍÁÎÄ ÄÌÑ ÐÒÏ×ÅÒËÉ, ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ É ÉÈ + ÓÏÄÅÒÖÉÍÏÇÏ. ÷ÅÒÓÉÑ ÎÁ ËÏÍÐÁËÔ-ÄÉÓËÅ ÐÒÅÄÏÓÔÁ×ÌÑÅÔ ÐÏÓÒÅÄÓÔ×ÏÍ + live filesystem ×ÅÓØ ÎÁÂÏÒ ËÏÍÁÎÄ É ÐÒÏÇÒÁÍÍ, ÄÏÓÔÕÐÎÙÈ × ÂÁÚÏ×ÏÊ + ÓÉÓÔÅÍÅ &os;. îÁ ÄÉÓËÅÔÅ ÎÁÈÏÄÉÔÓÑ ÏÇÒÁÎÉÞÅÎÎÙÊ ÎÁÂÏÒ + ËÏÍÁÎÄ, ×ÓÌÅÄÓÔ×ÉÅ ÏÇÒÁÎÉÞÅÎÉÊ ÐÏ ÏÂßÅÍÕ. + + ÷ ×ÅÒÓÉÉ ÎÁ ÄÉÓËÅÔÅ, ÎÅËÏÔÏÒÙÅ ÕÔÉÌÉÔÙ ÍÏÇÕÔ ÎÁÈÏÄÉÔØÓÑ × + ËÁÔÁÌÏÇÅ /stand, ÉÌÉ + /mnt2/stand. ÷ ×ÅÒÓÉÉ ÎÁ ËÏÍÐÁËÔ ÄÉÓËÅ, ÔÅ ÖÅ + ÐÒÏÇÒÁÍÍÙ ÍÏÇÕÔ ÎÁÈÏÄÉÔØÓÑ × ËÁÔÁÌÏÇÅ /stand + ÉÌÉ /mnt2/rescue (×ÍÅÓÔÅ Ó ÄÒÕÇÉÍÉ ÐÒÏÇÒÁÍÍÁÍÉ + ÉÚ live filesystem, ËÏÔÏÒÙÅ ÒÁÓÐÏÌÏÖÅÎÙ × + /mnt). - äÌÑ ÚÁÐÕÓËÁ fixit ÚÁÇÒÕÚÉÔÅ ÄÉÓËÅÔÕ kern.flp, - ×ÙÂÅÒÉÔÅ Fixit ÉÚ ÍÅÎÀ É ×ÓÔÁ×ØÔÅ fixit ÄÉÓËÅÔÕ - ÉÌÉ CDROM ÐÏÓÌÅ ÐÒÉÇÌÁÛÅÎÉÑ. ðÏÑ×ÉÔÓÑ ÏÂÏÌÏÞËÁ Ó ÍÎÏÖÅÓÔ×ÏÍ - ËÏÍÁÎÄ (× ËÁÔÁÌÏÇÁÈ /stand É - /mnt2/stand) ÄÌÑ ÐÒÏ×ÅÒËÉ, ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ É - ÐÒÏÓÍÏÔÒÁ ÆÁÊÌÏ×ÙÈ ÓÉÓÔÅÍ É ÉÈ ÓÏÄÅÒÖÉÍÏÇÏ. äÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ - ÜÔÏÊ ×ÏÚÍÏÖÎÏÓÔÉ ÔÒÅÂÕÅÔÓÑ ÎÅËÏÔÏÒÙÊ ÏÐÙÔ - ÁÄÍÉÎÉÓÔÒÉÒÏ×ÁÎÉÑ UNIX. ==== //depot/projects/davidxu_thread/src/sbin/idmapd/idmapd.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.5 2004/04/15 16:12:12 rees Exp $ */ +/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.6 2005/04/14 20:27:30 rees Exp $ */ /* $Id: idmapd.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */ /* @@ -339,12 +339,6 @@ TAILQ_INIT(&upcall_q); - if (error) { - perror("sigaction"); - exit(1); - } - - fd = open(DEV_PATH, O_RDWR, S_IRUSR | S_IWUSR); if (fd < 0) { ==== //depot/projects/davidxu_thread/src/sys/amd64/amd64/local_apic.c#5 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.13 2005/03/11 22:12:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.14 2005/04/14 05:56:17 jhb Exp $"); #include #include @@ -335,10 +335,6 @@ if (lapic == NULL) return (0); - /* If we've only got one CPU, then use the RTC and ISA timer instead. */ - if (mp_ncpus == 1) - return (0); - /* Start off with a divisor of 2 (power on reset default). */ lapic_timer_divisor = 2; ==== //depot/projects/davidxu_thread/src/sys/amd64/amd64/sys_machdep.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.88 2004/04/05 23:55:13 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/sys_machdep.c,v 1.89 2005/04/14 16:57:58 peter Exp $"); #include #include @@ -56,8 +56,29 @@ { int error = 0; struct pcb *pcb = curthread->td_pcb; + uint32_t i386base; switch(uap->op) { + case I386_GET_FSBASE: + i386base = pcb->pcb_fsbase; + error = copyout(&i386base, uap->parms, sizeof(i386base)); + break; + case I386_SET_FSBASE: + error = copyin(uap->parms, &i386base, sizeof(i386base)); + pcb->pcb_fsbase = i386base; + if (!error) + wrmsr(MSR_FSBASE, pcb->pcb_fsbase); + break; + case I386_GET_GSBASE: + i386base = pcb->pcb_gsbase; + error = copyout(&i386base, uap->parms, sizeof(i386base)); + break; + case I386_SET_GSBASE: + error = copyin(uap->parms, &i386base, sizeof(i386base)); + pcb->pcb_gsbase = i386base; + if (!error) + wrmsr(MSR_KGSBASE, pcb->pcb_gsbase); + break; case AMD64_GET_FSBASE: error = copyout(&pcb->pcb_fsbase, uap->parms, sizeof(pcb->pcb_fsbase)); break; ==== //depot/projects/davidxu_thread/src/sys/amd64/include/sysarch.h#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/sysarch.h,v 1.23 2004/04/05 21:25:51 imp Exp $ + * $FreeBSD: src/sys/amd64/include/sysarch.h,v 1.24 2005/04/14 16:57:58 peter Exp $ */ /* @@ -35,6 +35,11 @@ #ifndef _MACHINE_SYSARCH_H_ #define _MACHINE_SYSARCH_H_ +#define I386_GET_FSBASE 7 +#define I386_SET_FSBASE 8 +#define I386_GET_GSBASE 9 +#define I386_SET_GSBASE 10 + /* Leave space for 0-127 for to avoid translating syscalls */ #define AMD64_GET_FSBASE 128 #define AMD64_SET_FSBASE 129 ==== //depot/projects/davidxu_thread/src/sys/arm/arm/pmap.c#10 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.27 2005/04/07 22:01:53 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.28 2005/04/14 14:32:32 cognet Exp $"); #include #include #include @@ -2276,7 +2276,7 @@ pcb->pcb_pl1vec = &pm->pm_l1->l1_kva[L1_IDX(vector_page)]; l2b = pmap_get_l2_bucket(pm, vector_page); pcb->pcb_l1vec = l2b->l2b_phys | L1_C_PROTO | - L1_C_DOM(pm->pm_domain); + L1_C_DOM(pm->pm_domain) | L1_C_DOM(PMAP_DOMAIN_KERNEL); } else pcb->pcb_pl1vec = NULL; } @@ -2731,7 +2731,7 @@ /* Distribute new L1 entry to all other L1s */ SLIST_FOREACH(l1, &l1_list, l1_link) { - pl1pd = &l1->l1_kva[L1_IDX(pmap_curmaxkvaddr)]; + pl1pd = &l1->l1_kva[L1_IDX(va)]; *pl1pd = l2b->l2b_phys | L1_C_DOM(PMAP_DOMAIN_KERNEL) | L1_C_PROTO; PTE_SYNC(pl1pd); @@ -2919,6 +2919,8 @@ pt_entry_t *pte, opte; l2b = pmap_get_l2_bucket(pmap_kernel(), va); + if (!l2b) + return; KASSERT(l2b != NULL, ("No L2 Bucket")); pte = &l2b->l2b_kva[l2pte_index(va)]; opte = *pte; ==== //depot/projects/davidxu_thread/src/sys/boot/pc98/libpc98/vidconsole.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/vidconsole.c,v 1.12 2004/01/18 04:10:45 nyan Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/pc98/libpc98/vidconsole.c,v 1.13 2005/04/14 14:12:54 nyan Exp $"); #include #include @@ -538,7 +538,7 @@ } static void -get_arg(c) +get_arg(int c) { if (argc < 0) ==== //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_all.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.47 2005/02/21 00:28:36 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_all.c,v 1.48 2005/04/14 03:52:50 mjacob Exp $"); #include @@ -2312,6 +2312,15 @@ int i; int num_syncrates; + /* + * It's a bug if period is zero, but if it is anyway, don't + * die with a divide fault- instead return something which + * 'approximates' async + */ + if (period_factor == 0) { + return (3300); + } + num_syncrates = sizeof(scsi_syncrates) / sizeof(scsi_syncrates[0]); /* See if the period is in the "exception" table */ for (i = 0; i < num_syncrates; i++) { ==== //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_da.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.173 2005/01/05 22:34:34 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.178 2005/04/14 04:46:46 mjacob Exp $"); #include @@ -200,6 +200,7 @@ { /* * Doesn't like the synchronize cache command. + * Reported by: Blaz Zupan */ {T_DIRECT, SIP_MEDIA_FIXED, quantum, "MAVERICK 540S", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE @@ -213,6 +214,14 @@ }, { /* + * Doesn't like the synchronize cache command. + * Reported by: walter@pelissero.de + */ + {T_DIRECT, SIP_MEDIA_FIXED, quantum, "LPS540S", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * Doesn't work correctly with 6 byte reads/writes. * Returns illegal request, and points to byte 9 of the * 6-byte CDB. @@ -228,6 +237,14 @@ }, { /* + * Doesn't like the synchronize cache command. + * Reported by: walter@pelissero.de + */ + {T_DIRECT, SIP_MEDIA_FIXED, "CONNER", "CP3500*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* * The CISS RAID controllers do not support SYNC_CACHE */ {T_DIRECT, SIP_MEDIA_FIXED, "COMPAQ", "RAID*", "*"}, @@ -311,7 +328,15 @@ * Frontier Labs NEX IA+ Digital Audio Player, rev 1.10/0.01 * PR: kern/70158 */ - {T_DIRECT, SIP_MEDIA_REMOVABLE, "FL" , "NexIA+*", "*"}, + {T_DIRECT, SIP_MEDIA_REMOVABLE, "FL" , "Nex*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE + }, + { + /* + * ZICPlay USB MP3 Player with FM + * PR: kern/75057 + */ + {T_DIRECT, SIP_MEDIA_REMOVABLE, "ACTIONS*" , "USB DISK*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, }; ==== //depot/projects/davidxu_thread/src/sys/cam/scsi/scsi_sa.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.103 2005/03/31 21:43:19 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_sa.c,v 1.104 2005/04/14 04:51:18 mjacob Exp $"); #include #include @@ -810,10 +810,29 @@ } break; + case MTIOCTOP: + { + struct mtop *mt = (struct mtop *) arg; + + /* + * Check to make sure it's an OP we can perform + * with no media inserted. + */ + switch (mt->mt_op) { + case MTSETBSIZ: + case MTSETDNSTY: + case MTCOMP: + mt = NULL; + /* FALLTHROUGH */ + default: + break; + } + if (mt != NULL) { + break; + } + /* FALLTHROUGH */ + } case MTIOCSETEOTMODEL: - case MTSETBSIZ: - case MTSETDNSTY: - case MTCOMP: /* * We need to acquire the peripheral here rather * than at open time because we are sharing writable ==== //depot/projects/davidxu_thread/src/sys/conf/options.i386#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.218 2005/03/17 01:20:49 cognet Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.219 2005/04/14 17:59:57 jhb Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -9,7 +9,6 @@ I586_PMC_GUPROF opt_i586_guprof.h MAXMEM MPTABLE_FORCE_HTT -NO_MIXED_MODE PERFMON PMAP_SHPGPERPROC opt_pmap.h POWERFAIL_NMI opt_trap.h ==== //depot/projects/davidxu_thread/src/sys/ddb/db_print.c#3 (text+ko) ==== @@ -34,10 +34,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_print.c,v 1.29 2005/01/06 01:34:41 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_print.c,v 1.30 2005/04/14 05:25:40 peter Exp $"); #include #include +#include #include ==== //depot/projects/davidxu_thread/src/sys/ddb/db_run.c#4 (text+ko) ==== @@ -33,10 +33,11 @@ */ #include -__FBSDID("$FreeBSD: src/sys/ddb/db_run.c,v 1.26 2005/01/06 01:34:41 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/ddb/db_run.c,v 1.27 2005/04/14 05:25:40 peter Exp $"); #include #include +#include #include #include ==== //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi.c#8 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.210 2005/03/31 19:07:26 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.211 2005/04/14 06:45:24 jhb Exp $"); #include "opt_acpi.h" #include @@ -1495,6 +1495,7 @@ /* * 1. I/O port and memory system resource holders * 2. Embedded controllers (to handle early accesses) + * 3. PCI Link Devices */ ret = 0; if (acpi_MatchHid(handle, "PNP0C01") || acpi_MatchHid(handle, "PNP0C02")) { @@ -1503,6 +1504,9 @@ } else if (acpi_MatchHid(handle, "PNP0C09")) { *order = 2; ret = 1; + } else if (acpi_MatchHid(handle, "PNP0C0F")) { + *order = 3; + ret = 1; } return (ret); ==== //depot/projects/davidxu_thread/src/sys/dev/acpica/acpi_ec.c#5 (text+ko) ==== @@ -136,7 +136,7 @@ *****************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.63 2005/03/20 01:27:27 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.64 2005/04/14 06:50:13 marks Exp $"); #include "opt_acpi.h" #include @@ -733,7 +733,7 @@ /* Evaluate _Qxx to respond to the controller. */ sprintf(qxx, "_Q%02x", Data); - strupr(qxx); + AcpiUtStrupr(qxx); Status = AcpiEvaluateObject(sc->ec_handle, qxx, NULL, NULL); if (ACPI_FAILURE(Status) && Status != AE_NOT_FOUND) { ACPI_VPRINT(sc->ec_dev, acpi_device_get_parent_softc(sc->ec_dev), ==== //depot/projects/davidxu_thread/src/sys/dev/ata/ata-all.h#7 (text+ko) ==== @@ -25,7 +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. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.91 2005/04/10 10:20:25 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.92 2005/04/14 08:48:45 sos Exp $ */ /* ATA register defines */ @@ -258,7 +258,7 @@ union { struct { u_int8_t command; /* command reg */ - u_int8_t feature; /* feature reg */ + u_int16_t feature; /* feature reg */ u_int16_t count; /* count reg */ u_int64_t lba; /* lba reg */ } ata; ==== //depot/projects/davidxu_thread/src/sys/dev/ata/ata-lowlevel.c#10 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.59 2005/04/08 09:37:47 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.60 2005/04/14 08:48:45 sos Exp $"); #include "opt_ata.h" #include @@ -391,11 +391,28 @@ /* on control commands read back registers to the request struct */ if (request->flags & ATA_R_CONTROL) { - request->u.ata.count = ATA_IDX_INB(ch, ATA_COUNT); - request->u.ata.lba = ATA_IDX_INB(ch, ATA_SECTOR) | - (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) | - (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16) | - ((ATA_IDX_INB(ch, ATA_DRIVE) & 0x0f) << 24); + if (ch->flags & ATA_48BIT_ACTIVE) { + ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT | ATA_A_HOB); + request->u.ata.count = (ATA_IDX_INB(ch, ATA_COUNT) << 8); + request->u.ata.lba = + ((u_int64_t)(ATA_IDX_INB(ch, ATA_SECTOR)) << 24) | + ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_LSB)) << 32) | + ((u_int64_t)(ATA_IDX_INB(ch, ATA_CYL_MSB)) << 40); + + ATA_IDX_OUTB(ch, ATA_CONTROL, ATA_A_4BIT); + request->u.ata.count |= ATA_IDX_INB(ch, ATA_COUNT); + request->u.ata.lba |= + (ATA_IDX_INB(ch, ATA_SECTOR) | + (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) | + (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16)); + } + else { + request->u.ata.count = ATA_IDX_INB(ch, ATA_COUNT); + request->u.ata.lba = ATA_IDX_INB(ch, ATA_SECTOR) | + (ATA_IDX_INB(ch, ATA_CYL_LSB) << 8) | + (ATA_IDX_INB(ch, ATA_CYL_MSB) << 16) | + ((ATA_IDX_INB(ch, ATA_DRIVE) & 0xf) << 24); + } } /* if we got an error we are done with the HW */ ==== //depot/projects/davidxu_thread/src/sys/dev/pci/pci.c#11 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.287 2005/04/11 02:08:05 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/pci/pci.c,v 1.288 2005/04/14 17:52:55 jhb Exp $"); #include "opt_bus.h" @@ -1011,8 +1011,8 @@ resource_list_init(&dinfo->resources); pci_cfg_save(dinfo->cfg.dev, dinfo, 0); pci_cfg_restore(dinfo->cfg.dev, dinfo); + pci_print_verbose(dinfo); pci_add_resources(pcib, bus, dinfo->cfg.dev); - pci_print_verbose(dinfo); } static int ==== //depot/projects/davidxu_thread/src/sys/dev/ppbus/pps.c#5 (text+ko) ==== @@ -15,7 +15,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ppbus/pps.c,v 1.49 2005/03/17 20:45:24 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ppbus/pps.c,v 1.50 2005/04/14 15:56:10 imp Exp $"); #include #include @@ -206,7 +206,7 @@ /* attach the interrupt handler */ if ((error = bus_setup_intr(ppsdev, sc->intr_resource, (INTR_TYPE_TTY | INTR_MPSAFE | INTR_FAST), ppsintr, - ppsdev, &sc->intr_cookie))) { + sc, &sc->intr_cookie))) { ppb_release_bus(ppbus, ppsdev); return (error); } @@ -279,22 +279,18 @@ static void ppsintr(void *arg) { - device_t ppsdev = (device_t)arg; - struct pps_data *sc = DEVTOSOFTC(ppsdev); - device_t ppbus = sc->ppbus; + struct pps_data *sc = (struct pps_data *)arg; - mtx_lock_spin(&sc->mtx); pps_capture(&sc->pps[0]); - if (!(ppb_rstr(ppbus) & nACK)) { - mtx_unlock_spin(&sc->mtx); + if (!(ppb_rstr(sc->ppbus) & nACK)) return; - } if (sc->pps[0].ppsparam.mode & PPS_ECHOASSERT) - ppb_wctr(ppbus, IRQENABLE | AUTOFEED); + ppb_wctr(sc->ppbus, IRQENABLE | AUTOFEED); + mtx_lock_spin(&sc->mtx); pps_event(&sc->pps[0], PPS_CAPTUREASSERT); + mtx_unlock_spin(&sc->mtx); if (sc->pps[0].ppsparam.mode & PPS_ECHOASSERT) - ppb_wctr(ppbus, IRQENABLE); - mtx_unlock_spin(&sc->mtx); + ppb_wctr(sc->ppbus, IRQENABLE); } static int ==== //depot/projects/davidxu_thread/src/sys/fs/udf/ecma167-udf.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/fs/udf/ecma167-udf.h,v 1.4 2002/09/23 18:54:30 alfred Exp $ + * $FreeBSD: src/sys/fs/udf/ecma167-udf.h,v 1.5 2005/04/14 14:40:09 brueffer Exp $ */ /* ecma167-udf.h */ @@ -314,7 +314,7 @@ uint8_t file_char; uint8_t l_fi; /* Length of file identifier area */ struct long_ad icb; - uint16_t l_iu; /* Length of implementaion use area */ + uint16_t l_iu; /* Length of implementation use area */ uint8_t data[1]; } __packed; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 15 06:51:32 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E79F916A4D1; Fri, 15 Apr 2005 06:51:31 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7C5C316A4CE for ; Fri, 15 Apr 2005 06:51:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3EE0443D1F for ; Fri, 15 Apr 2005 06:51:31 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3F6pVE4037614 for ; Fri, 15 Apr 2005 06:51:31 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3F6pVNd037611 for perforce@freebsd.org; Fri, 15 Apr 2005 06:51:31 GMT (envelope-from jhb@freebsd.org) Date: Fri, 15 Apr 2005 06:51:31 GMT Message-Id: <200504150651.j3F6pVNd037611@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75232 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 06:51:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=75232 Change 75232 by jhb@jhb_slimer on 2005/04/15 06:51:09 Compile. Submitted by: jkoshy Affected files ... .. //depot/projects/smpng/sys/amd64/include/atomic.h#14 edit Differences ... ==== //depot/projects/smpng/sys/amd64/include/atomic.h#14 (text+ko) ==== @@ -202,7 +202,7 @@ atomic_cmpset_rel_##TYPE(volatile u_##TYPE *dst, u_##TYPE exp, u_##TYPE src)\ { \ __asm __volatile(MPSFENCE); \ - return (atomic_cmpset_##TYPE(dst, exp, src); \ + return (atomic_cmpset_##TYPE(dst, exp, src)); \ } \ struct __hack From owner-p4-projects@FreeBSD.ORG Fri Apr 15 09:32:52 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A28616A4D0; Fri, 15 Apr 2005 09:32:52 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4049D16A4CE for ; Fri, 15 Apr 2005 09:32:52 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2601443D39 for ; Fri, 15 Apr 2005 09:32:52 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3F9Wq5R051465 for ; Fri, 15 Apr 2005 09:32:52 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3F9Wp3l051462 for perforce@freebsd.org; Fri, 15 Apr 2005 09:32:51 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 15 Apr 2005 09:32:51 GMT Message-Id: <200504150932.j3F9Wp3l051462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75236 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 09:32:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=75236 Change 75236 by davidxu@davidxu_celeron on 2005/04/15 09:32:16 small tweak. Affected files ... .. //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#14 edit .. //depot/projects/davidxu_thread/src/sys/kern/kern_thread.c#8 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#14 (text+ko) ==== @@ -295,11 +295,10 @@ sched_fork_ksegrp(td, newkg); sched_fork_thread(td, newtd); TD_SET_CAN_RUN(newtd); - if ((uap->flags & THR_SUSPENDED) == 0) + if ((param.flags & THR_SUSPENDED) == 0) setrunqueue(newtd, SRQ_BORING); mtx_unlock_spin(&sched_lock); -out: return (error); } @@ -330,8 +329,10 @@ suword((void *)uap->state, 1); PROC_LOCK(p); + #if 0 SIGFILLSET(td->td_siglist); sigrepost(td); + #endif mtx_lock_spin(&sched_lock); /* * Shutting down last thread in the proc. This will actually ==== //depot/projects/davidxu_thread/src/sys/kern/kern_thread.c#8 (text+ko) ==== @@ -258,6 +258,8 @@ /* * Aggregate stats from the KSE */ + if (p->p_procscopegrp == kg) + p->p_procscopegrp = NULL; } /* From owner-p4-projects@FreeBSD.ORG Fri Apr 15 17:59:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E524E16A4D0; Fri, 15 Apr 2005 17:59:23 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BB6F116A4CE for ; Fri, 15 Apr 2005 17:59:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E38C443D55 for ; Fri, 15 Apr 2005 17:59:22 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FHxMXJ088223 for ; Fri, 15 Apr 2005 17:59:22 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FHxM5b088220 for perforce@freebsd.org; Fri, 15 Apr 2005 17:59:22 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Apr 2005 17:59:22 GMT Message-Id: <200504151759.j3FHxM5b088220@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 Subject: PERFORCE change 75260 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 17:59:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=75260 Change 75260 by peter@peter_overcee on 2005/04/15 17:59:11 IFC @75254 Affected files ... .. //depot/projects/hammer/bin/sh/sh.1#15 integrate .. //depot/projects/hammer/lib/libc/net/getaddrinfo.c#20 integrate .. //depot/projects/hammer/lib/libc/net/gethostbydns.c#10 integrate .. //depot/projects/hammer/lib/libc/net/res_query.c#5 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#91 integrate .. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#12 integrate .. //depot/projects/hammer/sbin/idmapd/idmapd.c#6 integrate .. //depot/projects/hammer/share/man/man9/Makefile#51 integrate .. //depot/projects/hammer/share/man/man9/taskqueue.9#9 integrate .. //depot/projects/hammer/sys/conf/options.i386#32 integrate .. //depot/projects/hammer/sys/conf/options.pc98#29 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.c#46 integrate .. //depot/projects/hammer/sys/dev/ata/ata-all.h#27 integrate .. //depot/projects/hammer/sys/dev/ata/ata-disk.c#30 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cam.c#19 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#26 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-fd.c#13 integrate .. //depot/projects/hammer/sys/dev/ata/atapi-tape.c#16 integrate .. //depot/projects/hammer/sys/dev/pci/pci.c#39 integrate .. //depot/projects/hammer/sys/i386/acpica/madt.c#14 integrate .. //depot/projects/hammer/sys/i386/conf/NOTES#66 integrate .. //depot/projects/hammer/sys/i386/i386/io_apic.c#15 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#50 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#19 integrate .. //depot/projects/hammer/sys/i386/include/apicvar.h#12 integrate .. //depot/projects/hammer/sys/i386/pci/pci_pir.c#8 integrate .. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#11 integrate .. //depot/projects/hammer/sys/kern/sched_4bsd.c#36 integrate .. //depot/projects/hammer/sys/net/if.c#44 integrate .. //depot/projects/hammer/sys/netgraph/ng_echo.c#4 integrate .. //depot/projects/hammer/sys/netinet/ip_fw2.c#52 integrate .. //depot/projects/hammer/sys/netinet/tcp_input.c#47 integrate .. //depot/projects/hammer/sys/netinet/tcp_sack.c#12 integrate .. //depot/projects/hammer/sys/netinet/tcp_var.h#26 integrate .. //depot/projects/hammer/sys/pc98/conf/NOTES#40 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#40 integrate .. //depot/projects/hammer/sys/sys/ata.h#10 integrate .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m1.out#2 integrate .. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.sh#2 integrate .. //depot/projects/hammer/usr.bin/printf/printf.1#6 integrate Differences ... ==== //depot/projects/hammer/bin/sh/sh.1#15 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.99 2005/03/04 13:16:50 keramida Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.100 2005/04/15 14:53:29 keramida Exp $ .\" .Dd July 3, 2004 .Dt SH 1 @@ -196,6 +196,12 @@ Enable asynchronous notification of background job completion. (UNIMPLEMENTED) +.It Fl c Li string +Read commands from the +.Ar string +operand instead of from the standard input. +Keep in mind that this option only accepts a single string as its +argument, hence multi-word strings must be quoted. .It Fl C Li noclobber Do not overwrite existing files with .Dq Li > . @@ -303,13 +309,6 @@ .El .Pp The -.Fl c -option may be used to pass its string argument to the shell -to be interpreted as input. -Keep in mind that this option only accepts a single string as its -argument, hence multi-word strings must be quoted. -.Pp -The .Fl /+o option takes as its only argument the long name of an option to be enabled or disabled. @@ -1643,9 +1642,9 @@ .Pp The following environment variables affect the execution of .Ic fc : -.Bl -tag -width indent +.Bl -tag -width ".Ev HISTSIZE" .It Ev FCEDIT -Name of the editor to use. +Name of the editor to use for history editing. .It Ev HISTSIZE The number of previous commands that are accessible. .El @@ -2051,12 +2050,86 @@ Otherwise the shell will return the exit status of the last command executed, or if the exit builtin is used with a numeric argument, it will return the argument. +.Sh ENVIRONMENT +The following environment variables affect the execution of +.Nm : +.Bl -tag -width ".Ev HISTSIZE" +.It Ev CDPATH +The search path used with the +.Ic cd +built-in. +.It Ev EDITOR +The fallback editor used with the +.Ic fc +built-in. +If not set, the default editor is +.Xr ed 1 . +.It Ev FCEDIT +The default editor used with the +.Ic fc +built-in. +.It Ev HISTSIZE +The number of previous commands that are accessible. +.It Ev HOME +The starting directory of +.Nm . +.It Ev IFS +Input Field Separators. +This is normally set to +.Aq space , +.Aq tab , +and +.Aq newline . +See the +.Sx White Space Splitting +section for more details. +.It Ev MAIL +The name of a mail file, that will be checked for the arrival of new +mail. +Overridden by +.Ev MAILPATH . +.It Ev MAILPATH +A colon +.Pq Ql \&: +separated list of file names, for the shell to check for incoming +mail. +This environment setting overrides the +.Ev MAIL +setting. +There is a maximum of 10 mailboxes that can be monitored at once. +.It Ev PATH +The default search path for executables. +See the +.Sx Path Search +section for details. +.It Ev PS1 +The primary prompt string, which defaults to +.Dq $ \ , +unless you are the superuser, in which case it defaults to +.Dq # \ . +.It Ev PS2 +The secondary prompt string, which defaults to +.Dq \*[Gt] \ . +.It Ev TERM +The default terminal setting for the shell. +This is inherited by children of the shell, and is used in the history +editing modes. +.El .Sh SEE ALSO .Xr builtin 1 , +.Xr chsh 1 , .Xr echo 1 , +.Xr ed 1 , +.Xr emacs 1 , .Xr expr 1 , +.Xr getopt 1 , .Xr pwd 1 , -.Xr test 1 +.Xr test 1 , +.Xr umask 2 , +.Xr vi 1 , +.Xr execve 2 , +.Xr getrlimit 2 , +.Xr editrc 5 .Sh HISTORY A .Nm ==== //depot/projects/hammer/lib/libc/net/getaddrinfo.c#20 (text+ko) ==== @@ -63,7 +63,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.63 2005/04/14 11:44:43 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.64 2005/04/15 14:42:29 ume Exp $"); #include "namespace.h" #include "reentrant.h" @@ -2283,7 +2283,7 @@ /* resolver logic */ -extern const char *__hostalias(const char *); +extern const char *_res_hostalias(const char *, char *, size_t); /* * Formulate a normal query, send, and await answer. @@ -2418,6 +2418,7 @@ u_int dots; int trailing_dot, ret, saved_herrno; int got_nodata = 0, got_servfail = 0, tried_as_is = 0; + char abuf[MAXDNAME]; if ((_res.options & RES_INIT) == 0 && res_init() == -1) { h_errno = NETDB_INTERNAL; @@ -2436,7 +2437,7 @@ /* * if there aren't any dots, it could be a user-level alias */ - if (!dots && (cp = __hostalias(name)) != NULL) + if (!dots && (cp = _res_hostalias(name, abuf, sizeof(abuf))) != NULL) return (res_queryN(cp, target)); /* ==== //depot/projects/hammer/lib/libc/net/gethostbydns.c#10 (text+ko) ==== @@ -58,7 +58,7 @@ static char fromrcsid[] = "From: Id: gethnamaddr.c,v 8.23 1998/04/07 04:59:46 vixie Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.46 2004/07/21 17:26:40 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.47 2005/04/15 14:42:29 ume Exp $"); #include #include @@ -96,6 +96,8 @@ static char hostbuf[8*1024]; static u_char host_addr[16]; /* IPv4 or IPv6 */ +extern const char *_res_hostalias(const char *, char *, size_t); + #ifdef RESOLVSORT static void addrsort(char **, int); #endif @@ -477,6 +479,7 @@ const char *cp; char *bp, *ep; int n, size, type, len; + char abuf[MAXDNAME]; name = va_arg(ap, const char *); af = va_arg(ap, int); @@ -510,7 +513,8 @@ * this is also done in res_query() since we are not the only * function that looks up host names. */ - if (!strchr(name, '.') && (cp = __hostalias(name))) + if (!strchr(name, '.') && + (cp = _res_hostalias(name, abuf, sizeof abuf))) name = cp; /* ==== //depot/projects/hammer/lib/libc/net/res_query.c#5 (text+ko) ==== @@ -73,7 +73,7 @@ static char rcsid[] = "$Id: res_query.c,v 8.14 1997/06/09 17:47:05 halley Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/res_query.c,v 1.29 2004/04/21 09:50:52 ru Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/res_query.c,v 1.30 2005/04/15 14:42:29 ume Exp $"); #include #include @@ -97,6 +97,8 @@ #define MAXPACKET 1024 #endif +const char *_res_hostalias(const char *, char *, size_t); + /* * Formulate a normal query, send, and await answer. * Returned answer is placed in supplied buffer "answer". @@ -193,6 +195,7 @@ int anslen; /* size of answer */ { const char *cp, * const *domain; + char tmp[MAXDNAME]; u_int dots; int trailing_dot, ret, saved_herrno; int got_nodata = 0, got_servfail = 0, tried_as_is = 0; @@ -211,7 +214,7 @@ trailing_dot++; /* If there aren't any dots, it could be a user-level alias */ - if (!dots && (cp = hostalias(name)) != NULL) + if (!dots && (cp = _res_hostalias(name, tmp, sizeof tmp)) != NULL) return (res_query(cp, class, type, answer, anslen)); /* @@ -384,14 +387,11 @@ } const char * -hostalias(name) - const char *name; +_res_hostalias(const char *name, char *dst, size_t siz) { - char *cp1, *cp2; + char *file, *cp1, *cp2; + char buf[BUFSIZ]; FILE *fp; - char *file; - char buf[BUFSIZ]; - static char abuf[MAXDNAME]; if (_res.options & RES_NOALIASES) return (NULL); @@ -413,18 +413,28 @@ ; if (!*cp1) break; - for (cp2 = cp1 + 1; *cp2 && !isspace((unsigned char)*cp2); ++cp2) + for (cp2 = cp1 + 1; *cp2 && + !isspace((unsigned char)*cp2); ++cp2) ; - abuf[sizeof(abuf) - 1] = *cp2 = '\0'; - strncpy(abuf, cp1, sizeof(abuf) - 1); + *cp2 = '\0'; + strncpy(dst, cp1, siz - 1); + dst[siz - 1] = '\0'; fclose(fp); - return (abuf); + return (dst); } } fclose(fp); return (NULL); } +const char * +hostalias(const char *name) +{ + static char abuf[MAXDNAME]; + + return (_res_hostalias(name, abuf, sizeof abuf)); +} + /* * Weak aliases for applications that use certain private entry points, * and fail to include . ==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#91 (text+ko) ==== @@ -3,7 +3,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.843 2005/04/06 19:58:22 hrs Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.844 2005/04/15 14:27:26 simon Exp $ 2000 @@ -150,6 +150,12 @@ FreeBSD-SA-05:03.amd64. &merged; + An information leak vulnerability in the + SIOCGIFCONF &man.ioctl.2;, which leaked 12 + bytes of kernel memory, has been fixed. More details are in security advisory + FreeBSD-SA-05:04.ifconf. + &merged; + ==== //depot/projects/hammer/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#12 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -11,7 +11,7 @@ ðÒÏÅËÔ &os; - $FreeBSD: src/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.16 2005/03/22 07:43:31 den Exp $ + $FreeBSD: src/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.18 2005/04/15 13:11:53 den Exp $ 2000 @@ -109,7 +109,7 @@ ïÂÙÞÎÏ × ÉÎÆÏÒÍÁÃÉÉ Ï ÒÅÌÉÚÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏ ×ËÌÀÞÅÎÙ ÐÏÓÌÅÄÎÉÅ ÓÏÏÂÝÅÎÉÑ ÂÅÚÏÐÁÓÎÏÓÔÉ, ×ÙÐÕÝÅÎÎÙÅ ÐÏÓÌÅ - &release.prev.historic;, ÉÎÆÏÒÍÁÃÉÑ Ï ÐÏÄÄÅÒÖËÉ ÎÏ×ÙÈ ÄÒÁÊ×ÅÒÏ× ÉÌÉ + &release.prev.historic;, ÉÎÆÏÒÍÁÃÉÑ Ï ÐÏÄÄÅÒÖËÅ ÎÏ×ÙÈ ÄÒÁÊ×ÅÒÏ× ÉÌÉ ÏÂÏÒÕÄÏ×ÁÎÉÑ, ÎÏ×ÙÈ ËÏÍÁÎÄ ÉÌÉ ÐÁÒÁÍÅÔÒÏ×, ÉÎÆÏÒÍÁÃÉÑ Ï ÏÓÎÏ×ÎÙÈ ÉÓÐÒÁ×ÌÅÎÉÑÈ ÏÛÉÂÏË, ÉÌÉ ÏÂÎÏ×ÌÅÎÉÑÈ ÓÔÏÒÏÎÎÅÇÏ ÐÒÏÇÒÁÍÍÎÏÇÏ ÏÂÅÓÐÅÞÅÎÉÑ. ÷ ÎÅÍ ÍÏÇÕÔ ÔÁËÖÅ ÐÅÒÅÞÉÓÌÑÔØÓÑ ÉÚÍÅÎÅÎÉÑ ×ÁÖÎÅÊÛÉÈ @@ -135,6 +135,30 @@ FreeBSD-SA-04:17.procfs. &merged; + ÷ ËÌÉÅÎÔÅ TELNET ÂÙÌÉ ÉÓÐÒÁ×ÌÅÎÙ Ä×Å ÏÛÉÂËÉ ÐÅÒÅÐÏÌÎÅÎÉÑ ÂÕÆÅÒÁ. + ïÎÉ ÍÏÇÕÔ ÐÏÚ×ÏÌÉÔØ ÚÌÏÎÁÍÅÒÅÎÎÏÍÕ ÓÅÒ×ÅÒÕ TELNET ÉÌÉ ÁËÔÉ×ÎÏÍÕ + ÁÔÁËÕÀÝÅÍÕ × ÓÅÔÉ ÍÅÖÄÕ ËÌÉÅÎÔÏÍ É ÓÅÒ×ÅÒÏÍ ÚÁÓÔÁ×ÉÔØ + &man.telnet.1; ×ÙÐÏÌÎÉÔØ ÐÒÏÉÚ×ÏÌØÎÙÊ ËÏÄ Ó ÐÒÉ×ÉÌÅÇÉÑÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑ, + ÚÁÐÕÓÔÉ×ÛÅÇÏ ËÌÉÅÎÔ. + úÁ ÄÁÌØÎÅÊÛÅÊ ÉÎÆÏÒÍÁÃÉÅÊ ÏÂÒÁÝÁÊÔÅÓØ Ë ÓÏÏÂÝÅÎÉÀ ÂÅÚÏÐÁÓÎÏÓÔÉ + FreeBSD-SA-05:01.telnet. + &merged; + + ÷ ÓÉÓÔÅÍÎÏÍ ×ÙÚÏ×Å &man.sendfile.2; ÂÙÌÁ ÉÓÐÒÁ×ÌÅÎÁ ÏÛÉÂËÁ, + Ó×ÑÚÁÎÎÁÑ Ó ÒÁÓËÒÙÔÉÅÍ ÉÎÆÏÒÍÁÃÉÉ, ËÏÔÏÒÁÑ ÍÏÇÌÁ ÐÏÚ×ÏÌÉÔØ ÐÅÒÅÄÁÞÕ + ÐÒÏÉÚ×ÏÌØÎÙÈ ÞÁÓÔÅÊ ÐÁÍÑÔÉ ÑÄÒÁ. + úÁ ÄÁÌØÎÅÊÛÅÊ ÉÎÆÏÒÍÁÃÉÅÊ ÏÂÒÁÝÁÊÔÅÓØ Ë ÓÏÏÂÝÅÎÉÀ ÂÅÚÏÐÁÓÎÏÓÔÉ + FreeBSD-SA-05:02.sendfile. + &merged; + + âÙÌÏ ÉÓÐÒÁ×ÌÅÎÏ ×ÏÚÍÏÖÎÏÅ ÒÁÓÛÉÒÅÎÉÅ ÐÒÉ×ÉÌÅÇÉÊ × &os;/amd64. + ïÛÉÂËÁ ÐÏÚ×ÏÌÑÌÁ ÎÅÐÒÉ×ÉÌÅÇÉÒÏ×ÁÎÎÙÍ ÐÏÌØÚÏ×ÁÔÅÌÑÍ ÐÏÌÕÞÁÔØ ÐÒÑÍÏÊ + ÄÏÓÔÕÐ Ë ÎÅËÏÔÏÒÏÍÕ ÏÂÏÒÕÄÏ×ÁÎÉÀ, ÄÏÓÔÕÐ Ë ËÏÔÏÒÏÍÕ ÎÅ ÍÏÇ ÂÙÔØ + ÐÏÌÕÞÅÎ ÂÅÚ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÕÒÏ×ÎÑ ÐÒÉ×ÉÌÅÇÉÊ. + úÁ ÄÁÌØÎÅÊÛÅÊ ÉÎÆÏÒÍÁÃÉÅÊ ÏÂÒÁÝÁÊÔÅÓØ Ë ÓÏÏÂÝÅÎÉÀ ÂÅÚÏÐÁÓÎÏÓÔÉ + FreeBSD-SA-05:03.amd64. + &merged; + @@ -160,7 +184,7 @@ root ×ÎÕÔÒÉ jail É ×ÎÅ jail ÎÅ ÄÅÌÁÅÔÓÑ. &merged; - ðÅÒÅÍÅÎÎÁÑ ÚÁÇÒÕÚÞÉËÁ + ðÅÒÅÍÅÎÎÁÑ ÚÁÇÒÕÚÞÉËÁ debug.mpsafevm ÂÙÌÁ ×ËÌÀÞÅÎÁ ÐÏ ÕÍÏÌÞÁÎÉÀ. &merged; @@ -379,6 +403,9 @@ äÒÁÊ×ÅÒ &man.bge.4; ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÎÆÒÁÓÔÒÕËÔÕÒÕ &man.altq.4;. + âÙÌ ÄÏÂÁ×ÌÅÎ USB Communication Device Class Ethernet + ÄÒÁÊ×ÅÒ &man.cdce.4;. &merged; + äÒÁÊ×ÅÒ &man.cp.4; ÔÅÐÅÒØ MPSAFE. &merged; äÒÁÊ×ÅÒ &man.ctau.4; ÔÅÐÅÒØ MPSAFE. &merged; @@ -405,6 +432,8 @@ äÒÁÊ×ÅÒ &man.hme.4; ÔÅÐÅÒØ MPSAFE. &merged; + äÒÁÊ×ÅÒ &man.ixgb.4; ÔÅÐÅÒØ MPSAFE. + ëÏÎ×ÅÒÔÅÒ ÄÒÁÊ×ÅÒÏ× ÕÓÔÒÏÊÓÔ× &man.ndis.4; ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÂÉÎÁÒÎÙÅ ÆÁÊÌÙ &windows;/x86-64 ÎÁ ÓÉÓÔÅÍÁÈ amd64. &merged; @@ -442,6 +471,9 @@ (ÉÌÉ ËÏÍÐÉÌÑÃÉÑ) ÍÏÄÕÌÑ wlan_wep × ÑÄÒÏ. + äÒÁÊ×ÅÒ &man.xl.4; ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ + &man.polling.4;. + @@ -563,6 +595,10 @@ äÒÁÊ×ÅÒ &man.amr.4; ÔÅÐÅÒØ ÍÏÖÅÔ ÂÅÚÏÐÁÓÎÏ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÎÁ ÓÉÓÔÅÍÁÈ Ó &man.pae.4;. &merged; + âÙÌ ÄÏÂÁ×ÌÅÎ ÄÒÁÊ×ÅÒ &man.arcmsr.4;. + ïÎ ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÏÎÔÒÏÌÌÅÒÙ SATA RAID ÓÅÒÉÊ Areca ARC-11xx + É ARC-12xx. &merged; + âÙÌ ÄÏÂÁ×ÌÅÎ ËÌÁÓÓ SHSEC GEOM. ïÎ ÐÒÅÄÏÓÔÁ×ÌÅÎ ÄÌÑ ÒÁÚÄÅÌÅÎÉÑ ÓÅËÒÅÔÎÏÇÏ ËÌÀÞÁ (secret) ÍÅÖÄÕ ÎÅÓËÏÌØËÉÍÉ ÐÒÏ×ÁÊÄÅÒÁÍÉ GEOM. ÷ÓÅ ÜÔÉ ÐÒÏ×ÁÊÄÅÒÙ @@ -680,12 +716,20 @@ äÉÓËÏ×ÙÊ ÆÏÒÍÁÔ ÆÁÊÌÏ× LC_CTYPE ÂÙÌ ÉÚÍÅÎÅÎ Ë ÍÁÛÉÎÏ-ÎÅÚÁ×ÉÓÉÍÏÍÕ ×ÉÄÕ. + âÙÌÁ ÉÓÐÒÁ×ÌÅÎÁ ÏÛÉÂËÁ × ÂÉÂÌÉÏÔÅËÅ libalias, + ÐÒÉ×ÏÄÉ×ÛÁÑ Ë ÄÁÍÐÕ ÐÁÍÑÔÉ ÐÒÉ ÕËÁÚÁÎÉÉ × &man.natd.8; + ÏÐÃÉÉ . + âÉÂÌÉÏÔÅËÁ libarchive (ËÁË É ËÏÍÁÎÄÁ &man.tar.1;, ÅÅ ÉÓÐÏÌØÚÕÀÝÁÑ) ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÞÔÅÎÉÅ ÏÂÒÁÚÏ× ISO (Ó ÏÐÃÉÏÎÁÌØÎÙÍ ÒÁÓÛÉÒÅÎÉÅÍ RockRidge) É ÁÒÈÉ×Ï× ZIP (ÓÏ ÓÖÁÔÉÅÍ deflate É none). &merged; + âÉÂÌÉÏÔÅËÁ libarchive ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ + ZIP ÁÒÈÉ×Ù Ó ×ÈÏÖÄÅÎÉÑÍÉ ÂÏÌÅÅ 4GB × ÕÐÁËÏ×ÁÎÎÏÍ ×ÉÄÅ (ÒÁÓÛÉÒÅÎÉÅ + ZIP64) É ÒÁÓÛÉÒÅÎÉÅ Unix. + âÙÌÁ ÄÏÂÁ×ÌÅÎÁ ÂÉÂÌÉÏÔÅËÁ libgpib, ÞÔÏÂÙ ÐÒÅÄÏÓÔÁ×ÉÔØ ÄÏÓÔÕÐ ÕÒÏ×ÎÑ ÐÏÌØÚÏ×ÁÔÅÌÑ Ë ÕÓÔÒÏÊÓÔ×ÁÍ GPIB (ÉÓÐÏÌØÚÕÑ ÄÒÁÊ×ÅÒ pcii) ÞÅÒÅÚ @@ -837,6 +881,13 @@ õÔÉÌÉÔÙ &man.rescue.8; × ËÁÔÁÌÏÇÅ /rescue ÔÅÐÅÒØ ×ËÌÀÞÁÀÔ &man.bsdtar.1; ×ÍÅÓÔÏ GNU tar. + õÔÉÌÉÔÁ &man.restore.8; ÏÐÑÔØ ÍÏÖÅÔ ÞÉÔÁÔØ ÌÅÎÔÙ Ó ÄÁÍÐÁÍÉ + &os; ×ÅÒÓÉÉ 1. + + âÙÌÁ ÉÓÐÒÁ×ÌÅÎÁ ÏÛÉÂËÁ × ÕÔÉÌÉÔÅ &man.rexecd.8;, ÉÚ-ÚÁ + ËÏÔÏÒÏÊ ÓÞÉÔÁÌÏÓØ, ÞÔÏ ÏÐÃÉÑ ×ÓÅÇÄÁ + ÕËÁÚÁÎÁ. &merged; + õÔÉÌÉÔÁ &man.rm.1; ÔÅÐÅÒØ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÐÁÒÁÍÅÔÒ , Ó ËÏÔÏÒÙÍ (ÏÄÎÏËÒÁÔÎÏ) ÚÁÐÒÁÛÉ×ÁÅÔÓÑ ÐÏÄÔ×ÅÒÖÄÅÎÉÅ ÐÒÉ ÒÅËÕÒÓÉ×ÎÏÍ ÕÄÁÌÅÎÉÉ ËÁÔÁÌÏÇÏ× ÉÌÉ @@ -913,7 +964,7 @@ âÙÌÁ ÉÓÐÒÁ×ÌÅÎÁ ÏÛÉÂËÁ ÞÔÅÎÉÑ ÆÁÊÌÏ× ËÏÎÆÉÇÕÒÁÃÉÉ, ÔÁËÉÈ ËÁË &man.hosts.5;, &man.services.5; É ÔÁË ÄÁÌÅÅ, ËÏÔÏÒÙÅ - ÎÅ ÚÁËÁÎÞÉ×ÁÌÉÓØ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ. + ÎÅ ÚÁËÁÎÞÉ×ÁÌÉÓØ ÓÉÍ×ÏÌÏÍ ÎÏ×ÏÊ ÓÔÒÏËÉ. &merged; óËÒÉÐÔÙ <filename>/etc/rc.d</filename> @@ -957,7 +1008,7 @@ óÔÏÒÏÎÎÅÅ ÐÒÏÇÒÁÍÍÎÏÅ ÏÂÅÓÐÅÞÅÎÉÅ BIND ÂÙÌ ÏÂÎÏ×ÌÅÎ Ó ×ÅÒÓÉÉ - 9.3.0 ÄÏ ×ÅÒÓÉÉ 9.3.1. + 9.3.0 ÄÏ ×ÅÒÓÉÉ 9.3.1. &merged; FILE ÂÙÌ ÏÂÎÏ×ÌÅÎ Ó 4.10 ÄÏ 4.12. @@ -1045,7 +1096,10 @@ ËÁË ÕÓÔÁÎÏ×ËÕ Ó ÜÔÏÇÏ ÄÉÓËÁ, ÔÁË É ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ ÐÏÓÌÅ ÓÂÏÅ×. (îÁ ia64, live filesystem ÎÁÈÏÄÉÔÓÑ ÎÁ ÏÔÄÅÌØÎÏÍ ÄÉÓËÅ, ÐÏÓËÏÌØËÕ ÎÅ ÕÍÅÝÁÅÔÓÑ ÎÁ ÐÅÒ×ÙÊ). ðÁËÅÔÙ ÐÏÍÅÝÁÀÔÓÑ - ÎÁ ÏÔÄÅÌØÎÙÊ ÄÉÓË. &merged; + ÎÁ ÏÔÄÅÌØÎÙÊ ÄÉÓË; × ÞÁÓÔÎÏÓÔÉ, ÏÂÒÁÚ disc2 + ÓÏÄÅÒÖÉÔ ÏÂÝÅÉÓÐÏÌØÚÕÅÍÙÅ ÐÁËÅÔÙ, ÔÁËÉÅ ËÁË ÄÅÓËÔÏÐ-ÐÒÉÌÏÖÅÎÉÑ. + äÏËÕÍÅÎÔÙ ðÒÏÅËÔÁ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÑ &os; ÔÁËÖÅ ÐÏÍÅÝÁÀÔÓÑ ÎÁ + disc2. &merged; ðÏÄÄÅÒÖÉ×ÁÅÍÁÑ ×ÅÒÓÉÑ ÄÅÓËÔÏÐÁ GNOME ÂÙÌÁ ÏÂÎÏ×ÌÅÎÁ Ó @@ -1112,7 +1166,7 @@ &man.inet6.rth.space.3;, &man.inet6.rthdr.space.3;, &man.icmp6.4; É - &man.ip6.4;. + &man.ip6.4;. &merged; ==== //depot/projects/hammer/sbin/idmapd/idmapd.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.5 2004/04/15 16:12:12 rees Exp $ */ +/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.6 2005/04/14 20:27:30 rees Exp $ */ /* $Id: idmapd.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */ /* @@ -339,12 +339,6 @@ TAILQ_INIT(&upcall_q); - if (error) { - perror("sigaction"); - exit(1); - } - - fd = open(DEV_PATH, O_RDWR, S_IRUSR | S_IWUSR); if (fd < 0) { ==== //depot/projects/hammer/share/man/man9/Makefile#51 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.256 2005/04/09 18:38:54 pjd Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.257 2005/04/15 10:57:34 pjd Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -795,11 +795,16 @@ runqueue.9 procrunnable.9 \ runqueue.9 remrunqueue.9 \ runqueue.9 setrunqueue.9 -MLINKS+=sbuf.9 sbuf_cat.9 \ +MLINKS+=sbuf.9 sbuf_bcat.9 \ + sbuf.9 sbuf_bcopyin.9 \ + sbuf.9 sbuf_bcpy.9 \ + sbuf.9 sbuf_cat.9 \ sbuf.9 sbuf_clear.9 \ + sbuf.9 sbuf_copyin.9 \ sbuf.9 sbuf_cpy.9 \ sbuf.9 sbuf_data.9 \ sbuf.9 sbuf_delete.9 \ + sbuf.9 sbuf_done.9 \ sbuf.9 sbuf_finish.9 \ sbuf.9 sbuf_len.9 \ sbuf.9 sbuf_new.9 \ ==== //depot/projects/hammer/share/man/man9/taskqueue.9#9 (text+ko) ==== @@ -26,7 +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. .\" -.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.14 2005/01/12 21:48:25 ru Exp $ +.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.15 2005/04/15 14:46:59 jkoshy Exp $ .\" .Dd May 12, 2000 .Dt TASKQUEUE 9 @@ -231,6 +231,10 @@ that need to call kernel functions that do things that can only be done from a thread context. (e.g., call malloc with the M_WAITOK flag.) +.Sh SEE ALSO +.Xr ithread 9 , +.Xr kthread 9 , +.Xr swi 9 .Sh HISTORY This interface first appeared in .Fx 5.0 . ==== //depot/projects/hammer/sys/conf/options.i386#32 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.i386,v 1.218 2005/03/17 01:20:49 cognet Exp $ +# $FreeBSD: src/sys/conf/options.i386,v 1.219 2005/04/14 17:59:57 jhb Exp $ # Options specific to the i386 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -9,7 +9,6 @@ I586_PMC_GUPROF opt_i586_guprof.h MAXMEM MPTABLE_FORCE_HTT -NO_MIXED_MODE PERFMON PMAP_SHPGPERPROC opt_pmap.h POWERFAIL_NMI opt_trap.h ==== //depot/projects/hammer/sys/conf/options.pc98#29 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.pc98,v 1.182 2005/02/04 15:29:54 nyan Exp $ +# $FreeBSD: src/sys/conf/options.pc98,v 1.183 2005/04/15 14:24:49 nyan Exp $ # Options specific to the pc98 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -8,7 +8,6 @@ I586_PMC_GUPROF opt_i586_guprof.h MAXMEM MPTABLE_FORCE_HTT -NO_MIXED_MODE PERFMON PMAP_SHPGPERPROC opt_pmap.h POWERFAIL_NMI opt_trap.h ==== //depot/projects/hammer/sys/dev/ata/ata-all.c#46 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.239 2005/04/08 09:37:47 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.241 2005/04/15 14:19:41 sos Exp $"); #include "opt_ata.h" #include @@ -68,7 +68,8 @@ /* prototypes */ static void ata_interrupt(void *); static void ata_boot_attach(void); -device_t ata_add_child(driver_t *driver, device_t parent, struct ata_device *atadev, const char *name, int unit); +device_t ata_add_child(device_t parent, struct ata_device *atadev, int unit); +static int ata_identify(device_t dev); /* global vars */ MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer"); @@ -147,8 +148,7 @@ return 0; /* probe and attach devices on this channel */ - bus_generic_probe(dev); - bus_generic_attach(dev); + ata_identify(dev); return 0; } @@ -171,9 +171,6 @@ free(children, M_TEMP); } - /* fail outstanding requests on this channel (SOS shouldn't be any XXX ) */ - ata_fail_requests(ch, NULL); - /* release resources */ bus_teardown_intr(dev, ch->r_irq, ch->ih); bus_release_resource(dev, SYS_RES_IRQ, ATA_IRQ_RID, ch->r_irq); @@ -558,8 +555,7 @@ /* kick of probe and attach on all channels */ for (ctlr = 0; ctlr < devclass_get_maxunit(ata_devclass); ctlr++) { if ((ch = devclass_get_softc(ata_devclass, ctlr))) { - bus_generic_probe(ch->dev); - bus_generic_attach(ch->dev); + ata_identify(ch->dev); } } } @@ -568,16 +564,14 @@ * misc support functions */ device_t -ata_add_child(driver_t *driver, device_t parent, struct ata_device *atadev, - const char *name, int unit) +ata_add_child(device_t parent, struct ata_device *atadev, int unit) { struct ata_channel *ch = device_get_softc(parent); device_t child; - if ((child = device_add_child(parent, name, unit))) { + if ((child = device_add_child(parent, NULL, unit))) { char buffer[64]; - device_set_driver(child, driver); device_set_softc(child, atadev); sprintf(buffer, "%.40s/%.8s", atadev->param.model, atadev->param.revision); @@ -586,7 +580,7 @@ atadev->dev = child; atadev->max_iosize = DEV_BSIZE; atadev->mode = ATA_PIO_MAX; - if ((atadev->param.config & ATA_PROTO_MASK) == ATA_PROTO_ATAPI_12) { + if (atadev->param.config & ATA_PROTO_ATAPI) { if (atapi_dma && ch->dma && (atadev->param.config & ATA_DRQ_MASK) != ATA_DRQ_INTR && ata_umode(&atadev->param) >= ATA_UDMA2) @@ -600,30 +594,30 @@ return child; } -void -ata_identify(driver_t *driver, device_t parent, int type, const char *name) +static int +ata_identify(device_t dev) { - struct ata_channel *ch = device_get_softc(parent); + struct ata_channel *ch = device_get_softc(dev); struct ata_device *master, *slave; int master_res = EIO, slave_res = EIO, master_unit = -1, slave_unit = -1; if (!(master = malloc(sizeof(struct ata_device), M_ATA, M_NOWAIT | M_ZERO))) { - device_printf(parent, "out of memory\n"); - return; + device_printf(dev, "out of memory\n"); + return ENOMEM; } master->unit = ATA_MASTER; if (!(slave = malloc(sizeof(struct ata_device), M_ATA, M_NOWAIT | M_ZERO))) { free(master, M_ATA); - device_printf(parent, "out of memory\n"); - return; + device_printf(dev, "out of memory\n"); + return ENOMEM; } slave->unit = ATA_SLAVE; /* wait for the channel to be IDLE then grab it before touching HW */ - while (ATA_LOCKING(parent, ATA_LF_LOCK) != ch->unit) - tsleep(ch, PRIBIO, "ataidnt2", 1); + while (ATA_LOCKING(dev, ATA_LF_LOCK) != ch->unit) + tsleep(ch, PRIBIO, "ataidnt1", 1); while (1) { mtx_lock(&ch->state_mtx); if (ch->state == ATA_IDLE) { @@ -632,40 +626,41 @@ break; } mtx_unlock(&ch->state_mtx); - tsleep(ch, PRIBIO, "ataidnt1", 1); + tsleep(ch, PRIBIO, "ataidnt2", 1); } - if (type < 0) { - if (ch->devices & ATA_ATA_SLAVE) - slave_res = ata_getparam(parent, slave, ATA_ATA_IDENTIFY); - if (ch->devices & ATA_ATA_MASTER) - master_res = ata_getparam(parent, master, ATA_ATA_IDENTIFY); + if (ch->devices & ATA_ATA_SLAVE) { + slave_res = ata_getparam(dev, slave, ATA_ATA_IDENTIFY); #ifdef ATA_STATIC_ID - master_unit = (device_get_unit(parent) << 1); - slave_unit = (device_get_unit(parent) << 1) + 1; + slave_unit = (device_get_unit(dev) << 1) + 1; #endif } - else { - if (ch->devices & ATA_ATAPI_SLAVE) - slave_res = ata_getparam(parent, slave, ATA_ATAPI_IDENTIFY); - if (ch->devices & ATA_ATAPI_MASTER) - master_res = ata_getparam(parent, master, ATA_ATAPI_IDENTIFY); + else if (ch->devices & ATA_ATAPI_SLAVE) + slave_res = ata_getparam(dev, slave, ATA_ATAPI_IDENTIFY); + + if (ch->devices & ATA_ATA_MASTER) { + master_res = ata_getparam(dev, master, ATA_ATA_IDENTIFY); +#ifdef ATA_STATIC_ID + master_unit = (device_get_unit(dev) << 1); +#endif } + else if (ch->devices & ATA_ATAPI_MASTER) + master_res = ata_getparam(dev, master, ATA_ATAPI_IDENTIFY); - if (master_res || - !(type < 0 || (master->param.config & ATA_ATAPI_TYPE_MASK) == type) || - !ata_add_child(driver, parent, master, name, master_unit)) + if (master_res || !ata_add_child(dev, master, master_unit)) free(master, M_ATA); - if (slave_res || - !(type < 0 || (slave->param.config & ATA_ATAPI_TYPE_MASK) == type) || - !ata_add_child(driver, parent, slave, name, slave_unit)) + if (slave_res || !ata_add_child(dev, slave, slave_unit)) free(slave, M_ATA); mtx_lock(&ch->state_mtx); ch->state = ATA_IDLE; mtx_unlock(&ch->state_mtx); - ATA_LOCKING(parent, ATA_LF_UNLOCK); + ATA_LOCKING(dev, ATA_LF_UNLOCK); + + bus_generic_probe(dev); + bus_generic_attach(dev); + return 0; } void ==== //depot/projects/hammer/sys/dev/ata/ata-all.h#27 (text+ko) ==== @@ -25,7 +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. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.92 2005/04/14 08:48:45 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.93 2005/04/15 10:20:51 sos Exp $ */ /* ATA register defines */ @@ -452,7 +452,6 @@ int ata_reinit(device_t dev); int ata_suspend(device_t dev); int ata_resume(device_t dev); -void ata_identify(driver_t *driver, device_t parent, int type, const char *name); void ata_default_registers(struct ata_channel *ch); void ata_udelay(int interval); char *ata_mode2str(int mode); ==== //depot/projects/hammer/sys/dev/ata/ata-disk.c#30 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.184 2005/03/31 15:05:40 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.185 2005/04/15 10:20:51 sos Exp $"); #include "opt_ata.h" #include @@ -66,16 +66,15 @@ /* local vars */ static MALLOC_DEFINE(M_AD, "AD driver", "ATA disk driver"); -static void -ad_identify(driver_t *driver, device_t parent) -{ - ata_identify(driver, parent, -1, "ad"); -} - static int ad_probe(device_t dev) { - return 0; + struct ata_device *atadev = device_get_softc(dev); + + if (!(atadev->param.config & ATA_PROTO_ATAPI)) + return 0; + else + return ENXIO; } static int @@ -93,8 +92,6 @@ if (!(adp = malloc(sizeof(struct ad_softc), M_AD, M_NOWAIT | M_ZERO))) { device_printf(dev, "out of memory\n"); - device_set_softc(dev, NULL); - free(atadev, M_ATA); return ENOMEM; } device_set_ivars(dev, adp); @@ -161,7 +158,6 @@ ad_detach(device_t dev) { struct ata_channel *ch = device_get_softc(device_get_parent(dev)); - struct ata_device *atadev = device_get_softc(dev); struct ad_softc *adp = device_get_ivars(dev); device_t *children; int nchildren, i; @@ -187,8 +183,6 @@ /* dont leave anything behind */ device_set_ivars(dev, NULL); free(adp, M_AD); - device_set_softc(dev, NULL); - free(atadev, M_ATA); return 0; } @@ -419,7 +413,6 @@ static device_method_t ad_methods[] = { /* device interface */ - DEVMETHOD(device_identify, ad_identify), DEVMETHOD(device_probe, ad_probe), DEVMETHOD(device_attach, ad_attach), DEVMETHOD(device_detach, ad_detach), @@ -439,22 +432,6 @@ devclass_t ad_devclass; -static int -ad_modevent(module_t mod, int what, void *arg) -{ - device_t *devs; - int ndevs, i; - - if (what == MOD_UNLOAD) { - if (!devclass_get_devices(ad_devclass, &devs, &ndevs) && devs) { - for (i = 0; i < ndevs; i++) - device_delete_child(device_get_parent(devs[i]), devs[i]); - free(devs, M_TEMP); - } - } - return 0; -} - -DRIVER_MODULE(ad, ata, ad_driver, ad_devclass, ad_modevent, NULL); +DRIVER_MODULE(ad, ata, ad_driver, ad_devclass, NULL, NULL); MODULE_VERSION(ad, 1); MODULE_DEPEND(ad, ata, 1, 1, 1); ==== //depot/projects/hammer/sys/dev/ata/atapi-cam.c#19 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.39 2005/04/08 22:51:50 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.40 2005/04/15 10:20:51 sos Exp $"); #include #include @@ -90,7 +90,7 @@ enum reinit_reason { BOOT_ATTACH, ATTACH, RESET }; /* Device methods */ -static int atapi_cam_identify(device_t *dev, device_t parent); +static void atapi_cam_identify(device_t *dev, device_t parent); static int atapi_cam_probe(device_t dev); static int atapi_cam_attach(device_t dev); static int atapi_cam_detach(device_t dev); @@ -102,6 +102,9 @@ static void atapi_async(void *, u_int32_t, struct cam_path *, void *); static void atapi_cb(struct ata_request *); +/* Module methods */ +static int atapi_cam_event_handler(module_t mod, int what, void *arg); + /* internal functions */ static void reinit_bus(struct atapi_xpt_softc *scp, enum reinit_reason reason); static void setup_async_cb(struct atapi_xpt_softc *, uint32_t); @@ -130,24 +133,52 @@ }; >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 15 18:18:47 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7A14416A4D0; Fri, 15 Apr 2005 18:18:47 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AA2216A4CE for ; Fri, 15 Apr 2005 18:18:47 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B2D4B43D46 for ; Fri, 15 Apr 2005 18:18:46 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FIIkVb089001 for ; Fri, 15 Apr 2005 18:18:46 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FIIkRp088998 for perforce@freebsd.org; Fri, 15 Apr 2005 18:18:46 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Apr 2005 18:18:46 GMT Message-Id: <200504151818.j3FIIkRp088998@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 Subject: PERFORCE change 75261 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 18:18:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=75261 Change 75261 by peter@peter_overcee on 2005/04/15 18:18:27 Integ -b i386_hammer (pick up mixed_mode changes) Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#39 integrate .. //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#31 integrate .. //depot/projects/hammer/sys/amd64/amd64/genassym.c#38 integrate .. //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#36 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#38 integrate .. //depot/projects/hammer/sys/amd64/amd64/local_apic.c#48 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#123 integrate .. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#89 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#40 integrate .. //depot/projects/hammer/sys/amd64/amd64/sys_machdep.c#20 integrate .. //depot/projects/hammer/sys/amd64/amd64/trap.c#57 integrate .. //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#69 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#62 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#31 integrate .. //depot/projects/hammer/sys/amd64/include/clock.h#16 integrate .. //depot/projects/hammer/sys/amd64/include/pc/display.h#6 integrate .. //depot/projects/hammer/sys/amd64/include/pcb.h#22 integrate .. //depot/projects/hammer/sys/amd64/include/pcpu.h#23 integrate .. //depot/projects/hammer/sys/amd64/include/segments.h#19 integrate .. //depot/projects/hammer/sys/amd64/include/sysarch.h#17 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#38 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#39 (text+ko) ==== @@ -367,8 +367,6 @@ } /* First, we run through adding I/O APIC's. */ - if (madt->PCATCompat && !(acpi_quirks & ACPI_Q_MADT_IRQ0)) - ioapic_enable_mixed_mode(); madt_walk_table(madt_parse_apics, NULL); /* Second, we run through the table tweaking interrupt sources. */ ==== //depot/projects/hammer/sys/amd64/amd64/cpu_switch.S#31 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/genassym.c#38 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/intr_machdep.c#36 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#38 (text+ko) ==== @@ -32,7 +32,6 @@ #include "opt_atpic.h" #include "opt_isa.h" -#include "opt_no_mixed_mode.h" #include #include @@ -62,7 +61,6 @@ #define VECTOR_DISABLED 255 #define DEST_NONE -1 -#define DEST_EXTINT -2 #define TODO printf("%s: not implemented!\n", __func__) @@ -83,15 +81,6 @@ * IO APIC has a contiguous chunk of the System Interrupt address space. */ -/* - * Direct the ExtINT pin on the first I/O APIC to a logical cluster of - * CPUs rather than a physical destination of just the BSP. - * - * Note: This is disabled by default as test systems seem to croak with it - * enabled. -#define ENABLE_EXTINT_LOGICAL_DESTINATION - */ - struct ioapic_intsrc { struct intsrc io_intsrc; u_int io_intpin:8; @@ -130,7 +119,6 @@ static void ioapic_resume(struct intsrc *isrc); static void ioapic_program_destination(struct ioapic_intsrc *intpin); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); -static void ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); struct pic ioapic_template = { ioapic_enable_source, ioapic_disable_source, @@ -140,13 +128,7 @@ ioapic_config_intr }; static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; -static u_int mixed_mode_enabled, next_id, program_logical_dest; -#if defined(NO_MIXED_MODE) || !defined(DEV_ATPIC) -static int mixed_mode_active = 0; -#else -static int mixed_mode_active = 1; -#endif -TUNABLE_INT("hw.apic.mixed_mode", &mixed_mode_active); +static u_int next_id, program_logical_dest; static __inline void _ioapic_eoi_source(struct intsrc *isrc) @@ -270,12 +252,8 @@ struct ioapic *io = (struct ioapic *)intpin->io_intsrc.is_pic; uint32_t low, high, value; - /* - * For pins routed via mixed mode or disabled, just ensure that - * they are masked. - */ - if (intpin->io_dest == DEST_EXTINT || - intpin->io_vector == VECTOR_DISABLED) { + /* For disabled pins, just ensure that they are masked. */ + if (intpin->io_vector == VECTOR_DISABLED) { low = ioapic_read(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin)); if ((low & IOART_INTMASK) == IOART_INTMCLR) @@ -346,8 +324,6 @@ KASSERT(intpin->io_dest != DEST_NONE, ("intpin not assigned to a cluster")); - KASSERT(intpin->io_dest != DEST_EXTINT, - ("intpin routed via ExtINT")); if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -383,8 +359,6 @@ { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; - KASSERT(intpin->io_dest != DEST_EXTINT, - ("ExtINT pin trying to use ioapic enable_intr method")); if (intpin->io_dest == DEST_NONE) { ioapic_assign_cluster(intpin); lapic_enable_intr(intpin->io_vector); @@ -465,17 +439,6 @@ } /* - * APIC enumerators call this function to indicate that the 8259A AT PICs - * are available and that mixed mode can be used. - */ -void -ioapic_enable_mixed_mode(void) -{ - - mixed_mode_enabled = 1; -} - -/* * Allocate and return a logical cluster ID. Note that the first time * this is called, it returns cluster 0. ioapic_enable_intr() treats * the two cases of logical_clusters == 0 and logical_clusters == 1 the @@ -503,11 +466,20 @@ u_int numintr, i; uint32_t value; + /* Map the register window so we can access the device. */ apic = (ioapic_t *)pmap_mapdev(addr, IOAPIC_MEM_REGION); mtx_lock_spin(&icu_lock); - numintr = ((ioapic_read(apic, IOAPIC_VER) & IOART_VER_MAXREDIR) >> - MAXREDIRSHIFT) + 1; + value = ioapic_read(apic, IOAPIC_VER); mtx_unlock_spin(&icu_lock); + + /* If it's version register doesn't seem to work, punt. */ + if (value == 0xffffff) { + pmap_unmapdev((vm_offset_t)apic, IOAPIC_MEM_REGION); + return (NULL); + } + + /* Determine the number of vectors and set the APIC ID. */ + numintr = ((value & IOART_VER_MAXREDIR) >> MAXREDIRSHIFT) + 1; io = malloc(sizeof(struct ioapic) + numintr * sizeof(struct ioapic_intsrc), M_IOAPIC, M_WAITOK); io->io_pic = ioapic_template; @@ -547,12 +519,11 @@ intpin->io_vector = intbase + i; /* - * Assume that pin 0 on the first I/O APIC is an ExtINT pin - * if mixed mode is enabled and an ISA interrupt if not. + * Assume that pin 0 on the first I/O APIC is an ExtINT pin. * Assume that pins 1-15 are ISA interrupts and that all * other pins are PCI interrupts. */ - if (intpin->io_vector == 0 && mixed_mode_enabled) + if (intpin->io_vector == 0) ioapic_set_extint(io, i); else if (intpin->io_vector < IOAPIC_ISA_INTS) { intpin->io_bus = APIC_BUS_ISA; @@ -710,12 +681,7 @@ return (EINVAL); io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_vector = VECTOR_EXTINT; - - /* Enable this pin if mixed mode is available and active. */ - if (mixed_mode_enabled && mixed_mode_active) - io->io_pins[pin].io_masked = 0; - else - io->io_pins[pin].io_masked = 1; + io->io_pins[pin].io_masked = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) @@ -790,15 +756,7 @@ ioapic_program_intpin(pin); if (pin->io_vector >= NUM_IO_INTS) continue; - /* - * Route IRQ0 via the 8259A using mixed mode if mixed mode - * is available and turned on. - */ - if (pin->io_vector == 0 && mixed_mode_active && - mixed_mode_enabled) - ioapic_setup_mixed_mode(pin); - else - intr_register_source(&pin->io_intsrc); + intr_register_source(&pin->io_intsrc); } } @@ -815,38 +773,8 @@ program_logical_dest = 1; STAILQ_FOREACH(io, &ioapic_list, io_next) for (i = 0; i < io->io_numintr; i++) - if (io->io_pins[i].io_dest != DEST_NONE && - io->io_pins[i].io_dest != DEST_EXTINT) + if (io->io_pins[i].io_dest != DEST_NONE) ioapic_program_destination(&io->io_pins[i]); } SYSINIT(ioapic_destinations, SI_SUB_SMP, SI_ORDER_SECOND, ioapic_set_logical_destinations, NULL) - -/* - * Support for mixed-mode interrupt sources. These sources route an ISA - * IRQ through the 8259A's via the ExtINT on pin 0 of the I/O APIC that - * routes the ISA interrupts. We just ignore the intpins that use this - * mode and allow the atpic driver to register its interrupt source for - * that IRQ instead. - */ - -static void -ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin) -{ - struct ioapic_intsrc *extint; - struct ioapic *io; - - /* - * Mark the associated I/O APIC intpin as being delivered via - * ExtINT and enable the ExtINT pin on the I/O APIC if needed. - */ - intpin->io_dest = DEST_EXTINT; - io = (struct ioapic *)intpin->io_intsrc.is_pic; - extint = &io->io_pins[0]; - if (extint->io_vector != VECTOR_EXTINT) - panic("Can't find ExtINT pin to route through!"); -#ifdef ENABLE_EXTINT_LOGICAL_DESTINATION - if (extint->io_dest == DEST_NONE) - ioapic_assign_cluster(extint); -#endif -} ==== //depot/projects/hammer/sys/amd64/amd64/local_apic.c#48 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#123 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#89 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#40 (text+ko) ==== @@ -348,7 +348,6 @@ busses[i].bus_type = NOBUS; /* Second, we run through adding I/O APIC's and busses. */ - ioapic_enable_mixed_mode(); mptable_parse_apics_and_busses(); /* Third, we run through the table tweaking interrupt sources. */ ==== //depot/projects/hammer/sys/amd64/amd64/sys_machdep.c#20 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/trap.c#57 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/vm_machdep.c#69 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/conf/NOTES#62 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# (XXX from i386:NOTES,v 1.1191) +# (XXX from i386:NOTES,v 1.1193) # $FreeBSD: src/sys/amd64/conf/NOTES,v 1.28 2005/04/08 20:24:45 obrien Exp $ # @@ -24,19 +24,10 @@ # # Notes: # -# By default, mixed mode is used to route IRQ0 from the AT timer via -# the 8259A master PIC through the ExtINT pin on the first I/O APIC. -# This can be disabled via the NO_MIXED_MODE option. In that case, -# IRQ0 will be routed via an intpin on the first I/O APIC. Not all -# motherboards hook IRQ0 up to the first I/O APIC even though their -# MP table or MADT may claim to do so. That is why mixed mode is -# enabled by default. -# # Optional: device atpic # Optional legacy pic support device mptable # Optional MPSPEC mptable support -options NO_MIXED_MODE # Disable use of mixed mode # # Watchdog routines. ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#31 (text+ko) ==== @@ -177,7 +177,6 @@ void apic_register_enumerator(struct apic_enumerator *enumerator); void *ioapic_create(uintptr_t addr, int32_t id, int intbase); int ioapic_disable_pin(void *cookie, u_int pin); -void ioapic_enable_mixed_mode(void); int ioapic_get_vector(void *cookie, u_int pin); int ioapic_next_logical_cluster(void); void ioapic_register(void *cookie); ==== //depot/projects/hammer/sys/amd64/include/clock.h#16 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/pc/display.h#6 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/pcb.h#22 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/pcpu.h#23 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/segments.h#19 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/include/sysarch.h#17 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/isa/clock.c#38 (text+ko) ==== @@ -102,6 +102,8 @@ int timer0_max_count; int wall_cmos_clock; /* wall CMOS clock assumed if != 0 */ struct mtx clock_lock; +#define RTC_LOCK mtx_lock_spin(&clock_lock) +#define RTC_UNLOCK mtx_unlock_spin(&clock_lock) static int beeping = 0; static const u_char daysinmonth[] = {31,28,31,30,31,30,31,31,30,31,30,31}; @@ -401,30 +403,28 @@ rtcin(reg) int reg; { - int s; u_char val; - s = splhigh(); + RTC_LOCK; outb(IO_RTC, reg); inb(0x84); val = inb(IO_RTC + 1); inb(0x84); - splx(s); + RTC_UNLOCK; return (val); } static __inline void writertc(u_char reg, u_char val) { - int s; - s = splhigh(); + RTC_LOCK; inb(0x84); outb(IO_RTC, reg); inb(0x84); outb(IO_RTC + 1, val); inb(0x84); /* XXX work around wrong order in rtcin() */ - splx(s); + RTC_UNLOCK; } static __inline int From owner-p4-projects@FreeBSD.ORG Fri Apr 15 18:53:32 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1BCFE16A4D0; Fri, 15 Apr 2005 18:53:32 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E55CF16A4CE for ; Fri, 15 Apr 2005 18:53:31 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7551A43D2F for ; Fri, 15 Apr 2005 18:53:31 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FIrVIR091247 for ; Fri, 15 Apr 2005 18:53:31 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FIrVWH091243 for perforce@freebsd.org; Fri, 15 Apr 2005 18:53:31 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Apr 2005 18:53:31 GMT Message-Id: <200504151853.j3FIrVWH091243@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 Subject: PERFORCE change 75266 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 18:53:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=75266 Change 75266 by peter@peter_overcee on 2005/04/15 18:52:58 IFC @75265 Affected files ... .. //depot/projects/hammer/lib/libc/net/getaddrinfo.c#21 integrate .. //depot/projects/hammer/lib/libc/net/getservbyname.c#2 integrate .. //depot/projects/hammer/lib/libc/net/getservbyport.c#2 integrate .. //depot/projects/hammer/lib/libc/net/getservent.c#4 integrate .. //depot/projects/hammer/lib/libc/net/netdb_private.h#1 branch .. //depot/projects/hammer/sys/amd64/acpica/madt.c#40 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#39 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#41 integrate .. //depot/projects/hammer/sys/amd64/conf/GENERIC#71 integrate .. //depot/projects/hammer/sys/amd64/conf/NOTES#63 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#32 integrate .. //depot/projects/hammer/sys/amd64/include/bus.h#8 integrate .. //depot/projects/hammer/sys/amd64/include/legacyvar.h#10 integrate .. //depot/projects/hammer/sys/amd64/include/tss.h#12 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#39 integrate .. //depot/projects/hammer/sys/conf/options.amd64#34 integrate Differences ... ==== //depot/projects/hammer/lib/libc/net/getaddrinfo.c#21 (text+ko) ==== @@ -63,10 +63,9 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.64 2005/04/15 14:42:29 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.65 2005/04/15 18:15:12 ume Exp $"); #include "namespace.h" -#include "reentrant.h" #include #include #include @@ -286,14 +285,6 @@ static int res_querydomainN(const char *, const char *, struct res_target *); -/* - * XXX: Many dependencies are not thread-safe. Still, we cannot use - * getaddrinfo() in conjunction with other functions which call them. - */ -static mutex_t _getaddrinfo_thread_lock = MUTEX_INITIALIZER; -#define THREAD_LOCK() mutex_lock(&_getaddrinfo_thread_lock); -#define THREAD_UNLOCK() mutex_unlock(&_getaddrinfo_thread_lock); - /* XXX macros that make external reference is BAD. */ #define GET_AI(ai, afd, addr) \ @@ -1441,13 +1432,9 @@ break; } - THREAD_LOCK(); - if ((sp = getservbyname(servname, proto)) == NULL) { - THREAD_UNLOCK(); + if ((sp = getservbyname(servname, proto)) == NULL) return EAI_SERVICE; - } port = sp->s_port; - THREAD_UNLOCK(); } if (!matchonly) { ==== //depot/projects/hammer/lib/libc/net/getservbyname.c#2 (text+ko) ==== @@ -35,47 +35,55 @@ static char sccsid[] = "@(#)getservbyname.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservbyname.c,v 1.4 2002/03/21 18:49:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservbyname.c,v 1.5 2005/04/15 18:09:39 ume Exp $"); #include #include +#include "netdb_private.h" -extern int _serv_stayopen; - -struct servent * -getservbyname(name, proto) - const char *name, *proto; +int +getservbyname_r(const char *name, const char *proto, struct servent *se, + struct servent_data *sed) { - struct servent *p; char **cp; + int error; #ifdef YP - extern char *___getservbyname_yp; - extern char *___getservbyproto_yp; - - ___getservbyname_yp = (char *)name; - ___getservbyproto_yp = (char *)proto; + sed->getservbyname_yp = (char *)name; + sed->getservbyproto_yp = (char *)proto; #endif - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (strcmp(name, p->s_name) == 0) + setservent_r(sed->stayopen, sed); + while ((error = getservent_r(se, sed)) == 0) { + if (strcmp(name, se->s_name) == 0) goto gotname; - for (cp = p->s_aliases; *cp; cp++) + for (cp = se->s_aliases; *cp; cp++) if (strcmp(name, *cp) == 0) goto gotname; continue; gotname: - if (proto == 0 || strcmp(p->s_proto, proto) == 0) + if (proto == 0 || strcmp(se->s_proto, proto) == 0) break; } - if (!_serv_stayopen) - endservent(); + if (!sed->stayopen) + endservent_r(sed); #ifdef YP - ___getservbyname_yp = NULL; - ___getservbyproto_yp = NULL; + sed->getservbyname_yp = NULL; + sed->getservbyproto_yp = NULL; #endif - return (p); + return (error); +} + +struct servent * +getservbyname(const char *name, const char *proto) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return (NULL); + if (getservbyname_r(name, proto, &sd->serv, &sd->data) != 0) + return (NULL); + return (&sd->serv); } ==== //depot/projects/hammer/lib/libc/net/getservbyport.c#2 (text+ko) ==== @@ -35,42 +35,49 @@ static char sccsid[] = "@(#)getservbyport.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservbyport.c,v 1.4 2002/03/21 18:49:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservbyport.c,v 1.5 2005/04/15 18:09:39 ume Exp $"); #include #include +#include "netdb_private.h" -extern int _serv_stayopen; - -struct servent * -getservbyport(port, proto) - int port; - const char *proto; +int +getservbyport_r(int port, const char *proto, struct servent *se, + struct servent_data *sed) { - struct servent *p; + int error; #ifdef YP - extern int ___getservbyport_yp; - extern char *___getservbyproto_yp; - - ___getservbyport_yp = port; - ___getservbyproto_yp = (char *)proto; + sed->getservbyport_yp = port; + sed->getservbyproto_yp = (char *)proto; #endif - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (p->s_port != port) + setservent_r(sed->stayopen, sed); + while ((error = getservent_r(se, sed)) == 0) { + if (se->s_port != port) continue; - if (proto == 0 || strcmp(p->s_proto, proto) == 0) + if (proto == 0 || strcmp(se->s_proto, proto) == 0) break; } - if (!_serv_stayopen) - endservent(); + if (!sed->stayopen) + endservent_r(sed); #ifdef YP - ___getservbyport_yp = 0; - ___getservbyproto_yp = NULL; + sed->getservbyport_yp = 0; + sed->getservbyproto_yp = NULL; #endif - return (p); + return (error); +} + +struct servent * +getservbyport(int port, const char *proto) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return (NULL); + if (getservbyport_r(port, proto, &sd->serv, &sd->data) != 0) + return (NULL); + return (&sd->serv); } ==== //depot/projects/hammer/lib/libc/net/getservent.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)getservent.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservent.c,v 1.13 2005/01/03 11:07:45 sobomax Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservent.c,v 1.14 2005/04/15 18:09:39 ume Exp $"); #include #include @@ -48,41 +48,85 @@ #include #include #include -static int serv_stepping_yp = 0; #endif -#include "libc_private.h" +#include "namespace.h" +#include "reentrant.h" +#include "un-namespace.h" +#include "netdb_private.h" + +static struct servdata servdata; +static thread_key_t servdata_key; +static once_t servdata_init_once = ONCE_INITIALIZER; +static int servdata_thr_keycreated = 0; + +static void +servent_data_clear(struct servent_data *sed) +{ + if (sed->fp) { + fclose(sed->fp); + sed->fp = NULL; + } + if (sed->key) { + free(sed->key); + sed->key = NULL; + } +} + +static void +servdata_free(void *ptr) +{ + struct servdata *sd = ptr; + + if (sd == NULL) + return; + servent_data_clear(&sd->data); + free(sd); +} + +static void +servdata_keycreate(void) +{ + servdata_thr_keycreated = + (thr_keycreate(&servdata_key, servdata_free) == 0); +} -#define MAXALIASES 35 +struct servdata * +_servdata_init(void) +{ + struct servdata *sd; -static FILE *servf = NULL; -static char line[BUFSIZ+1]; -static struct servent serv; -static char *serv_aliases[MAXALIASES]; -int _serv_stayopen; + if (thr_main() != 0) + return (&servdata); + if (thr_once(&servdata_init_once, servdata_keycreate) != 0 || + !servdata_thr_keycreated) + return (NULL); + if ((sd = thr_getspecific(servdata_key)) != NULL) + return (sd); + if ((sd = calloc(1, sizeof(*sd))) == NULL) + return (NULL); + if (thr_setspecific(servdata_key, sd) == 0) + return (sd); + free(sd); + return (NULL); +} #ifdef YP -char *___getservbyname_yp = NULL; -char *___getservbyproto_yp = NULL; -int ___getservbyport_yp = 0; -static char *yp_domain = NULL; - static int -_getservbyport_yp(line) - char *line; +_getservbyport_yp(struct servent_data *sed) { char *result; int resultlen; char buf[YPMAXRECORD + 2]; int rv; - snprintf(buf, sizeof(buf), "%d/%s", ntohs(___getservbyport_yp), - ___getservbyproto_yp); + snprintf(buf, sizeof(buf), "%d/%s", + ntohs(sed->getservbyport_yp), sed->getservbyproto_yp); - ___getservbyport_yp = 0; - ___getservbyproto_yp = NULL; + sed->getservbyport_yp = 0; + sed->getservbyproto_yp = NULL; - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) + if (!sed->yp_domain) { + if (yp_get_default_domain(&sed->yp_domain)) return (0); } @@ -95,10 +139,10 @@ * possibilities here: if there is no services.byport map, we try * services.byname instead. */ - if ((rv = yp_match(yp_domain, "services.byport", buf, strlen(buf), + if ((rv = yp_match(sed->yp_domain, "services.byport", buf, strlen(buf), &result, &resultlen))) { if (rv == YPERR_MAP) { - if (yp_match(yp_domain, "services.byname", buf, + if (yp_match(sed->yp_domain, "services.byname", buf, strlen(buf), &result, &resultlen)) return(0); } else @@ -106,80 +150,77 @@ } /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); + snprintf(sed->line, BUFSIZ, "%.*s\n", resultlen, result); free(result); return(1); } static int -_getservbyname_yp(line) - char *line; +_getservbyname_yp(struct servent_data *sed) { char *result; int resultlen; char buf[YPMAXRECORD + 2]; - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) + if(!sed->yp_domain) { + if(yp_get_default_domain(&sed->yp_domain)) return (0); } - snprintf(buf, sizeof(buf), "%s/%s", ___getservbyname_yp, - ___getservbyproto_yp); + snprintf(buf, sizeof(buf), "%s/%s", sed->getservbyname_yp, + sed->getservbyproto_yp); - ___getservbyname_yp = 0; - ___getservbyproto_yp = NULL; + sed->getservbyname_yp = 0; + sed->getservbyproto_yp = NULL; - if (yp_match(yp_domain, "services.byname", buf, strlen(buf), - &result, &resultlen)) { + if (yp_match(sed->yp_domain, "services.byname", buf, strlen(buf), + &result, &resultlen)) { return(0); } /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); + snprintf(sed->line, BUFSIZ, "%.*s\n", resultlen, result); free(result); return(1); } static int -_getservent_yp(line) - char *line; +_getservent_yp(struct servent_data *sed) { - static char *key = NULL; - static int keylen; char *lastkey, *result; int resultlen; int rv; - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) + if (!sed->yp_domain) { + if (yp_get_default_domain(&sed->yp_domain)) return (0); } - if (!serv_stepping_yp) { - if (key) - free(key); - if ((rv = yp_first(yp_domain, "services.byname", &key, &keylen, - &result, &resultlen))) { - serv_stepping_yp = 0; + if (!sed->stepping_yp) { + if (sed->key) + free(sed->key); + rv = yp_first(sed->yp_domain, "services.byname", &sed->key, + &sed->keylen, &result, &resultlen); + if (rv) { + sed->stepping_yp = 0; return(0); } - serv_stepping_yp = 1; + sed->stepping_yp = 1; } else { - lastkey = key; - rv = yp_next(yp_domain, "services.byname", key, keylen, &key, - &keylen, &result, &resultlen); + lastkey = sed->key; + rv = yp_next(sed->yp_domain, "services.byname", sed->key, + sed->keylen, &sed->key, &sed->keylen, &result, &resultlen); free(lastkey); if (rv) { - serv_stepping_yp = 0; + sed->stepping_yp = 0; return (0); } } /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); + snprintf(sed->line, BUFSIZ, "%.*s\n", resultlen, result); free(result); @@ -188,55 +229,54 @@ #endif void -setservent(f) - int f; +setservent_r(int f, struct servent_data *sed) { - if (servf == NULL) - servf = fopen(_PATH_SERVICES, "r" ); + if (sed->fp == NULL) + sed->fp = fopen(_PATH_SERVICES, "r"); else - rewind(servf); - _serv_stayopen |= f; + rewind(sed->fp); + sed->stayopen |= f; } void -endservent() +endservent_r(struct servent_data *sed) { - if (servf) { - fclose(servf); - servf = NULL; - } - _serv_stayopen = 0; + servent_data_clear(sed); + sed->stayopen = 0; + sed->stepping_yp = 0; + sed->yp_domain = NULL; } -struct servent * -getservent() +int +getservent_r(struct servent *se, struct servent_data *sed) { char *p; - char *cp, **q; + char *cp, **q, *endp; + long l; #ifdef YP - if (serv_stepping_yp && _getservent_yp(line)) { - p = (char *)&line; + if (sed->stepping_yp && _getservent_yp(sed)) { + p = sed->line; goto unpack; } tryagain: #endif - if (servf == NULL && (servf = fopen(_PATH_SERVICES, "r" )) == NULL) - return (NULL); + if (sed->fp == NULL && (sed->fp = fopen(_PATH_SERVICES, "r")) == NULL) + return (-1); again: - if ((p = fgets(line, BUFSIZ, servf)) == NULL) - return (NULL); + if ((p = fgets(sed->line, BUFSIZ, sed->fp)) == NULL) + return (-1); #ifdef YP if (*p == '+' && _yp_check(NULL)) { - if (___getservbyname_yp != NULL) { - if (!_getservbyname_yp(line)) + if (sed->getservbyname_yp != NULL) { + if (!_getservbyname_yp(sed)) goto tryagain; } - else if (___getservbyport_yp != 0) { - if (!_getservbyport_yp(line)) + else if (sed->getservbyport_yp != 0) { + if (!_getservbyport_yp(sed)) goto tryagain; } - else if (!_getservent_yp(line)) + else if (!_getservent_yp(sed)) goto tryagain; } unpack: @@ -246,7 +286,7 @@ cp = strpbrk(p, "#\n"); if (cp != NULL) *cp = '\0'; - serv.s_name = p; + se->s_name = p; p = strpbrk(p, " \t"); if (p == NULL) goto again; @@ -257,9 +297,12 @@ if (cp == NULL) goto again; *cp++ = '\0'; - serv.s_port = htons((u_short)atoi(p)); - serv.s_proto = cp; - q = serv.s_aliases = serv_aliases; + l = strtol(p, &endp, 10); + if (endp == p || *endp != '\0' || l < 0 || l > USHRT_MAX) + goto again; + se->s_port = htons((in_port_t)l); + se->s_proto = cp; + q = se->s_aliases = sed->aliases; cp = strpbrk(cp, " \t"); if (cp != NULL) *cp++ = '\0'; @@ -268,12 +311,44 @@ cp++; continue; } - if (q < &serv_aliases[MAXALIASES - 1]) + if (q < &sed->aliases[SERVENT_MAXALIASES - 1]) *q++ = cp; cp = strpbrk(cp, " \t"); if (cp != NULL) *cp++ = '\0'; } *q = NULL; - return (&serv); + return (0); +} + +void +setservent(int f) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return; + setservent_r(f, &sd->data); +} + +void +endservent(void) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return; + endservent_r(&sd->data); +} + +struct servent * +getservent(void) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return (NULL); + if (getservent_r(&sd->serv, &sd->data) != 0) + return (NULL); + return (&sd->serv); } ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#40 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.15 2005/02/22 21:52:51 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16 2005/04/15 18:44:53 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#39 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.14 2005/02/28 23:37:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15 2005/04/15 18:44:53 peter Exp $"); #include "opt_atpic.h" #include "opt_isa.h" ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#41 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.235 2005/02/28 23:37:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.236 2005/04/15 18:44:53 peter Exp $"); #include #include ==== //depot/projects/hammer/sys/amd64/conf/GENERIC#71 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.437 2005/04/13 06:00:07 anholt Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.438 2005/04/15 18:45:07 peter Exp $ machine amd64 cpu HAMMER @@ -77,7 +77,6 @@ # Workarounds for some known-to-be-broken chipsets (nVidia nForce3-Pro150) device atpic # 8259A compatability -options NO_MIXED_MODE # Don't penalize working chipsets # Linux 32-bit ABI support options LINPROCFS # Cannot be a module yet. ==== //depot/projects/hammer/sys/amd64/conf/NOTES#63 (text+ko) ==== @@ -5,7 +5,7 @@ # machine independent notes, look in /sys/conf/NOTES. # # (XXX from i386:NOTES,v 1.1193) -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.28 2005/04/08 20:24:45 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.29 2005/04/15 18:45:07 peter Exp $ # # ==== //depot/projects/hammer/sys/amd64/include/apicvar.h#32 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.11 2005/02/28 23:37:35 peter Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.12 2005/04/15 18:44:53 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/bus.h#8 (text+ko) ==== @@ -28,7 +28,77 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/bus.h,v 1.12 2003/05/12 02:44:37 peter Exp $ + * $FreeBSD: src/sys/amd64/include/bus.h,v 1.13 2005/04/15 18:38:59 peter Exp $ + */ + +/* $NetBSD: bus.h,v 1.12 1997/10/01 08:25:15 fvdl Exp $ */ + +/*- + * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, + * NASA Ames Research Center. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/*- + * Copyright (c) 1996 Charles M. Hannum. All rights reserved. + * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christopher G. Demetriou + * for the NetBSD Project. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* $NetBSD: bus.h,v 1.12 1997/10/01 08:25:15 fvdl Exp $ */ ==== //depot/projects/hammer/sys/amd64/include/legacyvar.h#10 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/legacyvar.h,v 1.5 2004/05/16 20:30:46 peter Exp $ + * $FreeBSD: src/sys/amd64/include/legacyvar.h,v 1.6 2005/04/15 18:41:32 peter Exp $ */ #ifndef _MACHINE_LEGACYVAR_H_ ==== //depot/projects/hammer/sys/amd64/include/tss.h#12 (text+ko) ==== @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * from: @(#)tss.h 5.4 (Berkeley) 1/18/91 - * $FreeBSD: src/sys/amd64/include/tss.h,v 1.17 2005/04/06 01:05:36 cperciva Exp $ + * $FreeBSD: src/sys/amd64/include/tss.h,v 1.18 2005/04/15 18:39:31 peter Exp $ */ #ifndef _MACHINE_TSS_H_ ==== //depot/projects/hammer/sys/amd64/isa/clock.c#39 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.217 2005/03/11 21:57:38 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/isa/clock.c,v 1.218 2005/04/15 18:46:53 peter Exp $"); /* * Routines to handle clock hardware. ==== //depot/projects/hammer/sys/conf/options.amd64#34 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.amd64,v 1.18 2005/02/16 05:41:18 wpaul Exp $ +# $FreeBSD: src/sys/conf/options.amd64,v 1.19 2005/04/15 18:48:27 peter Exp $ # Options specific to AMD64 platform kernels AUTO_EOI_1 opt_auto_eoi.h @@ -54,5 +54,4 @@ PSM_HOOKRESUME opt_psm.h PSM_RESETAFTERSUSPEND opt_psm.h PSM_DEBUG opt_psm.h -NO_MIXED_MODE DEV_ATPIC opt_atpic.h From owner-p4-projects@FreeBSD.ORG Fri Apr 15 18:57:37 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7843616A4D0; Fri, 15 Apr 2005 18:57:37 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D44716A4CE for ; Fri, 15 Apr 2005 18:57:37 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id ECF4A43D5C for ; Fri, 15 Apr 2005 18:57:36 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FIvaqA091405 for ; Fri, 15 Apr 2005 18:57:36 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FIvaCe091402 for perforce@freebsd.org; Fri, 15 Apr 2005 18:57:36 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Apr 2005 18:57:36 GMT Message-Id: <200504151857.j3FIvaCe091402@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 Subject: PERFORCE change 75267 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 18:57:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=75267 Change 75267 by peter@peter_overcee on 2005/04/15 18:57:25 Fix a p4 mismerge (duplicated copyright comment blocks) Affected files ... .. //depot/projects/hammer/sys/amd64/include/bus.h#9 edit Differences ... ==== //depot/projects/hammer/sys/amd64/include/bus.h#9 (text+ko) ==== @@ -101,76 +101,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $NetBSD: bus.h,v 1.12 1997/10/01 08:25:15 fvdl Exp $ */ - -/*- - * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, - * NASA Ames Research Center. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/*- - * Copyright (c) 1996 Charles M. Hannum. All rights reserved. - * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - #ifndef _AMD64_BUS_H_ #define _AMD64_BUS_H_ From owner-p4-projects@FreeBSD.ORG Fri Apr 15 18:58:39 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 054FA16A4D0; Fri, 15 Apr 2005 18:58:39 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D50E116A4CE for ; Fri, 15 Apr 2005 18:58:38 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAD9843D5A for ; Fri, 15 Apr 2005 18:58:38 +0000 (GMT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FIwcZc091493 for ; Fri, 15 Apr 2005 18:58:38 GMT (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FIwcMP091490 for perforce@freebsd.org; Fri, 15 Apr 2005 18:58:38 GMT (envelope-from peter@freebsd.org) Date: Fri, 15 Apr 2005 18:58:38 GMT Message-Id: <200504151858.j3FIwcMP091490@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 Subject: PERFORCE change 75268 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 18:58:39 -0000 http://perforce.freebsd.org/chv.cgi?CH=75268 Change 75268 by peter@peter_overcee on 2005/04/15 18:58:34 Fix a mismerge from somewhere. Affected files ... .. //depot/projects/hammer/sys/dev/ata/ata-all.c#47 edit Differences ... ==== //depot/projects/hammer/sys/dev/ata/ata-all.c#47 (text+ko) ==== @@ -281,7 +281,7 @@ return error; } -void +static void ata_interrupt(void *data) { struct ata_channel *ch = (struct ata_channel *)data; From owner-p4-projects@FreeBSD.ORG Fri Apr 15 22:02:33 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1C75E16A4D0; Fri, 15 Apr 2005 22:02:33 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9E1B16A4CE for ; Fri, 15 Apr 2005 22:02:32 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 635D543D54 for ; Fri, 15 Apr 2005 22:02:32 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FM2WGN005481 for ; Fri, 15 Apr 2005 22:02:32 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FM2VbR005478 for perforce@freebsd.org; Fri, 15 Apr 2005 22:02:31 GMT (envelope-from jhb@freebsd.org) Date: Fri, 15 Apr 2005 22:02:31 GMT Message-Id: <200504152202.j3FM2VbR005478@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75278 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 22:02:33 -0000 http://perforce.freebsd.org/chv.cgi?CH=75278 Change 75278 by jhb@jhb_slimer on 2005/04/15 22:01:31 IFC @75276. Affected files ... .. //depot/projects/smpng/sys/amd64/acpica/madt.c#6 integrate .. //depot/projects/smpng/sys/amd64/amd64/io_apic.c#7 integrate .. //depot/projects/smpng/sys/amd64/amd64/mptable.c#8 integrate .. //depot/projects/smpng/sys/amd64/conf/GENERIC#32 integrate .. //depot/projects/smpng/sys/amd64/conf/NOTES#15 integrate .. //depot/projects/smpng/sys/amd64/include/apicvar.h#6 integrate .. //depot/projects/smpng/sys/amd64/include/bus.h#3 integrate .. //depot/projects/smpng/sys/amd64/include/bus_amd64.h#8 delete .. //depot/projects/smpng/sys/amd64/include/legacyvar.h#4 integrate .. //depot/projects/smpng/sys/amd64/include/tss.h#5 integrate .. //depot/projects/smpng/sys/amd64/isa/clock.c#12 integrate .. //depot/projects/smpng/sys/conf/options.amd64#11 integrate .. //depot/projects/smpng/sys/conf/options.pc98#45 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.c#69 integrate .. //depot/projects/smpng/sys/dev/ata/ata-all.h#36 integrate .. //depot/projects/smpng/sys/dev/ata/ata-disk.c#49 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cam.c#24 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-cd.c#55 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-fd.c#27 integrate .. //depot/projects/smpng/sys/dev/ata/atapi-tape.c#31 integrate .. //depot/projects/smpng/sys/i386/conf/NOTES#99 integrate .. //depot/projects/smpng/sys/ia64/ia64/mp_machdep.c#29 integrate .. //depot/projects/smpng/sys/kern/sched_4bsd.c#49 integrate .. //depot/projects/smpng/sys/net/if.c#64 integrate .. //depot/projects/smpng/sys/netgraph/ng_echo.c#4 integrate .. //depot/projects/smpng/sys/netinet/ip_fw2.c#51 integrate .. //depot/projects/smpng/sys/netinet/tcp_input.c#70 integrate .. //depot/projects/smpng/sys/netinet/tcp_sack.c#9 integrate .. //depot/projects/smpng/sys/netinet/tcp_var.h#36 integrate .. //depot/projects/smpng/sys/pc98/conf/NOTES#37 integrate .. //depot/projects/smpng/sys/sys/ata.h#20 integrate .. //depot/projects/smpng/sys/vm/vm_pageq.c#12 integrate Differences ... ==== //depot/projects/smpng/sys/amd64/acpica/madt.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.15 2005/02/22 21:52:51 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.16 2005/04/15 18:44:53 peter Exp $"); #include #include @@ -367,8 +367,6 @@ } /* First, we run through adding I/O APIC's. */ - if (madt->PCATCompat && !(acpi_quirks & ACPI_Q_MADT_IRQ0)) - ioapic_enable_mixed_mode(); madt_walk_table(madt_parse_apics, NULL); /* Second, we run through the table tweaking interrupt sources. */ ==== //depot/projects/smpng/sys/amd64/amd64/io_apic.c#7 (text+ko) ==== @@ -28,11 +28,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.14 2005/02/28 23:37:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/io_apic.c,v 1.15 2005/04/15 18:44:53 peter Exp $"); #include "opt_atpic.h" #include "opt_isa.h" -#include "opt_no_mixed_mode.h" #include #include @@ -62,7 +61,6 @@ #define VECTOR_DISABLED 255 #define DEST_NONE -1 -#define DEST_EXTINT -2 #define TODO printf("%s: not implemented!\n", __func__) @@ -83,15 +81,6 @@ * IO APIC has a contiguous chunk of the System Interrupt address space. */ -/* - * Direct the ExtINT pin on the first I/O APIC to a logical cluster of - * CPUs rather than a physical destination of just the BSP. - * - * Note: This is disabled by default as test systems seem to croak with it - * enabled. -#define ENABLE_EXTINT_LOGICAL_DESTINATION - */ - struct ioapic_intsrc { struct intsrc io_intsrc; u_int io_intpin:8; @@ -130,7 +119,6 @@ static void ioapic_resume(struct intsrc *isrc); static void ioapic_program_destination(struct ioapic_intsrc *intpin); static void ioapic_program_intpin(struct ioapic_intsrc *intpin); -static void ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin); static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); struct pic ioapic_template = { ioapic_enable_source, ioapic_disable_source, @@ -140,13 +128,7 @@ ioapic_config_intr }; static int bsp_id, current_cluster, logical_clusters, next_ioapic_base; -static u_int mixed_mode_enabled, next_id, program_logical_dest; -#if defined(NO_MIXED_MODE) || !defined(DEV_ATPIC) -static int mixed_mode_active = 0; -#else -static int mixed_mode_active = 1; -#endif -TUNABLE_INT("hw.apic.mixed_mode", &mixed_mode_active); +static u_int next_id, program_logical_dest; static __inline void _ioapic_eoi_source(struct intsrc *isrc) @@ -270,12 +252,8 @@ struct ioapic *io = (struct ioapic *)intpin->io_intsrc.is_pic; uint32_t low, high, value; - /* - * For pins routed via mixed mode or disabled, just ensure that - * they are masked. - */ - if (intpin->io_dest == DEST_EXTINT || - intpin->io_vector == VECTOR_DISABLED) { + /* For disabled pins, just ensure that they are masked. */ + if (intpin->io_vector == VECTOR_DISABLED) { low = ioapic_read(io->io_addr, IOAPIC_REDTBL_LO(intpin->io_intpin)); if ((low & IOART_INTMASK) == IOART_INTMCLR) @@ -346,8 +324,6 @@ KASSERT(intpin->io_dest != DEST_NONE, ("intpin not assigned to a cluster")); - KASSERT(intpin->io_dest != DEST_EXTINT, - ("intpin routed via ExtINT")); if (bootverbose) { printf("ioapic%u: routing intpin %u (", io->io_id, intpin->io_intpin); @@ -383,8 +359,6 @@ { struct ioapic_intsrc *intpin = (struct ioapic_intsrc *)isrc; - KASSERT(intpin->io_dest != DEST_EXTINT, - ("ExtINT pin trying to use ioapic enable_intr method")); if (intpin->io_dest == DEST_NONE) { ioapic_assign_cluster(intpin); lapic_enable_intr(intpin->io_vector); @@ -465,17 +439,6 @@ } /* - * APIC enumerators call this function to indicate that the 8259A AT PICs - * are available and that mixed mode can be used. - */ -void -ioapic_enable_mixed_mode(void) -{ - - mixed_mode_enabled = 1; -} - -/* * Allocate and return a logical cluster ID. Note that the first time * this is called, it returns cluster 0. ioapic_enable_intr() treats * the two cases of logical_clusters == 0 and logical_clusters == 1 the @@ -503,11 +466,20 @@ u_int numintr, i; uint32_t value; + /* Map the register window so we can access the device. */ apic = (ioapic_t *)pmap_mapdev(addr, IOAPIC_MEM_REGION); mtx_lock_spin(&icu_lock); - numintr = ((ioapic_read(apic, IOAPIC_VER) & IOART_VER_MAXREDIR) >> - MAXREDIRSHIFT) + 1; + value = ioapic_read(apic, IOAPIC_VER); mtx_unlock_spin(&icu_lock); + + /* If it's version register doesn't seem to work, punt. */ + if (value == 0xffffff) { + pmap_unmapdev((vm_offset_t)apic, IOAPIC_MEM_REGION); + return (NULL); + } + + /* Determine the number of vectors and set the APIC ID. */ + numintr = ((value & IOART_VER_MAXREDIR) >> MAXREDIRSHIFT) + 1; io = malloc(sizeof(struct ioapic) + numintr * sizeof(struct ioapic_intsrc), M_IOAPIC, M_WAITOK); io->io_pic = ioapic_template; @@ -547,12 +519,11 @@ intpin->io_vector = intbase + i; /* - * Assume that pin 0 on the first I/O APIC is an ExtINT pin - * if mixed mode is enabled and an ISA interrupt if not. + * Assume that pin 0 on the first I/O APIC is an ExtINT pin. * Assume that pins 1-15 are ISA interrupts and that all * other pins are PCI interrupts. */ - if (intpin->io_vector == 0 && mixed_mode_enabled) + if (intpin->io_vector == 0) ioapic_set_extint(io, i); else if (intpin->io_vector < IOAPIC_ISA_INTS) { intpin->io_bus = APIC_BUS_ISA; @@ -710,12 +681,7 @@ return (EINVAL); io->io_pins[pin].io_bus = APIC_BUS_UNKNOWN; io->io_pins[pin].io_vector = VECTOR_EXTINT; - - /* Enable this pin if mixed mode is available and active. */ - if (mixed_mode_enabled && mixed_mode_active) - io->io_pins[pin].io_masked = 0; - else - io->io_pins[pin].io_masked = 1; + io->io_pins[pin].io_masked = 1; io->io_pins[pin].io_edgetrigger = 1; io->io_pins[pin].io_activehi = 1; if (bootverbose) @@ -790,15 +756,7 @@ ioapic_program_intpin(pin); if (pin->io_vector >= NUM_IO_INTS) continue; - /* - * Route IRQ0 via the 8259A using mixed mode if mixed mode - * is available and turned on. - */ - if (pin->io_vector == 0 && mixed_mode_active && - mixed_mode_enabled) - ioapic_setup_mixed_mode(pin); - else - intr_register_source(&pin->io_intsrc); + intr_register_source(&pin->io_intsrc); } } @@ -815,38 +773,8 @@ program_logical_dest = 1; STAILQ_FOREACH(io, &ioapic_list, io_next) for (i = 0; i < io->io_numintr; i++) - if (io->io_pins[i].io_dest != DEST_NONE && - io->io_pins[i].io_dest != DEST_EXTINT) + if (io->io_pins[i].io_dest != DEST_NONE) ioapic_program_destination(&io->io_pins[i]); } SYSINIT(ioapic_destinations, SI_SUB_SMP, SI_ORDER_SECOND, ioapic_set_logical_destinations, NULL) - -/* - * Support for mixed-mode interrupt sources. These sources route an ISA - * IRQ through the 8259A's via the ExtINT on pin 0 of the I/O APIC that - * routes the ISA interrupts. We just ignore the intpins that use this - * mode and allow the atpic driver to register its interrupt source for - * that IRQ instead. - */ - -static void -ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin) -{ - struct ioapic_intsrc *extint; - struct ioapic *io; - - /* - * Mark the associated I/O APIC intpin as being delivered via - * ExtINT and enable the ExtINT pin on the I/O APIC if needed. - */ - intpin->io_dest = DEST_EXTINT; - io = (struct ioapic *)intpin->io_intsrc.is_pic; - extint = &io->io_pins[0]; - if (extint->io_vector != VECTOR_EXTINT) - panic("Can't find ExtINT pin to route through!"); -#ifdef ENABLE_EXTINT_LOGICAL_DESTINATION - if (extint->io_dest == DEST_NONE) - ioapic_assign_cluster(extint); -#endif -} ==== //depot/projects/smpng/sys/amd64/amd64/mptable.c#8 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.235 2005/02/28 23:37:35 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/mptable.c,v 1.236 2005/04/15 18:44:53 peter Exp $"); #include #include @@ -348,7 +348,6 @@ busses[i].bus_type = NOBUS; /* Second, we run through adding I/O APIC's and busses. */ - ioapic_enable_mixed_mode(); mptable_parse_apics_and_busses(); /* Third, we run through the table tweaking interrupt sources. */ ==== //depot/projects/smpng/sys/amd64/conf/GENERIC#32 (text+ko) ==== @@ -16,7 +16,7 @@ # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # -# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.437 2005/04/13 06:00:07 anholt Exp $ +# $FreeBSD: src/sys/amd64/conf/GENERIC,v 1.438 2005/04/15 18:45:07 peter Exp $ machine amd64 cpu HAMMER @@ -77,7 +77,6 @@ # Workarounds for some known-to-be-broken chipsets (nVidia nForce3-Pro150) device atpic # 8259A compatability -options NO_MIXED_MODE # Don't penalize working chipsets # Linux 32-bit ABI support options LINPROCFS # Cannot be a module yet. ==== //depot/projects/smpng/sys/amd64/conf/NOTES#15 (text+ko) ==== @@ -4,7 +4,7 @@ # This file contains machine dependent kernel configuration notes. For # machine independent notes, look in /sys/conf/NOTES. # -# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.28 2005/04/08 20:24:45 obrien Exp $ +# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.29 2005/04/15 18:45:07 peter Exp $ # # @@ -23,19 +23,10 @@ # # Notes: # -# By default, mixed mode is used to route IRQ0 from the AT timer via -# the 8259A master PIC through the ExtINT pin on the first I/O APIC. -# This can be disabled via the NO_MIXED_MODE option. In that case, -# IRQ0 will be routed via an intpin on the first I/O APIC. Not all -# motherboards hook IRQ0 up to the first I/O APIC even though their -# MP table or MADT may claim to do so. That is why mixed mode is -# enabled by default. -# # Optional: device atpic # Optional legacy pic support device mptable # Optional MPSPEC mptable support -options NO_MIXED_MODE # Disable use of mixed mode # # Watchdog routines. ==== //depot/projects/smpng/sys/amd64/include/apicvar.h#6 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.11 2005/02/28 23:37:35 peter Exp $ + * $FreeBSD: src/sys/amd64/include/apicvar.h,v 1.12 2005/04/15 18:44:53 peter Exp $ */ #ifndef _MACHINE_APICVAR_H_ @@ -177,7 +177,6 @@ void apic_register_enumerator(struct apic_enumerator *enumerator); void *ioapic_create(uintptr_t addr, int32_t id, int intbase); int ioapic_disable_pin(void *cookie, u_int pin); -void ioapic_enable_mixed_mode(void); int ioapic_get_vector(void *cookie, u_int pin); int ioapic_next_logical_cluster(void); void ioapic_register(void *cookie); ==== //depot/projects/smpng/sys/amd64/include/bus.h#3 (text+ko) ==== @@ -28,13 +28,1231 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/amd64/include/bus.h,v 1.12 2003/05/12 02:44:37 peter Exp $ + * $FreeBSD: src/sys/amd64/include/bus.h,v 1.13 2005/04/15 18:38:59 peter Exp $ + */ + +/* $NetBSD: bus.h,v 1.12 1997/10/01 08:25:15 fvdl Exp $ */ + +/*- + * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, + * NASA Ames Research Center. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/*- + * Copyright (c) 1996 Charles M. Hannum. All rights reserved. + * Copyright (c) 1996 Christopher G. Demetriou. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Christopher G. Demetriou + * for the NetBSD Project. + * 4. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef _AMD64_BUS_H_ #define _AMD64_BUS_H_ -#include +#include + +/* + * To remain compatible with NetBSD's interface, default to both memio and + * pio when neither of them is defined. + */ +#if !defined(_AMD64_BUS_PIO_H_) && !defined(_AMD64_BUS_MEMIO_H_) +#define _AMD64_BUS_PIO_H_ +#define _AMD64_BUS_MEMIO_H_ +#endif + +/* + * Values for the amd64 bus space tag, not to be used directly by MI code. + */ +#define AMD64_BUS_SPACE_IO 0 /* space is i/o space */ +#define AMD64_BUS_SPACE_MEM 1 /* space is mem space */ + +/* + * Bus address and size types + */ +typedef uint64_t bus_addr_t; +typedef uint64_t bus_size_t; + +#define BUS_SPACE_MAXSIZE_24BIT 0xFFFFFF +#define BUS_SPACE_MAXSIZE_32BIT 0xFFFFFFFF +#define BUS_SPACE_MAXSIZE 0xFFFFFFFF +#define BUS_SPACE_MAXADDR_24BIT 0xFFFFFF +#define BUS_SPACE_MAXADDR_32BIT 0xFFFFFFFF +#define BUS_SPACE_MAXADDR 0xFFFFFFFFFFFFFFFFULL + +#define BUS_SPACE_UNRESTRICTED (~0) + +/* + * Access methods for bus resources and address space. + */ +typedef uint64_t bus_space_tag_t; +typedef uint64_t bus_space_handle_t; + +/* + * Map a region of device bus space into CPU virtual address space. + */ + +static __inline int bus_space_map(bus_space_tag_t t, bus_addr_t addr, + bus_size_t size, int flags, + bus_space_handle_t *bshp); + +static __inline int +bus_space_map(bus_space_tag_t t __unused, bus_addr_t addr, + bus_size_t size __unused, int flags __unused, + bus_space_handle_t *bshp) +{ + + *bshp = addr; + return (0); +} + +/* + * Unmap a region of device bus space. + */ + +static __inline void bus_space_unmap(bus_space_tag_t t, bus_space_handle_t bsh, + bus_size_t size); + +static __inline void +bus_space_unmap(bus_space_tag_t t __unused, bus_space_handle_t bsh __unused, + bus_size_t size __unused) +{ +} + +/* + * Get a new handle for a subregion of an already-mapped area of bus space. + */ + +static __inline int bus_space_subregion(bus_space_tag_t t, + bus_space_handle_t bsh, + bus_size_t offset, bus_size_t size, + bus_space_handle_t *nbshp); + +static __inline int +bus_space_subregion(bus_space_tag_t t __unused, bus_space_handle_t bsh, + bus_size_t offset, bus_size_t size __unused, + bus_space_handle_t *nbshp) +{ + + *nbshp = bsh + offset; + return (0); +} + +/* + * Allocate a region of memory that is accessible to devices in bus space. + */ + +int bus_space_alloc(bus_space_tag_t t, bus_addr_t rstart, + bus_addr_t rend, bus_size_t size, bus_size_t align, + bus_size_t boundary, int flags, bus_addr_t *addrp, + bus_space_handle_t *bshp); + +/* + * Free a region of bus space accessible memory. + */ + +static __inline void bus_space_free(bus_space_tag_t t, bus_space_handle_t bsh, + bus_size_t size); + +static __inline void +bus_space_free(bus_space_tag_t t __unused, bus_space_handle_t bsh __unused, + bus_size_t size __unused) +{ +} + + +#if defined(_AMD64_BUS_PIO_H_) || defined(_AMD64_BUS_MEMIO_H_) + +/* + * Read a 1, 2, 4, or 8 byte quantity from bus space + * described by tag/handle/offset. + */ +static __inline u_int8_t bus_space_read_1(bus_space_tag_t tag, + bus_space_handle_t handle, + bus_size_t offset); + +static __inline u_int16_t bus_space_read_2(bus_space_tag_t tag, + bus_space_handle_t handle, + bus_size_t offset); + +static __inline u_int32_t bus_space_read_4(bus_space_tag_t tag, + bus_space_handle_t handle, + bus_size_t offset); + +static __inline u_int8_t +bus_space_read_1(bus_space_tag_t tag, bus_space_handle_t handle, + bus_size_t offset) +{ +#if defined (_AMD64_BUS_PIO_H_) +#if defined (_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + return (inb(handle + offset)); +#endif +#if defined (_AMD64_BUS_MEMIO_H_) + return (*(volatile u_int8_t *)(handle + offset)); +#endif +} + +static __inline u_int16_t +bus_space_read_2(bus_space_tag_t tag, bus_space_handle_t handle, + bus_size_t offset) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + return (inw(handle + offset)); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) + return (*(volatile u_int16_t *)(handle + offset)); +#endif +} + +static __inline u_int32_t +bus_space_read_4(bus_space_tag_t tag, bus_space_handle_t handle, + bus_size_t offset) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + return (inl(handle + offset)); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) + return (*(volatile u_int32_t *)(handle + offset)); +#endif +} + +#if 0 /* Cause a link error for bus_space_read_8 */ +#define bus_space_read_8(t, h, o) !!! bus_space_read_8 unimplemented !!! +#endif + +/* + * Read `count' 1, 2, 4, or 8 byte quantities from bus space + * described by tag/handle/offset and copy into buffer provided. + */ +static __inline void bus_space_read_multi_1(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, + size_t count); + +static __inline void bus_space_read_multi_2(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, + size_t count); + +static __inline void bus_space_read_multi_4(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, + size_t count); + +static __inline void +bus_space_read_multi_1(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + insb(bsh + offset, addr, count); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: movb (%2),%%al \n\ + stosb \n\ + loop 1b" : + "=D" (addr), "=c" (count) : + "r" (bsh + offset), "0" (addr), "1" (count) : + "%eax", "memory"); +#endif + } +#endif +} + +static __inline void +bus_space_read_multi_2(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + insw(bsh + offset, addr, count); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: movw (%2),%%ax \n\ + stosw \n\ + loop 1b" : + "=D" (addr), "=c" (count) : + "r" (bsh + offset), "0" (addr), "1" (count) : + "%eax", "memory"); +#endif + } +#endif +} + +static __inline void +bus_space_read_multi_4(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + insl(bsh + offset, addr, count); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: movl (%2),%%eax \n\ + stosl \n\ + loop 1b" : + "=D" (addr), "=c" (count) : + "r" (bsh + offset), "0" (addr), "1" (count) : + "%eax", "memory"); +#endif + } +#endif +} + +#if 0 /* Cause a link error for bus_space_read_multi_8 */ +#define bus_space_read_multi_8 !!! bus_space_read_multi_8 unimplemented !!! +#endif + +/* + * Read `count' 1, 2, 4, or 8 byte quantities from bus space + * described by tag/handle and starting at `offset' and copy into + * buffer provided. + */ +static __inline void bus_space_read_region_1(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, + size_t count); + +static __inline void bus_space_read_region_2(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, + size_t count); + +static __inline void bus_space_read_region_4(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, + size_t count); + + +static __inline void +bus_space_read_region_1(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + { + int _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: inb %w2,%%al \n\ + stosb \n\ + incl %2 \n\ + loop 1b" : + "=D" (addr), "=c" (count), "=d" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "%eax", "memory", "cc"); +#endif + } +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { + bus_space_handle_t _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + repne \n\ + movsb" : + "=D" (addr), "=c" (count), "=S" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "memory", "cc"); +#endif + } +#endif +} + +static __inline void +bus_space_read_region_2(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int16_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + { + int _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: inw %w2,%%ax \n\ + stosw \n\ + addl $2,%2 \n\ + loop 1b" : + "=D" (addr), "=c" (count), "=d" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "%eax", "memory", "cc"); +#endif + } +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { + bus_space_handle_t _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + repne \n\ + movsw" : + "=D" (addr), "=c" (count), "=S" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "memory", "cc"); +#endif + } +#endif +} + +static __inline void +bus_space_read_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int32_t *addr, size_t count) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + { + int _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + 1: inl %w2,%%eax \n\ + stosl \n\ + addl $4,%2 \n\ + loop 1b" : + "=D" (addr), "=c" (count), "=d" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "%eax", "memory", "cc"); +#endif + } +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + { + bus_space_handle_t _port_ = bsh + offset; +#ifdef __GNUCLIKE_ASM + __asm __volatile(" \n\ + cld \n\ + repne \n\ + movsl" : + "=D" (addr), "=c" (count), "=S" (_port_) : + "0" (addr), "1" (count), "2" (_port_) : + "memory", "cc"); +#endif + } +#endif +} + +#if 0 /* Cause a link error for bus_space_read_region_8 */ +#define bus_space_read_region_8 !!! bus_space_read_region_8 unimplemented !!! +#endif + +/* + * Write the 1, 2, 4, or 8 byte value `value' to bus space + * described by tag/handle/offset. + */ + +static __inline void bus_space_write_1(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int8_t value); + +static __inline void bus_space_write_2(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int16_t value); + +static __inline void bus_space_write_4(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, u_int32_t value); + +static __inline void +bus_space_write_1(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int8_t value) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + outb(bsh + offset, value); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + *(volatile u_int8_t *)(bsh + offset) = value; +#endif +} + +static __inline void +bus_space_write_2(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int16_t value) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + outw(bsh + offset, value); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + *(volatile u_int16_t *)(bsh + offset) = value; +#endif +} + +static __inline void +bus_space_write_4(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, u_int32_t value) +{ +#if defined(_AMD64_BUS_PIO_H_) +#if defined(_AMD64_BUS_MEMIO_H_) + if (tag == AMD64_BUS_SPACE_IO) +#endif + outl(bsh + offset, value); +#endif +#if defined(_AMD64_BUS_MEMIO_H_) +#if defined(_AMD64_BUS_PIO_H_) + else +#endif + *(volatile u_int32_t *)(bsh + offset) = value; +#endif +} + +#if 0 /* Cause a link error for bus_space_write_8 */ +#define bus_space_write_8 !!! bus_space_write_8 not implemented !!! +#endif + +/* + * Write `count' 1, 2, 4, or 8 byte quantities from the buffer + * provided to bus space described by tag/handle/offset. + */ + +static __inline void bus_space_write_multi_1(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int8_t *addr, + size_t count); +static __inline void bus_space_write_multi_2(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int16_t *addr, + size_t count); + +static __inline void bus_space_write_multi_4(bus_space_tag_t tag, + bus_space_handle_t bsh, + bus_size_t offset, + const u_int32_t *addr, + size_t count); + +static __inline void +bus_space_write_multi_1(bus_space_tag_t tag, bus_space_handle_t bsh, + bus_size_t offset, const u_int8_t *addr, size_t count) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri Apr 15 22:04:36 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD82C16A4D0; Fri, 15 Apr 2005 22:04:35 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A851F16A4CE for ; Fri, 15 Apr 2005 22:04:35 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7015B43D45 for ; Fri, 15 Apr 2005 22:04:35 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FM4ZsZ005550 for ; Fri, 15 Apr 2005 22:04:35 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FM4ZGR005547 for perforce@freebsd.org; Fri, 15 Apr 2005 22:04:35 GMT (envelope-from jhb@freebsd.org) Date: Fri, 15 Apr 2005 22:04:35 GMT Message-Id: <200504152204.j3FM4ZGR005547@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Subject: PERFORCE change 75279 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 22:04:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=75279 Change 75279 by jhb@jhb_slimer on 2005/04/15 22:03:44 Track merging of bus_amd64.h into bus.h. Affected files ... .. //depot/projects/smpng/sys/amd64/include/bus.h#4 edit Differences ... ==== //depot/projects/smpng/sys/amd64/include/bus.h#4 (text+ko) ==== @@ -322,8 +322,8 @@ 1: movb (%2),%%al \n\ stosb \n\ loop 1b" : - "=D" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+D" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory"); #endif } @@ -351,8 +351,8 @@ 1: movw (%2),%%ax \n\ stosw \n\ loop 1b" : - "=D" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+D" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory"); #endif } @@ -380,8 +380,8 @@ 1: movl (%2),%%eax \n\ stosl \n\ loop 1b" : - "=D" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+D" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory"); #endif } @@ -430,8 +430,7 @@ stosb \n\ incl %2 \n\ loop 1b" : - "=D" (addr), "=c" (count), "=d" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+d" (_port_) :: "%eax", "memory", "cc"); #endif } @@ -447,8 +446,7 @@ cld \n\ repne \n\ movsb" : - "=D" (addr), "=c" (count), "=S" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+S" (_port_) :: "memory", "cc"); #endif } @@ -472,8 +470,7 @@ stosw \n\ addl $2,%2 \n\ loop 1b" : - "=D" (addr), "=c" (count), "=d" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+d" (_port_) :: "%eax", "memory", "cc"); #endif } @@ -489,8 +486,7 @@ cld \n\ repne \n\ movsw" : - "=D" (addr), "=c" (count), "=S" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+S" (_port_) :: "memory", "cc"); #endif } @@ -514,8 +510,7 @@ stosl \n\ addl $4,%2 \n\ loop 1b" : - "=D" (addr), "=c" (count), "=d" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+d" (_port_) :: "%eax", "memory", "cc"); #endif } @@ -531,8 +526,7 @@ cld \n\ repne \n\ movsl" : - "=D" (addr), "=c" (count), "=S" (_port_) : - "0" (addr), "1" (count), "2" (_port_) : + "+D" (addr), "+c" (count), "+S" (_port_) :: "memory", "cc"); #endif } @@ -661,8 +655,8 @@ 1: lodsb \n\ movb %%al,(%2) \n\ loop 1b" : - "=S" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+S" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory", "cc"); #endif } @@ -690,8 +684,8 @@ 1: lodsw \n\ movw %%ax,(%2) \n\ loop 1b" : - "=S" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+S" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory", "cc"); #endif } @@ -719,8 +713,8 @@ 1: lodsl \n\ movl %%eax,(%2) \n\ loop 1b" : - "=S" (addr), "=c" (count) : - "r" (bsh + offset), "0" (addr), "1" (count) : + "+S" (addr), "+c" (count) : + "r" (bsh + offset) : "%eax", "memory", "cc"); #endif } @@ -770,8 +764,7 @@ outb %%al,%w0 \n\ incl %0 \n\ loop 1b" : - "=d" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+d" (_port_), "+S" (addr), "+c" (count) :: "%eax", "memory", "cc"); #endif } @@ -787,8 +780,7 @@ cld \n\ repne \n\ movsb" : - "=D" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+D" (_port_), "+S" (addr), "+c" (count) :: "memory", "cc"); #endif } @@ -812,8 +804,7 @@ outw %%ax,%w0 \n\ addl $2,%0 \n\ loop 1b" : - "=d" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+d" (_port_), "+S" (addr), "+c" (count) :: "%eax", "memory", "cc"); #endif } @@ -829,8 +820,7 @@ cld \n\ repne \n\ movsw" : - "=D" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+D" (_port_), "+S" (addr), "+c" (count) :: "memory", "cc"); #endif } @@ -854,8 +844,7 @@ outl %%eax,%w0 \n\ addl $4,%0 \n\ loop 1b" : - "=d" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+d" (_port_), "+S" (addr), "+c" (count) :: "%eax", "memory", "cc"); #endif } @@ -871,8 +860,7 @@ cld \n\ repne \n\ movsl" : - "=D" (_port_), "=S" (addr), "=c" (count) : - "0" (_port_), "1" (addr), "2" (count) : + "+D" (_port_), "+S" (addr), "+c" (count) :: "memory", "cc"); #endif } @@ -1247,9 +1235,9 @@ { #ifdef __GNUCLIKE_ASM if (flags & BUS_SPACE_BARRIER_READ) - __asm __volatile("lock; addl $0,0(%%rsp)" : : : "memory"); + __asm __volatile("lfence" : : : "memory"); else - __asm __volatile("" : : : "memory"); + __asm __volatile("sfence"); #endif } From owner-p4-projects@FreeBSD.ORG Fri Apr 15 23:16:08 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9D43116A4D0; Fri, 15 Apr 2005 23:16:07 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5D70516A4CF for ; Fri, 15 Apr 2005 23:16:07 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1591043D3F for ; Fri, 15 Apr 2005 23:16:07 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3FNG6EA009009 for ; Fri, 15 Apr 2005 23:16:06 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3FNG6ff009006 for perforce@freebsd.org; Fri, 15 Apr 2005 23:16:06 GMT (envelope-from davidxu@freebsd.org) Date: Fri, 15 Apr 2005 23:16:06 GMT Message-Id: <200504152316.j3FNG6ff009006@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75296 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2005 23:16:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=75296 Change 75296 by davidxu@davidxu_tiger on 2005/04/15 23:16:02 Clear process scope group. Affected files ... .. //depot/projects/davidxu_thread/src/sys/kern/kern_thread.c#9 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/kern/kern_thread.c#9 (text+ko) ==== @@ -992,6 +992,7 @@ p->p_flag &= ~(P_STOPPED_SINGLE | P_SINGLE_EXIT | P_SINGLE_BOUNDARY); mtx_lock_spin(&sched_lock); p->p_singlethread = NULL; + p->p_procscopegrp = NULL; /* * If there are other threads they mey now run, * unless of course there is a blanket 'stop order' From owner-p4-projects@FreeBSD.ORG Sat Apr 16 03:14:58 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CADF316A4D0; Sat, 16 Apr 2005 03:14:57 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 973C116A4CE for ; Sat, 16 Apr 2005 03:14:57 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D382C43D31 for ; Sat, 16 Apr 2005 03:14:56 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3G3Eu9A024779 for ; Sat, 16 Apr 2005 03:14:56 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3G3Eu28024776 for perforce@freebsd.org; Sat, 16 Apr 2005 03:14:56 GMT (envelope-from anholt@freebsd.org) Date: Sat, 16 Apr 2005 03:14:56 GMT Message-Id: <200504160314.j3G3Eu28024776@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75304 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 03:14:58 -0000 http://perforce.freebsd.org/chv.cgi?CH=75304 Change 75304 by anholt@anholt_leguin on 2005/04/16 03:14:38 MF DRI CVS (2005-04-15) Affected files ... .. //depot/projects/drm-merge-vendor/sys/dev/drm/ati_pcigart.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drmP.h#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_agpsupport.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_atomic.h#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_auth.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_bufs.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_context.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_dma.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_drawable.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_drv.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_fops.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_ioctl.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_irq.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_linux_list.h#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_lock.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_memory.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_pci.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_scatter.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_sysctl.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/drm_vm.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/i915_drv.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/mach64_drv.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/mga_drv.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/r128_drv.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drv.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/savage_drv.c#2 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/sis_drv.c#3 edit .. //depot/projects/drm-merge-vendor/sys/dev/drm/tdfx_drv.c#3 edit Differences ... ==== //depot/projects/drm-merge-vendor/sys/dev/drm/ati_pcigart.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* ati_pcigart.h -- ATI PCI GART support -*- linux-c -*- * Created: Wed Dec 13 21:52:19 2000 by gareth@valinux.com - * + */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drmP.h#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drmP.h -- Private header for Direct Rendering Manager -*- linux-c -*- * Created: Mon Jan 4 10:05:05 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All rights reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_agpsupport.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_agpsupport.h -- DRM support for AGP/GART backend -*- linux-c -*- * Created: Mon Dec 13 09:56:45 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_atomic.h#2 (text+ko) ==== @@ -5,7 +5,7 @@ * \author Eric Anholt */ -/* +/*- * Copyright 2004 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_auth.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_auth.h -- IOCTLs for authentication -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_bufs.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_bufs.h -- Generic buffer template -*- linux-c -*- * Created: Thu Nov 23 03:10:50 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. @@ -979,8 +980,13 @@ #ifdef __FreeBSD__ vaddr = round_page((vm_offset_t)vms->vm_daddr + MAXDSIZ); +#if __FreeBSD_version >= 600023 retcode = vm_mmap(&vms->vm_map, &vaddr, size, PROT_READ | PROT_WRITE, + VM_PROT_ALL, MAP_SHARED, OBJT_DEVICE, kdev, foff ); +#else + retcode = vm_mmap(&vms->vm_map, &vaddr, size, PROT_READ | PROT_WRITE, VM_PROT_ALL, MAP_SHARED, SLIST_FIRST(&kdev->si_hlist), foff ); +#endif #elif defined(__NetBSD__) || defined(__OpenBSD__) vaddr = round_page((vaddr_t)vms->vm_daddr + MAXDSIZ); retcode = uvm_mmap(&vms->vm_map, &vaddr, size, ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_context.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_context.h -- IOCTLs for generic contexts -*- linux-c -*- * Created: Fri Nov 24 18:31:37 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_dma.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_dma.c -- DMA IOCTL and function support -*- linux-c -*- * Created: Fri Mar 19 14:30:16 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_drawable.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_drawable.h -- IOCTLs for drawables -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_drv.h -- Generic driver template -*- linux-c -*- * Created: Thu Nov 23 03:10:50 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_fops.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_fops.h -- File operations for DRM -*- linux-c -*- * Created: Mon Jan 4 08:58:31 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_ioctl.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_ioctl.h -- IOCTL processing for DRM -*- linux-c -*- * Created: Fri Jan 8 09:01:26 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_irq.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_dma.c -- DMA IOCTL and function support * Created: Fri Oct 18 2003 by anholt@FreeBSD.org - * + */ +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_linux_list.h#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_linux_list.h -- linux list functions for the BSDs. * Created: Mon Apr 7 14:30:16 1999 by anholt@FreeBSD.org - * + */ +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * @@ -25,6 +26,7 @@ * * Authors: * Eric Anholt + * */ struct list_head { ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_lock.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* lock.c -- IOCTLs for locking -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_memory.c#2 (text+ko) ==== @@ -1,7 +1,8 @@ /* drm_memory.h -- Memory management wrappers for DRM -*- linux-c -*- * Created: Thu Feb 4 14:00:34 1999 by faith@valinux.com - * - * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. + */ +/*- + *Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_pci.c#2 (text+ko) ==== @@ -5,7 +5,7 @@ * \author Eric Anholt */ -/* +/*- * Copyright 2003 Eric Anholt. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_scatter.c#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* drm_scatter.h -- IOCTLs to manage scatter/gather memory -*- linux-c -*- - * Created: Mon Dec 18 23:20:54 2000 by gareth@valinux.com - * + * Created: Mon Dec 18 23:20:54 2000 by gareth@valinux.com */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_sysctl.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/drm_vm.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/i915_drv.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* i915_drv.c -- ATI Radeon driver -*- linux-c -*- * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com - * + */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/mach64_drv.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* mach64_drv.c -- ATI Rage 128 driver -*- linux-c -*- * Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/mga_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* mga_drv.c -- Matrox G200/G400 driver -*- linux-c -*- * Created: Mon Dec 13 01:56:22 1999 by jhartmann@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/r128_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* r128_drv.c -- ATI Rage 128 driver -*- linux-c -*- * Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/radeon_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* radeon_drv.c -- ATI Radeon driver -*- linux-c -*- * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com - * + */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/savage_drv.c#2 (text+ko) ==== @@ -1,5 +1,6 @@ /* savage_drv.c -- Savage DRI driver - * + */ +/*- * Copyright 2005 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge-vendor/sys/dev/drm/sis_drv.c#3 (text+ko) ==== @@ -1,5 +1,6 @@ /* sis.c -- sis driver -*- linux-c -*- - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge-vendor/sys/dev/drm/tdfx_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* tdfx_drv.c -- tdfx driver -*- linux-c -*- * Created: Thu Oct 7 10:38:32 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. From owner-p4-projects@FreeBSD.ORG Sat Apr 16 03:36:24 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB33416A4D0; Sat, 16 Apr 2005 03:36:23 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE76716A4CE for ; Sat, 16 Apr 2005 03:36:23 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E40C843D31 for ; Sat, 16 Apr 2005 03:36:22 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3G3aMeX025527 for ; Sat, 16 Apr 2005 03:36:22 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3G3aMUN025524 for perforce@freebsd.org; Sat, 16 Apr 2005 03:36:22 GMT (envelope-from anholt@freebsd.org) Date: Sat, 16 Apr 2005 03:36:22 GMT Message-Id: <200504160336.j3G3aMUN025524@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75305 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 03:36:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=75305 Change 75305 by anholt@anholt_leguin on 2005/04/16 03:36:19 IF drm-merge-vendor@75304 Affected files ... .. //depot/projects/drm-merge/sys/dev/drm/ati_pcigart.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drmP.h#5 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_agpsupport.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_atomic.h#2 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_auth.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#4 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_context.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_dma.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_drawable.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_drv.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_fops.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_ioctl.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_irq.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_linux_list.h#4 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_lock.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_memory.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_pci.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_scatter.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_sysctl.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/drm_vm.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/i915_drv.c#2 integrate .. //depot/projects/drm-merge/sys/dev/drm/mach64_drv.c#3 integrate .. //depot/projects/drm-merge/sys/dev/drm/mga_drv.c#5 integrate .. //depot/projects/drm-merge/sys/dev/drm/r128_drv.c#5 integrate .. //depot/projects/drm-merge/sys/dev/drm/radeon_drv.c#5 integrate .. //depot/projects/drm-merge/sys/dev/drm/savage_drv.c#2 integrate .. //depot/projects/drm-merge/sys/dev/drm/sis_drv.c#5 integrate .. //depot/projects/drm-merge/sys/dev/drm/tdfx_drv.c#5 integrate Differences ... ==== //depot/projects/drm-merge/sys/dev/drm/ati_pcigart.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* ati_pcigart.h -- ATI PCI GART support -*- linux-c -*- * Created: Wed Dec 13 21:52:19 2000 by gareth@valinux.com - * + */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drmP.h#5 (text+ko) ==== @@ -1,5 +1,6 @@ /* drmP.h -- Private header for Direct Rendering Manager -*- linux-c -*- - * Created: Mon Jan 4 10:05:05 1999 by faith@precisioninsight.com */ + * Created: Mon Jan 4 10:05:05 1999 by faith@precisioninsight.com + */ /*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. ==== //depot/projects/drm-merge/sys/dev/drm/drm_agpsupport.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_agpsupport.h -- DRM support for AGP/GART backend -*- linux-c -*- * Created: Mon Dec 13 09:56:45 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_atomic.h#2 (text+ko) ==== @@ -5,7 +5,7 @@ * \author Eric Anholt */ -/* +/*- * Copyright 2004 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_auth.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_auth.h -- IOCTLs for authentication -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#4 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_bufs.h -- Generic buffer template -*- linux-c -*- * Created: Thu Nov 23 03:10:50 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_context.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_context.h -- IOCTLs for generic contexts -*- linux-c -*- * Created: Fri Nov 24 18:31:37 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_dma.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_dma.c -- DMA IOCTL and function support -*- linux-c -*- * Created: Fri Mar 19 14:30:16 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_drawable.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_drawable.h -- IOCTLs for drawables -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_drv.h -- Generic driver template -*- linux-c -*- * Created: Thu Nov 23 03:10:50 2000 by gareth@valinux.com - * + */ +/*- * Copyright 1999, 2000 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_fops.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_fops.h -- File operations for DRM -*- linux-c -*- * Created: Mon Jan 4 08:58:31 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_ioctl.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_ioctl.h -- IOCTL processing for DRM -*- linux-c -*- * Created: Fri Jan 8 09:01:26 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_irq.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* drm_dma.c -- DMA IOCTL and function support * Created: Fri Oct 18 2003 by anholt@FreeBSD.org - * + */ +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_linux_list.h#4 (text+ko) ==== @@ -1,5 +1,6 @@ /* drm_linux_list.h -- linux list functions for the BSDs. - * Created: Mon Apr 7 14:30:16 1999 by anholt@FreeBSD.org */ + * Created: Mon Apr 7 14:30:16 1999 by anholt@FreeBSD.org + */ /*- * Copyright 2003 Eric Anholt * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_lock.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* lock.c -- IOCTLs for locking -*- linux-c -*- * Created: Tue Feb 2 08:37:54 1999 by faith@valinux.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/drm_memory.c#3 (text+ko) ==== @@ -1,7 +1,8 @@ /* drm_memory.h -- Memory management wrappers for DRM -*- linux-c -*- * Created: Thu Feb 4 14:00:34 1999 by faith@valinux.com - * - * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. + */ +/*- + *Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_pci.c#3 (text+ko) ==== @@ -5,7 +5,7 @@ * \author Eric Anholt */ -/* +/*- * Copyright 2003 Eric Anholt. * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_scatter.c#3 (text+ko) ==== @@ -1,6 +1,6 @@ /* drm_scatter.h -- IOCTLs to manage scatter/gather memory -*- linux-c -*- - * Created: Mon Dec 18 23:20:54 2000 by gareth@valinux.com - * + * Created: Mon Dec 18 23:20:54 2000 by gareth@valinux.com */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_sysctl.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/drm_vm.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* +/*- * Copyright 2003 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/i915_drv.c#2 (text+ko) ==== @@ -1,6 +1,7 @@ /* i915_drv.c -- ATI Radeon driver -*- linux-c -*- * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com - * + */ +/*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/mach64_drv.c#3 (text+ko) ==== @@ -1,6 +1,7 @@ /* mach64_drv.c -- ATI Rage 128 driver -*- linux-c -*- * Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com - * + */ +/*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/mga_drv.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /* mga_drv.c -- Matrox G200/G400 driver -*- linux-c -*- - * Created: Mon Dec 13 01:56:22 1999 by jhartmann@precisioninsight.com */ + * Created: Mon Dec 13 01:56:22 1999 by jhartmann@precisioninsight.com + */ /*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. ==== //depot/projects/drm-merge/sys/dev/drm/r128_drv.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /* r128_drv.c -- ATI Rage 128 driver -*- linux-c -*- - * Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com */ + * Created: Mon Dec 13 09:47:27 1999 by faith@precisioninsight.com + */ /*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. ==== //depot/projects/drm-merge/sys/dev/drm/radeon_drv.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /* radeon_drv.c -- ATI Radeon driver -*- linux-c -*- - * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com */ + * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com + */ /*- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All Rights Reserved. ==== //depot/projects/drm-merge/sys/dev/drm/savage_drv.c#2 (text+ko) ==== @@ -1,5 +1,6 @@ /* savage_drv.c -- Savage DRI driver - * + */ +/*- * Copyright 2005 Eric Anholt * All Rights Reserved. * ==== //depot/projects/drm-merge/sys/dev/drm/sis_drv.c#5 (text+ko) ==== @@ -1,4 +1,5 @@ -/* sis.c -- sis driver -*- linux-c -*- */ +/* sis.c -- sis driver -*- linux-c -*- + */ /*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. ==== //depot/projects/drm-merge/sys/dev/drm/tdfx_drv.c#5 (text+ko) ==== @@ -1,5 +1,6 @@ /* tdfx_drv.c -- tdfx driver -*- linux-c -*- - * Created: Thu Oct 7 10:38:32 1999 by faith@precisioninsight.com */ + * Created: Thu Oct 7 10:38:32 1999 by faith@precisioninsight.com + */ /*- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. From owner-p4-projects@FreeBSD.ORG Sat Apr 16 03:40:30 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 910B516A4D0; Sat, 16 Apr 2005 03:40:29 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5447916A4CE for ; Sat, 16 Apr 2005 03:40:29 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 999FD43D45 for ; Sat, 16 Apr 2005 03:40:28 +0000 (GMT) (envelope-from anholt@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3G3eSvE025681 for ; Sat, 16 Apr 2005 03:40:28 GMT (envelope-from anholt@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3G3eScK025678 for perforce@freebsd.org; Sat, 16 Apr 2005 03:40:28 GMT (envelope-from anholt@freebsd.org) Date: Sat, 16 Apr 2005 03:40:28 GMT Message-Id: <200504160340.j3G3eScK025678@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anholt@freebsd.org using -f From: Eric Anholt To: Perforce Change Reviews Subject: PERFORCE change 75306 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 03:40:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=75306 Change 75306 by anholt@anholt_leguin on 2005/04/16 03:40:12 Add $FreeBSD$s again. Sigh. Affected files ... .. //depot/projects/drm-merge/sys/dev/drm/ati_pcigart.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_agpsupport.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_atomic.h#3 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_auth.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#5 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_context.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_dma.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_drawable.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_drv.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_fops.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_ioctl.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_irq.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_lock.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_memory.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_pci.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_scatter.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_sysctl.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/drm_vm.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_dma.c#2 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_drm.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_drv.c#3 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_drv.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_irq.c#2 edit .. //depot/projects/drm-merge/sys/dev/drm/i915_mem.c#2 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_dma.c#5 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_drm.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_drv.c#4 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_drv.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_irq.c#3 edit .. //depot/projects/drm-merge/sys/dev/drm/mach64_state.c#3 edit .. //depot/projects/drm-merge/sys/dev/drm/savage_bci.c#2 edit .. //depot/projects/drm-merge/sys/dev/drm/savage_drm.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/savage_drv.c#3 edit .. //depot/projects/drm-merge/sys/dev/drm/savage_drv.h#2 edit .. //depot/projects/drm-merge/sys/dev/drm/savage_state.c#2 edit .. //depot/projects/drm-merge/sys/dev/drm/tdfx_drv.h#2 edit Differences ... ==== //depot/projects/drm-merge/sys/dev/drm/ati_pcigart.c#4 (text+ko) ==== @@ -27,6 +27,7 @@ * Authors: * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_agpsupport.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_atomic.h#3 (text+ko) ==== @@ -27,6 +27,8 @@ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ /* Many of these implementations are rather fake, but good enough. */ ==== //depot/projects/drm-merge/sys/dev/drm/drm_auth.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_bufs.c#5 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_context.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_dma.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_drawable.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_drv.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_fops.c#4 (text+ko) ==== @@ -30,6 +30,7 @@ * Daryll Strauss * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_ioctl.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_irq.c#4 (text+ko) ==== @@ -26,6 +26,7 @@ * Authors: * Eric Anholt * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_lock.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_memory.c#4 (text+ko) ==== @@ -29,6 +29,7 @@ * Rickard E. (Rik) Faith * Gareth Hughes * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_pci.c#4 (text+ko) ==== @@ -26,6 +26,8 @@ * AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_scatter.c#4 (text+ko) ==== @@ -27,6 +27,7 @@ * Gareth Hughes * Eric Anholt * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_sysctl.c#4 (text+ko) ==== @@ -19,6 +19,8 @@ * ERIC ANHOLT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/drm_vm.c#4 (text+ko) ==== @@ -19,6 +19,8 @@ * ERIC ANHOLT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/i915_dma.c#2 (text+ko) ==== @@ -1,4 +1,6 @@ /* i915_dma.c -- DMA support for the I915 -*- linux-c -*- + * + * $FreeBSD$ */ /************************************************************************** * ==== //depot/projects/drm-merge/sys/dev/drm/i915_drm.h#2 (text+ko) ==== @@ -1,3 +1,5 @@ +/* $FreeBSD$ */ + #ifndef _I915_DRM_H_ #define _I915_DRM_H_ ==== //depot/projects/drm-merge/sys/dev/drm/i915_drv.c#3 (text+ko) ==== @@ -27,6 +27,7 @@ * Authors: * Gareth Hughes * + * $FreeBSD$ */ #include "drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/i915_drv.h#2 (text+ko) ==== @@ -1,4 +1,6 @@ /* i915_drv.h -- Private header for the I915 driver -*- linux-c -*- + * + * $FreeBSD$ */ /************************************************************************** * ==== //depot/projects/drm-merge/sys/dev/drm/i915_irq.c#2 (text+ko) ==== @@ -1,4 +1,6 @@ /* i915_dma.c -- DMA support for the I915 -*- linux-c -*- + * + * $FreeBSD$ */ /************************************************************************** * ==== //depot/projects/drm-merge/sys/dev/drm/i915_mem.c#2 (text+ko) ==== @@ -1,4 +1,6 @@ /* i915_mem.c -- Simple agp/fb memory manager for i915 -*- linux-c -*- + * + * $FreeBSD$ */ /************************************************************************** * ==== //depot/projects/drm-merge/sys/dev/drm/mach64_dma.c#5 (text+ko) ==== @@ -32,6 +32,8 @@ * THE COPYRIGHT OWNER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/mach64_drm.h#2 (text+ko) ==== @@ -28,6 +28,8 @@ * Gareth Hughes * Frank C. Earl * Leif Delgass + * + * $FreeBSD$ */ #ifndef __MACH64_DRM_H__ ==== //depot/projects/drm-merge/sys/dev/drm/mach64_drv.c#4 (text+ko) ==== @@ -28,6 +28,8 @@ * Authors: * Rickard E. (Rik) Faith * Gareth Hughes + * + * $FreeBSD$ */ ==== //depot/projects/drm-merge/sys/dev/drm/mach64_drv.h#2 (text+ko) ==== @@ -29,6 +29,8 @@ * Frank C. Earl * Leif Delgass * Jos�Fonseca + * + * $FreeBSD$ */ #ifndef __MACH64_DRV_H__ ==== //depot/projects/drm-merge/sys/dev/drm/mach64_irq.c#3 (text+ko) ==== @@ -32,6 +32,8 @@ * Keith Whitwell * Eric Anholt * Leif Delgass + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/mach64_state.c#3 (text+ko) ==== @@ -27,6 +27,8 @@ * Gareth Hughes * Leif Delgass * Jos�Fonseca + * + * $FreeBSD$ */ #include "dev/drm/drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/savage_bci.c#2 (text+ko) ==== @@ -21,7 +21,10 @@ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ + #include "drmP.h" #include "savage_drm.h" #include "savage_drv.h" ==== //depot/projects/drm-merge/sys/dev/drm/savage_drm.h#2 (text+ko) ==== @@ -21,6 +21,8 @@ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #ifndef __SAVAGE_DRM_H__ ==== //depot/projects/drm-merge/sys/dev/drm/savage_drv.c#3 (text+ko) ==== @@ -24,6 +24,8 @@ * * Authors: * Eric Anholt + * + * $FreeBSD$ */ #include "drmP.h" ==== //depot/projects/drm-merge/sys/dev/drm/savage_drv.h#2 (text+ko) ==== @@ -21,6 +21,8 @@ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ #ifndef __SAVAGE_DRV_H__ ==== //depot/projects/drm-merge/sys/dev/drm/savage_state.c#2 (text+ko) ==== @@ -21,7 +21,10 @@ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * $FreeBSD$ */ + #include "drmP.h" #include "savage_drm.h" #include "savage_drv.h" ==== //depot/projects/drm-merge/sys/dev/drm/tdfx_drv.h#2 (text+ko) ==== @@ -25,6 +25,8 @@ * * Authors: * Gareth Hughes + * + * $FreeBSD$ */ #ifndef __TDFX_H__ From owner-p4-projects@FreeBSD.ORG Sat Apr 16 11:02:28 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AAB9116A4D1; Sat, 16 Apr 2005 11:02:27 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 84A8616A4CF for ; Sat, 16 Apr 2005 11:02:27 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A04E43D58 for ; Sat, 16 Apr 2005 11:02:27 +0000 (GMT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GB2Reu057393 for ; Sat, 16 Apr 2005 11:02:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GB2RH6057390 for perforce@freebsd.org; Sat, 16 Apr 2005 11:02:27 GMT (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Sat, 16 Apr 2005 11:02:27 GMT Message-Id: <200504161102.j3GB2RH6057390@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to bb+lists.freebsd.perforce@cyrus.watson.org using -f From: Robert Watson To: Perforce Change Reviews Subject: PERFORCE change 75313 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 11:02:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=75313 Change 75313 by rwatson@rwatson_paprika on 2005/04/16 11:01:50 Only allocate storage for a new rule if we're not deleting an existing rule. Affected files ... .. //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#89 edit Differences ... ==== //depot/projects/trustedbsd/mac/sys/security/mac_bsdextended/mac_bsdextended.c#89 (text+ko) ==== @@ -154,7 +154,7 @@ return (ENOENT); ruleptr = NULL; - if (req->newptr) { + if (req->newptr && req->newlen != 0) { error = SYSCTL_IN(req, &temprule, sizeof(temprule)); if (error) return (error); @@ -178,7 +178,7 @@ if (req->newptr && req->newlen == 0) { /* printf("deletion\n"); */ - FREE(ruleptr, M_MACBSDEXTENDED); + KASSERT(ruleptr == NULL, ("sysctl_rule: ruleptr != NULL")); ruleptr = rules[index]; if (ruleptr == NULL) { error = ENOENT; From owner-p4-projects@FreeBSD.ORG Sat Apr 16 12:54:45 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2BA9816A4D0; Sat, 16 Apr 2005 12:54:45 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DCE5916A4CE for ; Sat, 16 Apr 2005 12:54:44 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AAC1143D5A for ; Sat, 16 Apr 2005 12:54:44 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GCsiQ8068450 for ; Sat, 16 Apr 2005 12:54:44 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GCsi5N068447 for perforce@freebsd.org; Sat, 16 Apr 2005 12:54:44 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 16 Apr 2005 12:54:44 GMT Message-Id: <200504161254.j3GCsi5N068447@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75318 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 12:54:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=75318 Change 75318 by davidxu@davidxu_tiger on 2005/04/16 12:54:24 1. Save tid to parent thread correctly. 2. Update comments. 3. Fix a long standing bug when thread is created with THR_SUSPENDED, thr_wake can not resume it! (julian ?) Affected files ... .. //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#15 edit .. //depot/projects/davidxu_thread/src/sys/sys/thr.h#7 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/kern/kern_thr.c#15 (text+ko) ==== @@ -183,6 +183,7 @@ int thr_create2(struct thread *td, struct thr_create2_args *uap) + /* struct thr_param * */ { struct thr_param param; stack_t stack; @@ -204,7 +205,11 @@ (p->p_numthreads >= max_threads_per_proc)) { return (EPROCLIM); } + + /* Check PTHREAD_SCOPE_SYSTEM */ scope_sys = (param.flags & THR_SYSTEM_SCOPE) != 0; + + /* sysctl overrides user's flag */ if (thr_scope == 1) scope_sys = 0; else if (thr_scope == 2) @@ -214,12 +219,17 @@ newtd = thread_alloc(); /* - * Try the copyout as soon as we allocate the td so we don't have to - * tear things down in a failure case below. + * Try the copyout as soon as we allocate the td so we don't + * have to tear things down in a failure case below. + * Here we copy out tid to two places, one for child and one + * for parent, because pthread can create a detached thread, + * if parent wants to safely access child tid, it has to provide + * its storage, because child thread may exit quickly and + * memory is freed before parent thread can access it. */ id = newtd->td_tid; if ((error = copyout(&id, param.child_tid, sizeof(long))) || - (error = copyout(&id, ¶m.parent_tid, sizeof(long)))) { + (error = copyout(&id, param.parent_tid, sizeof(long)))) { thread_free(newtd); return (error); } @@ -240,6 +250,7 @@ /* Setup user TLS address and TLS pointer register. */ cpu_set_user_tls(newtd, param.tls_base, param.tls_size, param.tls_seg); if ((td->td_proc->p_flag & P_HADTHREADS) == 0) { + /* Treat initial thread as it has PTHREAD_SCOPE_PROCESS. */ p->p_procscopegrp = kg; mtx_lock_spin(&sched_lock); sched_set_concurrency(kg, @@ -258,6 +269,10 @@ sched_init_concurrency(newkg); PROC_LOCK(td->td_proc); } else { + /* + * Try to create a KSE group which will be shared + * by all PTHREAD_SCOPE_PROCESS threads. + */ retry: PROC_LOCK(td->td_proc); if ((newkg = p->p_procscopegrp) == NULL) { @@ -329,10 +344,6 @@ suword((void *)uap->state, 1); PROC_LOCK(p); - #if 0 - SIGFILLSET(td->td_siglist); - sigrepost(td); - #endif mtx_lock_spin(&sched_lock); /* * Shutting down last thread in the proc. This will actually @@ -439,8 +450,13 @@ } mtx_lock_spin(&sched_lock); ttd->td_flags |= TDF_THRWAKEUP; - mtx_unlock_spin(&sched_lock); - wakeup((void *)ttd); + if (TD_CAN_RUN(ttd)) { /* if thread was created with suspended */ + setrunnable(ttd); + mtx_unlock_spin(&sched_lock); + } else { + mtx_unlock_spin(&sched_lock); + wakeup((void *)ttd); + } PROC_UNLOCK(td->td_proc); return (0); } ==== //depot/projects/davidxu_thread/src/sys/sys/thr.h#7 (text+ko) ==== @@ -34,10 +34,6 @@ #define THR_SUSPENDED 0x0001 /* Create the system scope thread. */ #define THR_SYSTEM_SCOPE 0x0002 -/* Remember user TID address in kernel, when exits, - write zero to the address and do umtx_wake() - on the address, the pthread_join can use this feature. */ -#define THR_REMBER_TID_ADDRESS 0x0004 struct thr_param { void (*start_func)(void *); /* thread entry function. */ @@ -48,7 +44,7 @@ size_t tls_size; /* tls size. */ int tls_seg; /* which seg is to set for tls. */ long *child_tid; /* address to store new TID. */ - long parent_tid; /* parent accesses the new TID here. */ + long *parent_tid; /* parent accesses the new TID here. */ int *user_crit; /* reserved */ int flags; }; From owner-p4-projects@FreeBSD.ORG Sat Apr 16 13:02:55 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3742616A4D0; Sat, 16 Apr 2005 13:02:55 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 12A6116A4CE for ; Sat, 16 Apr 2005 13:02:55 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EFD4F43D2D for ; Sat, 16 Apr 2005 13:02:54 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GD2sTv068780 for ; Sat, 16 Apr 2005 13:02:54 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GD2svq068777 for perforce@freebsd.org; Sat, 16 Apr 2005 13:02:54 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 16 Apr 2005 13:02:54 GMT Message-Id: <200504161302.j3GD2svq068777@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75319 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 13:02:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=75319 Change 75319 by davidxu@davidxu_tiger on 2005/04/16 13:02:52 Only need to update %gs. Affected files ... .. //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#8 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/i386/i386/vm_machdep.c#8 (text+ko) ==== @@ -471,7 +471,7 @@ void cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size, - int tls_seg) + int tls_seg __unused) { struct segment_descriptor sd; uint32_t base; @@ -494,19 +494,11 @@ sd.sd_def32 = 1; sd.sd_gran = 1; mtx_lock_spin(&sched_lock); - if (tls_seg == 0) { - /* set %gs */ - td->td_pcb->pcb_gsd = sd; - if (td == curthread) { - PCPU_GET(fsgs_gdt)[1] = sd; - load_gs(GSEL(GUGS_SEL, SEL_UPL)); - } - } else { - /* set %fs */ - td->td_pcb->pcb_fsd = sd; - if (td == curthread) - PCPU_GET(fsgs_gdt)[0] = sd; - td->td_frame->tf_fs = GSEL(GUFS_SEL, SEL_UPL); + /* current only uses %gs */ + td->td_pcb->pcb_gsd = sd; + if (td == curthread) { + PCPU_GET(fsgs_gdt)[1] = sd; + load_gs(GSEL(GUGS_SEL, SEL_UPL)); } mtx_unlock_spin(&sched_lock); } From owner-p4-projects@FreeBSD.ORG Sat Apr 16 13:09:03 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82AC416A4D0; Sat, 16 Apr 2005 13:09:03 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 57A4316A4CE for ; Sat, 16 Apr 2005 13:09:03 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E365143D54 for ; Sat, 16 Apr 2005 13:09:02 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GD92RH068983 for ; Sat, 16 Apr 2005 13:09:02 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GD9265068980 for perforce@freebsd.org; Sat, 16 Apr 2005 13:09:02 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 16 Apr 2005 13:09:02 GMT Message-Id: <200504161309.j3GD9265068980@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75320 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 13:09:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=75320 Change 75320 by davidxu@davidxu_tiger on 2005/04/16 13:08:28 Greatly improved the speed of thread creation by using thr_create2. we no longer have to silly doing getcontext->makecontext->sigprocmask thr_create->i386_set_gsbase->sigprocmask. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#11 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#11 (text+ko) ==== @@ -56,6 +56,7 @@ ucontext_t uc; sigset_t sigmask, oldsigmask; struct pthread *curthread, *new_thread; + struct thr_param param; int ret = 0, locked; _thr_check_init(); @@ -108,11 +109,13 @@ new_thread->arg = arg; new_thread->cancelflags = PTHREAD_CANCEL_ENABLE | PTHREAD_CANCEL_DEFERRED; +#if 0 getcontext(&uc); SIGFILLSET(uc.uc_sigmask); uc.uc_stack.ss_sp = new_thread->attr.stackaddr_attr; uc.uc_stack.ss_size = new_thread->attr.stacksize_attr; makecontext(&uc, (void (*)(void))thread_start, 1, new_thread); +#endif /* * Check if this thread is to inherit the scheduling * attributes from its parent: @@ -145,6 +148,7 @@ if (new_thread->attr.suspend == THR_CREATE_SUSPENDED) new_thread->flags = THR_FLAGS_SUSPENDED; new_thread->state = PS_RUNNING; +#if 0 /* * Thread created by thr_create() inherits currrent thread * sigmask, however, before new thread setup itself correctly, @@ -154,6 +158,7 @@ SIGDELSET(sigmask, SIGTRAP); __sys_sigprocmask(SIG_SETMASK, &sigmask, &oldsigmask); new_thread->sigmask = oldsigmask; +#endif /* Add the new thread. */ _thr_link(curthread, new_thread); /* Return thread pointer eariler so that new thread can use it. */ @@ -163,9 +168,23 @@ locked = 1; } else locked = 0; + param.start_func = thread_start; + param.arg = new_thread; + param.stack_base = new_thread->attr.stackaddr_attr; + param.stack_size = new_thread->attr.stacksize_attr; + param.tls_base = new_thread->tcb; + param.tls_size = sizeof(struct tcb); + param.tls_seg = 0; + param.child_tid = &new_thread->tid; + param.parent_tid = &new_thread->tid; + param.user_crit = 0; + param.flags = 0; /* Schedule the new thread. */ + ret = thr_create2(¶m, sizeof(param)); +#if 0 ret = thr_create(&uc, &new_thread->tid, 0); __sys_sigprocmask(SIG_SETMASK, &oldsigmask, NULL); +#endif if (ret != 0) { if (locked) THR_THREAD_UNLOCK(curthread, new_thread); @@ -218,11 +237,12 @@ static void thread_start(struct pthread *curthread) { +#if 0 _tcb_set(curthread->tcb); /* Thread was created with all signals blocked, unblock them. */ __sys_sigprocmask(SIG_SETMASK, &curthread->sigmask, NULL); - +#endif if (curthread->flags & THR_FLAGS_NEED_SUSPEND) _thr_suspend_check(curthread); From owner-p4-projects@FreeBSD.ORG Sat Apr 16 13:17:14 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A5D3716A4D0; Sat, 16 Apr 2005 13:17:13 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7F6C916A4CE for ; Sat, 16 Apr 2005 13:17:13 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6948B43D2D for ; Sat, 16 Apr 2005 13:17:13 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GDHD8B069331 for ; Sat, 16 Apr 2005 13:17:13 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GDHDW2069328 for perforce@freebsd.org; Sat, 16 Apr 2005 13:17:13 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 16 Apr 2005 13:17:13 GMT Message-Id: <200504161317.j3GDHDW2069328@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75321 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 13:17:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=75321 Change 75321 by davidxu@davidxu_tiger on 2005/04/16 13:17:01 Now we actually support PTHREAD_SCOPE_PROCESS and PTHREAD_SCOPE_SYSTEM. Affected files ... .. //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#12 edit Differences ... ==== //depot/projects/davidxu_thread/src/lib/libthr/thread/thr_create.c#12 (text+ko) ==== @@ -179,6 +179,8 @@ param.parent_tid = &new_thread->tid; param.user_crit = 0; param.flags = 0; + if (new_thread->attr.flags & PTHREAD_SCOPE_SYSTEM) + param.flags |= THR_SYSTEM_SCOPE; /* Schedule the new thread. */ ret = thr_create2(¶m, sizeof(param)); #if 0 From owner-p4-projects@FreeBSD.ORG Sat Apr 16 13:38:41 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC7E716A4D0; Sat, 16 Apr 2005 13:38:40 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A610E16A4CE for ; Sat, 16 Apr 2005 13:38:40 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 91EA143D31 for ; Sat, 16 Apr 2005 13:38:40 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GDceP6070292 for ; Sat, 16 Apr 2005 13:38:40 GMT (envelope-from davidxu@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GDceEQ070289 for perforce@freebsd.org; Sat, 16 Apr 2005 13:38:40 GMT (envelope-from davidxu@freebsd.org) Date: Sat, 16 Apr 2005 13:38:40 GMT Message-Id: <200504161338.j3GDceEQ070289@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to davidxu@freebsd.org using -f From: David Xu To: Perforce Change Reviews Subject: PERFORCE change 75324 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 13:38:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=75324 Change 75324 by davidxu@davidxu_tiger on 2005/04/16 13:37:39 Implement cpu_set_user_tls for AMD64. Affected files ... .. //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#6 edit Differences ... ==== //depot/projects/davidxu_thread/src/sys/amd64/amd64/vm_machdep.c#6 (text+ko) ==== @@ -327,7 +327,7 @@ * Set the trap frame to point at the beginning of the uts * function. */ - td->td_frame->tf_rbp = 0; + td->td_frame->tf_rbp = 0; td->td_frame->tf_rsp = ((register_t)stack->ss_sp + stack->ss_size) & ~0x0f; td->td_frame->tf_rsp -= 8; @@ -341,6 +341,21 @@ td->td_frame->tf_rdi = (register_t)arg; } +void +cpu_set_user_tls(struct thread *td, void *tls_base, size_t tls_size __unused, + int tls_seg __unused) +{ + + if (td == curthread) { + critical_enter(); + td->pcb->pcb_fsbase = tls_base; + wrmsr(MSR_FSBASE, pcb->pcb_fsbase); + critical_leave(); + } else { + td->pcb->pcb_fsbase = tls_base; + } +} + #ifdef SMP static void cpu_reset_proxy() From owner-p4-projects@FreeBSD.ORG Sat Apr 16 23:32:07 2005 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5528916A4D0; Sat, 16 Apr 2005 23:32:07 +0000 (GMT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E4E3C16A4CE for ; Sat, 16 Apr 2005 23:32:06 +0000 (GMT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EA2DD43D31 for ; Sat, 16 Apr 2005 23:32:05 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j3GNW5Ju006579 for ; Sat, 16 Apr 2005 23:32:05 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j3GNW0Wd006576 for perforce@freebsd.org; Sat, 16 Apr 2005 23:32:00 GMT (envelope-from marcel@freebsd.org) Date: Sat, 16 Apr 2005 23:32:00 GMT Message-Id: <200504162332.j3GNW0Wd006576@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 75349 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Apr 2005 23:32:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=75349 Change 75349 by marcel@marcel_nfs on 2005/04/16 23:31:40 IFC @75348 Affected files ... .. //depot/projects/ia64/bin/sh/sh.1#31 integrate .. //depot/projects/ia64/contrib/top/commands.c#5 integrate .. //depot/projects/ia64/contrib/top/top.c#6 integrate .. //depot/projects/ia64/etc/rc.d/cleanvar#8 integrate .. //depot/projects/ia64/games/fortune/datfiles/fortunes#47 integrate .. //depot/projects/ia64/lib/libc/i386/gen/_set_tp.c#3 integrate .. //depot/projects/ia64/lib/libc/i386/sys/Makefile.inc#8 integrate .. //depot/projects/ia64/lib/libc/i386/sys/i386_get_fsbase.c#1 branch .. //depot/projects/ia64/lib/libc/i386/sys/i386_get_gsbase.c#1 branch .. //depot/projects/ia64/lib/libc/i386/sys/i386_set_fsbase.c#1 branch .. //depot/projects/ia64/lib/libc/i386/sys/i386_set_gsbase.c#1 branch .. //depot/projects/ia64/lib/libc/net/getaddrinfo.c#22 integrate .. //depot/projects/ia64/lib/libc/net/gethostbydns.c#12 integrate .. //depot/projects/ia64/lib/libc/net/getservbyname.c#3 integrate .. //depot/projects/ia64/lib/libc/net/getservbyport.c#3 integrate .. //depot/projects/ia64/lib/libc/net/getservent.c#7 integrate .. //depot/projects/ia64/lib/libc/net/netdb_private.h#1 branch .. //depot/projects/ia64/lib/libc/net/res_query.c#8 integrate .. //depot/projects/ia64/lib/libdisk/disk.c#26 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/i386/pthread_md.c#4 integrate .. //depot/projects/ia64/lib/libpthread/arch/i386/include/pthread_md.h#10 integrate .. //depot/projects/ia64/lib/libthr/arch/i386/i386/pthread_md.c#2 integrate .. //depot/projects/ia64/lib/libthr/arch/i386/include/pthread_md.h#2 integrate .. //depot/projects/ia64/lib/libthread_db/libthr_db.c#3 integrate .. //depot/projects/ia64/lib/libugidfw/libugidfw.3#5 integrate .. //depot/projects/ia64/lib/libugidfw/ugidfw.c#9 integrate .. //depot/projects/ia64/lib/msun/Makefile#16 integrate .. //depot/projects/ia64/lib/msun/amd64/Makefile.inc#3 integrate .. //depot/projects/ia64/lib/msun/amd64/e_sqrtf.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_llrintf.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_lrintf.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_scalbn.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_scalbnf.S#1 branch .. //depot/projects/ia64/lib/msun/amd64/s_scalbnl.S#1 branch .. //depot/projects/ia64/lib/msun/i387/Makefile.inc#3 integrate .. //depot/projects/ia64/lib/msun/i387/s_ceill.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_copysignl.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_floorl.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_llrintf.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_lrintf.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_trunc.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_truncf.S#1 branch .. //depot/projects/ia64/lib/msun/i387/s_truncl.S#1 branch .. //depot/projects/ia64/lib/msun/man/trunc.3#2 integrate .. //depot/projects/ia64/lib/msun/src/math.h#25 integrate .. //depot/projects/ia64/lib/msun/src/s_truncl.c#1 branch .. //depot/projects/ia64/libexec/rtld-elf/i386/reloc.c#7 integrate .. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#149 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/installation/common/install.sgml#4 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/installation/common/layout.sgml#3 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/installation/common/trouble.sgml#3 integrate .. //depot/projects/ia64/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#9 integrate .. //depot/projects/ia64/sbin/geom/class/mirror/gmirror.8#6 integrate .. //depot/projects/ia64/sbin/idmapd/idmapd.c#5 integrate .. //depot/projects/ia64/sbin/sysctl/sysctl.c#21 integrate .. //depot/projects/ia64/share/Makefile#8 integrate .. //depot/projects/ia64/share/examples/etc/make.conf#48 integrate .. //depot/projects/ia64/share/man/man4/Makefile#84 integrate .. //depot/projects/ia64/share/man/man4/amr.4#11 integrate .. //depot/projects/ia64/share/man/man4/ata.4#15 integrate .. //depot/projects/ia64/share/man/man4/ataraid.4#1 branch .. //depot/projects/ia64/share/man/man4/polling.4#16 integrate .. //depot/projects/ia64/share/man/man5/make.conf.5#53 integrate .. //depot/projects/ia64/share/man/man9/Makefile#53 integrate .. //depot/projects/ia64/share/man/man9/alq.9#5 integrate .. //depot/projects/ia64/share/man/man9/taskqueue.9#9 integrate .. //depot/projects/ia64/sys/amd64/acpica/madt.c#9 integrate .. //depot/projects/ia64/sys/amd64/amd64/io_apic.c#6 integrate .. //depot/projects/ia64/sys/amd64/amd64/local_apic.c#9 integrate .. //depot/projects/ia64/sys/amd64/amd64/mptable.c#8 integrate .. //depot/projects/ia64/sys/amd64/amd64/sys_machdep.c#8 integrate .. //depot/projects/ia64/sys/amd64/conf/GENERIC#26 integrate .. //depot/projects/ia64/sys/amd64/conf/NOTES#9 integrate .. //depot/projects/ia64/sys/amd64/include/apicvar.h#6 integrate .. //depot/projects/ia64/sys/amd64/include/bus.h#3 integrate .. //depot/projects/ia64/sys/amd64/include/bus_amd64.h#6 delete .. //depot/projects/ia64/sys/amd64/include/legacyvar.h#4 integrate .. //depot/projects/ia64/sys/amd64/include/sysarch.h#6 integrate .. //depot/projects/ia64/sys/amd64/include/tss.h#5 integrate .. //depot/projects/ia64/sys/amd64/isa/clock.c#11 integrate .. //depot/projects/ia64/sys/arm/arm/pmap.c#11 integrate .. //depot/projects/ia64/sys/arm/sa11x0/sa11x0_io.c#5 integrate .. //depot/projects/ia64/sys/boot/i386/libi386/biosacpi.c#8 integrate .. //depot/projects/ia64/sys/boot/pc98/libpc98/vidconsole.c#4 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_all.c#20 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_da.c#61 integrate .. //depot/projects/ia64/sys/cam/scsi/scsi_sa.c#22 integrate .. //depot/projects/ia64/sys/coda/coda_vnops.c#20 integrate .. //depot/projects/ia64/sys/compat/linux/linux_file.c#23 integrate .. //depot/projects/ia64/sys/compat/linux/linux_getcwd.c#15 integrate .. //depot/projects/ia64/sys/compat/linux/linux_ioctl.c#33 integrate .. //depot/projects/ia64/sys/compat/ndis/winx64_wrap.S#2 integrate .. //depot/projects/ia64/sys/conf/Makefile.alpha#16 integrate .. //depot/projects/ia64/sys/conf/Makefile.amd64#11 integrate .. //depot/projects/ia64/sys/conf/Makefile.arm#8 integrate .. //depot/projects/ia64/sys/conf/Makefile.i386#14 integrate .. //depot/projects/ia64/sys/conf/Makefile.ia64#23 integrate .. //depot/projects/ia64/sys/conf/Makefile.pc98#14 integrate .. //depot/projects/ia64/sys/conf/Makefile.powerpc#21 integrate .. //depot/projects/ia64/sys/conf/Makefile.sparc64#21 integrate .. //depot/projects/ia64/sys/conf/NOTES#90 integrate .. //depot/projects/ia64/sys/conf/files#129 integrate .. //depot/projects/ia64/sys/conf/kern.pre.mk#35 integrate .. //depot/projects/ia64/sys/conf/options.amd64#11 integrate .. //depot/projects/ia64/sys/conf/options.i386#32 integrate .. //depot/projects/ia64/sys/conf/options.pc98#31 integrate .. //depot/projects/ia64/sys/contrib/dev/ath/freebsd/ah_osdep.c#6 integrate .. //depot/projects/ia64/sys/contrib/pf/net/pf.c#13 integrate .. //depot/projects/ia64/sys/ddb/db_print.c#5 integrate .. //depot/projects/ia64/sys/ddb/db_run.c#8 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi.c#61 integrate .. //depot/projects/ia64/sys/dev/acpica/acpi_ec.c#28 integrate .. //depot/projects/ia64/sys/dev/aic/aic_cbus.c#5 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.c#60 integrate .. //depot/projects/ia64/sys/dev/ata/ata-all.h#28 integrate .. //depot/projects/ia64/sys/dev/ata/ata-card.c#25 integrate .. //depot/projects/ia64/sys/dev/ata/ata-cbus.c#15 integrate .. //depot/projects/ia64/sys/dev/ata/ata-chipset.c#42 integrate .. //depot/projects/ia64/sys/dev/ata/ata-disk.c#40 integrate .. //depot/projects/ia64/sys/dev/ata/ata-isa.c#20 integrate .. //depot/projects/ia64/sys/dev/ata/ata-lowlevel.c#29 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cam.c#26 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-cd.c#45 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-fd.c#24 integrate .. //depot/projects/ia64/sys/dev/ata/atapi-tape.c#24 integrate .. //depot/projects/ia64/sys/dev/dpt/dpt_pci.c#10 integrate .. //depot/projects/ia64/sys/dev/drm/ati_pcigart.c#1 branch .. //depot/projects/ia64/sys/dev/drm/ati_pcigart.h#5 delete .. //depot/projects/ia64/sys/dev/drm/drm.h#7 integrate .. //depot/projects/ia64/sys/dev/drm/drmP.h#10 integrate .. //depot/projects/ia64/sys/dev/drm/drm_agpsupport.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_agpsupport.h#5 delete .. //depot/projects/ia64/sys/dev/drm/drm_atomic.h#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_auth.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_auth.h#6 delete .. //depot/projects/ia64/sys/dev/drm/drm_bufs.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_bufs.h#10 delete .. //depot/projects/ia64/sys/dev/drm/drm_context.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_context.h#8 delete .. //depot/projects/ia64/sys/dev/drm/drm_dma.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_dma.h#9 delete .. //depot/projects/ia64/sys/dev/drm/drm_drawable.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_drawable.h#5 delete .. //depot/projects/ia64/sys/dev/drm/drm_drv.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_drv.h#18 delete .. //depot/projects/ia64/sys/dev/drm/drm_fops.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_fops.h#10 delete .. //depot/projects/ia64/sys/dev/drm/drm_ioctl.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_ioctl.h#7 delete .. //depot/projects/ia64/sys/dev/drm/drm_irq.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_irq.h#4 delete .. //depot/projects/ia64/sys/dev/drm/drm_linux_list.h#3 integrate .. //depot/projects/ia64/sys/dev/drm/drm_lock.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_lock.h#6 delete .. //depot/projects/ia64/sys/dev/drm/drm_memory.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_memory.h#12 delete .. //depot/projects/ia64/sys/dev/drm/drm_memory_debug.h#4 delete .. //depot/projects/ia64/sys/dev/drm/drm_os_freebsd.h#18 delete .. //depot/projects/ia64/sys/dev/drm/drm_pci.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_pci.h#4 delete .. //depot/projects/ia64/sys/dev/drm/drm_pciids.h#2 integrate .. //depot/projects/ia64/sys/dev/drm/drm_sarea.h#5 integrate .. //depot/projects/ia64/sys/dev/drm/drm_scatter.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_scatter.h#6 delete .. //depot/projects/ia64/sys/dev/drm/drm_sysctl.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_sysctl.h#9 delete .. //depot/projects/ia64/sys/dev/drm/drm_vm.c#1 branch .. //depot/projects/ia64/sys/dev/drm/drm_vm.h#11 delete .. //depot/projects/ia64/sys/dev/drm/i915_dma.c#1 branch .. //depot/projects/ia64/sys/dev/drm/i915_drm.h#1 branch .. //depot/projects/ia64/sys/dev/drm/i915_drv.c#1 branch .. //depot/projects/ia64/sys/dev/drm/i915_drv.h#1 branch .. //depot/projects/ia64/sys/dev/drm/i915_irq.c#1 branch .. //depot/projects/ia64/sys/dev/drm/i915_mem.c#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_dma.c#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_drm.h#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_drv.c#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_drv.h#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_irq.c#1 branch .. //depot/projects/ia64/sys/dev/drm/mach64_state.c#1 branch .. //depot/projects/ia64/sys/dev/drm/mga.h#7 delete .. //depot/projects/ia64/sys/dev/drm/mga_dma.c#9 integrate .. //depot/projects/ia64/sys/dev/drm/mga_drm.h#5 integrate .. //depot/projects/ia64/sys/dev/drm/mga_drv.c#7 integrate .. //depot/projects/ia64/sys/dev/drm/mga_drv.h#8 integrate .. //depot/projects/ia64/sys/dev/drm/mga_irq.c#5 integrate .. //depot/projects/ia64/sys/dev/drm/mga_state.c#7 integrate .. //depot/projects/ia64/sys/dev/drm/mga_ucode.h#3 integrate .. //depot/projects/ia64/sys/dev/drm/mga_warp.c#5 integrate .. //depot/projects/ia64/sys/dev/drm/r128.h#8 delete .. //depot/projects/ia64/sys/dev/drm/r128_cce.c#9 integrate .. //depot/projects/ia64/sys/dev/drm/r128_drm.h#6 integrate .. //depot/projects/ia64/sys/dev/drm/r128_drv.c#7 integrate .. //depot/projects/ia64/sys/dev/drm/r128_drv.h#9 integrate .. //depot/projects/ia64/sys/dev/drm/r128_irq.c#5 integrate .. //depot/projects/ia64/sys/dev/drm/r128_state.c#10 integrate .. //depot/projects/ia64/sys/dev/drm/radeon.h#10 delete .. //depot/projects/ia64/sys/dev/drm/radeon_cp.c#10 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_drm.h#9 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_drv.c#10 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_drv.h#11 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_irq.c#6 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_mem.c#7 integrate .. //depot/projects/ia64/sys/dev/drm/radeon_state.c#12 integrate .. //depot/projects/ia64/sys/dev/drm/savage_bci.c#1 branch .. //depot/projects/ia64/sys/dev/drm/savage_drm.h#1 branch .. //depot/projects/ia64/sys/dev/drm/savage_drv.c#1 branch .. //depot/projects/ia64/sys/dev/drm/savage_drv.h#1 branch .. //depot/projects/ia64/sys/dev/drm/savage_state.c#1 branch .. //depot/projects/ia64/sys/dev/drm/sis.h#5 delete .. //depot/projects/ia64/sys/dev/drm/sis_drm.h#4 integrate .. //depot/projects/ia64/sys/dev/drm/sis_drv.c#5 integrate .. //depot/projects/ia64/sys/dev/drm/sis_drv.h#3 integrate .. //depot/projects/ia64/sys/dev/drm/sis_ds.c#3 integrate .. //depot/projects/ia64/sys/dev/drm/sis_ds.h#4 integrate .. //depot/projects/ia64/sys/dev/drm/sis_mm.c#6 integrate .. //depot/projects/ia64/sys/dev/drm/tdfx.h#6 delete .. //depot/projects/ia64/sys/dev/drm/tdfx_drv.c#7 integrate .. //depot/projects/ia64/sys/dev/drm/tdfx_drv.h#1 branch .. //depot/projects/ia64/sys/dev/ed/if_ed98.h#3 integrate .. //depot/projects/ia64/sys/dev/ep/if_ep.c#19 integrate .. //depot/projects/ia64/sys/dev/ida/ida.c#16 integrate .. //depot/projects/ia64/sys/dev/ida/ida_eisa.c#11 integrate .. //depot/projects/ia64/sys/dev/ida/ida_pci.c#14 integrate .. //depot/projects/ia64/sys/dev/ida/idareg.h#4 integrate .. //depot/projects/ia64/sys/dev/ida/idavar.h#6 integrate .. //depot/projects/ia64/sys/dev/pccbb/pccbb_pci.c#6 integrate .. //depot/projects/ia64/sys/dev/pci/pci.c#49 integrate .. //depot/projects/ia64/sys/dev/pci/pci_user.c#15 integrate .. //depot/projects/ia64/sys/dev/pci/pcib_if.m#3 integrate .. //depot/projects/ia64/sys/dev/ppbus/pps.c#15 integrate .. //depot/projects/ia64/sys/dev/sound/pci/es137x.c#15 integrate .. //depot/projects/ia64/sys/dev/sound/usb/uaudio_pcm.c#9 integrate .. //depot/projects/ia64/sys/dev/wi/if_wi.c#60 integrate .. //depot/projects/ia64/sys/fs/devfs/devfs_vnops.c#40 integrate .. //depot/projects/ia64/sys/fs/hpfs/hpfs_vnops.c#31 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_conv.c#11 integrate .. //depot/projects/ia64/sys/fs/msdosfs/msdosfs_lookup.c#9 integrate .. //depot/projects/ia64/sys/fs/nwfs/nwfs_vnops.c#15 integrate .. //depot/projects/ia64/sys/fs/pseudofs/pseudofs_vnops.c#29 integrate .. //depot/projects/ia64/sys/fs/smbfs/smbfs_vnops.c#30 integrate .. //depot/projects/ia64/sys/fs/udf/ecma167-udf.h#4 integrate .. //depot/projects/ia64/sys/fs/udf/udf_vnops.c#32 integrate .. //depot/projects/ia64/sys/fs/unionfs/union_vnops.c#25 integrate .. //depot/projects/ia64/sys/gnu/ext2fs/ext2_lookup.c#18 integrate .. //depot/projects/ia64/sys/i386/acpica/madt.c#9 integrate .. //depot/projects/ia64/sys/i386/conf/NOTES#64 integrate .. //depot/projects/ia64/sys/i386/i386/genassym.c#23 integrate .. //depot/projects/ia64/sys/i386/i386/io_apic.c#6 integrate .. //depot/projects/ia64/sys/i386/i386/local_apic.c#10 integrate .. //depot/projects/ia64/sys/i386/i386/machdep.c#62 integrate .. //depot/projects/ia64/sys/i386/i386/mp_machdep.c#44 integrate .. //depot/projects/ia64/sys/i386/i386/mptable.c#10 integrate .. //depot/projects/ia64/sys/i386/i386/swtch.s#16 integrate .. //depot/projects/ia64/sys/i386/i386/sys_machdep.c#29 integrate .. //depot/projects/ia64/sys/i386/i386/vm86bios.s#5 integrate .. //depot/projects/ia64/sys/i386/include/apicvar.h#7 integrate .. //depot/projects/ia64/sys/i386/include/clock.h#11 integrate .. //depot/projects/ia64/sys/i386/include/pc/display.h#3 integrate .. //depot/projects/ia64/sys/i386/include/pcb.h#12 integrate .. //depot/projects/ia64/sys/i386/include/pcpu.h#12 integrate .. //depot/projects/ia64/sys/i386/include/segments.h#10 integrate .. //depot/projects/ia64/sys/i386/include/sysarch.h#10 integrate .. //depot/projects/ia64/sys/i386/linux/linux.h#7 integrate .. //depot/projects/ia64/sys/i386/pci/pci_pir.c#7 integrate .. //depot/projects/ia64/sys/ia64/ia64/db_trace.c#17 integrate .. //depot/projects/ia64/sys/ia64/ia64/mp_machdep.c#40 integrate .. //depot/projects/ia64/sys/ia64/ia64/unwind.c#13 integrate .. //depot/projects/ia64/sys/isa/isahint.c#5 integrate .. //depot/projects/ia64/sys/isa/isavar.h#8 integrate .. //depot/projects/ia64/sys/isofs/cd9660/cd9660_lookup.c#12 integrate .. //depot/projects/ia64/sys/kern/kern_alq.c#11 integrate .. //depot/projects/ia64/sys/kern/kern_ktr.c#20 integrate .. //depot/projects/ia64/sys/kern/kern_mac.c#38 integrate .. //depot/projects/ia64/sys/kern/kern_prot.c#40 integrate .. //depot/projects/ia64/sys/kern/sched_4bsd.c#29 integrate .. //depot/projects/ia64/sys/kern/subr_param.c#17 integrate .. //depot/projects/ia64/sys/kern/subr_sleepqueue.c#10 integrate .. //depot/projects/ia64/sys/kern/sys_socket.c#23 integrate .. //depot/projects/ia64/sys/kern/tty.c#44 integrate .. //depot/projects/ia64/sys/kern/uipc_syscalls.c#55 integrate .. //depot/projects/ia64/sys/kern/vfs_cache.c#22 integrate .. //depot/projects/ia64/sys/kern/vfs_lookup.c#20 integrate .. //depot/projects/ia64/sys/kern/vfs_subr.c#78 integrate .. //depot/projects/ia64/sys/modules/Makefile#84 integrate .. //depot/projects/ia64/sys/modules/drm/Makefile#4 integrate .. //depot/projects/ia64/sys/modules/drm/drm/Makefile#1 branch .. //depot/projects/ia64/sys/modules/drm/mach64/Makefile#1 branch .. //depot/projects/ia64/sys/net/if.c#43 integrate .. //depot/projects/ia64/sys/net/iso88025.h#7 integrate .. //depot/projects/ia64/sys/netgraph/ng_cisco.c#12 integrate .. //depot/projects/ia64/sys/netgraph/ng_echo.c#4 integrate .. //depot/projects/ia64/sys/netinet/ip_fw2.c#45 integrate .. //depot/projects/ia64/sys/netinet/tcp_input.c#60 integrate .. //depot/projects/ia64/sys/netinet/tcp_sack.c#7 integrate .. //depot/projects/ia64/sys/netinet/tcp_var.h#26 integrate .. //depot/projects/ia64/sys/netinet6/icmp6.c#27 integrate .. //depot/projects/ia64/sys/nfs4client/nfs4_vnops.c#15 integrate .. //depot/projects/ia64/sys/nfsclient/nfs_vnops.c#44 integrate .. //depot/projects/ia64/sys/pc98/conf/NOTES#26 integrate .. //depot/projects/ia64/sys/pc98/i386/machdep.c#51 integrate .. //depot/projects/ia64/sys/pc98/include/bus_memio.h#2 integrate .. //depot/projects/ia64/sys/pc98/include/bus_pio.h#2 integrate .. //depot/projects/ia64/sys/pc98/include/clock.h#2 integrate .. //depot/projects/ia64/sys/pc98/include/pc/display.h#2 integrate .. //depot/projects/ia64/sys/pc98/pc98/isa_dma.c#8 integrate .. //depot/projects/ia64/sys/pc98/pc98/olpt.c#10 integrate .. //depot/projects/ia64/sys/pc98/pc98/scterm-sck.c#4 integrate .. //depot/projects/ia64/sys/pci/if_pcn.c#28 integrate .. //depot/projects/ia64/sys/security/mac/mac_process.c#4 integrate .. //depot/projects/ia64/sys/security/mac/mac_socket.c#3 integrate .. //depot/projects/ia64/sys/security/mac/mac_vfs.c#5 integrate .. //depot/projects/ia64/sys/security/mac_biba/mac_biba.c#30 integrate .. //depot/projects/ia64/sys/security/mac_lomac/mac_lomac.c#22 integrate .. //depot/projects/ia64/sys/security/mac_mls/mac_mls.c#29 integrate .. //depot/projects/ia64/sys/security/mac_stub/mac_stub.c#9 integrate .. //depot/projects/ia64/sys/security/mac_test/mac_test.c#25 integrate .. //depot/projects/ia64/sys/sparc64/include/cpufunc.h#11 integrate .. //depot/projects/ia64/sys/sparc64/include/pcpu.h#8 integrate .. //depot/projects/ia64/sys/sparc64/include/tick.h#4 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/exception.S#18 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/genassym.c#26 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/interrupt.S#7 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/intr_machdep.c#15 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/machdep.c#59 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/mp_machdep.c#24 integrate .. //depot/projects/ia64/sys/sparc64/sparc64/tick.c#13 integrate .. //depot/projects/ia64/sys/sys/alq.h#5 integrate .. //depot/projects/ia64/sys/sys/ata.h#15 integrate .. //depot/projects/ia64/sys/sys/kernel.h#24 integrate .. //depot/projects/ia64/sys/sys/mac.h#29 integrate .. //depot/projects/ia64/sys/sys/mac_policy.h#26 integrate .. //depot/projects/ia64/sys/sys/mouse.h#5 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_lookup.c#18 integrate .. //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#47 integrate .. //depot/projects/ia64/sys/vm/vm_mmap.c#42 integrate .. //depot/projects/ia64/sys/vm/vm_pageq.c#14 integrate .. //depot/projects/ia64/tools/regression/mac/mac_bsdextended/Makefile#1 branch .. //depot/projects/ia64/tools/regression/mac/mac_bsdextended/test_ugidfw.c#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/Makefile#4 integrate .. //depot/projects/ia64/tools/regression/usr.bin/printf/Makefile#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.b.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.d.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.f.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.m1.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.m2.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.m3.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.m4.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.s.out#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.sh#1 branch .. //depot/projects/ia64/tools/regression/usr.bin/printf/regress.t#1 branch .. //depot/projects/ia64/tools/tools/ath/80211stats.c#5 integrate .. //depot/projects/ia64/tools/tools/ministat/ministat.c#4 integrate .. //depot/projects/ia64/tools/tools/nanobsd/Makefile#7 integrate .. //depot/projects/ia64/tools/tools/nanobsd/i386.diskimage#9 integrate .. //depot/projects/ia64/tools/tools/nanobsd/make.conf#8 integrate .. //depot/projects/ia64/usr.bin/make/var.c#23 integrate .. //depot/projects/ia64/usr.bin/printf/Makefile#5 integrate .. //depot/projects/ia64/usr.bin/printf/printf.1#10 integrate .. //depot/projects/ia64/usr.bin/printf/printf.c#11 integrate .. //depot/projects/ia64/usr.bin/top/machine.c#9 integrate .. //depot/projects/ia64/usr.sbin/mixer/mixer.8#7 integrate .. //depot/projects/ia64/usr.sbin/mixer/mixer.c#7 integrate .. //depot/projects/ia64/usr.sbin/moused/moused.8#10 integrate .. //depot/projects/ia64/usr.sbin/moused/moused.c#12 integrate .. //depot/projects/ia64/usr.sbin/syslogd/syslogd.8#14 integrate .. //depot/projects/ia64/usr.sbin/syslogd/syslogd.c#25 integrate Differences ... ==== //depot/projects/ia64/bin/sh/sh.1#31 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" $FreeBSD: src/bin/sh/sh.1,v 1.99 2005/03/04 13:16:50 keramida Exp $ +.\" $FreeBSD: src/bin/sh/sh.1,v 1.100 2005/04/15 14:53:29 keramida Exp $ .\" .Dd July 3, 2004 .Dt SH 1 @@ -196,6 +196,12 @@ Enable asynchronous notification of background job completion. (UNIMPLEMENTED) +.It Fl c Li string +Read commands from the +.Ar string +operand instead of from the standard input. +Keep in mind that this option only accepts a single string as its +argument, hence multi-word strings must be quoted. .It Fl C Li noclobber Do not overwrite existing files with .Dq Li > . @@ -303,13 +309,6 @@ .El .Pp The -.Fl c -option may be used to pass its string argument to the shell -to be interpreted as input. -Keep in mind that this option only accepts a single string as its -argument, hence multi-word strings must be quoted. -.Pp -The .Fl /+o option takes as its only argument the long name of an option to be enabled or disabled. @@ -1643,9 +1642,9 @@ .Pp The following environment variables affect the execution of .Ic fc : -.Bl -tag -width indent +.Bl -tag -width ".Ev HISTSIZE" .It Ev FCEDIT -Name of the editor to use. +Name of the editor to use for history editing. .It Ev HISTSIZE The number of previous commands that are accessible. .El @@ -2051,12 +2050,86 @@ Otherwise the shell will return the exit status of the last command executed, or if the exit builtin is used with a numeric argument, it will return the argument. +.Sh ENVIRONMENT +The following environment variables affect the execution of +.Nm : +.Bl -tag -width ".Ev HISTSIZE" +.It Ev CDPATH +The search path used with the +.Ic cd +built-in. +.It Ev EDITOR +The fallback editor used with the +.Ic fc +built-in. +If not set, the default editor is +.Xr ed 1 . +.It Ev FCEDIT +The default editor used with the +.Ic fc +built-in. +.It Ev HISTSIZE +The number of previous commands that are accessible. +.It Ev HOME +The starting directory of +.Nm . +.It Ev IFS +Input Field Separators. +This is normally set to +.Aq space , +.Aq tab , +and +.Aq newline . +See the +.Sx White Space Splitting +section for more details. +.It Ev MAIL +The name of a mail file, that will be checked for the arrival of new +mail. +Overridden by +.Ev MAILPATH . +.It Ev MAILPATH +A colon +.Pq Ql \&: +separated list of file names, for the shell to check for incoming +mail. +This environment setting overrides the +.Ev MAIL +setting. +There is a maximum of 10 mailboxes that can be monitored at once. +.It Ev PATH +The default search path for executables. +See the +.Sx Path Search +section for details. +.It Ev PS1 +The primary prompt string, which defaults to +.Dq $ \ , +unless you are the superuser, in which case it defaults to +.Dq # \ . +.It Ev PS2 +The secondary prompt string, which defaults to +.Dq \*[Gt] \ . +.It Ev TERM +The default terminal setting for the shell. +This is inherited by children of the shell, and is used in the history +editing modes. +.El .Sh SEE ALSO .Xr builtin 1 , +.Xr chsh 1 , .Xr echo 1 , +.Xr ed 1 , +.Xr emacs 1 , .Xr expr 1 , +.Xr getopt 1 , .Xr pwd 1 , -.Xr test 1 +.Xr test 1 , +.Xr umask 2 , +.Xr vi 1 , +.Xr execve 2 , +.Xr getrlimit 2 , +.Xr editrc 5 .Sh HISTORY A .Nm ==== //depot/projects/ia64/contrib/top/commands.c#5 (text+ko) ==== @@ -8,7 +8,7 @@ * Copyright (c) 1984, 1989, William LeFebvre, Rice University * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University * - * $FreeBSD: src/contrib/top/commands.c,v 1.10 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/commands.c,v 1.11 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -78,7 +78,7 @@ #ifdef ORDER if (displaymode == DISP_CPU) fputs("\ -o - specify sort order (pri, size, res, cpu, time)\n", stdout); +o - specify sort order (pri, size, res, cpu, time, threads)\n", stdout); else fputs("\ o - specify sort order (vcsw, ivcsw, read, write, fault, total)\n", stdout); ==== //depot/projects/ia64/contrib/top/top.c#6 (text+ko) ==== @@ -13,7 +13,7 @@ * Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory * Copyright (c) 1996, William LeFebvre, Group sys Consulting * - * $FreeBSD: src/contrib/top/top.c,v 1.15 2004/08/16 07:51:21 alfred Exp $ + * $FreeBSD: src/contrib/top/top.c,v 1.16 2005/04/14 15:02:03 keramida Exp $ */ /* @@ -84,6 +84,7 @@ static int max_topn; /* maximum displayable processes */ /* miscellaneous things */ +struct process_select ps; char *myname = "top"; jmp_buf jmp_int; @@ -179,7 +180,6 @@ char *iptr; char no_command = 1; struct timeval timeout; - struct process_select ps; #ifdef ORDER char *order_name = NULL; int order_index = 0; @@ -987,8 +987,10 @@ case CMD_thrtog: ps.thread = !ps.thread; new_message(MT_standout | MT_delayed, - " %sisplaying threads.", - ps.thread ? "D" : "Not d"); + "Displaying threads %s", + ps.thread ? "separately" : "as a count"); + header_text = format_header(uname_field); + reset_display(); putchar('\r'); break; case CMD_viewtog: ==== //depot/projects/ia64/etc/rc.d/cleanvar#8 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/cleanvar,v 1.7 2004/10/07 13:55:25 mtm Exp $ +# $FreeBSD: src/etc/rc.d/cleanvar,v 1.8 2005/04/14 03:56:06 csjp Exp $ # # PROVIDE: cleanvar @@ -18,6 +18,8 @@ ( cd "$dir" && for file in .* * do + # Skip over logging sockets + [ -S "$file" -a "$file" = "log" ] && continue [ ."$file" = .. -o ."$file" = ... ] && continue if [ -d "$file" -a ! -L "$file" ] then ==== //depot/projects/ia64/games/fortune/datfiles/fortunes#47 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.174 2005/04/10 10:53:26 schweikh Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.175 2005/04/13 06:11:49 phk Exp $ % ======================================================================= @@ -15198,6 +15198,11 @@ Computerspeak for "information". Properly pronounced the way Bostonians pronounce the word for a female child. % +Data is not information; +Information is not knowledge; +Knowledge is not wisdom; + -- Gary Flake +% Dave Mack: "Your stupidity, Allen, is simply not up to par." Allen Gwinn: "Yours is." % ==== //depot/projects/ia64/lib/libc/i386/gen/_set_tp.c#3 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libc/i386/gen/_set_tp.c,v 1.2 2004/11/06 03:28:26 peter Exp $ + * $FreeBSD: src/lib/libc/i386/gen/_set_tp.c,v 1.3 2005/04/14 00:02:37 peter Exp $ */ #include @@ -36,8 +36,11 @@ { #ifndef COMPAT_32BIT union descriptor ldt; - int sel; + int error, sel; + error = i386_set_gsbase(tp); + if (error == 0) + return; memset(&ldt, 0, sizeof(ldt)); ldt.sd.sd_lolimit = 0xffff; /* 4G limit */ ldt.sd.sd_lobase = ((uintptr_t)tp) & 0xffffff; ==== //depot/projects/ia64/lib/libc/i386/sys/Makefile.inc#8 (text+ko) ==== @@ -1,9 +1,10 @@ # from: Makefile.inc,v 1.1 1993/09/03 19:04:23 jtc Exp -# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.28 2004/11/06 03:28:26 peter Exp $ +# $FreeBSD: src/lib/libc/i386/sys/Makefile.inc,v 1.29 2005/04/14 00:01:35 peter Exp $ .if !defined(COMPAT_32BIT) SRCS+= i386_clr_watch.c i386_get_ioperm.c i386_get_ldt.c i386_set_ioperm.c \ i386_set_ldt.c i386_set_watch.c i386_vm86.c +SRCS+= i386_get_fsbase.c i386_get_gsbase.c i386_set_fsbase.c i386_set_gsbase.c .else SRCS+= _amd64_get_fsbase.c _amd64_get_gsbase.c _amd64_set_fsbase.c _amd64_set_gsbase.c .endif ==== //depot/projects/ia64/lib/libc/net/getaddrinfo.c#22 (text+ko) ==== @@ -63,10 +63,9 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.62 2005/04/06 15:36:34 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.65 2005/04/15 18:15:12 ume Exp $"); #include "namespace.h" -#include "reentrant.h" #include #include #include @@ -286,14 +285,6 @@ static int res_querydomainN(const char *, const char *, struct res_target *); -/* - * XXX: Many dependencies are not thread-safe. Still, we cannot use - * getaddrinfo() in conjunction with other functions which call them. - */ -static mutex_t _getaddrinfo_thread_lock = MUTEX_INITIALIZER; -#define THREAD_LOCK() mutex_lock(&_getaddrinfo_thread_lock); -#define THREAD_UNLOCK() mutex_unlock(&_getaddrinfo_thread_lock); - /* XXX macros that make external reference is BAD. */ #define GET_AI(ai, afd, addr) \ @@ -1441,13 +1432,9 @@ break; } - THREAD_LOCK(); - if ((sp = getservbyname(servname, proto)) == NULL) { - THREAD_UNLOCK(); + if ((sp = getservbyname(servname, proto)) == NULL) return EAI_SERVICE; - } port = sp->s_port; - THREAD_UNLOCK(); } if (!matchonly) { @@ -2283,7 +2270,7 @@ /* resolver logic */ -extern const char *__hostalias(const char *); +extern const char *_res_hostalias(const char *, char *, size_t); /* * Formulate a normal query, send, and await answer. @@ -2310,11 +2297,6 @@ rcode = NOERROR; ancount = 0; - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (-1); - } - buf = malloc(MAXPACKET); if (!buf) { h_errno = NETDB_INTERNAL; @@ -2423,6 +2405,7 @@ u_int dots; int trailing_dot, ret, saved_herrno; int got_nodata = 0, got_servfail = 0, tried_as_is = 0; + char abuf[MAXDNAME]; if ((_res.options & RES_INIT) == 0 && res_init() == -1) { h_errno = NETDB_INTERNAL; @@ -2441,7 +2424,7 @@ /* * if there aren't any dots, it could be a user-level alias */ - if (!dots && (cp = __hostalias(name)) != NULL) + if (!dots && (cp = _res_hostalias(name, abuf, sizeof(abuf))) != NULL) return (res_queryN(cp, target)); /* @@ -2561,10 +2544,6 @@ const char *longname = nbuf; size_t n, d; - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (-1); - } #ifdef DEBUG if (_res.options & RES_DEBUG) printf(";; res_querydomain(%s, %s)\n", ==== //depot/projects/ia64/lib/libc/net/gethostbydns.c#12 (text+ko) ==== @@ -58,7 +58,7 @@ static char fromrcsid[] = "From: Id: gethnamaddr.c,v 8.23 1998/04/07 04:59:46 vixie Exp $"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.46 2004/07/21 17:26:40 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.47 2005/04/15 14:42:29 ume Exp $"); #include #include @@ -96,6 +96,8 @@ static char hostbuf[8*1024]; static u_char host_addr[16]; /* IPv4 or IPv6 */ +extern const char *_res_hostalias(const char *, char *, size_t); + #ifdef RESOLVSORT static void addrsort(char **, int); #endif @@ -477,6 +479,7 @@ const char *cp; char *bp, *ep; int n, size, type, len; + char abuf[MAXDNAME]; name = va_arg(ap, const char *); af = va_arg(ap, int); @@ -510,7 +513,8 @@ * this is also done in res_query() since we are not the only * function that looks up host names. */ - if (!strchr(name, '.') && (cp = __hostalias(name))) + if (!strchr(name, '.') && + (cp = _res_hostalias(name, abuf, sizeof abuf))) name = cp; /* ==== //depot/projects/ia64/lib/libc/net/getservbyname.c#3 (text+ko) ==== @@ -35,47 +35,55 @@ static char sccsid[] = "@(#)getservbyname.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservbyname.c,v 1.4 2002/03/21 18:49:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservbyname.c,v 1.5 2005/04/15 18:09:39 ume Exp $"); #include #include +#include "netdb_private.h" -extern int _serv_stayopen; - -struct servent * -getservbyname(name, proto) - const char *name, *proto; +int +getservbyname_r(const char *name, const char *proto, struct servent *se, + struct servent_data *sed) { - struct servent *p; char **cp; + int error; #ifdef YP - extern char *___getservbyname_yp; - extern char *___getservbyproto_yp; - - ___getservbyname_yp = (char *)name; - ___getservbyproto_yp = (char *)proto; + sed->getservbyname_yp = (char *)name; + sed->getservbyproto_yp = (char *)proto; #endif - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (strcmp(name, p->s_name) == 0) + setservent_r(sed->stayopen, sed); + while ((error = getservent_r(se, sed)) == 0) { + if (strcmp(name, se->s_name) == 0) goto gotname; - for (cp = p->s_aliases; *cp; cp++) + for (cp = se->s_aliases; *cp; cp++) if (strcmp(name, *cp) == 0) goto gotname; continue; gotname: - if (proto == 0 || strcmp(p->s_proto, proto) == 0) + if (proto == 0 || strcmp(se->s_proto, proto) == 0) break; } - if (!_serv_stayopen) - endservent(); + if (!sed->stayopen) + endservent_r(sed); #ifdef YP - ___getservbyname_yp = NULL; - ___getservbyproto_yp = NULL; + sed->getservbyname_yp = NULL; + sed->getservbyproto_yp = NULL; #endif - return (p); + return (error); +} + +struct servent * +getservbyname(const char *name, const char *proto) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return (NULL); + if (getservbyname_r(name, proto, &sd->serv, &sd->data) != 0) + return (NULL); + return (&sd->serv); } ==== //depot/projects/ia64/lib/libc/net/getservbyport.c#3 (text+ko) ==== @@ -35,42 +35,49 @@ static char sccsid[] = "@(#)getservbyport.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservbyport.c,v 1.4 2002/03/21 18:49:23 obrien Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservbyport.c,v 1.5 2005/04/15 18:09:39 ume Exp $"); #include #include +#include "netdb_private.h" -extern int _serv_stayopen; - -struct servent * -getservbyport(port, proto) - int port; - const char *proto; +int +getservbyport_r(int port, const char *proto, struct servent *se, + struct servent_data *sed) { - struct servent *p; + int error; #ifdef YP - extern int ___getservbyport_yp; - extern char *___getservbyproto_yp; - - ___getservbyport_yp = port; - ___getservbyproto_yp = (char *)proto; + sed->getservbyport_yp = port; + sed->getservbyproto_yp = (char *)proto; #endif - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (p->s_port != port) + setservent_r(sed->stayopen, sed); + while ((error = getservent_r(se, sed)) == 0) { + if (se->s_port != port) continue; - if (proto == 0 || strcmp(p->s_proto, proto) == 0) + if (proto == 0 || strcmp(se->s_proto, proto) == 0) break; } - if (!_serv_stayopen) - endservent(); + if (!sed->stayopen) + endservent_r(sed); #ifdef YP - ___getservbyport_yp = 0; - ___getservbyproto_yp = NULL; + sed->getservbyport_yp = 0; + sed->getservbyproto_yp = NULL; #endif - return (p); + return (error); +} + +struct servent * +getservbyport(int port, const char *proto) +{ + struct servdata *sd; + + if ((sd = _servdata_init()) == NULL) + return (NULL); + if (getservbyport_r(port, proto, &sd->serv, &sd->data) != 0) + return (NULL); + return (&sd->serv); } ==== //depot/projects/ia64/lib/libc/net/getservent.c#7 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)getservent.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getservent.c,v 1.13 2005/01/03 11:07:45 sobomax Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getservent.c,v 1.14 2005/04/15 18:09:39 ume Exp $"); #include #include @@ -48,41 +48,85 @@ #include #include #include -static int serv_stepping_yp = 0; #endif -#include "libc_private.h" +#include "namespace.h" +#include "reentrant.h" +#include "un-namespace.h" +#include "netdb_private.h" + +static struct servdata servdata; +static thread_key_t servdata_key; +static once_t servdata_init_once = ONCE_INITIALIZER; +static int servdata_thr_keycreated = 0; + +static void +servent_data_clear(struct servent_data *sed) +{ + if (sed->fp) { + fclose(sed->fp); + sed->fp = NULL; + } + if (sed->key) { + free(sed->key); + sed->key = NULL; + } +} + +static void +servdata_free(void *ptr) +{ + struct servdata *sd = ptr; + + if (sd == NULL) + return; + servent_data_clear(&sd->data); + free(sd); +} + >>> TRUNCATED FOR MAIL (1000 lines) <<<