From owner-p4-projects@FreeBSD.ORG Tue Jul 29 16:45:34 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4C87F37B405; Tue, 29 Jul 2003 16:45: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 EC38137B401 for ; Tue, 29 Jul 2003 16:45:32 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id D135343F85 for ; Tue, 29 Jul 2003 16:45:30 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h6TNjU0U073768 for ; Tue, 29 Jul 2003 16:45:30 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h6TNjTF6073758 for perforce@freebsd.org; Tue, 29 Jul 2003 16:45:29 -0700 (PDT) Date: Tue, 29 Jul 2003 16:45:29 -0700 (PDT) Message-Id: <200307292345.h6TNjTF6073758@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 35190 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, 29 Jul 2003 23:45:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=35190 Change 35190 by marcel@marcel_nfs on 2003/07/29 16:45:18 IFC @35188 Affected files ... .. //depot/projects/uart/alpha/alpha/busdma_machdep.c#3 integrate .. //depot/projects/uart/alpha/alpha/machdep.c#5 integrate .. //depot/projects/uart/alpha/alpha/mp_machdep.c#4 integrate .. //depot/projects/uart/alpha/alpha/vm_machdep.c#2 integrate .. //depot/projects/uart/alpha/include/bus.h#3 integrate .. //depot/projects/uart/amd64/amd64/busdma_machdep.c#3 integrate .. //depot/projects/uart/amd64/amd64/vm_machdep.c#3 integrate .. //depot/projects/uart/amd64/include/bus_dma.h#3 integrate .. //depot/projects/uart/cam/cam_ccb.h#2 integrate .. //depot/projects/uart/cam/scsi/scsi_cd.c#2 integrate .. //depot/projects/uart/cam/scsi/scsi_da.c#3 integrate .. //depot/projects/uart/compat/linux/linux_misc.c#4 integrate .. //depot/projects/uart/conf/NOTES#5 integrate .. //depot/projects/uart/conf/options#5 integrate .. //depot/projects/uart/contrib/dev/acpica/dbcmds.c#3 integrate .. //depot/projects/uart/dev/ata/atapi-cam.c#2 integrate .. //depot/projects/uart/dev/ed/if_ed_pccard.c#4 integrate .. //depot/projects/uart/dev/fatm/if_fatm.c#4 integrate .. //depot/projects/uart/dev/firewire/sbp.c#5 integrate .. //depot/projects/uart/dev/fxp/if_fxp.c#6 integrate .. //depot/projects/uart/dev/hatm/if_hatm.c#5 integrate .. //depot/projects/uart/dev/hatm/if_hatm_ioctl.c#3 integrate .. //depot/projects/uart/dev/hatm/if_hatm_tx.c#3 integrate .. //depot/projects/uart/dev/hatm/if_hatmvar.h#2 integrate .. //depot/projects/uart/dev/hea/eni_if.c#2 integrate .. //depot/projects/uart/dev/hfa/fore_if.c#2 integrate .. //depot/projects/uart/dev/md/md.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm_ioctl.c#2 integrate .. //depot/projects/uart/dev/patm/if_patm_tx.c#3 integrate .. //depot/projects/uart/dev/raidframe/rf_freebsdkintf.c#3 integrate .. //depot/projects/uart/dev/usb/umass.c#3 integrate .. //depot/projects/uart/dev/usb/usb_mem.c#4 integrate .. //depot/projects/uart/dev/wi/if_wi_pci.c#3 integrate .. //depot/projects/uart/geom/geom_ccd.c#2 integrate .. //depot/projects/uart/geom/geom_mbr.c#2 integrate .. //depot/projects/uart/i386/i386/busdma_machdep.c#4 integrate .. //depot/projects/uart/i386/i386/locore.s#3 integrate .. //depot/projects/uart/i386/include/bus_dma.h#3 integrate .. //depot/projects/uart/i386/isa/pcvt/pcvt_hdr.h#2 integrate .. //depot/projects/uart/ia64/ia64/busdma_machdep.c#3 integrate .. //depot/projects/uart/ia64/include/bus.h#3 integrate .. //depot/projects/uart/kern/kern_acct.c#3 integrate .. //depot/projects/uart/kern/kern_alq.c#2 integrate .. //depot/projects/uart/kern/kern_descrip.c#5 integrate .. //depot/projects/uart/kern/kern_ktrace.c#2 integrate .. //depot/projects/uart/kern/kern_linker.c#2 integrate .. //depot/projects/uart/kern/kern_sig.c#7 integrate .. //depot/projects/uart/kern/link_elf.c#2 integrate .. //depot/projects/uart/kern/subr_mbuf.c#3 integrate .. //depot/projects/uart/kern/tty_cons.c#2 integrate .. //depot/projects/uart/kern/vfs_syscalls.c#4 integrate .. //depot/projects/uart/kern/vfs_vnops.c#3 integrate .. //depot/projects/uart/kern/vnode_if.src#3 integrate .. //depot/projects/uart/modules/cam/Makefile#2 integrate .. //depot/projects/uart/net/if_atm.h#4 integrate .. //depot/projects/uart/net/if_atmsubr.c#3 integrate .. //depot/projects/uart/net/if_spppsubr.c#2 integrate .. //depot/projects/uart/netatm/atm_if.c#4 integrate .. //depot/projects/uart/netatm/atm_ioctl.h#3 integrate .. //depot/projects/uart/netatm/atm_usrreq.c#2 integrate .. //depot/projects/uart/netatm/atm_vc.h#2 integrate .. //depot/projects/uart/netatm/ipatm/ipatm_usrreq.c#3 integrate .. //depot/projects/uart/netatm/sigpvc/sigpvc_if.c#3 integrate .. //depot/projects/uart/netatm/spans/spans_arp.c#3 integrate .. //depot/projects/uart/netatm/spans/spans_if.c#3 integrate .. //depot/projects/uart/netatm/uni/uniarp.c#4 integrate .. //depot/projects/uart/netatm/uni/uniarp_cache.c#3 integrate .. //depot/projects/uart/netatm/uni/uniip_var.h#3 integrate .. //depot/projects/uart/netatm/uni/unisig_if.c#3 integrate .. //depot/projects/uart/netgraph/atm/ng_atm.c#4 integrate .. //depot/projects/uart/netgraph/atm/ng_atm.h#2 integrate .. //depot/projects/uart/netinet6/ip6_fw.c#2 integrate .. //depot/projects/uart/netsmb/smb_conn.h#2 integrate .. //depot/projects/uart/nfsclient/nfs_lock.c#2 integrate .. //depot/projects/uart/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/uart/pci/if_dc.c#7 integrate .. //depot/projects/uart/pci/if_rl.c#7 integrate .. //depot/projects/uart/pci/if_sis.c#5 integrate .. //depot/projects/uart/pci/if_xl.c#5 integrate .. //depot/projects/uart/pci/ncr.c#2 integrate .. //depot/projects/uart/powerpc/include/bus.h#3 integrate .. //depot/projects/uart/powerpc/powerpc/busdma_machdep.c#3 integrate .. //depot/projects/uart/powerpc/powerpc/pmap.c#4 integrate .. //depot/projects/uart/sparc64/include/bus.h#4 integrate .. //depot/projects/uart/sparc64/sparc64/bus_machdep.c#5 integrate .. //depot/projects/uart/sparc64/sparc64/iommu.c#3 integrate .. //depot/projects/uart/sys/vnode.h#3 integrate .. //depot/projects/uart/ufs/ffs/ffs_vnops.c#2 integrate .. //depot/projects/uart/ufs/ufs/extattr.h#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_extattr.c#3 integrate .. //depot/projects/uart/ufs/ufs/ufs_quota.c#2 integrate .. //depot/projects/uart/ufs/ufs/ufs_vnops.c#3 integrate .. //depot/projects/uart/vm/uma_core.c#4 integrate .. //depot/projects/uart/vm/vm_contig.c#5 integrate .. //depot/projects/uart/vm/vm_kern.c#2 integrate .. //depot/projects/uart/vm/vm_object.c#3 integrate Differences ... ==== //depot/projects/uart/alpha/alpha/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.42 2003/07/01 21:20:51 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/busdma_machdep.c,v 1.43 2003/07/27 13:52:09 mux Exp $"); #include #include @@ -413,24 +413,29 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = &nobounce_dmamap; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa(Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -894,13 +899,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/uart/alpha/alpha/machdep.c#5 (text+ko) ==== @@ -88,7 +88,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.207 2003/07/24 07:49:44 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/machdep.c,v 1.208 2003/07/27 23:45:47 marcel Exp $"); #include "opt_compat.h" #include "opt_ddb.h" @@ -549,6 +549,9 @@ alpha_pal_wrmces(alpha_pal_rdmces() & ~(ALPHA_MCES_DSC|ALPHA_MCES_DPC)); + /* Clear userland thread pointer */ + alpha_pal_wrunique(0); + /* * Find out what hardware we're on, and do basic initialization. */ @@ -2037,7 +2040,7 @@ mcp->mc_regs[FRAME_SP] = alpha_pal_rdusp(); mcp->mc_thrptr = alpha_pal_rdunique(); } else - mcp->mc_thrptr = td->td_pcb->pcb_hw.apcb_unique; + mcp->mc_thrptr = 0; mcp->mc_format = _MC_REV0_TRAPFRAME; PROC_LOCK(curthread->td_proc); @@ -2078,8 +2081,7 @@ if (td == curthread) { alpha_pal_wrusp(mcp->mc_regs[FRAME_SP]); alpha_pal_wrunique(mcp->mc_thrptr); - } else - td->td_pcb->pcb_hw.apcb_unique = mcp->mc_thrptr; + } /* * The context is a trapframe, so just copy it over the ==== //depot/projects/uart/alpha/alpha/mp_machdep.c#4 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.44 2003/07/03 14:33:17 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/mp_machdep.c,v 1.45 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -137,6 +137,9 @@ */ alpha_pal_wrval((u_int64_t) pcpup); + /* Clear userland thread pointer. */ + alpha_pal_wrunique(0); + /* * Point interrupt/exception vectors to our own. */ ==== //depot/projects/uart/alpha/alpha/vm_machdep.c#2 (text+ko) ==== @@ -67,7 +67,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.88 2003/06/15 00:54:07 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/alpha/alpha/vm_machdep.c,v 1.89 2003/07/27 23:45:48 marcel Exp $"); #include #include @@ -145,6 +145,7 @@ */ bcopy(td1->td_pcb, td2->td_pcb, sizeof(struct pcb)); td2->td_pcb->pcb_hw.apcb_usp = alpha_pal_rdusp(); + td2->td_pcb->pcb_hw.apcb_unique = 0; td2->td_pcb->pcb_hw.apcb_flags &= ~ALPHA_PCB_FLAGS_FEN; /* ==== //depot/projects/uart/alpha/include/bus.h#3 (text+ko) ==== @@ -67,7 +67,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.22 2003/07/01 15:51:50 scottl Exp $ */ +/* $FreeBSD: src/sys/alpha/include/bus.h,v 1.23 2003/07/27 13:52:09 mux Exp $ */ #ifndef _ALPHA_BUS_H_ #define _ALPHA_BUS_H_ @@ -470,6 +470,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint: map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_ISA 0x10 /* map memory for ISA dma */ #define BUS_DMA_BUS2 0x20 /* placeholders for bus functions... */ #define BUS_DMA_BUS3 0x40 ==== //depot/projects/uart/amd64/amd64/busdma_machdep.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.49 2003/07/01 19:16:48 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/busdma_machdep.c,v 1.50 2003/07/27 13:52:08 mux Exp $"); #include #include @@ -390,25 +390,30 @@ bus_dmamem_alloc(bus_dma_tag_t dmat, void** vaddr, int flags, bus_dmamap_t *mapp) { + int mflags; + + if (flags & BUS_DMA_NOWAIT) + mflags = M_NOWAIT; + else + mflags = M_WAITOK; + if (flags & BUS_DMA_ZERO) + mflags |= M_ZERO; + /* If we succeed, no mapping/bouncing will be required */ *mapp = NULL; if ((dmat->maxsize <= PAGE_SIZE) && dmat->lowaddr >= ptoa((vm_paddr_t)Maxmem)) { - *vaddr = malloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK); + *vaddr = malloc(dmat->maxsize, M_DEVBUF, mflags); } else { /* * XXX Use Contigmalloc until it is merged into this facility * and handles multi-seg allocations. Nobody is doing * multi-seg allocations yet though. */ - mtx_lock(&Giant); - *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, - (flags & BUS_DMA_NOWAIT) ? M_NOWAIT : M_WAITOK, + *vaddr = contigmalloc(dmat->maxsize, M_DEVBUF, mflags, 0ul, dmat->lowaddr, dmat->alignment? dmat->alignment : 1ul, dmat->boundary); - mtx_unlock(&Giant); } if (*vaddr == NULL) return (ENOMEM); @@ -809,13 +814,11 @@ if (bpage == NULL) break; - mtx_lock(&Giant); bpage->vaddr = (vm_offset_t)contigmalloc(PAGE_SIZE, M_DEVBUF, M_NOWAIT, 0ul, dmat->lowaddr, PAGE_SIZE, dmat->boundary); - mtx_unlock(&Giant); if (bpage->vaddr == 0) { free(bpage, M_DEVBUF); break; ==== //depot/projects/uart/amd64/amd64/vm_machdep.c#3 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.214 2003/07/25 21:15:45 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.215 2003/07/29 12:44:16 davidxu Exp $"); #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -260,7 +260,7 @@ pcb2->pcb_rsp = (register_t)td->td_frame - sizeof(void *); /* trampoline arg */ pcb2->pcb_rbx = (register_t)td; /* trampoline arg */ pcb2->pcb_rip = (register_t)fork_trampoline; - pcb2->pcb_rflags = td->td_frame->tf_rflags & ~PSL_I; /* ints disabled */ + pcb2->pcb_rflags = PSL_KERNEL; /* ints disabled */ /* * If we didn't copy the pcb, we'd need to do the following registers: * pcb2->pcb_savefpu: cloned above. ==== //depot/projects/uart/amd64/include/bus_dma.h#3 (text+ko) ==== @@ -67,7 +67,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.23 2003/07/01 15:51:51 scottl Exp $ */ +/* $FreeBSD: src/sys/amd64/include/bus_dma.h,v 1.24 2003/07/27 13:52:08 mux Exp $ */ #ifndef _AMD64_BUS_DMA_H_ #define _AMD64_BUS_DMA_H_ @@ -79,6 +79,7 @@ #define BUS_DMA_NOWAIT 0x01 /* not safe to sleep */ #define BUS_DMA_ALLOCNOW 0x02 /* perform resource allocation now */ #define BUS_DMA_COHERENT 0x04 /* hint map memory in a coherent way */ +#define BUS_DMA_ZERO 0x08 /* allocate zero'ed memory */ #define BUS_DMA_BUS1 0x10 /* placeholders for bus functions... */ #define BUS_DMA_BUS2 0x20 #define BUS_DMA_BUS3 0x40 ==== //depot/projects/uart/cam/cam_ccb.h#2 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.25 2003/06/14 22:17:38 njl Exp $ + * $FreeBSD: src/sys/cam/cam_ccb.h,v 1.26 2003/07/28 06:15:58 njl Exp $ */ #ifndef _CAM_CAM_CCB_H @@ -513,7 +513,8 @@ PIM_SCANHILO = 0x80, /* Bus scans from high ID to low ID */ PIM_NOREMOVE = 0x40, /* Removeable devices not included in scan */ PIM_NOINITIATOR = 0x20, /* Initiator role not supported. */ - PIM_NOBUSRESET = 0x10 /* User has disabled initial BUS RESET */ + PIM_NOBUSRESET = 0x10, /* User has disabled initial BUS RESET */ + PIM_NO_6_BYTE = 0x08 /* Do not send 6-byte commands */ } pi_miscflag; #ifdef CAM_NEW_TRAN_CODE ==== //depot/projects/uart/cam/scsi/scsi_cd.c#2 (text+ko) ==== @@ -46,7 +46,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.79 2003/06/10 18:14:04 obrien Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_cd.c,v 1.80 2003/07/28 06:15:58 njl Exp $"); #include "opt_cd.h" @@ -640,6 +640,7 @@ { struct cd_softc *softc; struct ccb_setasync csa; + struct ccb_pathinq cpi; struct ccb_getdev *cgd; char tmpstr[80], tmpstr2[80]; caddr_t match; @@ -688,6 +689,13 @@ else softc->quirks = CD_Q_NONE; + /* Check if the SIM does not want 6 byte commands */ + xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); + cpi.ccb_h.func_code = XPT_PATH_INQ; + xpt_action((union ccb *)&cpi); + if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE)) + softc->quirks |= CD_Q_10_BYTE_ONLY; + snprintf(tmpstr, sizeof(tmpstr), "CAM CD unit %d", periph->unit_number); snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); sysctl_ctx_init(&softc->sysctl_ctx); ==== //depot/projects/uart/cam/scsi/scsi_da.c#3 (text+ko) ==== @@ -27,9 +27,10 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.146 2003/07/18 16:26:36 thomas Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/scsi/scsi_da.c,v 1.149 2003/07/29 18:08:16 njl Exp $"); #ifdef _KERNEL +#include "opt_da.h" #include "opt_hw_wdog.h" #endif /* _KERNEL */ @@ -145,6 +146,7 @@ static struct da_quirk_entry da_quirk_table[] = { +#ifdef DA_OLD_QUIRKS /* * Logitec USB/Firewire LHD-P30FU */ @@ -158,6 +160,7 @@ {T_DIRECT, SIP_MEDIA_FIXED, "LSILogic", "SYM13FW*", "*"}, /*quirks*/ DA_Q_NO_6_BYTE }, +#endif /* DA_OLD_QUIRKS */ { /* * Fujitsu M2513A MO drives. @@ -241,6 +244,7 @@ /*quirks*/ DA_Q_NO_6_BYTE }, +#ifdef DA_OLD_QUIRKS /* Below a list of quirks for USB devices supported by umass. */ { /* @@ -250,12 +254,12 @@ * not support sync cache (0x35). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Y-E DATA", "USB-FDU", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* Another USB floppy */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MATSHITA", "FDD CF-VFDU*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -264,7 +268,7 @@ * Make all sony MS* products use this quirk. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "MS*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -272,22 +276,23 @@ * of PalmOS PDA's */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "CLIE*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Intelligent Stick USB disk-on-key * PR: kern/53005 */ - {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", "IntelligentStick*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + {T_DIRECT, SIP_MEDIA_REMOVABLE, "USB Card", + "IntelligentStick*", "*"}, + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Sony DSC cameras (DSC-S30, DSC-S50, DSC-S70) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Sony DSC", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -313,7 +318,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "eUSB Compact*", "Compact Flash*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -322,14 +327,14 @@ * spaces. The trailing wildcard character '*' is required. */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SMSC*", "USB FDC*","*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -343,14 +348,14 @@ * Olympus digital cameras (E-100RS, E-10). */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E-*", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * KingByte Pen Drives */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "NO BRAND", "PEN DRIVE", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -358,7 +363,7 @@ */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FUJIFILMUSB-DRIVEUNIT", "USB-DRIVEUNIT", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -393,7 +398,7 @@ * Minolta Dimage E203 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MINOLTA", "DiMAGE E203", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -416,7 +421,7 @@ * PR: kern/43627 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Apacer", "HandyDrive", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -424,7 +429,7 @@ * PR: kern/43580 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "ZORAN", "COACH", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -448,7 +453,7 @@ * PR: kern/46386 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Sony", "Storage Media", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -507,7 +512,7 @@ * PR: kern/50226 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "MITSUMI", "USB FDD", "*"}, - /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE + /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* @@ -517,6 +522,7 @@ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OTi", "Flash Disk", "*"}, /*quirks*/ DA_Q_NO_6_BYTE } +#endif /* DA_OLD_QUIRKS */ }; static disk_strategy_t dastrategy; @@ -1087,6 +1093,7 @@ int s; struct da_softc *softc; struct ccb_setasync csa; + struct ccb_pathinq cpi; struct ccb_getdev *cgd; char tmpstr[80], tmpstr2[80]; caddr_t match; @@ -1134,6 +1141,13 @@ else softc->quirks = DA_Q_NONE; + /* Check if the SIM does not want 6 byte commands */ + xpt_setup_ccb(&cpi.ccb_h, periph->path, /*priority*/1); + cpi.ccb_h.func_code = XPT_PATH_INQ; + xpt_action((union ccb *)&cpi); + if (cpi.ccb_h.status == CAM_REQ_CMP && (cpi.hba_misc & PIM_NO_6_BYTE)) + softc->quirks |= DA_Q_NO_6_BYTE; + snprintf(tmpstr, sizeof(tmpstr), "CAM DA unit %d", periph->unit_number); snprintf(tmpstr2, sizeof(tmpstr2), "%d", periph->unit_number); sysctl_ctx_init(&softc->sysctl_ctx); ==== //depot/projects/uart/compat/linux/linux_misc.c#4 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.146 2003/07/26 07:32:20 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.147 2003/07/29 10:03:15 des Exp $"); #include "opt_mac.h" @@ -75,6 +75,10 @@ #include #include +#ifdef __i386__ +#include +#endif + #ifdef __alpha__ #define BSD_TO_LINUX_SIGNAL(sig) (sig) #else @@ -689,6 +693,7 @@ struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; + char *p; #ifdef DEBUG if (ldebug(newuname)) @@ -703,7 +708,32 @@ getcredhostname(td->td_ucred, utsname.nodename, LINUX_MAX_UTSNAME); strlcpy(utsname.release, osrelease, LINUX_MAX_UTSNAME); strlcpy(utsname.version, version, LINUX_MAX_UTSNAME); + for (p = utsname.version; *p != '\0'; ++p) + if (*p == '\n') { + *p = '\0'; + break; + } +#ifdef __i386__ + { + const char *class; + switch (cpu_class) { + case CPUCLASS_686: + class = "i686"; + break; + case CPUCLASS_586: + class = "i586"; + break; + case CPUCLASS_486: + class = "i486"; + break; + default: + class = "i386"; + } + strlcpy(utsname.machine, class, LINUX_MAX_UTSNAME); + } +#else strlcpy(utsname.machine, machine, LINUX_MAX_UTSNAME); +#endif strlcpy(utsname.domainname, domainname, LINUX_MAX_UTSNAME); return (copyout(&utsname, args->buf, sizeof(utsname))); ==== //depot/projects/uart/conf/NOTES#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/NOTES,v 1.1164 2003/07/21 13:56:21 harti Exp $ +# $FreeBSD: src/sys/conf/NOTES,v 1.1165 2003/07/29 04:32:32 njl Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. # @@ -962,6 +962,12 @@ options SCSI_NO_OP_STRINGS options SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device +# Options for the CAM SCSI disk driver: +# DA_OLD_QUIRKS: Restore old USB and firewire quirks that have been +# deprecated. Please also email scsi@freebsd.org if you +# have a device that needs this option. +options DA_OLD_QUIRKS + # Options for the CAM CDROM driver: # CHANGER_MIN_BUSY_SECONDS: Guaranteed minimum time quantum for a changer LUN # CHANGER_MAX_BUSY_SECONDS: Maximum time quantum per changer LUN, only ==== //depot/projects/uart/conf/options#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/options,v 1.404 2003/07/22 11:42:45 ticso Exp $ +# $FreeBSD: src/sys/conf/options,v 1.406 2003/07/29 18:08:16 njl Exp $ # # On the handling of kernel options # @@ -258,6 +258,8 @@ CHANGER_MIN_BUSY_SECONDS opt_cd.h CHANGER_MAX_BUSY_SECONDS opt_cd.h +DA_OLD_QUIRKS opt_da.h + # Options used only in cam/scsi/scsi_sa.c. SA_IO_TIMEOUT opt_sa.h SA_SPACE_TIMEOUT opt_sa.h ==== //depot/projects/uart/contrib/dev/acpica/dbcmds.c#3 (text+ko) ==== @@ -1292,7 +1292,7 @@ BlockNumber = ACPI_STRTOUL (BlockArg, NULL, 0); - GpeEventInfo = AcpiEvGetGpeEventInfo ((void *) BlockNumber, GpeNumber); + GpeEventInfo = AcpiEvGetGpeEventInfo ((void *)(uintptr_t) BlockNumber, GpeNumber); if (!GpeEventInfo) { AcpiOsPrintf ("Invalid GPE\n"); ==== //depot/projects/uart/dev/ata/atapi-cam.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.17 2003/06/14 22:17:39 njl Exp $ + * $FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.18 2003/07/28 06:15:58 njl Exp $ */ #include @@ -238,7 +238,7 @@ cpi->version_num = 1; cpi->hba_inquiry = 0; cpi->target_sprt = 0; - cpi->hba_misc = 0; + cpi->hba_misc = PIM_NO_6_BYTE; cpi->hba_eng_cnt = 0; bzero(cpi->vuhba_flags, sizeof(cpi->vuhba_flags)); cpi->max_target = 1; ==== //depot/projects/uart/dev/ed/if_ed_pccard.c#4 (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/dev/ed/if_ed_pccard.c,v 1.50 2003/07/26 17:52:09 imp Exp $ + * $FreeBSD: src/sys/dev/ed/if_ed_pccard.c,v 1.51 2003/07/28 00:07:58 imp Exp $ */ #include "opt_ed.h" @@ -173,7 +173,7 @@ { PCMCIA_CARD(SOCKET, EA_ETHER, 0), 0}, { PCMCIA_CARD(SOCKET, LP_ETHER, 0), 0}, { PCMCIA_CARD(SOCKET, LP_ETHER_CF, 0), 0}, - { PCMCIA_CARD(SOCKET, LP_ETH_10_100_CF, 0), 0}, + { PCMCIA_CARD(SOCKET, LP_ETH_10_100_CF, 0), NE2000DVF_DL10019}, { PCMCIA_CARD(SVEC, COMBOCARD, 0), 0}, { PCMCIA_CARD(SVEC, LANCARD, 0), 0}, { PCMCIA_CARD(SYNERGY21, S21810, 0), 0}, ==== //depot/projects/uart/dev/fatm/if_fatm.c#4 (text+ko) ==== @@ -29,7 +29,7 @@ * Fore PCA200E driver for NATM */ #include -__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.3 2003/07/02 13:53:41 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fatm/if_fatm.c,v 1.4 2003/07/29 14:00:59 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -470,6 +470,8 @@ if (sc->ifatm.ifnet.if_flags & IFF_RUNNING) { sc->ifatm.ifnet.if_flags &= ~(IFF_RUNNING | IFF_OACTIVE); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); /* * Collect transmit mbufs, partial receive mbufs and @@ -1325,6 +1327,9 @@ /* start SUNI */ utopia_start(&sc->utopia); + ATMEV_SEND_IFSTATE_CHANGED(&sc->ifatm, + sc->utopia.carrier == UTP_CARR_OK); + DBG(sc, INIT, ("done")); } @@ -2283,15 +2288,11 @@ sc->vccs[vci].flags |= FATM_VCC_OPEN; sc->open_vccs++; -#ifdef notyet /* inform management if this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (1 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); } else bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); @@ -2319,15 +2320,11 @@ error = fatm_waitvcc(sc, q); if (error == 0) { -#ifdef notyet /* inform management of this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, - ATM_MSG_VCC_CHANGED, - (0 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); sc->open_vccs--; @@ -2358,14 +2355,11 @@ sc->vccs[vci].flags |= FATM_VCC_OPEN; sc->open_vccs++; -#ifdef notyet /* inform management if this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, ATM_MSG_VCC_CHANGED, - (1 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 1); } /* @@ -2385,14 +2379,11 @@ return; } -#ifdef notyet /* inform management of this is not an NG * VCC or it's an NG PVC. */ if (!(sc->vccs[vci].flags & ATMIO_FLAG_NG) || (sc->vccs[vci].flags & ATMIO_FLAG_PVC)) - atm_message(&sc->ifatm.ifnet, ATM_MSG_VCC_CHANGED, - (0 << 24) | (0 << 16) | vci); -#endif + ATMEV_SEND_VCC_CHANGED(&sc->ifatm, 0, vci, 0); bzero(&sc->vccs[vci], sizeof(sc->vccs[vci])); sc->open_vccs--; @@ -2656,6 +2647,7 @@ /* * Sysctl handler for card statistics + * This is disable because it destroys the PHY statistics. */ static int fatm_sysctl_stats(SYSCTL_HANDLER_ARGS) ==== //depot/projects/uart/dev/firewire/sbp.c#5 (text+ko) ==== @@ -31,7 +31,7 @@ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.57 2003/07/18 14:31:16 simokawa Exp $ + * $FreeBSD: src/sys/dev/firewire/sbp.c,v 1.58 2003/07/28 06:15:59 njl Exp $ * */ @@ -2369,7 +2369,7 @@ cpi->version_num = 1; /* XXX??? */ cpi->hba_inquiry = PI_TAG_ABLE; cpi->target_sprt = 0; - cpi->hba_misc = PIM_NOBUSRESET; + cpi->hba_misc = PIM_NOBUSRESET | PIM_NO_6_BYTE; cpi->hba_eng_cnt = 0; cpi->max_target = SBP_NUM_TARGETS - 1; cpi->max_lun = SBP_NUM_LUNS - 1; ==== //depot/projects/uart/dev/fxp/if_fxp.c#6 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.188 2003/07/22 15:50:54 mux Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/fxp/if_fxp.c,v 1.189 2003/07/27 13:58:05 mux Exp $"); #include #include @@ -642,7 +642,7 @@ } error = bus_dmamem_alloc(sc->fxp_stag, (void **)&sc->fxp_stats, - BUS_DMA_NOWAIT, &sc->fxp_smap); + BUS_DMA_NOWAIT | BUS_DMA_ZERO, &sc->fxp_smap); if (error) goto fail; error = bus_dmamap_load(sc->fxp_stag, sc->fxp_smap, sc->fxp_stats, @@ -651,7 +651,6 @@ device_printf(dev, "could not map the stats buffer\n"); goto fail; } - bzero(sc->fxp_stats, sizeof(struct fxp_stats)); error = bus_dma_tag_create(NULL, 4, 0, BUS_SPACE_MAXADDR_32BIT, BUS_SPACE_MAXADDR, NULL, NULL, FXP_TXCB_SZ, 1, @@ -662,10 +661,9 @@ } error = bus_dmamem_alloc(sc->cbl_tag, (void **)&sc->fxp_desc.cbl_list, - BUS_DMA_NOWAIT, &sc->cbl_map); + BUS_DMA_NOWAIT | BUS_DMA_ZERO, &sc->cbl_map); if (error) goto fail; - bzero(sc->fxp_desc.cbl_list, FXP_TXCB_SZ); error = bus_dmamap_load(sc->cbl_tag, sc->cbl_map, sc->fxp_desc.cbl_list, FXP_TXCB_SZ, fxp_dma_map_addr, ==== //depot/projects/uart/dev/hatm/if_hatm.c#5 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm.c,v 1.5 2003/07/17 13:43:16 harti Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/hatm/if_hatm.c,v 1.7 2003/07/29 14:07:19 harti Exp $"); #include "opt_inet.h" #include "opt_natm.h" @@ -1245,7 +1245,6 @@ } enum { - CTL_STATS, CTL_ISTATS, }; @@ -1262,10 +1261,6 @@ switch (arg2) { - case CTL_STATS: - len = sizeof(uint32_t) * 4; - break; >>> TRUNCATED FOR MAIL (1000 lines) <<<