From owner-p4-projects@FreeBSD.ORG Sun May 9 10:29:33 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 78F4816A4CE; Sun, 9 May 2004 10:29:33 -0700 (PDT) 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 321FD16A4CF for ; Sun, 9 May 2004 10:29:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BE9743D1D for ; Sun, 9 May 2004 10:29:32 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i49HTWGe092549 for ; Sun, 9 May 2004 10:29:32 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i49HTVLm092546 for perforce@freebsd.org; Sun, 9 May 2004 10:29:31 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sun, 9 May 2004 10:29:31 -0700 (PDT) Message-Id: <200405091729.i49HTVLm092546@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 52545 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, 09 May 2004 17:29:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=52545 Change 52545 by marcel@marcel_nfs on 2004/05/09 10:28:57 o We don't dummy-up SS and ESP anymore, because that doesn't work well with multiple threads. We now read SS and ESP with functions. o Simplify tracing. Affected files ... .. //depot/projects/gdb/sys/i386/i386/db_trace.c#2 edit Differences ... ==== //depot/projects/gdb/sys/i386/i386/db_trace.c#2 (text+ko) ==== @@ -29,6 +29,7 @@ #include #include +#include #include #include @@ -46,14 +47,16 @@ #include #include -db_varfcn_t db_dr0; -db_varfcn_t db_dr1; -db_varfcn_t db_dr2; -db_varfcn_t db_dr3; -db_varfcn_t db_dr4; -db_varfcn_t db_dr5; -db_varfcn_t db_dr6; -db_varfcn_t db_dr7; +static db_varfcn_t db_dr0; +static db_varfcn_t db_dr1; +static db_varfcn_t db_dr2; +static db_varfcn_t db_dr3; +static db_varfcn_t db_dr4; +static db_varfcn_t db_dr5; +static db_varfcn_t db_dr6; +static db_varfcn_t db_dr7; +static db_varfcn_t db_ss; +static db_varfcn_t db_esp; /* * Machine register set. @@ -66,12 +69,12 @@ #if 0 { "gs", &ddb_regs.tf_gs, FCN_NULL }, #endif - { "ss", &ddb_regs.tf_ss, FCN_NULL }, + { "ss", NULL, db_ss }, { "eax", &ddb_regs.tf_eax, FCN_NULL }, { "ecx", &ddb_regs.tf_ecx, FCN_NULL }, { "edx", &ddb_regs.tf_edx, FCN_NULL }, { "ebx", &ddb_regs.tf_ebx, FCN_NULL }, - { "esp", &ddb_regs.tf_esp, FCN_NULL }, + { "esp", NULL, db_esp }, { "ebp", &ddb_regs.tf_ebp, FCN_NULL }, { "esi", &ddb_regs.tf_esi, FCN_NULL }, { "edi", &ddb_regs.tf_edi, FCN_NULL }, @@ -88,6 +91,50 @@ }; struct db_variable *db_eregs = db_regs + sizeof(db_regs)/sizeof(db_regs[0]); +#define DB_DRX_FUNC(reg) \ +static int \ +db_ ## reg (vp, valuep, op) \ + struct db_variable *vp; \ + db_expr_t * valuep; \ + int op; \ +{ \ + if (op == DB_VAR_GET) \ + *valuep = r ## reg (); \ + else \ + load_ ## reg (*valuep); \ + return (0); \ +} + +DB_DRX_FUNC(dr0) +DB_DRX_FUNC(dr1) +DB_DRX_FUNC(dr2) +DB_DRX_FUNC(dr3) +DB_DRX_FUNC(dr4) +DB_DRX_FUNC(dr5) +DB_DRX_FUNC(dr6) +DB_DRX_FUNC(dr7) + +static int +db_esp (struct db_variable *vp, db_expr_t *valuep, int op) +{ + if (op == DB_VAR_GET) + *valuep = (ISPL(ddb_regs.tf_cs)) ? ddb_regs.tf_esp : + ddb_regs.tf_ebp; + else if (ISPL(ddb_regs.tf_cs)) + ddb_regs.tf_esp = *valuep; + return (0); +} + +static int +db_ss (struct db_variable *vp, db_expr_t *valuep, int op) +{ + if (op == DB_VAR_GET) + *valuep = (ISPL(ddb_regs.tf_cs)) ? ddb_regs.tf_ss : rss(); + else if (ISPL(ddb_regs.tf_cs)) + ddb_regs.tf_ss = *valuep; + return (0); +} + /* * Stack trace. */ @@ -104,13 +151,10 @@ #define INTERRUPT 2 #define SYSCALL 3 -static void db_nextframe(struct i386_frame **, db_addr_t *, struct proc *); +static void db_nextframe(struct i386_frame **, db_addr_t *, struct thread *); static int db_numargs(struct i386_frame *); static void db_print_stack_entry(const char *, int, char **, int *, db_addr_t); -static void decode_syscall(int, struct proc *); -static void db_trace_one_stack(int count, boolean_t have_addr, - struct proc *p, struct i386_frame *frame, db_addr_t callpc); - +static void decode_syscall(int, struct thread *); static char * watchtype_str(int type); int i386_set_watch(int watchnum, unsigned int watchaddr, int size, int access, @@ -120,7 +164,6 @@ int db_md_clr_watchpoint(db_expr_t addr, db_expr_t size); void db_md_list_watchpoints(void); - /* * Figure out how many arguments were passed into the frame at "fp". */ @@ -175,16 +218,16 @@ } static void -decode_syscall(number, p) - int number; +decode_syscall(int number, struct thread *td) +{ struct proc *p; -{ c_db_sym_t sym; db_expr_t diff; sy_call_t *f; const char *symname; db_printf(" (%d", number); + p = (td != NULL) ? td->td_proc : NULL; if (p != NULL && 0 <= number && number < p->p_sysent->sv_size) { f = p->p_sysent->sv_table[number].sy_call; sym = db_search_symbol((db_addr_t)f, DB_STGY_ANY, &diff); @@ -200,10 +243,7 @@ * Figure out the next frame up in the call stack. */ static void -db_nextframe(fp, ip, p) - struct i386_frame **fp; /* in/out */ - db_addr_t *ip; /* out */ - struct proc *p; /* in */ +db_nextframe(struct i386_frame **fp, db_addr_t *ip, struct thread *td) { struct trapframe *tf; int frame_type; @@ -264,7 +304,7 @@ break; case SYSCALL: db_printf("--- syscall"); - decode_syscall(tf->tf_eax, p); + decode_syscall(tf->tf_eax, td); break; case INTERRUPT: db_printf("--- interrupt"); @@ -287,117 +327,43 @@ db_expr_t count; char *modif; { + struct trapframe *tf; struct i386_frame *frame; - struct proc *p; - struct pcb *pcb; struct thread *td; + int *argp; db_addr_t callpc; - pid_t pid; + pid_t tid; + boolean_t first; if (count == -1) count = 1024; if (!have_addr) { - td = curthread; - p = td->td_proc; - frame = (struct i386_frame *)ddb_regs.tf_ebp; - if (frame == NULL) - frame = (struct i386_frame *)(ddb_regs.tf_esp - 4); - callpc = (db_addr_t)ddb_regs.tf_eip; + td = kdb_thread; + tf = kdb_frame; + frame = (void *)tf->tf_ebp; + callpc = (db_addr_t)tf->tf_eip; } else if (!INKERNEL(addr)) { - pid = (addr % 16) + ((addr >> 4) % 16) * 10 + + tid = (addr % 16) + ((addr >> 4) % 16) * 10 + ((addr >> 8) % 16) * 100 + ((addr >> 12) % 16) * 1000 + ((addr >> 16) % 16) * 10000; - /* - * The pcb for curproc is not valid at this point, - * so fall back to the default case. - */ - if (pid == curthread->td_proc->p_pid) { - td = curthread; - p = td->td_proc; - frame = (struct i386_frame *)ddb_regs.tf_ebp; - if (frame == NULL) - frame = (struct i386_frame *) - (ddb_regs.tf_esp - 4); - callpc = (db_addr_t)ddb_regs.tf_eip; - } else { - - /* sx_slock(&allproc_lock); */ - LIST_FOREACH(p, &allproc, p_list) { - if (p->p_pid == pid) - break; - } - /* sx_sunlock(&allproc_lock); */ - if (p == NULL) { - db_printf("pid %d not found\n", pid); - return; - } - if ((p->p_sflag & PS_INMEM) == 0) { - db_printf("pid %d swapped out\n", pid); - return; - } - pcb = FIRST_THREAD_IN_PROC(p)->td_pcb; /* XXXKSE */ - frame = (struct i386_frame *)pcb->pcb_ebp; - if (frame == NULL) - frame = (struct i386_frame *) - (pcb->pcb_esp - 4); - callpc = (db_addr_t)pcb->pcb_eip; + td = kdb_thr_lookup(tid); + if (td == NULL) { + db_printf("Thread %d not found\n", tid); + return; } + tf = td->td_last_frame; + frame = (void *)tf->tf_ebp; + callpc = (db_addr_t)tf->tf_eip; } else { - p = NULL; + td = NULL; + tf = NULL; frame = (struct i386_frame *)addr; - callpc = (db_addr_t)db_get_value((int)&frame->f_retaddr, 4, FALSE); + callpc = (db_addr_t)db_get_value((int)&frame->f_retaddr, 4, + FALSE); frame = frame->f_frame; } - db_trace_one_stack(count, have_addr, p, frame, callpc); -} - -void -db_stack_thread(db_expr_t addr, boolean_t have_addr, - db_expr_t count, char *modif) -{ - struct i386_frame *frame; - struct thread *td; - struct proc *p; - struct pcb *pcb; - db_addr_t callpc; - if (!have_addr) - return; - if (!INKERNEL(addr)) { - printf("bad thread address"); - return; - } - td = (struct thread *)addr; - /* quick sanity check */ - if ((p = td->td_proc) != td->td_ksegrp->kg_proc) - return; - if (TD_IS_SWAPPED(td)) { - db_printf("thread at %p swapped out\n", td); - return; - } - if (td == curthread) { - frame = (struct i386_frame *)ddb_regs.tf_ebp; - if (frame == NULL) - frame = (struct i386_frame *)(ddb_regs.tf_esp - 4); - callpc = (db_addr_t)ddb_regs.tf_eip; - } else { - pcb = td->td_pcb; - frame = (struct i386_frame *)pcb->pcb_ebp; - if (frame == NULL) - frame = (struct i386_frame *) (pcb->pcb_esp - 4); - callpc = (db_addr_t)pcb->pcb_eip; - } - db_trace_one_stack(count, have_addr, p, frame, callpc); -} - -static void -db_trace_one_stack(int count, boolean_t have_addr, - struct proc *p, struct i386_frame *frame, db_addr_t callpc) -{ - int *argp; - boolean_t first; - first = TRUE; while (count--) { struct i386_frame *actframe; @@ -477,7 +443,7 @@ continue; } - db_nextframe(&frame, &callpc, p); + db_nextframe(&frame, &callpc, td); if (INKERNEL((int) callpc) && !INKERNEL((int) frame)) { sym = db_search_symbol(callpc, DB_STGY_ANY, &offset); @@ -500,29 +466,6 @@ db_stack_trace_cmd(ebp, 1, -1, NULL); } -#define DB_DRX_FUNC(reg) \ -int \ -db_ ## reg (vp, valuep, op) \ - struct db_variable *vp; \ - db_expr_t * valuep; \ - int op; \ -{ \ - if (op == DB_VAR_GET) \ - *valuep = r ## reg (); \ - else \ - load_ ## reg (*valuep); \ - return (0); \ -} - -DB_DRX_FUNC(dr0) -DB_DRX_FUNC(dr1) -DB_DRX_FUNC(dr2) -DB_DRX_FUNC(dr3) -DB_DRX_FUNC(dr4) -DB_DRX_FUNC(dr5) -DB_DRX_FUNC(dr6) -DB_DRX_FUNC(dr7) - int i386_set_watch(watchnum, watchaddr, size, access, d) int watchnum; From owner-p4-projects@FreeBSD.ORG Sun May 9 13:40:26 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E01A216A4D0; Sun, 9 May 2004 13:40:25 -0700 (PDT) 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 B116016A4CE for ; Sun, 9 May 2004 13:40:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 294A943D53 for ; Sun, 9 May 2004 13:40:25 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i49KeOGe040732 for ; Sun, 9 May 2004 13:40:24 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i49KeOVd040729 for perforce@freebsd.org; Sun, 9 May 2004 13:40:24 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Sun, 9 May 2004 13:40:24 -0700 (PDT) Message-Id: <200405092040.i49KeOVd040729@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 52550 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, 09 May 2004 20:40:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=52550 Change 52550 by marcel@marcel_nfs on 2004/05/09 13:39:48 Replace all direct references to ddb_regs.tf_esp with a call to get_esp(). In get_esp() we handle the fact that tf_esp is valid only when crossing the user-kernel boundary. For some strange reason, backtraces for threads other than the one that entered the debugger do not work reliably yet. Affected files ... .. //depot/projects/gdb/sys/i386/i386/db_trace.c#3 edit Differences ... ==== //depot/projects/gdb/sys/i386/i386/db_trace.c#3 (text+ko) ==== @@ -58,6 +58,13 @@ static db_varfcn_t db_ss; static db_varfcn_t db_esp; +static __inline int +get_esp(void) +{ + return ((ISPL(ddb_regs.tf_cs)) ? ddb_regs.tf_esp : + (db_expr_t)kdb_frame + offsetof(struct trapframe, tf_esp)); +} + /* * Machine register set. */ @@ -118,8 +125,7 @@ db_esp (struct db_variable *vp, db_expr_t *valuep, int op) { if (op == DB_VAR_GET) - *valuep = (ISPL(ddb_regs.tf_cs)) ? ddb_regs.tf_esp : - ddb_regs.tf_ebp; + *valuep = get_esp(); else if (ISPL(ddb_regs.tf_cs)) ddb_regs.tf_esp = *valuep; return (0); @@ -294,8 +300,7 @@ tf = (struct trapframe *)((int)*fp + 8); if (INKERNEL((int) tf)) { - esp = (ISPL(tf->tf_cs) == SEL_UPL) ? - tf->tf_esp : (int)&tf->tf_esp; + esp = get_esp(); eip = tf->tf_eip; ebp = tf->tf_ebp; switch (frame_type) { @@ -394,26 +399,22 @@ int instr; instr = db_get_value(callpc, 4, FALSE); - if ((instr & 0x00ffffff) == 0x00e58955) { + if ((instr & 0xffffff) == 0x00e58955) { /* pushl %ebp; movl %esp, %ebp */ - actframe = (struct i386_frame *) - (ddb_regs.tf_esp - 4); - } else if ((instr & 0x0000ffff) == 0x0000e589) { + actframe = (void *)(get_esp() - 4); + } else if ((instr & 0xffff) == 0x0000e589) { /* movl %esp, %ebp */ - actframe = (struct i386_frame *) - ddb_regs.tf_esp; + actframe = (void *)get_esp(); if (ddb_regs.tf_ebp == 0) { - /* Fake caller's frame better. */ + /* Fake frame better. */ frame = actframe; } - } else if ((instr & 0x000000ff) == 0x000000c3) { + } else if ((instr & 0xff) == 0x000000c3) { /* ret */ - actframe = (struct i386_frame *) - (ddb_regs.tf_esp - 4); + actframe = (void *)(get_esp() - 4); } else if (offset == 0) { - /* Probably a symbol in assembler code. */ - actframe = (struct i386_frame *) - (ddb_regs.tf_esp - 4); + /* Probably an assembler symbol. */ + actframe = (void *)(get_esp() - 4); } } else if (strcmp(name, "fork_trampoline") == 0) { /* From owner-p4-projects@FreeBSD.ORG Sun May 9 19:13:30 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A220716A4D0; Sun, 9 May 2004 19:13:29 -0700 (PDT) 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 67A6616A4CE for ; Sun, 9 May 2004 19:13:29 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 18FAA43D53 for ; Sun, 9 May 2004 19:13:28 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4A2DSGe022545 for ; Sun, 9 May 2004 19:13:28 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4A2DRRx022542 for perforce@freebsd.org; Sun, 9 May 2004 19:13:27 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Sun, 9 May 2004 19:13:27 -0700 (PDT) Message-Id: <200405100213.i4A2DRRx022542@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52575 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, 10 May 2004 02:13:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=52575 Change 52575 by julian@julian_ref on 2004/05/09 19:12:45 checkin for safety Affected files ... .. //depot/projects/nsched/sys/i386/i386/machdep.c#5 edit .. //depot/projects/nsched/sys/kern/kern_exit.c#4 edit .. //depot/projects/nsched/sys/kern/kern_kse.c#4 edit .. //depot/projects/nsched/sys/kern/kern_synch.c#3 edit .. //depot/projects/nsched/sys/kern/kern_thr.c#4 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#11 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#6 edit .. //depot/projects/nsched/sys/sys/proc.h#6 edit .. //depot/projects/nsched/sys/sys/sched.h#4 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/machdep.c#5 (text+ko) ==== @@ -1950,15 +1950,18 @@ int gsel_tss, metadata_missing, off, x; struct pcpu *pc; + /* + * Set up things that proc0 would have associated with it already + * if it were taken from the process allocation cache. + * This includes a ksegrp, a thread, and a stack and uarea to go + * with the thread. The pcb is deliniated ready for use. + * Note that the stack for proc0 has no guard page. + */ proc0.p_uarea = proc0uarea; thread0.td_kstack = proc0kstack; thread0.td_pcb = (struct pcb *) (thread0.td_kstack + KSTACK_PAGES * PAGE_SIZE) - 1; atdevbase = ISA_HOLE_START + KERNBASE; - - /* - * Link a few more bits of the proc0 together. - */ proc_linkup(&proc0, &ksegrp0, &thread0); metadata_missing = 0; ==== //depot/projects/nsched/sys/kern/kern_exit.c#4 (text+ko) ==== @@ -155,6 +155,12 @@ */ if (thread_single(SINGLE_EXIT)) panic ("Exit: Single threading fouled up"); + /* + * For this to happen, the thread_suspend_check(0) + * above must have failed to kill a sibling + * even though we should have gone single-file + * because of the PROC lock. + */ /* * All other activity in this process is now stopped. * Remove excess KSEs and KSEGRPS. XXXKSE (when we have them) @@ -162,18 +168,8 @@ * Turn off threading support. */ p->p_flag &= ~P_SA; - thread_single_end(); /* Don't need this any more. */ + thread_single_end(); /* end single-threading mode */ } - /* - * With this state set: - * Any thread entering the kernel from userspace will thread_exit() - * in trap(). Any thread attempting to sleep will return immediatly - * with EINTR or EWOULDBLOCK, which will hopefully force them - * to back out to userland, freeing resources as they go, and - * anything attempting to return to userland will thread_exit() - * from userret(). thread_exit() will do a wakeup on p->p_numthreads - * if it transitions to 1. - */ p->p_flag |= P_WEXIT; PROC_UNLOCK(p); @@ -391,16 +387,6 @@ lim_free(plim); /* - * Release this thread's reference to the ucred. The actual proc - * reference will stay around until the proc is harvested by - * wait(). At this point the ucred is immutable (no other threads - * from this proc are around that can change it) so we leave the - * per-thread ucred pointer intact in case it is needed although - * in theory nothing should be using it at this point. - */ - crfree(td->td_ucred); - - /* * Remove proc from allproc queue and pidhash chain. * Place onto zombproc. Unlink from parent's child list. */ @@ -503,6 +489,15 @@ */ cpu_exit(td); + /* + * Release this thread's reference to the ucred. The actual proc + * reference will stay around until the proc is harvested by + * wait(). XXX maybe this should be done there too. + */ + crfree(td->td_ucred); + td->td_ucred = NULL; + + PROC_LOCK(p); PROC_LOCK(p->p_pptr); sx_xunlock(&proctree_lock); @@ -533,7 +528,7 @@ cpu_sched_exit(td); /* XXXKSE check if this should be in thread_exit */ /* * Allow the scheduler to adjust the priority of the - * parent when a kseg is exiting. + * parent when a process is exiting. */ if (p->p_pid != 1) sched_exit(p->p_pptr, td); ==== //depot/projects/nsched/sys/kern/kern_kse.c#4 (text+ko) ==== @@ -444,7 +444,7 @@ PROC_LOCK(p); if (!(p->p_flag & P_SA)) { first = 1; - p->p_flag |= P_SA; + p->p_flag |= P_SA|P_HADTHREADS; } PROC_UNLOCK(p); if (!sa && !uap->newgroup && !first) ==== //depot/projects/nsched/sys/kern/kern_synch.c#3 (text+ko) ==== @@ -361,7 +361,7 @@ p->p_comm); if (td->td_proc->p_flag & P_SA) thread_switchout(td); - sched_switch(td); + sched_switch(td, flags); CTR3(KTR_PROC, "mi_switch: new thread %p (pid %d, %s)", td, p->p_pid, p->p_comm); ==== //depot/projects/nsched/sys/kern/kern_thr.c#4 (text+ko) ==== @@ -101,7 +101,7 @@ sched_exit_thread(p->p_pptr, td); thread_stash(td); - cpu_throw(td, choosethread()); + cpu_throw(td, choosethread(SW_VOL)); } #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) @@ -141,6 +141,7 @@ td0->td_proc = td->td_proc; PROC_LOCK(td->td_proc); td0->td_sigmask = td->td_sigmask; + td->td_proc->p_flag |= P_HADTHREADS; PROC_UNLOCK(td->td_proc); td0->td_ucred = crhold(td->td_ucred); ==== //depot/projects/nsched/sys/kern/kern_thread.c#11 (text+ko) ==== @@ -395,7 +395,11 @@ } /* - * Reap zombie kse resource. + * Reap zombie thread resources. + * These include threads & ksegrps that were still live and in use + * at they were exiting, and possibly other structures associated + * with them by the threading and scheduling modules that could not + * be freed until the running thread had completly stopped running. */ void thread_reap(void) @@ -406,6 +410,8 @@ /* * Don't even bother to lock if none at this instant, * we really don't care about the next instant.. + * Note, never call the other GC routines unless we have a + * thread or ksegrp to clean up as well. */ if ((!TAILQ_EMPTY(&zombie_threads)) || (!TAILQ_EMPTY(&zombie_ksegrps))) { @@ -522,11 +528,24 @@ /* * Discard the current thread and exit from its context. + * Always called with scheduler locked. * * Because we can't free a thread while we're operating under its context, * push the current thread into our CPU's deadthread holder. This means * we needn't worry about someone else grabbing our context before we - * do a cpu_throw(). + * do a cpu_throw(). This may not be needed now as we are under schedlock. + * Maybe we can just do a thread_stash() as thr_exit1 does. + */ +/* XXX + * libthr expects its thread exit to return for the last + * thread, meaning that the program is back to non-threaded + * mode I guess. Because we do this (cpu_throw) unconditionally + * here, they have their own version of it. (thr_exit1()) + * that doesn't do it all if this was the last thread. + * It is also called from thread_suspend_check(). + * Of course in the end, they end up coming here through exit1 + * anyhow.. After fixing 'thr' to play by the rules we should be able + * to merge these two functions together. */ void thread_exit(void) @@ -556,48 +575,59 @@ /* * The last thread is left attached to the process * So that the whole bundle gets recycled. Skip - * all this stuff. + * all this stuff if we never had threads. */ - if (p->p_numthreads > 1) { - thread_unlink(td); - if (p->p_maxthrwaits) - wakeup(&p->p_numthreads); - /* - * The test below is NOT true if we are the - * sole exiting thread. P_STOPPED_SINGLE is unset - * in exit1() after it is the only survivor. - */ - if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) { - if (p->p_numthreads == p->p_suspcount) { - thread_unsuspend_one(p->p_singlethread); + if (p->p_flag & P_HADTHREADS) { + if (p->p_numthreads > 1) { + thread_unlink(td); + if (p->p_maxthrwaits) + wakeup(&p->p_numthreads); + /* + * The test below is NOT true if we are the + * sole exiting thread. P_STOPPED_SINGLE is unset + * in exit1() after it is the only survivor. + */ + if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) { + if (p->p_numthreads == p->p_suspcount) { + thread_unsuspend_one(p->p_singlethread); + } } - } - /* - * Because each upcall structure has an owner thread, - * owner thread exits only when process is in exiting - * state, so upcall to userland is no longer needed, - * deleting upcall structure is safe here. - * So when all threads in a group is exited, all upcalls - * in the group should be automatically freed. - */ - if (td->td_upcall) - upcall_remove(td); + /* + * Because each upcall structure has an owner thread, + * owner thread exits only when process is in exiting + * state, so upcall to userland is no longer needed, + * deleting upcall structure is safe here. + * So when all threads in a group is exited, all upcalls + * in the group should be automatically freed. + * XXXKSE This is a KSE thing and should be exported + * there somehow. + */ + if (td->td_upcall) + upcall_remove(td); - sched_exit_thread(td->td_proc->p_pptr, td); - PROC_UNLOCK(p); - td->td_state = TDS_INACTIVE; -#if 0 - td->td_proc = NULL; -#endif - td->td_ksegrp = NULL; - PCPU_SET(deadthread, td); - } else { - PROC_UNLOCK(p); + if (kg->kg_numthreads == 0) { + /* This kseg is kaput */ + sched_set_concurrancy(kg, 0); + ksegrp_unlink(kg); + } + + sched_exit_thread(td->td_proc->p_pptr, td); + td->td_state = TDS_INACTIVE; + #if 0 + td->td_proc = NULL; + #endif + td->td_ksegrp = NULL; + PCPU_SET(deadthread, td); + } else { + if (p->p_numthreads == 1 ) { + sched_set_concurrancy(kg, 1); + } + } } - /* XXX Shouldn't cpu_throw() here. */ + PROC_UNLOCK(p); mtx_assert(&sched_lock, MA_OWNED); - cpu_throw(td, choosethread()); + cpu_throw(td, choosethread(SW_VOL)); panic("I'm a teapot!"); /* NOTREACHED */ } ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#6 (text+ko) ==== @@ -148,6 +148,7 @@ int skg_runq_kses; /* (j) Num KSEs on runq. */ int skg_idle_kses; /* (j) Num KSEs on iq. */ int skg_kses; /* (j) Num KSEs in group. */ + int skg_concurrancy; /* (j) desired concurrancy */ }; #define kg_kseq kg_sched->skg_kseq #define kg_iq kg_sched->skg_iq @@ -751,7 +752,7 @@ } void -sched_switch(struct thread *td) +sched_switch(struct thread *td, int flags) { struct thread *newtd; struct kse *ke; @@ -785,7 +786,7 @@ */ kse_reassign(ke); } - newtd = choosethread(); + newtd = choosethread(flags); if (td != newtd) cpu_switch(td, newtd); sched_lock.mtx_lock = (uintptr_t)td; @@ -1297,12 +1298,28 @@ childtd->td_last_kse = NULL; } +/* + * Whenever we have idle KSEs and there are too many for the concurrancy, + * then free as many as we can. + */ +#define REDUCE_KSES(skg) \ +do { \ + while ((skg->skg_concurrancy < skg->skg_kses) && \ + (skg->skg_idle_kses > 0)) { \ + kse_unlink(TAILQ_FIRST(&skg->skg_iq)); \ + } \ +} while (0) + void sched_set_concurrancy(struct ksegrp *kg, int concurrancy) { struct kse *newke; + struct kg_sched *skg; - while (kg->kg_kses < concurrancy) { + skg = kg->kg_sched; + skg->skg_concurrancy = concurrancy; + REDUCE_KSES(skg); + while (skg->skg_kses < skg->skg_concurrancy) { newke = kse_alloc(); bzero(&newke->ke_startzero, RANGEOF(struct kse, ke_startzero, ke_endzero)); @@ -1426,7 +1443,7 @@ * if the switch is voluntary or involuntary. */ struct thread * -choosethread(void) +choosethread(int flags) { struct kse *ke; struct thread *td; @@ -1445,7 +1462,16 @@ #endif retry: - ke = sched_choose(); + kg = curthread->td_ksegrp; +#if 0 + if (flags & SW_VOL) { + if (kg->kg_runnable) { + td = TAILQ_FIRST(&kg->kg_runq); + } + } + if (ke == NULL) +#endif + ke = sched_choose(); if (ke) { td = ke->ke_thread; KASSERT((td->td_kse == ke), ("kse/thread mismatch")); @@ -1528,6 +1554,7 @@ TAILQ_INSERT_TAIL(&kg->kg_iq, ke, ke_kgrlist); kg->kg_idle_kses++; CTR1(KTR_RUNQ, "kse_reassign: ke%p on idle queue", ke); + REDUCE_KSES(kg->kg_sched); /* if we are closing down discard it */ return; } ==== //depot/projects/nsched/sys/sys/proc.h#6 (text+ko) ==== @@ -532,9 +532,7 @@ #define NOCPU 0xff /* For when we aren't on a CPU. (SMP) */ -/* Status values (p_stat). */ - -/* These flags are kept in p_flag. */ +/* These flags are kept in p_flag. Only change under PROC LOCK */ #define P_ADVLOCK 0x00001 /* Process may hold a POSIX advisory lock. */ #define P_CONTROLT 0x00002 /* Has a controlling terminal. */ #define P_KTHREAD 0x00004 /* Kernel thread. (*)*/ @@ -542,6 +540,7 @@ #define P_PPWAIT 0x00010 /* Parent is waiting for child to exec/exit. */ #define P_PROFIL 0x00020 /* Has started profiling. */ #define P_STOPPROF 0x00040 /* Has thread in requesting to stop prof */ +#define P_HADTHREADS 0x00080 /* Has had threads (no cleanup shortcuts) */ #define P_SUGID 0x00100 /* Had set id privileges since last exec. */ #define P_SYSTEM 0x00200 /* System proc: no sigs, stats or swapping. */ #define P_SINGLE_EXIT 0x00400 /* Threads suspending should exit, not wait. */ @@ -739,7 +738,7 @@ void adjustrunqueue(struct thread *, int newpri); void ast(struct trapframe *framep); -struct thread *choosethread(void); +struct thread *choosethread(int flags); int cr_cansignal(struct ucred *cred, struct proc *proc, int signum); int enterpgrp(struct proc *p, pid_t pgid, struct pgrp *pgrp, struct session *sess); int enterthispgrp(struct proc *p, struct pgrp *pgrp); ==== //depot/projects/nsched/sys/sys/sched.h#4 (text+ko) ==== @@ -67,7 +67,7 @@ fixpt_t sched_pctcpu(struct thread *td); void sched_prio(struct thread *td, u_char prio); void sched_sleep(struct thread *td); -void sched_switch(struct thread *td); +void sched_switch(struct thread *td, int flags); void sched_userret(struct thread *td); void sched_wakeup(struct thread *td); From owner-p4-projects@FreeBSD.ORG Mon May 10 07:00:41 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81BC416A4D1; Mon, 10 May 2004 07:00:41 -0700 (PDT) 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 2170716A4D0 for ; Mon, 10 May 2004 07:00:41 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 17A4D43D60 for ; Mon, 10 May 2004 07:00:04 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4AE04Ge094424 for ; Mon, 10 May 2004 07:00:04 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4AE00FG094420 for perforce@freebsd.org; Mon, 10 May 2004 07:00:00 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Mon, 10 May 2004 07:00:00 -0700 (PDT) Message-Id: <200405101400.i4AE00FG094420@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 52604 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, 10 May 2004 14:00:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=52604 Change 52604 by areisse@areisse_ibook on 2004/05/10 06:59:04 move cctools forward to 495.2. Affected files ... .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/APPLE_LICENSE#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/PB.project#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/CompilerTools.html#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/FatFiles.rtf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/Prebinding.html#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/Private_CompilerTools.html#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/append.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/ar.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/ar.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/ar.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/archive.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/archive.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/contents.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/delete.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/extern.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/extract.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/misc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/move.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/pathnames.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/print.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ar/replace.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/app.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/app.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/as.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/as.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/atof-generic.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/atof-ieee.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/atof-ieee.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/bignum.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/driver.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/expr.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/expr.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/fixes.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/fixes.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/flonum-const.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/flonum-copy.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/flonum-mult.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/flonum.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/frags.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/frags.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hash.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hash.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hex-value.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hex_value.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hppa-aux.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hppa-aux.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hppa-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hppa-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/hppa.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i386-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i386-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i386.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i386.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i860-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i860-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/i860.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/input-file.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/input-file.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/input-scrub.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/input-scrub.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/layout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/layout.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m68k-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m68k-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m68k.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m88k-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m88k-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/m88k.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/make.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/make_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/md.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/messages.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/messages.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/obstack.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/obstack.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/ppc-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/ppc-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/ppc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/read.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/read.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/relax.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/sections.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/sections.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/sparc-check.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/sparc-opcode.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/sparc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/struc-symbol.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/symbols.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/symbols.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/write_object.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/write_object.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/xmalloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/as/xmalloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/cbtlibs/Makefile#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/cbtlibs/libsyminfo.c#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/cbtlibs/notes#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/allocate.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/allocate.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/cache_flush.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/cthread_internals.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/debug.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/debug.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_api#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_debug.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_debug_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_event.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_event_MsgError.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_event_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_init.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_init.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_libfuncs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_prebind.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_prebind_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/dyld_start.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/entry_point.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/entry_point.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/errors.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/errors.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/fp_save_restore.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/fp_save_restore.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/generic_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/getsecbyname.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/gmon.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/halt.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/hppa_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/images.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/images.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/inline_bsearch.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/inline_strcmp.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/lock.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/lock.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/machdep_lock.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/malloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/mig_support.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/mod_init_funcs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/mod_init_funcs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/ppc_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/register_funcs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/register_funcs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/section_order.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/sparc_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/stub_binding_helper.s#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/symbols.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/symbols.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/trace.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/trace.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/dyld/zoneprotect.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/apprentice.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/ascmagic.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/compress.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/file.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/file.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/file.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/fsmagic.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/internat.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/is_tar.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/386bsd#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/Header#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/Localstuff#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/OpenBSD#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/alliant#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/alpha#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/amanda#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/amigaos#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/animation#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/apl#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/apple#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/archive#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/asterix#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/att3b#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/audio#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/blit#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/bsdi#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/c-lang#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/chi#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/clipper#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/commands#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/compress#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/convex#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/database#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/diamond#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/diff#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/digital#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/dump#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/elf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/encore#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/filesystems#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/fonts#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/frame#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/freebsd#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/hp#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/ibm370#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/ibm6000#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/iff#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/images#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/intel#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/interleaf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/ispell#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/java#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/karma#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/lex#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/lif#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/linux#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/lisp#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/mach#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/macintosh#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/magic#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/mail.news#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/mirage#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/mkid#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/mmdf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/motorola#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/msdos#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/ncr#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/news#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/olf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/os9#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/osf1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pbm#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pdf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pdp#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pgp#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pkgadd#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/plus5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/printer#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/psdbms#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/pyramid#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/rpm#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/rtf#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sc#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sccs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sendmail#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sequent#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sgi#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sgml#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sniffer#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/softquad#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/sun#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/terminfo#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/tex#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/timezone#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/troff#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/typeset#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/unknown#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/uuencode#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/varied.out#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/vax#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/visx#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/vms#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/xenix#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/zilog#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magdir/zyxel#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/magic.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/names.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/patchlevel.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/print.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/readelf.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/readelf.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/readfat.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/softmagic.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/file/tar.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/arcs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/calls.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/dfn.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/getnfile.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/gprof.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/gprof.callg#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/gprof.flat#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/gprof.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/hertz.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/lookup.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/m68k.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/printgprof.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/printlist.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/scatter.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/gprof/vax.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/i386/fpu.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/i386/frame.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/m88k/fp_regs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/m88k/reg_help.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/nrw/macro_help.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/nrw/reg_help.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/architecture/sparc/reg.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/cbt/libsyminfo.h#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/gnu/a.out.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/gnu/exec.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/gnu/symseg.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/arch.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/dyld.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/dyld_debug.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/dyld_gdb.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/dyld_priv.h#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/fat.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/getsect.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/gmon.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/hppa/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/hppa/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/i386/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/i860/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/i860/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/kld.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/ldsyms.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/loader.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/m68k/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/m88k/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/m88k/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/nlist.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/ppc/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/ppc/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/ranlib.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/redo_prebinding.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/rld.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/rld_state.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/sarld.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/sparc/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/sparc/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/stab.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach-o/swap.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/hppa/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/i860/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/m68k/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/m88k/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/machine.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/ppc/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/mach/sparc/thread_status.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/standalone/libsa.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/SymLoc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/allocate.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/arch.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/best_arch.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/bool.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/breakout.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/bytesex.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/crc32.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/dylib_roots.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/dylib_table.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/errors.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/execute.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/guess_short_name.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/hash_string.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/hppa.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/macosx_deployment_target.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/ofile.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/openstep_mach.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/print.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/round.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/seg_addr_table.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/symbol_list.h#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/version_number.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/stuff/vm_flush_cache.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/include/sys/gmon.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/4byte_literals.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/4byte_literals.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/8byte_literals.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/8byte_literals.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/coalesced_sections.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/coalesced_sections.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/cstring_literals.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/cstring_literals.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/dylibs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/dylibs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/fvmlibs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/fvmlibs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/generic_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/generic_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/hash_string.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/hppa_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/hppa_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/i860_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/i860_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/indirect_sections.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/indirect_sections.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/layout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/layout.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ld.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ld.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/librld.ofileList#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/literal_pointers.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/literal_pointers.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/m88k_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/m88k_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/make.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/make_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/mod_sections.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/mod_sections.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/objects.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/objects.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/pass1.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/pass1.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/pass2.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/pass2.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ppc_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ppc_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/rld.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sections.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sections.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sets.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sets.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sparc_reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/sparc_reloc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/specs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/specs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/symbols.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/symbols.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/bind.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/core.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/debug.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/debug.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dlfcn.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dlopen.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dyld_debug_MsgError.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dyld_debug_api#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dyld_support.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/dylib.ofileList#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/images.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/objc_modules.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/ofi.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/ofi.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/private_callback.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/register_funcs.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/runtime_loading.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libdyld/shlib.ofileList#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/arch.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/dylib.ofileList#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/get_end.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/getsecbyname.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/getsegbyname.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/hppa_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/i386_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/i860_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/m68k_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/m88k_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/ppc_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/shlib.ofileList#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/sparc_swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libmacho/swap.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/SymLoc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/allocate.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/arch.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/arch_usage.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/best_arch.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/breakout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/bytesex.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/checkout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/crc32.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/dylib_roots.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/dylib_table.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/errors.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/execute.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/fatal_arch.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/fatals.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/get_arch_from_host.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/get_toc_byte_sex.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/guess_short_name.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/hash_string.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/hppa.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/macosx_deployment_target.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/ofile.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/ofile_error.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/ofile_get_word.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/print.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/reloc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/round.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/seg_addr_table.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/set_arch_flag_name.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/swap_headers.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/symbol_list.c#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/version_number.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/vm_flush_cache.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/libstuff/writeout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/Mach-O.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/NSModule.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/NSObjectFileImage.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/NSObjectFileImage_priv.3#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/a.out.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/ar.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/arch.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/as.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/atom.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/check_dylib.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/checksyms.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/cmpdylib.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/cmpshlib.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/dyld.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/dyld.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/dyld_debug.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/dylibprof.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/end.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/file.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/get_end.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/getsectbyname.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/getsectbynamefromheader.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/getsectdata.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/getsectdatafromheader.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/getsegbyname.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/gprof.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/indr.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/install_name_tool.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/kld.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/ld.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/libsyminfo.3#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/libtool.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/lipo.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/mkshlib.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/nm.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/nmedit.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/otool.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/pagestuff.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/ranlib.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/ranlib.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/redo_prebinding.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/redo_prebinding.3#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/seg_addr_table.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/segedit.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/size.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/stab.5#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/strings.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/man/strip.1#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/atom.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/check_dylib.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/check_hints.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/checksyms.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/cmpdylib.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/dylib_pcsampler.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/indr.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/inout.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/install_name_tool.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/kern_tool.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/libtool.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/lipo.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/main.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/make.defs#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/make_defs.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/nm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/pagestuff.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/redo_prebinding.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/seg_addr_table.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/seg_hack.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/segedit.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/size.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/strings.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/misc/strip.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/branch.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/cmpshlib.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/errors.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/hack_libgcc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/hack_libgcc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/hack_spec.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/host.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/libgcc.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/mkshlib.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/mkshlib.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/parse_spec.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/mkshlib/target.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/hppa_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/hppa_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/i386_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/i386_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/i860_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/i860_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/m68k_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/m68k_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/m88k_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/m88k_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/main.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/notify.c#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/notify.h#1 branch .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/ofile_print.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/ofile_print.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/otool.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/ppc_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/ppc_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/print_objc.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/sparc_disasm.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/otool/sparc_disasm.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/Makefile#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/dylibprof.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/notes#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/profileServer.c#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/profileServer.h#2 integrate .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/profileServer/profile_client.c#2 integrate Differences ... ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/APPLE_LICENSE#2 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/Makefile#2 (text+ko) ==== @@ -26,7 +26,7 @@ INSTALLSRC_SUBDIRS = $(COMMON_SUBDIRS) ar file include COMMON_SUBDIRS = libstuff as gprof misc libmacho ld dyld libdyld \ - mkshlib otool profileServer RelNotes man + mkshlib otool profileServer RelNotes man cbtlibs ifeq "macos" "$(RC_OS)" APPLE_SUBDIRS := $(shell if [ "$(RC_RELEASE)" = "Beaker" ] || \ [ "$(RC_RELEASE)" = "Bunsen" ] || \ @@ -58,7 +58,7 @@ [ "$(OBJROOT)" != "" ] && \ [ "$(SYMROOT)" != "" ]; \ then \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ for i in `echo $(SUBDIRS)`; \ do \ echo =========== $(MAKE) $@ for $$i =============; \ @@ -71,7 +71,7 @@ SYMROOT=$(SYMROOT)/$$i $@) || exit 1 ; \ done \ else \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ for i in `echo $(SUBDIRS)`; \ do \ echo =========== $(MAKE) $@ for $$i =============; \ @@ -96,7 +96,7 @@ echo "Unknown project name $$projName"; \ exit 1; \ fi; \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ echo =========== $(MAKE) $$target =============; \ $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ @@ -106,7 +106,7 @@ OBJROOT=$(OBJROOT) \ SYMROOT=$(SYMROOT) $$target; \ else \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ echo =========== $(MAKE) install_tools =============; \ $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" RC_ARCHS="$(RC_ARCHS)" \ RC_OS="$(RC_OS)" SUBDIRS="$(SUBDIRS)" \ @@ -117,7 +117,7 @@ install_tools: installhdrs @if [ $(SRCROOT) ]; \ then \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ for i in `echo $(SUBDIRS)`; \ do \ echo ======== $(MAKE) install for $$i ============; \ @@ -131,7 +131,7 @@ done; \ if [ $(RC_RELEASE) ]; \ then \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ for i in `echo $(SUBDIRS)`; \ do \ echo ===== $(MAKE) shlib_clean for $$i ==========; \ @@ -145,7 +145,7 @@ done \ fi \ else \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ for i in `echo $(SUBDIRS)`; \ do \ echo ========= $(MAKE) install for $$i ===========; \ @@ -170,7 +170,7 @@ lib_ofiles lib_ofiles_install: installhdrs @if [ $(SRCROOT) ]; \ then \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ echo =========== $(MAKE) all for libstuff =============; \ (cd libstuff; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ @@ -206,8 +206,15 @@ SRCROOT=$(SRCROOT)/misc \ OBJROOT=$(OBJROOT)/misc \ SYMROOT=$(SYMROOT)/misc $@) || exit 1; \ + echo =========== $(MAKE) $@ for cbtlibs =============; \ + (cd cbtlibs; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ + RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ + DSTROOT=$$DSTROOT \ + SRCROOT=$(SRCROOT)/cbtlibs\ + OBJROOT=$(OBJROOT)/cbtlibs\ + SYMROOT=$(SYMROOT)/cbtlibs $@) || exit 1; \ else \ - CWD=`pwd`; cd $(DSTROOT); DSTROOT=`pwd`; cd $$CWD; \ + CWD=`pwd`; cd "$(DSTROOT)"; DSTROOT=`pwd`; cd "$$CWD"; \ echo =========== $(MAKE) all for libstuff =============; \ (cd libstuff; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ @@ -228,6 +235,9 @@ (cd misc; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ DSTROOT=$$DSTROOT $@) || exit 1; \ + (cd cbtlibs; $(MAKE) RC_CFLAGS="$(RC_CFLAGS)" \ + RC_ARCHS="$(RC_ARCHS)" RC_OS="$(RC_OS)" \ + DSTROOT=$$DSTROOT $@) || exit 1; \ fi installsrc: SRCROOT ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/PB.project#2 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/CompilerTools.html#2 (text+ko) ==== @@ -1,13 +1,13 @@ - + - Mac OS X 10.1 Compiler Tools Release Notes + Mac OS X Compiler Tools Release Notes - + -

Mac OS X 10.2 Release Notes:
+

Mac OS X 10.3 Release Notes:
Compiler Tools

@@ -21,7 +21,7 @@

-

These notes are for the Mac OS X 10.2 Release of the compiler +

These notes are for the MacOS X 10.3 Release of the compiler tools. They contain information about the following topics:

    @@ -35,6 +35,125 @@ on)
+

Notes Specific to Mac OS X 10.3 Release

+ +

New Features

+ +

The static linker as option to find +@executable_path dynamic libraries

+ +

Added the -executable_path path_name option to +ld(1) where path_name is is used to replace +@executable_path for dependent libraries.

+ +

Notes Specific to Mac OS X June 2003 Developer Release

+ +

New Features

+ +

The compiler tools now support the PowerPC 970 +processor

+ +

The compiler tools now support the PowerPC 970 processor. The +architecture specific flag -arch ppc970 is used to specify +this specific processor. The assembler will only assemble 64-bit +instructions and other PowerPC AS User Instruction Set Architecture +Version 2.00 instructions supported by the PowerPC 970 processor when +-arch ppc970 or -force_cpusubtype_ALL is specified.

+ +

To specify branch predictions which use the AT bit encodings for +The branch is very likely to be taken and The branch is +very likely not to be taken the two character suffixes ++ and -- +are used. For example:

+ +
bge-- foo
+ +

The single character suffixes + and - continue to encode branch +predictions which use the Y-bit encoding by default. The encoding can +be changed for the single character suffixes to use the AT bit +encodings with the assembler flag +-static_branch_prediction_AT_bits (see the as(1) man +page for more details).

+ +

The compiler tools now support stub +libraries

+ +

The compiler tools now support stub libraries created from dynamic +libraries which are used in the SDKs. Stub libraries are created via +strip(1) and the new -c option. And can be linked +against in place of the actual dynamic library.

+ +

The static linker now can search for libraries +first in the library paths

+ +

By default when the -dynamic flag is in effect, the +-lx and -weak-lx options first search for +a file of the form libx.dylib in each directory in the library +search path, then a file of the form libx.a is searched for in +the library search paths. The new option -search_paths_first +changes it so that in each path libx.dylib is searched for +then libx.a before the next path in the library search path is +searched.

+ +

The static linker now supports forcing a dynamic +library to be weak

+ +

Added the -weak_framework, -weak_library and +-weak-l options to ld(1) to force the dynamic library +and the symbols referenced from it to be marked as weak imports. See +the ld(1) man page for more details.

+ +

The static linker now has a work around for not +having dead code stripping

+ +

Added the -undefined define_a_way option to ld(1) as +a work a round to not having dead-code stripping that also strips out +references to undefined symbols from the dead code. Which leads to +link time failures due to undefined symbols. With this option +ld(1) defines the remaining undefined symbols as private +definitions and allows the link to succeed. The program then runs as +long as it does not use any of the undefined symbols.

+ +

Notes Specific to Mac OS X November 2002 Developer Release

+ +

New Features

+ +

Exports lists can now be specified to the static +linker

+ +

The static link editor, ld(1), now has two new options, +-exported_symbols_list filename and +-unexported_symbols_list filename to limit the +global symbols in the linked output file. This was previously done by +with an nmedit(1). By using the new options to ld(1) +the use of nmedit(1) can be eliminated resulting in faster +build times.

+ +

The static linker now can build single module +dynamic libraries

+ +

The static link editor, ld(1), now has a new option, +-single_module, to build a dynamic library containing only one +module. This was previously done by first creating a master.o file +with an ld(1) -r step and then using the master.o to +created the dynamic library. By using the new -single_module +option to ld(1) this first step can be eliminated resulting in +faster build times.

+ +

The default in the static link editor remains the same and dynamic +libraries are built with multiple modules. The new flag +-multi_module has also been added to allow this to be +explicitly specified.

+ +

The static linker's -s option now works like +strip on dynamic executables

+ +

The static link editor's -s option can now be used to strip +an executable that use the dynamic link editor. This will produce the +same result as running strip(1) with no options on the +executable. By using the -s option when building an executable +the strip(1) step can be eliminated resulting in faster build +times.

+

Notes Specific to Mac OS X 10.2 Release

The compiler tools for the MacOS X 10.2 Release must be used with @@ -763,6 +882,6 @@ This instruction is assembled by ppcasm.

Copyright © -2002 Apple Computer, Inc.

+2003 Apple Computer, Inc.

==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/FatFiles.rtf#2 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/Makefile#2 (text+ko) ==== ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/RelNotes/Prebinding.html#2 (text+ko) ==== @@ -1,5 +1,5 @@ - +Prebinding Notes @@ -7,298 +7,314 @@ -

MacOS X 10.1 Prebinding Notes Copyright © 2001 by -Apple Computer, Inc. All Rights Reserved.

+

MacOS X 10.2 Prebinding Notes Copyright © +2003 by Apple Computer, Inc. All Rights Reserved.

+ +

Mac OS X 10.2 Prebinding Notes

-

Mac OS X 10.1 Prebinding Notes

+

This document describes an optimization called prebinding +which enables fast launching of applications on Mac OS X.

-

This document describes an optimization called prebinding which -enables fast launching of applications on Mac OS X.

+

Normally, when you build an application or dynamic library, the +static linker (ld) records the names of the symbols the +executable links against, and marks references to these symbols as +"undefined."

-

Normally, when you build an application or dynamic library, the static -linker (ld) records the names of the symbols the executable links -against, and marks references to these symbols as "undefined."

+

When an application is launched, the dynamic linker +(dyld) must bind the needed undefined references from the +executable and dynamic libraries to their respective definitions. The +binding process can take time, since the linker must map the library +to an unoccupied address range and calculate the address of each +referenced symbol in the library.

-

When an application is launched, the dynamic linker (dyld) -must bind the needed undefined references from the executable and dynamic -libraries to their respective definitions. The binding process can take time, -since the linker must map the library to an unoccupied address range and -calculate the address of each referenced symbol in the library.

+

Building a dynamic library with prebinding enabled eliminates the +normal binding overhead by predefining the library at a specified +address range. When an executable or other dynamic library is built +against a prebound library, the linker can directly reference symbols +in the prebound library by address, instead of leaving the addresses +undefined.

-

Building a dynamic library with prebinding enabled eliminates the normal -binding overhead by predefining the library at a specified address range. When -an executable or other dynamic library is built against a prebound library, -the linker can directly reference symbols in the prebound library by address, -instead of leaving the addresses undefined.

+

The static linker also records the time stamp of libraries +dependent libraries. When the program is executed, the dynamic linker +checks to see that all the build time stamps match and that the +prebound address ranges of all code does not overlap. If both of +these conditions are met, the binding of undefined references is +already done, which saves a considerable amount of time. If the time +stamps don't match, or prebound executable addresses overlap, the +prebinding is undone and the program is bound normally.

-

The static linker also records the time stamp of libraries dependent -libraries. When the program is executed, the dynamic linker checks to see -that all the build time stamps match and that the prebound address ranges of -all code does not overlap. If both of these conditions are met, the binding -of undefined references is already done, which saves a considerable amount -of time. If the time stamps don't match, or prebound executable addresses -overlap, the prebinding is undone and the program is bound normally.

+

Note that prebinding is only applicable to Mach-O executables. CFM +PEF binaries do not support prebinding.

-

Note that prebinding is only applicable to Mach-O executables. CFM PEF -binaries do not support prebinding.

+

Requirements for Prebinding

-

Requirements for Prebinding

+

To work properly, libraries and executables must meet several +important requirements:

-

To work properly, libraries and executables must meet several important requirements:

    -
  1. Libraries must not have overlapping preferred addresses. For -each release of Mac OS X the Apple-supplied libraries are all >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon May 10 07:52:53 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8AE2316A4D1; Mon, 10 May 2004 07:52:53 -0700 (PDT) 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 38B8D16A4CE for ; Mon, 10 May 2004 07:52:53 -0700 (PDT) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D61D43D45 for ; Mon, 10 May 2004 07:52:52 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 15668 invoked from network); 10 May 2004 14:38:14 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 10 May 2004 14:38:14 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i4AEc9db097548; Mon, 10 May 2004 10:38:10 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Marcel Moolenaar Date: Mon, 10 May 2004 10:38:35 -0400 User-Agent: KMail/1.6 References: <200405080517.i485H87U065177@repoman.freebsd.org> In-Reply-To: <200405080517.i485H87U065177@repoman.freebsd.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200405101038.35521.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Perforce Change Reviews Subject: Re: PERFORCE change 52492 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, 10 May 2004 14:52:54 -0000 On Saturday 08 May 2004 01:17 am, Marcel Moolenaar wrote: > http://perforce.freebsd.org/chv.cgi?CH=52492 > > Change 52492 by marcel@marcel_nfs on 2004/05/07 22:16:29 > > Add thread support functions: > o kdb_thr_first() and kdb_thr_next() are to be used when > iterating over the threads. Typically one calls these > to list threads. > o kdb_thr_lookup() maps a TID onto a struct thread. This > allows thread selection based on TIDs. > o kdb_thr_select() is used to switch the current thread. > > Currently threads that haven't run yet are considered > non-existent. This is mostly done to avoid complexities > caused by not having a valid or complete trapframe. > > Remove kdb_set_thread(). Cool! It would be good to have a kdb_proc_lookup() as well I think as some places duplicate that code. However, most places should also now just be using tid's rather than pid's anyway. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Mon May 10 09:25:15 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F11B616A4D0; Mon, 10 May 2004 09:25:14 -0700 (PDT) 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 9904C16A4CE for ; Mon, 10 May 2004 09:25:14 -0700 (PDT) Received: from mail4.speakeasy.net (mail4.speakeasy.net [216.254.0.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id CCC2F43D5D for ; Mon, 10 May 2004 09:25:01 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 19477 invoked from network); 10 May 2004 14:50:29 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 10 May 2004 14:50:29 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i4AEoQxO097616; Mon, 10 May 2004 10:50:26 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Nate Lawson Date: Mon, 10 May 2004 10:50:51 -0400 User-Agent: KMail/1.6 References: <200405031911.i43JBPk7000313@repoman.freebsd.org> <20040507211416.H51922@root.org> In-Reply-To: <20040507211416.H51922@root.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200405101050.51751.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Perforce Change Reviews Subject: Re: PERFORCE change 52156 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, 10 May 2004 16:25:15 -0000 On Saturday 08 May 2004 12:15 am, Nate Lawson wrote: > On Mon, 3 May 2004, John Baldwin wrote: > > http://perforce.freebsd.org/chv.cgi?CH=52156 > > > > Change 52156 by jhb@jhb_slimer on 2004/05/03 12:10:39 > > > > Bah, revert accidental submits. Neither of these worked on my > > laptop, though the acpi_video one does work for some people and > > might should be committed. > > > > Affected files ... > > > > .. //depot/projects/power/sys/dev/acpica/acpi_video.c#4 edit > > .. //depot/projects/power/sys/isa/vga_isa.c#5 edit > > The DPMS stuff should go in a different device driver than acpi_video. It > is a MI driver that implements only the standard ACPI interfaces. DPMS is > probed separately and should be in a separate driver. You can have DPMS > without ACPI too. I know. My laptop doesn't have a device that acpi_video attaches to and it needs DPMS. You can see I tried adding it to vga_isa.c and that didn't work either. I have a start on a vgapci(4) driver that would attach to PCI devices that have the right class and subclass. It would then have drm0, agp0 (for Intel onboard graphics), and I guess a dpms0 or vesa0 child device. That's trickier. Partly because the only info I can find on DPMS, is to use the BIOS to do it via vm86, which is very i386-only. Maybe there will be a dpms0 child and the default on x86 can be to attach the VESA version, but chip-specific drivers with a probe of 0 can be written for use on all archs if the DPMS frobbing really is chip specific. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org From owner-p4-projects@FreeBSD.ORG Mon May 10 16:05:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5AE416A4D0; Mon, 10 May 2004 16:05:19 -0700 (PDT) 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 8205116A4CE for ; Mon, 10 May 2004 16:05:19 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D108B43D5D for ; Mon, 10 May 2004 16:05:18 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4AN5IGe027809 for ; Mon, 10 May 2004 16:05:18 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4AN5IVL027806 for perforce@freebsd.org; Mon, 10 May 2004 16:05:18 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Mon, 10 May 2004 16:05:18 -0700 (PDT) Message-Id: <200405102305.i4AN5IVL027806@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52643 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, 10 May 2004 23:05:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=52643 Change 52643 by julian@julian_ref on 2004/05/10 16:05:05 try not crash in boot. Affected files ... .. //depot/projects/nsched/sys/i386/i386/mp_machdep.c#2 edit .. //depot/projects/nsched/sys/kern/kern_exit.c#5 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#12 edit .. //depot/projects/nsched/sys/kern/sched_4bsd.c#7 edit Differences ... ==== //depot/projects/nsched/sys/i386/i386/mp_machdep.c#2 (text+ko) ==== @@ -550,7 +550,7 @@ binuptime(PCPU_PTR(switchtime)); PCPU_SET(switchticks, ticks); - cpu_throw(NULL, choosethread()); /* doesn't return */ + cpu_throw(NULL, choosethread(SW_VOL)); /* doesn't return */ panic("scheduler returned us to %s", __func__); /* NOTREACHED */ ==== //depot/projects/nsched/sys/kern/kern_exit.c#5 (text+ko) ==== @@ -489,15 +489,6 @@ */ cpu_exit(td); - /* - * Release this thread's reference to the ucred. The actual proc - * reference will stay around until the proc is harvested by - * wait(). XXX maybe this should be done there too. - */ - crfree(td->td_ucred); - td->td_ucred = NULL; - - PROC_LOCK(p); PROC_LOCK(p->p_pptr); sx_xunlock(&proctree_lock); @@ -530,7 +521,7 @@ * Allow the scheduler to adjust the priority of the * parent when a process is exiting. */ - if (p->p_pid != 1) + if (p->p_pptr != initproc) sched_exit(p->p_pptr, td); /* @@ -683,6 +674,8 @@ /* * do any thread-system specific cleanups + * like freeing the thread's ucred, + * and any spare threads, etc. */ thread_wait(p); @@ -697,8 +690,6 @@ #ifdef MAC mac_destroy_proc(p); #endif - KASSERT(FIRST_THREAD_IN_PROC(p), - ("kern_wait: no residual thread!")); uma_zfree(proc_zone, p); sx_xlock(&allproc_lock); nprocs--; ==== //depot/projects/nsched/sys/kern/kern_thread.c#12 (text+ko) ==== @@ -645,6 +645,10 @@ KASSERT((p->p_numthreads == 1), ("Multiple threads in wait1()")); KASSERT((p->p_numksegrps == 1), ("Multiple ksegrps in wait1()")); FOREACH_THREAD_IN_PROC(p, td) { + if (td->td_ucred) { + crfree(td->td_ucred); + td->td_ucred = NULL; + } if (td->td_standin != NULL) { thread_free(td->td_standin); td->td_standin = NULL; ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#7 (text+ko) ==== @@ -1202,11 +1202,11 @@ TAILQ_REMOVE(&kg->kg_iq, ke, ke_kgrlist); kg->kg_idle_kses--; } - if (--kg->kg_kses == 0) - ksegrp_unlink(kg); /* * Aggregate stats from the KSE + * ## none yet ## */ + kse_stash(ke); } @@ -1300,12 +1300,14 @@ /* * Whenever we have idle KSEs and there are too many for the concurrancy, - * then free as many as we can. + * then free as many as we can. Don't free too many if we have threads + * to run/kill. */ -#define REDUCE_KSES(skg) \ +#define REDUCE_KSES(kg, skg) \ do { \ while ((skg->skg_concurrancy < skg->skg_kses) && \ - (skg->skg_idle_kses > 0)) { \ + (skg->skg_idle_kses > 0) && \ + (skg->skg_kses > kg->kg_numthreads)) { \ kse_unlink(TAILQ_FIRST(&skg->skg_iq)); \ } \ } while (0) @@ -1318,7 +1320,7 @@ skg = kg->kg_sched; skg->skg_concurrancy = concurrancy; - REDUCE_KSES(skg); + REDUCE_KSES(kg, skg); while (skg->skg_kses < skg->skg_concurrancy) { newke = kse_alloc(); bzero(&newke->ke_startzero, RANGEOF(struct kse, @@ -1554,7 +1556,7 @@ TAILQ_INSERT_TAIL(&kg->kg_iq, ke, ke_kgrlist); kg->kg_idle_kses++; CTR1(KTR_RUNQ, "kse_reassign: ke%p on idle queue", ke); - REDUCE_KSES(kg->kg_sched); /* if we are closing down discard it */ + REDUCE_KSES(kg, kg->kg_sched); /* if we are closing down discard it */ return; } From owner-p4-projects@FreeBSD.ORG Mon May 10 16:17:42 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6217E16A4D0; Mon, 10 May 2004 16:17:42 -0700 (PDT) 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 237C016A4CE for ; Mon, 10 May 2004 16:17:42 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C50443D53 for ; Mon, 10 May 2004 16:17:38 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4ANHcGe029949 for ; Mon, 10 May 2004 16:17:38 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4ANHXQg029946 for perforce@freebsd.org; Mon, 10 May 2004 16:17:33 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Mon, 10 May 2004 16:17:33 -0700 (PDT) Message-Id: <200405102317.i4ANHXQg029946@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52644 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, 10 May 2004 23:17:43 -0000 http://perforce.freebsd.org/chv.cgi?CH=52644 Change 52644 by julian@julian_desk on 2004/05/10 16:17:05 IFC Affected files ... .. //depot/projects/nsched/sys/alpha/alpha/fp_emulate.c#2 integrate .. //depot/projects/nsched/sys/alpha/alpha/ieee_float.c#2 integrate .. //depot/projects/nsched/sys/alpha/alpha/interrupt.c#2 integrate .. //depot/projects/nsched/sys/alpha/alpha/pmap.c#3 integrate .. //depot/projects/nsched/sys/alpha/alpha/vm_machdep.c#3 integrate .. //depot/projects/nsched/sys/alpha/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/alpha/include/float.h#3 integrate .. //depot/projects/nsched/sys/alpha/include/fpu.h#2 integrate .. //depot/projects/nsched/sys/alpha/include/pmap.h#4 integrate .. //depot/projects/nsched/sys/alpha/include/sf_buf.h#2 integrate .. //depot/projects/nsched/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/nsched/sys/amd64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/nsched/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/nsched/sys/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/nsched/sys/amd64/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/amd64/include/acpica_machdep.h#2 integrate .. //depot/projects/nsched/sys/amd64/include/float.h#3 integrate .. //depot/projects/nsched/sys/amd64/include/md_var.h#2 integrate .. //depot/projects/nsched/sys/amd64/include/pmap.h#4 integrate .. //depot/projects/nsched/sys/amd64/include/sf_buf.h#2 integrate .. //depot/projects/nsched/sys/arm/include/_types.h#2 integrate .. //depot/projects/nsched/sys/arm/include/elf.h#2 integrate .. //depot/projects/nsched/sys/arm/include/endian.h#2 integrate .. //depot/projects/nsched/sys/arm/include/signal.h#3 integrate .. //depot/projects/nsched/sys/boot/forth/loader.conf#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot0/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot0/boot0.S#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/boot0.s#2 delete .. //depot/projects/nsched/sys/boot/i386/boot0/boot0ext.S#1 branch .. //depot/projects/nsched/sys/boot/i386/boot0/boot0ext.s#2 delete .. //depot/projects/nsched/sys/boot/i386/boot0/boot0sio.s#2 delete .. //depot/projects/nsched/sys/boot/i386/boot0ext/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot0sio/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot2/boot1.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/boot2/sio.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btx/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btx/btx.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btxldr/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/btx/btxldr/btxldr.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/cdboot/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/libi386/amd64_tramp.S#2 integrate .. //depot/projects/nsched/sys/boot/i386/mbr/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/pxeldr/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/i386/pxeldr/pxeldr.S#2 integrate .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_16550.S#2 integrate .. //depot/projects/nsched/sys/boot/pc98/boot2/serial_8251.S#2 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btx/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btx/btx.S#2 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/Makefile#2 integrate .. //depot/projects/nsched/sys/boot/pc98/btx/btxldr/btxldr.S#2 integrate .. //depot/projects/nsched/sys/cam/scsi/scsi_da.c#2 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32.h#2 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_proto.h#3 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_syscall.h#3 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_syscalls.c#3 integrate .. //depot/projects/nsched/sys/compat/freebsd32/freebsd32_sysent.c#3 integrate .. //depot/projects/nsched/sys/compat/freebsd32/syscalls.master#2 integrate .. //depot/projects/nsched/sys/compat/ia32/ia32_signal.h#2 integrate .. //depot/projects/nsched/sys/compat/ndis/hal_var.h#2 integrate .. //depot/projects/nsched/sys/compat/ndis/kern_ndis.c#3 integrate .. //depot/projects/nsched/sys/compat/ndis/ndis_var.h#3 integrate .. //depot/projects/nsched/sys/compat/ndis/ntoskrnl_var.h#2 integrate .. //depot/projects/nsched/sys/compat/ndis/pe_var.h#2 integrate .. //depot/projects/nsched/sys/compat/ndis/subr_hal.c#2 integrate .. //depot/projects/nsched/sys/compat/ndis/subr_ndis.c#3 integrate .. //depot/projects/nsched/sys/compat/ndis/subr_ntoskrnl.c#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.alpha#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.amd64#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.i386#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.ia64#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.pc98#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.powerpc#2 integrate .. //depot/projects/nsched/sys/conf/Makefile.sparc64#2 integrate .. //depot/projects/nsched/sys/conf/NOTES#2 integrate .. //depot/projects/nsched/sys/conf/files#7 integrate .. //depot/projects/nsched/sys/conf/files.amd64#2 integrate .. //depot/projects/nsched/sys/conf/files.i386#3 integrate .. //depot/projects/nsched/sys/conf/files.ia64#2 integrate .. //depot/projects/nsched/sys/conf/files.pc98#3 integrate .. //depot/projects/nsched/sys/conf/files.sparc64#2 integrate .. //depot/projects/nsched/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/nsched/sys/conf/majors#2 integrate .. //depot/projects/nsched/sys/conf/options#3 integrate .. //depot/projects/nsched/sys/conf/options.sparc64#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/CHANGES.txt#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acconfig.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acdisasm.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acfreebsd.h#3 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acglobal.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/achware.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acinterp.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/aclocal.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acpica_prep.sh#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/actypes.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/acutils.h#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/common/adisasm.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/compiler/aslload.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dbexec.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dmopcode.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dmutils.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dmwalk.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dsmthdat.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/dswload.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/evgpe.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/evgpeblk.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/evmisc.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/evxfevnt.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/excreate.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/exdump.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/exfldio.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/exresnte.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/exstore.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/exstoren.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/hwgpe.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/hwregs.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/hwsleep.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nsaccess.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nsdump.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nseval.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nssearch.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nsutils.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/nsxfeval.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/rsaddr.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/uteval.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/utglobal.c#2 integrate .. //depot/projects/nsched/sys/contrib/dev/acpica/utmisc.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src.diff#1 branch .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx.h#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_context.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_env.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_env.h#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_self-new.c#1 branch .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_self.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_self.h#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_self_context.s#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_step.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_step.h#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_str.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_utable.c#2 integrate .. //depot/projects/nsched/sys/contrib/ia64/libuwx/src/uwx_utable.h#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/if_pflog.c#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/if_pfsync.c#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/pf.c#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/pf_ioctl.c#2 integrate .. //depot/projects/nsched/sys/contrib/pf/net/pf_norm.c#2 integrate .. //depot/projects/nsched/sys/dev/aac/aac.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdDebug.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdHardware.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdInterrupt.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdMemory.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdSchedule.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdStream.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdSynch.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/Osd/OsdTable.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_acad.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_cpu.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_ec.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pci.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pci_link.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pcib.c#2 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_powerres.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpi_timer.c#3 integrate .. //depot/projects/nsched/sys/dev/acpica/acpivar.h#3 integrate .. //depot/projects/nsched/sys/dev/an/if_an_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/arl/if_arl.c#2 integrate .. //depot/projects/nsched/sys/dev/arl/if_arl_isa.c#2 integrate .. //depot/projects/nsched/sys/dev/arl/if_arlreg.h#2 integrate .. //depot/projects/nsched/sys/dev/asr/asr.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-all.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-card.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-cbus.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-chipset.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-commands.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-disk.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-dma.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-isa.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-lowlevel.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-pci.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-pci.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/ata-queue.c#2 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-cd.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-fd.h#2 integrate .. //depot/projects/nsched/sys/dev/ata/atapi-tape.h#2 integrate .. //depot/projects/nsched/sys/dev/awi/awi.c#2 integrate .. //depot/projects/nsched/sys/dev/awi/if_awi_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/cardbus/cardbus_cis.c#2 integrate .. //depot/projects/nsched/sys/dev/ciss/ciss.c#2 integrate .. //depot/projects/nsched/sys/dev/ciss/cissreg.h#2 integrate .. //depot/projects/nsched/sys/dev/ciss/cissvar.h#2 integrate .. //depot/projects/nsched/sys/dev/cp/cpddk.c#1 branch .. //depot/projects/nsched/sys/dev/cp/cpddk.h#1 branch .. //depot/projects/nsched/sys/dev/cp/if_cp.c#1 branch .. //depot/projects/nsched/sys/dev/cp/ng_cp.h#1 branch .. //depot/projects/nsched/sys/dev/cs/if_cs.c#2 integrate .. //depot/projects/nsched/sys/dev/cs/if_cs_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/nsched/sys/dev/cx/if_cx.c#2 integrate .. //depot/projects/nsched/sys/dev/cy/cy.c#1 branch .. //depot/projects/nsched/sys/dev/cy/cy_isa.c#1 branch .. //depot/projects/nsched/sys/dev/cy/cy_pci.c#1 branch .. //depot/projects/nsched/sys/dev/cy/cyreg.h#1 branch .. //depot/projects/nsched/sys/dev/cy/cyvar.h#1 branch .. //depot/projects/nsched/sys/dev/ed/if_ed.c#2 integrate .. //depot/projects/nsched/sys/dev/ed/if_ed_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/em/if_em.c#2 integrate .. //depot/projects/nsched/sys/dev/ex/if_ex.c#2 integrate .. //depot/projects/nsched/sys/dev/fe/if_fe.c#2 integrate .. //depot/projects/nsched/sys/dev/fxp/if_fxp.c#3 integrate .. //depot/projects/nsched/sys/dev/gem/if_gem.c#2 integrate .. //depot/projects/nsched/sys/dev/hfa/fore_load.c#2 delete .. //depot/projects/nsched/sys/dev/hme/if_hme.c#2 integrate .. //depot/projects/nsched/sys/dev/ic/cd1400.h#1 branch .. //depot/projects/nsched/sys/dev/if_ndis/if_ndis.c#3 integrate .. //depot/projects/nsched/sys/dev/if_ndis/if_ndisvar.h#2 integrate .. //depot/projects/nsched/sys/dev/led/led.c#2 integrate .. //depot/projects/nsched/sys/dev/led/led.h#2 integrate .. //depot/projects/nsched/sys/dev/lnc/if_lnc.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/brgphy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/dcphy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/e1000phy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/mii.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/mii_physubr.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/mlphy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/rgephy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/ruephy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/tlphy.c#2 integrate .. //depot/projects/nsched/sys/dev/mii/xmphy.c#2 integrate .. //depot/projects/nsched/sys/dev/nge/if_nge.c#2 integrate .. //depot/projects/nsched/sys/dev/pccard/files.pccard#2 delete .. //depot/projects/nsched/sys/dev/pccard/pccard_cis.c#2 integrate .. //depot/projects/nsched/sys/dev/pccard/pccarddevs#3 integrate .. //depot/projects/nsched/sys/dev/pccard/pccarddevs.h#3 integrate .. //depot/projects/nsched/sys/dev/pccbb/pccbb.c#3 integrate .. //depot/projects/nsched/sys/dev/pci/pci.c#3 integrate .. //depot/projects/nsched/sys/dev/puc/puc_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/puc/pucdata.c#2 integrate .. //depot/projects/nsched/sys/dev/puc/pucvar.h#2 integrate .. //depot/projects/nsched/sys/dev/random/harvest.c#3 integrate .. //depot/projects/nsched/sys/dev/random/nehemiah.c#2 integrate .. //depot/projects/nsched/sys/dev/random/probe.c#2 integrate .. //depot/projects/nsched/sys/dev/random/randomdev.c#3 integrate .. //depot/projects/nsched/sys/dev/random/randomdev.h#3 integrate .. //depot/projects/nsched/sys/dev/random/randomdev_soft.c#2 integrate .. //depot/projects/nsched/sys/dev/re/if_re.c#2 integrate .. //depot/projects/nsched/sys/dev/sbni/if_sbni.c#2 integrate .. //depot/projects/nsched/sys/dev/sio/sio.c#3 integrate .. //depot/projects/nsched/sys/dev/sio/sio_ebus.c#2 delete .. //depot/projects/nsched/sys/dev/sn/if_sn.c#2 integrate .. //depot/projects/nsched/sys/dev/sn/if_sn_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/snc/if_snc_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/ad1816.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/ess.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/mss.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sb16.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sb8.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/isa/sbc.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/cmi.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/csa.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/csapcm.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/ds1.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/emu10k1.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/ich.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pci/t4dwave.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pcm/ac97.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pcm/buffer.c#2 integrate .. //depot/projects/nsched/sys/dev/sound/pcm/sound.h#2 integrate .. //depot/projects/nsched/sys/dev/sx/cd1865.h#1 branch .. //depot/projects/nsched/sys/dev/sx/sx.c#1 branch .. //depot/projects/nsched/sys/dev/sx/sx.h#1 branch .. //depot/projects/nsched/sys/dev/sx/sx_pci.c#1 branch .. //depot/projects/nsched/sys/dev/sx/sx_util.c#1 branch .. //depot/projects/nsched/sys/dev/sx/sx_util.h#1 branch .. //depot/projects/nsched/sys/dev/sx/sxvar.h#1 branch .. //depot/projects/nsched/sys/dev/uart/uart_core.c#2 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_sab82532.c#2 integrate .. //depot/projects/nsched/sys/dev/uart/uart_dev_z8530.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/devlist2h.awk#2 integrate .. //depot/projects/nsched/sys/dev/usb/if_aue.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/if_axe.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/ohcireg.h#2 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs.h#2 integrate .. //depot/projects/nsched/sys/dev/usb/usbdevs_data.h#2 integrate .. //depot/projects/nsched/sys/dev/usb/uvisor.c#2 integrate .. //depot/projects/nsched/sys/dev/usb/uvscom.c#2 integrate .. //depot/projects/nsched/sys/dev/vinum/vinumio.c#2 integrate .. //depot/projects/nsched/sys/dev/wi/if_wi_pccard.c#2 integrate .. //depot/projects/nsched/sys/dev/wl/if_wl.c#2 integrate .. //depot/projects/nsched/sys/dev/xe/if_xe.c#2 integrate .. //depot/projects/nsched/sys/dev/xe/if_xe_pccard.c#3 integrate .. //depot/projects/nsched/sys/fs/nwfs/nwfs_io.c#2 integrate .. //depot/projects/nsched/sys/fs/smbfs/smbfs_io.c#2 integrate .. //depot/projects/nsched/sys/fs/specfs/spec_vnops.c#3 integrate .. //depot/projects/nsched/sys/geom/concat/g_concat.c#2 integrate .. //depot/projects/nsched/sys/geom/gate/g_gate.c#1 branch .. //depot/projects/nsched/sys/geom/gate/g_gate.h#1 branch .. //depot/projects/nsched/sys/geom/geom_gpt.c#2 integrate .. //depot/projects/nsched/sys/i386/acpica/Makefile#2 integrate .. //depot/projects/nsched/sys/i386/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/nsched/sys/i386/acpica/acpi_asus.c#1 branch .. //depot/projects/nsched/sys/i386/acpica/acpi_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/acpica/acpi_toshiba.c#3 integrate .. //depot/projects/nsched/sys/i386/acpica/acpi_wakeup.c#2 integrate .. //depot/projects/nsched/sys/i386/acpica/madt.c#2 integrate .. //depot/projects/nsched/sys/i386/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/i386/conf/NOTES#3 integrate .. //depot/projects/nsched/sys/i386/conf/PAE#2 integrate .. //depot/projects/nsched/sys/i386/i386/apic_vector.s#3 integrate .. //depot/projects/nsched/sys/i386/i386/elan-mmcr.c#3 integrate .. //depot/projects/nsched/sys/i386/i386/exception.s#3 integrate .. //depot/projects/nsched/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/legacy.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/local_apic.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/machdep.c#6 integrate .. //depot/projects/nsched/sys/i386/i386/mptable.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/nexus.c#2 integrate .. //depot/projects/nsched/sys/i386/i386/pmap.c#3 integrate .. //depot/projects/nsched/sys/i386/i386/support.s#3 integrate .. //depot/projects/nsched/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/nsched/sys/i386/include/acpica_machdep.h#2 integrate .. //depot/projects/nsched/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/nsched/sys/i386/include/bus_pc98.h#2 integrate .. //depot/projects/nsched/sys/i386/include/float.h#3 integrate .. //depot/projects/nsched/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/nsched/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/nsched/sys/i386/include/md_var.h#2 integrate .. //depot/projects/nsched/sys/i386/include/mpapic.h#2 delete .. //depot/projects/nsched/sys/i386/include/pci_cfgreg.h#2 integrate .. //depot/projects/nsched/sys/i386/include/pmap.h#3 integrate .. //depot/projects/nsched/sys/i386/isa/atpic.c#2 integrate .. //depot/projects/nsched/sys/i386/isa/atpic_vector.s#3 integrate .. //depot/projects/nsched/sys/i386/isa/clock.c#3 integrate .. //depot/projects/nsched/sys/i386/isa/cy.c#3 delete .. //depot/projects/nsched/sys/i386/isa/cyreg.h#2 delete .. //depot/projects/nsched/sys/i386/isa/elcr.c#1 branch .. //depot/projects/nsched/sys/i386/isa/ic/cd1400.h#2 delete .. //depot/projects/nsched/sys/i386/pci/pci_bus.c#2 integrate .. //depot/projects/nsched/sys/i386/pci/pci_pir.c#2 integrate .. //depot/projects/nsched/sys/ia64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/nsched/sys/ia64/acpica/acpi_machdep.c#2 integrate .. //depot/projects/nsched/sys/ia64/acpica/madt.c#2 integrate .. //depot/projects/nsched/sys/ia64/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/ia64/conf/SKI#2 integrate .. //depot/projects/nsched/sys/ia64/ia64/interrupt.c#2 integrate .. //depot/projects/nsched/sys/ia64/ia64/pmap.c#3 integrate .. //depot/projects/nsched/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/nsched/sys/ia64/ia64/vm_machdep.c#3 integrate .. //depot/projects/nsched/sys/ia64/include/acpica_machdep.h#2 integrate .. //depot/projects/nsched/sys/ia64/include/float.h#3 integrate .. //depot/projects/nsched/sys/ia64/include/sf_buf.h#2 integrate .. //depot/projects/nsched/sys/isa/fd.c#3 integrate .. //depot/projects/nsched/sys/isa/psm.c#3 integrate .. //depot/projects/nsched/sys/kern/imgact_elf.c#4 integrate .. //depot/projects/nsched/sys/kern/kern_clock.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_environment.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_exec.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_exit.c#6 integrate .. //depot/projects/nsched/sys/kern/kern_intr.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_jail.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_mac.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_poll.c#2 integrate .. //depot/projects/nsched/sys/kern/kern_resource.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_sig.c#3 integrate .. //depot/projects/nsched/sys/kern/kern_thr.c#5 integrate .. //depot/projects/nsched/sys/kern/kern_thread.c#13 integrate .. //depot/projects/nsched/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/nsched/sys/kern/link_elf_obj.c#1 branch .. //depot/projects/nsched/sys/kern/sched_ule.c#3 integrate .. //depot/projects/nsched/sys/kern/subr_mbuf.c#2 integrate .. //depot/projects/nsched/sys/kern/subr_rman.c#2 integrate .. //depot/projects/nsched/sys/kern/subr_sleepqueue.c#2 integrate .. //depot/projects/nsched/sys/kern/subr_smp.c#2 integrate .. //depot/projects/nsched/sys/kern/tty_compat.c#3 integrate .. //depot/projects/nsched/sys/kern/uipc_mbuf.c#3 integrate .. //depot/projects/nsched/sys/kern/uipc_mbuf2.c#3 integrate .. //depot/projects/nsched/sys/kern/uipc_syscalls.c#4 integrate .. //depot/projects/nsched/sys/kern/vfs_bio.c#2 integrate .. //depot/projects/nsched/sys/kern/vfs_export.c#3 integrate .. //depot/projects/nsched/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/nsched/sys/kern/vfs_syscalls.c#3 integrate .. //depot/projects/nsched/sys/libkern/quad.h#3 integrate .. //depot/projects/nsched/sys/modules/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/acpi/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/acpi/acpi/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/acpi/acpi_asus/Makefile#1 branch .. //depot/projects/nsched/sys/modules/asr/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/cam/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/cp/Makefile#1 branch .. //depot/projects/nsched/sys/modules/geom/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/geom/geom_gate/Makefile#1 branch .. //depot/projects/nsched/sys/modules/ipfilter/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/netgraph/Makefile#2 integrate .. //depot/projects/nsched/sys/modules/netgraph/hub/Makefile#1 branch .. //depot/projects/nsched/sys/modules/random/Makefile#3 integrate .. //depot/projects/nsched/sys/modules/sio/Makefile#2 integrate .. //depot/projects/nsched/sys/net/bridge.c#2 integrate .. //depot/projects/nsched/sys/net/if.c#3 integrate .. //depot/projects/nsched/sys/net/if.h#3 integrate .. //depot/projects/nsched/sys/net/if_arcsubr.c#3 integrate .. //depot/projects/nsched/sys/net/if_arp.h#3 integrate .. //depot/projects/nsched/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/nsched/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/nsched/sys/net/if_faith.c#3 integrate .. //depot/projects/nsched/sys/net/if_fddisubr.c#3 integrate .. //depot/projects/nsched/sys/net/if_gif.c#3 integrate .. //depot/projects/nsched/sys/net/if_gre.c#2 integrate .. //depot/projects/nsched/sys/net/if_iso88025subr.c#3 integrate .. //depot/projects/nsched/sys/net/if_loop.c#3 integrate .. //depot/projects/nsched/sys/net/if_media.h#2 integrate .. //depot/projects/nsched/sys/net/if_ppp.c#2 integrate .. //depot/projects/nsched/sys/net/if_stf.c#2 integrate .. //depot/projects/nsched/sys/net/if_var.h#3 integrate .. //depot/projects/nsched/sys/net/if_vlan.c#2 integrate .. //depot/projects/nsched/sys/net/radix.c#3 integrate .. //depot/projects/nsched/sys/net/radix.h#3 integrate .. //depot/projects/nsched/sys/net/route.c#3 integrate .. //depot/projects/nsched/sys/net/route.h#3 integrate .. //depot/projects/nsched/sys/net/rtsock.c#3 integrate .. //depot/projects/nsched/sys/net80211/ieee80211.c#2 integrate .. //depot/projects/nsched/sys/netatalk/aarp.c#3 integrate .. //depot/projects/nsched/sys/netatalk/at_extern.h#2 integrate .. //depot/projects/nsched/sys/netatalk/ddp_usrreq.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/common/ng_bluetooth.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/drivers/h4/ng_h4.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/hci/ng_hci_cmds.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/hci/ng_hci_evnt.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/hci/ng_hci_main.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/hci/ng_hci_misc.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/hci/ng_hci_ulpi.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/include/ng_bt3c.h#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/include/ng_btsocket.h#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/include/ng_h4.h#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_cmds.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_evnt.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_llpi.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_main.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c#3 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c#2 integrate .. //depot/projects/nsched/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_eiface.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_ether.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_fec.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_hub.c#1 branch .. //depot/projects/nsched/sys/netgraph/ng_hub.h#1 branch .. //depot/projects/nsched/sys/netgraph/ng_parse.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_pptpgre.c#2 integrate .. //depot/projects/nsched/sys/netgraph/ng_pptpgre.h#2 integrate .. //depot/projects/nsched/sys/netinet/if_ether.c#3 integrate .. //depot/projects/nsched/sys/netinet/in_gif.c#2 integrate .. //depot/projects/nsched/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/nsched/sys/netinet/ip_fastfwd.c#2 integrate .. //depot/projects/nsched/sys/netinet/ip_fw.h#2 integrate .. //depot/projects/nsched/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/nsched/sys/netinet/ip_icmp.c#3 integrate .. //depot/projects/nsched/sys/netinet/ip_input.c#3 integrate .. //depot/projects/nsched/sys/netinet/ip_output.c#3 integrate .. //depot/projects/nsched/sys/netinet/ip_var.h#3 integrate .. //depot/projects/nsched/sys/netinet/raw_ip.c#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_hostcache.c#2 integrate .. //depot/projects/nsched/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_output.c#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_subr.c#3 integrate .. //depot/projects/nsched/sys/netinet/tcp_syncache.c#2 integrate .. //depot/projects/nsched/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/nsched/sys/netinet/udp_usrreq.c#3 integrate .. //depot/projects/nsched/sys/netinet6/nd6.c#2 integrate .. //depot/projects/nsched/sys/netinet6/nd6_nbr.c#2 integrate .. //depot/projects/nsched/sys/netinet6/nd6_rtr.c#2 integrate .. //depot/projects/nsched/sys/netipsec/key.c#3 integrate .. //depot/projects/nsched/sys/netipsec/xform_ipip.c#2 integrate .. //depot/projects/nsched/sys/netipsec/xform_tcp.c#2 integrate .. //depot/projects/nsched/sys/nfsclient/nfs.h#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_bio.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_nfsiod.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_node.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/nsched/sys/nfsclient/nfsnode.h#3 integrate .. //depot/projects/nsched/sys/nfsserver/nfs.h#3 integrate .. //depot/projects/nsched/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/nsched/sys/nfsserver/nfs_srvsubs.c#3 integrate .. //depot/projects/nsched/sys/nfsserver/nfs_syscalls.c#3 integrate .. //depot/projects/nsched/sys/pc98/conf/GENERIC#3 integrate .. //depot/projects/nsched/sys/pc98/conf/NOTES#3 integrate .. //depot/projects/nsched/sys/pc98/pc98/fd.c#2 integrate .. //depot/projects/nsched/sys/pc98/pc98/sio.c#3 integrate .. //depot/projects/nsched/sys/pci/agp.c#2 integrate .. //depot/projects/nsched/sys/pci/agp_i810.c#3 integrate .. //depot/projects/nsched/sys/pci/amdpm.c#2 integrate .. //depot/projects/nsched/sys/pci/cy_pci.c#3 delete .. //depot/projects/nsched/sys/pci/if_dc.c#2 integrate .. //depot/projects/nsched/sys/pci/if_rl.c#3 integrate .. //depot/projects/nsched/sys/pci/if_sis.c#2 integrate .. //depot/projects/nsched/sys/pci/if_sk.c#2 integrate .. //depot/projects/nsched/sys/pci/if_ste.c#4 integrate .. //depot/projects/nsched/sys/pci/if_vr.c#3 integrate .. //depot/projects/nsched/sys/pci/if_xl.c#2 integrate .. //depot/projects/nsched/sys/powerpc/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/powerpc/include/float.h#3 integrate .. //depot/projects/nsched/sys/powerpc/include/param.h#2 integrate .. //depot/projects/nsched/sys/powerpc/include/pmap.h#3 integrate .. //depot/projects/nsched/sys/powerpc/include/sf_buf.h#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/ata_kauai.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powermac/ata_macio.c#2 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/pmap.c#3 integrate .. //depot/projects/nsched/sys/powerpc/powerpc/vm_machdep.c#3 integrate .. //depot/projects/nsched/sys/security/mac/mac_net.c#2 integrate .. //depot/projects/nsched/sys/security/mac_test/mac_test.c#2 integrate .. //depot/projects/nsched/sys/sparc64/conf/GENERIC#2 integrate .. //depot/projects/nsched/sys/sparc64/conf/NOTES#2 integrate .. //depot/projects/nsched/sys/sparc64/ebus/ebus.c#2 integrate .. //depot/projects/nsched/sys/sparc64/include/float.h#3 integrate .. //depot/projects/nsched/sys/sparc64/include/nexusvar.h#2 integrate .. //depot/projects/nsched/sys/sparc64/include/ofw_bus.h#2 integrate .. //depot/projects/nsched/sys/sparc64/include/pmap.h#3 integrate .. //depot/projects/nsched/sys/sparc64/isa/isa.c#2 integrate .. //depot/projects/nsched/sys/sparc64/isa/ofw_isa.c#2 integrate .. //depot/projects/nsched/sys/sparc64/isa/ofw_isa.h#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/apb.c#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pci.c#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pci.h#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pci_if.m#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pcib.c#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pcib_subr.c#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/ofw_pcib_subr.h#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/psycho.c#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/psychoreg.h#2 integrate .. //depot/projects/nsched/sys/sparc64/pci/psychovar.h#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/counter.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/identcpu.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/iommu.c#3 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/nexus.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/ofw_bus.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/ofw_machdep.c#2 integrate .. //depot/projects/nsched/sys/sparc64/sparc64/pmap.c#3 integrate .. //depot/projects/nsched/sys/sys/_label.h#2 integrate .. //depot/projects/nsched/sys/sys/acl.h#2 integrate .. //depot/projects/nsched/sys/sys/callout.h#3 integrate .. //depot/projects/nsched/sys/sys/condvar.h#3 integrate .. //depot/projects/nsched/sys/sys/elf_common.h#2 integrate .. //depot/projects/nsched/sys/sys/imgact.h#3 integrate .. //depot/projects/nsched/sys/sys/imgact_aout.h#3 integrate .. //depot/projects/nsched/sys/sys/jail.h#2 integrate .. //depot/projects/nsched/sys/sys/mac.h#2 integrate .. //depot/projects/nsched/sys/sys/mac_policy.h#2 integrate .. //depot/projects/nsched/sys/sys/mbuf.h#3 integrate .. //depot/projects/nsched/sys/sys/mman.h#3 integrate .. //depot/projects/nsched/sys/sys/mount.h#3 integrate .. //depot/projects/nsched/sys/sys/param.h#3 integrate .. //depot/projects/nsched/sys/sys/proc.h#7 integrate .. //depot/projects/nsched/sys/sys/regression.h#2 integrate .. //depot/projects/nsched/sys/sys/socket.h#3 integrate .. //depot/projects/nsched/sys/sys/ttycom.h#3 integrate .. //depot/projects/nsched/sys/sys/types.h#3 integrate .. //depot/projects/nsched/sys/sys/user.h#3 integrate .. //depot/projects/nsched/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/nsched/sys/vm/device_pager.c#3 integrate .. //depot/projects/nsched/sys/vm/phys_pager.c#2 integrate .. //depot/projects/nsched/sys/vm/pmap.h#3 integrate .. //depot/projects/nsched/sys/vm/swap_pager.c#2 integrate .. //depot/projects/nsched/sys/vm/vm_fault.c#2 integrate .. //depot/projects/nsched/sys/vm/vm_glue.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_kern.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_map.c#3 integrate .. //depot/projects/nsched/sys/vm/vm_map.h#3 integrate .. //depot/projects/nsched/sys/vm/vm_page.c#3 integrate .. //depot/projects/nsched/sys/vm/vnode_pager.c#3 integrate Differences ... ==== //depot/projects/nsched/sys/alpha/alpha/fp_emulate.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/fp_emulate.c,v 1.13 2003/08/17 06:42:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/fp_emulate.c,v 1.14 2004/05/06 09:35:57 das Exp $"); #include #include @@ -296,7 +296,7 @@ td->td_pcb->pcb_fp_control = control; /* Regenerate the control register */ - fpcr = fpregs->fpr_cr & FPCR_DYN_MASK; + fpcr = fpregs->fpr_cr & (FPCR_DYN_MASK | FPCR_STATUS_MASK); fpcr |= ((control & IEEE_STATUS_MASK) << IEEE_STATUS_TO_FPCR_SHIFT); if (!(control & IEEE_TRAP_ENABLE_INV)) ==== //depot/projects/nsched/sys/alpha/alpha/ieee_float.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/ieee_float.c,v 1.9 2003/08/22 07:20:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/ieee_float.c,v 1.10 2004/05/06 09:36:11 das Exp $"); #include #ifdef TEST @@ -312,6 +312,9 @@ break; } + if (frac == 0) + *status |= FPCR_UNF; + /* * Rounding up may take us to TWO if * fraclo == (TWO - epsilon). Also If fraclo has been ==== //depot/projects/nsched/sys/alpha/alpha/interrupt.c#2 (text+ko) ==== @@ -35,7 +35,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.77 2004/03/23 22:28:16 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/interrupt.c,v 1.78 2004/04/16 20:09:53 jhb Exp $"); #include #include @@ -134,7 +134,7 @@ alpha_clock_interrupt(framep); break; - case ALPHA_INTR_ERROR: /* Machine Check or Correctable Error */ + case ALPHA_INTR_ERROR: /* Machine Check or Correctable Error */ a0 = alpha_pal_rdmces(); if (platform.mcheck_handler) (*platform.mcheck_handler)(a0, framep, a1, a2); ==== //depot/projects/nsched/sys/alpha/alpha/pmap.c#3 (text+ko) ==== @@ -148,7 +148,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.142 2004/04/05 04:07:58 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/pmap.c,v 1.146 2004/04/26 17:49:05 gallatin Exp $"); #include #include @@ -301,7 +301,6 @@ */ struct pmap kernel_pmap_store; -vm_offset_t avail_end; /* PA of last available physical page */ vm_offset_t virtual_avail; /* VA of first avail page (after kernel bss) */ vm_offset_t virtual_end; /* VA of last avail page (end of kernel AS) */ static boolean_t pmap_initialized = FALSE; /* Has pmap_init completed? */ @@ -511,9 +510,6 @@ Lev2map[i] = newpte; } - for (i = 0; phys_avail[i+2]; i+= 2) ; - avail_end = phys_avail[i+1]; - virtual_avail = VM_MIN_KERNEL_ADDRESS; virtual_end = VPTBASE; @@ -1078,7 +1074,7 @@ */ VM_OBJECT_LOCK(pmap->pm_pteobj); lev1pg = vm_page_grab(pmap->pm_pteobj, NUSERLEV3MAPS + NUSERLEV2MAPS, - VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_WIRED); + VM_ALLOC_NORMAL | VM_ALLOC_RETRY | VM_ALLOC_WIRED | VM_ALLOC_ZERO); vm_page_lock_queues(); vm_page_flag_clear(lev1pg, PG_BUSY); @@ -1087,9 +1083,6 @@ VM_OBJECT_UNLOCK(pmap->pm_pteobj); pmap->pm_lev1 = (pt_entry_t*) ALPHA_PHYS_TO_K0SEG(VM_PAGE_TO_PHYS(lev1pg)); - if ((lev1pg->flags & PG_ZERO) == 0) - bzero(pmap->pm_lev1, PAGE_SIZE); - /* install self-referential address mapping entry (not PG_ASM) */ pmap->pm_lev1[PTLEV1I] = pmap_phys_to_pte(VM_PAGE_TO_PHYS(lev1pg)) @@ -1198,8 +1191,6 @@ VM_OBJECT_LOCK(pmap->pm_pteobj); m = vm_page_grab(pmap->pm_pteobj, ptepindex, VM_ALLOC_WIRED | VM_ALLOC_ZERO | VM_ALLOC_RETRY); - if ((m->flags & PG_ZERO) == 0) - pmap_zero_page(m); KASSERT(m->queue == PQ_NONE, ("_pmap_allocpte: %p->queue != PQ_NONE", m)); @@ -1246,7 +1237,6 @@ vm_page_lock_queues(); m->valid = VM_PAGE_BITS_ALL; - vm_page_flag_clear(m, PG_ZERO); vm_page_wakeup(m); vm_page_unlock_queues(); if (!is_object_locked) @@ -1910,7 +1900,8 @@ * raise IPL while manipulating pv_table since pmap_enter can be * called at interrupt time. */ - if (pmap_initialized && (m->flags & PG_FICTITIOUS) == 0) { + if (pmap_initialized && + (m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) == 0) { pmap_insert_entry(pmap, va, mpte, m); managed |= PG_MANAGED; } @@ -1970,8 +1961,8 @@ pmap_enter_quick(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_page_t mpte) { register pt_entry_t *pte; + int managed; - /* * In the case that a page table page is not * resident, we are creating it here. @@ -2035,7 +2026,11 @@ * raise IPL while manipulating pv_table since pmap_enter can be * called at interrupt time. */ - pmap_insert_entry(pmap, va, mpte, m); + managed = 0; + if ((m->flags & (PG_FICTITIOUS|PG_UNMANAGED)) == 0) { + pmap_insert_entry(pmap, va, mpte, m); + managed = PG_MANAGED | PG_FOR | PG_FOW | PG_FOE; + } /* * Increment counters @@ -2045,7 +2040,7 @@ /* * Now validate mapping with RO protection */ - *pte = pmap_phys_to_pte(VM_PAGE_TO_PHYS(m)) | PG_V | PG_KRE | PG_URE | PG_MANAGED | PG_FOR | PG_FOE | PG_FOW; + *pte = pmap_phys_to_pte(VM_PAGE_TO_PHYS(m)) | PG_V | PG_KRE | PG_URE | managed; alpha_pal_imb(); /* XXX overkill? */ return mpte; ==== //depot/projects/nsched/sys/alpha/alpha/vm_machdep.c#3 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.102 2004/04/03 09:16:24 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.103 2004/04/18 06:24:51 alc Exp $"); #include #include @@ -101,21 +101,7 @@ #include -static void sf_buf_init(void *arg); -SYSINIT(sock_sf, SI_SUB_MBUF, SI_ORDER_ANY, sf_buf_init, NULL) - /* - * Expanded sf_freelist head. Really an SLIST_HEAD() in disguise, with the - * sf_freelist head with the sf_lock mutex. - */ -static struct { - SLIST_HEAD(, sf_buf) sf_head; - struct mtx sf_lock; -} sf_freelist; - -static u_int sf_buf_alloc_want; - -/* * Finish a fork operation, with process p2 nearly set up. * Copy and update the pcb, set up the stack so that the child * ready to run and return to user mode. @@ -384,69 +370,24 @@ } /* - * Allocate a pool of sf_bufs (sendfile(2) or "super-fast" if you prefer. :-)) + * Allocate an sf_buf for the given vm_page. On this machine, however, there + * is no sf_buf object. Instead, an opaque pointer to the given vm_page is + * returned. */ -static void -sf_buf_init(void *arg) -{ - struct sf_buf *sf_bufs; - int i; - - mtx_init(&sf_freelist.sf_lock, "sf_bufs list lock", NULL, MTX_DEF); - SLIST_INIT(&sf_freelist.sf_head); - sf_bufs = malloc(nsfbufs * sizeof(struct sf_buf), M_TEMP, - M_NOWAIT | M_ZERO); - for (i = 0; i < nsfbufs; i++) - SLIST_INSERT_HEAD(&sf_freelist.sf_head, &sf_bufs[i], free_list); - sf_buf_alloc_want = 0; -} - -/* - * Get an sf_buf from the freelist. Will block if none are available. - */ struct sf_buf * sf_buf_alloc(struct vm_page *m, int pri) { - struct sf_buf *sf; - int error; - mtx_lock(&sf_freelist.sf_lock); - while ((sf = SLIST_FIRST(&sf_freelist.sf_head)) == NULL) { - sf_buf_alloc_want++; - mbstat.sf_allocwait++; - error = msleep(&sf_freelist, &sf_freelist.sf_lock, PVM | pri, - "sfbufa", 0); - sf_buf_alloc_want--; - - /* - * If we got a signal, don't risk going back to sleep. - */ - if (error) - break; - } - if (sf != NULL) { - SLIST_REMOVE_HEAD(&sf_freelist.sf_head, free_list); - sf->m = m; - nsfbufsused++; - nsfbufspeak = imax(nsfbufspeak, nsfbufsused); - } - mtx_unlock(&sf_freelist.sf_lock); - return (sf); + return ((struct sf_buf *)m); } /* - * Release resources back to the system. + * Free the sf_buf. In fact, do nothing because there are no resources + * associated with the sf_buf. */ void sf_buf_free(struct sf_buf *sf) { - - mtx_lock(&sf_freelist.sf_lock); - SLIST_INSERT_HEAD(&sf_freelist.sf_head, sf, free_list); - nsfbufsused--; - if (sf_buf_alloc_want > 0) - wakeup_one(&sf_freelist); - mtx_unlock(&sf_freelist.sf_lock); } /* ==== //depot/projects/nsched/sys/alpha/conf/GENERIC#2 (text+ko) ==== @@ -18,7 +18,7 @@ # # For hardware specific information check HARDWARE.TXT # -# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.168 2004/01/24 21:45:25 jeff Exp $ +# $FreeBSD: src/sys/alpha/conf/GENERIC,v 1.170 2004/05/02 20:40:17 marcel Exp $ machine alpha cpu EV4 @@ -60,6 +60,7 @@ options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem (requires PSEUDOFS) options PSEUDOFS #Pseudo-filesystem framework +options GEOM_GPT #GUID Partition Tables. options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options COMPAT_FREEBSD4 #Compatible with FreeBSD4 options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI @@ -194,10 +195,10 @@ device umass # Disks/Mass storage - Requires scbus and da0 device ums # Mouse # USB Ethernet -device aue # ADMtek USB ethernet -device axe # ASIX Electronics USB ethernet -device cue # CATC USB ethernet -device kue # Kawasaki LSI USB ethernet +device aue # ADMtek USB Ethernet +device axe # ASIX Electronics USB Ethernet +device cue # CATC USB Ethernet +device kue # Kawasaki LSI USB Ethernet # FireWire support device firewire # FireWire bus code ==== //depot/projects/nsched/sys/alpha/include/float.h#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/alpha/include/float.h,v 1.5 2004/04/05 21:00:50 imp Exp $ */ +/* $FreeBSD: src/sys/alpha/include/float.h,v 1.6 2004/04/25 02:36:28 das Exp $ */ /* From: NetBSD: float.h,v 1.6 1997/07/17 21:36:03 thorpej Exp */ /* @@ -41,8 +41,10 @@ #define FLT_RADIX 2 /* b */ #define FLT_ROUNDS __flt_rounds() +#if __ISO_C_VISIBLE >= 1999 #define FLT_EVAL_METHOD 0 /* no promotions */ #define DECIMAL_DIG 17 /* max precision in decimal digits */ +#endif #define FLT_MANT_DIG 24 /* p */ #define FLT_EPSILON 1.19209290E-07F /* b**(1-p) */ ==== //depot/projects/nsched/sys/alpha/include/fpu.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/alpha/include/fpu.h,v 1.6 2002/11/16 06:35:51 deischen Exp $ + * $FreeBSD: src/sys/alpha/include/fpu.h,v 1.7 2004/05/06 09:35:57 das Exp $ */ #ifndef _MACHINE_FPU_H_ @@ -56,6 +56,8 @@ #define FPCR_INED (1LL << 62) /* Inexact Disable */ #define FPCR_SUM (1LL << 63) /* Summary Bit */ #define FPCR_MASK (~0LL << 49) +#define FPCR_STATUS_MASK (FPCR_INV | FPCR_DZE | FPCR_OVF | \ + FPCR_UNF | FPCR_INE | FPCR_IOV) /* * Exception summary bits. ==== //depot/projects/nsched/sys/alpha/include/pmap.h#4 (text+ko) ==== @@ -39,7 +39,7 @@ * from: hp300: @(#)pmap.h 7.2 (Berkeley) 12/16/90 * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: i386 pmap.h,v 1.54 1997/11/20 19:30:35 bde Exp - * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.28 2004/04/05 21:00:50 imp Exp $ + * $FreeBSD: src/sys/alpha/include/pmap.h,v 1.30 2004/04/11 05:08:26 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -204,7 +204,6 @@ #ifdef _KERNEL -extern vm_offset_t avail_end; extern vm_offset_t phys_avail[]; extern vm_offset_t virtual_avail; extern vm_offset_t virtual_end; @@ -214,6 +213,7 @@ vm_offset_t pmap_steal_memory(vm_size_t); void pmap_bootstrap(vm_offset_t, u_int); void pmap_kenter(vm_offset_t va, vm_offset_t pa); +void *pmap_kenter_temporary(vm_offset_t pa, int i); void pmap_kremove(vm_offset_t); void pmap_setdevram(unsigned long long basea, vm_offset_t sizea); int pmap_uses_prom_console(void); ==== //depot/projects/nsched/sys/alpha/include/sf_buf.h#2 (text+ko) ==== @@ -23,35 +23,36 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/alpha/include/sf_buf.h,v 1.1 2003/11/16 06:11:24 alc Exp $ + * $FreeBSD: src/sys/alpha/include/sf_buf.h,v 1.2 2004/04/18 06:24:51 alc Exp $ */ #ifndef _MACHINE_SF_BUF_H_ #define _MACHINE_SF_BUF_H_ -#include - #include #include #include -struct sf_buf { - SLIST_ENTRY(sf_buf) free_list; /* list of free buffer slots */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon May 10 16:23:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3429916A4D0; Mon, 10 May 2004 16:23:47 -0700 (PDT) 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 0FFC816A4CE for ; Mon, 10 May 2004 16:23:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB88343D5A for ; Mon, 10 May 2004 16:23:46 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4ANNkGe031808 for ; Mon, 10 May 2004 16:23:46 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4ANNkE5031805 for perforce@freebsd.org; Mon, 10 May 2004 16:23:46 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Mon, 10 May 2004 16:23:46 -0700 (PDT) Message-Id: <200405102323.i4ANNkE5031805@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52646 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, 10 May 2004 23:23:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=52646 Change 52646 by julian@julian_desk on 2004/05/10 16:23:03 finish IFC.. changes in parts of code that moved to a new file Affected files ... .. //depot/projects/nsched/sys/kern/kern_kse.c#5 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_kse.c#5 (text+ko) ==== @@ -327,9 +327,12 @@ PROC_LOCK(p); if (ku->ku_mflags & KMF_WAITSIGEVENT) { /* UTS wants to wait for signal event */ - if (!(p->p_flag & P_SIGEVENT) && !(ku->ku_flags & KUF_DOUPCALL)) + if (!(p->p_flag & P_SIGEVENT) && !(ku->ku_flags & KUF_DOUPCALL)) { + td->td_kflags |= TDK_KSERELSIG; error = msleep(&p->p_siglist, &p->p_mtx, PPAUSE|PCATCH, "ksesigwait", (uap->timeout ? tvtohz(&tv) : 0)); + td->td_kflags &= ~(TDK_KSERELSIG | TDK_WAKEUP); + } p->p_flag &= ~P_SIGEVENT; sigset = p->p_siglist; PROC_UNLOCK(p); @@ -338,9 +341,11 @@ } else { if (! kg->kg_completed && !(ku->ku_flags & KUF_DOUPCALL)) { kg->kg_upsleeps++; + td->td_kflags |= TDK_KSEREL; error = msleep(&kg->kg_completed, &p->p_mtx, PPAUSE|PCATCH, "kserel", (uap->timeout ? tvtohz(&tv) : 0)); + td->td_kflags &= ~(TDK_KSEREL | TDK_WAKEUP); kg->kg_upsleeps--; } PROC_UNLOCK(p); @@ -384,31 +389,36 @@ } else { kg = td->td_ksegrp; if (kg->kg_upsleeps) { + mtx_unlock_spin(&sched_lock); wakeup_one(&kg->kg_completed); - mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); return (0); } ku = TAILQ_FIRST(&kg->kg_upcalls); } - if (ku) { - if ((td2 = ku->ku_owner) == NULL) { - panic("%s: no owner", __func__); - } else if (TD_ON_SLEEPQ(td2) && (td2->td_flags & TDF_SINTR) && - ((td2->td_wchan == &kg->kg_completed) || - (td2->td_wchan == &p->p_siglist && - (ku->ku_mflags & KMF_WAITSIGEVENT)))) { - sleepq_abort(td2); - } else { - ku->ku_flags |= KUF_DOUPCALL; + if (ku == NULL) { + mtx_unlock_spin(&sched_lock); + PROC_UNLOCK(p); + return (ESRCH); + } + if ((td2 = ku->ku_owner) == NULL) { + mtx_unlock_spin(&sched_lock); + panic("%s: no owner", __func__); + } else if (td2->td_kflags & (TDK_KSEREL | TDK_KSERELSIG)) { + mtx_unlock_spin(&sched_lock); + if (!(td2->td_kflags & TDK_WAKEUP)) { + td2->td_kflags |= TDK_WAKEUP; + if (td2->td_kflags & TDK_KSEREL) + sleepq_remove(td2, &kg->kg_completed); + else + sleepq_remove(td2, &p->p_siglist); } + } else { + ku->ku_flags |= KUF_DOUPCALL; mtx_unlock_spin(&sched_lock); - PROC_UNLOCK(p); - return (0); } - mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); - return (ESRCH); + return (0); } /* From owner-p4-projects@FreeBSD.ORG Mon May 10 17:29:08 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CA06E16A4D0; Mon, 10 May 2004 17:29:07 -0700 (PDT) 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 A386C16A4CF for ; Mon, 10 May 2004 17:29:07 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A49343D53 for ; Mon, 10 May 2004 17:29:07 -0700 (PDT) (envelope-from julian@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4B0T7Ge050960 for ; Mon, 10 May 2004 17:29:07 -0700 (PDT) (envelope-from julian@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4B0T7LQ050957 for perforce@freebsd.org; Mon, 10 May 2004 17:29:07 -0700 (PDT) (envelope-from julian@freebsd.org) Date: Mon, 10 May 2004 17:29:07 -0700 (PDT) Message-Id: <200405110029.i4B0T7LQ050957@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to julian@freebsd.org using -f From: Julian Elischer To: Perforce Change Reviews Subject: PERFORCE change 52649 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, 11 May 2004 00:29:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=52649 Change 52649 by julian@julian_ref on 2004/05/10 17:28:33 at least non threaded processes work now Affected files ... .. //depot/projects/nsched/sys/kern/sched_4bsd.c#8 edit Differences ... ==== //depot/projects/nsched/sys/kern/sched_4bsd.c#8 (text+ko) ==== @@ -652,8 +652,6 @@ { sched_exit_ksegrp(parent, childtd); sched_exit_thread(parent, childtd); - if (childtd->td_kse) - sched_unrun_kse(parent, childtd); } /* This PROBABLY gives the estcpu to the wrong kseg */ From owner-p4-projects@FreeBSD.ORG Tue May 11 08:27:20 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2781916A4D0; Tue, 11 May 2004 08:27:20 -0700 (PDT) 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 F166F16A4CE for ; Tue, 11 May 2004 08:27:19 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B994A43D53 for ; Tue, 11 May 2004 08:27:19 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4BFRJGe066333 for ; Tue, 11 May 2004 08:27:19 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4BFRJ4X066330 for perforce@freebsd.org; Tue, 11 May 2004 08:27:19 -0700 (PDT) (envelope-from bb+lists.freebsd.perforce@cyrus.watson.org) Date: Tue, 11 May 2004 08:27:19 -0700 (PDT) Message-Id: <200405111527.i4BFRJ4X066330@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 52669 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, 11 May 2004 15:27:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=52669 Change 52669 by rwatson@rwatson_tislabs on 2004/05/11 08:26:20 Don't put compiled binaries in the source repository. Affected files ... .. //depot/projects/trustedbsd/sedarwin73/mac_cmds/getfmac/getfmac#2 delete .. //depot/projects/trustedbsd/sedarwin73/mac_cmds/getpmac/getpmac#2 delete Differences ... From owner-p4-projects@FreeBSD.ORG Tue May 11 08:48:47 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id AB08216A4D1; Tue, 11 May 2004 08:48:47 -0700 (PDT) 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 863CD16A4CE for ; Tue, 11 May 2004 08:48:47 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E6BC043D45 for ; Tue, 11 May 2004 08:48:46 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4BFmkGe076438 for ; Tue, 11 May 2004 08:48:46 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4BFmkdo076435 for perforce@freebsd.org; Tue, 11 May 2004 08:48:46 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Tue, 11 May 2004 08:48:46 -0700 (PDT) Message-Id: <200405111548.i4BFmkdo076435@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 52671 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, 11 May 2004 15:48:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=52671 Change 52671 by areisse@areisse_ibook on 2004/05/11 08:48:13 Support for reading modules for early loading. Bundles with a LoadEarly file are passed to the kernel to be loaded before iokit modules. Affected files ... .. //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/include.subproj/sl.h#4 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/sl.subproj/drivers.c#4 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/sl.subproj/main.c#7 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/include.subproj/sl.h#4 (text+ko) ==== @@ -223,4 +223,14 @@ // Externs for lzss.c extern int decompress_lzss(u_int8_t *dst, u_int8_t *src, u_int32_t srclen); +/* Early module support */ + +struct ekmod +{ + char *name; + void *file; + size_t filesize; + struct ekmod *next; +}; + #endif /* ! _BOOTX_SL_H_ */ ==== //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/sl.subproj/drivers.c#4 (text+ko) ==== @@ -146,8 +146,94 @@ static char gTempSpec[4096]; static char gFileName[4096]; +extern struct ekmod *emods; + // Public Functions +int LoadEarlyModules (char *dirSpec) +{ + strcat(dirSpec, "Extensions"); + + /* Read the early modules. For now, this does not use the iokit module + facility to reduce changes to the other module support here. + Later we may use the iokit module loader for security modules also, + for the features such as version checking and dependencies. */ + + int index = 0; + long ret, length, flags, time, time2, bundleType; + char *name, *buffer, nameb[256]; + ModulePtr module; + TagPtr pers, pname, pexe; + while (1) { + ret = GetDirEntry(dirSpec, &index, &name, &flags, &time); + if (ret == -1) break; + + if ((flags & kFileTypeMask ) != kFileTypeDirectory) continue; + length = strlen(name); + + if (strcmp(name + length - 5, ".kext") || strlen(name) >= 255) continue; + + strcpy (nameb, name); + + // Look for early module marker + sprintf(gTempSpec, "%s\\%s", dirSpec, name); + ret = GetFileInfo(gTempSpec, "LoadEarly", &flags, &time); + if (ret) + continue; + + // Determine the bundle type. + ret = GetFileInfo(gTempSpec, "Contents", &flags, &time); + if (ret == 0) bundleType = kCFBundleType2; + else bundleType = kCFBundleType3; + + // Read the property list (for the bundle name) + sprintf(gFileSpec, "%s\\%s\\%sInfo.plist", dirSpec, nameb, + (bundleType == kCFBundleType2) ? "Contents\\" : ""); + + length = LoadFile(gFileSpec); + if (length == -1) + continue; + + buffer = malloc(length + 1); + if (buffer == 0) + continue; + strncpy(buffer, (char *)kLoadAddr, length); + ret = ParseXML(buffer, &module, &pers); + free(buffer); + if (ret != 0) + continue; + pname = GetProperty (module->dict, kPropCFBundleIdentifier); + if (pname == 0) + continue; + pexe = GetProperty(module->dict, kPropCFBundleExecutable); + if (pexe == 0) + continue; + + sprintf(gFileSpec, "%s\\%s\\%s", dirSpec, nameb, + (bundleType == kCFBundleType2) ? "Contents\\MacOS\\" : ""); + strcat (gFileSpec, pexe->string); + length = LoadFile(gFileSpec); + if (length > 1) { + void *module = kLoadAddr; + ThinFatBinary(&module, &length); + + struct ekmod *mi = + AllocateBootXMemory (sizeof (struct ekmod) + strlen (pname->string) + 2 + length); + mi->name = ((char*)mi) + sizeof (struct ekmod); + mi->file = ((char*)mi) + sizeof (struct ekmod) + 1 + strlen (pname->string); + mi->filesize = length; + strcpy (mi->name, pname->string); + memcpy (mi->file, module, length); + mi->next = emods; + emods = mi; + } + } + + return 0; +} + + /* Process iokit modules */ + long LoadDrivers(char *dirSpec) { if (gBootFileType == kNetworkDeviceType) { ==== //depot/projects/trustedbsd/sedarwin73/apsl/BootX/bootx.tproj/sl.subproj/main.c#7 (text+ko) ==== @@ -103,6 +103,8 @@ static unsigned long gOFSPRG2Save; static unsigned long gOFSPRG3Save; +struct ekmod *emods = NULL; + // Private Functions static void Start(void *unused1, void *unused2, ClientInterfacePtr ciPtr) @@ -176,10 +178,14 @@ if (ret != 0) FailToBoot(3); if (!gHaveKernelCache) { - ret = LoadDrivers(gExtensionsSpec); + char extpath[4096]; + strcpy (extpath, gExtensionsSpec); + ret = LoadDrivers(extpath); if (ret != 0) FailToBoot(4); } - + + LoadEarlyModules (gExtensionsSpec); + DrawSplashScreen(1); ret = SetUpBootArgs(); @@ -419,7 +425,18 @@ return ret; } +void AddKernData (boot_args_ptr args, const char *name, size_t size, void *data) +{ + int *v = (int *) AllocateKernelMemory (size + sizeof (int) * 5); + *v = size; + strcpy ((char *) (v + 1), name); + memcpy (v + 5, data, size); + if (args->exdata == NULL) + args->exdata = v; + args->exdatalen = (char*)AllocateKernelMemory(0)-(char*)args->exdata; +} + static long SetUpBootArgs(void) { boot_args_ptr args; @@ -627,35 +644,41 @@ strcpy (datfile, gRootDir); strcat (datfile, pfilename); size = LoadFile (datfile); - if (size > 0) { - int *v = (int *) AllocateKernelMemory (size + sizeof (int) * 5); - *v = size; - strcpy ((char *) (v + 1), propname + 5); - memcpy (v + 5, kLoadAddr, size); - - if (args->exdata == NULL) - args->exdata = v; - //args->exdatalen += size + sizeof(int) * 5; - args->exdatalen = (char*)AllocateKernelMemory(0)-(char*)args->exdata; - } + if (size > 0) + AddKernData (args, propname + 5, size, kLoadAddr); } } else if (!strncmp (propname, "kenv_", 5)) { char pvar[255]; size = GetProp(gOptionsPH, propname, pvar, 255); - if (size > 0 && strlen(propname+4) < sizeof(int) * 4) { - int *v = (int *) AllocateKernelMemory (size + sizeof (int) * 5); - *v = size; - strcpy ((char *) (v + 1), propname + 5); - memcpy (v + 5, pvar, size); + if (size > 0 && strlen(propname+4) < sizeof(int) * 4) + AddKernData (args, propname + 5, size, pvar); + } + } + + /* Load early modules */ + int *emv = (int *) AllocateKernelMemory (0); + int *emo = emv; + strcpy ((char *) (emo+1), " modules"); + emo[5] = 0; + emv = emo+6; - if (args->exdata == NULL) - args->exdata = v; - args->exdatalen = (char*)AllocateKernelMemory(0)-(char*)args->exdata; - } - } + while (emods != NULL) { + emv[0] = 1+strlen (emods->name); + emv[1] = emods->filesize; + strcpy ((char*)(emv+2), emods->name); + memcpy (((char*)(emv+2))+emv[0], emods->file, emods->filesize); + emv = (int*) (((char *) (emv+2)) + emv[0] + emv[1]); + emo[5]++; + emods = emods->next; } + emo[0] = (char*)emv-(char*)(emo+5); + AllocateKernelMemory (emo[0] + sizeof(int) * 5); + + if (args->exdata == NULL) + args->exdata = emo; + args->exdatalen = (char*)AllocateKernelMemory(0)-(char*)args->exdata; args->topOfKernelData = AllocateKernelMemory(0); From owner-p4-projects@FreeBSD.ORG Tue May 11 08:49:49 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 214D416A4D0; Tue, 11 May 2004 08:49:49 -0700 (PDT) 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 EEFFC16A4CE for ; Tue, 11 May 2004 08:49:48 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C454B43D1F for ; Tue, 11 May 2004 08:49:48 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4BFnmGe076477 for ; Tue, 11 May 2004 08:49:48 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4BFnm4O076474 for perforce@freebsd.org; Tue, 11 May 2004 08:49:48 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Tue, 11 May 2004 08:49:48 -0700 (PDT) Message-Id: <200405111549.i4BFnm4O076474@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 52672 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, 11 May 2004 15:49:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=52672 Change 52672 by areisse@areisse_ibook on 2004/05/11 08:49:22 Use a different allocator if the linker is called before tasks are initialized. Affected files ... .. //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ld.h#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin73/apsl/cctools/ld/ld.h#3 (text+ko) ==== @@ -361,3 +361,47 @@ #ifdef DEBUG __private_extern__ unsigned long debug; /* link-editor debugging */ #endif /* DEBUG */ + +#if (defined (KLD) && defined (RLD) && defined (__STATIC__)) + +#include +#include +#include + +extern int kth_started; + +static inline kern_return_t rkld_alloc (mach_port_t kport, size_t size, void **addr, int flags) +{ + if (kth_started) + return vm_allocate (kport, addr, size, flags); + else + { + *addr = kalloc (size); + return (*addr == 0); + } +} + +static inline kern_return_t rkld_free (mach_port_t kport, size_t size, void *addr) +{ + if (kth_started) + return vm_deallocate (kport, addr, size); + else + { + kfree (addr, size); + return 0; + } +} + +static inline kern_return_t rkld_protect (mach_port_t kport, void *addr, size_t size, int a, int b) +{ + if (kth_started) + return vm_protect (kport, addr, size, a, b); + else + return 0; +} + +#define vm_allocate(kport,addr,size,flags) rkld_alloc (kport, size, addr, flags) +#define vm_deallocate(kport,addr,size) rkld_free (kport, size, addr) +#define vm_protect(kport,addr,size,f1,f2) rkld_protect (kport, addr, size, f1, f2) + +#endif From owner-p4-projects@FreeBSD.ORG Tue May 11 11:51:34 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0C67C16A4D0; Tue, 11 May 2004 11:51:34 -0700 (PDT) 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 DB7C816A4CE for ; Tue, 11 May 2004 11:51:33 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E022D43D58 for ; Tue, 11 May 2004 11:51:32 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4BIpWGe017450 for ; Tue, 11 May 2004 11:51:32 -0700 (PDT) (envelope-from areisse@nailabs.com) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4BIpWiL017438 for perforce@freebsd.org; Tue, 11 May 2004 11:51:32 -0700 (PDT) (envelope-from areisse@nailabs.com) Date: Tue, 11 May 2004 11:51:32 -0700 (PDT) Message-Id: <200405111851.i4BIpWiL017438@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to areisse@nailabs.com using -f From: Andrew Reisse To: Perforce Change Reviews Subject: PERFORCE change 52679 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, 11 May 2004 18:51:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=52679 Change 52679 by areisse@areisse_ibook on 2004/05/11 11:50:45 Support for loading security policy modules. The mac_test policy is still present, but not compiled in or enabled by default. Using security policy modules requires the recent bootx and libkld changes. Affected files ... .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/bootstrap.cpp#3 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/kext.cpp#2 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/load.c#2 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/malloc.c#3 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/osfmk/kern/kmod.c#3 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/osfmk/kern/startup.c#3 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/security/conf/files#4 edit .. //depot/projects/trustedbsd/sedarwin73/apsl/xnu/security/mac_base.c#3 edit Differences ... ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/bootstrap.cpp#3 (text+ko) ==== @@ -68,8 +68,6 @@ */ KLDBootstrap::KLDBootstrap() { - malloc_init(); - kmod_load_function = &load_kernel_extension; record_startup_extensions_function = &recordStartupExtensions; ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/kext.cpp#2 (text+ko) ==== @@ -744,3 +744,82 @@ } return result; } + +extern "C" kload_error __kload_load_modules(dgraph_t * dgraph); +extern "C" kload_error kload_load_modules2 (dgraph_t *dgraph); + +extern "C" +kern_return_t kmod_load_nodeps (const char *name, const char *ver, size_t size, void *data) +{ + kern_return_t result = KERN_SUCCESS; + kload_error load_result = kload_error_none; + dgraph_t dgraph; + dgraph_entry_t *entry; + kmod_info_t *kmod_info; + + if (dgraph_init(&dgraph) != dgraph_valid) + return KERN_FAILURE; + + entry = dgraph_add_dependent (&dgraph, name, data, size, 1, name, ver, 0, 0); + if (!entry) { + IOLog("can't record %s in dependency graph\n", name); + result = KERN_FAILURE; + goto out; + } + + if (kload_map_entry(entry) != kload_error_none) { + IOLog ("can't map %s in preparation for loading\n", name); + result = KERN_FAILURE; + goto out; + } + + dgraph.root = dgraph_find_root(&dgraph); + + if (!dgraph.root) { + IOLog ("Dependency graph to load %s has no root.\n", name); + result = KERN_FAILURE; + goto out; + } + + dgraph_establish_load_order(&dgraph); + + load_result = kload_load_modules2 (&dgraph); + if (load_result != kload_error_none && + load_result != kload_error_already_loaded) { + IOLog ("load_dgraph failed\n"); + result = KERN_FAILURE; + goto out; + } + + out: + dgraph_free(&dgraph, 0); + return result; +} + +extern "C" int preload_find_data (const char *name, size_t *size, void **ptr); + +extern "C" +void kmod_load_early () +{ + void *emvv; + size_t emsize; + + if (preload_find_data (" modules", &emsize, &emvv)) { + int *emv = (int *) emvv; + int n = emv[0]; + + emv++; + + for (int i = 0; i < n; i++) { + char *name = (char *) (emv+2); + void *data = ((char *) (emv+2)) + emv[0]; + + IOLog ("Loading early module %s\n", name); + kmod_load_nodeps (name, "*", emv[1], data); + + emv = (int*) (((char *) (emv+2)) + emv[0] + emv[1]); + if ((char*)emv - (char*)emvv >= emsize) + break; + } + } +} ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/load.c#2 (text+ko) ==== @@ -686,7 +686,82 @@ /******************************************************************************* * *******************************************************************************/ -static + +kload_error kload_load_modules2 (dgraph_t *dgraph) +{ + kload_error result = kload_map_dgraph(dgraph); + if (result != kload_error_none) { + IOLog ("map failed\n"); + return result; + } + result = __kload_patch_dgraph(dgraph); + if (result != kload_error_none) { + IOLog ("patch failed\n"); + return result; + } + + kld_address_func(&__kload_linkedit_address); + kld_set_link_options(KLD_STRIP_ALL); + + dgraph_entry_t *entry = dgraph->load_order[0]; + struct mach_header * kmh; + + entry->object = kld_file_getaddr(entry->name, &entry->object_length); + if (!entry->object) { + IOLog("kld_file_getaddr() failed for module %s", entry->name); + result = kload_error_link_load; + goto out; + } + + G_current_load_entry = entry; + + result = kld_load_from_memory(&kmh, entry->name, + entry->object, entry->object_length); + + kmod_info_t *kmi; + if (!kld_lookup("_kmod_info", &kmi)) + { + printf ("can't find kmodinfo\n"); + goto out; + } + + char *dest_address = (char *)entry->kernel_alloc_address; + memcpy(dest_address, kmh, entry->kernel_hdr_size); + memcpy(dest_address + round_page(entry->kernel_hdr_size), + (void *)((unsigned long)kmh + entry->kernel_hdr_size), + entry->kernel_load_size - entry->kernel_hdr_size); + + bzero(kmi->name, sizeof(kmi->name)); + strcpy(kmi->name, entry->expected_kmod_name); + + bzero(kmi->version, sizeof(kmi->version)); + strcpy(kmi->version, entry->expected_kmod_vers); + + if (entry->kernel_alloc_address) { + kmi->address = entry->kernel_alloc_address; + } else { + kmi->address = entry->loaded_address; + } + kmi->size = entry->kernel_alloc_size; + kmi->hdr_size = round_page(entry->kernel_hdr_size); + + flush_dcache(entry->kernel_alloc_address, entry->kernel_alloc_size, false); + invalidate_icache(entry->kernel_alloc_address, entry->kernel_alloc_size, false); + + if(kmod_create_internal(kmi, &(entry->kmod_id))) + IOLog("kmod_create failed\n"); + + out: + __kload_clear_kld_globals(); + + kld_unload_all(1); + + if (result) + __kload_start_module (entry); + + return result; +} + kload_error __kload_load_modules(dgraph_t * dgraph #ifndef KERNEL , @@ -2364,7 +2439,7 @@ /******************************************************************************* *******************************************************************************/ - +extern int kth_started; /******************************************************************************* * *******************************************************************************/ @@ -2445,6 +2520,12 @@ &G_current_load_entry->kernel_alloc_address, G_current_load_entry->kernel_alloc_size, TRUE); #else + if (!kth_started) + { + G_current_load_entry->kernel_alloc_address = kalloc (G_current_load_entry->kernel_alloc_size); + mach_result = KERN_SUCCESS; + } + else mach_result = vm_allocate(kernel_map, &G_current_load_entry->kernel_alloc_address, G_current_load_entry->kernel_alloc_size, TRUE); ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/libsa/malloc.c#3 (text+ko) ==== @@ -123,8 +123,8 @@ * * Allocate the mutual exclusion lock that protect malloc's data. *********************************************************************/ -__private_extern__ void -malloc_init(void) +void +kld_malloc_init(void) { malloc_lock = mutex_alloc(ETAP_IO_AHA); malInited = 1; ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/osfmk/kern/kmod.c#3 (text+ko) ==== @@ -228,6 +228,7 @@ extern vm_offset_t sectPRELINKB; extern int sectSizePRELINK; +extern int kth_started; kern_return_t kmod_create_internal(kmod_info_t *info, kmod_t *id) @@ -243,7 +244,7 @@ } isPrelink = ((info->address >= sectPRELINKB) && (info->address < (sectPRELINKB + sectSizePRELINK))); - if (!isPrelink) { + if (!isPrelink && kth_started) { rc = vm_map_wire(kernel_map, info->address + info->hdr_size, info->address + info->size, VM_PROT_DEFAULT, FALSE); if (rc != KERN_SUCCESS) { @@ -283,6 +284,9 @@ *id = info->id; + if (!isPrelink && !kth_started) + ; + simple_unlock(&kmod_lock); #if DEBUG ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/osfmk/kern/startup.c#3 (text+ko) ==== @@ -126,6 +126,9 @@ ipc_bootstrap(); vm_mem_init(); + kmod_init(); + kld_malloc_init(); + mac_init_mach(); mac_late_init(); @@ -142,7 +145,6 @@ #endif machine_init(); - kmod_init(); clock_init(); init_timers(); @@ -167,7 +169,7 @@ * Dynamic Phase: 2 of 2 */ etap_init_phase2(); - + /* * Create a kernel thread to start the other kernel * threads. @@ -185,6 +187,8 @@ panic("cpu_launch_first_thread returns!"); } +int kth_started = 0; + /* * Now running in a thread. Create the rest of the kernel threads * and the bootstrap task. @@ -257,12 +261,14 @@ shared_file_boot_time_init(ENV_DEFAULT_ROOT, machine_slot[cpu_number()].cpu_type); + kth_started = 1; + #ifdef IOKIT { PE_init_iokit(); } #endif - + (void) spllo(); /* Allow interruptions */ /* ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/security/conf/files#4 (text+ko) ==== @@ -12,7 +12,6 @@ security/mac_system.c standard security/mac_socket.c standard security/mac_network.c standard -security/mac_test/mac_test.c standard security/mac_mls/mac_mls.c standard security/sebsd/sebsd.c standard security/sebsd/sebsd_syscall.c standard ==== //depot/projects/trustedbsd/sedarwin73/apsl/xnu/security/mac_base.c#3 (text+ko) ==== @@ -306,12 +306,12 @@ void mac_late_init(void) { - extern struct mac_policy_conf test_mac_policy_conf; + //extern struct mac_policy_conf test_mac_policy_conf; extern struct mac_policy_conf sebsd_mac_policy_conf; extern struct mac_policy_conf mac_mls_mac_policy_conf; - printf("MAC: init mac_test\n"); - mac_policy_register(&test_mac_policy_conf); + //printf("MAC: init mac_test\n"); + //mac_policy_register(&test_mac_policy_conf); printf("MAC: init sebsd\n"); mac_policy_register(&sebsd_mac_policy_conf); @@ -319,6 +319,8 @@ printf("MAC: init MAC/MLS\n"); mac_policy_register(&mac_mls_mac_policy_conf); + kmod_load_early(); + mac_late = 1; } From owner-p4-projects@FreeBSD.ORG Tue May 11 21:20:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F24A416A4D1; Tue, 11 May 2004 21:20:17 -0700 (PDT) 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 CD8C116A4CF for ; Tue, 11 May 2004 21:20:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9085C43D5D for ; Tue, 11 May 2004 21:20:17 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4C4KHGe064902 for ; Tue, 11 May 2004 21:20:17 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4C4KH6o064899 for perforce@freebsd.org; Tue, 11 May 2004 21:20:17 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Tue, 11 May 2004 21:20:17 -0700 (PDT) Message-Id: <200405120420.i4C4KH6o064899@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 52703 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, 12 May 2004 04:20:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=52703 Change 52703 by marcel@marcel_nfs on 2004/05/11 21:19:21 Add kdb_reenter(). This function is called by the trap handler when a trap happens while in the debugger (i.e. kdb_active is non-zero). The advantage of a seperate function for this is that it can also be called from other places than trap handlers. Affected files ... .. //depot/projects/gdb/sys/kern/subr_kdb.c#13 edit .. //depot/projects/gdb/sys/sys/kdb.h#10 edit Differences ... ==== //depot/projects/gdb/sys/kern/subr_kdb.c#13 (text+ko) ==== @@ -259,6 +259,17 @@ return (old); } +void +kdb_reenter(void) +{ + + if (!kdb_active || kdb_jmpbufp == NULL) + return; + + longjmp(kdb_jmpbufp, 1); + /* NOTREACHED */ +} + /* * Thread related support functions. */ @@ -333,14 +344,12 @@ if (kdb_dbbe == NULL || kdb_dbbe->dbbe_trap == NULL) return (0); + /* We reenter the debugger through kdb_reenter(). */ + if (kdb_active) + return (0); + critical_enter(); - /* Check for recursion. */ - if (kdb_active && kdb_jmpbufp != NULL) { - critical_exit(); - longjmp(kdb_jmpbufp, 1); - } - kdb_active++; kdb_thread = curthread; kdb_frame = tf; ==== //depot/projects/gdb/sys/sys/kdb.h#10 (text+ko) ==== @@ -65,6 +65,7 @@ void kdb_enter(const char *); void kdb_init(void); void * kdb_jmpbuf(jmp_buf); +void kdb_reenter(void); struct thread *kdb_thr_first(void); struct thread *kdb_thr_lookup(pid_t); struct thread *kdb_thr_next(struct thread *); From owner-p4-projects@FreeBSD.ORG Tue May 11 21:22:21 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E37AB16A4D0; Tue, 11 May 2004 21:22:20 -0700 (PDT) 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 BE74A16A4CE for ; Tue, 11 May 2004 21:22:20 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F99443D49 for ; Tue, 11 May 2004 21:22:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4C4MKGe066578 for ; Tue, 11 May 2004 21:22:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4C4MKhN066572 for perforce@freebsd.org; Tue, 11 May 2004 21:22:20 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Tue, 11 May 2004 21:22:20 -0700 (PDT) Message-Id: <200405120422.i4C4MKhN066572@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 52704 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, 12 May 2004 04:22:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=52704 Change 52704 by marcel@marcel_nfs on 2004/05/11 21:21:41 o Replace db_print_backtrace() with kdb_backtrace(). o Replace db_error() with kdb_reenter(). o Add a panic() for when kdb_reenter() returns. Affected files ... .. //depot/projects/gdb/sys/kern/kern_synch.c#8 edit Differences ... ==== //depot/projects/gdb/sys/kern/kern_synch.c#8 (text+ko) ==== @@ -336,8 +336,9 @@ */ if (kdb_active) { mtx_unlock_spin(&sched_lock); - db_print_backtrace(); - db_error("Context switches not allowed in the debugger"); + kdb_backtrace(); + kdb_reenter(); + panic("%s: did not reenter debugger", __func__); } /* From owner-p4-projects@FreeBSD.ORG Tue May 11 22:45:02 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6985C16A4D0; Tue, 11 May 2004 22:45:02 -0700 (PDT) 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 3E91216A4CE for ; Tue, 11 May 2004 22:45:02 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D25A743D2D for ; Tue, 11 May 2004 22:45:01 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4C5j1Ge083847 for ; Tue, 11 May 2004 22:45:01 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4C5j15L083844 for perforce@freebsd.org; Tue, 11 May 2004 22:45:01 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Tue, 11 May 2004 22:45:01 -0700 (PDT) Message-Id: <200405120545.i4C5j15L083844@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 52707 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, 12 May 2004 05:45:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=52707 Change 52707 by marcel@marcel_nfs on 2004/05/11 22:44:30 Call kdb_reenter() instead of kdb_trap() when kdb_active is non-zero. While here, make sure it's conditional upon KDB. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/trap.c#6 edit .. //depot/projects/gdb/sys/amd64/amd64/trap.c#8 edit .. //depot/projects/gdb/sys/i386/i386/trap.c#10 edit .. //depot/projects/gdb/sys/ia64/ia64/trap.c#9 edit .. //depot/projects/gdb/sys/sparc64/sparc64/trap.c#6 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/trap.c#6 (text+ko) ==== @@ -283,10 +283,12 @@ #endif p = td->td_proc; +#ifdef KDB if (kdb_active) { - kdb_trap(entry, a0, framep); + kdb_reenter(); return; } +#endif td->td_last_frame = framep; ==== //depot/projects/gdb/sys/amd64/amd64/trap.c#8 (text+ko) ==== @@ -166,8 +166,8 @@ type = frame.tf_trapno; #ifdef KDB - if (kdb_active && type == T_PAGEFLT) { - kdb_trap(type, 0, &frame); + if (kdb_active) { + kdb_reenter(); goto out; } #endif ==== //depot/projects/gdb/sys/i386/i386/trap.c#10 (text+ko) ==== @@ -188,7 +188,7 @@ #ifdef KDB if (kdb_active) { - kdb_trap(type, 0, &frame); + kdb_reenter(); goto out; } #endif ==== //depot/projects/gdb/sys/ia64/ia64/trap.c#9 (text+ko) ==== @@ -373,8 +373,8 @@ KASSERT(cold || td->td_ucred != NULL, ("kernel trap doesn't have ucred")); #ifdef KDB - if (kdb_active && vector == IA64_VEC_PAGE_NOT_PRESENT) - kdb_trap(vector, 0, tf); + if (kdb_active) + kdb_reenter(); #endif } ==== //depot/projects/gdb/sys/sparc64/sparc64/trap.c#6 (text+ko) ==== @@ -298,11 +298,12 @@ KASSERT((tf->tf_type & T_KERNEL) != 0, ("trap: kernel trap isn't")); +#ifdef KDB if (kdb_active) { - kdb_trap(tf->tf_type, 0, tf); - TF_DONE(tf); + kdb_reenter(); return; } +#endif td->td_last_frame = tf; From owner-p4-projects@FreeBSD.ORG Tue May 11 22:57:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 91D8816A4D0; Tue, 11 May 2004 22:57:18 -0700 (PDT) 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 6D0CA16A4CE for ; Tue, 11 May 2004 22:57:18 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 35E9B43D49 for ; Tue, 11 May 2004 22:57:18 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4C5vIGe085953 for ; Tue, 11 May 2004 22:57:18 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4C5vHn9085950 for perforce@freebsd.org; Tue, 11 May 2004 22:57:17 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Tue, 11 May 2004 22:57:17 -0700 (PDT) Message-Id: <200405120557.i4C5vHn9085950@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 52709 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, 12 May 2004 05:57:19 -0000 http://perforce.freebsd.org/chv.cgi?CH=52709 Change 52709 by marcel@marcel_nfs on 2004/05/11 22:56:57 Remove db_jmpbuf. All exception handling is done through kdb_jmpbuf(). Call kdb_reenter() from db_error() instead of using longjmp(). Affected files ... .. //depot/projects/gdb/sys/ddb/db_command.c#5 edit Differences ... ==== //depot/projects/gdb/sys/ddb/db_command.c#5 (text+ko) ==== @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -58,7 +59,6 @@ */ boolean_t db_cmd_loop_done; db_addr_t db_dot; -jmp_buf db_jmpbuf; db_addr_t db_last_addr; db_addr_t db_prev; db_addr_t db_next; @@ -443,8 +443,6 @@ db_cmd_loop_done = 0; while (!db_cmd_loop_done) { - - (void) setjmp(db_jmpbuf); if (db_print_position() != 0) db_printf("\n"); @@ -463,7 +461,7 @@ if (s) db_printf("%s", s); db_flush_lex(); - longjmp(db_jmpbuf, 1); + kdb_reenter(); } From owner-p4-projects@FreeBSD.ORG Tue May 11 23:06:36 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5A5EA16A4D0; Tue, 11 May 2004 23:06:36 -0700 (PDT) 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 2EF4416A4CE for ; Tue, 11 May 2004 23:06:36 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8909043D4C for ; Tue, 11 May 2004 23:06:32 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4C66WGe088942 for ; Tue, 11 May 2004 23:06:32 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4C66UoL088939 for perforce@freebsd.org; Tue, 11 May 2004 23:06:30 -0700 (PDT) (envelope-from marcel@freebsd.org) Date: Tue, 11 May 2004 23:06:30 -0700 (PDT) Message-Id: <200405120606.i4C66UoL088939@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 52711 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, 12 May 2004 06:06:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=52711 Change 52711 by marcel@marcel_nfs on 2004/05/11 23:06:17 IFC @52708 Affected files ... .. //depot/projects/gdb/MAINTAINERS#8 integrate .. //depot/projects/gdb/games/fortune/datfiles/fortunes#6 integrate .. //depot/projects/gdb/games/fortune/datfiles/fortunes2#4 integrate .. //depot/projects/gdb/games/morse/morse.6#3 integrate .. //depot/projects/gdb/games/morse/morse.c#3 integrate .. //depot/projects/gdb/gnu/usr.bin/binutils/gdb/kvm-fbsd.c#3 integrate .. //depot/projects/gdb/include/fts.h#3 integrate .. //depot/projects/gdb/lib/libc/gen/syslog.c#2 integrate .. //depot/projects/gdb/lib/libc/gen/ualarm.3#2 integrate .. //depot/projects/gdb/lib/libc/locale/big5.c#5 integrate .. //depot/projects/gdb/lib/libc/locale/euc.c#5 integrate .. //depot/projects/gdb/lib/libc/locale/gbk.c#5 integrate .. //depot/projects/gdb/lib/libc/locale/mskanji.c#5 integrate .. //depot/projects/gdb/lib/libc/locale/runetype.c#2 integrate .. //depot/projects/gdb/lib/libc/locale/tolower.c#2 integrate .. //depot/projects/gdb/lib/libc/locale/toupper.c#2 integrate .. //depot/projects/gdb/lib/libc/sys/send.2#2 integrate .. //depot/projects/gdb/lib/libutil/login_cap.3#2 integrate .. //depot/projects/gdb/lib/libutil/login_cap.c#2 integrate .. //depot/projects/gdb/lib/libutil/login_class.3#2 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/errata/article.sgml#5 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#7 integrate .. //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#17 integrate .. //depot/projects/gdb/sbin/natd/natd.c#3 integrate .. //depot/projects/gdb/share/examples/diskless/README.TEMPLATING#2 integrate .. //depot/projects/gdb/share/man/man4/ch.4#2 integrate .. //depot/projects/gdb/share/man/man4/fxp.4#2 integrate .. //depot/projects/gdb/share/man/man4/geom.4#2 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/Makefile#7 integrate .. //depot/projects/gdb/share/man/man4/man4.i386/ichwd.4#1 branch .. //depot/projects/gdb/share/man/man5/elf.5#2 integrate .. //depot/projects/gdb/share/man/man5/style.Makefile.5#3 integrate .. //depot/projects/gdb/share/man/man9/VOP_OPENCLOSE.9#2 integrate .. //depot/projects/gdb/share/mk/sys.mk#4 integrate .. //depot/projects/gdb/sys/conf/Makefile.alpha#3 integrate .. //depot/projects/gdb/sys/conf/Makefile.amd64#2 integrate .. //depot/projects/gdb/sys/conf/Makefile.i386#2 integrate .. //depot/projects/gdb/sys/conf/Makefile.ia64#2 integrate .. //depot/projects/gdb/sys/conf/Makefile.pc98#2 integrate .. //depot/projects/gdb/sys/conf/Makefile.powerpc#2 integrate .. //depot/projects/gdb/sys/conf/Makefile.sparc64#2 integrate .. //depot/projects/gdb/sys/conf/files.i386#15 integrate .. //depot/projects/gdb/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx.c#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx.h#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx.reg#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx.seq#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx_inline.h#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic79xx_pci.c#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic7xxx.c#3 integrate .. //depot/projects/gdb/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/gdb/sys/dev/ata/ata-chipset.c#8 integrate .. //depot/projects/gdb/sys/dev/ata/ata-pci.c#9 integrate .. //depot/projects/gdb/sys/dev/ichwd/ichwd.c#1 branch .. //depot/projects/gdb/sys/dev/ichwd/ichwd.h#1 branch .. //depot/projects/gdb/sys/dev/led/led.h#2 integrate .. //depot/projects/gdb/sys/dev/pccard/files.pccard#2 delete .. //depot/projects/gdb/sys/dev/pccard/pccarddevs#5 integrate .. //depot/projects/gdb/sys/dev/pccard/pccarddevs.h#5 integrate .. //depot/projects/gdb/sys/dev/twe/twe.c#4 integrate .. //depot/projects/gdb/sys/dev/twe/twereg.h#2 integrate .. //depot/projects/gdb/sys/dev/twe/twevar.h#4 integrate .. //depot/projects/gdb/sys/dev/wl/if_wl.c#4 integrate .. //depot/projects/gdb/sys/geom/geom_disk.c#3 integrate .. //depot/projects/gdb/sys/i386/acpica/madt.c#5 integrate .. //depot/projects/gdb/sys/i386/conf/PAE#2 integrate .. //depot/projects/gdb/sys/i386/i386/io_apic.c#3 integrate .. //depot/projects/gdb/sys/i386/i386/machdep.c#7 integrate .. //depot/projects/gdb/sys/i386/i386/mptable.c#4 integrate .. //depot/projects/gdb/sys/i386/include/apicvar.h#3 integrate .. //depot/projects/gdb/sys/i386/isa/atpic.c#6 integrate .. //depot/projects/gdb/sys/i386/isa/atpic_vector.s#5 integrate .. //depot/projects/gdb/sys/i386/isa/clock.c#8 integrate .. //depot/projects/gdb/sys/i386/isa/icu.h#3 integrate .. //depot/projects/gdb/sys/i386/isa/npx.c#5 integrate .. //depot/projects/gdb/sys/kern/kern_exit.c#6 integrate .. //depot/projects/gdb/sys/kern/uipc_mbuf2.c#3 integrate .. //depot/projects/gdb/sys/kern/vfs_syscalls.c#9 integrate .. //depot/projects/gdb/sys/modules/Makefile#10 integrate .. //depot/projects/gdb/sys/modules/ichwd/Makefile#1 branch .. //depot/projects/gdb/sys/net/rtsock.c#9 integrate .. //depot/projects/gdb/sys/netgraph/bluetooth/include/ng_bt3c.h#2 integrate .. //depot/projects/gdb/sys/netgraph/bluetooth/include/ng_btsocket.h#3 integrate .. //depot/projects/gdb/sys/netgraph/bluetooth/include/ng_h4.h#2 integrate .. //depot/projects/gdb/sys/netinet/ip_output.c#8 integrate .. //depot/projects/gdb/sys/sparc64/include/pmap.h#5 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/counter.c#2 integrate .. //depot/projects/gdb/sys/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/gdb/sys/sys/_label.h#3 integrate .. //depot/projects/gdb/sys/sys/acl.h#2 integrate .. //depot/projects/gdb/sys/sys/mac.h#4 integrate .. //depot/projects/gdb/sys/sys/mac_policy.h#4 integrate .. //depot/projects/gdb/sys/sys/regression.h#2 integrate .. //depot/projects/gdb/sys/sys/socket.h#5 integrate .. //depot/projects/gdb/sys/sys/ttycom.h#4 integrate .. //depot/projects/gdb/sys/vm/vm_mmap.c#7 integrate .. //depot/projects/gdb/sys/vm/vm_page.c#8 integrate .. //depot/projects/gdb/sys/vm/vm_pageout.c#4 integrate .. //depot/projects/gdb/tools/regression/lib/libc/locale/test-mbrtowc.c#2 integrate .. //depot/projects/gdb/usr.bin/talk/io.c#3 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpi.c#3 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpi_user.c#2 integrate .. //depot/projects/gdb/usr.sbin/acpi/acpidump/acpidump.h#2 integrate .. //depot/projects/gdb/usr.sbin/config/Makefile#2 integrate .. //depot/projects/gdb/usr.sbin/config/config.h#2 integrate .. //depot/projects/gdb/usr.sbin/config/config.y#2 integrate .. //depot/projects/gdb/usr.sbin/config/configvers.h#2 integrate .. //depot/projects/gdb/usr.sbin/config/lang.l#2 integrate .. //depot/projects/gdb/usr.sbin/config/main.c#2 integrate .. //depot/projects/gdb/usr.sbin/config/mkmakefile.c#2 integrate Differences ... ==== //depot/projects/gdb/MAINTAINERS#8 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.88 2004/04/19 17:47:45 tackerman Exp $ +$FreeBSD: src/MAINTAINERS,v 1.89 2004/05/10 10:07:25 pjd Exp $ subsystem login notes ----------------------------- @@ -92,6 +92,8 @@ changes pre-commit review requested. contrib/pf mlaier Pre-commit review requested. binutils obrien Insists on BU blocked from unapproved commits +geom_concat pjd Pre-commit review requested. +geom_gate pjd Pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/gdb/games/fortune/datfiles/fortunes#6 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.130 2004/04/29 06:14:00 cperciva Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.134 2004/05/11 17:26:15 fanf Exp $ % -- Gifts for Children -- @@ -7570,12 +7570,12 @@ "If I am elected, the concrete barriers around the WHITE HOUSE will be replaced by tasteful foam replicas of ANN MARGARET!" % +If I could drop dead right now, I'd be the happiest man alive! + -- Samuel Goldwyn +% If I 'cp /bin/csh /dev/audio' shouldn't I hear the ocean? -- Danno Coppock % -If I could drop dead right now, I'd be the happiest man alive! - -- Samuel Goldwyn -% If I don't drive around the park, I'm pretty sure to make my mark. If I'm in bed each night by ten, @@ -10141,6 +10141,9 @@ Neckties strangle clear thinking. -- Lin Yutang % +Network packets are like buses. You wait all day, and then 3Com +along at once. +% Never be led astray onto the path of virtue. % Never call a man a fool; borrow from him. @@ -12969,6 +12972,8 @@ "The climate of Bombay is such that its inhabitants have to live elsewhere." % +The computer gets faster! --Moore-- +% "The Computer made me do it." % The computing field is always in need of new cliches. ==== //depot/projects/gdb/games/fortune/datfiles/fortunes2#4 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.65 2004/04/20 19:20:17 ceri Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.69 2004/05/11 17:43:36 fanf Exp $ % ======================================================================= || || @@ -7648,6 +7648,11 @@ scientists. Researchers into the phenomenon cite the added concentration needed to "make sense" of such unnatural three dimensional objects. % +A regular expression goes into a pub with a friend, intending to +help him find a girl. However, when the cockney barman finds this +out, he says to it, "Ere! I'll have no pattern match-making in my +pub!" +% A rich man told me recently that a liberal is a man who tells other people what to do with their money. -- Imamu Amiri Baraka (Leroi Jones) ==== //depot/projects/gdb/games/morse/morse.6#3 (text+ko) ==== @@ -31,9 +31,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/games/morse/morse.6,v 1.12 2004/02/20 11:55:38 fanf Exp $ +.\" $FreeBSD: src/games/morse/morse.6,v 1.13 2004/05/11 11:11:14 dds Exp $ .\" -.Dd December 7, 2000 +.Dd May 11, 2004 .Dt MORSE 6 .Os .Sh NAME @@ -143,20 +143,20 @@ speaker device file .El .Sh ENVIRONMENT -If your +Your .Ev LC_CTYPE -locale codeset is -.Ql KOI8-R , -characters with the high-order bit set are interpreted as -Cyrillic characters. If your -.Ev LC_CTYPE -locale codeset is -.Ql ISO8859-1 -compatible, -they are interpreted -as belonging to the -.Ql ISO-8859-1 -character set. +locale codeset determines how +characters with the high-order bit set +are interpreted. +.Bl -tag -width ".Li ISO8859-15" -compact +.It Li ISO8859-1 +.It Li ISO8859-15 +Interpret characters with the high-order bit set as Western European characters. +.It Li KOI8-R +Interpret characters with the high-order bit set as Cyrillic characters. +.It Li ISO8859-7 +Interpret characters with the high-order bit set as Greek characters. +.El .Sh SEE ALSO .Xr speaker 4 .Sh HISTORY ==== //depot/projects/gdb/games/morse/morse.c#3 (text+ko) ==== @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)morse.c 8.1 (Berkeley) 5/31/93"; #endif static const char rcsid[] = - "$FreeBSD: src/games/morse/morse.c,v 1.17 2004/02/20 13:46:39 fanf Exp $"; + "$FreeBSD: src/games/morse/morse.c,v 1.18 2004/05/11 11:11:14 dds Exp $"; #endif /* not lint */ #include @@ -145,7 +145,7 @@ }; -static const struct morsetab iso8859tab[] = { +static const struct morsetab iso8859_1tab[] = { {'á', ".--.-"}, {'à', ".--.-"}, {'â', ".--.-"}, @@ -160,6 +160,67 @@ {'\0', ""} }; +static const struct morsetab iso8859_7tab[] = { + /* + * The greek alphabet; you'll need an 8859-7 font in order + * to see the actual characters. + * This table does not implement: + * - the special sequences for the seven diphthongs, + * - the punctuation differences. + * Implementing these features would introduce too many + * special-cases in the program's main loop. + * The diphtong sequences are: + * alpha iota .-.- + * alpha upsilon ..-- + * epsilon upsilon ---. + * eta upsilon ...- + * omikron iota ---.. + * omikron upsilon ..- + * upsilon iota .--- + * The different punctuation symbols are: + * ; ..-.- + * ! --..-- + */ + {'á', ".-"}, /* alpha */ + {'Ü', ".-"}, /* alpha with acute */ + {'â', "-..."}, /* beta */ + {'ã', "--."}, /* gamma */ + {'ä', "-.."}, /* delta */ + {'å', "."}, /* epsilon */ + {'Ý', "."}, /* epsilon with acute */ + {'æ', "--.."}, /* zeta */ + {'ç', "...."}, /* eta */ + {'Þ', "...."}, /* eta with acute */ + {'è', "-.-."}, /* theta */ + {'é', ".."}, /* iota */ + {'ß', ".."}, /* iota with acute */ + {'ú', ".."}, /* iota with diairesis */ + {'À', ".."}, /* iota with acute and diairesis */ + {'ê', "-.-"}, /* kappa */ + {'ë', ".-.."}, /* lamda */ + {'ì', "--"}, /* mu */ + {'í', "-."}, /* nu */ + {'î', "-..-"}, /* xi */ + {'ï', "---"}, /* omicron */ + {'ü', "---"}, /* omicron with acute */ + {'ð', ".--."}, /* pi */ + {'ñ', ".-."}, /* rho */ + {'ó', "..."}, /* sigma */ + {'ò', "..."}, /* final sigma */ + {'ô', "-"}, /* tau */ + {'õ', "-.--"}, /* upsilon */ + {'ý', "-.--"}, /* upsilon with acute */ + {'û', "-.--"}, /* upsilon and diairesis */ + {'à', "-.--"}, /* upsilon with acute and diairesis */ + {'ö', "..-."}, /* phi */ + {'÷', "----"}, /* chi */ + {'ø', "--.-"}, /* psi */ + {'ù', ".--"}, /* omega */ + {'þ', ".--"}, /* omega with acute */ + + {'\0', ""} +}; + static const struct morsetab koi8rtab[] = { /* * the cyrillic alphabet; you'll need a KOI8R font in order @@ -335,7 +396,9 @@ hightab = koi8rtab; else if (strcmp(codeset, "ISO8859-1") == 0 || strcmp(codeset, "ISO8859-15") == 0) - hightab = iso8859tab; + hightab = iso8859_1tab; + else if (strcmp(codeset, "ISO8859-7") == 0) + hightab = iso8859_7tab; } if (lflag) ==== //depot/projects/gdb/gnu/usr.bin/binutils/gdb/kvm-fbsd.c#3 (text+ko) ==== @@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c,v 1.47 2004/01/26 06:07:33 obrien Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c,v 1.48 2004/05/10 17:45:51 obrien Exp $ */ /* * This works like "remote" but, you use it like this: @@ -537,9 +537,9 @@ * the last context switch to the debugger. * XXX do something with the floating-point registers? */ - supply_register (SP_REGNUM, (char *)&pcbp->pcb_fp); + supply_register (SP_REGNUM, (char *)&pcbp->pcb_ufp); supply_register (PC_REGNUM, (char *)&pcbp->pcb_pc); - f_addr = extract_address (&pcbp->pcb_fp, SPARC_INTREG_SIZE); + f_addr = extract_address (&pcbp->pcb_ufp, SPARC_INTREG_SIZE); /* Load the previous frame by hand (XXX) and supply it. */ read_memory (f_addr + SPOFF, (char *)&top, sizeof (top)); for (i = 0; i < 8; i++) ==== //depot/projects/gdb/include/fts.h#3 (text+ko) ==== @@ -31,14 +31,12 @@ * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 - * $FreeBSD: src/include/fts.h,v 1.8 2004/05/08 15:09:01 peadar Exp $ + * $FreeBSD: src/include/fts.h,v 1.9 2004/05/10 09:36:26 bde Exp $ */ #ifndef _FTS_H_ #define _FTS_H_ -struct _fts_private; /* implementation data */ - typedef struct { struct _ftsent *fts_cur; /* current node */ struct _ftsent *fts_child; /* linked list of children */ @@ -65,7 +63,7 @@ #define FTS_STOP 0x200 /* (private) unrecoverable error */ int fts_options; /* fts_open options, global flags */ void *fts_clientptr; /* thunk for sort function */ - struct _fts_private *fts_priv; /* Implementation data */ + struct _fts_private *fts_priv; /* implementation data */ } FTS; typedef struct _ftsent { ==== //depot/projects/gdb/lib/libc/gen/syslog.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)syslog.c 8.5 (Berkeley) 4/29/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.29 2003/02/10 08:31:28 alfred Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.30 2004/05/10 17:12:52 dds Exp $"); #include "namespace.h" #include @@ -222,6 +222,10 @@ cnt = sizeof(tbuf) - tbuf_cookie.left; + /* Remove a trailing newline */ + if (tbuf[cnt - 1] == '\n') + cnt--; + /* Output to stderr if requested. */ if (LogStat & LOG_PERROR) { struct iovec iov[2]; ==== //depot/projects/gdb/lib/libc/gen/ualarm.3#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ualarm.3 8.2 (Berkeley) 4/19/94 -.\" $FreeBSD: src/lib/libc/gen/ualarm.3,v 1.17 2002/12/29 00:59:09 mike Exp $ +.\" $FreeBSD: src/lib/libc/gen/ualarm.3,v 1.18 2004/05/09 11:11:21 brueffer Exp $ .\" .Dd April 19, 1994 .Dt UALARM 3 @@ -68,8 +68,8 @@ to the process every .Fa interval microseconds after the timer expires (e.g. after -.Fa value -microseconds have passed). +.Fa microseconds +number of microseconds have passed). .Pp Due to .Xr setitimer 2 @@ -78,7 +78,7 @@ and .Fa interval is limited to 100000000000000 -(in case this value fit in the unsigned integer). +(in case this value fits in the unsigned integer). .Sh RETURN VALUES When the signal has successfully been caught, .Fn ualarm ==== //depot/projects/gdb/lib/libc/locale/big5.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)big5.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.12 2004/04/12 13:09:17 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.13 2004/05/11 14:08:22 tjr Exp $"); #include #include @@ -122,6 +122,10 @@ if (n == 0 || (size_t)(len = _big5_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); + if (n == 2 && s[1] == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = 0; i = len; while (i-- > 0) ==== //depot/projects/gdb/lib/libc/locale/euc.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)euc.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/euc.c,v 1.16 2004/04/12 13:09:17 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/euc.c,v 1.17 2004/05/11 14:08:22 tjr Exp $"); #include #include @@ -185,8 +185,14 @@ /* FALLTHROUGH */ case 1: case 0: - while (remain-- > 0) + wc = (unsigned char)*s++; + while (--remain > 0) { + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = (wc << 8) | (unsigned char)*s++; + } break; } wc = (wc & ~CEI->mask) | CEI->bits[set]; ==== //depot/projects/gdb/lib/libc/locale/gbk.c#5 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.7 2004/04/12 13:09:18 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.8 2004/05/11 14:08:22 tjr Exp $"); #include #include @@ -119,6 +119,10 @@ if (n == 0 || (size_t)(len = _gbk_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); + if (n == 2 && s[1] == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = 0; i = len; while (i-- > 0) ==== //depot/projects/gdb/lib/libc/locale/mskanji.c#5 (text+ko) ==== @@ -37,7 +37,7 @@ static char sccsid[] = "@(#)mskanji.c 1.0 (Phase One) 5/5/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mskanji.c,v 1.13 2004/04/12 13:09:18 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mskanji.c,v 1.14 2004/05/11 14:08:22 tjr Exp $"); #include #include @@ -118,6 +118,10 @@ if (n < 2) /* Incomplete multibyte sequence */ return ((size_t)-2); + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = (wc << 8) | (*s++ & 0xff); len = 2; } ==== //depot/projects/gdb/lib/libc/locale/runetype.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/runetype.c,v 1.8 2002/08/21 16:19:56 mike Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/runetype.c,v 1.9 2004/05/09 13:04:49 tjr Exp $"); #include #include @@ -44,21 +44,25 @@ ___runetype(c) __ct_rune_t c; { - int x; + size_t lim; _RuneRange *rr = &_CurrentRuneLocale->runetype_ext; - _RuneEntry *re = rr->ranges; + _RuneEntry *base, *re; if (c < 0 || c == EOF) return(0L); - for (x = 0; x < rr->nranges; ++x, ++re) { - if (c < re->min) - return(0L); - if (c <= re->max) { + /* Binary search -- see bsearch.c for explanation. */ + base = rr->ranges; + for (lim = rr->nranges; lim != 0; lim >>= 1) { + re = base + (lim >> 1); + if (re->min <= c && c <= re->max) { if (re->types) return(re->types[c - re->min]); else return(re->map); + } else if (c > re->max) { + base = re + 1; + lim--; } } ==== //depot/projects/gdb/lib/libc/locale/tolower.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/tolower.c,v 1.8 2002/08/21 16:19:56 mike Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/tolower.c,v 1.9 2004/05/09 13:04:49 tjr Exp $"); #include #include @@ -44,18 +44,23 @@ ___tolower(c) __ct_rune_t c; { - int x; + size_t lim; _RuneRange *rr = &_CurrentRuneLocale->maplower_ext; - _RuneEntry *re = rr->ranges; + _RuneEntry *base, *re; if (c < 0 || c == EOF) return(c); - for (x = 0; x < rr->nranges; ++x, ++re) { - if (c < re->min) - return(c); - if (c <= re->max) - return(re->map + c - re->min); + /* Binary search -- see bsearch.c for explanation. */ + base = rr->ranges; + for (lim = rr->nranges; lim != 0; lim >>= 1) { + re = base + (lim >> 1); + if (re->min <= c && c <= re->max) + return (re->map + c - re->min); + else if (c > re->max) { + base = re + 1; + lim--; + } } return(c); ==== //depot/projects/gdb/lib/libc/locale/toupper.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/toupper.c,v 1.8 2002/08/21 16:19:56 mike Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/toupper.c,v 1.9 2004/05/09 13:04:49 tjr Exp $"); #include #include @@ -44,18 +44,23 @@ ___toupper(c) __ct_rune_t c; { - int x; + size_t lim; _RuneRange *rr = &_CurrentRuneLocale->mapupper_ext; - _RuneEntry *re = rr->ranges; + _RuneEntry *base, *re; if (c < 0 || c == EOF) return(c); - for (x = 0; x < rr->nranges; ++x, ++re) { - if (c < re->min) - return(c); - if (c <= re->max) - return(re->map + c - re->min); + /* Binary search -- see bsearch.c for explanation. */ + base = rr->ranges; + for (lim = rr->nranges; lim != 0; lim >>= 1) { + re = base + (lim >> 1); + if (re->min <= c && c <= re->max) + return (re->map + c - re->min); + else if (c > re->max) { + base = re + 1; + lim--; + } } return(c); ==== //depot/projects/gdb/lib/libc/sys/send.2#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)send.2 8.2 (Berkeley) 2/21/94 -.\" $FreeBSD: src/lib/libc/sys/send.2,v 1.22 2003/09/10 19:19:49 roberto Exp $ +.\" $FreeBSD: src/lib/libc/sys/send.2,v 1.23 2004/05/11 16:28:07 csjp Exp $ .\" .Dd February 15, 1995 .Dt SEND 2 @@ -189,6 +189,10 @@ The remote host was down. .It Bq Er ENETDOWN The remote network was down. +.It Bq Er EPERM +The process using a SOCK_RAW socket was jailed and the source +address specified in the IP header did not match the IP +address bound to the prison. .It Bq Er EPIPE The socket is unable to send anymore data (SS_CANTSENDMORE has been set on the socket). This typically means that the socket ==== //depot/projects/gdb/lib/libutil/login_cap.3#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login_cap.3,v 1.30 2003/03/24 15:55:03 charnier Exp $ +.\" $FreeBSD: src/lib/libutil/login_cap.3,v 1.31 2004/05/11 11:05:26 dds Exp $ .\" .Dd December 27, 1996 .Os @@ -175,13 +175,15 @@ of the program handling a login itself. .Pp As noted above, the -.Fn get*class +.Fn login_get*class functions return a login_cap_t object which is used to access the matching or default record in the capabilities database. The -.Fn getclassbyname +.Fn login_getclassbyname function accepts two arguments: the first one is the record identifier of the -record to be retrieved, the second is an optional directory name. +record to be retrieved, the second is an optional pointer to a +.Li passwd +structure. If the first .Ar name argument is NULL, an empty string, or a class that does not exist @@ -189,9 +191,17 @@ .Em default record is returned instead. If the second -.Ar dir +.Ar pwd parameter is NULL, then only the system login class database is -used, but when not NULL, the named directory is searched for +used. +However, +if the +.Ar pwd +parameter and the value of +.Ar pwd->pw_dir +are both not NULL, then the directory contained in +.Ar pwd->pw_dir +is searched for a login database file called ".login_conf", and capability records contained within it may override the system defaults. This scheme allows users to override some login settings from @@ -215,6 +225,15 @@ .Pa .login_conf merely provides a convenient way for a user to set up their preferred login environment before the shell is invoked on login. +Note that access to the +.Pa /etc/login.conf +and +.Pa .login_conf +files will only be performed subject to the security checks documented in +.Xr _secure_path 3 +for the uids 0 and +.Ar pwd->pw_uid +respectively. .Pp If the specified record is NULL, empty or does not exist, and the system has no "default" record available to fall back to, there is a ==== //depot/projects/gdb/lib/libutil/login_cap.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libutil/login_cap.c,v 1.31 2003/10/26 03:51:47 peter Exp $"); +__FBSDID("$FreeBSD: src/lib/libutil/login_cap.c,v 1.32 2004/05/11 11:05:26 dds Exp $"); #include #include @@ -172,9 +172,10 @@ * login_getclassbyname() get the login class by its name. * If the name given is NULL or empty, the default class * LOGIN_DEFCLASS (ie. "default") is fetched. If the - * 'dir' argument contains a non-NULL non-empty string, - * then the file _FILE_LOGIN_CONF is picked up from that - * directory instead of the system login database. + * 'pwd' argument is non-NULL and contains an non-NULL + * dir entry, then the file _FILE_LOGIN_CONF is picked + * up from that directory and used before the system + * login database. * Return a filled-out login_cap_t structure, including * class name, and the capability record buffer. */ ==== //depot/projects/gdb/lib/libutil/login_class.3#2 (text+ko) ==== @@ -17,7 +17,7 @@ .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" $FreeBSD: src/lib/libutil/login_class.3,v 1.16 2003/04/26 15:18:27 trhodes Exp $ +.\" $FreeBSD: src/lib/libutil/login_class.3,v 1.17 2004/05/11 11:10:09 dds Exp $ .\" .Dd December 28, 1996 .Os @@ -65,10 +65,10 @@ The .Fn setusercontext function sets class context values based on a given login_cap_t -object, a specific passwd record (if login_cap_t is NULL), -sets the current session's login and the current process +object and a specific passwd record (if login_cap_t is NULL), +the current session's login, and the current process user and group ownership. -Each of these functions is selectable via bit-flags passed +Each of these actions is selectable via bit-flags passed in the .Ar flags parameter, which is comprised of one or more of the following: ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/errata/article.sgml#5 (text+ko) ==== @@ -42,7 +42,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.67 2004/03/30 17:43:26 kensmith Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/errata/article.sgml,v 1.68 2004/05/09 23:07:08 bmah Exp $ 2000 @@ -203,6 +203,20 @@ for a more detailed description and instructions on how to patch existing systems. + (9 May 2004) Two programming errors in + CVS can allow a server to overwrite + arbitrary files on the client, and a client to read arbitrary + files on the server when accessing remote CVS repositories. + More details, including patch and upgrade information, can be + found in security advisory FreeBSD-SA-04:07. + + (9 May 2004) Heimdal may, under + some circumstances, not perform adequate checking of + authentication across autonomous realms. For more information, + see security advisory FreeBSD-SA-04:08. + ]]> ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#7 (text+ko) ==== @@ -29,7 +29,7 @@ - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.217 2004/04/06 12:19:09 rik Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml,v 1.218 2004/05/09 21:27:15 simon Exp $ Supported Devices @@ -737,41 +737,7 @@ (&man.fe.4; driver) Intel 82557-, 82258-, 82559-, 82550- - or 82562-based Fast Ethernet NICs (&man.fxp.4; driver) - - - Intel EtherExpress Pro/100B PCI Fast Ethernet - - - Intel InBusiness 10/100 PCI Network Adapter - - - Intel PRO/100+ Management Adapter - - - Intel Pro/100 VE Desktop Adapter - - - Intel Pro/100 M Desktop Adapter - - - Intel Pro/100 S Desktop, Server and Dual-Port Server Adapters - - - On-board Ethernet NICs on many Intel motherboards. - - - NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX - (PCI) - - - NEC PC-9821X-B06 (PCI) - - - Contec C-NET(PI)-100TX (PCI) - - - + or 82562-based Fast Ethernet NICs (&man.fxp.4; driver) Intel 82595-based Ethernet NICs (&man.ex.4; driver) ==== //depot/projects/gdb/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#17 (text+ko) ==== @@ -3,7 +3,7 @@ The FreeBSD Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.724 2004/05/06 13:51:00 joerg Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.726 2004/05/09 23:04:47 bmah Exp $ 2000 @@ -181,6 +181,12 @@ on the server when accessing remote CVS repositories. More details can be found in security advisory FreeBSD-SA-04:07. &merged; + + A bugfix for Heimdal rectifies a + problem in which it would not perform adequate checking of + authentication across autonomous realms. For more information, + see security advisory FreeBSD-SA-04:08. &merged; ==== //depot/projects/gdb/sbin/natd/natd.c#3 (text+ko) ==== @@ -11,7 +11,7 @@ */ #include -__FBSDID("$FreeBSD: src/sbin/natd/natd.c,v 1.45 2004/04/13 11:23:13 luigi Exp $"); +__FBSDID("$FreeBSD: src/sbin/natd/natd.c,v 1.46 2004/05/10 22:33:12 hmp Exp $"); #define SYSLOG_NAMES @@ -1379,7 +1379,7 @@ int i; struct alias_link *link = NULL; - strcpy (buf, parms); + strlcpy (buf, parms, sizeof(buf)); /* * Extract protocol. */ @@ -1510,7 +1510,7 @@ char* protoName; struct protoent *protoent; - strcpy (buf, parms); + strlcpy (buf, parms, sizeof(buf)); /* * Extract protocol. */ @@ -1564,7 +1564,7 @@ char* serverPool; struct alias_link *link; - strcpy (buf, parms); + strlcpy (buf, parms, sizeof(buf)); /* * Extract local address. */ ==== //depot/projects/gdb/share/examples/diskless/README.TEMPLATING#2 (text+ko) ==== @@ -11,7 +11,7 @@ and the /usr/share/examples/diskless/clone_root script which can be useful to set up clients and server for diskless boot. ---- $FreeBSD: src/share/examples/diskless/README.TEMPLATING,v 1.3 2002/03/15 06:47:37 luigi Exp $ --- +--- $FreeBSD: src/share/examples/diskless/README.TEMPLATING,v 1.4 2004/05/10 20:39:32 simon Exp $ --- ------------------------------------------------------------------------ TEMPLATING machine configurations @@ -183,7 +183,7 @@ file in / or /usr on a target machine instead of the template machine. If the target machine is updated once a night from cron, the sysop quickly learns not to do this ( because his changes get overwritten - overnight ). With a manual update, these sorts of mistakes can propogate + overnight ). With a manual update, these sorts of mistakes can propagate for weeks or months before they are caught. >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 12 15:56:03 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 376CA16A4D0; Wed, 12 May 2004 15:56:03 -0700 (PDT) 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 EB59D16A4CE for ; Wed, 12 May 2004 15:56:02 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8830F43D31 for ; Wed, 12 May 2004 15:55:58 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4CMtwGe034914 for ; Wed, 12 May 2004 15:55:58 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4CMtuSR034911 for perforce@freebsd.org; Wed, 12 May 2004 15:55:56 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 12 May 2004 15:55:56 -0700 (PDT) Message-Id: <200405122255.i4CMtuSR034911@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 52728 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, 12 May 2004 22:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=52728 Change 52728 by peter@peter_overcee on 2004/05/12 15:55:51 IFC @52727 Affected files ... .. //depot/projects/hammer/MAINTAINERS#21 integrate .. //depot/projects/hammer/Makefile.inc1#50 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes#21 integrate .. //depot/projects/hammer/games/fortune/datfiles/fortunes2#13 integrate .. //depot/projects/hammer/games/morse/morse.6#4 integrate .. //depot/projects/hammer/games/morse/morse.c#4 integrate .. //depot/projects/hammer/gnu/usr.bin/binutils/gdb/kvm-fbsd.c#7 integrate .. //depot/projects/hammer/include/fts.h#3 integrate .. //depot/projects/hammer/lib/libc/gen/fts.c#5 integrate .. //depot/projects/hammer/lib/libc/gen/syslog.c#4 integrate .. //depot/projects/hammer/lib/libc/gen/ualarm.3#3 integrate .. //depot/projects/hammer/lib/libc/locale/big5.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/btowc.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/euc.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/gb18030.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/gb2312.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/gbk.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/mblen.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/mblocal.h#1 branch .. //depot/projects/hammer/lib/libc/locale/mbrlen.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbrtowc.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/mbsinit.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbsrtowcs.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/mbtowc.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/mskanji.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/none.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/runetype.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/setrunelocale.c#12 integrate .. //depot/projects/hammer/lib/libc/locale/srune.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/table.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/tolower.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/toupper.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/utf2.c#5 integrate .. //depot/projects/hammer/lib/libc/locale/utf8.c#6 integrate .. //depot/projects/hammer/lib/libc/locale/wcrtomb.c#7 integrate .. //depot/projects/hammer/lib/libc/locale/wcsrtombs.c#3 integrate .. //depot/projects/hammer/lib/libc/locale/wctob.c#4 integrate .. //depot/projects/hammer/lib/libc/locale/wctomb.c#5 integrate .. //depot/projects/hammer/lib/libc/stdlib/Makefile.inc#12 integrate .. //depot/projects/hammer/lib/libc/stdlib/radixsort.3#2 integrate .. //depot/projects/hammer/lib/libc/sys/nfssvc.2#3 integrate .. //depot/projects/hammer/lib/libc/sys/send.2#4 integrate .. //depot/projects/hammer/lib/libradius/Makefile#5 integrate .. //depot/projects/hammer/lib/libutil/login_cap.3#4 integrate .. //depot/projects/hammer/lib/libutil/login_cap.c#5 integrate .. //depot/projects/hammer/lib/libutil/login_class.3#4 integrate .. //depot/projects/hammer/lib/libvgl/vgl.3#3 integrate .. //depot/projects/hammer/lib/msun/Makefile#7 integrate .. //depot/projects/hammer/lib/msun/man/ieee.3#2 integrate .. //depot/projects/hammer/lib/msun/src/math.h#12 integrate .. //depot/projects/hammer/lib/msun/src/s_copysignl.c#1 branch .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/errata/article.sgml#17 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/hardware/common/dev.sgml#50 integrate .. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#67 integrate .. //depot/projects/hammer/sbin/ggate/ggatec/ggatec.8#2 integrate .. //depot/projects/hammer/sbin/ggate/ggated/ggated.8#2 integrate .. //depot/projects/hammer/sbin/ggate/ggatel/ggatel.8#2 integrate .. //depot/projects/hammer/sbin/ipfw/ipfw2.c#22 integrate .. //depot/projects/hammer/sbin/natd/natd.c#7 integrate .. //depot/projects/hammer/share/examples/diskless/README.TEMPLATING#2 integrate .. //depot/projects/hammer/share/examples/etc/README.examples#4 integrate .. //depot/projects/hammer/share/man/man4/ch.4#4 integrate .. //depot/projects/hammer/share/man/man4/fxp.4#6 integrate .. //depot/projects/hammer/share/man/man4/geom.4#5 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/Makefile#20 integrate .. //depot/projects/hammer/share/man/man4/man4.i386/cp.4#1 branch .. //depot/projects/hammer/share/man/man4/man4.i386/ichwd.4#1 branch .. //depot/projects/hammer/share/man/man5/elf.5#6 integrate .. //depot/projects/hammer/share/man/man5/style.Makefile.5#5 integrate .. //depot/projects/hammer/share/man/man9/VOP_OPENCLOSE.9#5 integrate .. //depot/projects/hammer/share/mk/sys.mk#13 integrate .. //depot/projects/hammer/sys/conf/Makefile.alpha#6 integrate .. //depot/projects/hammer/sys/conf/Makefile.amd64#14 integrate .. //depot/projects/hammer/sys/conf/Makefile.i386#4 integrate .. //depot/projects/hammer/sys/conf/Makefile.ia64#6 integrate .. //depot/projects/hammer/sys/conf/Makefile.pc98#4 integrate .. //depot/projects/hammer/sys/conf/Makefile.powerpc#6 integrate .. //depot/projects/hammer/sys/conf/Makefile.sparc64#5 integrate .. //depot/projects/hammer/sys/conf/files.i386#30 integrate .. //depot/projects/hammer/sys/conf/files.sparc64#17 integrate .. //depot/projects/hammer/sys/conf/options.sparc64#7 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src.diff#1 branch .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx.h#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_context.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_env.c#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_env.h#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self-new.c#1 branch .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self.h#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_self_context.s#2 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_step.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_step.h#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_str.c#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#4 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#5 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_utable.c#3 integrate .. //depot/projects/hammer/sys/contrib/ia64/libuwx/src/uwx_utable.h#3 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_pcib_pci.c#5 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.c#14 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.h#13 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.reg#11 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx.seq#10 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_inline.h#10 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic79xx_pci.c#13 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic7xxx.c#12 integrate .. //depot/projects/hammer/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/hammer/sys/dev/an/if_an_pccard.c#9 integrate .. //depot/projects/hammer/sys/dev/ata/ata-chipset.c#34 integrate .. //depot/projects/hammer/sys/dev/ata/ata-pci.c#21 integrate .. //depot/projects/hammer/sys/dev/awi/if_awi_pccard.c#10 integrate .. //depot/projects/hammer/sys/dev/cs/if_cs_pccard.c#5 integrate .. //depot/projects/hammer/sys/dev/ed/if_ed_pccard.c#12 integrate .. //depot/projects/hammer/sys/dev/ichwd/ichwd.c#1 branch .. //depot/projects/hammer/sys/dev/ichwd/ichwd.h#1 branch .. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#15 integrate .. //depot/projects/hammer/sys/dev/iicbus/iicbus.c#3 integrate .. //depot/projects/hammer/sys/dev/led/led.h#2 integrate .. //depot/projects/hammer/sys/dev/pccard/files.pccard#2 delete .. //depot/projects/hammer/sys/dev/pccard/pccarddevs#23 integrate .. //depot/projects/hammer/sys/dev/pccard/pccarddevs.h#23 integrate .. //depot/projects/hammer/sys/dev/sn/if_sn_pccard.c#5 integrate .. //depot/projects/hammer/sys/dev/snc/if_snc_pccard.c#4 integrate .. //depot/projects/hammer/sys/dev/sound/pcm/ac97.c#11 integrate .. //depot/projects/hammer/sys/dev/twe/twe.c#8 integrate .. //depot/projects/hammer/sys/dev/twe/twereg.h#6 integrate .. //depot/projects/hammer/sys/dev/twe/twevar.h#6 integrate .. //depot/projects/hammer/sys/dev/wi/if_wi_pccard.c#19 integrate .. //depot/projects/hammer/sys/dev/wl/if_wl.c#12 integrate .. //depot/projects/hammer/sys/geom/geom_disk.c#23 integrate .. //depot/projects/hammer/sys/i386/acpica/madt.c#10 integrate .. //depot/projects/hammer/sys/i386/conf/PAE#8 integrate .. //depot/projects/hammer/sys/i386/i386/io_apic.c#6 integrate .. //depot/projects/hammer/sys/i386/i386/machdep.c#32 integrate .. //depot/projects/hammer/sys/i386/i386/mptable.c#10 integrate .. //depot/projects/hammer/sys/i386/include/apicvar.h#7 integrate .. //depot/projects/hammer/sys/i386/isa/atpic.c#10 integrate .. //depot/projects/hammer/sys/i386/isa/atpic_vector.s#8 integrate .. //depot/projects/hammer/sys/i386/isa/clock.c#16 integrate .. //depot/projects/hammer/sys/i386/isa/icu.h#7 integrate .. //depot/projects/hammer/sys/i386/isa/npx.c#17 integrate .. //depot/projects/hammer/sys/kern/kern_exit.c#25 integrate .. //depot/projects/hammer/sys/kern/kern_resource.c#16 integrate .. //depot/projects/hammer/sys/kern/uipc_mbuf2.c#9 integrate .. //depot/projects/hammer/sys/kern/uipc_syscalls.c#23 integrate .. //depot/projects/hammer/sys/kern/vfs_bio.c#30 integrate .. //depot/projects/hammer/sys/kern/vfs_syscalls.c#27 integrate .. //depot/projects/hammer/sys/modules/Makefile#42 integrate .. //depot/projects/hammer/sys/modules/ichwd/Makefile#1 branch .. //depot/projects/hammer/sys/net/rtsock.c#12 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_bt3c.h#3 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_btsocket.h#5 integrate .. //depot/projects/hammer/sys/netgraph/bluetooth/include/ng_h4.h#4 integrate .. //depot/projects/hammer/sys/netinet/ip_output.c#29 integrate .. //depot/projects/hammer/sys/sparc64/conf/GENERIC#21 integrate .. //depot/projects/hammer/sys/sparc64/conf/NOTES#5 integrate .. //depot/projects/hammer/sys/sparc64/ebus/ebus.c#9 integrate .. //depot/projects/hammer/sys/sparc64/include/ofw_bus.h#5 integrate .. //depot/projects/hammer/sys/sparc64/include/pmap.h#14 integrate .. //depot/projects/hammer/sys/sparc64/isa/isa.c#8 integrate .. //depot/projects/hammer/sys/sparc64/isa/ofw_isa.c#5 integrate .. //depot/projects/hammer/sys/sparc64/isa/ofw_isa.h#4 integrate .. //depot/projects/hammer/sys/sparc64/pci/apb.c#5 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pci.c#8 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pci.h#5 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pci_if.m#3 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pcib.c#3 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pcib_subr.c#3 integrate .. //depot/projects/hammer/sys/sparc64/pci/ofw_pcib_subr.h#2 integrate .. //depot/projects/hammer/sys/sparc64/pci/psycho.c#17 integrate .. //depot/projects/hammer/sys/sparc64/pci/psychovar.h#8 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/counter.c#3 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/ofw_bus.c#7 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/ofw_machdep.c#7 integrate .. //depot/projects/hammer/sys/sparc64/sparc64/pmap.c#24 integrate .. //depot/projects/hammer/sys/sys/_label.h#6 integrate .. //depot/projects/hammer/sys/sys/acl.h#4 integrate .. //depot/projects/hammer/sys/sys/mac.h#19 integrate .. //depot/projects/hammer/sys/sys/mac_policy.h#18 integrate .. //depot/projects/hammer/sys/sys/regression.h#2 integrate .. //depot/projects/hammer/sys/sys/socket.h#11 integrate .. //depot/projects/hammer/sys/sys/ttycom.h#4 integrate .. //depot/projects/hammer/sys/vm/vm_mmap.c#23 integrate .. //depot/projects/hammer/sys/vm/vm_page.c#26 integrate .. //depot/projects/hammer/sys/vm/vm_pageout.c#25 integrate .. //depot/projects/hammer/tools/regression/lib/libc/locale/test-mbrtowc.c#3 integrate .. //depot/projects/hammer/usr.bin/ctags/ctags.c#2 integrate .. //depot/projects/hammer/usr.bin/netstat/inet.c#9 integrate .. //depot/projects/hammer/usr.bin/talk/io.c#4 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi.c#9 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpi_user.c#4 integrate .. //depot/projects/hammer/usr.sbin/acpi/acpidump/acpidump.h#5 integrate .. //depot/projects/hammer/usr.sbin/config/Makefile#3 integrate .. //depot/projects/hammer/usr.sbin/config/config.h#3 integrate .. //depot/projects/hammer/usr.sbin/config/config.y#5 integrate .. //depot/projects/hammer/usr.sbin/config/configvers.h#3 integrate .. //depot/projects/hammer/usr.sbin/config/lang.l#3 integrate .. //depot/projects/hammer/usr.sbin/config/main.c#4 integrate .. //depot/projects/hammer/usr.sbin/config/mkmakefile.c#6 integrate .. //depot/projects/hammer/usr.sbin/pkg_install/add/main.c#6 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/config.c#13 integrate .. //depot/projects/hammer/usr.sbin/sysinstall/install.c#19 integrate Differences ... ==== //depot/projects/hammer/MAINTAINERS#21 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/MAINTAINERS,v 1.88 2004/04/19 17:47:45 tackerman Exp $ +$FreeBSD: src/MAINTAINERS,v 1.89 2004/05/10 10:07:25 pjd Exp $ subsystem login notes ----------------------------- @@ -92,6 +92,8 @@ changes pre-commit review requested. contrib/pf mlaier Pre-commit review requested. binutils obrien Insists on BU blocked from unapproved commits +geom_concat pjd Pre-commit review requested. +geom_gate pjd Pre-commit review requested. Following are the entries from the Makefiles, and a few other sources. ==== //depot/projects/hammer/Makefile.inc1#50 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.424 2004/04/27 15:00:29 ru Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.425 2004/05/12 07:02:17 ru Exp $ # # Make command line options: # -DNO_DYNAMICROOT do not link /bin and /sbin dynamically @@ -897,12 +897,11 @@ _prebuild_libs+= lib/libcom_err lib/libcrypt lib/libexpat \ lib/libkvm lib/libmd \ lib/libncurses lib/libnetgraph lib/libopie lib/libpam \ - lib/libradius lib/librpcsvc \ + lib/libradius \ lib/libsbuf lib/libtacplus lib/libutil lib/libypclnt \ lib/libz lib/msun lib/libopie__L lib/libtacplus__L: lib/libmd__L -lib/libypclnt__L: lib/librpcsvc__L _generic_libs+= lib @@ -912,7 +911,12 @@ lib/libradius__L: secure/lib/libssl__L .if !defined(NO_OPENSSH) _prebuild_libs+= secure/lib/libssh -secure/lib/libssh__L: secure/lib/libcrypto__L lib/libz__L +secure/lib/libssh__L: lib/libz__L secure/lib/libcrypto__L lib/libcrypt__L +.if !defined(NO_KERBEROS) +secure/lib/libssh__L: kerberos5/lib/libgssapi__L kerberos5/lib/libkrb5__L \ + kerberos5/lib/libasn1__L lib/libcom_err__L lib/libmd__L \ + kerberos5/lib/libroken__L +.endif .endif .endif _generic_libs+= secure/lib ==== //depot/projects/hammer/games/fortune/datfiles/fortunes#21 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.130 2004/04/29 06:14:00 cperciva Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes,v 1.134 2004/05/11 17:26:15 fanf Exp $ % -- Gifts for Children -- @@ -7570,12 +7570,12 @@ "If I am elected, the concrete barriers around the WHITE HOUSE will be replaced by tasteful foam replicas of ANN MARGARET!" % +If I could drop dead right now, I'd be the happiest man alive! + -- Samuel Goldwyn +% If I 'cp /bin/csh /dev/audio' shouldn't I hear the ocean? -- Danno Coppock % -If I could drop dead right now, I'd be the happiest man alive! - -- Samuel Goldwyn -% If I don't drive around the park, I'm pretty sure to make my mark. If I'm in bed each night by ten, @@ -10141,6 +10141,9 @@ Neckties strangle clear thinking. -- Lin Yutang % +Network packets are like buses. You wait all day, and then 3Com +along at once. +% Never be led astray onto the path of virtue. % Never call a man a fool; borrow from him. @@ -12969,6 +12972,8 @@ "The climate of Bombay is such that its inhabitants have to live elsewhere." % +The computer gets faster! --Moore-- +% "The Computer made me do it." % The computing field is always in need of new cliches. ==== //depot/projects/hammer/games/fortune/datfiles/fortunes2#13 (text+ko) ==== @@ -1,5 +1,5 @@ This fortune brought to you by: -$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.65 2004/04/20 19:20:17 ceri Exp $ +$FreeBSD: src/games/fortune/datfiles/fortunes2,v 1.69 2004/05/11 17:43:36 fanf Exp $ % ======================================================================= || || @@ -7648,6 +7648,11 @@ scientists. Researchers into the phenomenon cite the added concentration needed to "make sense" of such unnatural three dimensional objects. % +A regular expression goes into a pub with a friend, intending to +help him find a girl. However, when the cockney barman finds this +out, he says to it, "Ere! I'll have no pattern match-making in my +pub!" +% A rich man told me recently that a liberal is a man who tells other people what to do with their money. -- Imamu Amiri Baraka (Leroi Jones) ==== //depot/projects/hammer/games/morse/morse.6#4 (text+ko) ==== @@ -31,9 +31,9 @@ .\" SUCH DAMAGE. .\" .\" @(#)bcd.6 8.1 (Berkeley) 5/31/93 -.\" $FreeBSD: src/games/morse/morse.6,v 1.12 2004/02/20 11:55:38 fanf Exp $ +.\" $FreeBSD: src/games/morse/morse.6,v 1.13 2004/05/11 11:11:14 dds Exp $ .\" -.Dd December 7, 2000 +.Dd May 11, 2004 .Dt MORSE 6 .Os .Sh NAME @@ -143,20 +143,20 @@ speaker device file .El .Sh ENVIRONMENT -If your +Your .Ev LC_CTYPE -locale codeset is -.Ql KOI8-R , -characters with the high-order bit set are interpreted as -Cyrillic characters. If your -.Ev LC_CTYPE -locale codeset is -.Ql ISO8859-1 -compatible, -they are interpreted -as belonging to the -.Ql ISO-8859-1 -character set. +locale codeset determines how +characters with the high-order bit set +are interpreted. +.Bl -tag -width ".Li ISO8859-15" -compact +.It Li ISO8859-1 +.It Li ISO8859-15 +Interpret characters with the high-order bit set as Western European characters. +.It Li KOI8-R +Interpret characters with the high-order bit set as Cyrillic characters. +.It Li ISO8859-7 +Interpret characters with the high-order bit set as Greek characters. +.El .Sh SEE ALSO .Xr speaker 4 .Sh HISTORY ==== //depot/projects/hammer/games/morse/morse.c#4 (text+ko) ==== @@ -47,7 +47,7 @@ static char sccsid[] = "@(#)morse.c 8.1 (Berkeley) 5/31/93"; #endif static const char rcsid[] = - "$FreeBSD: src/games/morse/morse.c,v 1.17 2004/02/20 13:46:39 fanf Exp $"; + "$FreeBSD: src/games/morse/morse.c,v 1.18 2004/05/11 11:11:14 dds Exp $"; #endif /* not lint */ #include @@ -145,7 +145,7 @@ }; -static const struct morsetab iso8859tab[] = { +static const struct morsetab iso8859_1tab[] = { {'á', ".--.-"}, {'à', ".--.-"}, {'â', ".--.-"}, @@ -160,6 +160,67 @@ {'\0', ""} }; +static const struct morsetab iso8859_7tab[] = { + /* + * The greek alphabet; you'll need an 8859-7 font in order + * to see the actual characters. + * This table does not implement: + * - the special sequences for the seven diphthongs, + * - the punctuation differences. + * Implementing these features would introduce too many + * special-cases in the program's main loop. + * The diphtong sequences are: + * alpha iota .-.- + * alpha upsilon ..-- + * epsilon upsilon ---. + * eta upsilon ...- + * omikron iota ---.. + * omikron upsilon ..- + * upsilon iota .--- + * The different punctuation symbols are: + * ; ..-.- + * ! --..-- + */ + {'á', ".-"}, /* alpha */ + {'Ü', ".-"}, /* alpha with acute */ + {'â', "-..."}, /* beta */ + {'ã', "--."}, /* gamma */ + {'ä', "-.."}, /* delta */ + {'å', "."}, /* epsilon */ + {'Ý', "."}, /* epsilon with acute */ + {'æ', "--.."}, /* zeta */ + {'ç', "...."}, /* eta */ + {'Þ', "...."}, /* eta with acute */ + {'è', "-.-."}, /* theta */ + {'é', ".."}, /* iota */ + {'ß', ".."}, /* iota with acute */ + {'ú', ".."}, /* iota with diairesis */ + {'À', ".."}, /* iota with acute and diairesis */ + {'ê', "-.-"}, /* kappa */ + {'ë', ".-.."}, /* lamda */ + {'ì', "--"}, /* mu */ + {'í', "-."}, /* nu */ + {'î', "-..-"}, /* xi */ + {'ï', "---"}, /* omicron */ + {'ü', "---"}, /* omicron with acute */ + {'ð', ".--."}, /* pi */ + {'ñ', ".-."}, /* rho */ + {'ó', "..."}, /* sigma */ + {'ò', "..."}, /* final sigma */ + {'ô', "-"}, /* tau */ + {'õ', "-.--"}, /* upsilon */ + {'ý', "-.--"}, /* upsilon with acute */ + {'û', "-.--"}, /* upsilon and diairesis */ + {'à', "-.--"}, /* upsilon with acute and diairesis */ + {'ö', "..-."}, /* phi */ + {'÷', "----"}, /* chi */ + {'ø', "--.-"}, /* psi */ + {'ù', ".--"}, /* omega */ + {'þ', ".--"}, /* omega with acute */ + + {'\0', ""} +}; + static const struct morsetab koi8rtab[] = { /* * the cyrillic alphabet; you'll need a KOI8R font in order @@ -335,7 +396,9 @@ hightab = koi8rtab; else if (strcmp(codeset, "ISO8859-1") == 0 || strcmp(codeset, "ISO8859-15") == 0) - hightab = iso8859tab; + hightab = iso8859_1tab; + else if (strcmp(codeset, "ISO8859-7") == 0) + hightab = iso8859_7tab; } if (lflag) ==== //depot/projects/hammer/gnu/usr.bin/binutils/gdb/kvm-fbsd.c#7 (text+ko) ==== @@ -19,7 +19,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c,v 1.47 2004/01/26 06:07:33 obrien Exp $ */ +/* $FreeBSD: src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c,v 1.48 2004/05/10 17:45:51 obrien Exp $ */ /* * This works like "remote" but, you use it like this: @@ -537,9 +537,9 @@ * the last context switch to the debugger. * XXX do something with the floating-point registers? */ - supply_register (SP_REGNUM, (char *)&pcbp->pcb_fp); + supply_register (SP_REGNUM, (char *)&pcbp->pcb_ufp); supply_register (PC_REGNUM, (char *)&pcbp->pcb_pc); - f_addr = extract_address (&pcbp->pcb_fp, SPARC_INTREG_SIZE); + f_addr = extract_address (&pcbp->pcb_ufp, SPARC_INTREG_SIZE); /* Load the previous frame by hand (XXX) and supply it. */ read_memory (f_addr + SPOFF, (char *)&top, sizeof (top)); for (i = 0; i < 8; i++) ==== //depot/projects/hammer/include/fts.h#3 (text+ko) ==== @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)fts.h 8.3 (Berkeley) 8/14/94 - * $FreeBSD: src/include/fts.h,v 1.7 2002/09/21 01:28:36 wollman Exp $ + * $FreeBSD: src/include/fts.h,v 1.10 2004/05/12 21:38:39 peadar Exp $ */ #ifndef _FTS_H_ ==== //depot/projects/hammer/lib/libc/gen/fts.c#5 (text+ko) ==== @@ -37,11 +37,11 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.23 2004/05/05 06:33:00 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/fts.c,v 1.25 2004/05/12 21:38:39 peadar Exp $"); #include "namespace.h" -#include #include +#include #include #include @@ -63,6 +63,7 @@ static FTSENT *fts_sort(FTS *, FTSENT *, int); static u_short fts_stat(FTS *, FTSENT *, int); static int fts_safe_changedir(FTS *, FTSENT *, int, char *); +static int fts_ufslinks(FTS *, const FTSENT *); #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) @@ -77,12 +78,42 @@ #define BNAMES 2 /* fts_children, names only */ #define BREAD 3 /* fts_read */ +/* + * Internal representation of an FTS, including extra implementation + * details. The FTS returned from fts_open points to this structure's + * ftsp_fts member (and can be cast to an _fts_private as required) + */ +struct _fts_private { + FTS ftsp_fts; + struct statfs ftsp_statfs; + dev_t ftsp_dev; + int ftsp_linksreliable; +}; + +/* + * The "FTS_NOSTAT" option can avoid a lot of calls to stat(2) if it + * knows that a directory could not possibly have subdirectories. This + * is decided by looking at the link count: a subdirectory would + * increment its parent's link count by virtue of its own ".." entry. + * This assumption only holds for UFS-like filesystems that implement + * links and directories this way, so we must punt for others. + */ + +static const char *ufslike_filesystems[] = { + "ufs", + "nfs", + "nfs4", + "ext2fs", + 0 +}; + FTS * fts_open(argv, options, compar) char * const *argv; int options; int (*compar)(const FTSENT * const *, const FTSENT * const *); { + struct _fts_private *priv; FTS *sp; FTSENT *p, *root; int nitems; @@ -96,9 +127,10 @@ } /* Allocate/initialize the stream */ - if ((sp = malloc(sizeof(FTS))) == NULL) + if ((priv = malloc(sizeof(*priv))) == NULL) return (NULL); - memset(sp, 0, sizeof(FTS)); + memset(priv, 0, sizeof(*priv)); + sp = &priv->ftsp_fts; sp->fts_compar = compar; sp->fts_options = options; @@ -637,7 +669,10 @@ /* Be quiet about nostat, GCC. */ nostat = 0; } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) { - nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); + if (fts_ufslinks(sp, cur)) + nlinks = cur->fts_nlink - (ISSET(FTS_SEEDOT) ? 0 : 2); + else + nlinks = -1; nostat = 1; } else { nlinks = -1; @@ -1154,3 +1189,37 @@ errno = oerrno; return (ret); } + +/* + * Check if the filesystem for "ent" has UFS-style links. + */ +static int +fts_ufslinks(FTS *sp, const FTSENT *ent) +{ + struct _fts_private *priv; + const char **cpp; + + priv = (struct _fts_private *)sp; + /* + * If this node's device is different from the previous, grab + * the filesystem information, and decide on the reliability + * of the link information from this filesystem for stat(2) + * avoidance. + */ + if (priv->ftsp_dev != ent->fts_dev) { + if (statfs(ent->fts_path, &priv->ftsp_statfs) != -1) { + priv->ftsp_dev = ent->fts_dev; + priv->ftsp_linksreliable = 0; + for (cpp = ufslike_filesystems; *cpp; cpp++) { + if (strcmp(priv->ftsp_statfs.f_fstypename, + *cpp) == 0) { + priv->ftsp_linksreliable = 1; + break; + } + } + } else { + priv->ftsp_linksreliable = 0; + } + } + return (priv->ftsp_linksreliable); +} ==== //depot/projects/hammer/lib/libc/gen/syslog.c#4 (text+ko) ==== @@ -35,7 +35,7 @@ static char sccsid[] = "@(#)syslog.c 8.5 (Berkeley) 4/29/95"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.29 2003/02/10 08:31:28 alfred Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/gen/syslog.c,v 1.30 2004/05/10 17:12:52 dds Exp $"); #include "namespace.h" #include @@ -222,6 +222,10 @@ cnt = sizeof(tbuf) - tbuf_cookie.left; + /* Remove a trailing newline */ + if (tbuf[cnt - 1] == '\n') + cnt--; + /* Output to stderr if requested. */ if (LogStat & LOG_PERROR) { struct iovec iov[2]; ==== //depot/projects/hammer/lib/libc/gen/ualarm.3#3 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" From: @(#)ualarm.3 8.2 (Berkeley) 4/19/94 -.\" $FreeBSD: src/lib/libc/gen/ualarm.3,v 1.17 2002/12/29 00:59:09 mike Exp $ +.\" $FreeBSD: src/lib/libc/gen/ualarm.3,v 1.18 2004/05/09 11:11:21 brueffer Exp $ .\" .Dd April 19, 1994 .Dt UALARM 3 @@ -68,8 +68,8 @@ to the process every .Fa interval microseconds after the timer expires (e.g. after -.Fa value -microseconds have passed). +.Fa microseconds +number of microseconds have passed). .Pp Due to .Xr setitimer 2 @@ -78,7 +78,7 @@ and .Fa interval is limited to 100000000000000 -(in case this value fit in the unsigned integer). +(in case this value fits in the unsigned integer). .Sh RETURN VALUES When the signal has successfully been caught, .Fn ualarm ==== //depot/projects/hammer/lib/libc/locale/big5.c#5 (text+ko) ==== @@ -39,18 +39,14 @@ static char sccsid[] = "@(#)big5.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.12 2004/04/12 13:09:17 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/big5.c,v 1.14 2004/05/12 14:09:04 tjr Exp $"); #include #include #include #include #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); -extern int (*__mbsinit)(const mbstate_t *); -extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +#include "mblocal.h" int _BIG5_init(_RuneLocale *); size_t _BIG5_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, @@ -122,6 +118,10 @@ if (n == 0 || (size_t)(len = _big5_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); + if (n == 2 && s[1] == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = 0; i = len; while (i-- > 0) ==== //depot/projects/hammer/lib/libc/locale/btowc.c#4 (text+ko) ==== @@ -25,10 +25,11 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/btowc.c,v 1.3 2004/04/06 13:14:03 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/btowc.c,v 1.4 2004/05/12 14:26:54 tjr Exp $"); #include #include +#include "mblocal.h" wint_t btowc(int c) @@ -46,7 +47,7 @@ * counts. */ cc = (char)c; - if (mbrtowc(&wc, &cc, 1, &mbs) > 1) + if (__mbrtowc(&wc, &cc, 1, &mbs) > 1) return (WEOF); return (wc); } ==== //depot/projects/hammer/lib/libc/locale/euc.c#5 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)euc.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/euc.c,v 1.16 2004/04/12 13:09:17 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/euc.c,v 1.18 2004/05/12 14:09:04 tjr Exp $"); #include #include @@ -47,11 +47,7 @@ #include #include #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); -extern int (*__mbsinit)(const mbstate_t *); -extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +#include "mblocal.h" int _EUC_init(_RuneLocale *); size_t _EUC_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, @@ -185,8 +181,14 @@ /* FALLTHROUGH */ case 1: case 0: - while (remain-- > 0) + wc = (unsigned char)*s++; + while (--remain > 0) { + if (*s == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = (wc << 8) | (unsigned char)*s++; + } break; } wc = (wc & ~CEI->mask) | CEI->bits[set]; ==== //depot/projects/hammer/lib/libc/locale/gb18030.c#4 (text+ko) ==== @@ -30,18 +30,14 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gb18030.c,v 1.5 2004/04/12 13:09:17 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gb18030.c,v 1.6 2004/05/12 14:09:04 tjr Exp $"); #include #include #include #include #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); -extern int (*__mbsinit)(const mbstate_t *); -extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +#include "mblocal.h" int _GB18030_init(_RuneLocale *); size_t _GB18030_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, ==== //depot/projects/hammer/lib/libc/locale/gb2312.c#4 (text+ko) ==== @@ -26,18 +26,14 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gb2312.c,v 1.7 2004/04/12 13:09:18 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gb2312.c,v 1.8 2004/05/12 14:09:04 tjr Exp $"); #include #include #include #include #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); -extern int (*__mbsinit)(const mbstate_t *); -extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +#include "mblocal.h" int _GB2312_init(_RuneLocale *); size_t _GB2312_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, ==== //depot/projects/hammer/lib/libc/locale/gbk.c#6 (text+ko) ==== @@ -36,18 +36,14 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.7 2004/04/12 13:09:18 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/gbk.c,v 1.9 2004/05/12 14:09:04 tjr Exp $"); #include #include #include #include #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); -extern int (*__mbsinit)(const mbstate_t *); -extern size_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict); +#include "mblocal.h" int _GBK_init(_RuneLocale *); size_t _GBK_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, @@ -119,6 +115,10 @@ if (n == 0 || (size_t)(len = _gbk_check(*s)) > n) /* Incomplete multibyte sequence */ return ((size_t)-2); + if (n == 2 && s[1] == '\0') { + errno = EILSEQ; + return ((size_t)-1); + } wc = 0; i = len; while (i-- > 0) ==== //depot/projects/hammer/lib/libc/locale/mblen.c#5 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mblen.c,v 1.6 2004/04/06 13:14:03 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mblen.c,v 1.7 2004/05/12 14:26:54 tjr Exp $"); #include #include #include #include +#include "mblocal.h" int mblen(const char *s, size_t n) @@ -44,7 +45,7 @@ mbs = initial; return (0); } - rval = mbrtowc(NULL, s, n, &mbs); + rval = __mbrtowc(NULL, s, n, &mbs); if (rval == (size_t)-1 || rval == (size_t)-2) return (-1); if (rval > INT_MAX) { ==== //depot/projects/hammer/lib/libc/locale/mbrlen.c#3 (text+ko) ==== @@ -25,9 +25,10 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mbrlen.c,v 1.3 2004/04/06 13:14:03 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mbrlen.c,v 1.4 2004/05/12 14:26:54 tjr Exp $"); #include +#include "mblocal.h" size_t mbrlen(const char * __restrict s, size_t n, mbstate_t * __restrict ps) @@ -36,5 +37,5 @@ if (ps == NULL) ps = &mbs; - return (mbrtowc(NULL, s, n, ps)); + return (__mbrtowc(NULL, s, n, ps)); } ==== //depot/projects/hammer/lib/libc/locale/mbrtowc.c#6 (text+ko) ==== @@ -25,12 +25,10 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mbrtowc.c,v 1.6 2004/04/06 13:14:03 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mbrtowc.c,v 1.7 2004/05/12 14:09:04 tjr Exp $"); #include - -extern size_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, - size_t, mbstate_t * __restrict); +#include "mblocal.h" size_t mbrtowc(wchar_t * __restrict pwc, const char * __restrict s, ==== //depot/projects/hammer/lib/libc/locale/mbsinit.c#3 (text+ko) ==== @@ -25,11 +25,10 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mbsinit.c,v 1.2 2004/04/07 10:48:19 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mbsinit.c,v 1.3 2004/05/12 14:09:04 tjr Exp $"); #include - -extern int (*__mbsinit)(const mbstate_t *); +#include "mblocal.h" int mbsinit(const mbstate_t *ps) ==== //depot/projects/hammer/lib/libc/locale/mbsrtowcs.c#3 (text+ko) ==== @@ -25,12 +25,13 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/locale/mbsrtowcs.c,v 1.3 2004/04/06 13:14:03 tjr Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/locale/mbsrtowcs.c,v 1.4 2004/05/12 14:26:54 tjr Exp $"); #include #include #include #include +#include "mblocal.h" size_t mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t len, @@ -49,7 +50,7 @@ ps = &mbs; if (dst == NULL) { for (;;) { - if ((nb = (int)mbrtowc(&wc, s, MB_CUR_MAX, ps)) < 0) + if ((nb = (int)__mbrtowc(&wc, s, MB_CUR_MAX, ps)) < 0) /* Invalid sequence - mbrtowc() sets errno. */ return ((size_t)-1); else if (nb == 0) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed May 12 16:09:17 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8586B16A4D0; Wed, 12 May 2004 16:09:17 -0700 (PDT) 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 48D7D16A4CE for ; Wed, 12 May 2004 16:09:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id E55DE43D2F for ; Wed, 12 May 2004 16:09:15 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4CN9FGe037964 for ; Wed, 12 May 2004 16:09:15 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4CN9FR7037961 for perforce@freebsd.org; Wed, 12 May 2004 16:09:15 -0700 (PDT) (envelope-from peter@freebsd.org) Date: Wed, 12 May 2004 16:09:15 -0700 (PDT) Message-Id: <200405122309.i4CN9FR7037961@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 52729 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, 12 May 2004 23:09:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=52729 Change 52729 by peter@peter_overcee on 2004/05/12 16:08:35 Integ -I -b i386_hammer (untested.. argh) Affected files ... .. //depot/projects/hammer/sys/amd64/acpica/madt.c#31 integrate .. //depot/projects/hammer/sys/amd64/amd64/fpu.c#13 integrate .. //depot/projects/hammer/sys/amd64/amd64/io_apic.c#24 integrate .. //depot/projects/hammer/sys/amd64/amd64/machdep.c#84 integrate .. //depot/projects/hammer/sys/amd64/amd64/mptable.c#24 integrate .. //depot/projects/hammer/sys/amd64/include/apicvar.h#21 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic.c#39 integrate .. //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#17 integrate .. //depot/projects/hammer/sys/amd64/isa/clock.c#22 integrate .. //depot/projects/hammer/sys/amd64/isa/icu.h#20 integrate Differences ... ==== //depot/projects/hammer/sys/amd64/acpica/madt.c#31 (text+ko) ==== @@ -49,6 +49,7 @@ #include #include "acpi.h" +#include #include #include @@ -158,6 +159,7 @@ { ACPI_TABLE_HEADER *header; vm_offset_t length; + void *table; header = madt_map(pa, offset, sizeof(ACPI_TABLE_HEADER)); if (strncmp(header->Signature, sig, 4) != 0) { @@ -166,7 +168,14 @@ } length = header->Length; madt_unmap(header, sizeof(ACPI_TABLE_HEADER)); - return (madt_map(pa, offset, length)); + table = madt_map(pa, offset, length); + if (ACPI_FAILURE(AcpiTbVerifyTableChecksum(table))) { + if (bootverbose) + printf("MADT: Failed checksum for table %s\n", sig); + madt_unmap(table, length); + return (NULL); + } + return (table); } static void @@ -216,6 +225,16 @@ * Page 0 is used to map in the headers of candidate ACPI tables. */ if (rsdp->Revision >= 2) { + /* + * AcpiOsGetRootPointer only verifies the checksum for + * the version 1.0 portion of the RSDP. Version 2.0 has + * an additional checksum that we verify first. + */ + if (AcpiTbChecksum(rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) { + if (bootverbose) + printf("MADT: RSDP failed extended checksum\n"); + return (ENXIO); + } xsdt = madt_map_table(rsdp->XsdtPhysicalAddress, 1, XSDT_SIG); if (xsdt == NULL) { if (bootverbose) @@ -252,6 +271,16 @@ printf("MADT: Found table at 0x%jx\n", (uintmax_t)madt_physaddr); + /* + * Verify that we can map the full table and that its checksum is + * correct, etc. + */ + madt = madt_map_table(madt_physaddr, 0, APIC_SIG); + if (madt == NULL) + return (ENXIO); + madt_unmap_table(madt); + madt = NULL; + return (0); } @@ -274,7 +303,6 @@ printf("Table '%.4s' at 0x%jx\n", table->Signature, (uintmax_t)address); - /* XXX: Verify checksum? */ if (strncmp(table->Signature, APIC_SIG, 4) != 0) { madt_unmap(table, sizeof(ACPI_TABLE_HEADER)); return (0); @@ -340,6 +368,8 @@ } /* First, we run through adding I/O APIC's. */ + if (madt->PCATCompat) + ioapic_enable_mixed_mode(); madt_walk_table(madt_parse_apics, NULL); /* Second, we run through the table tweaking interrupt sources. */ @@ -466,10 +496,10 @@ } /* - * Determine properties of an interrupt source. Note that for ACPI, - * these are only used for ISA interrupts, so we assume ISA bus values + * Determine properties of an interrupt source. Note that for ACPI these + * functions are only used for ISA interrupts, so we assume ISA bus values * (Active Hi, Edge Triggered) for conforming values except for the ACPI - * SCI for which we use Active Lo, Level Triggered.. + * SCI for which we use Active Lo, Level Triggered. */ static enum intr_polarity interrupt_polarity(UINT16 Polarity, UINT8 Source) ==== //depot/projects/hammer/sys/amd64/amd64/fpu.c#13 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/io_apic.c#24 (text+ko) ==== @@ -51,10 +51,6 @@ #include #include -#if defined(DEV_ISA) && defined(DEV_ATPIC) && !defined(NO_MIXED_MODE) -#define MIXED_MODE -#endif - #define IOAPIC_ISA_INTS 16 #define IOAPIC_MEM_REGION 32 #define IOAPIC_REDTBL_LO(i) (IOAPIC_REDTBL + (i) * 2) @@ -117,9 +113,6 @@ struct ioapic_intsrc io_pins[0]; }; -static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); -static u_int next_id, program_logical_dest; - static u_int ioapic_read(volatile ioapic_t *apic, int reg); static void ioapic_write(volatile ioapic_t *apic, int reg, u_int val); static void ioapic_enable_source(struct intsrc *isrc); @@ -133,17 +126,23 @@ static void ioapic_suspend(struct intsrc *isrc); static void ioapic_resume(struct intsrc *isrc); static void ioapic_program_destination(struct ioapic_intsrc *intpin); -#ifdef MIXED_MODE static void ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin); -#endif +static STAILQ_HEAD(,ioapic) ioapic_list = STAILQ_HEAD_INITIALIZER(ioapic_list); struct pic ioapic_template = { ioapic_enable_source, ioapic_disable_source, ioapic_eoi_source, ioapic_enable_intr, ioapic_vector, ioapic_source_pending, ioapic_suspend, ioapic_resume, ioapic_config_intr }; -static int next_ioapic_base, logical_clusters, current_cluster; +static int 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 ioapic_read(volatile ioapic_t *apic, int reg) @@ -344,6 +343,17 @@ } /* + * 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 @@ -418,14 +428,17 @@ * Assume that pin 0 on the first IO APIC is an ExtINT pin by * default. Assume that intpins 1-15 are ISA interrupts and * use suitable defaults for those. Assume that all other - * intpins are PCI interrupts. Enable the ExtINT pin by - * default but mask all other pins. + * intpins are PCI interrupts. Enable the ExtINT pin if + * mixed mode is available and active but mask all other pins. */ if (intpin->io_vector == 0) { intpin->io_activehi = 1; intpin->io_edgetrigger = 1; intpin->io_vector = VECTOR_EXTINT; - intpin->io_masked = 0; + if (mixed_mode_enabled && mixed_mode_active) + intpin->io_masked = 0; + else + intpin->io_masked = 1; } else if (intpin->io_vector < IOAPIC_ISA_INTS) { intpin->io_activehi = 1; intpin->io_edgetrigger = 1; @@ -670,12 +683,15 @@ ioapic_write(apic, IOAPIC_REDTBL_HI(i), flags); mtx_unlock_spin(&icu_lock); if (pin->io_vector < NUM_IO_INTS) { -#ifdef MIXED_MODE - /* Route IRQ0 via the 8259A using mixed mode. */ - if (pin->io_vector == 0) + + /* + * 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 -#endif intr_register_source(&pin->io_intsrc); } @@ -702,7 +718,6 @@ SYSINIT(ioapic_destinations, SI_SUB_SMP, SI_ORDER_SECOND, ioapic_set_logical_destinations, NULL) -#ifdef MIXED_MODE /* * 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 @@ -711,7 +726,7 @@ * that IRQ instead. */ -void +static void ioapic_setup_mixed_mode(struct ioapic_intsrc *intpin) { struct ioapic_intsrc *extint; @@ -731,5 +746,3 @@ ioapic_assign_cluster(extint); #endif } - -#endif /* MIXED_MODE */ ==== //depot/projects/hammer/sys/amd64/amd64/machdep.c#84 (text+ko) ==== ==== //depot/projects/hammer/sys/amd64/amd64/mptable.c#24 (text+ko) ==== @@ -337,6 +337,7 @@ 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/include/apicvar.h#21 (text+ko) ==== @@ -137,6 +137,7 @@ 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/isa/atpic.c#39 (text+ko) ==== @@ -63,6 +63,16 @@ #define SLAVE 1 /* + * PC-98 machines wire the slave 8259A to pin 7 on the master PIC, and + * PC-AT machines wire the slave PIC to pin 2 on the master PIC. + */ +#ifdef PC98 +#define ICU_SLAVEID 7 +#else +#define ICU_SLAVEID 2 +#endif + +/* * Determine the base master and slave modes not including auto EOI support. * All machines that FreeBSD supports use 8086 mode. */ @@ -81,7 +91,8 @@ #define SLAVE_MODE BASE_SLAVE_MODE #endif -#define IMEN_MASK(ai) (1 << (ai)->at_irq) +#define IRQ_MASK(irq) (1 << (irq)) +#define IMEN_MASK(ai) (IRQ_MASK((ai)->at_irq)) #define NUM_ISA_IRQS 16 @@ -163,7 +174,7 @@ INTSRC(15), }; -CTASSERT(sizeof(atintrs) / sizeof(struct atpic_intsrc) == NUM_ISA_IRQS); +CTASSERT(sizeof(atintrs) / sizeof(atintrs[0]) == NUM_ISA_IRQS); static void atpic_enable_source(struct intsrc *isrc) @@ -201,7 +212,7 @@ ("%s: mismatched pic", __func__)); #ifndef AUTO_EOI_1 mtx_lock_spin(&icu_lock); - outb(atpics[MASTER].at_ioaddr, ICU_EOI); + outb(atpics[MASTER].at_ioaddr, OCW2_EOI); mtx_unlock_spin(&icu_lock); #endif } @@ -218,9 +229,9 @@ ("%s: mismatched pic", __func__)); #ifndef AUTO_EOI_2 mtx_lock_spin(&icu_lock); - outb(atpics[SLAVE].at_ioaddr, ICU_EOI); + outb(atpics[SLAVE].at_ioaddr, OCW2_EOI); #ifndef AUTO_EOI_1 - outb(atpics[MASTER].at_ioaddr, ICU_EOI); + outb(atpics[MASTER].at_ioaddr, OCW2_EOI); #endif mtx_unlock_spin(&icu_lock); #endif @@ -337,9 +348,9 @@ * which line on the master we are connected to. */ if (slave) - outb(imr_addr, ICU_SLAVEID); /* my slave id is 7 */ + outb(imr_addr, ICU_SLAVEID); else - outb(imr_addr, IRQ_SLAVE); /* slave on line 7 */ + outb(imr_addr, IRQ_MASK(ICU_SLAVEID)); /* Set mode. */ if (slave) @@ -389,8 +400,8 @@ * we have one and as an optimization to avoid masking edge * triggered interrupts. For the case that we don't have an ELCR, * it doesn't hurt to mask an edge triggered interrupt, so we - * that is why we assume level trigger for any interrupt that we - * aren't sure is edge triggered. + * assume level trigger for any interrupt that we aren't sure is + * edge triggered. */ if (elcr_probe() == 0) { using_elcr = 1; @@ -434,7 +445,7 @@ struct intsrc *isrc; int vec = (uintptr_t)cookie; - KASSERT(vec < ICU_LEN, ("unknown int %d\n", vec)); + KASSERT(vec < NUM_ISA_IRQS, ("unknown int %d\n", vec)); isrc = &atintrs[vec].at_intsrc; /* @@ -454,7 +465,7 @@ isr = inb(port); outb(port, OCW3_SEL | OCW3_RR); mtx_unlock_spin(&icu_lock); - if ((isr & IRQ7) == 0) + if ((isr & IRQ_MASK(7)) == 0) return; } intr_execute_handlers(isrc, &iframe); ==== //depot/projects/hammer/sys/amd64/isa/atpic_vector.S#17 (text+ko) ==== @@ -37,8 +37,6 @@ */ #include -#include -#include #include "assym.s" ==== //depot/projects/hammer/sys/amd64/isa/clock.c#22 (text+ko) ==== @@ -73,7 +73,6 @@ #endif #include -#include #include #include #ifdef DEV_ISA ==== //depot/projects/hammer/sys/amd64/isa/icu.h#20 (text+ko) ==== @@ -41,39 +41,9 @@ #ifndef _AMD64_ISA_ICU_H_ #define _AMD64_ISA_ICU_H_ -/* - * Interrupt enable bits - in normal order of priority (which we change) - */ -#define IRQ0 0x0001 /* highest priority - timer */ -#define IRQ1 0x0002 -#define IRQ_SLAVE 0x0004 -#define IRQ8 0x0100 -#define IRQ9 0x0200 -#define IRQ2 IRQ9 -#define IRQ10 0x0400 -#define IRQ11 0x0800 -#define IRQ12 0x1000 -#define IRQ13 0x2000 -#define IRQ14 0x4000 -#define IRQ15 0x8000 -#define IRQ3 0x0008 /* this is highest after rotation */ -#define IRQ4 0x0010 -#define IRQ5 0x0020 -#define IRQ6 0x0040 -#define IRQ7 0x0080 /* lowest - parallel printer */ - -/* - * Interrupt Control offset into Interrupt descriptor table (IDT) - */ -#define ICU_OFFSET 32 /* 0-31 are processor exceptions */ -#define ICU_LEN 16 /* 32-47 are ISA interrupts */ #define ICU_IMR_OFFSET 1 -#define ICU_SLAVEID 2 -#define ICU_EOI (OCW2_EOI) /* non-specific EOI */ -#ifndef LOCORE void atpic_handle_intr(void *cookie, struct intrframe iframe); void atpic_startup(void); -#endif #endif /* !_AMD64_ISA_ICU_H_ */ From owner-p4-projects@FreeBSD.ORG Wed May 12 16:33:18 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4790316A4D0; Wed, 12 May 2004 16:33:18 -0700 (PDT) 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 10F1416A4CE for ; Wed, 12 May 2004 16:33:18 -0700 (PDT) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id EC50743D39 for ; Wed, 12 May 2004 16:33:16 -0700 (PDT) (envelope-from nate@root.org) Received: (qmail 84789 invoked by uid 1000); 12 May 2004 23:33:18 -0000 Date: Wed, 12 May 2004 16:33:18 -0700 (PDT) From: Nate Lawson To: John Baldwin In-Reply-To: <200405101050.51751.jhb@FreeBSD.org> Message-ID: <20040512163137.T84786@root.org> References: <200405031911.i43JBPk7000313@repoman.freebsd.org> <20040507211416.H51922@root.org> <200405101050.51751.jhb@FreeBSD.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: Perforce Change Reviews Subject: Re: PERFORCE change 52156 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, 12 May 2004 23:33:18 -0000 On Mon, 10 May 2004, John Baldwin wrote: > On Saturday 08 May 2004 12:15 am, Nate Lawson wrote: > > On Mon, 3 May 2004, John Baldwin wrote: > > > http://perforce.freebsd.org/chv.cgi?CH=52156 > > > > > > Change 52156 by jhb@jhb_slimer on 2004/05/03 12:10:39 > > > > > > Bah, revert accidental submits. Neither of these worked on my > > > laptop, though the acpi_video one does work for some people and > > > might should be committed. > > > > > > Affected files ... > > > > > > .. //depot/projects/power/sys/dev/acpica/acpi_video.c#4 edit > > > .. //depot/projects/power/sys/isa/vga_isa.c#5 edit > > > > The DPMS stuff should go in a different device driver than acpi_video. It > > is a MI driver that implements only the standard ACPI interfaces. DPMS is > > probed separately and should be in a separate driver. You can have DPMS > > without ACPI too. > > I know. My laptop doesn't have a device that acpi_video attaches to and it > needs DPMS. You can see I tried adding it to vga_isa.c and that didn't work > either. I have a start on a vgapci(4) driver that would attach to PCI > devices that have the right class and subclass. It would then have drm0, > agp0 (for Intel onboard graphics), and I guess a dpms0 or vesa0 child device. > That's trickier. Partly because the only info I can find on DPMS, is to use > the BIOS to do it via vm86, which is very i386-only. Maybe there will be a > dpms0 child and the default on x86 can be to attach the VESA version, but > chip-specific drivers with a probe of 0 can be written for use on all archs > if the DPMS frobbing really is chip specific. I think DPMS should be a separate driver, not under the video driver. There is DPMS on Sparc, for example, although I don't know how it is implemented. -Nate From owner-p4-projects@FreeBSD.ORG Wed May 12 17:46:43 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CC51016A4CF; Wed, 12 May 2004 17:46:42 -0700 (PDT) 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 7E78416A4D0 for ; Wed, 12 May 2004 17:46:42 -0700 (PDT) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 287BE43D54 for ; Wed, 12 May 2004 17:46:41 -0700 (PDT) (envelope-from nate@root.org) Received: (qmail 85077 invoked by uid 1000); 13 May 2004 00:46:42 -0000 Date: Wed, 12 May 2004 17:46:42 -0700 (PDT) From: Nate Lawson To: Takanori Watanabe In-Reply-To: <200405130033.i4D0Xsa8020201@sana.init-main.com> Message-ID: <20040512174010.L85042@root.org> References: <200405130033.i4D0Xsa8020201@sana.init-main.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 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, 13 May 2004 00:46:43 -0000 On Thu, 13 May 2004, Takanori Watanabe wrote: > In message <20040512163137.T84786@root.org>, Nate Lawson wrote: > >On Mon, 10 May 2004, John Baldwin wrote: > >> On Saturday 08 May 2004 12:15 am, Nate Lawson wrote: > >> > On Mon, 3 May 2004, John Baldwin wrote: > >> > > http://perforce.freebsd.org/chv.cgi?CH=52156 > >> > > > >> > > Change 52156 by jhb@jhb_slimer on 2004/05/03 12:10:39 > >> > > > >> > > Bah, revert accidental submits. Neither of these worked on my > >> > > laptop, though the acpi_video one does work for some people and > >> > > might should be committed. > >> > > > >> > > Affected files ... > >> > > > >> > > .. //depot/projects/power/sys/dev/acpica/acpi_video.c#4 edit > >> > > .. //depot/projects/power/sys/isa/vga_isa.c#5 edit > >> > > >> > The DPMS stuff should go in a different device driver than acpi_video. It > >> > is a MI driver that implements only the standard ACPI interfaces. DPMS is > >> > probed separately and should be in a separate driver. You can have DPMS > >> > without ACPI too. > >> > >> I know. My laptop doesn't have a device that acpi_video attaches to and it > >> needs DPMS. You can see I tried adding it to vga_isa.c and that didn't work > >> either. I have a start on a vgapci(4) driver that would attach to PCI > >> devices that have the right class and subclass. It would then have drm0, > >> agp0 (for Intel onboard graphics), and I guess a dpms0 or vesa0 child device > >. > >> That's trickier. Partly because the only info I can find on DPMS, is to use > >> the BIOS to do it via vm86, which is very i386-only. Maybe there will be a > >> dpms0 child and the default on x86 can be to attach the VESA version, but > >> chip-specific drivers with a probe of 0 can be written for use on all archs > >> if the DPMS frobbing really is chip specific. > > > >I think DPMS should be a separate driver, not under the video driver. > > I think that acpi_video itself should not be under acpi directry. > We may have to make attach any numbers of video drivers for a video > device, like > > pci1->video0->acpi_video0 > +>drm0(or nvidia0) > +>dpms0 > +>fb0 > ..... You bring up a problem that I've been having also. When I commit the ACPI performance states driver, it needs to be able to get an ACPI handle. My solution to this is to have multiple drivers with the same name. Only the acpi one will supply a handle to the processor object. legacy mode: legacy0 cpu0 (implemented in legacy.c) speedstep0 acpi mode: acpi0 cpu0 (implemented in acpi_cpu.c) acpi_perf0 speedstep0 In the legacy case, acpi_perf's probe method will be called but it will return ENXIO because the non-acpi cpu0 will always return NULL for the ACPI_HANDLE ivar. It's kind of lame because it requires two different drivers to implement the same ivars but it's the only way I could figure out to allow both non-acpi and acpi-based cpufreq drivers attach. > >There is DPMS on Sparc, for example, although I don't know how it is > >implemented. > > Should we have to imprement machine independent in-kernel VM86 > by emulating real mode x86? This will be needed for especially > amd64/ia32e, which inherits many assets from ia32. I thought DPMS on sparc was through openfirmware or some other non-x86 device. -Nate From owner-p4-projects@FreeBSD.ORG Wed May 12 18:58:54 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFE5116A4D0; Wed, 12 May 2004 18:58:53 -0700 (PDT) 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 9DED716A4CE; Wed, 12 May 2004 18:58:53 -0700 (PDT) Received: from sana.init-main.com (104.194.138.210.bn.2iij.net [210.138.194.104]) by mx1.FreeBSD.org (Postfix) with ESMTP id 16EF343D48; Wed, 12 May 2004 18:58:50 -0700 (PDT) (envelope-from takawata@init-main.com) Received: from init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.12.11/8.12.9) with ESMTP id i4D1vPSA020480; Thu, 13 May 2004 10:57:25 +0900 (JST) (envelope-from takawata@init-main.com) Message-Id: <200405130157.i4D1vPSA020480@sana.init-main.com> To: Nate Lawson In-reply-to: Your message of "Wed, 12 May 2004 17:46:42 MST." <20040512174010.L85042@root.org> Date: Thu, 13 May 2004 10:57:25 +0900 From: Takanori Watanabe cc: takawata@freebsd.org cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 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, 13 May 2004 01:58:54 -0000 In message <20040512174010.L85042@root.org>, Nate Lawson wrote: >On Thu, 13 May 2004, Takanori Watanabe wrote: >> In message <20040512163137.T84786@root.org>, Nate Lawson wrote: >> >On Mon, 10 May 2004, John Baldwin wrote: >> >> On Saturday 08 May 2004 12:15 am, Nate Lawson wrote: >> >> > On Mon, 3 May 2004, John Baldwin wrote: >> >> > > http://perforce.freebsd.org/chv.cgi?CH=52156 >> >> > > >> >> > > Change 52156 by jhb@jhb_slimer on 2004/05/03 12:10:39 >> >> > > >> >> > > Bah, revert accidental submits. Neither of these worked on my >> >> > > laptop, though the acpi_video one does work for some people and >> >> > > might should be committed. >> >> > > >> >> > > Affected files ... >> >> > > >> >> > > .. //depot/projects/power/sys/dev/acpica/acpi_video.c#4 edit >> >> > > .. //depot/projects/power/sys/isa/vga_isa.c#5 edit >> >> > >> >> > The DPMS stuff should go in a different device driver than acpi_video. > It >> >> > is a MI driver that implements only the standard ACPI interfaces. DPMS > is >> >> > probed separately and should be in a separate driver. You can have DPM >S >> >> > without ACPI too. >> >> >> >> I know. My laptop doesn't have a device that acpi_video attaches to and >it >> >> needs DPMS. You can see I tried adding it to vga_isa.c and that didn't w >ork >> >> either. I have a start on a vgapci(4) driver that would attach to PCI >> >> devices that have the right class and subclass. It would then have drm0, >> >> agp0 (for Intel onboard graphics), and I guess a dpms0 or vesa0 child dev >ice >> >. >> >> That's trickier. Partly because the only info I can find on DPMS, is to >use >> >> the BIOS to do it via vm86, which is very i386-only. Maybe there will be > a >> >> dpms0 child and the default on x86 can be to attach the VESA version, but >> >> chip-specific drivers with a probe of 0 can be written for use on all arc >hs >> >> if the DPMS frobbing really is chip specific. >> > >> >I think DPMS should be a separate driver, not under the video driver. >> >> I think that acpi_video itself should not be under acpi directry. >> We may have to make attach any numbers of video drivers for a video >> device, like >> >> pci1->video0->acpi_video0 >> +>drm0(or nvidia0) >> +>dpms0 >> +>fb0 >> ..... > >You bring up a problem that I've been having also. When I commit the ACPI >performance states driver, it needs to be able to get an ACPI handle. My >solution to this is to have multiple drivers with the same name. Only the >acpi one will supply a handle to the processor object. >legacy mode: >legacy0 > cpu0 (implemented in legacy.c) > speedstep0 > >acpi mode: >acpi0 > cpu0 (implemented in acpi_cpu.c) > acpi_perf0 > speedstep0 > >In the legacy case, acpi_perf's probe method will be called but it will >return ENXIO because the non-acpi cpu0 will always return NULL for the >ACPI_HANDLE ivar. It's kind of lame because it requires two different >drivers to implement the same ivars but it's the only way I could figure >out to allow both non-acpi and acpi-based cpufreq drivers attach. In this case, pci1 and its children know ACPI handle, if ACPI vga extension is appeard in the name space tree. You will see this by devinfo(8) with -v option. So the role of video0 driver is manage child drivers. All request may forwarded to the grand parent. >> >There is DPMS on Sparc, for example, although I don't know how it is >> >implemented. >> >> Should we have to imprement machine independent in-kernel VM86 >> by emulating real mode x86? This will be needed for especially >> amd64/ia32e, which inherits many assets from ia32. > >I thought DPMS on sparc was through openfirmware or some other non-x86 >device. XFree86 has x86 emulator to use vga bios for initializing in other archtecture. From owner-p4-projects@FreeBSD.ORG Thu May 13 14:51:58 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 30D7016A4D1; Thu, 13 May 2004 14:51:58 -0700 (PDT) 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 E73E116A4CE for ; Thu, 13 May 2004 14:51:57 -0700 (PDT) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id C496D43D4C for ; Thu, 13 May 2004 14:51:56 -0700 (PDT) (envelope-from nate@root.org) Received: (qmail 91591 invoked by uid 1000); 13 May 2004 21:51:58 -0000 Date: Thu, 13 May 2004 14:51:58 -0700 (PDT) From: Nate Lawson To: Takanori Watanabe In-Reply-To: <200405130157.i4D1vPSA020480@sana.init-main.com> Message-ID: <20040513144346.W91362@root.org> References: <200405130157.i4D1vPSA020480@sana.init-main.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 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, 13 May 2004 21:51:59 -0000 On Thu, 13 May 2004, Takanori Watanabe wrote: > In message <20040512174010.L85042@root.org>, Nate Lawson wrote: > >You bring up a problem that I've been having also. When I commit the ACPI > >performance states driver, it needs to be able to get an ACPI handle. My > >solution to this is to have multiple drivers with the same name. Only the > >acpi one will supply a handle to the processor object. > >legacy mode: > >legacy0 > > cpu0 (implemented in legacy.c) > > speedstep0 > > > >acpi mode: > >acpi0 > > cpu0 (implemented in acpi_cpu.c) > > acpi_perf0 > > speedstep0 > > > >In the legacy case, acpi_perf's probe method will be called but it will > >return ENXIO because the non-acpi cpu0 will always return NULL for the > >ACPI_HANDLE ivar. It's kind of lame because it requires two different > >drivers to implement the same ivars but it's the only way I could figure > >out to allow both non-acpi and acpi-based cpufreq drivers attach. > > In this case, pci1 and its children know ACPI handle, if > ACPI vga extension is appeard in the name space tree. > You will see this by devinfo(8) with -v option. So the > role of video0 driver is manage child drivers. > All request may forwarded to the grand parent. I guess I haven't looked closely enough at acpi_pci.c. So it calls child probe based on _ADR data in child ACPI objects via WalkNamespace? Does it then call normal pci config register probe for devices that don't appear in the acpi namespace? > >> >There is DPMS on Sparc, for example, although I don't know how it is > >> >implemented. > >> > >> Should we have to imprement machine independent in-kernel VM86 > >> by emulating real mode x86? This will be needed for especially > >> amd64/ia32e, which inherits many assets from ia32. > > > >I thought DPMS on sparc was through openfirmware or some other non-x86 > >device. > > XFree86 has x86 emulator to use vga bios for initializing in other > archtecture. Ah, interesting. I hope we don't have to go this far in FreeBSD. It would be important to talk to Nicholas Souchu. http://people.freebsd.org/~nsouch/kgi4BSD/content-home.html -Nate From owner-p4-projects@FreeBSD.ORG Thu May 13 18:11:01 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7417D16A4D0; Thu, 13 May 2004 18:11:01 -0700 (PDT) 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 3608D16A4CE; Thu, 13 May 2004 18:11:01 -0700 (PDT) Received: from sana.init-main.com (104.194.138.210.bn.2iij.net [210.138.194.104]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36DCF43D31; Thu, 13 May 2004 18:10:58 -0700 (PDT) (envelope-from takawata@init-main.com) Received: from init-main.com (localhost [127.0.0.1]) by sana.init-main.com (8.12.11/8.12.9) with ESMTP id i4E19Lqe024455; Fri, 14 May 2004 10:09:22 +0900 (JST) (envelope-from takawata@init-main.com) Message-Id: <200405140109.i4E19Lqe024455@sana.init-main.com> To: Nate Lawson In-reply-to: Your message of "Thu, 13 May 2004 14:51:58 MST." <20040513144346.W91362@root.org> Date: Fri, 14 May 2004 10:09:21 +0900 From: Takanori Watanabe cc: takawata@freebsd.org cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 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, 14 May 2004 01:11:02 -0000 In message <20040513144346.W91362@root.org>, Nate Lawson $B$5$s$$$o$/(B: >On Thu, 13 May 2004, Takanori Watanabe wrote: >> In message <20040512174010.L85042@root.org>, Nate Lawson wrote: >> >You bring up a problem that I've been having also. When I commit the ACPI >> >performance states driver, it needs to be able to get an ACPI handle. My >> >solution to this is to have multiple drivers with the same name. Only the >> >acpi one will supply a handle to the processor object. >> >legacy mode: >> >legacy0 >> > cpu0 (implemented in legacy.c) >> > speedstep0 >> > >> >acpi mode: >> >acpi0 >> > cpu0 (implemented in acpi_cpu.c) >> > acpi_perf0 >> > speedstep0 >> > >> >In the legacy case, acpi_perf's probe method will be called but it will >> >return ENXIO because the non-acpi cpu0 will always return NULL for the >> >ACPI_HANDLE ivar. It's kind of lame because it requires two different >> >drivers to implement the same ivars but it's the only way I could figure >> >out to allow both non-acpi and acpi-based cpufreq drivers attach. >> >> In this case, pci1 and its children know ACPI handle, if >> ACPI vga extension is appeard in the name space tree. >> You will see this by devinfo(8) with -v option. So the >> role of video0 driver is manage child drivers. >> All request may forwarded to the grand parent. > >I guess I haven't looked closely enough at acpi_pci.c. So it calls child >probe based on _ADR data in child ACPI objects via WalkNamespace? Does it >then call normal pci config register probe for devices that don't appear >in the acpi namespace? Basically ACPI aware PCI devices are probed by pci config register as usual.(ACPI namespace does not describe enough information to determine drivers) But after adding device has finished, walk name space and attach acpi handle if _ADR matches the device objects that has probed. Then if a PCI bridge knows ACPI handle, the PCI bridge is attached as ACPI-aware PCI bridge. From owner-p4-projects@FreeBSD.ORG Fri May 14 10:47:28 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1268916A4D1; Fri, 14 May 2004 10:47:28 -0700 (PDT) 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 DAE7716A4CF for ; Fri, 14 May 2004 10:47:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BCB8E43D39 for ; Fri, 14 May 2004 10:47:22 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4EHlMGe059573 for ; Fri, 14 May 2004 10:47:22 -0700 (PDT) (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4EHlLvu059570 for perforce@freebsd.org; Fri, 14 May 2004 10:47:21 -0700 (PDT) (envelope-from jhb@freebsd.org) Date: Fri, 14 May 2004 10:47:21 -0700 (PDT) Message-Id: <200405141747.i4EHlLvu059570@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 52804 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, 14 May 2004 17:47:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=52804 Change 52804 by jhb@jhb_slimer on 2004/05/14 10:46:55 IFC @52803. Affected files ... .. //depot/projects/smpng/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/smpng/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/smpng/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/smpng/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/smpng/sys/arm/arm/blockio.S#1 branch .. //depot/projects/smpng/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/smpng/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/smpng/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/copystr.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm3.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm67.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/smpng/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/smpng/sys/arm/arm/critical.c#1 branch .. //depot/projects/smpng/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/smpng/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/smpng/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/smpng/sys/arm/arm/disassem.c#1 branch .. //depot/projects/smpng/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/exception.S#1 branch .. //depot/projects/smpng/sys/arm/arm/fiq.c#1 branch .. //depot/projects/smpng/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/smpng/sys/arm/arm/fusu.S#1 branch .. //depot/projects/smpng/sys/arm/arm/genassym.c#1 branch .. //depot/projects/smpng/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/smpng/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/smpng/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/smpng/sys/arm/arm/intr.c#1 branch .. //depot/projects/smpng/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/smpng/sys/arm/arm/locore.S#1 branch .. //depot/projects/smpng/sys/arm/arm/machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/nexus.c#1 branch .. //depot/projects/smpng/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/smpng/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/smpng/sys/arm/arm/pmap.c#1 branch .. //depot/projects/smpng/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/smpng/sys/arm/arm/setstack.s#1 branch .. //depot/projects/smpng/sys/arm/arm/support.S#1 branch .. //depot/projects/smpng/sys/arm/arm/swtch.S#1 branch .. //depot/projects/smpng/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/trap.c#1 branch .. //depot/projects/smpng/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/arm/undefined.c#1 branch .. //depot/projects/smpng/sys/arm/arm/vectors.S#1 branch .. //depot/projects/smpng/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/conf/SIMICS#1 branch .. //depot/projects/smpng/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/smpng/sys/arm/include/armreg.h#1 branch .. //depot/projects/smpng/sys/arm/include/asm.h#1 branch .. //depot/projects/smpng/sys/arm/include/asmacros.h#1 branch .. //depot/projects/smpng/sys/arm/include/atomic.h#1 branch .. //depot/projects/smpng/sys/arm/include/blockio.h#1 branch .. //depot/projects/smpng/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/smpng/sys/arm/include/bus.h#1 branch .. //depot/projects/smpng/sys/arm/include/clock.h#1 branch .. //depot/projects/smpng/sys/arm/include/cpu.h#1 branch .. //depot/projects/smpng/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/smpng/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/smpng/sys/arm/include/critical.h#1 branch .. //depot/projects/smpng/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/smpng/sys/arm/include/disassem.h#1 branch .. //depot/projects/smpng/sys/arm/include/fiq.h#1 branch .. //depot/projects/smpng/sys/arm/include/float.h#1 branch .. //depot/projects/smpng/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/smpng/sys/arm/include/fp.h#1 branch .. //depot/projects/smpng/sys/arm/include/frame.h#1 branch .. //depot/projects/smpng/sys/arm/include/ieee.h#1 branch .. //depot/projects/smpng/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/smpng/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/smpng/sys/arm/include/intr.h#1 branch .. //depot/projects/smpng/sys/arm/include/katelib.h#1 branch .. //depot/projects/smpng/sys/arm/include/machdep.h#1 branch .. //depot/projects/smpng/sys/arm/include/md_var.h#1 branch .. //depot/projects/smpng/sys/arm/include/metadata.h#1 branch .. //depot/projects/smpng/sys/arm/include/mutex.h#1 branch .. //depot/projects/smpng/sys/arm/include/param.h#4 integrate .. //depot/projects/smpng/sys/arm/include/pcb.h#1 branch .. //depot/projects/smpng/sys/arm/include/pcpu.h#1 branch .. //depot/projects/smpng/sys/arm/include/pmap.h#1 branch .. //depot/projects/smpng/sys/arm/include/proc.h#1 branch .. //depot/projects/smpng/sys/arm/include/profile.h#1 branch .. //depot/projects/smpng/sys/arm/include/psl.h#1 branch .. //depot/projects/smpng/sys/arm/include/pte.h#1 branch .. //depot/projects/smpng/sys/arm/include/ptrace.h#1 branch .. //depot/projects/smpng/sys/arm/include/reg.h#1 branch .. //depot/projects/smpng/sys/arm/include/reloc.h#1 branch .. //depot/projects/smpng/sys/arm/include/resource.h#1 branch .. //depot/projects/smpng/sys/arm/include/runq.h#1 branch .. //depot/projects/smpng/sys/arm/include/setjmp.h#1 branch .. //depot/projects/smpng/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/smpng/sys/arm/include/sigframe.h#1 branch .. //depot/projects/smpng/sys/arm/include/smp.h#1 branch .. //depot/projects/smpng/sys/arm/include/stdarg.h#1 branch .. //depot/projects/smpng/sys/arm/include/swi.h#1 branch .. //depot/projects/smpng/sys/arm/include/trap.h#1 branch .. //depot/projects/smpng/sys/arm/include/ucontext.h#2 integrate .. //depot/projects/smpng/sys/arm/include/undefined.h#1 branch .. //depot/projects/smpng/sys/arm/include/utrap.h#1 branch .. //depot/projects/smpng/sys/arm/include/vmparam.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/smpng/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/smpng/sys/boot/Makefile#14 integrate .. //depot/projects/smpng/sys/boot/i386/libi386/biosacpi.c#7 integrate .. //depot/projects/smpng/sys/conf/Makefile.alpha#20 integrate .. //depot/projects/smpng/sys/conf/Makefile.amd64#6 integrate .. //depot/projects/smpng/sys/conf/Makefile.arm#1 branch .. //depot/projects/smpng/sys/conf/Makefile.i386#18 integrate .. //depot/projects/smpng/sys/conf/Makefile.ia64#25 integrate .. //depot/projects/smpng/sys/conf/Makefile.pc98#17 integrate .. //depot/projects/smpng/sys/conf/Makefile.powerpc#22 integrate .. //depot/projects/smpng/sys/conf/Makefile.sparc64#21 integrate .. //depot/projects/smpng/sys/conf/files.arm#1 branch .. //depot/projects/smpng/sys/conf/files.i386#60 integrate .. //depot/projects/smpng/sys/conf/files.pc98#58 integrate .. //depot/projects/smpng/sys/conf/files.sparc64#38 integrate .. //depot/projects/smpng/sys/conf/kern.mk#12 integrate .. //depot/projects/smpng/sys/conf/ldscript.arm#1 branch .. //depot/projects/smpng/sys/conf/options#76 integrate .. //depot/projects/smpng/sys/conf/options.arm#1 branch .. //depot/projects/smpng/sys/conf/options.sparc64#10 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src.diff#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx.h#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_context.c#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_env.c#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_env.h#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self-new.c#1 branch .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self.c#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self.h#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_self_context.s#2 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_step.c#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_step.h#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_str.c#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#4 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#5 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_utable.c#3 integrate .. //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx_utable.h#3 integrate .. //depot/projects/smpng/sys/dev/aac/aac_pci.c#30 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_ec.c#27 integrate .. //depot/projects/smpng/sys/dev/acpica/acpi_pcib_pci.c#5 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.c#19 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.h#16 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.reg#14 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx.seq#13 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_inline.h#13 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic79xx_pci.c#17 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic7xxx.c#19 integrate .. //depot/projects/smpng/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/smpng/sys/dev/an/if_an_pccard.c#13 integrate .. //depot/projects/smpng/sys/dev/ata/ata-chipset.c#36 integrate .. //depot/projects/smpng/sys/dev/ata/ata-pci.c#45 integrate .. //depot/projects/smpng/sys/dev/awi/if_awi_pccard.c#12 integrate .. //depot/projects/smpng/sys/dev/cs/if_cs_pccard.c#8 integrate .. //depot/projects/smpng/sys/dev/ed/if_ed_pccard.c#21 integrate .. //depot/projects/smpng/sys/dev/ichwd/ichwd.c#1 branch .. //depot/projects/smpng/sys/dev/ichwd/ichwd.h#1 branch .. //depot/projects/smpng/sys/dev/if_ndis/if_ndis.c#15 integrate .. //depot/projects/smpng/sys/dev/iicbus/iicbus.c#5 integrate .. //depot/projects/smpng/sys/dev/led/led.h#2 integrate .. //depot/projects/smpng/sys/dev/pccard/files.pccard#2 delete .. //depot/projects/smpng/sys/dev/pccard/pccarddevs#38 integrate .. //depot/projects/smpng/sys/dev/pccard/pccarddevs.h#38 integrate .. //depot/projects/smpng/sys/dev/sn/if_sn_pccard.c#10 integrate .. //depot/projects/smpng/sys/dev/snc/if_snc_pccard.c#4 integrate .. //depot/projects/smpng/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/smpng/sys/dev/sound/isa/sb16.c#14 integrate .. //depot/projects/smpng/sys/dev/sound/isa/sbc.c#11 integrate .. //depot/projects/smpng/sys/dev/sound/pcm/ac97.c#23 integrate .. //depot/projects/smpng/sys/dev/twe/twe.c#11 integrate .. //depot/projects/smpng/sys/dev/twe/twereg.h#7 integrate .. //depot/projects/smpng/sys/dev/twe/twevar.h#8 integrate .. //depot/projects/smpng/sys/dev/usb/umodem.c#17 integrate .. //depot/projects/smpng/sys/dev/wi/if_wi_pccard.c#28 integrate .. //depot/projects/smpng/sys/dev/wl/if_wl.c#20 integrate .. //depot/projects/smpng/sys/geom/geom_disk.c#35 integrate .. //depot/projects/smpng/sys/i386/acpica/madt.c#9 integrate .. //depot/projects/smpng/sys/i386/conf/PAE#8 integrate .. //depot/projects/smpng/sys/i386/i386/io_apic.c#6 integrate .. //depot/projects/smpng/sys/i386/i386/machdep.c#74 integrate .. //depot/projects/smpng/sys/i386/i386/mptable.c#9 integrate .. //depot/projects/smpng/sys/i386/include/apicvar.h#5 integrate .. //depot/projects/smpng/sys/i386/isa/atpic.c#8 integrate .. //depot/projects/smpng/sys/i386/isa/atpic_vector.s#10 integrate .. //depot/projects/smpng/sys/i386/isa/clock.c#34 integrate .. //depot/projects/smpng/sys/i386/isa/icu.h#11 integrate .. //depot/projects/smpng/sys/i386/isa/npx.c#41 integrate .. //depot/projects/smpng/sys/kern/kern_exit.c#77 integrate .. //depot/projects/smpng/sys/kern/kern_resource.c#46 integrate .. //depot/projects/smpng/sys/kern/subr_sleepqueue.c#6 integrate .. //depot/projects/smpng/sys/kern/uipc_mbuf2.c#14 integrate .. //depot/projects/smpng/sys/kern/uipc_syscalls.c#52 integrate .. //depot/projects/smpng/sys/kern/vfs_bio.c#62 integrate .. //depot/projects/smpng/sys/kern/vfs_syscalls.c#73 integrate .. //depot/projects/smpng/sys/libkern/arm/bzero.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/divsi3.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/ffs.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/memcmp.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/memcpy.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/memcpy_arm.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/memcpy_xscale.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/memset.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/muldi3.c#1 branch .. //depot/projects/smpng/sys/libkern/arm/strcmp.S#1 branch .. //depot/projects/smpng/sys/libkern/arm/strncmp.S#1 branch .. //depot/projects/smpng/sys/modules/Makefile#76 integrate .. //depot/projects/smpng/sys/modules/ichwd/Makefile#1 branch .. //depot/projects/smpng/sys/net/rtsock.c#34 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_bt3c.h#3 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_btsocket.h#5 integrate .. //depot/projects/smpng/sys/netgraph/bluetooth/include/ng_h4.h#4 integrate .. //depot/projects/smpng/sys/netinet/ip_output.c#57 integrate .. //depot/projects/smpng/sys/netinet6/ip6_output.c#32 integrate .. //depot/projects/smpng/sys/pci/agp_via.c#9 integrate .. //depot/projects/smpng/sys/pci/agpreg.h#9 integrate .. //depot/projects/smpng/sys/sparc64/conf/GENERIC#39 integrate .. //depot/projects/smpng/sys/sparc64/conf/NOTES#5 integrate .. //depot/projects/smpng/sys/sparc64/ebus/ebus.c#12 integrate .. //depot/projects/smpng/sys/sparc64/include/ofw_bus.h#6 integrate .. //depot/projects/smpng/sys/sparc64/include/pmap.h#26 integrate .. //depot/projects/smpng/sys/sparc64/isa/isa.c#11 integrate .. //depot/projects/smpng/sys/sparc64/isa/ofw_isa.c#7 integrate .. //depot/projects/smpng/sys/sparc64/isa/ofw_isa.h#4 integrate .. //depot/projects/smpng/sys/sparc64/pci/apb.c#7 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pci.c#13 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pci.h#7 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pci_if.m#3 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib.c#3 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib_subr.c#3 integrate .. //depot/projects/smpng/sys/sparc64/pci/ofw_pcib_subr.h#2 integrate .. //depot/projects/smpng/sys/sparc64/pci/psycho.c#29 integrate .. //depot/projects/smpng/sys/sparc64/pci/psychovar.h#11 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/counter.c#3 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/ofw_bus.c#8 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/ofw_machdep.c#8 integrate .. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#47 integrate .. //depot/projects/smpng/sys/sys/_label.h#6 integrate .. //depot/projects/smpng/sys/sys/acl.h#9 integrate .. //depot/projects/smpng/sys/sys/mac.h#26 integrate .. //depot/projects/smpng/sys/sys/mac_policy.h#23 integrate .. //depot/projects/smpng/sys/sys/regression.h#3 integrate .. //depot/projects/smpng/sys/sys/socket.h#20 integrate .. //depot/projects/smpng/sys/sys/ttycom.h#4 integrate .. //depot/projects/smpng/sys/vm/vm_mmap.c#45 integrate .. //depot/projects/smpng/sys/vm/vm_page.c#51 integrate .. //depot/projects/smpng/sys/vm/vm_pageout.c#45 integrate Differences ... ==== //depot/projects/smpng/sys/arm/include/param.h#4 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.4 2002/09/17 01:48:54 peter Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.5 2004/05/14 11:46:44 cognet Exp $ */ /* @@ -55,10 +55,10 @@ #endif #ifndef _MACHINE -#define _MACHIN "arm32" +#define _MACHINE "arm" #endif #ifndef _MACHINE_ARCH -#define _MACHINE_ARCH "arm32" +#define _MACHINE_ARCH "arm" #endif #ifndef _NO_NAMESPACE_POLLUTION @@ -67,14 +67,12 @@ #define _MACHINE_PARAM_H_ #ifndef MACHINE -#define MACHINE "arm32" +#define MACHINE "arm" #endif #ifndef MACHINE_ARCH -#define MACHINE_ARCH "arm32" +#define MACHINE_ARCH "arm" #endif -#define MID_MACHINE MID_ARM32 - -#include +#define MID_MACHINE MID_ARM6 #ifdef SMP #define MAXCPU 2 @@ -90,12 +88,34 @@ #define PAGE_MASK (PAGE_SIZE - 1) #define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t))) -#define KERNBASE 0x100000 /* start of kernel virtual */ -#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) +#define PDR_SHIFT 20 /* log2(NBPDR) */ +#define NBPDR (1 << PDR_SHIFT) +#define NPDEPG (1 << (32 - PDR_SHIFT)) + +#ifndef KSTACK_PAGES +#define KSTACK_PAGES 4 +#endif /* !KSTACK_PAGES */ + +#ifndef UAREA_PAGES +#define UAREA_PAGES 2 +#endif /* !UAREA_PAGES */ + +#ifndef USPACE +#define USPACE (UAREA_PAGES * PAGE_SIZE) /* total size of u-area */ +#endif + +#ifndef FPCONTEXTSIZE +#define FPCONTEXTSIZE (0x100) +#endif -#define UPAGES 2 /* pages of u-area */ -#define USPACE (UPAGES * PAGE_SIZE) /* total size of u-area */ +#ifndef KSTACK_GUARD_PAGES +#define KSTACK_GUARD_PAGES 1 +#endif /* !KSTACK_GUARD_PAGES */ +#define USPACE_SVC_STACK_TOP (USPACE) +#define USPACE_SVC_STACK_BOTTOM (USPACE_SVC_STACK_TOP - 0x1000) +#define USPACE_UNDEF_STACK_TOP (USPACE_SVC_STACK_BOTTOM - 0x10) +#define USPACE_UNDEF_STACK_BOTTOM (FPCONTEXTSIZE + 10) /* * Mach derived conversion macros */ ==== //depot/projects/smpng/sys/arm/include/ucontext.h#2 (text+ko) ==== @@ -1,10 +1,11 @@ -/* - * Copyright (c) 2001 David O'Brien. - * Copyright (c) 1994-1996 Mark Brinicombe. - * Copyright (c) 1994 Brini. +/* $NetBSD: mcontext.h,v 1.4 2003/10/08 22:43:01 thorpej Exp $ */ + +/*- + * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. * All rights reserved. * - * This code is derived from software written for Brini by Mark Brinicombe + * This code is derived from software contributed to The NetBSD Foundation + * by Klaus Klein and by Jason R. Thorpe of Wasabi Systems, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -16,65 +17,99 @@ * 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 Brini. - * 4. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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 BRINI ``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 BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. + * THIS 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. * - * RiscBSD kernel project - * - * signal.h - * - * Architecture dependant signal types and structures - * - * Created : 30/09/94 - * - * $NetBSD: signal.h,v 1.8 1998/09/14 02:48:33 thorpej Exp $ - * $FreeBSD: src/sys/arm/include/ucontext.h,v 1.1 2001/12/09 19:39:49 obrien Exp $ + * $FreeBSD: src/sys/arm/include/ucontext.h,v 1.2 2004/05/14 11:46:44 cognet Exp $ + */ + +#ifndef _MACHINE_MCONTEXT_H_ +#define _MACHINE_MCONTEXT_H_ +/* + * General register state */ +#define _NGREG 17 +typedef unsigned int __greg_t; +typedef __greg_t __gregset_t[_NGREG]; -#ifndef _MACHINE_UCONTEXT_H_ -#define _MACHINE_UCONTEXT_H_ +#define _REG_R0 0 +#define _REG_R1 1 +#define _REG_R2 2 +#define _REG_R3 3 +#define _REG_R4 4 +#define _REG_R5 5 +#define _REG_R6 6 +#define _REG_R7 7 +#define _REG_R8 8 +#define _REG_R9 9 +#define _REG_R10 10 +#define _REG_R11 11 +#define _REG_R12 12 +#define _REG_R13 13 +#define _REG_R14 14 +#define _REG_R15 15 +#define _REG_CPSR 16 +/* Convenience synonyms */ +#define _REG_FP _REG_R11 +#define _REG_SP _REG_R13 +#define _REG_LR _REG_R14 +#define _REG_PC _REG_R15 + +/* + * Floating point register state + */ +/* Note: the storage layout of this structure must be identical to ARMFPE! */ +typedef struct { + unsigned int __fp_fpsr; + struct { + unsigned int __fp_exponent; + unsigned int __fp_mantissa_hi; + unsigned int __fp_mantissa_lo; + } __fp_fr[8]; +} __fpregset_t; -typedef struct __mcontext { - /* - * The first 20 fields must match the definition of - * sigcontext. So that we can support sigcontext - * and ucontext_t at the same time. - */ - unsigned int mc_onstack; /* XXX - sigcontext compat. */ - unsigned int mc_spsr; - unsigned int mc_r0; - unsigned int mc_r1; - unsigned int mc_r2; - unsigned int mc_r3; - unsigned int mc_r4; - unsigned int mc_r5; - unsigned int mc_r6; - unsigned int mc_r7; - unsigned int mc_r8; - unsigned int mc_r9; - unsigned int mc_r10; - unsigned int mc_r11; - unsigned int mc_r12; - unsigned int mc_usr_sp; - unsigned int mc_usr_lr; - unsigned int mc_svc_lr; - unsigned int mc_pc; +typedef struct { + unsigned int __vfp_fpscr; + unsigned int __vfp_fstmx[33]; + unsigned int __vfp_fpsid; +} __vfpregset_t; - unsigned int __spare__[1]; /* XXX fix the size later */ +typedef struct { + __gregset_t __gregs; + union { + __fpregset_t __fpregs; + __vfpregset_t __vfpregs; + } __fpu; } mcontext_t; -#endif /* !_MACHINE_UCONTEXT_H_ */ +/* Machine-dependent uc_flags */ +#define _UC_ARM_VFP 0x00010000 /* FPU field is VFP */ + +/* used by signal delivery to indicate status of signal stack */ +#define _UC_SETSTACK 0x00020000 +#define _UC_CLRSTACK 0x00040000 + +#define _UC_MACHINE_PAD 3 /* Padding appended to ucontext_t */ + +#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_SP]) +#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC]) +#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_R0]) + +#define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc) + +#endif /* !_MACHINE_MCONTEXT_H_ */ ==== //depot/projects/smpng/sys/boot/Makefile#14 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/Makefile,v 1.21 2004/02/07 08:10:06 ru Exp $ +# $FreeBSD: src/sys/boot/Makefile,v 1.22 2004/05/14 13:34:53 cognet Exp $ .if !defined(NOFORTH) # Build the add-in FORTH interpreter. @@ -11,7 +11,9 @@ .endif # Pick the machine-dependent subdir based on the target architecture. +.if ${MACHINE_ARCH} != "arm" SUBDIR+= ${MACHINE:S/amd64/i386/} +.endif # Build ARC / AlphaBIOS executable on the Alpha # (this is a WIP (work in progress)). ==== //depot/projects/smpng/sys/boot/i386/libi386/biosacpi.c#7 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.7 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.8 2004/05/14 01:29:21 jdp Exp $"); #include #include @@ -66,8 +66,8 @@ revision = 1; sprintf(buf, "%d", revision); setenv("hint.acpi.0.revision", buf, 1); - sprintf(buf, "%6s", rsdp->OemId); - buf[6] = '\0'; + strncpy(buf, rsdp->OemId, sizeof(rsdp->OemId)); + buf[sizeof(rsdp->OemId)] = '\0'; setenv("hint.acpi.0.oem", buf, 1); sprintf(buf, "0x%08x", rsdp->RsdtPhysicalAddress); setenv("hint.acpi.0.rsdt", buf, 1); ==== //depot/projects/smpng/sys/conf/Makefile.alpha#20 (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.129 2004/02/13 12:28:52 ru Exp $ +# $FreeBSD: src/sys/conf/Makefile.alpha,v 1.130 2004/05/09 22:29:37 cognet Exp $ # # Makefile for FreeBSD # @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 .if !defined(S) .if exists(./@/.) ==== //depot/projects/smpng/sys/conf/Makefile.amd64#6 (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.10 2003/09/30 03:49:09 peter Exp $ +# $FreeBSD: src/sys/conf/Makefile.amd64,v 1.11 2004/05/09 22:29:37 cognet Exp $ # # Makefile for FreeBSD # @@ -18,7 +18,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 STD8X16FONT?= iso ==== //depot/projects/smpng/sys/conf/Makefile.i386#18 (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.259 2003/04/15 21:29:11 phk Exp $ +# $FreeBSD: src/sys/conf/Makefile.i386,v 1.260 2004/05/09 22:29:37 cognet Exp $ # # Makefile for FreeBSD # @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 STD8X16FONT?= iso ==== //depot/projects/smpng/sys/conf/Makefile.ia64#25 (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.56 2003/05/16 21:26:40 marcel Exp $ +# $FreeBSD: src/sys/conf/Makefile.ia64,v 1.57 2004/05/09 22:29:37 cognet Exp $ # # Makefile for FreeBSD # @@ -19,7 +19,7 @@ GCC3= you bet # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 STD8X16FONT?= iso ==== //depot/projects/smpng/sys/conf/Makefile.pc98#17 (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.160 2003/04/15 21:29:11 phk Exp $ +# $FreeBSD: src/sys/conf/Makefile.pc98,v 1.161 2004/05/09 22:29:37 cognet Exp $ # # Makefile for FreeBSD # @@ -19,7 +19,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 .if !defined(S) .if exists(./@/.) ==== //depot/projects/smpng/sys/conf/Makefile.powerpc#22 (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.268 2003/12/09 15:48:20 gallatin Exp $ +# $FreeBSD: src/sys/conf/Makefile.powerpc,v 1.269 2004/05/09 22:29:38 cognet Exp $ # # Makefile for FreeBSD # @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 # Temporary stuff while we're still embryonic NO_MODULES?= yes ==== //depot/projects/smpng/sys/conf/Makefile.sparc64#21 (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.27 2003/04/15 21:29:11 phk Exp $ +# $FreeBSD: src/sys/conf/Makefile.sparc64,v 1.28 2004/05/09 22:29:38 cognet Exp $ # # Makefile for FreeBSD # @@ -17,7 +17,7 @@ # # Which version of config(8) is required. -%VERSREQ= 500012 +%VERSREQ= 500013 STD8X16FONT?= iso ==== //depot/projects/smpng/sys/conf/files.i386#60 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.i386,v 1.489 2004/05/05 11:17:26 bde Exp $ +# $FreeBSD: src/sys/conf/files.i386,v 1.490 2004/05/11 18:21:38 des Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -137,6 +137,7 @@ dev/fb/splash.c optional splash dev/fb/vga.c optional vga dev/fe/if_fe_isa.c optional fe isa +dev/ichwd/ichwd.c optional ichwd dev/if_ndis/if_ndis.c optional ndis dev/if_ndis/if_ndis_pccard.c optional ndis card dev/if_ndis/if_ndis_pccard.c optional ndis pccard ==== //depot/projects/smpng/sys/conf/files.pc98#58 (text+ko) ==== @@ -3,7 +3,7 @@ # # modified for PC-9801 # -# $FreeBSD: src/sys/conf/files.pc98,v 1.296 2004/05/06 13:49:53 nyan Exp $ +# $FreeBSD: src/sys/conf/files.pc98,v 1.297 2004/05/13 11:17:07 nyan Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -129,8 +129,6 @@ geom/geom_bsd_enc.c standard geom/geom_pc98.c standard geom/geom_pc98_enc.c standard -libkern/ffsl.c standard -libkern/flsl.c standard i386/bios/apm.c optional apm i386/i386/apic_vector.s optional apic i386/i386/atomic.c standard \ @@ -211,8 +209,8 @@ i386/linux/linux_ptrace.c optional compat_linux i386/linux/linux_sysent.c optional compat_linux i386/linux/linux_sysvec.c optional compat_linux +i386/pci/pci_bus.c optional pci i386/pci/pci_cfgreg.c optional pci -i386/pci/pci_bus.c optional pci i386/pci/pci_pir.c optional pci i386/svr4/svr4_locore.s optional compat_svr4 \ dependency "svr4_assym.h" \ @@ -310,6 +308,8 @@ kern/imgact_aout.c optional compat_aout kern/imgact_gzip.c optional gzip libkern/divdi3.c standard +libkern/ffsl.c standard +libkern/flsl.c standard libkern/moddi3.c standard libkern/qdivrem.c standard libkern/ucmpdi2.c standard @@ -343,10 +343,10 @@ pc98/pc98/wd.c count wdc pc98/pc98/wd_cd.c count wcd wdc pccard/mecia.c optional mecia card -pci/agp_intel.c optional agp -pci/agp_via.c optional agp -pci/agp_sis.c optional agp pci/agp_ali.c optional agp pci/agp_amd.c optional agp pci/agp_i810.c optional agp +pci/agp_intel.c optional agp pci/agp_nvidia.c optional agp +pci/agp_sis.c optional agp +pci/agp_via.c optional agp ==== //depot/projects/smpng/sys/conf/files.sparc64#38 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.sparc64,v 1.52 2004/04/30 15:00:40 marius Exp $ +# $FreeBSD: src/sys/conf/files.sparc64,v 1.53 2004/05/08 13:53:46 marius Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -54,9 +54,9 @@ sparc64/isa/ofw_isa.c optional isa sparc64/pci/apb.c optional pci sparc64/pci/ofw_pci.c optional pci -sparc64/pci/ofw_pcib.c optional pci ofw_newpci -sparc64/pci/ofw_pcib_subr.c optional pci ofw_newpci -sparc64/pci/ofw_pcibus.c optional pci ofw_newpci +sparc64/pci/ofw_pcib.c optional pci +sparc64/pci/ofw_pcib_subr.c optional pci +sparc64/pci/ofw_pcibus.c optional pci sparc64/pci/ofw_pci_if.m optional pci sparc64/pci/psycho.c optional pci sparc64/sbus/sbus.c optional sbus ==== //depot/projects/smpng/sys/conf/kern.mk#12 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.41 2004/03/12 21:36:12 trhodes Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.42 2004/05/14 13:35:46 cognet Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -42,6 +42,9 @@ INLINE_LIMIT?= 15000 .endif +.if ${MACHINE_ARCH} == "arm" +INLINE_LIMIT?= 8000 +.endif # # For IA-64, we use r13 for the kernel globals pointer and we only use # a very small subset of float registers for integer divides. ==== //depot/projects/smpng/sys/conf/options#76 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.449 2004/05/03 22:35:27 ambrisko Exp $ +# $FreeBSD: src/sys/conf/options,v 1.450 2004/05/13 03:15:04 imp Exp $ # # On the handling of kernel options # @@ -533,6 +533,7 @@ # options for USB support USB_DEBUG opt_usb.h +USBVERBOSE opt_usb.h UKBD_DFLT_KEYMAP opt_ukbd.h UPLCOM_INTR_INTERVAL opt_uplcom.h UVSCOM_DEFAULT_OPKTSIZE opt_uvscom.h ==== //depot/projects/smpng/sys/conf/options.sparc64#10 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options.sparc64,v 1.9 2004/04/30 15:21:25 tmm Exp $ +# $FreeBSD: src/sys/conf/options.sparc64,v 1.10 2004/05/08 13:53:46 marius Exp $ SUN4U opt_global.h @@ -9,7 +9,6 @@ PSYCHO_DEBUG opt_psycho.h DEBUGGER_ON_POWERFAIL opt_psycho.h OFW_PCI_DEBUG opt_ofw_pci.h -OFW_NEWPCI opt_ofw_pci.h # Debug IOMMU inserts/removes using diagnostic accesses. Very loud. IOMMU_DIAG opt_iommu.h PMAP_STATS opt_pmap.h ==== //depot/projects/smpng/sys/contrib/ia64/libuwx/src/uwx.h#4 (text+ko) ==== @@ -22,6 +22,9 @@ OTHER DEALINGS IN THE SOFTWARE. */ +#ifndef __UWX_INCLUDED +#define __UWX_INCLUDED 1 + #ifndef _KERNEL #include #include @@ -30,22 +33,30 @@ #include #endif +#if defined(__cplusplus) +#define __EXTERN_C extern "C" +#else +#define __EXTERN_C extern +#endif + +#define UWX_VERSION 1 /* Version id for callback interfaces */ + /* Unwind environment structure (opaque) */ struct uwx_env; /* Allocate and free callbacks */ typedef void *(*alloc_cb)(size_t size); typedef void (*free_cb)(void *ptr); -extern int uwx_register_alloc_cb(alloc_cb alloc, free_cb free); +__EXTERN_C int uwx_register_alloc_cb(alloc_cb alloc, free_cb free); /* Allocate and initialize an unwind environment */ -extern struct uwx_env *uwx_init(void); +__EXTERN_C struct uwx_env *uwx_init(void); /* Free an unwind environment */ -extern int uwx_free(struct uwx_env *env); +__EXTERN_C int uwx_free(struct uwx_env *env); /* Put unwind express into cross-process mode */ -extern int uwx_set_remote(struct uwx_env *env, int is_big_endian_target); +__EXTERN_C int uwx_set_remote(struct uwx_env *env, int is_big_endian_target); /* Copy-in callback */ typedef int (*copyin_cb)( @@ -63,14 +74,14 @@ uint64_t **vecp); /* parameter vector (in/out) */ /* Register copy-in and lookup IP callbacks */ -extern int uwx_register_callbacks( +__EXTERN_C int uwx_register_callbacks( struct uwx_env *env, /* unwind environment */ intptr_t tok, /* callback token */ copyin_cb copyin, /* copy-in callback */ lookupip_cb lookupip); /* lookup IP callback */ /* Initialize a context with the basic info needed to start an unwind */ -extern int uwx_init_context( +__EXTERN_C int uwx_init_context( struct uwx_env *env, /* unwind environment */ uint64_t ip, /* IP (instruction pointer) */ uint64_t sp, /* SP (stack pointer) */ @@ -78,51 +89,51 @@ uint64_t cfm); /* CFM (current frame marker) */ /* Set the value of a specific register in the current context (non fp) */ -extern int uwx_set_reg( +__EXTERN_C int uwx_set_reg( struct uwx_env *env, /* unwind environment */ int regid, /* register id (see below) */ uint64_t val); /* register value */ /* Set the value of a floating-point register in the current context */ -extern int uwx_set_fr( +__EXTERN_C int uwx_set_fr( struct uwx_env *env, /* unwind environment */ int regid, /* register id (see below) */ uint64_t *val); /* register value (ptr to 16 bytes) */ /* (memory spill format) */ /* Initialize the unwind history */ -extern int uwx_init_history(struct uwx_env *env); +__EXTERN_C int uwx_init_history(struct uwx_env *env); /* Step one frame */ -extern int uwx_step(struct uwx_env *env); +__EXTERN_C int uwx_step(struct uwx_env *env); /* Get symbol information, if available, for current frame */ -extern int uwx_get_sym_info( +__EXTERN_C int uwx_get_sym_info( struct uwx_env *env, /* unwind environment */ char **modp, /* load module name (out) */ char **symp, /* function name (out) */ uint64_t *offsetp); /* offset from start of function (out) */ /* Get the value of a register from the current context */ -extern int uwx_get_reg( +__EXTERN_C int uwx_get_reg( struct uwx_env *env, /* unwind environment */ int regid, /* register id (see below) */ uint64_t *valp); /* register value (out) */ /* Get the NaT bit of a GR from the current context */ -extern int uwx_get_nat( +__EXTERN_C int uwx_get_nat( struct uwx_env *env, /* unwind environment */ int regid, /* register id (see below) */ int *natp); /* NaT value (out: 0 or 1) */ /* Get the spill location for a register in the current context */ -extern int uwx_get_spill_loc( +__EXTERN_C int uwx_get_spill_loc( struct uwx_env *env, /* unwind environment */ int regid, /* register id (see below) */ uint64_t *dispp); /* disposition code (see below) (out) */ /* Get the ABI context code (if uwx_step returned UWX_ABI_FRAME) */ -extern int uwx_get_abi_context_code(struct uwx_env *env); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 14 13:27:59 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6DD0516A4D0; Fri, 14 May 2004 13:27:59 -0700 (PDT) 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 3E09416A4CE for ; Fri, 14 May 2004 13:27:59 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id CAFC043D31 for ; Fri, 14 May 2004 13:27:53 -0700 (PDT) (envelope-from imp@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i4EKRrGe001427 for ; Fri, 14 May 2004 13:27:53 -0700 (PDT) (envelope-from imp@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i4EKRpFu001424 for perforce@freebsd.org; Fri, 14 May 2004 13:27:51 -0700 (PDT) (envelope-from imp@freebsd.org) Date: Fri, 14 May 2004 13:27:51 -0700 (PDT) Message-Id: <200405142027.i4EKRpFu001424@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to imp@freebsd.org using -f From: Warner Losh To: Perforce Change Reviews Subject: PERFORCE change 52814 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, 14 May 2004 20:28:00 -0000 http://perforce.freebsd.org/chv.cgi?CH=52814 Change 52814 by imp@imp_pacopaco on 2004/05/14 13:27:17 IFC @52800 power Affected files ... .. //depot/projects/power/sys/alpha/alpha/fp_emulate.c#2 integrate .. //depot/projects/power/sys/alpha/alpha/ieee_float.c#2 integrate .. //depot/projects/power/sys/alpha/include/fpu.h#2 integrate .. //depot/projects/power/sys/amd64/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/power/sys/amd64/include/acpica_machdep.h#4 integrate .. //depot/projects/power/sys/arm/arm/autoconf.c#1 branch .. //depot/projects/power/sys/arm/arm/bcopy_page.S#1 branch .. //depot/projects/power/sys/arm/arm/bcopyinout.S#1 branch .. //depot/projects/power/sys/arm/arm/bcopyinout_xscale.S#1 branch .. //depot/projects/power/sys/arm/arm/blockio.S#1 branch .. //depot/projects/power/sys/arm/arm/bootconfig.c#1 branch .. //depot/projects/power/sys/arm/arm/bus_space_asm_generic.S#1 branch .. //depot/projects/power/sys/arm/arm/busdma_machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/copystr.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc.c#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm10.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm3.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm67.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm7tdmi.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm8.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_arm9.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_armv4.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_ixp12x0.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_sa1.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_sa11x0.S#1 branch .. //depot/projects/power/sys/arm/arm/cpufunc_asm_xscale.S#1 branch .. //depot/projects/power/sys/arm/arm/critical.c#1 branch .. //depot/projects/power/sys/arm/arm/db_disasm.c#1 branch .. //depot/projects/power/sys/arm/arm/db_interface.c#1 branch .. //depot/projects/power/sys/arm/arm/db_trace.c#1 branch .. //depot/projects/power/sys/arm/arm/disassem.c#1 branch .. //depot/projects/power/sys/arm/arm/dump_machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/elf_machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/exception.S#1 branch .. //depot/projects/power/sys/arm/arm/fiq.c#1 branch .. //depot/projects/power/sys/arm/arm/fiq_subr.S#1 branch .. //depot/projects/power/sys/arm/arm/fusu.S#1 branch .. //depot/projects/power/sys/arm/arm/genassym.c#1 branch .. //depot/projects/power/sys/arm/arm/identcpu.c#1 branch .. //depot/projects/power/sys/arm/arm/in_cksum.c#1 branch .. //depot/projects/power/sys/arm/arm/in_cksum_arm.S#1 branch .. //depot/projects/power/sys/arm/arm/intr.c#1 branch .. //depot/projects/power/sys/arm/arm/irq_dispatch.S#1 branch .. //depot/projects/power/sys/arm/arm/locore.S#1 branch .. //depot/projects/power/sys/arm/arm/machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/nexus.c#1 branch .. //depot/projects/power/sys/arm/arm/nexus_io.c#1 branch .. //depot/projects/power/sys/arm/arm/nexus_io_asm.S#1 branch .. //depot/projects/power/sys/arm/arm/pmap.c#1 branch .. //depot/projects/power/sys/arm/arm/setcpsr.S#1 branch .. //depot/projects/power/sys/arm/arm/setstack.s#1 branch .. //depot/projects/power/sys/arm/arm/support.S#1 branch .. //depot/projects/power/sys/arm/arm/swtch.S#1 branch .. //depot/projects/power/sys/arm/arm/sys_machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/trap.c#1 branch .. //depot/projects/power/sys/arm/arm/uio_machdep.c#1 branch .. //depot/projects/power/sys/arm/arm/undefined.c#1 branch .. //depot/projects/power/sys/arm/arm/vectors.S#1 branch .. //depot/projects/power/sys/arm/arm/vm_machdep.c#1 branch .. //depot/projects/power/sys/arm/conf/SIMICS#1 branch .. //depot/projects/power/sys/arm/include/_inttypes.h#1 branch .. //depot/projects/power/sys/arm/include/_types.h#3 integrate .. //depot/projects/power/sys/arm/include/armreg.h#1 branch .. //depot/projects/power/sys/arm/include/asm.h#1 branch .. //depot/projects/power/sys/arm/include/asmacros.h#1 branch .. //depot/projects/power/sys/arm/include/atomic.h#1 branch .. //depot/projects/power/sys/arm/include/blockio.h#1 branch .. //depot/projects/power/sys/arm/include/bootconfig.h#1 branch .. //depot/projects/power/sys/arm/include/bus.h#1 branch .. //depot/projects/power/sys/arm/include/clock.h#1 branch .. //depot/projects/power/sys/arm/include/cpu.h#1 branch .. //depot/projects/power/sys/arm/include/cpuconf.h#1 branch .. //depot/projects/power/sys/arm/include/cpufunc.h#1 branch .. //depot/projects/power/sys/arm/include/critical.h#1 branch .. //depot/projects/power/sys/arm/include/db_machdep.h#1 branch .. //depot/projects/power/sys/arm/include/disassem.h#1 branch .. //depot/projects/power/sys/arm/include/elf.h#3 integrate .. //depot/projects/power/sys/arm/include/endian.h#2 integrate .. //depot/projects/power/sys/arm/include/fiq.h#1 branch .. //depot/projects/power/sys/arm/include/float.h#1 branch .. //depot/projects/power/sys/arm/include/floatingpoint.h#1 branch .. //depot/projects/power/sys/arm/include/fp.h#1 branch .. //depot/projects/power/sys/arm/include/frame.h#1 branch .. //depot/projects/power/sys/arm/include/ieee.h#1 branch .. //depot/projects/power/sys/arm/include/ieeefp.h#1 branch .. //depot/projects/power/sys/arm/include/in_cksum.h#1 branch .. //depot/projects/power/sys/arm/include/intr.h#1 branch .. //depot/projects/power/sys/arm/include/katelib.h#1 branch .. //depot/projects/power/sys/arm/include/machdep.h#1 branch .. //depot/projects/power/sys/arm/include/md_var.h#1 branch .. //depot/projects/power/sys/arm/include/metadata.h#1 branch .. //depot/projects/power/sys/arm/include/mutex.h#1 branch .. //depot/projects/power/sys/arm/include/param.h#2 integrate .. //depot/projects/power/sys/arm/include/pcb.h#1 branch .. //depot/projects/power/sys/arm/include/pcpu.h#1 branch .. //depot/projects/power/sys/arm/include/pmap.h#1 branch .. //depot/projects/power/sys/arm/include/proc.h#1 branch .. //depot/projects/power/sys/arm/include/profile.h#1 branch .. //depot/projects/power/sys/arm/include/psl.h#1 branch .. //depot/projects/power/sys/arm/include/pte.h#1 branch .. //depot/projects/power/sys/arm/include/ptrace.h#1 branch .. //depot/projects/power/sys/arm/include/reg.h#1 branch .. //depot/projects/power/sys/arm/include/reloc.h#1 branch .. //depot/projects/power/sys/arm/include/resource.h#1 branch .. //depot/projects/power/sys/arm/include/runq.h#1 branch .. //depot/projects/power/sys/arm/include/setjmp.h#1 branch .. //depot/projects/power/sys/arm/include/sf_buf.h#1 branch .. //depot/projects/power/sys/arm/include/sigframe.h#1 branch .. //depot/projects/power/sys/arm/include/signal.h#3 integrate .. //depot/projects/power/sys/arm/include/smp.h#1 branch .. //depot/projects/power/sys/arm/include/stdarg.h#1 branch .. //depot/projects/power/sys/arm/include/swi.h#1 branch .. //depot/projects/power/sys/arm/include/trap.h#1 branch .. //depot/projects/power/sys/arm/include/ucontext.h#2 integrate .. //depot/projects/power/sys/arm/include/undefined.h#1 branch .. //depot/projects/power/sys/arm/include/utrap.h#1 branch .. //depot/projects/power/sys/arm/include/vmparam.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/assabet_machdep.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/files.sa11x0#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_dmacreg.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_gpioreg.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_io.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_io_asm.S#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_irq.S#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_irqhandler.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_ost.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_ostreg.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_ppcreg.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_reg.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/sa11x0_var.h#1 branch .. //depot/projects/power/sys/arm/sa11x0/std.sa11x0#1 branch .. //depot/projects/power/sys/arm/sa11x0/uart_bus_sa1110.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/uart_cpu_sa1110.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/uart_dev_sa1110.c#1 branch .. //depot/projects/power/sys/arm/sa11x0/uart_dev_sa1110.h#1 branch .. //depot/projects/power/sys/boot/Makefile#4 integrate .. //depot/projects/power/sys/boot/i386/libi386/biosacpi.c#2 integrate .. //depot/projects/power/sys/conf/Makefile.alpha#4 integrate .. //depot/projects/power/sys/conf/Makefile.amd64#3 integrate .. //depot/projects/power/sys/conf/Makefile.arm#1 branch .. //depot/projects/power/sys/conf/Makefile.i386#2 integrate .. //depot/projects/power/sys/conf/Makefile.ia64#2 integrate .. //depot/projects/power/sys/conf/Makefile.pc98#2 integrate .. //depot/projects/power/sys/conf/Makefile.powerpc#3 integrate .. //depot/projects/power/sys/conf/Makefile.sparc64#2 integrate .. //depot/projects/power/sys/conf/NOTES#17 integrate .. //depot/projects/power/sys/conf/files#14 integrate .. //depot/projects/power/sys/conf/files.arm#1 branch .. //depot/projects/power/sys/conf/files.i386#11 integrate .. //depot/projects/power/sys/conf/files.ia64#6 integrate .. //depot/projects/power/sys/conf/files.pc98#6 integrate .. //depot/projects/power/sys/conf/files.sparc64#5 integrate .. //depot/projects/power/sys/conf/kern.mk#5 integrate .. //depot/projects/power/sys/conf/ldscript.arm#1 branch .. //depot/projects/power/sys/conf/majors#10 integrate .. //depot/projects/power/sys/conf/options#17 integrate .. //depot/projects/power/sys/conf/options.arm#1 branch .. //depot/projects/power/sys/conf/options.sparc64#3 integrate .. //depot/projects/power/sys/contrib/dev/acpica/acfreebsd.h#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src.diff#1 branch .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx.h#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_context.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_env.c#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_env.h#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_scoreboard.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_self-new.c#1 branch .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_self.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_self.h#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_self_context.s#2 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_step.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_step.h#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_str.c#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_ttrace.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_ttrace.h#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_uinfo.c#4 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_utable.c#3 integrate .. //depot/projects/power/sys/contrib/ia64/libuwx/src/uwx_utable.h#3 integrate .. //depot/projects/power/sys/dev/aac/aac_pci.c#4 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdSchedule.c#4 integrate .. //depot/projects/power/sys/dev/acpica/Osd/OsdSynch.c#4 integrate .. //depot/projects/power/sys/dev/acpica/acpi.c#22 integrate .. //depot/projects/power/sys/dev/acpica/acpi_acad.c#7 integrate .. //depot/projects/power/sys/dev/acpica/acpi_cpu.c#8 integrate .. //depot/projects/power/sys/dev/acpica/acpi_ec.c#7 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pci.c#15 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pcib.c#7 integrate .. //depot/projects/power/sys/dev/acpica/acpi_pcib_pci.c#3 integrate .. //depot/projects/power/sys/dev/acpica/acpi_thermal.c#9 integrate .. //depot/projects/power/sys/dev/acpica/acpivar.h#14 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.c#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.h#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.reg#3 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx.seq#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx_inline.h#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic79xx_pci.c#5 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic7xxx.c#4 integrate .. //depot/projects/power/sys/dev/aic7xxx/aic_osm_lib.h#2 integrate .. //depot/projects/power/sys/dev/an/if_an_pccard.c#4 integrate .. //depot/projects/power/sys/dev/asr/asr.c#6 integrate .. //depot/projects/power/sys/dev/ata/ata-chipset.c#12 integrate .. //depot/projects/power/sys/dev/ata/ata-pci.c#12 integrate .. //depot/projects/power/sys/dev/awi/if_awi_pccard.c#4 integrate .. //depot/projects/power/sys/dev/cp/cpddk.c#1 branch .. //depot/projects/power/sys/dev/cp/cpddk.h#1 branch .. //depot/projects/power/sys/dev/cp/if_cp.c#1 branch .. //depot/projects/power/sys/dev/cp/ng_cp.h#1 branch .. //depot/projects/power/sys/dev/cs/if_cs_pccard.c#3 integrate .. //depot/projects/power/sys/dev/ctau/if_ct.c#2 integrate .. //depot/projects/power/sys/dev/cx/if_cx.c#3 integrate .. //depot/projects/power/sys/dev/ed/if_ed_pccard.c#5 integrate .. //depot/projects/power/sys/dev/hme/if_hme.c#4 integrate .. //depot/projects/power/sys/dev/ichwd/ichwd.c#1 branch .. //depot/projects/power/sys/dev/ichwd/ichwd.h#1 branch .. //depot/projects/power/sys/dev/if_ndis/if_ndis.c#11 integrate .. //depot/projects/power/sys/dev/iicbus/iicbus.c#2 integrate .. //depot/projects/power/sys/dev/led/led.h#2 integrate .. //depot/projects/power/sys/dev/pccard/files.pccard#2 delete .. //depot/projects/power/sys/dev/pccard/pccarddevs#8 integrate .. //depot/projects/power/sys/dev/pccard/pccarddevs.h#8 integrate .. //depot/projects/power/sys/dev/pccbb/pccbb.c#12 integrate .. //depot/projects/power/sys/dev/sio/sio.c#10 integrate .. //depot/projects/power/sys/dev/sn/if_sn_pccard.c#3 integrate .. //depot/projects/power/sys/dev/snc/if_snc_pccard.c#2 integrate .. //depot/projects/power/sys/dev/sound/isa/sb.h#2 integrate .. //depot/projects/power/sys/dev/sound/isa/sb16.c#4 integrate .. //depot/projects/power/sys/dev/sound/isa/sbc.c#4 integrate .. //depot/projects/power/sys/dev/sound/pcm/ac97.c#5 integrate .. //depot/projects/power/sys/dev/twe/twe.c#4 integrate .. //depot/projects/power/sys/dev/twe/twereg.h#4 integrate .. //depot/projects/power/sys/dev/twe/twevar.h#4 integrate .. //depot/projects/power/sys/dev/uart/uart_core.c#4 integrate .. //depot/projects/power/sys/dev/uart/uart_dev_z8530.c#3 integrate .. //depot/projects/power/sys/dev/usb/if_axe.c#6 integrate .. //depot/projects/power/sys/dev/usb/ohcireg.h#2 integrate .. //depot/projects/power/sys/dev/usb/umodem.c#2 integrate .. //depot/projects/power/sys/dev/usb/usbdevs#12 integrate .. //depot/projects/power/sys/dev/usb/usbdevs.h#12 integrate .. //depot/projects/power/sys/dev/usb/usbdevs_data.h#12 integrate .. //depot/projects/power/sys/dev/usb/uvisor.c#5 integrate .. //depot/projects/power/sys/dev/wi/if_wi_pccard.c#5 integrate .. //depot/projects/power/sys/dev/wl/if_wl.c#5 integrate .. //depot/projects/power/sys/fs/nwfs/nwfs_io.c#4 integrate .. //depot/projects/power/sys/fs/smbfs/smbfs_io.c#4 integrate .. //depot/projects/power/sys/fs/specfs/spec_vnops.c#7 integrate .. //depot/projects/power/sys/geom/concat/g_concat.c#3 integrate .. //depot/projects/power/sys/geom/gate/g_gate.c#2 integrate .. //depot/projects/power/sys/geom/gate/g_gate.h#2 integrate .. //depot/projects/power/sys/geom/geom_disk.c#5 integrate .. //depot/projects/power/sys/i386/acpica/OsdEnvironment.c#2 integrate .. //depot/projects/power/sys/i386/acpica/acpi_machdep.c#6 integrate .. //depot/projects/power/sys/i386/acpica/acpi_wakeup.c#5 integrate .. //depot/projects/power/sys/i386/acpica/madt.c#5 integrate .. //depot/projects/power/sys/i386/conf/PAE#3 integrate .. //depot/projects/power/sys/i386/i386/intr_machdep.c#2 integrate .. //depot/projects/power/sys/i386/i386/io_apic.c#2 integrate .. //depot/projects/power/sys/i386/i386/legacy.c#2 integrate .. //depot/projects/power/sys/i386/i386/local_apic.c#4 integrate .. //depot/projects/power/sys/i386/i386/machdep.c#8 integrate .. //depot/projects/power/sys/i386/i386/mptable.c#3 integrate .. //depot/projects/power/sys/i386/i386/mptable_pci.c#2 integrate .. //depot/projects/power/sys/i386/i386/nexus.c#3 integrate .. //depot/projects/power/sys/i386/include/acpica_machdep.h#2 integrate .. //depot/projects/power/sys/i386/include/apicvar.h#2 integrate .. //depot/projects/power/sys/i386/include/bus_pc98.h#3 integrate .. //depot/projects/power/sys/i386/include/intr_machdep.h#2 integrate .. //depot/projects/power/sys/i386/include/legacyvar.h#2 integrate .. //depot/projects/power/sys/i386/include/pci_cfgreg.h#4 integrate .. //depot/projects/power/sys/i386/isa/atpic.c#5 integrate .. //depot/projects/power/sys/i386/isa/atpic_vector.s#5 integrate .. //depot/projects/power/sys/i386/isa/clock.c#6 integrate .. //depot/projects/power/sys/i386/isa/elcr.c#1 branch .. //depot/projects/power/sys/i386/isa/icu.h#5 integrate .. //depot/projects/power/sys/i386/isa/npx.c#5 integrate .. //depot/projects/power/sys/i386/pci/pci_bus.c#4 integrate .. //depot/projects/power/sys/i386/pci/pci_pir.c#3 integrate .. //depot/projects/power/sys/ia64/acpica/OsdEnvironment.c#3 integrate .. //depot/projects/power/sys/ia64/ia64/interrupt.c#4 integrate .. //depot/projects/power/sys/ia64/ia64/trap.c#8 integrate .. //depot/projects/power/sys/ia64/include/acpica_machdep.h#2 integrate .. //depot/projects/power/sys/kern/kern_exit.c#5 integrate .. //depot/projects/power/sys/kern/kern_mac.c#5 integrate .. //depot/projects/power/sys/kern/kern_resource.c#6 integrate .. //depot/projects/power/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/power/sys/kern/subr_smp.c#7 integrate .. //depot/projects/power/sys/kern/tty_compat.c#3 integrate .. //depot/projects/power/sys/kern/uipc_mbuf2.c#5 integrate .. //depot/projects/power/sys/kern/uipc_syscalls.c#10 integrate .. //depot/projects/power/sys/kern/vfs_bio.c#7 integrate .. //depot/projects/power/sys/kern/vfs_syscalls.c#10 integrate .. //depot/projects/power/sys/libkern/arm/bzero.S#1 branch .. //depot/projects/power/sys/libkern/arm/divsi3.S#1 branch .. //depot/projects/power/sys/libkern/arm/ffs.S#1 branch .. //depot/projects/power/sys/libkern/arm/memcmp.S#1 branch .. //depot/projects/power/sys/libkern/arm/memcpy.S#1 branch .. //depot/projects/power/sys/libkern/arm/memcpy_arm.S#1 branch .. //depot/projects/power/sys/libkern/arm/memcpy_xscale.S#1 branch .. //depot/projects/power/sys/libkern/arm/memset.S#1 branch .. //depot/projects/power/sys/libkern/arm/muldi3.c#1 branch .. //depot/projects/power/sys/libkern/arm/strcmp.S#1 branch .. //depot/projects/power/sys/libkern/arm/strncmp.S#1 branch .. //depot/projects/power/sys/libkern/quad.h#4 integrate .. //depot/projects/power/sys/modules/Makefile#10 integrate .. //depot/projects/power/sys/modules/cp/Makefile#1 branch .. //depot/projects/power/sys/modules/geom/Makefile#3 integrate .. //depot/projects/power/sys/modules/ichwd/Makefile#1 branch .. //depot/projects/power/sys/net/if_vlan.c#7 integrate .. //depot/projects/power/sys/net/rtsock.c#9 integrate .. //depot/projects/power/sys/net80211/ieee80211.c#5 integrate .. //depot/projects/power/sys/netatalk/ddp_usrreq.c#4 integrate .. //depot/projects/power/sys/netgraph/bluetooth/include/ng_bt3c.h#2 integrate .. //depot/projects/power/sys/netgraph/bluetooth/include/ng_btsocket.h#4 integrate .. //depot/projects/power/sys/netgraph/bluetooth/include/ng_h4.h#3 integrate .. //depot/projects/power/sys/netinet/ip_fastfwd.c#5 integrate .. //depot/projects/power/sys/netinet/ip_icmp.c#9 integrate .. //depot/projects/power/sys/netinet/ip_input.c#9 integrate .. //depot/projects/power/sys/netinet/ip_output.c#9 integrate .. //depot/projects/power/sys/netinet/ip_var.h#7 integrate .. //depot/projects/power/sys/netinet/raw_ip.c#8 integrate .. //depot/projects/power/sys/netinet/tcp_output.c#5 integrate .. //depot/projects/power/sys/netinet/tcp_subr.c#13 integrate .. //depot/projects/power/sys/netinet/tcp_syncache.c#5 integrate .. //depot/projects/power/sys/netinet/udp_usrreq.c#7 integrate .. //depot/projects/power/sys/netinet6/ip6_output.c#9 integrate .. //depot/projects/power/sys/nfsclient/nfs_bio.c#8 integrate .. //depot/projects/power/sys/pc98/conf/NOTES#9 integrate .. //depot/projects/power/sys/pc98/pc98/sio.c#8 integrate .. //depot/projects/power/sys/pci/agp_via.c#4 integrate .. //depot/projects/power/sys/pci/agpreg.h#4 integrate .. //depot/projects/power/sys/security/mac/mac_net.c#6 integrate .. //depot/projects/power/sys/security/mac_test/mac_test.c#5 integrate .. //depot/projects/power/sys/sparc64/conf/GENERIC#5 integrate .. //depot/projects/power/sys/sparc64/conf/NOTES#3 integrate .. //depot/projects/power/sys/sparc64/ebus/ebus.c#4 integrate .. //depot/projects/power/sys/sparc64/include/ofw_bus.h#2 integrate .. //depot/projects/power/sys/sparc64/include/pmap.h#6 integrate .. //depot/projects/power/sys/sparc64/isa/isa.c#3 integrate .. //depot/projects/power/sys/sparc64/isa/ofw_isa.c#3 integrate .. //depot/projects/power/sys/sparc64/isa/ofw_isa.h#3 integrate .. //depot/projects/power/sys/sparc64/pci/apb.c#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pci.c#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pci.h#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pci_if.m#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pcib.c#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pcib_subr.c#2 integrate .. //depot/projects/power/sys/sparc64/pci/ofw_pcib_subr.h#2 integrate .. //depot/projects/power/sys/sparc64/pci/psycho.c#4 integrate .. //depot/projects/power/sys/sparc64/pci/psychovar.h#3 integrate .. //depot/projects/power/sys/sparc64/sparc64/counter.c#2 integrate .. //depot/projects/power/sys/sparc64/sparc64/nexus.c#3 integrate .. //depot/projects/power/sys/sparc64/sparc64/ofw_bus.c#2 integrate .. //depot/projects/power/sys/sparc64/sparc64/ofw_machdep.c#6 integrate .. //depot/projects/power/sys/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/power/sys/sys/_label.h#3 integrate .. //depot/projects/power/sys/sys/acl.h#2 integrate .. //depot/projects/power/sys/sys/condvar.h#5 integrate .. //depot/projects/power/sys/sys/elf_common.h#2 integrate .. //depot/projects/power/sys/sys/imgact_aout.h#3 integrate .. //depot/projects/power/sys/sys/mac.h#6 integrate .. //depot/projects/power/sys/sys/mac_policy.h#5 integrate .. //depot/projects/power/sys/sys/regression.h#2 integrate .. //depot/projects/power/sys/sys/socket.h#6 integrate .. //depot/projects/power/sys/sys/ttycom.h#4 integrate .. //depot/projects/power/sys/sys/user.h#4 integrate .. //depot/projects/power/sys/vm/swap_pager.c#8 integrate .. //depot/projects/power/sys/vm/vm_fault.c#6 integrate .. //depot/projects/power/sys/vm/vm_glue.c#6 integrate .. //depot/projects/power/sys/vm/vm_map.c#8 integrate .. //depot/projects/power/sys/vm/vm_mmap.c#8 integrate .. //depot/projects/power/sys/vm/vm_page.c#10 integrate .. //depot/projects/power/sys/vm/vm_pageout.c#5 integrate .. //depot/projects/power/sys/vm/vnode_pager.c#8 integrate Differences ... ==== //depot/projects/power/sys/alpha/alpha/fp_emulate.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/fp_emulate.c,v 1.13 2003/08/17 06:42:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/fp_emulate.c,v 1.14 2004/05/06 09:35:57 das Exp $"); #include #include @@ -296,7 +296,7 @@ td->td_pcb->pcb_fp_control = control; /* Regenerate the control register */ - fpcr = fpregs->fpr_cr & FPCR_DYN_MASK; + fpcr = fpregs->fpr_cr & (FPCR_DYN_MASK | FPCR_STATUS_MASK); fpcr |= ((control & IEEE_STATUS_MASK) << IEEE_STATUS_TO_FPCR_SHIFT); if (!(control & IEEE_TRAP_ENABLE_INV)) ==== //depot/projects/power/sys/alpha/alpha/ieee_float.c#2 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/ieee_float.c,v 1.9 2003/08/22 07:20:25 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/ieee_float.c,v 1.10 2004/05/06 09:36:11 das Exp $"); #include #ifdef TEST @@ -312,6 +312,9 @@ break; } + if (frac == 0) + *status |= FPCR_UNF; + /* * Rounding up may take us to TWO if * fraclo == (TWO - epsilon). Also If fraclo has been ==== //depot/projects/power/sys/alpha/include/fpu.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/alpha/include/fpu.h,v 1.6 2002/11/16 06:35:51 deischen Exp $ + * $FreeBSD: src/sys/alpha/include/fpu.h,v 1.7 2004/05/06 09:35:57 das Exp $ */ #ifndef _MACHINE_FPU_H_ @@ -56,6 +56,8 @@ #define FPCR_INED (1LL << 62) /* Inexact Disable */ #define FPCR_SUM (1LL << 63) /* Summary Bit */ #define FPCR_MASK (~0LL << 49) +#define FPCR_STATUS_MASK (FPCR_INV | FPCR_DZE | FPCR_OVF | \ + FPCR_UNF | FPCR_INE | FPCR_IOV) /* * Exception summary bits. ==== //depot/projects/power/sys/amd64/acpica/OsdEnvironment.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.11 2003/08/28 16:30:31 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/acpica/OsdEnvironment.c,v 1.12 2004/05/06 02:18:57 njl Exp $"); /* * 6.1 : Environmental support @@ -37,7 +37,7 @@ #include "acpi.h" -u_long amd64_acpi_root; +static u_long amd64_acpi_root; SYSCTL_ULONG(_machdep, OID_AUTO, acpi_root, CTLFLAG_RD, &amd64_acpi_root, 0, "The physical address of the RSDP"); ==== //depot/projects/power/sys/amd64/include/acpica_machdep.h#4 (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/acpica_machdep.h,v 1.4 2003/11/21 03:02:00 peter Exp $ + * $FreeBSD: src/sys/amd64/include/acpica_machdep.h,v 1.5 2004/05/05 20:04:14 njl Exp $ */ /****************************************************************************** @@ -59,44 +59,14 @@ #define ACPI_FLUSH_CPU_CACHE() wbinvd() -#define asm __asm -/*! [Begin] no source code translation - * - * A brief explanation as GNU inline assembly is a bit hairy - * %0 is the output parameter in EAX ("=a") - * %1 and %2 are the input parameters in ECX ("c") - * and an immediate value ("i") respectively - * All actual register references are preceded with "%%" as in "%%edx" - * Immediate values in the assembly are preceded by "$" as in "$0x1" - * The final asm parameter are the operation altered non-output registers. - */ +/* Section 5.2.9.1: global lock acquire/release functions */ +extern int acpi_acquire_global_lock(uint32_t *lock); +extern int acpi_release_global_lock(uint32_t *lock); #define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) \ - do { \ - asm("1: movl %1,%%eax;" \ - "movl %%eax,%%edx;" \ - "andl %2,%%edx;" \ - "btsl $0x1,%%edx;" \ - "adcl $0x0,%%edx;" \ - "lock; cmpxchgl %%edx,%1;" \ - "jnz 1b;" \ - "cmpb $0x3,%%dl;" \ - "sbbl %%eax,%%eax" \ - : "=a" (Acq), "+m" (GLptr) : "i" (~1L) : "edx"); \ - } while(0) - + ((Acq) = acpi_acquire_global_lock(GLptr)) #define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) \ - do { \ - asm("1: movl %1,%%eax;" \ - "movl %%eax,%%edx;" \ - "andl %2,%%edx;" \ - "lock; cmpxchgl %%edx,%1;" \ - "jnz 1b;" \ - "andl $0x1,%%eax" \ - : "=a" (Acq), "+m" (GLptr) : "i" (~3L) : "edx"); \ - } while(0) - - -/*! [End] no source code translation !*/ + ((Acq) = acpi_release_global_lock(GLptr)) + #endif /* _KERNEL */ #define ACPI_MACHINE_WIDTH 64 ==== //depot/projects/power/sys/arm/include/_types.h#3 (text+ko) ==== @@ -33,7 +33,7 @@ * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 - * $FreeBSD: src/sys/arm/include/_types.h,v 1.4 2004/03/20 20:41:39 marcel Exp $ + * $FreeBSD: src/sys/arm/include/_types.h,v 1.5 2004/05/04 22:16:29 cognet Exp $ */ #ifndef _MACHINE__TYPES_H_ @@ -65,6 +65,8 @@ typedef __uint32_t __clock_t; /* clock()... */ typedef unsigned int __cpumask_t; typedef __int32_t __critical_t; +typedef double __double_t; +typedef double __float_t; typedef __int32_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int32_t __intptr_t; ==== //depot/projects/power/sys/arm/include/elf.h#3 (text+ko) ==== @@ -24,7 +24,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/arm/include/elf.h,v 1.4 2003/09/25 01:10:23 peter Exp $ + * $FreeBSD: src/sys/arm/include/elf.h,v 1.5 2004/05/04 22:21:36 cognet Exp $ */ #ifndef _MACHINE_ELF_H_ @@ -40,6 +40,17 @@ #define __ELF_WORD_SIZE 32 /* Used by */ #include +typedef struct { /* Auxiliary vector entry on initial stack */ + int a_type; /* Entry type. */ + union { + long a_val; /* Integer value. */ + void *a_ptr; /* Address. */ + void (*a_fcn)(void); /* Function pointer (not used). */ + } a_un; +} Elf32_Auxinfo; + +__ElfType(Auxinfo); + #define ELF_ARCH EM_ARM #define ELF_MACHINE_OK(x) ((x) == EM_ARM) @@ -48,6 +59,29 @@ * Relocation types. */ +/* Values for a_type. */ +#define AT_NULL 0 /* Terminates the vector. */ +#define AT_IGNORE 1 /* Ignored entry. */ +#define AT_EXECFD 2 /* File descriptor of program to load. */ +#define AT_PHDR 3 /* Program header of program already loaded. */ +#define AT_PHENT 4 /* Size of each program header entry. */ +#define AT_PHNUM 5 /* Number of program header entries. */ +#define AT_PAGESZ 6 /* Page size in bytes. */ +#define AT_BASE 7 /* Interpreter's base address. */ +#define AT_FLAGS 8 /* Flags (unused). */ +#define AT_ENTRY 9 /* Where interpreter should transfer control. */ + +#define AT_BRK 10 /* Starting point for sbrk and brk. */ +#define AT_DEBUG 11 /* Debugging level. */ + +#define AT_NOTELF 10 /* Program is not ELF ?? */ +#define AT_UID 11 /* Real uid. */ +#define AT_EUID 12 /* Effective uid. */ +#define AT_GID 13 /* Real gid. */ +#define AT_EGID 14 /* Effective gid. */ + +#define AT_COUNT 15 /* Count of defined aux entry types. */ + #define R_ARM_NONE 0 /* No relocation. */ #define R_ARM_PC24 1 #define R_ARM_ABS32 2 @@ -69,7 +103,7 @@ #define R_ARM_GLOB_DAT 21 /* Set GOT entry to data address. */ #define R_ARM_JUMP_SLOT 22 /* Set GOT entry to code address. */ #define R_ARM_RELATIVE 23 /* Add load address of shared object. */ -#define R_ARM_GOTOFF 24 /* Add GOT-relative symbol address. * +#define R_ARM_GOTOFF 24 /* Add GOT-relative symbol address. */ #define R_ARM_GOTPC 25 /* Add PC-relative GOT table address. */ #define R_ARM_GOT32 26 /* Add PC-relative GOT offset. */ #define R_ARM_PLT32 27 /* Add PC-relative PLT offset. */ ==== //depot/projects/power/sys/arm/include/endian.h#2 (text+ko) ==== @@ -27,12 +27,71 @@ * * @(#)endian.h 8.1 (Berkeley) 6/10/93 * $NetBSD: endian.h,v 1.7 1999/08/21 05:53:51 simonb Exp $ - * $FreeBSD: src/sys/arm/include/endian.h,v 1.2 2003/08/03 07:50:19 obrien Exp $ + * $FreeBSD: src/sys/arm/include/endian.h,v 1.3 2004/05/04 22:24:56 cognet Exp $ */ #ifndef _ENDIAN_H_ #define _ENDIAN_H_ -#define BYTE_ORDER _LITTLE_ENDIAN +#include + +/* + * Definitions for byte order, according to byte significance from low + * address to high. + */ +#define _LITTLE_ENDIAN 1234 /* LSB first: i386, vax */ +#define _BIG_ENDIAN 4321 /* MSB first: 68000, ibm, net */ +#define _PDP_ENDIAN 3412 /* LSB first in word, MSW first in long */ + +#define _BYTE_ORDER _LITTLE_ENDIAN + +#if __BSD_VISIBLE +#define LITTLE_ENDIAN _LITTLE_ENDIAN +#define BIG_ENDIAN _BIG_ENDIAN +#define PDP_ENDIAN _PDP_ENDIAN +#define BYTE_ORDER _BYTE_ORDER +#endif + +#define _QUAD_HIGHWORD 1 +#define _QUAD_LOWWORD 0 +#define __ntohl(x) (__bswap32(x)) +#define __ntohs(x) (__bswap16(x)) +#define __htonl(x) (__bswap16(x)) +#define __htons(x) (__bswap32(x)) + +static __inline __uint64_t +__bswap64(__uint64_t _x) +{ + + return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) | + ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) | + ((_x << 24) & ((__uint64_t)0xff << 40)) | + ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56))); +} + +static __inline __uint32_t +__bswap32(__uint32_t v) +{ + __uint32_t t1; + + t1 = v ^ ((v << 16) | (v >> 16)); + t1 &= 0xff00ffffU; + v = (v >> 8) | (v << 24); + v ^= (t1 >> 8); + + return (v); + } +static __inline __uint16_t +__bswap16(__uint32_t v) +{ + __asm __volatile( + "mov %0, %1, ror #8\n" + "orr %0, %0, %0, lsr #16\n" + "bic %0, %0, %0, lsl #16" + : "=r" (v) + : "0" (v)); + + return (v); +} #endif /* !_ENDIAN_H_ */ ==== //depot/projects/power/sys/arm/include/param.h#2 (text+ko) ==== @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)param.h 5.8 (Berkeley) 6/28/91 - * $FreeBSD: src/sys/arm/include/param.h,v 1.4 2002/09/17 01:48:54 peter Exp $ + * $FreeBSD: src/sys/arm/include/param.h,v 1.5 2004/05/14 11:46:44 cognet Exp $ */ /* @@ -55,10 +55,10 @@ #endif #ifndef _MACHINE -#define _MACHIN "arm32" +#define _MACHINE "arm" #endif #ifndef _MACHINE_ARCH -#define _MACHINE_ARCH "arm32" +#define _MACHINE_ARCH "arm" #endif #ifndef _NO_NAMESPACE_POLLUTION @@ -67,14 +67,12 @@ #define _MACHINE_PARAM_H_ #ifndef MACHINE -#define MACHINE "arm32" +#define MACHINE "arm" #endif #ifndef MACHINE_ARCH -#define MACHINE_ARCH "arm32" +#define MACHINE_ARCH "arm" #endif -#define MID_MACHINE MID_ARM32 - -#include +#define MID_MACHINE MID_ARM6 #ifdef SMP #define MAXCPU 2 @@ -90,12 +88,34 @@ #define PAGE_MASK (PAGE_SIZE - 1) #define NPTEPG (PAGE_SIZE/(sizeof (pt_entry_t))) -#define KERNBASE 0x100000 /* start of kernel virtual */ -#define BTOPKERNBASE ((u_long)KERNBASE >> PGSHIFT) +#define PDR_SHIFT 20 /* log2(NBPDR) */ +#define NBPDR (1 << PDR_SHIFT) +#define NPDEPG (1 << (32 - PDR_SHIFT)) + +#ifndef KSTACK_PAGES +#define KSTACK_PAGES 4 +#endif /* !KSTACK_PAGES */ + +#ifndef UAREA_PAGES +#define UAREA_PAGES 2 +#endif /* !UAREA_PAGES */ + +#ifndef USPACE +#define USPACE (UAREA_PAGES * PAGE_SIZE) /* total size of u-area */ +#endif + +#ifndef FPCONTEXTSIZE +#define FPCONTEXTSIZE (0x100) +#endif -#define UPAGES 2 /* pages of u-area */ -#define USPACE (UPAGES * PAGE_SIZE) /* total size of u-area */ +#ifndef KSTACK_GUARD_PAGES +#define KSTACK_GUARD_PAGES 1 +#endif /* !KSTACK_GUARD_PAGES */ +#define USPACE_SVC_STACK_TOP (USPACE) +#define USPACE_SVC_STACK_BOTTOM (USPACE_SVC_STACK_TOP - 0x1000) +#define USPACE_UNDEF_STACK_TOP (USPACE_SVC_STACK_BOTTOM - 0x10) +#define USPACE_UNDEF_STACK_BOTTOM (FPCONTEXTSIZE + 10) /* * Mach derived conversion macros */ ==== //depot/projects/power/sys/arm/include/signal.h#3 (text+ko) ==== @@ -29,7 +29,7 @@ * @(#)signal.h 8.1 (Berkeley) 6/11/93 * from: FreeBSD: src/sys/i386/include/signal.h,v 1.13 2000/11/09 * from: FreeBSD: src/sys/sparc64/include/signal.h,v 1.6 2001/09/30 18:52:17 - * $FreeBSD: src/sys/arm/include/signal.h,v 1.3 2004/04/05 21:29:41 imp Exp $ + * $FreeBSD: src/sys/arm/include/signal.h,v 1.4 2004/05/04 22:38:22 cognet Exp $ */ #ifndef _MACHINE_SIGNAL_H_ @@ -44,7 +44,6 @@ #endif #if __BSD_VISIBLE -typedef int osigset_t; struct osigcontext { }; ==== //depot/projects/power/sys/arm/include/ucontext.h#2 (text+ko) ==== @@ -1,10 +1,11 @@ -/* - * Copyright (c) 2001 David O'Brien. - * Copyright (c) 1994-1996 Mark Brinicombe. - * Copyright (c) 1994 Brini. +/* $NetBSD: mcontext.h,v 1.4 2003/10/08 22:43:01 thorpej Exp $ */ + +/*- + * Copyright (c) 2001, 2002 The NetBSD Foundation, Inc. * All rights reserved. * - * This code is derived from software written for Brini by Mark Brinicombe + * This code is derived from software contributed to The NetBSD Foundation + * by Klaus Klein and by Jason R. Thorpe of Wasabi Systems, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -16,65 +17,99 @@ * 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 Brini. - * 4. The name of the company nor the name of the author may be used to - * endorse or promote products derived from this software without specific - * prior written permission. + * 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 BRINI ``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 BRINI OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. + * THIS 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. * - * RiscBSD kernel project - * - * signal.h - * - * Architecture dependant signal types and structures - * - * Created : 30/09/94 - * - * $NetBSD: signal.h,v 1.8 1998/09/14 02:48:33 thorpej Exp $ - * $FreeBSD: src/sys/arm/include/ucontext.h,v 1.1 2001/12/09 19:39:49 obrien Exp $ + * $FreeBSD: src/sys/arm/include/ucontext.h,v 1.2 2004/05/14 11:46:44 cognet Exp $ + */ + +#ifndef _MACHINE_MCONTEXT_H_ +#define _MACHINE_MCONTEXT_H_ +/* + * General register state */ +#define _NGREG 17 +typedef unsigned int __greg_t; +typedef __greg_t __gregset_t[_NGREG]; -#ifndef _MACHINE_UCONTEXT_H_ -#define _MACHINE_UCONTEXT_H_ +#define _REG_R0 0 +#define _REG_R1 1 +#define _REG_R2 2 +#define _REG_R3 3 +#define _REG_R4 4 +#define _REG_R5 5 +#define _REG_R6 6 +#define _REG_R7 7 +#define _REG_R8 8 +#define _REG_R9 9 +#define _REG_R10 10 +#define _REG_R11 11 +#define _REG_R12 12 +#define _REG_R13 13 +#define _REG_R14 14 +#define _REG_R15 15 +#define _REG_CPSR 16 +/* Convenience synonyms */ +#define _REG_FP _REG_R11 +#define _REG_SP _REG_R13 +#define _REG_LR _REG_R14 +#define _REG_PC _REG_R15 + +/* + * Floating point register state + */ +/* Note: the storage layout of this structure must be identical to ARMFPE! */ +typedef struct { + unsigned int __fp_fpsr; + struct { + unsigned int __fp_exponent; + unsigned int __fp_mantissa_hi; + unsigned int __fp_mantissa_lo; + } __fp_fr[8]; +} __fpregset_t; -typedef struct __mcontext { - /* - * The first 20 fields must match the definition of - * sigcontext. So that we can support sigcontext - * and ucontext_t at the same time. - */ - unsigned int mc_onstack; /* XXX - sigcontext compat. */ - unsigned int mc_spsr; - unsigned int mc_r0; - unsigned int mc_r1; - unsigned int mc_r2; - unsigned int mc_r3; - unsigned int mc_r4; - unsigned int mc_r5; - unsigned int mc_r6; - unsigned int mc_r7; - unsigned int mc_r8; - unsigned int mc_r9; - unsigned int mc_r10; - unsigned int mc_r11; - unsigned int mc_r12; - unsigned int mc_usr_sp; - unsigned int mc_usr_lr; - unsigned int mc_svc_lr; - unsigned int mc_pc; +typedef struct { + unsigned int __vfp_fpscr; + unsigned int __vfp_fstmx[33]; + unsigned int __vfp_fpsid; +} __vfpregset_t; - unsigned int __spare__[1]; /* XXX fix the size later */ +typedef struct { + __gregset_t __gregs; + union { + __fpregset_t __fpregs; + __vfpregset_t __vfpregs; + } __fpu; } mcontext_t; -#endif /* !_MACHINE_UCONTEXT_H_ */ +/* Machine-dependent uc_flags */ +#define _UC_ARM_VFP 0x00010000 /* FPU field is VFP */ + +/* used by signal delivery to indicate status of signal stack */ +#define _UC_SETSTACK 0x00020000 +#define _UC_CLRSTACK 0x00040000 + +#define _UC_MACHINE_PAD 3 /* Padding appended to ucontext_t */ + +#define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.__gregs[_REG_SP]) +#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.__gregs[_REG_PC]) +#define _UC_MACHINE_INTRV(uc) ((uc)->uc_mcontext.__gregs[_REG_R0]) + +#define _UC_MACHINE_SET_PC(uc, pc) _UC_MACHINE_PC(uc) = (pc) + +#endif /* !_MACHINE_MCONTEXT_H_ */ ==== //depot/projects/power/sys/boot/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/boot/Makefile,v 1.21 2004/02/07 08:10:06 ru Exp $ +# $FreeBSD: src/sys/boot/Makefile,v 1.22 2004/05/14 13:34:53 cognet Exp $ .if !defined(NOFORTH) # Build the add-in FORTH interpreter. @@ -11,7 +11,9 @@ .endif # Pick the machine-dependent subdir based on the target architecture. +.if ${MACHINE_ARCH} != "arm" SUBDIR+= ${MACHINE:S/amd64/i386/} +.endif # Build ARC / AlphaBIOS executable on the Alpha # (this is a WIP (work in progress)). ==== //depot/projects/power/sys/boot/i386/libi386/biosacpi.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.7 2003/08/25 23:28:31 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/boot/i386/libi386/biosacpi.c,v 1.8 2004/05/14 01:29:21 jdp Exp $"); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Fri May 14 14:01:00 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D43B716A4CF; Fri, 14 May 2004 14:00:59 -0700 (PDT) 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 98CA316A4D2 for ; Fri, 14 May 2004 14:00:59 -0700 (PDT) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id DA21743D53 for ; Fri, 14 May 2004 14:00:57 -0700 (PDT) (envelope-from nate@root.org) Received: (qmail 98863 invoked by uid 1000); 14 May 2004 21:00:59 -0000 Date: Fri, 14 May 2004 14:00:59 -0700 (PDT) From: Nate Lawson To: Takanori Watanabe In-Reply-To: <200405140109.i4E19Lqe024455@sana.init-main.com> Message-ID: <20040514140045.K98841@root.org> References: <200405140109.i4E19Lqe024455@sana.init-main.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=X-UNKNOWN Content-Transfer-Encoding: QUOTED-PRINTABLE cc: takawata@freebsd.org cc: perforce@freebsd.org cc: jhb@freebsd.org Subject: Re: PERFORCE change 52156 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, 14 May 2004 21:01:00 -0000 On Fri, 14 May 2004, Takanori Watanabe wrote: > In message <20040513144346.W91362@root.org>, Nate Lawson =A4=B5=A4=F3=A4= =A4=A4=EF=A4=AF: > >On Thu, 13 May 2004, Takanori Watanabe wrote: > >> In message <20040512174010.L85042@root.org>, Nate Lawson wrote: > >> >You bring up a problem that I've been having also. When I commit the= ACPI > >> >performance states driver, it needs to be able to get an ACPI handle.= My > >> >solution to this is to have multiple drivers with the same name. Onl= y the > >> >acpi one will supply a handle to the processor object. > >> >legacy mode: > >> >legacy0 > >> > cpu0 (implemented in legacy.c) > >> > speedstep0 > >> > > >> >acpi mode: > >> >acpi0 > >> > cpu0 (implemented in acpi_cpu.c) > >> > acpi_perf0 > >> > speedstep0 > >> > > >> >In the legacy case, acpi_perf's probe method will be called but it wi= ll > >> >return ENXIO because the non-acpi cpu0 will always return NULL for th= e > >> >ACPI_HANDLE ivar. It's kind of lame because it requires two differen= t > >> >drivers to implement the same ivars but it's the only way I could fig= ure > >> >out to allow both non-acpi and acpi-based cpufreq drivers attach. > >> > >> In this case, pci1 and its children know ACPI handle, if > >> ACPI vga extension is appeard in the name space tree. > >> You will see this by devinfo(8) with -v option. So the > >> role of video0 driver is manage child drivers. > >> All request may forwarded to the grand parent. > > > >I guess I haven't looked closely enough at acpi_pci.c. So it calls chil= d > >probe based on _ADR data in child ACPI objects via WalkNamespace? Does = it > >then call normal pci config register probe for devices that don't appear > >in the acpi namespace? > > Basically ACPI aware PCI devices are probed by pci config > register as usual.(ACPI namespace does not describe enough > information to determine drivers) > But after adding device has finished, walk name space and attach > acpi handle if _ADR matches the device objects that has probed. > Then if a PCI bridge knows ACPI handle, the PCI bridge is attached > as ACPI-aware PCI bridge. Thanks, that makes sense to me now. -Nate